<?xml version="1.0" encoding="UTF-8" ?>
<doc version="1.0.3917-beta1" name="Engine Types">
<class name="@GDScript" category="Core">
	<brief_description>
	Built-in GDScript functions.
	</brief_description>
	<description>
	This contains the list of built-in gdscript functions. Mostly math functions and other utilities. Everything else is expanded by objects.
	</description>
	<methods>
		<method name="sin"  >
			<return type="float">
			</return>
			<argument index="0" name="s" type="float">
			</argument>
			<description>
			Standard sine function.
			</description>
		</method>
		<method name="cos"  >
			<return type="float">
			</return>
			<argument index="0" name="s" type="float">
			</argument>
			<description>
			Standard cosine function.
			</description>
		</method>
		<method name="tan"  >
			<return type="float">
			</return>
			<argument index="0" name="s" type="float">
			</argument>
			<description>
			Standard tangent function.
			</description>
		</method>
		<method name="sinh"  >
			<return type="float">
			</return>
			<argument index="0" name="s" type="float">
			</argument>
			<description>
			Hyperbolic sine.
			</description>
		</method>
		<method name="cosh"  >
			<return type="float">
			</return>
			<argument index="0" name="s" type="float">
			</argument>
			<description>
			Hyperbolic cosine.
			</description>
		</method>
		<method name="tanh"  >
			<return type="float">
			</return>
			<argument index="0" name="s" type="float">
			</argument>
			<description>
			Hyperbolic tangent.
			</description>
		</method>
		<method name="asin"  >
			<return type="float">
			</return>
			<argument index="0" name="s" type="float">
			</argument>
			<description>
			Arc-sine.
			</description>
		</method>
		<method name="acos"  >
			<return type="float">
			</return>
			<argument index="0" name="s" type="float">
			</argument>
			<description>
			Arc-cosine.
			</description>
		</method>
		<method name="atan"  >
			<return type="float">
			</return>
			<argument index="0" name="s" type="float">
			</argument>
			<description>
			Arc-tangent.
			</description>
		</method>
		<method name="atan2"  >
			<return type="float">
			</return>
			<argument index="0" name="x" type="float">
			</argument>
			<argument index="1" name="y" type="float">
			</argument>
			<description>
			Arc-tangent that takes a 2D vector as argument, retuns the full -pi to +pi range.
			</description>
		</method>
		<method name="sqrt"  >
			<return type="float">
			</return>
			<argument index="0" name="s" type="float">
			</argument>
			<description>
			Square root.
			</description>
		</method>
		<method name="fmod"  >
			<return type="float">
			</return>
			<argument index="0" name="x" type="float">
			</argument>
			<argument index="1" name="y" type="float">
			</argument>
			<description>
			Module (remainder of x/y).
			</description>
		</method>
		<method name="fposmod"  >
			<return type="float">
			</return>
			<argument index="0" name="x" type="float">
			</argument>
			<argument index="1" name="y" type="float">
			</argument>
			<description>
			Module (remainder of x/y) that wraps equally in positive and negative.
			</description>
		</method>
		<method name="floor"  >
			<return type="float">
			</return>
			<argument index="0" name="s" type="float">
			</argument>
			<description>
			Floor (rounds down to nearest integer).
			</description>
		</method>
		<method name="ceil"  >
			<return type="float">
			</return>
			<argument index="0" name="s" type="float">
			</argument>
			<description>
			Ceiling (rounds up to nearest integer).
			</description>
		</method>
		<method name="round"  >
			<return type="float">
			</return>
			<argument index="0" name="s" type="float">
			</argument>
			<description>
			Round to nearest integer.
			</description>
		</method>
		<method name="abs"  >
			<return type="float">
			</return>
			<argument index="0" name="s" type="float">
			</argument>
			<description>
			Remove sign (works for integer and  float).
			</description>
		</method>
		<method name="sign"  >
			<return type="float">
			</return>
			<argument index="0" name="s" type="float">
			</argument>
			<description>
			Return sign (-1 or +1).
			</description>
		</method>
		<method name="pow"  >
			<return type="float">
			</return>
			<argument index="0" name="x" type="float">
			</argument>
			<argument index="1" name="y" type="float">
			</argument>
			<description>
			Power function, x elevate to y.
			</description>
		</method>
		<method name="log"  >
			<return type="float">
			</return>
			<argument index="0" name="s" type="float">
			</argument>
			<description>
			Natural logarithm.
			</description>
		</method>
		<method name="exp"  >
			<return type="float">
			</return>
			<argument index="0" name="s" type="float">
			</argument>
			<description>
			Exponential logarithm.
			</description>
		</method>
		<method name="isnan"  >
			<return type="float">
			</return>
			<argument index="0" name="s" type="float">
			</argument>
			<description>
			Return true if the float is not a number.
			</description>
		</method>
		<method name="isinf"  >
			<return type="float">
			</return>
			<argument index="0" name="s" type="float">
			</argument>
			<description>
			Return true if the float is infinite.
			</description>
		</method>
		<method name="ease"  >
			<return type="float">
			</return>
			<argument index="0" name="s" type="float">
			</argument>
			<argument index="1" name="curve" type="float">
			</argument>
			<description>
			Easing function, based on exponent. 0 is constant, 1 is linear, 0 to 1 is ease-in, 1+ is ease out. Negative values are in-out/out in.
			</description>
		</method>
		<method name="decimals"  >
			<return type="float">
			</return>
			<argument index="0" name="step" type="float">
			</argument>
			<description>
			Return the amount of decimals in the floating point value.
			</description>
		</method>
		<method name="stepify"  >
			<return type="float">
			</return>
			<argument index="0" name="s" type="float">
			</argument>
			<argument index="1" name="step" type="float">
			</argument>
			<description>
			Snap float value to a given step.
			</description>
		</method>
		<method name="lerp"  >
			<return type="float">
			</return>
			<argument index="0" name="a" type="float">
			</argument>
			<argument index="1" name="b" type="float">
			</argument>
			<argument index="2" name="c" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="dectime"  >
			<return type="float">
			</return>
			<argument index="0" name="value" type="float">
			</argument>
			<argument index="1" name="amount" type="float">
			</argument>
			<argument index="2" name="step" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="randomize"  >
			<return type="Nil">
			</return>
			<description>
			Reset the seed of the random number generator with a
			new, different one.
			</description>
		</method>
		<method name="randi"  >
			<return type="int">
			</return>
			<description>
			Random 32 bits value (integer). To obtain a value
			from 0 to N, you can use remainder, like (for random
			from 0 to 19): randi() %
			20.
			</description>
		</method>
		<method name="randf"  >
			<return type="float">
			</return>
			<description>
			Random value (0 to 1 float).
			</description>
		</method>
		<method name="rand_range"  >
			<return type="float">
			</return>
			<argument index="0" name="from" type="float">
			</argument>
			<argument index="1" name="to" type="float">
			</argument>
			<description>
			Random range, any floating point value between
			'from' and 'to'
			</description>
		</method>
		<method name="rand_seed"  >
			<return type="Array">
			</return>
			<argument index="0" name="seed" type="float">
			</argument>
			<description>
			Random from seed, pass a seed and an array with both number and new seed is returned.
			</description>
		</method>
		<method name="deg2rad"  >
			<return type="float">
			</return>
			<argument index="0" name="deg" type="float">
			</argument>
			<description>
			Convert from degrees to radians.
			</description>
		</method>
		<method name="rad2deg"  >
			<return type="float">
			</return>
			<argument index="0" name="rad" type="float">
			</argument>
			<description>
			Convert from radias to degrees.
			</description>
		</method>
		<method name="linear2db"  >
			<return type="float">
			</return>
			<argument index="0" name="nrg" type="float">
			</argument>
			<description>
			Convert from linear energy to decibels (audio).
			</description>
		</method>
		<method name="db2linear"  >
			<return type="float">
			</return>
			<argument index="0" name="db" type="float">
			</argument>
			<description>
			Convert from decibels to linear energy (audio).
			</description>
		</method>
		<method name="max"  >
			<return type="float">
			</return>
			<argument index="0" name="a" type="float">
			</argument>
			<argument index="1" name="b" type="float">
			</argument>
			<description>
			Return the maximum of two values.
			</description>
		</method>
		<method name="min"  >
			<return type="float">
			</return>
			<argument index="0" name="a" type="float">
			</argument>
			<argument index="1" name="b" type="float">
			</argument>
			<description>
			Return the minimum of two values.
			</description>
		</method>
		<method name="clamp"  >
			<return type="float">
			</return>
			<argument index="0" name="val" type="float">
			</argument>
			<argument index="1" name="min" type="float">
			</argument>
			<argument index="2" name="max" type="float">
			</argument>
			<description>
			Clamp both values to a range.
			</description>
		</method>
		<method name="nearest_po2"  >
			<return type="int">
			</return>
			<argument index="0" name="val" type="int">
			</argument>
			<description>
			Return the nearest larger power of 2 for an integer.
			</description>
		</method>
		<method name="weakref"  >
			<return type="Object">
			</return>
			<argument index="0" name="obj" type="Object">
			</argument>
			<description>
			Return a weak reference to an object.
			</description>
		</method>
		<method name="funcref"  >
			<return type="Object">
			</return>
			<argument index="0" name="instance" type="Object">
			</argument>
			<argument index="1" name="funcname" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="convert"  >
			<return type="Object">
			</return>
			<argument index="0" name="what" type="var">
			</argument>
			<argument index="1" name="type" type="int">
			</argument>
			<description>
			Convert from a type to another in the best way possible. The "type" parameter uses the enum TYPE_* in Global Scope.
			</description>
		</method>
		<method name="str"  >
			<return type="String">
			</return>
			<argument index="0" name="what" type="var">
			</argument>
			<argument index="1" name="..." type="var">
			</argument>
			<description>
			Convert one or more arguments to strings in the best way possible.
			</description>
		</method>
		<method name="str"  >
			<return type="String">
			</return>
			<argument index="0" name="what" type="var">
			</argument>
			<argument index="1" name="..." type="var">
			</argument>
			<description>
			Convert one or more arguments to strings in the best way possible.
			</description>
		</method>
		<method name="print"  >
			<return type="Nil">
			</return>
			<argument index="0" name="what" type="var">
			</argument>
			<argument index="1" name="..." type="var">
			</argument>
			<description>
			Print one or more arguments to strings in the best way possible to a console line.
			</description>
		</method>
		<method name="printt"  >
			<return type="Nil">
			</return>
			<argument index="0" name="what" type="var">
			</argument>
			<argument index="1" name="..." type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="printerr"  >
			<return type="Nil">
			</return>
			<argument index="0" name="what" type="var">
			</argument>
			<argument index="1" name="..." type="var">
			</argument>
			<description>
			Print one or more arguments to strings in the best way possible to standard error line.
			</description>
		</method>
		<method name="printraw"  >
			<return type="Nil">
			</return>
			<argument index="0" name="what" type="var">
			</argument>
			<argument index="1" name="..." type="var">
			</argument>
			<description>
			Print one or more arguments to strings in the best way possible to console. No newline is added at the end.
			</description>
		</method>
		<method name="range"  >
			<return type="Array">
			</return>
			<argument index="0" name="..." type="var">
			</argument>
			<description>
			Return an array with the given range. Range can be 1 argument N (0 to N-1), two arguments (initial, final-1) or three arguments (initial,final-1,increment).
			</description>
		</method>
		<method name="load"  >
			<return type="Object">
			</return>
			<argument index="0" name="path" type="String">
			</argument>
			<description>
			Load a resource from the filesystem, pass a valid
			path as argument.
			</description>
		</method>
		<method name="inst2dict"  >
			<return type="Dictionary">
			</return>
			<argument index="0" name="inst" type="Object">
			</argument>
			<description>
			Convert a script class instance to a dictionary
			(useful for serializing).
			</description>
		</method>
		<method name="dict2inst"  >
			<return type="Object">
			</return>
			<argument index="0" name="dict" type="Dictionary">
			</argument>
			<description>
			Convert a previously converted instances to dictionary
			back into an instance. Useful for deserializing.
			</description>
		</method>
		<method name="hash"  >
			<return type="int">
			</return>
			<argument index="0" name="var:var" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="print_stack"  >
			<return type="Nil">
			</return>
			<description>
			Print a stack track at code location, only works when
			running with debugger turned on.
			</description>
		</method>
	</methods>
	<constants>
		<constant name="PI" value="3.141593">
			Constant that represents how many times the diameter of a
		circumference fits around it's perimeter.
		</constant>
	</constants>
</class>
<class name="@Global Scope" category="Core">
	<brief_description>
	Global scope constants and variables.
	</brief_description>
	<description>
	Global scope constants and variables. This is all that resides in the globals, constants regarding error codes, scancodes, property hints, etc. It's not much.
        Singletons are also documented here, since they can be accessed from anywhere.
	</description>
	<methods>
	</methods>
	<members>
		<member name="Performance" type="Performance">
		</member>
		<member name="Globals" type="Globals">
		</member>
		<member name="IP" type="IP">
		</member>
		<member name="Geometry" type="Geometry">
		</member>
		<member name="ResourceLoader" type="ResourceLoader">
		</member>
		<member name="ResourceSaver" type="ResourceSaver">
		</member>
		<member name="PathRemap" type="PathRemap">
		</member>
		<member name="OS" type="OS">
		</member>
		<member name="Marshalls" type="Reference">
		</member>
		<member name="TranslationServer" type="TranslationServer">
		</member>
		<member name="TS" type="TranslationServer">
		</member>
		<member name="Input" type="Input">
		</member>
		<member name="InputMap" type="InputMap">
		</member>
		<member name="VisualServer" type="VisualServer">
		</member>
		<member name="VS" type="VisualServer">
		</member>
		<member name="AudioServer" type="AudioServer">
		</member>
		<member name="AS" type="AudioServer">
		</member>
		<member name="PhysicsServer" type="PhysicsServer">
		</member>
		<member name="PS" type="PhysicsServer">
		</member>
		<member name="Physics2DServer" type="Physics2DServer">
		</member>
		<member name="PS2D" type="Physics2DServer">
		</member>
		<member name="SpatialSoundServer" type="SpatialSound2DServer">
		</member>
		<member name="SS" type="SpatialSound2DServer">
		</member>
		<member name="SpatialSound2DServer" type="SpatialSound2DServer">
		</member>
		<member name="SS2D" type="SpatialSound2DServer">
		</member>
	</members>
	<constants>
		<constant name="MARGIN_LEFT" value="0">
			Left margin, used usually for [Control] or [StyleBox] derived classes.
		</constant>
		<constant name="MARGIN_TOP" value="1">
			Top margin, used usually for [Control] or [StyleBox] derived classes.
		</constant>
		<constant name="MARGIN_RIGHT" value="2">
			Right margin, used usually for [Control] or [StyleBox] derived classes.
		</constant>
		<constant name="MARGIN_BOTTOM" value="3">
			Bottom margin, used usually for [Control] or [StyleBox] derived classes.
		</constant>
		<constant name="VERTICAL" value="1">
			General vertical alignment, used usually for [Separator], [ScrollBar], [Slider], etc.
		</constant>
		<constant name="HORIZONTAL" value="0">
			General horizontal alignment, used usually for [Separator], [ScrollBar], [Slider], etc.
		</constant>
		<constant name="HALIGN_LEFT" value="0">
			Horizontal left alignment, usually for text-derived classes.
		</constant>
		<constant name="HALIGN_CENTER" value="1">
			Horizontal center alignment, usually for text-derived classes.
		</constant>
		<constant name="HALIGN_RIGHT" value="2">
			Horizontal right alignment, usually for text-derived classes.
		</constant>
		<constant name="VALIGN_TOP" value="0">
			Vertical top alignment, usually for text-derived classes.
		</constant>
		<constant name="VALIGN_CENTER" value="1">
			Vertical center alignment, usually for text-derived classes.
		</constant>
		<constant name="VALIGN_BOTTOM" value="2">
			Vertical bottom alignment, usually for text-derived classes.
		</constant>
		<constant name="SPKEY" value="16777216">
			Scancodes with this bit applied are non printable.
		</constant>
		<constant name="KEY_ESCAPE" value="16777217">
			Escape Key
		</constant>
		<constant name="KEY_TAB" value="16777218">
			Tab Key
		</constant>
		<constant name="KEY_BACKTAB" value="16777219">
			Shift-Tab key
		</constant>
		<constant name="KEY_BACKSPACE" value="16777220">
		</constant>
		<constant name="KEY_RETURN" value="16777221">
		</constant>
		<constant name="KEY_ENTER" value="16777222">
		</constant>
		<constant name="KEY_INSERT" value="16777223">
		</constant>
		<constant name="KEY_DELETE" value="16777224">
		</constant>
		<constant name="KEY_PAUSE" value="16777225">
		</constant>
		<constant name="KEY_PRINT" value="16777226">
		</constant>
		<constant name="KEY_SYSREQ" value="16777227">
		</constant>
		<constant name="KEY_CLEAR" value="16777228">
		</constant>
		<constant name="KEY_HOME" value="16777229">
		</constant>
		<constant name="KEY_END" value="16777230">
		</constant>
		<constant name="KEY_LEFT" value="16777231">
		</constant>
		<constant name="KEY_UP" value="16777232">
		</constant>
		<constant name="KEY_RIGHT" value="16777233">
		</constant>
		<constant name="KEY_DOWN" value="16777234">
		</constant>
		<constant name="KEY_PAGEUP" value="16777235">
		</constant>
		<constant name="KEY_PAGEDOWN" value="16777236">
		</constant>
		<constant name="KEY_SHIFT" value="16777237">
		</constant>
		<constant name="KEY_CONTROL" value="16777238">
		</constant>
		<constant name="KEY_META" value="16777239">
		</constant>
		<constant name="KEY_ALT" value="16777240">
		</constant>
		<constant name="KEY_CAPSLOCK" value="16777241">
		</constant>
		<constant name="KEY_NUMLOCK" value="16777242">
		</constant>
		<constant name="KEY_SCROLLLOCK" value="16777243">
		</constant>
		<constant name="KEY_F1" value="16777244">
		</constant>
		<constant name="KEY_F2" value="16777245">
		</constant>
		<constant name="KEY_F3" value="16777246">
		</constant>
		<constant name="KEY_F4" value="16777247">
		</constant>
		<constant name="KEY_F5" value="16777248">
		</constant>
		<constant name="KEY_F6" value="16777249">
		</constant>
		<constant name="KEY_F7" value="16777250">
		</constant>
		<constant name="KEY_F8" value="16777251">
		</constant>
		<constant name="KEY_F9" value="16777252">
		</constant>
		<constant name="KEY_F10" value="16777253">
		</constant>
		<constant name="KEY_F11" value="16777254">
		</constant>
		<constant name="KEY_F12" value="16777255">
		</constant>
		<constant name="KEY_F13" value="16777256">
		</constant>
		<constant name="KEY_F14" value="16777257">
		</constant>
		<constant name="KEY_F15" value="16777258">
		</constant>
		<constant name="KEY_F16" value="16777259">
		</constant>
		<constant name="KEY_KP_ENTER" value="16777344">
		</constant>
		<constant name="KEY_KP_MULTIPLY" value="16777345">
		</constant>
		<constant name="KEY_KP_DIVIDE" value="16777346">
		</constant>
		<constant name="KEY_KP_SUBSTRACT" value="16777347">
		</constant>
		<constant name="KEY_KP_PERIOD" value="16777348">
		</constant>
		<constant name="KEY_KP_ADD" value="16777349">
		</constant>
		<constant name="KEY_KP_0" value="16777350">
		</constant>
		<constant name="KEY_KP_1" value="16777351">
		</constant>
		<constant name="KEY_KP_2" value="16777352">
		</constant>
		<constant name="KEY_KP_3" value="16777353">
		</constant>
		<constant name="KEY_KP_4" value="16777354">
		</constant>
		<constant name="KEY_KP_5" value="16777355">
		</constant>
		<constant name="KEY_KP_6" value="16777356">
		</constant>
		<constant name="KEY_KP_7" value="16777357">
		</constant>
		<constant name="KEY_KP_8" value="16777358">
		</constant>
		<constant name="KEY_KP_9" value="16777359">
		</constant>
		<constant name="KEY_SUPER_L" value="16777260">
		</constant>
		<constant name="KEY_SUPER_R" value="16777261">
		</constant>
		<constant name="KEY_MENU" value="16777262">
		</constant>
		<constant name="KEY_HYPER_L" value="16777263">
		</constant>
		<constant name="KEY_HYPER_R" value="16777264">
		</constant>
		<constant name="KEY_HELP" value="16777265">
		</constant>
		<constant name="KEY_DIRECTION_L" value="16777266">
		</constant>
		<constant name="KEY_DIRECTION_R" value="16777267">
		</constant>
		<constant name="KEY_BACK" value="16777280">
		</constant>
		<constant name="KEY_FORWARD" value="16777281">
		</constant>
		<constant name="KEY_STOP" value="16777282">
		</constant>
		<constant name="KEY_REFRESH" value="16777283">
		</constant>
		<constant name="KEY_VOLUMEDOWN" value="16777284">
		</constant>
		<constant name="KEY_VOLUMEMUTE" value="16777285">
		</constant>
		<constant name="KEY_VOLUMEUP" value="16777286">
		</constant>
		<constant name="KEY_BASSBOOST" value="16777287">
		</constant>
		<constant name="KEY_BASSUP" value="16777288">
		</constant>
		<constant name="KEY_BASSDOWN" value="16777289">
		</constant>
		<constant name="KEY_TREBLEUP" value="16777290">
		</constant>
		<constant name="KEY_TREBLEDOWN" value="16777291">
		</constant>
		<constant name="KEY_MEDIAPLAY" value="16777292">
		</constant>
		<constant name="KEY_MEDIASTOP" value="16777293">
		</constant>
		<constant name="KEY_MEDIAPREVIOUS" value="16777294">
		</constant>
		<constant name="KEY_MEDIANEXT" value="16777295">
		</constant>
		<constant name="KEY_MEDIARECORD" value="16777296">
		</constant>
		<constant name="KEY_HOMEPAGE" value="16777297">
		</constant>
		<constant name="KEY_FAVORITES" value="16777298">
		</constant>
		<constant name="KEY_SEARCH" value="16777299">
		</constant>
		<constant name="KEY_STANDBY" value="16777300">
		</constant>
		<constant name="KEY_OPENURL" value="16777301">
		</constant>
		<constant name="KEY_LAUNCHMAIL" value="16777302">
		</constant>
		<constant name="KEY_LAUNCHMEDIA" value="16777303">
		</constant>
		<constant name="KEY_LAUNCH0" value="16777304">
		</constant>
		<constant name="KEY_LAUNCH1" value="16777305">
		</constant>
		<constant name="KEY_LAUNCH2" value="16777306">
		</constant>
		<constant name="KEY_LAUNCH3" value="16777307">
		</constant>
		<constant name="KEY_LAUNCH4" value="16777308">
		</constant>
		<constant name="KEY_LAUNCH5" value="16777309">
		</constant>
		<constant name="KEY_LAUNCH6" value="16777310">
		</constant>
		<constant name="KEY_LAUNCH7" value="16777311">
		</constant>
		<constant name="KEY_LAUNCH8" value="16777312">
		</constant>
		<constant name="KEY_LAUNCH9" value="16777313">
		</constant>
		<constant name="KEY_LAUNCHA" value="16777314">
		</constant>
		<constant name="KEY_LAUNCHB" value="16777315">
		</constant>
		<constant name="KEY_LAUNCHC" value="16777316">
		</constant>
		<constant name="KEY_LAUNCHD" value="16777317">
		</constant>
		<constant name="KEY_LAUNCHE" value="16777318">
		</constant>
		<constant name="KEY_LAUNCHF" value="16777319">
		</constant>
		<constant name="KEY_UNKNOWN" value="33554431">
		</constant>
		<constant name="KEY_SPACE" value="32">
		</constant>
		<constant name="KEY_EXCLAM" value="33">
		</constant>
		<constant name="KEY_QUOTEDBL" value="34">
		</constant>
		<constant name="KEY_NUMBERSIGN" value="35">
		</constant>
		<constant name="KEY_DOLLAR" value="36">
		</constant>
		<constant name="KEY_PERCENT" value="37">
		</constant>
		<constant name="KEY_AMPERSAND" value="38">
		</constant>
		<constant name="KEY_APOSTROPHE" value="39">
		</constant>
		<constant name="KEY_PARENLEFT" value="40">
		</constant>
		<constant name="KEY_PARENRIGHT" value="41">
		</constant>
		<constant name="KEY_ASTERISK" value="42">
		</constant>
		<constant name="KEY_PLUS" value="43">
		</constant>
		<constant name="KEY_COMMA" value="44">
		</constant>
		<constant name="KEY_MINUS" value="45">
		</constant>
		<constant name="KEY_PERIOD" value="46">
		</constant>
		<constant name="KEY_SLASH" value="47">
		</constant>
		<constant name="KEY_0" value="48">
		</constant>
		<constant name="KEY_1" value="49">
		</constant>
		<constant name="KEY_2" value="50">
		</constant>
		<constant name="KEY_3" value="51">
		</constant>
		<constant name="KEY_4" value="52">
		</constant>
		<constant name="KEY_5" value="53">
		</constant>
		<constant name="KEY_6" value="54">
		</constant>
		<constant name="KEY_7" value="55">
		</constant>
		<constant name="KEY_8" value="56">
		</constant>
		<constant name="KEY_9" value="57">
		</constant>
		<constant name="KEY_COLON" value="58">
		</constant>
		<constant name="KEY_SEMICOLON" value="59">
		</constant>
		<constant name="KEY_LESS" value="60">
		</constant>
		<constant name="KEY_EQUAL" value="61">
		</constant>
		<constant name="KEY_GREATER" value="62">
		</constant>
		<constant name="KEY_QUESTION" value="63">
		</constant>
		<constant name="KEY_AT" value="64">
		</constant>
		<constant name="KEY_A" value="65">
		</constant>
		<constant name="KEY_B" value="66">
		</constant>
		<constant name="KEY_C" value="67">
		</constant>
		<constant name="KEY_D" value="68">
		</constant>
		<constant name="KEY_E" value="69">
		</constant>
		<constant name="KEY_F" value="70">
		</constant>
		<constant name="KEY_G" value="71">
		</constant>
		<constant name="KEY_H" value="72">
		</constant>
		<constant name="KEY_I" value="73">
		</constant>
		<constant name="KEY_J" value="74">
		</constant>
		<constant name="KEY_K" value="75">
		</constant>
		<constant name="KEY_L" value="76">
		</constant>
		<constant name="KEY_M" value="77">
		</constant>
		<constant name="KEY_N" value="78">
		</constant>
		<constant name="KEY_O" value="79">
		</constant>
		<constant name="KEY_P" value="80">
		</constant>
		<constant name="KEY_Q" value="81">
		</constant>
		<constant name="KEY_R" value="82">
		</constant>
		<constant name="KEY_S" value="83">
		</constant>
		<constant name="KEY_T" value="84">
		</constant>
		<constant name="KEY_U" value="85">
		</constant>
		<constant name="KEY_V" value="86">
		</constant>
		<constant name="KEY_W" value="87">
		</constant>
		<constant name="KEY_X" value="88">
		</constant>
		<constant name="KEY_Y" value="89">
		</constant>
		<constant name="KEY_Z" value="90">
		</constant>
		<constant name="KEY_BRACKETLEFT" value="91">
		</constant>
		<constant name="KEY_BACKSLASH" value="92">
		</constant>
		<constant name="KEY_BRACKETRIGHT" value="93">
		</constant>
		<constant name="KEY_ASCIICIRCUM" value="94">
		</constant>
		<constant name="KEY_UNDERSCORE" value="95">
		</constant>
		<constant name="KEY_QUOTELEFT" value="96">
		</constant>
		<constant name="KEY_BRACELEFT" value="123">
		</constant>
		<constant name="KEY_BAR" value="124">
		</constant>
		<constant name="KEY_BRACERIGHT" value="125">
		</constant>
		<constant name="KEY_ASCIITILDE" value="126">
		</constant>
		<constant name="KEY_NOBREAKSPACE" value="160">
		</constant>
		<constant name="KEY_EXCLAMDOWN" value="161">
		</constant>
		<constant name="KEY_CENT" value="162">
		</constant>
		<constant name="KEY_STERLING" value="163">
		</constant>
		<constant name="KEY_CURRENCY" value="164">
		</constant>
		<constant name="KEY_YEN" value="165">
		</constant>
		<constant name="KEY_BROKENBAR" value="166">
		</constant>
		<constant name="KEY_SECTION" value="167">
		</constant>
		<constant name="KEY_DIAERESIS" value="168">
		</constant>
		<constant name="KEY_COPYRIGHT" value="169">
		</constant>
		<constant name="KEY_ORDFEMININE" value="170">
		</constant>
		<constant name="KEY_GUILLEMOTLEFT" value="171">
		</constant>
		<constant name="KEY_NOTSIGN" value="172">
		</constant>
		<constant name="KEY_HYPHEN" value="173">
		</constant>
		<constant name="KEY_REGISTERED" value="174">
		</constant>
		<constant name="KEY_MACRON" value="175">
		</constant>
		<constant name="KEY_DEGREE" value="176">
		</constant>
		<constant name="KEY_PLUSMINUS" value="177">
		</constant>
		<constant name="KEY_TWOSUPERIOR" value="178">
		</constant>
		<constant name="KEY_THREESUPERIOR" value="179">
		</constant>
		<constant name="KEY_ACUTE" value="180">
		</constant>
		<constant name="KEY_MU" value="181">
		</constant>
		<constant name="KEY_PARAGRAPH" value="182">
		</constant>
		<constant name="KEY_PERIODCENTERED" value="183">
		</constant>
		<constant name="KEY_CEDILLA" value="184">
		</constant>
		<constant name="KEY_ONESUPERIOR" value="185">
		</constant>
		<constant name="KEY_MASCULINE" value="186">
		</constant>
		<constant name="KEY_GUILLEMOTRIGHT" value="187">
		</constant>
		<constant name="KEY_ONEQUARTER" value="188">
		</constant>
		<constant name="KEY_ONEHALF" value="189">
		</constant>
		<constant name="KEY_THREEQUARTERS" value="190">
		</constant>
		<constant name="KEY_QUESTIONDOWN" value="191">
		</constant>
		<constant name="KEY_AGRAVE" value="192">
		</constant>
		<constant name="KEY_AACUTE" value="193">
		</constant>
		<constant name="KEY_ACIRCUMFLEX" value="194">
		</constant>
		<constant name="KEY_ATILDE" value="195">
		</constant>
		<constant name="KEY_ADIAERESIS" value="196">
		</constant>
		<constant name="KEY_ARING" value="197">
		</constant>
		<constant name="KEY_AE" value="198">
		</constant>
		<constant name="KEY_CCEDILLA" value="199">
		</constant>
		<constant name="KEY_EGRAVE" value="200">
		</constant>
		<constant name="KEY_EACUTE" value="201">
		</constant>
		<constant name="KEY_ECIRCUMFLEX" value="202">
		</constant>
		<constant name="KEY_EDIAERESIS" value="203">
		</constant>
		<constant name="KEY_IGRAVE" value="204">
		</constant>
		<constant name="KEY_IACUTE" value="205">
		</constant>
		<constant name="KEY_ICIRCUMFLEX" value="206">
		</constant>
		<constant name="KEY_IDIAERESIS" value="207">
		</constant>
		<constant name="KEY_ETH" value="208">
		</constant>
		<constant name="KEY_NTILDE" value="209">
		</constant>
		<constant name="KEY_OGRAVE" value="210">
		</constant>
		<constant name="KEY_OACUTE" value="211">
		</constant>
		<constant name="KEY_OCIRCUMFLEX" value="212">
		</constant>
		<constant name="KEY_OTILDE" value="213">
		</constant>
		<constant name="KEY_ODIAERESIS" value="214">
		</constant>
		<constant name="KEY_MULTIPLY" value="215">
		</constant>
		<constant name="KEY_OOBLIQUE" value="216">
		</constant>
		<constant name="KEY_UGRAVE" value="217">
		</constant>
		<constant name="KEY_UACUTE" value="218">
		</constant>
		<constant name="KEY_UCIRCUMFLEX" value="219">
		</constant>
		<constant name="KEY_UDIAERESIS" value="220">
		</constant>
		<constant name="KEY_YACUTE" value="221">
		</constant>
		<constant name="KEY_THORN" value="222">
		</constant>
		<constant name="KEY_SSHARP" value="223">
		</constant>
		<constant name="KEY_DIVISION" value="247">
		</constant>
		<constant name="KEY_YDIAERESIS" value="255">
		</constant>
		<constant name="KEY_CODE_MASK" value="33554431">
		</constant>
		<constant name="KEY_MODIFIER_MASK" value="-16777216">
		</constant>
		<constant name="KEY_MASK_SHIFT" value="33554432">
		</constant>
		<constant name="KEY_MASK_ALT" value="67108864">
		</constant>
		<constant name="KEY_MASK_META" value="134217728">
		</constant>
		<constant name="KEY_MASK_CTRL" value="268435456">
		</constant>
		<constant name="KEY_MASK_KPAD" value="536870912">
		</constant>
		<constant name="KEY_MASK_GROUP_SWITCH" value="1073741824">
		</constant>
		<constant name="BUTTON_LEFT" value="1">
		</constant>
		<constant name="BUTTON_RIGHT" value="2">
		</constant>
		<constant name="BUTTON_MIDDLE" value="3">
		</constant>
		<constant name="BUTTON_WHEEL_UP" value="4">
		</constant>
		<constant name="BUTTON_WHEEL_DOWN" value="5">
		</constant>
		<constant name="BUTTON_MASK_LEFT" value="1">
		</constant>
		<constant name="BUTTON_MASK_RIGHT" value="2">
		</constant>
		<constant name="BUTTON_MASK_MIDDLE" value="4">
		</constant>
		<constant name="JOY_BUTTON_0" value="0">
			Joystick Button 0
		</constant>
		<constant name="JOY_BUTTON_1" value="1">
			Joystick Button 1
		</constant>
		<constant name="JOY_BUTTON_2" value="2">
			Joystick Button 2
		</constant>
		<constant name="JOY_BUTTON_3" value="3">
			Joystick Button 3
		</constant>
		<constant name="JOY_BUTTON_4" value="4">
			Joystick Button 4
		</constant>
		<constant name="JOY_BUTTON_5" value="5">
			Joystick Button 5
		</constant>
		<constant name="JOY_BUTTON_6" value="6">
			Joystick Button 6
		</constant>
		<constant name="JOY_BUTTON_7" value="7">
			Joystick Button 7
		</constant>
		<constant name="JOY_BUTTON_8" value="8">
			Joystick Button 8
		</constant>
		<constant name="JOY_BUTTON_9" value="9">
			Joystick Button 9
		</constant>
		<constant name="JOY_BUTTON_10" value="10">
			Joystick Button 10
		</constant>
		<constant name="JOY_BUTTON_11" value="11">
			Joystick Button 11
		</constant>
		<constant name="JOY_BUTTON_12" value="12">
			Joystick Button 12
		</constant>
		<constant name="JOY_BUTTON_13" value="13">
			Joystick Button 13
		</constant>
		<constant name="JOY_BUTTON_14" value="14">
			Joystick Button 14
		</constant>
		<constant name="JOY_BUTTON_15" value="15">
			Joystick Button 15
		</constant>
		<constant name="JOY_BUTTON_MAX" value="16">
			Joystick Button 16
		</constant>
		<constant name="JOY_SNES_A" value="1">
		</constant>
		<constant name="JOY_SNES_B" value="0">
		</constant>
		<constant name="JOY_SNES_X" value="3">
		</constant>
		<constant name="JOY_SNES_Y" value="2">
		</constant>
		<constant name="JOY_SONY_CIRCLE" value="1">
		</constant>
		<constant name="JOY_SONY_X" value="0">
		</constant>
		<constant name="JOY_SONY_SQUARE" value="2">
		</constant>
		<constant name="JOY_SONY_TRIANGLE" value="3">
		</constant>
		<constant name="JOY_SEGA_B" value="1">
		</constant>
		<constant name="JOY_SEGA_A" value="0">
		</constant>
		<constant name="JOY_SEGA_X" value="2">
		</constant>
		<constant name="JOY_SEGA_Y" value="3">
		</constant>
		<constant name="JOY_XBOX_B" value="1">
		</constant>
		<constant name="JOY_XBOX_A" value="0">
		</constant>
		<constant name="JOY_XBOX_X" value="2">
		</constant>
		<constant name="JOY_XBOX_Y" value="3">
		</constant>
		<constant name="JOY_DS_A" value="1">
		</constant>
		<constant name="JOY_DS_B" value="0">
		</constant>
		<constant name="JOY_DS_X" value="3">
		</constant>
		<constant name="JOY_DS_Y" value="2">
		</constant>
		<constant name="JOY_SELECT" value="10">
		</constant>
		<constant name="JOY_START" value="11">
		</constant>
		<constant name="JOY_DPAD_UP" value="12">
		</constant>
		<constant name="JOY_DPAD_DOWN" value="13">
		</constant>
		<constant name="JOY_DPAD_LEFT" value="14">
		</constant>
		<constant name="JOY_DPAD_RIGHT" value="15">
		</constant>
		<constant name="JOY_L" value="4">
		</constant>
		<constant name="JOY_L2" value="6">
		</constant>
		<constant name="JOY_L3" value="8">
		</constant>
		<constant name="JOY_R" value="5">
		</constant>
		<constant name="JOY_R2" value="7">
		</constant>
		<constant name="JOY_R3" value="9">
		</constant>
		<constant name="JOY_AXIS_0" value="0">
		</constant>
		<constant name="JOY_AXIS_1" value="1">
		</constant>
		<constant name="JOY_AXIS_2" value="2">
		</constant>
		<constant name="JOY_AXIS_3" value="3">
		</constant>
		<constant name="JOY_AXIS_4" value="4">
		</constant>
		<constant name="JOY_AXIS_5" value="5">
		</constant>
		<constant name="JOY_AXIS_6" value="6">
		</constant>
		<constant name="JOY_AXIS_7" value="7">
		</constant>
		<constant name="JOY_AXIS_MAX" value="8">
		</constant>
		<constant name="JOY_ANALOG_0_X" value="0">
		</constant>
		<constant name="JOY_ANALOG_0_Y" value="1">
		</constant>
		<constant name="JOY_ANALOG_1_X" value="2">
		</constant>
		<constant name="JOY_ANALOG_1_Y" value="3">
		</constant>
		<constant name="JOY_ANALOG_2_X" value="4">
		</constant>
		<constant name="JOY_ANALOG_2_Y" value="5">
		</constant>
		<constant name="OK" value="0">
			Functions that return [Error] return OK when everything went ok. Most functions don't return error anyway and/or just print errors to stdout.
		</constant>
		<constant name="FAILED" value="1">
			Generic fail return error;
		</constant>
		<constant name="ERR_UNAVAILABLE" value="2">
		</constant>
		<constant name="ERR_UNCONFIGURED" value="3">
		</constant>
		<constant name="ERR_UNAUTHORIZED" value="4">
		</constant>
		<constant name="ERR_PARAMETER_RANGE_ERROR" value="5">
		</constant>
		<constant name="ERR_OUT_OF_MEMORY" value="6">
		</constant>
		<constant name="ERR_FILE_NOT_FOUND" value="7">
		</constant>
		<constant name="ERR_FILE_BAD_DRIVE" value="8">
		</constant>
		<constant name="ERR_FILE_BAD_PATH" value="9">
		</constant>
		<constant name="ERR_FILE_NO_PERMISSION" value="10">
		</constant>
		<constant name="ERR_FILE_ALREADY_IN_USE" value="11">
		</constant>
		<constant name="ERR_FILE_CANT_OPEN" value="12">
		</constant>
		<constant name="ERR_FILE_CANT_WRITE" value="13">
		</constant>
		<constant name="ERR_FILE_CANT_READ" value="14">
		</constant>
		<constant name="ERR_FILE_UNRECOGNIZED" value="15">
		</constant>
		<constant name="ERR_FILE_CORRUPT" value="16">
		</constant>
		<constant name="ERR_FILE_EOF" value="17">
		</constant>
		<constant name="ERR_CANT_OPEN" value="18">
		</constant>
		<constant name="ERR_CANT_CREATE" value="19">
		</constant>
		<constant name="ERROR_QUERY_FAILED" value="20">
		</constant>
		<constant name="ERR_ALREADY_IN_USE" value="21">
		</constant>
		<constant name="ERR_LOCKED" value="22">
		</constant>
		<constant name="ERR_TIMEOUT" value="23">
		</constant>
		<constant name="ERR_CANT_AQUIRE_RESOURCE" value="27">
		</constant>
		<constant name="ERR_INVALID_DATA" value="29">
		</constant>
		<constant name="ERR_INVALID_PARAMETER" value="30">
		</constant>
		<constant name="ERR_ALREADY_EXISTS" value="31">
		</constant>
		<constant name="ERR_DOES_NOT_EXIST" value="32">
		</constant>
		<constant name="ERR_DATABASE_CANT_READ" value="33">
		</constant>
		<constant name="ERR_DATABASE_CANT_WRITE" value="34">
		</constant>
		<constant name="ERR_COMPILATION_FAILED" value="35">
		</constant>
		<constant name="ERR_METHOD_NOT_FOUND" value="36">
		</constant>
		<constant name="ERR_LINK_FAILED" value="37">
		</constant>
		<constant name="ERR_SCRIPT_FAILED" value="38">
		</constant>
		<constant name="ERR_CYCLIC_LINK" value="39">
		</constant>
		<constant name="ERR_BUSY" value="43">
		</constant>
		<constant name="ERR_HELP" value="45">
		</constant>
		<constant name="ERR_BUG" value="46">
		</constant>
		<constant name="ERR_WTF" value="48">
		</constant>
		<constant name="PROPERTY_HINT_NONE" value="0">
			No hint for edited property.
		</constant>
		<constant name="PROPERTY_HINT_RANGE" value="1">
			Hint string is a range, defined as "min,max" or "min,max,step". This is valid for integers and floats.
		</constant>
		<constant name="PROPERTY_HINT_EXP_RANGE" value="2">
			Hint string is an exponential range, defined as "min,max" or "min,max,step". This is valid for integers and floats.
		</constant>
		<constant name="PROPERTY_HINT_ENUM" value="3">
			Property hint is an enumerated value, like "Hello,Something,Else". This is valid for integers, floats and strings properties.
		</constant>
		<constant name="PROPERTY_HINT_EXP_EASING" value="4">
		</constant>
		<constant name="PROPERTY_HINT_LENGTH" value="5">
		</constant>
		<constant name="PROPERTY_HINT_KEY_ACCEL" value="6">
		</constant>
		<constant name="PROPERTY_HINT_FLAGS" value="7">
			Property hint is a bitmask description, for bits 0,1,2,3 abd 5 the hint would be like "Bit0,Bit1,Bit2,Bit3,,Bit5". Valid only for integers.
		</constant>
		<constant name="PROPERTY_HINT_ALL_FLAGS" value="8">
		</constant>
		<constant name="PROPERTY_HINT_FILE" value="9">
			String property is a file (so pop up a file dialog when edited). Hint string can be a set of wildcards like "*.doc".
		</constant>
		<constant name="PROPERTY_HINT_DIR" value="10">
			String property is a directory (so pop up a file dialog when edited).
		</constant>
		<constant name="PROPERTY_HINT_GLOBAL_FILE" value="11">
		</constant>
		<constant name="PROPERTY_HINT_GLOBAL_DIR" value="12">
		</constant>
		<constant name="PROPERTY_HINT_RESOURCE_TYPE" value="13">
			String property is a resource, so open the resource popup menu when edited.
		</constant>
		<constant name="PROPERTY_HINT_MULTILINE_TEXT" value="14">
		</constant>
		<constant name="PROPERTY_HINT_COLOR_NO_ALPHA" value="15">
		</constant>
		<constant name="PROPERTY_HINT_IMAGE_COMPRESS_LOSSY" value="16">
		</constant>
		<constant name="PROPERTY_HINT_IMAGE_COMPRESS_LOSSLESS" value="17">
		</constant>
		<constant name="PROPERTY_USAGE_STORAGE" value="1">
			Property will be used as storage (default).
		</constant>
		<constant name="PROPERTY_USAGE_STORAGE" value="1">
			Property will be used as storage (default).
		</constant>
		<constant name="PROPERTY_USAGE_EDITOR" value="2">
			Property will be visible in editor (default).
		</constant>
		<constant name="PROPERTY_USAGE_NETWORK" value="4">
		</constant>
		<constant name="PROPERTY_USAGE_DEFAULT" value="7">
			Default usage (storage and editor).
		</constant>
		<constant name="TYPE_NIL" value="0">
			Variable is of type nil (only applied for null).
		</constant>
		<constant name="TYPE_BOOL" value="1">
			Variable is of type bool.
		</constant>
		<constant name="TYPE_INT" value="2">
			Variable is of type integer.
		</constant>
		<constant name="TYPE_REAL" value="3">
			Variable is of type float/real.
		</constant>
		<constant name="TYPE_STRING" value="4">
			Variable is of type [String].
		</constant>
		<constant name="TYPE_VECTOR2" value="5">
			Variable is of type [Vector2].
		</constant>
		<constant name="TYPE_RECT2" value="6">
			Variable is of type [Rect2].
		</constant>
		<constant name="TYPE_VECTOR3" value="7">
			Variable is of type [Vector3].
		</constant>
		<constant name="TYPE_MATRIX32" value="8">
			Variable is of type [Matrix32].
		</constant>
		<constant name="TYPE_PLANE" value="9">
			Variable is of type [Plane].
		</constant>
		<constant name="TYPE_QUAT" value="10">
			Variable is of type [Quat].
		</constant>
		<constant name="TYPE_AABB" value="11">
			Variable is of type [AABB].
		</constant>
		<constant name="TYPE_MATRIX3" value="12">
			Variable is fo type [Matrix3].
		</constant>
		<constant name="TYPE_TRANSFORM" value="13">
			Variable is fo type [Transform].
		</constant>
		<constant name="TYPE_COLOR" value="14">
			Variable is fo type [Color].
		</constant>
		<constant name="TYPE_IMAGE" value="15">
			Variable is fo type [Image].
		</constant>
		<constant name="TYPE_NODE_PATH" value="16">
			Variable is fo type [NodePath].
		</constant>
		<constant name="TYPE_RID" value="17">
			Variable is fo type [RID].
		</constant>
		<constant name="TYPE_OBJECT" value="18">
			Variable is fo type [Object].
		</constant>
		<constant name="TYPE_INPUT_EVENT" value="19">
			Variable is fo type [InputEvent].
		</constant>
		<constant name="TYPE_DICTIONARY" value="20">
			Variable is fo type [Dictionary].
		</constant>
		<constant name="TYPE_ARRAY" value="21">
			Variable is fo type [Array].
		</constant>
		<constant name="TYPE_RAW_ARRAY" value="22">
		</constant>
		<constant name="TYPE_INT_ARRAY" value="23">
		</constant>
		<constant name="TYPE_REAL_ARRAY" value="24">
		</constant>
		<constant name="TYPE_STRING_ARRAY" value="25">
		</constant>
		<constant name="TYPE_VECTOR2_ARRAY" value="26">
		</constant>
		<constant name="TYPE_VECTOR3_ARRAY" value="27">
		</constant>
		<constant name="TYPE_COLOR_ARRAY" value="28">
		</constant>
		<constant name="TYPE_MAX" value="29">
		</constant>
	</constants>
</class>
<class name="AABB" category="Built-In Types">
	<brief_description>
	Axis-Aligned Bounding Box.
	</brief_description>
	<description>
	AABB provides an 3D Axis-Aligned Bounding Box. It consists of a
	position and a size, and several utility functions. It is typically
	used for simple (fast) overlap tests.
	</description>
	<methods>
		<method name="encloses"  >
			<return type="bool">
			</return>
			<argument index="0" name="with" type="AABB">
			</argument>
			<description>
			Return true if this [AABB] completely encloses another
			one.
			</description>
		</method>
		<method name="expand"  >
			<return type="AABB">
			</return>
			<argument index="0" name="to_point" type="Vector3">
			</argument>
			<description>
			Return this [AABB] expanded to include a given
			point.
			</description>
		</method>
		<method name="get_area"  >
			<return type="float">
			</return>
			<description>
			Get the area inside the [AABB]
			</description>
		</method>
		<method name="get_endpoint"  >
			<return type="Vector3">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			Get the position of the 8 endpoints of the [AABB] in space.
			</description>
		</method>
		<method name="get_longest_axis"  >
			<return type="Vector3">
			</return>
			<description>
			Return the normalized longest axis of the [AABB]
			</description>
		</method>
		<method name="get_longest_axis_index"  >
			<return type="int">
			</return>
			<description>
			Return the index of the longest axis of the [AABB]
			(according to [Vector3]::AXIS* enum).
			</description>
		</method>
		<method name="get_longest_axis_size"  >
			<return type="float">
			</return>
			<description>
			Return the scalar length of the longest axis of the
			[AABB].
			</description>
		</method>
		<method name="get_shortest_axis"  >
			<return type="Vector3">
			</return>
			<description>
			Return the normalized shortest axis of the [AABB]
			</description>
		</method>
		<method name="get_shortest_axis_index"  >
			<return type="int">
			</return>
			<description>
			Return the index of the shortest axis of the [AABB]
			(according to [Vector3]::AXIS* enum).
			</description>
		</method>
		<method name="get_shortest_axis_size"  >
			<return type="float">
			</return>
			<description>
			Return the scalar length of the shortest axis of the
			[AABB].
			</description>
		</method>
		<method name="get_support"  >
			<return type="Vector3">
			</return>
			<argument index="0" name="dir" type="Vector3">
			</argument>
			<description>
			Return the support point in a given direction. This
			is useful for collision detection algorithms.
			</description>
		</method>
		<method name="grow"  >
			<return type="AABB">
			</return>
			<argument index="0" name="by" type="float">
			</argument>
			<description>
			Return a copy of the AABB grown a given a mount of
			units towards all the sides.
			</description>
		</method>
		<method name="has_no_area"  >
			<return type="bool">
			</return>
			<description>
			Return true if the [AABB] is flat or empty.
			</description>
		</method>
		<method name="has_no_surface"  >
			<return type="bool">
			</return>
			<description>
			Return true if the [AABB] is empty.
			</description>
		</method>
		<method name="has_point"  >
			<return type="bool">
			</return>
			<argument index="0" name="point" type="Vector3">
			</argument>
			<description>
			Return true if the [AABB] contains a point.
			</description>
		</method>
		<method name="intersection"  >
			<return type="AABB">
			</return>
			<argument index="0" name="with" type="AABB">
			</argument>
			<description>
			Return the intersection between two [AABB]s. An
			empty AABB (size 0,0,0) is returned on failure.
			</description>
		</method>
		<method name="intersects"  >
			<return type="bool">
			</return>
			<argument index="0" name="with" type="AABB">
			</argument>
			<description>
			Return true if the [AABB] overlaps with another.
			</description>
		</method>
		<method name="intersects_plane"  >
			<return type="bool">
			</return>
			<argument index="0" name="plane" type="Plane">
			</argument>
			<description>
			Return true if the AABB is at both sides of a plane.
			</description>
		</method>
		<method name="intersects_segment"  >
			<return type="bool">
			</return>
			<argument index="0" name="from" type="Vector3">
			</argument>
			<argument index="1" name="to" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="merge"  >
			<return type="AABB">
			</return>
			<argument index="0" name="with" type="AABB">
			</argument>
			<description>
			Combine this [AABB] with another one, a larger one
			is returned that contains both.
			</description>
		</method>
		<method name="AABB"  >
			<argument index="0" name="pos" type="Vector3">
			</argument>
			<argument index="1" name="size" type="Vector3">
			</argument>
			<description>
			Optional constructor, accepts position and size.
			</description>
		</method>
	</methods>
	<members>
		<member name="pos" type="Vector3">
		</member>
		<member name="size" type="Vector3">
		</member>
		<member name="end" type="Vector3">
		</member>
	</members>
	<constants>
	</constants>
</class>
<class name="AcceptDialog" inherits="WindowDialog" category="Core">
	<brief_description>
	Base dialog for user notification.
	</brief_description>
	<description>
	This dialog is useful for small notifications to the user about an
	event. It can only be accepted or closed, with the same result.
	</description>
	<methods>
		<method name="get_ok"  >
			<return type="Object">
			</return>
			<description>
			Return the OK Button.
			</description>
		</method>
		<method name="get_label"  >
			<return type="Object">
			</return>
			<description>
			Return the label used for built-in text.
			</description>
		</method>
		<method name="set_hide_on_ok"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			Set whether the dialog is hidden when accepted
			(default true).
			</description>
		</method>
		<method name="get_hide_on_ok" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if the dialog will be hidden when
			accepted (default true).
			</description>
		</method>
		<method name="add_button"  >
			<return type="Button">
			</return>
			<argument index="0" name="text" type="String">
			</argument>
			<argument index="1" name="right" type="bool" default="false">
			</argument>
			<argument index="2" name="action" type="String" default="&quot;&quot;">
			</argument>
			<description>
			</description>
		</method>
		<method name="add_cancel"  >
			<return type="Button">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="register_text_enter"  >
			<argument index="0" name="line_edit" type="Object">
			</argument>
			<description>
			Register a [LineEdit] in the dialog. When the enter
			key is pressed, the dialog will be accepted.
			</description>
		</method>
		<method name="set_text"  >
			<argument index="0" name="text" type="String">
			</argument>
			<description>
			Set the built-in label text.
			</description>
		</method>
		<method name="get_text" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			Return the built-in label text.
			</description>
		</method>
	</methods>
	<signals>
		<signal name="confirmed">
			<description>
			Emitted when accepted.
			</description>
		</signal>
		<signal name="custom_action">
			<argument index="0" name="action" type="String">
			</argument>
			<description>
			Emitted with a custom button is added.
			</description>
		</signal>
	</signals>
	<constants>
	</constants>
</class>
<class name="AnimatedSprite" inherits="Node2D" category="Core">
	<brief_description>
	Sprite node that can use multiple textures for animation.
	</brief_description>
	<description>
	Sprite node that can use multiple textures for animation.
	</description>
	<methods>
		<method name="set_sprite_frames"  >
			<argument index="0" name="sprite_frames" type="SpriteFrames">
			</argument>
			<description>
			Set the [SpriteFrames] resource, which contains all
			frames.
			</description>
		</method>
		<method name="get_sprite_frames" qualifiers="const" >
			<return type="SpriteFrames">
			</return>
			<description>
			Get the [SpriteFrames] resource, which contains all
			frames.
			</description>
		</method>
		<method name="set_centered"  >
			<argument index="0" name="centered" type="bool">
			</argument>
			<description>
			When turned on, offset at (0,0) is the center of the
			sprite, when off, the top-left corner is.
			</description>
		</method>
		<method name="is_centered" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true when centered. See [set_centered].
			</description>
		</method>
		<method name="set_offset"  >
			<argument index="0" name="offset" type="Vector2">
			</argument>
			<description>
			Set the offset of the sprite in the node origin.
			Position varies depending on whether it is centered
			or not.
			</description>
		</method>
		<method name="get_offset" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			Return the offset of the sprite in the node origin.
			</description>
		</method>
		<method name="set_flip_h"  >
			<argument index="0" name="flip_h" type="bool">
			</argument>
			<description>
			If true, sprite is flipped horizontally.
			</description>
		</method>
		<method name="is_flipped_h" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if sprite is flipped horizontally.
			</description>
		</method>
		<method name="set_flip_v"  >
			<argument index="0" name="flip_v" type="bool">
			</argument>
			<description>
			If true, sprite is flipped vertically.
			</description>
		</method>
		<method name="is_flipped_v" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if sprite is flipped vertically.
			</description>
		</method>
		<method name="set_frame"  >
			<argument index="0" name="frame" type="int">
			</argument>
			<description>
			Set the visible sprite frame index (from the list of
			frames inside the [SpriteFrames] resource).
			</description>
		</method>
		<method name="get_frame" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the visible frame index.
			</description>
		</method>
		<method name="set_modulate"  >
			<argument index="0" name="modulate" type="Color">
			</argument>
			<description>
			Change the color modulation (multiplication) for this sprite.
			</description>
		</method>
		<method name="get_modulate" qualifiers="const" >
			<return type="Color">
			</return>
			<description>
			Return the color modulation for this sprite.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="AnimatedSprite3D" inherits="SpriteBase3D" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_sprite_frames"  >
			<argument index="0" name="sprite_frames" type="SpriteFrames">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_sprite_frames" qualifiers="const" >
			<return type="Texture">
			</return>
			<description>
			</description>
		</method>
		<method name="set_frame"  >
			<argument index="0" name="frame" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_frame" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Animation" inherits="Resource" category="Core">
	<brief_description>
	Contains data used to animate everything in the engine.
	</brief_description>
	<description>
	An Animation resource contains data used to animate everything in the engine. Animations are divided into tracks, and each track must be linked to a node. The state of that node can be changed through time, by adding timed keys (events) to the track. [br] Animations are just data containers, and must be added to odes such as an [AnimationPlayer] or [AnimationTreePlayer] to be played back.
	</description>
	<methods>
		<method name="add_track"  >
			<return type="int">
			</return>
			<argument index="0" name="type" type="int">
			</argument>
			<argument index="1" name="at_pos" type="int" default="-1">
			</argument>
			<description>
			Add a track to the Animation. The track type must be specified as any of the values in te TYPE_* enumeration.
			</description>
		</method>
		<method name="remove_track"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			Remove a track by specifying the track index.
			</description>
		</method>
		<method name="get_track_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the amount of tracks in the animation.
			</description>
		</method>
		<method name="track_get_type" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			Get the type of a track.
			</description>
		</method>
		<method name="track_get_path" qualifiers="const" >
			<return type="NodePath">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			Get the path of a track. for more information on the path format, see [method track_set_path]
			</description>
		</method>
		<method name="track_set_path"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="path" type="NodePath">
			</argument>
			<description>
			Set the path of a track. Paths must be valid scene-tree paths to a node, and must be specified starting from the parent node of the node that will reproduce the animation. Tracks that control properties or bones must append their name after the path, separated by 			":". Example: "character/skeleton:ankle" or "character/mesh:transform/local"
			</description>
		</method>
		<method name="find_track" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="path" type="NodePath">
			</argument>
			<description>
			</description>
		</method>
		<method name="track_move_up"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			Move a track up.
			</description>
		</method>
		<method name="track_move_down"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			Nove a track down.
			</description>
		</method>
		<method name="transform_track_insert_key"  >
			<return type="int">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="time" type="float">
			</argument>
			<argument index="2" name="loc" type="Vector3">
			</argument>
			<argument index="3" name="rot" type="Quat">
			</argument>
			<argument index="4" name="scale" type="Vector3">
			</argument>
			<description>
			Insert a transform key for a transform track.
			</description>
		</method>
		<method name="track_insert_key"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="time" type="float">
			</argument>
			<argument index="2" name="key" type="var">
			</argument>
			<argument index="3" name="transition" type="float" default="1">
			</argument>
			<description>
			Insert a generic key in a given track.
			</description>
		</method>
		<method name="track_remove_key"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="key_idx" type="int">
			</argument>
			<description>
			Remove a key by index in a given track.
			</description>
		</method>
		<method name="track_remove_key_at_pos"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="pos" type="float">
			</argument>
			<description>
			Remove a key by position (seconds) in a given track.
			</description>
		</method>
		<method name="track_set_key_value"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="key" type="int">
			</argument>
			<argument index="2" name="value" type="var">
			</argument>
			<description>
			Set the value of an existing key.
			</description>
		</method>
		<method name="track_set_key_transition"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="key_idx" type="int">
			</argument>
			<argument index="2" name="transition" type="float">
			</argument>
			<description>
			Set the transition curve (easing) for a specific key (see built-in
			math function "ease").
			</description>
		</method>
		<method name="track_get_key_transition" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="key_idx" type="int">
			</argument>
			<description>
			Return the transition curve (easing) for a specific key (see built-in
			math function "ease").
			</description>
		</method>
		<method name="track_get_key_count" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			Return the amount of keys in a given track.
			</description>
		</method>
		<method name="track_get_key_value" qualifiers="const" >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="key_idx" type="int">
			</argument>
			<description>
			Return the value of a given key in a given track.
			</description>
		</method>
		<method name="track_get_key_time" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="key_idx" type="int">
			</argument>
			<description>
			Return the time at which the key is located.
			</description>
		</method>
		<method name="track_find_key" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="time" type="float">
			</argument>
			<argument index="2" name="exact" type="bool" default="false">
			</argument>
			<description>
			Find the key index by time in a given track. Optionally, only find it if the exact time is given.
			</description>
		</method>
		<method name="track_set_interpolation_type"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="interpolation" type="int">
			</argument>
			<description>
			Set the interpolation type of a given track, from the INTERPOLATION_* enum.
			</description>
		</method>
		<method name="track_get_interpolation_type" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			Return the interpolation type of a given track, from the INTERPOLATION_* enum.
			</description>
		</method>
		<method name="transform_track_interpolate" qualifiers="const" >
			<return type="Array">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="time_sec" type="float">
			</argument>
			<description>
			Return the interpolated value of a transform track at a given time (in seconds). An array consisting of 3 elements: position ([Vector3]), rotation ([Quat]) and scale ([Vector3]).
			</description>
		</method>
		<method name="value_track_set_continuous"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="continuous" type="bool">
			</argument>
			<description>
			Enable or disable interpolation for a whole track. By default tracks are interpolated.
			</description>
		</method>
		<method name="value_track_is_continuous" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			Return wether interpolation is enabled or disabled for a whole track. By default tracks are interpolated.
			</description>
		</method>
		<method name="value_track_get_key_indices" qualifiers="const" >
			<return type="IntArray">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="time_sec" type="float">
			</argument>
			<argument index="2" name="delta" type="float">
			</argument>
			<description>
			Return all the key indices of a value track, given a position and delta time.
			</description>
		</method>
		<method name="method_track_get_key_indices" qualifiers="const" >
			<return type="IntArray">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="time_sec" type="float">
			</argument>
			<argument index="2" name="delta" type="float">
			</argument>
			<description>
			Return all the key indices of a method track, given a position and delta time.
			</description>
		</method>
		<method name="method_track_get_name" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="key_idx" type="int">
			</argument>
			<description>
			Return the method name of a method track.
			</description>
		</method>
		<method name="method_track_get_params" qualifiers="const" >
			<return type="Array">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="key_idx" type="int">
			</argument>
			<description>
			Return the arguments values to be called on a method track for a given key in a given track.
			</description>
		</method>
		<method name="set_length"  >
			<argument index="0" name="time_sec" type="float">
			</argument>
			<description>
			Set the total length of the animation (in seconds). Note that length is not delimited by the last key, as this one may be before or after the end to ensure correct interpolation and looping.
			</description>
		</method>
		<method name="get_length" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the total length of the animation (in seconds).
			</description>
		</method>
		<method name="set_loop"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			Set a flag indicating that the animation must loop. This is uses for correct interpolation of animation cycles, and for hinting the player that it must restart the animation.
			</description>
		</method>
		<method name="has_loop" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return wether the animation has the loop flag set.
			</description>
		</method>
		<method name="set_step"  >
			<argument index="0" name="size_sec" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_step" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="clear"  >
			<description>
			Clear the animation (clear all tracks and reset all).
			</description>
		</method>
	</methods>
	<constants>
		<constant name="TYPE_VALUE" value="0">
			Value tracks set values in node properties, but only those which can be Interpolated.
		</constant>
		<constant name="TYPE_TRANSFORM" value="1">
			Transform tracks are used to change node local transforms or skeleton pose bones. Transitions are Interpolated.
		</constant>
		<constant name="TYPE_METHOD" value="2">
			Method tracks call functions with given arguments per key.
		</constant>
		<constant name="INTERPOLATION_NEAREST" value="0">
			No interpolation (nearest value).
		</constant>
		<constant name="INTERPOLATION_LINEAR" value="1">
			Linear interpolation.
		</constant>
		<constant name="INTERPOLATION_CUBIC" value="2">
			Cubic interpolation.
		</constant>
	</constants>
</class>
<class name="AnimationPlayer" inherits="Node" category="Core">
	<brief_description>
	Container and player of [Animaton] resources.
	</brief_description>
	<description>
	An animation player is used for general purpose playback of [Animation] resources. It contains a dictionary of animations (referenced by name) and custom blend times between their transitions. Additionally, animations can be played and blended in diferent channels.
	</description>
	<methods>
		<method name="add_animation"  >
			<return type="int">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="animation" type="Animation">
			</argument>
			<description>
			Add an animation resource to the player, which will be later referenced by the "name" argument.
			</description>
		</method>
		<method name="remove_animation"  >
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			Remove an animation from the player (by supplying the same name used to add it).
			</description>
		</method>
		<method name="rename_animation"  >
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="newname" type="String">
			</argument>
			<description>
			Rename an existing animation.
			</description>
		</method>
		<method name="has_animation" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			Request wether an [Animation] name exist within the player.
			</description>
		</method>
		<method name="get_animation" qualifiers="const" >
			<return type="Animation">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			Get an [Animation] resource by requesting a name.
			</description>
		</method>
		<method name="get_animation_list" qualifiers="const" >
			<return type="StringArray">
			</return>
			<description>
			Get the list of names of the animations stored in the player.
			</description>
		</method>
		<method name="set_blend_time"  >
			<argument index="0" name="anim_from" type="String">
			</argument>
			<argument index="1" name="anim_to" type="String">
			</argument>
			<argument index="2" name="sec" type="float">
			</argument>
			<description>
			Specify a blend time (in seconds) between two animations, referemced by their names.
			</description>
		</method>
		<method name="get_blend_time" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="anim_from" type="String">
			</argument>
			<argument index="1" name="anim_to" type="String">
			</argument>
			<description>
			Get the blend time between two animations, referemced by their names.
			</description>
		</method>
		<method name="set_default_blend_time"  >
			<argument index="0" name="sec" type="float">
			</argument>
			<description>
			Set the default blend time between animations.
			</description>
		</method>
		<method name="get_default_blend_time" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the default blend time between animations.
			</description>
		</method>
		<method name="play"  >
			<argument index="0" name="name" type="String" default="&quot;&quot;">
			</argument>
			<argument index="1" name="custom_blend" type="float" default="-1">
			</argument>
			<argument index="2" name="custom_speed" type="float" default="1">
			</argument>
			<argument index="3" name="from_end" type="bool" default="false">
			</argument>
			<description>
			Play a given animation by the animation name. Custom
			speed and blend times can be set. If custom speed is
			negative (-1), 'from_end' being true can play the
			animation backwards.
			</description>
		</method>
		<method name="stop"  >
			<description>
			Stop the currently played animation.
			</description>
		</method>
		<method name="stop_all"  >
			<description>
			Stop playback of animations (deprecated).
			</description>
		</method>
		<method name="is_playing" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return wether an animation is playing.
			</description>
		</method>
		<method name="set_current_animation"  >
			<argument index="0" name="anim" type="String">
			</argument>
			<description>
			Set the current animation (even if no playback occurs). Using set_current_animation() and set_active() are similar to claling play().
			</description>
		</method>
		<method name="get_current_animation" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			Return the name of the animation being played.
			</description>
		</method>
		<method name="queue"  >
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			Queue an animation for playback once the current one is done.
			</description>
		</method>
		<method name="clear_queue"  >
			<description>
			If animations are queued to play, clear them.
			</description>
		</method>
		<method name="set_active"  >
			<argument index="0" name="active" type="bool">
			</argument>
			<description>
			Set the player as active (playing). If false, it
			will do nothing.
			</description>
		</method>
		<method name="is_active" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if the player is active.
			</description>
		</method>
		<method name="set_speed"  >
			<argument index="0" name="speed" type="float">
			</argument>
			<description>
			Set a speed scaling ratio in a given animation channel (or channel 0 if none is provided). Default ratio is [i]1[/i] (no scaling).
			</description>
		</method>
		<method name="get_speed" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Get the speed scaling ratio in a given animation channel (or channel 0 if none is provided). Default ratio is [i]1[/i] (no scaling).
			</description>
		</method>
		<method name="set_autoplay"  >
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			Set the name of the animation that will be automatically played when the scene is loaded.
			</description>
		</method>
		<method name="get_autoplay" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			Return the name of the animation that will be automatically played when the scene is loaded.
			</description>
		</method>
		<method name="set_root"  >
			<argument index="0" name="path" type="NodePath">
			</argument>
			<description>
			AnimationPlayer resolves animation track paths from
			this node (which is relative to itself), by
			default root is "..", but it can be changed..
			</description>
		</method>
		<method name="get_root" qualifiers="const" >
			<return type="NodePath">
			</return>
			<description>
			Return path to root node (see [set_root]).
			</description>
		</method>
		<method name="seek"  >
			<argument index="0" name="pos_sec" type="float">
			</argument>
			<argument index="1" name="update" type="bool" default="false">
			</argument>
			<description>
			Seek the animation to a given position in time (in
			seconds). If 'update'
			is true, the animation will be updated too,
			otherwise it will be updated at process time.
			</description>
		</method>
		<method name="get_pos" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the playback position (in seconds) in an animation channel (or channel 0 if none is provided)
			</description>
		</method>
		<method name="find_animation" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="animation" type="Animation">
			</argument>
			<description>
			Find an animation name by resource.
			</description>
		</method>
		<method name="clear_caches"  >
			<description>
			The animation player creates caches for faster access to the nodes it will animate. However, if a specific node is removed, it may not notice it, so clear_caches will force the player to search for the nodes again.
			</description>
		</method>
		<method name="set_animation_process_mode"  >
			<argument index="0" name="mode" type="int">
			</argument>
			<description>
			Set the mode in which the animation player processes. By default, it processes on idle time (framerate dependent), but using fixed time works well for animating static collision bodies in 2D and 3D. See enum ANIMATION_PROCESS_*.
			</description>
		</method>
		<method name="get_animation_process_mode" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the mode in which the animation player processes. See [method set_animation_process_mode].
			</description>
		</method>
		<method name="get_current_animation_pos" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Get the position (in seconds) of the currently being
			played animation.
			</description>
		</method>
		<method name="get_current_animation_length" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Get the length (in seconds) of the currently being
			played animation.
			</description>
		</method>
		<method name="advance"  >
			<argument index="0" name="delta" type="float">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<signals>
		<signal name="animation_changed">
			<argument index="0" name="old_name" type="String">
			</argument>
			<argument index="1" name="new_name" type="String">
			</argument>
			<description>
			If the currently being played animation changes,
			this signal will notify of such change.
			</description>
		</signal>
		<signal name="finished">
			<description>
			Notifies when an animation finished playing.
			</description>
		</signal>
	</signals>
	<constants>
		<constant name="ANIMATION_PROCESS_FIXED" value="0">
			Process animation on fixed process. This is specially useful
		when animating kinematic bodies.
		</constant>
		<constant name="ANIMATION_PROCESS_IDLE" value="1">
			Process animation on idle process.
		</constant>
	</constants>
</class>
<class name="AnimationTreePlayer" inherits="Node" category="Core">
	<brief_description>
	Animation Player that uses a node graph for the blending.
	</brief_description>
	<description>
	Animation Player that uses a node graph for the blending. This kind
	of player is very useful when animating character or other skeleton
	based rigs, because it can combine several animations to form a
	desired pose.
	</description>
	<methods>
		<method name="add_node"  >
			<argument index="0" name="type" type="int">
			</argument>
			<argument index="1" name="id" type="String">
			</argument>
			<description>
			Add a node of a given type in the graph with given
			id.
			</description>
		</method>
		<method name="node_exists" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="node" type="String">
			</argument>
			<description>
			Check if a node exists (by name).
			</description>
		</method>
		<method name="node_rename"  >
			<return type="int">
			</return>
			<argument index="0" name="node" type="String">
			</argument>
			<argument index="1" name="new_name" type="String">
			</argument>
			<description>
			Rename a node in the graph.
			</description>
		</method>
		<method name="node_get_type" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="id" type="String">
			</argument>
			<description>
			Get the node type, will return from NODE_* enum.
			</description>
		</method>
		<method name="node_get_input_count" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="id" type="String">
			</argument>
			<description>
			Return the input count for a given node. Different
			types of nodes have different amount of inputs.
			</description>
		</method>
		<method name="node_get_input_source" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="id" type="String">
			</argument>
			<argument index="1" name="idx" type="int">
			</argument>
			<description>
			Return the input source for a given node input.
			</description>
		</method>
		<method name="animation_node_set_animation"  >
			<argument index="0" name="id" type="String">
			</argument>
			<argument index="1" name="animation" type="Animation">
			</argument>
			<description>
			Set the animation for an animation node.
			</description>
		</method>
		<method name="animation_node_get_animation" qualifiers="const" >
			<return type="Animation">
			</return>
			<argument index="0" name="id" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="animation_node_set_master_animation"  >
			<argument index="0" name="id" type="String">
			</argument>
			<argument index="1" name="source" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="animation_node_get_master_animation" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="id" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="oneshot_node_set_fadein_time"  >
			<argument index="0" name="id" type="String">
			</argument>
			<argument index="1" name="time_sec" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="oneshot_node_get_fadein_time" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="id" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="oneshot_node_set_fadeout_time"  >
			<argument index="0" name="id" type="String">
			</argument>
			<argument index="1" name="time_sec" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="oneshot_node_get_fadeout_time" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="id" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="oneshot_node_set_autorestart"  >
			<argument index="0" name="id" type="String">
			</argument>
			<argument index="1" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="oneshot_node_set_autorestart_delay"  >
			<argument index="0" name="id" type="String">
			</argument>
			<argument index="1" name="delay_sec" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="oneshot_node_set_autorestart_random_delay"  >
			<argument index="0" name="id" type="String">
			</argument>
			<argument index="1" name="rand_sec" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="oneshot_node_has_autorestart" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="id" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="oneshot_node_get_autorestart_delay" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="id" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="oneshot_node_get_autorestart_random_delay" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="id" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="oneshot_node_start"  >
			<argument index="0" name="id" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="oneshot_node_stop"  >
			<argument index="0" name="id" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="oneshot_node_is_active" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="id" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="oneshot_node_set_filter_path"  >
			<argument index="0" name="id" type="String">
			</argument>
			<argument index="1" name="path" type="NodePath">
			</argument>
			<argument index="2" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="mix_node_set_amount"  >
			<argument index="0" name="id" type="String">
			</argument>
			<argument index="1" name="ratio" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="mix_node_get_amount" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="id" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="blend2_node_set_amount"  >
			<argument index="0" name="id" type="String">
			</argument>
			<argument index="1" name="blend" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="blend2_node_get_amount" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="id" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="blend2_node_set_filter_path"  >
			<argument index="0" name="id" type="String">
			</argument>
			<argument index="1" name="path" type="NodePath">
			</argument>
			<argument index="2" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="blend3_node_set_amount"  >
			<argument index="0" name="id" type="String">
			</argument>
			<argument index="1" name="blend" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="blend3_node_get_amount" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="id" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="blend4_node_set_amount"  >
			<argument index="0" name="id" type="String">
			</argument>
			<argument index="1" name="blend" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="blend4_node_get_amount" qualifiers="const" >
			<return type="Vector2">
			</return>
			<argument index="0" name="id" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="timescale_node_set_scale"  >
			<argument index="0" name="id" type="String">
			</argument>
			<argument index="1" name="scale" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="timescale_node_get_scale" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="id" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="timeseek_node_seek"  >
			<argument index="0" name="id" type="String">
			</argument>
			<argument index="1" name="pos_sec" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="transition_node_set_input_count"  >
			<argument index="0" name="id" type="String">
			</argument>
			<argument index="1" name="count" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="transition_node_get_input_count" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="id" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="transition_node_delete_input"  >
			<argument index="0" name="id" type="String">
			</argument>
			<argument index="1" name="input_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="transition_node_set_input_auto_advance"  >
			<argument index="0" name="id" type="String">
			</argument>
			<argument index="1" name="input_idx" type="int">
			</argument>
			<argument index="2" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="transition_node_has_input_auto_advance" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="id" type="String">
			</argument>
			<argument index="1" name="input_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="transition_node_set_xfade_time"  >
			<argument index="0" name="id" type="String">
			</argument>
			<argument index="1" name="time_sec" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="transition_node_get_xfade_time" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="id" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="transition_node_set_current"  >
			<argument index="0" name="id" type="String">
			</argument>
			<argument index="1" name="input_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="transition_node_get_current" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="id" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="node_set_pos"  >
			<argument index="0" name="id" type="String">
			</argument>
			<argument index="1" name="screen_pos" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="node_get_pos" qualifiers="const" >
			<return type="Vector2">
			</return>
			<argument index="0" name="id" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="remove_node"  >
			<argument index="0" name="id" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="connect"  >
			<return type="int">
			</return>
			<argument index="0" name="id" type="String">
			</argument>
			<argument index="1" name="dst_id" type="String">
			</argument>
			<argument index="2" name="dst_input_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_connected" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="id" type="String">
			</argument>
			<argument index="1" name="dst_id" type="String">
			</argument>
			<argument index="2" name="dst_input_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="disconnect"  >
			<argument index="0" name="id" type="String">
			</argument>
			<argument index="1" name="dst_input_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_active"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_active" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_base_path"  >
			<argument index="0" name="path" type="NodePath">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_base_path" qualifiers="const" >
			<return type="NodePath">
			</return>
			<description>
			</description>
		</method>
		<method name="get_node_list"  >
			<return type="StringArray">
			</return>
			<description>
			</description>
		</method>
		<method name="reset"  >
			<description>
			</description>
		</method>
		<method name="recompute_caches"  >
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="NODE_OUTPUT" value="0">
		</constant>
		<constant name="NODE_ANIMATION" value="1">
		</constant>
		<constant name="NODE_ONESHOT" value="2">
		</constant>
		<constant name="NODE_MIX" value="3">
		</constant>
		<constant name="NODE_BLEND2" value="4">
		</constant>
		<constant name="NODE_BLEND3" value="5">
		</constant>
		<constant name="NODE_BLEND4" value="6">
		</constant>
		<constant name="NODE_TIMESCALE" value="7">
		</constant>
		<constant name="NODE_TIMESEEK" value="8">
		</constant>
		<constant name="NODE_TRANSITION" value="9">
		</constant>
	</constants>
</class>
<class name="Area" inherits="CollisionObject" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_space_override_mode"  >
			<argument index="0" name="enable" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_space_override_mode" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_gravity_is_point"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_gravity_a_point" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_gravity_vector"  >
			<argument index="0" name="vector" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_gravity_vector" qualifiers="const" >
			<return type="Vector3">
			</return>
			<description>
			</description>
		</method>
		<method name="set_gravity"  >
			<argument index="0" name="gravity" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_gravity" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_density"  >
			<argument index="0" name="density" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_density" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_priority"  >
			<argument index="0" name="priority" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_priority" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_enable_monitoring"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_monitoring_enabled" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<signals>
		<signal name="body_enter">
			<argument index="0" name="body" type="Object">
			</argument>
			<description>
			</description>
		</signal>
		<signal name="body_enter_shape">
			<argument index="0" name="body_id" type="int">
			</argument>
			<argument index="1" name="body" type="Object">
			</argument>
			<argument index="2" name="body_shape" type="int">
			</argument>
			<argument index="3" name="area_shape" type="int">
			</argument>
			<description>
			</description>
		</signal>
		<signal name="body_exit">
			<argument index="0" name="body" type="Object">
			</argument>
			<description>
			</description>
		</signal>
		<signal name="body_exit_shape">
			<argument index="0" name="body_id" type="int">
			</argument>
			<argument index="1" name="body" type="Object">
			</argument>
			<argument index="2" name="body_shape" type="int">
			</argument>
			<argument index="3" name="area_shape" type="int">
			</argument>
			<description>
			</description>
		</signal>
	</signals>
	<constants>
	</constants>
</class>
<class name="Area2D" inherits="CollisionObject2D" category="Core">
	<brief_description>
	General purpose area detection and influence for 2D Phisics.
	</brief_description>
	<description>
	General purpose area detection for 2D Phisics. Areas can be used for detection of objects that enter/exit them, as well as overriding space parameters (changing gravity, damping, etc). An Area2D can be set as a children to a RigidBody2D to generate a custom gravity field. For this, use SPACE_OVERRIDE_COMBINE and point gravity at the center of mass.
	</description>
	<methods>
		<method name="set_space_override_mode"  >
			<argument index="0" name="enable" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_space_override_mode" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_gravity_is_point"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			When overriding space parameters, areas can have a center of gravity as a point.
			</description>
		</method>
		<method name="is_gravity_a_point" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return if gravity is a point. When overriding space parameters, areas can have a center of gravity as a point.
			</description>
		</method>
		<method name="set_gravity_vector"  >
			<argument index="0" name="vector" type="Vector2">
			</argument>
			<description>
			Set gravity vector. If gravity is a point, this will be the attraction center
			</description>
		</method>
		<method name="get_gravity_vector" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="set_gravity"  >
			<argument index="0" name="gravity" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_gravity" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_density"  >
			<argument index="0" name="density" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_density" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_priority"  >
			<argument index="0" name="priority" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_priority" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_enable_monitoring"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_monitoring_enabled" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<signals>
		<signal name="body_enter">
			<argument index="0" name="body" type="Object">
			</argument>
			<description>
			</description>
		</signal>
		<signal name="body_enter_shape">
			<argument index="0" name="body_id" type="int">
			</argument>
			<argument index="1" name="body" type="Object">
			</argument>
			<argument index="2" name="body_shape" type="int">
			</argument>
			<argument index="3" name="area_shape" type="int">
			</argument>
			<description>
			</description>
		</signal>
		<signal name="body_exit">
			<argument index="0" name="body" type="Object">
			</argument>
			<description>
			</description>
		</signal>
		<signal name="body_exit_shape">
			<argument index="0" name="body_id" type="int">
			</argument>
			<argument index="1" name="body" type="Object">
			</argument>
			<argument index="2" name="body_shape" type="int">
			</argument>
			<argument index="3" name="area_shape" type="int">
			</argument>
			<description>
			</description>
		</signal>
	</signals>
	<constants>
	</constants>
</class>
<class name="Array" category="Built-In Types">
	<brief_description>
	Generic array datatype.
	</brief_description>
	<description>
	Generic array, contains several elements of any type, accessible by numerical index starting at 0. Arrays are always passed by reference.
	</description>
	<methods>
		<method name="append"  >
			<argument index="0" name="value" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="clear"  >
			<description>
			Clear the array (resize to 0).
			</description>
		</method>
		<method name="empty"  >
			<return type="bool">
			</return>
			<description>
			Return true if the array is empty (size==0).
			</description>
		</method>
		<method name="erase"  >
			<argument index="0" name="value" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="find"  >
			<return type="int">
			</return>
			<argument index="0" name="value" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="hash"  >
			<return type="int">
			</return>
			<description>
			Return a hashed integer value representing the array contents.
			</description>
		</method>
		<method name="insert"  >
			<argument index="0" name="pos" type="int">
			</argument>
			<argument index="1" name="value" type="var">
			</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()).
			</description>
		</method>
		<method name="invert"  >
			<description>
			</description>
		</method>
		<method name="push_back"  >
			<argument index="0" name="value" type="var">
			</argument>
			<description>
			Append an element at the end of the array.
			</description>
		</method>
		<method name="remove"  >
			<argument index="0" name="pos" type="int">
			</argument>
			<description>
			Remove an element from the array by index.
			</description>
		</method>
		<method name="resize"  >
			<argument index="0" name="pos" type="int">
			</argument>
			<description>
			Resize the array to contain a different number of elements. If the array size is smaller, elements are cleared, if bigger, new elements are Null.
			</description>
		</method>
		<method name="size"  >
			<return type="int">
			</return>
			<description>
			Return the amount of elements in the array.
			</description>
		</method>
		<method name="sort"  >
			<description>
			</description>
		</method>
		<method name="sort_custom"  >
			<argument index="0" name="obj" type="Object">
			</argument>
			<argument index="1" name="func" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="Array"  >
			<argument index="0" name="from" type="RawArray">
			</argument>
			<description>
			Construct an array from a [RawArray].
			</description>
		</method>
		<method name="Array"  >
			<argument index="0" name="from" type="IntArray">
			</argument>
			<description>
			Construct an array from a [RawArray].
			</description>
		</method>
		<method name="Array"  >
			<argument index="0" name="from" type="RealArray">
			</argument>
			<description>
			Construct an array from a [RawArray].
			</description>
		</method>
		<method name="Array"  >
			<argument index="0" name="from" type="StringArray">
			</argument>
			<description>
			Construct an array from a [RawArray].
			</description>
		</method>
		<method name="Array"  >
			<argument index="0" name="from" type="Vector2Array">
			</argument>
			<description>
			Construct an array from a [RawArray].
			</description>
		</method>
		<method name="Array"  >
			<argument index="0" name="from" type="Vector3Array">
			</argument>
			<description>
			Construct an array from a [RawArray].
			</description>
		</method>
		<method name="Array"  >
			<argument index="0" name="from" type="ColorArray">
			</argument>
			<description>
			Construct an array from a [RawArray].
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="AtlasTexture" inherits="Texture" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_atlas"  >
			<argument index="0" name="atlas" type="Texture">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_atlas" qualifiers="const" >
			<return type="Texture">
			</return>
			<description>
			</description>
		</method>
		<method name="set_region"  >
			<argument index="0" name="region" type="Rect2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_region" qualifiers="const" >
			<return type="Rect2">
			</return>
			<description>
			</description>
		</method>
		<method name="set_margin"  >
			<argument index="0" name="margin" type="Rect2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_margin" qualifiers="const" >
			<return type="Rect2">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="AudioServer" inherits="Object" category="Core">
	<brief_description>
	Server interface for low level audio access.
	</brief_description>
	<description>
	AudioServer is a low level server interface for audio access. It is"#10;"#9;in charge of creating sample data (playable audio) as well as it's"#10;"#9;playback via a voice interface.
	</description>
	<methods>
		<method name="sample_create"  >
			<return type="RID">
			</return>
			<argument index="0" name="format" type="int">
			</argument>
			<argument index="1" name="stereo" type="bool">
			</argument>
			<argument index="2" name="length" type="int">
			</argument>
			<description>
			Create an audio sample, return a [RID] referencing"#10;"#9;"#9;"#9;it. The sample will be created with a given format"#10;"#9;"#9;"#9;(from the SAMPLE_FORMAT_* enum), a total length (in"#10;"#9;"#9;"#9;frames, not samples or bytes), in either stereo or"#10;"#9;"#9;"#9;mono.
			</description>
		</method>
		<method name="sample_set_description"  >
			<argument index="0" name="sample" type="RID">
			</argument>
			<argument index="1" name="description" type="String">
			</argument>
			<description>
			Set the description of an audio sample. Mainly used"#10;"#9;"#9;"#9;for organization.
			</description>
		</method>
		<method name="sample_get_description" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="sample" type="RID">
			</argument>
			<argument index="1" name="arg1" type="String">
			</argument>
			<description>
			Return the description of an audio sample. Mainly"#10;"#9;"#9;"#9;used for organization.
			</description>
		</method>
		<method name="sample_get_format" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="sample" type="RID">
			</argument>
			<description>
			Return the format of the audio sample, in the form"#10;"#9;"#9;"#9;of the SAMPLE_FORMAT_* enum.
			</description>
		</method>
		<method name="sample_is_stereo" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="sample" type="RID">
			</argument>
			<description>
			Return wether the sample is stereo (2 channels)
			</description>
		</method>
		<method name="sample_get_length" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="sample" type="RID">
			</argument>
			<description>
			Return the length in frames of the audio sample (not"#10;"#9;"#9;"#9;samples or bytes).
			</description>
		</method>
		<method name="sample_set_signed_data"  >
			<argument index="0" name="sample" type="RID">
			</argument>
			<argument index="1" name="data" type="RealArray">
			</argument>
			<description>
			Set the sample data for a given sample as an array"#10;"#9;"#9;"#9;of floats. The length must be equal to the sample"#10;"#9;"#9;"#9;lenght or an error will be produced.
			</description>
		</method>
		<method name="sample_set_data"  >
			<argument index="0" name="sample" type="RID">
			</argument>
			<argument index="1" name="arg1" type="RawArray">
			</argument>
			<description>
			Set the sample data for a given sample as an array"#10;"#9;"#9;"#9;of bytes. The length must be equal to the sample"#10;"#9;"#9;"#9;lenght expected in bytes or an error will be produced.
			</description>
		</method>
		<method name="sample_get_data" qualifiers="const" >
			<return type="RawArray">
			</return>
			<argument index="0" name="sample" type="RID">
			</argument>
			<description>
			Return the sample data as an array of bytes. The"#10;"#9;"#9;"#9;length will be the expected length in bytes.
			</description>
		</method>
		<method name="sample_set_mix_rate"  >
			<argument index="0" name="sample" type="RID">
			</argument>
			<argument index="1" name="mix_rate" type="int">
			</argument>
			<description>
			Change the default mix rate of a given sample.
			</description>
		</method>
		<method name="sample_get_mix_rate" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="sample" type="RID">
			</argument>
			<description>
			Return the mix rate of the given sample.
			</description>
		</method>
		<method name="sample_set_loop_format"  >
			<argument index="0" name="sample" type="RID">
			</argument>
			<argument index="1" name="loop_format" type="int">
			</argument>
			<description>
			Set the loop format for a sample from the"#10;"#9;"#9;"#9;SAMPLE_LOOP_* enum. As a warning, Ping Pong loops"#10;"#9;"#9;"#9;may not be available on some hardware-mixing"#10;"#9;"#9;"#9;platforms.
			</description>
		</method>
		<method name="sample_get_loop_format" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="sample" type="RID">
			</argument>
			<description>
			Return the loop format for a sample, as a value from"#10;"#9;"#9;"#9;the SAMPLE_LOOP_* enum.
			</description>
		</method>
		<method name="sample_set_loop_begin"  >
			<argument index="0" name="sample" type="RID">
			</argument>
			<argument index="1" name="pos" type="int">
			</argument>
			<description>
			Set the initial loop point of a sample. Only has"#10;"#9;"#9;"#9;effect if sample loop is enabled. See [method sample_set_loop_format].
			</description>
		</method>
		<method name="sample_get_loop_begin" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="sample" type="RID">
			</argument>
			<description>
			Return the initial loop point of a sample. Only has"#10;"#9;"#9;"#9;effect if sample loop is enabled. See [method sample_set_loop_format].
			</description>
		</method>
		<method name="sample_set_loop_end"  >
			<argument index="0" name="sample" type="RID">
			</argument>
			<argument index="1" name="pos" type="int">
			</argument>
			<description>
			Set the final loop point of a sample. Only has"#10;"#9;"#9;"#9;effect if sample loop is enabled. See [method sample_set_loop_format].
			</description>
		</method>
		<method name="sample_get_loop_end" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="sample" type="RID">
			</argument>
			<description>
			Return the final loop point of a sample. Only has"#10;"#9;"#9;"#9;effect if sample loop is enabled. See [method sample_set_loop_format].
			</description>
		</method>
		<method name="voice_create"  >
			<return type="RID">
			</return>
			<description>
			Allocate a voice for playback. Voices are"#10;"#9;"#9;"#9;persistent. A voice can play a single sample at the"#10;"#9;"#9;"#9;same time. See [method sample_create].
			</description>
		</method>
		<method name="voice_play"  >
			<argument index="0" name="voice" type="RID">
			</argument>
			<argument index="1" name="sample" type="RID">
			</argument>
			<description>
			Start playback of a given voice using a given"#10;"#9;"#9;"#9;sample. If the voice was already playing it will be"#10;"#9;"#9;"#9;restarted.
			</description>
		</method>
		<method name="voice_set_volume"  >
			<argument index="0" name="voice" type="RID">
			</argument>
			<argument index="1" name="volume" type="float">
			</argument>
			<description>
			Change the volume of a currently playing voice."#10;"#9;"#9;"#9;Volume is expressed as linear gain where 0.0 is mute"#10;"#9;"#9;"#9;and 1.0 is default.
			</description>
		</method>
		<method name="voice_set_pan"  >
			<argument index="0" name="voice" type="RID">
			</argument>
			<argument index="1" name="pan" type="float">
			</argument>
			<argument index="2" name="depth" type="float" default="0">
			</argument>
			<argument index="3" name="height" type="float" default="0">
			</argument>
			<description>
			Change the pan of a currently playing voice and,"#10;"#9;"#9;"#9;optionally, the depth and height for a positional/3D"#10;"#9;"#9;"#9;sound. Panning values are expressed within the -1 to"#10;"#9;"#9;"#9;+1 range.
			</description>
		</method>
		<method name="voice_set_filter"  >
			<argument index="0" name="voice" type="RID">
			</argument>
			<argument index="1" name="type" type="int">
			</argument>
			<argument index="2" name="cutoff" type="float">
			</argument>
			<argument index="3" name="resonance" type="float">
			</argument>
			<argument index="4" name="gain" type="float" default="0">
			</argument>
			<description>
			Set a resonant filter post processing for the voice."#10;"#9;"#9;"#9;Filter type is a value from the FILTER_* enum.
			</description>
		</method>
		<method name="voice_set_chorus"  >
			<argument index="0" name="voice" type="RID">
			</argument>
			<argument index="1" name="chorus" type="float">
			</argument>
			<description>
			Set chorus send post processing for the voice (from"#10;"#9;"#9;"#9;0 to 1).
			</description>
		</method>
		<method name="voice_set_reverb"  >
			<argument index="0" name="voice" type="RID">
			</argument>
			<argument index="1" name="room" type="int">
			</argument>
			<argument index="2" name="reverb" type="float">
			</argument>
			<description>
			Set the reverb send post processing for the voice (from"#10;"#9;"#9;"#9;0 to 1) and the reverb type, from the REVERB_* enum.
			</description>
		</method>
		<method name="voice_set_mix_rate"  >
			<argument index="0" name="voice" type="RID">
			</argument>
			<argument index="1" name="rate" type="int">
			</argument>
			<description>
			Set a different playback mix rate for the given"#10;"#9;"#9;"#9;voice.
			</description>
		</method>
		<method name="voice_set_positional"  >
			<argument index="0" name="voice" type="RID">
			</argument>
			<argument index="1" name="enabled" type="bool">
			</argument>
			<description>
			Set wether a given voice is positional. This is only"#10;"#9;"#9;"#9;interpreted as a hint and used for backends that may"#10;"#9;"#9;"#9;support binaural encoding.
			</description>
		</method>
		<method name="voice_get_volume" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="voice" type="RID">
			</argument>
			<description>
			Return the current volume for a given voice.
			</description>
		</method>
		<method name="voice_get_pan" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="voice" type="RID">
			</argument>
			<description>
			Return the current pan for a given voice (-1 to +1"#10;"#9;"#9;"#9;range).
			</description>
		</method>
		<method name="voice_get_pan_height" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="voice" type="RID">
			</argument>
			<description>
			Return the current pan height for a given voice (-1 to +1"#10;"#9;"#9;"#9;range).
			</description>
		</method>
		<method name="voice_get_pan_depth" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="voice" type="RID">
			</argument>
			<description>
			Return the current pan depth for a given voice (-1 to +1"#10;"#9;"#9;"#9;range).
			</description>
		</method>
		<method name="voice_get_filter_type" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="voice" type="RID">
			</argument>
			<description>
			Return the current selected filter type for a given"#10;"#9;"#9;"#9;voice, from the FILTER_* enum.
			</description>
		</method>
		<method name="voice_get_filter_cutoff" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="voice" type="RID">
			</argument>
			<description>
			Return the current filter cutoff (in hz) for a given"#10;"#9;"#9;"#9;voice.
			</description>
		</method>
		<method name="voice_get_filter_resonance" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="voice" type="RID">
			</argument>
			<description>
			Return the current filter resonance for a given"#10;"#9;"#9;"#9;voice.
			</description>
		</method>
		<method name="voice_get_chorus" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="voice" type="RID">
			</argument>
			<description>
			Return the current chorus send for a given"#10;"#9;"#9;"#9;voice (0 to 1).
			</description>
		</method>
		<method name="voice_get_reverb_type" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="voice" type="RID">
			</argument>
			<description>
			Return the current reverb type for a given voice"#10;"#9;"#9;"#9;from the REVERB_* enum.
			</description>
		</method>
		<method name="voice_get_reverb" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="voice" type="RID">
			</argument>
			<description>
			Return the current reverb send for a given voice"#10;"#9;"#9;"#9;(0 to 1).
			</description>
		</method>
		<method name="voice_get_mix_rate" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="voice" type="RID">
			</argument>
			<description>
			Return the current mix rate for a given voice.
			</description>
		</method>
		<method name="voice_is_positional" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="voice" type="RID">
			</argument>
			<description>
			Return wether the current voice is positional. See"#10;"#9;"#9;"#9;[method voice_set_positional].
			</description>
		</method>
		<method name="voice_stop"  >
			<argument index="0" name="voice" type="RID">
			</argument>
			<description>
			Stop a given voice.
			</description>
		</method>
		<method name="free"  >
			<argument index="0" name="rid" type="RID">
			</argument>
			<description>
			Free a [RID] resource.
			</description>
		</method>
		<method name="set_stream_global_volume_scale"  >
			<argument index="0" name="scale" type="float">
			</argument>
			<description>
			Set global scale for stream playback. Default is 1.0.
			</description>
		</method>
		<method name="get_stream_global_volume_scale" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the global scale for stream playback.
			</description>
		</method>
		<method name="set_fx_global_volume_scale"  >
			<argument index="0" name="scale" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_fx_global_volume_scale" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_event_voice_global_volume_scale"  >
			<argument index="0" name="scale" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_event_voice_global_volume_scale" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="SAMPLE_FORMAT_PCM8" value="0">
			Sample format is 8 bits, signed.
		</constant>
		<constant name="SAMPLE_FORMAT_PCM16" value="1">
			Sample format is 16 bits, signed.
		</constant>
		<constant name="SAMPLE_FORMAT_IMA_ADPCM" value="2">
			Sample format is IMA-ADPCM compressed.
		</constant>
		<constant name="SAMPLE_LOOP_NONE" value="0">
			Sample does not loop.
		</constant>
		<constant name="SAMPLE_LOOP_FORWARD" value="1">
			Sample loops in forward mode.
		</constant>
		<constant name="SAMPLE_LOOP_PING_PONG" value="2">
			Sample loops in a bidirectional way.
		</constant>
		<constant name="FILTER_NONE" value="0">
			Filter is disable.
		</constant>
		<constant name="FILTER_LOWPASS" value="1">
			Filter is a resonant lowpass.
		</constant>
		<constant name="FILTER_BANDPASS" value="2">
			Filter is a resonant bandpass.
		</constant>
		<constant name="FILTER_HIPASS" value="3">
			Filter is a resonant highpass.
		</constant>
		<constant name="FILTER_NOTCH" value="4">
			Filter is a notch.
		</constant>
		<constant name="FILTER_BANDLIMIT" value="6">
			Filter is a bandlimit (resonance used as highpass).
		</constant>
		<constant name="REVERB_SMALL" value="0">
			Small reverb room (closet, bathroom, etc).
		</constant>
		<constant name="REVERB_MEDIUM" value="1">
			Medium reverb room (living room)
		</constant>
		<constant name="REVERB_LARGE" value="2">
			Large reverb room (warehouse).
		</constant>
		<constant name="REVERB_HALL" value="3">
			Large reverb room with long decay.
		</constant>
	</constants>
</class>
<class name="AudioServerSW" inherits="AudioServer" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
</class>
<class name="AudioStream" inherits="Resource" category="Core">
	<brief_description>
	Base class for audio streams.
	</brief_description>
	<description>
	Base class for audio streams. Audio streams are used for music"#10;"#9;playback, or other types of streamed sounds that don't fit or"#10;"#9;requiere more flexibility than a [Sample].
	</description>
	<methods>
		<method name="play"  >
			<description>
			Start playback of an audio stream.
			</description>
		</method>
		<method name="stop"  >
			<description>
			Stop playback of an audio stream.
			</description>
		</method>
		<method name="is_playing" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return wether the audio stream is currently playing.
			</description>
		</method>
		<method name="set_loop"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			Set the loop hint for the audio stream playback. if"#10;"#9;"#9;"#9;true, audio stream will attempt to loop (restart)"#10;"#9;"#9;"#9;when finished.
			</description>
		</method>
		<method name="has_loop" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return wether the audio stream loops. See [method set_loop]
			</description>
		</method>
		<method name="get_stream_name" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			Return the name of the audio stream. Often the song"#10;"#9;"#9;"#9;title when the stream is music.
			</description>
		</method>
		<method name="get_loop_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the amount of times that the stream has"#10;"#9;"#9;"#9;looped (if loop is supported).
			</description>
		</method>
		<method name="seek_pos"  >
			<argument index="0" name="pos" type="float">
			</argument>
			<description>
			Seek to a certain position (in seconds) in an audio"#10;"#9;"#9;"#9;stream.
			</description>
		</method>
		<method name="get_pos" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the current playing position (in seconds) of the audio"#10;"#9;"#9;"#9;stream (if supported). Since this value is updated"#10;"#9;"#9;"#9;internally, it may not be exact or updated"#10;"#9;"#9;"#9;continuosly. Accuracy depends on the sample buffer"#10;"#9;"#9;"#9;size of the audio driver.
			</description>
		</method>
		<method name="get_length" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_update_mode" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the type of update that the stream uses. Some"#10;"#9;"#9;"#9;types of stream may need manual polling.
			</description>
		</method>
		<method name="update"  >
			<description>
			Manually poll the audio stream (if it is requested"#10;"#9;"#9;"#9;to).
			</description>
		</method>
	</methods>
	<constants>
		<constant name="UPDATE_NONE" value="0">
			Does not need update, or manual polling.
		</constant>
		<constant name="UPDATE_IDLE" value="1">
			Stream is updated on the main thread, when idle.
		</constant>
		<constant name="UPDATE_THREAD" value="2">
			Stream is updated on its own thread.
		</constant>
	</constants>
</class>
<class name="AudioStreamGibberish" inherits="AudioStream" category="Core">
	<brief_description>
	Simple gibberish speech stream playback.
	</brief_description>
	<description>
	AudioStream used for gibberish playback. It plays randomized phonemes, which can be used to accompany text dialogs.
	</description>
	<methods>
		<method name="set_phonemes"  >
			<argument index="0" name="phonemes" type="Object">
			</argument>
			<description>
			Set the phoneme library.
			</description>
		</method>
		<method name="get_phonemes" qualifiers="const" >
			<return type="Object">
			</return>
			<description>
			Return the phoneme library.
			</description>
		</method>
		<method name="set_pitch_scale"  >
			<argument index="0" name="pitch_scale" type="float">
			</argument>
			<description>
			Set pitch scale for the speech. Animating this value holds amusing results.
			</description>
		</method>
		<method name="get_pitch_scale" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the pitch scale.
			</description>
		</method>
		<method name="set_pitch_random_scale"  >
			<argument index="0" name="pitch_random_scale" type="float">
			</argument>
			<description>
			Set the random scaling for the pitch.
			</description>
		</method>
		<method name="get_pitch_random_scale" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the pitch random scaling.
			</description>
		</method>
		<method name="set_xfade_time"  >
			<argument index="0" name="sec" type="float">
			</argument>
			<description>
			Set the cross-fade time between random phonemes.
			</description>
		</method>
		<method name="get_xfade_time" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the cross-fade time between random phonemes.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="AudioStreamMPC" inherits="AudioStreamResampled" category="Core">
	<brief_description>
	MusePack audio stream driver.
	</brief_description>
	<description>
	MusePack audio stream driver.
	</description>
	<methods>
		<method name="set_file"  >
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			Set the file to be played.
			</description>
		</method>
		<method name="get_file" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			Return the file being played.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="AudioStreamOGGVorbis" inherits="AudioStreamResampled" category="Core">
	<brief_description>
	OGG Vorbis audio stream driver.
	</brief_description>
	<description>
	OGG Vorbis audio stream driver.
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
</class>
<class name="AudioStreamResampled" inherits="AudioStream" category="Core">
	<brief_description>
	Base class for resampled audio streams.
	</brief_description>
	<description>
	Base class for resampled audio streams.
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
</class>
<class name="AudioStreamSpeex" inherits="AudioStreamResampled" category="Core">
	<brief_description>
	Speex audio stream driver.
	</brief_description>
	<description>
	Speex audio stream driver. Speex is very useful for compressed speech. It allows loading a very large amount of speech in memory at little IO/latency cost.
	</description>
	<methods>
		<method name="set_file"  >
			<argument index="0" name="file" type="String">
			</argument>
			<description>
			Set the speech file (which is loaded to memory).
			</description>
		</method>
		<method name="get_file" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			Return the speech file.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="BakedLight" inherits="Resource" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_mode"  >
			<argument index="0" name="mode" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_mode" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_octree"  >
			<argument index="0" name="octree" type="RawArray">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_octree" qualifiers="const" >
			<return type="RawArray">
			</return>
			<description>
			</description>
		</method>
		<method name="set_light"  >
			<argument index="0" name="light" type="RawArray">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_light" qualifiers="const" >
			<return type="RawArray">
			</return>
			<description>
			</description>
		</method>
		<method name="set_sampler_octree"  >
			<argument index="0" name="sampler_octree" type="IntArray">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_sampler_octree" qualifiers="const" >
			<return type="IntArray">
			</return>
			<description>
			</description>
		</method>
		<method name="add_lightmap"  >
			<argument index="0" name="texture" type="Texture">
			</argument>
			<argument index="1" name="gen_size" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="erase_lightmap"  >
			<argument index="0" name="id" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="clear_lightmaps"  >
			<description>
			</description>
		</method>
		<method name="set_cell_subdivision"  >
			<argument index="0" name="cell_subdivision" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_cell_subdivision" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_initial_lattice_subdiv"  >
			<argument index="0" name="cell_subdivision" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_initial_lattice_subdiv" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_plot_size"  >
			<argument index="0" name="plot_size" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_plot_size" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_bounces"  >
			<argument index="0" name="bounces" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_bounces" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_cell_extra_margin"  >
			<argument index="0" name="cell_extra_margin" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_cell_extra_margin" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_edge_damp"  >
			<argument index="0" name="edge_damp" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_edge_damp" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_normal_damp"  >
			<argument index="0" name="normal_damp" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_normal_damp" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_tint"  >
			<argument index="0" name="tint" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_tint" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_saturation"  >
			<argument index="0" name="saturation" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_saturation" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_ao_radius"  >
			<argument index="0" name="ao_radius" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_ao_radius" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_ao_strength"  >
			<argument index="0" name="ao_strength" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_ao_strength" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_format"  >
			<argument index="0" name="format" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_format" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_transfer_lightmaps_only_to_uv2"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_transfer_lightmaps_only_to_uv2" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_energy_multiplier"  >
			<argument index="0" name="energy_multiplier" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_energy_multiplier" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_gamma_adjust"  >
			<argument index="0" name="gamma_adjust" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_gamma_adjust" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_bake_flag"  >
			<argument index="0" name="flag" type="int">
			</argument>
			<argument index="1" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_bake_flag" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="flag" type="int">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="MODE_OCTREE" value="0">
		</constant>
		<constant name="MODE_LIGHTMAPS" value="1">
		</constant>
		<constant name="BAKE_DIFFUSE" value="0">
		</constant>
		<constant name="BAKE_SPECULAR" value="1">
		</constant>
		<constant name="BAKE_TRANSLUCENT" value="2">
		</constant>
		<constant name="BAKE_CONSERVE_ENERGY" value="3">
		</constant>
		<constant name="BAKE_MAX" value="5">
		</constant>
	</constants>
</class>
<class name="BakedLightInstance" inherits="VisualInstance" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_baked_light"  >
			<argument index="0" name="baked_light" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_baked_light" qualifiers="const" >
			<return type="Object">
			</return>
			<description>
			</description>
		</method>
		<method name="get_baked_light_instance" qualifiers="const" >
			<return type="RID">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<signals>
		<signal name="baked_light_changed">
			<description>
			</description>
		</signal>
	</signals>
	<constants>
	</constants>
</class>
<class name="BakedLightSampler" inherits="VisualInstance" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_param"  >
			<argument index="0" name="param" type="int">
			</argument>
			<argument index="1" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_param" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="param" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_resolution"  >
			<argument index="0" name="resolution" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_resolution" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="PARAM_RADIUS" value="0">
		</constant>
		<constant name="PARAM_STRENGTH" value="1">
		</constant>
		<constant name="PARAM_ATTENUATION" value="2">
		</constant>
		<constant name="PARAM_DETAIL_RATIO" value="3">
		</constant>
		<constant name="PARAM_MAX" value="4">
		</constant>
	</constants>
</class>
<class name="BaseButton" inherits="Control" category="Core">
	<brief_description>
	Provides a base class for different kinds of buttons.
	</brief_description>
	<description>
	BaseButton is the abstract base class for buttons, so it shouldn't be used directly (It doesnt display anything). Other types of buttons inherit from it.
	</description>
	<methods>
		<method name="set_pressed"  >
			<argument index="0" name="pressed" type="bool">
			</argument>
			<description>
			Set the button to pressed state (only if toggle_mode is active).
			</description>
		</method>
		<method name="is_pressed" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return when the button is pressed (only if toggle_mode is active).
			</description>
		</method>
		<method name="is_hovered" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_toggle_mode"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			Set the button toggle_mode property. Toggle mode makes the button flip state between pressed and unpressed each time its area is clicked.
			</description>
		</method>
		<method name="is_toggle_mode" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return the toggle_mode property (see [method set_toggle_mode]).
			</description>
		</method>
		<method name="set_disabled"  >
			<argument index="0" name="disabled" type="bool">
			</argument>
			<description>
			Set the button into disabled state. When a button is disabled, it can"apos;t be clicked or toggled.
			</description>
		</method>
		<method name="is_disabled" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return wether the button is in disabled state (see [method set_disabled]).
			</description>
		</method>
		<method name="set_click_on_press"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			Set the button click_on_press mode. This mode generates click events when a mousebutton or key is just pressed (by default events are generated when the button/keys are released and both press and release occur in the visual area of the Button).
			</description>
		</method>
		<method name="get_click_on_press" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return the state of the click_on_press property (see [method set_click_on_press]).
			</description>
		</method>
		<method name="get_draw_mode" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the visual state used to draw the button. This is useful mainly when implementing your own draw code by either overiding _draw() or connecting to "draw" signal. The visual state of the button is defined by the DRAW_* enum.
			</description>
		</method>
	</methods>
	<signals>
		<signal name="toggled">
			<argument index="0" name="pressed" type="bool">
			</argument>
			<description>
			This signal is emitted when the button was just toggled between pressed and normal states (only if toggle_mode is active). The new state is contained in the [i]pressed[/i] argument.
			</description>
		</signal>
		<signal name="pressed">
			<description>
			This signal is emitted every time the button is pressed or toggled.
			</description>
		</signal>
	</signals>
	<constants>
		<constant name="DRAW_NORMAL" value="0">
		</constant>
		<constant name="DRAW_PRESSED" value="1">
		</constant>
		<constant name="DRAW_HOVER" value="2">
		</constant>
		<constant name="DRAW_DISABLED" value="3">
		</constant>
	</constants>
</class>
<class name="BitMap" inherits="Resource" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="create"  >
			<argument index="0" name="size" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="create_from_image_alpha"  >
			<argument index="0" name="image" type="Image">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_bit"  >
			<argument index="0" name="pos" type="Vector2">
			</argument>
			<argument index="1" name="bit" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_bit" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="pos" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_bit_rect"  >
			<argument index="0" name="p_rect" type="Rect2">
			</argument>
			<argument index="1" name="bit" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_true_bit_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_size" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="BoneAttachment" inherits="Spatial" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
</class>
<class name="BoxContainer" inherits="Container" category="Core">
	<brief_description>
	Base class for Box containers.
	</brief_description>
	<description>
	Base class for Box containers. It arranges children controls vertically or horizontally, and rearranges them automatically when their minimum size changes.
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
</class>
<class name="BoxShape" inherits="Shape" category="Core">
	<brief_description>
	Box shape resource.
	</brief_description>
	<description>
	Box shape resource, which can be set into a [PhysicsBody] or area.
	</description>
	<methods>
		<method name="set_extents"  >
			<argument index="0" name="extents" type="Vector3">
			</argument>
			<description>
			Set the half extents for the shape.
			</description>
		</method>
		<method name="get_extents" qualifiers="const" >
			<return type="Vector3">
			</return>
			<description>
			Return the half extents of the shape.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Button" inherits="BaseButton" category="Core">
	<brief_description>
	Standard themed Button.
	</brief_description>
	<description>
	Button is just the standard themed button: [image src="images/button_example.png"/] It can contain text and an icon, and will display them according to the current [Theme].
	</description>
	<methods>
		<method name="set_text"  >
			<argument index="0" name="text" type="String">
			</argument>
			<description>
			Set the button text, which will be displayed inside the button area.
			</description>
		</method>
		<method name="get_text" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			Return the button text.
			</description>
		</method>
		<method name="set_button_icon"  >
			<argument index="0" name="texture" type="Texture">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_button_icon" qualifiers="const" >
			<return type="Texture">
			</return>
			<description>
			</description>
		</method>
		<method name="set_flat"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			Set the [i]flat[/i] property of a Button. Flat buttons don"apos;t display decoration unless hoevered or pressed.
			</description>
		</method>
		<method name="set_clip_text"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			Set the [i]clip_text[/i] property of a Button. When this property is enabled, text that is too large to fit the button is clipped, when disabled (default) the Button will always be wide enough to hold the text.
			</description>
		</method>
		<method name="get_clip_text" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return the state of the [i]clip_text[/i] property (see [method set_clip_text])
			</description>
		</method>
		<method name="set_text_align"  >
			<argument index="0" name="align" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_text_align" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="is_flat" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return the state of the [i]flat[/i] property (see [method set_flat])
			</description>
		</method>
	</methods>
	<constants>
	</constants>
	<theme_items>
		<theme_item name="hseparation" type="int">
		</theme_item>
		<theme_item name="font_color_disabled" type="Color">
		</theme_item>
		<theme_item name="font_color" type="Color">
		</theme_item>
		<theme_item name="font_color_hover" type="Color">
		</theme_item>
		<theme_item name="font_color_pressed" type="Color">
		</theme_item>
		<theme_item name="font" type="Font">
		</theme_item>
		<theme_item name="hover" type="StyleBox">
		</theme_item>
		<theme_item name="pressed" type="StyleBox">
		</theme_item>
		<theme_item name="focus" type="StyleBox">
		</theme_item>
		<theme_item name="disabled" type="StyleBox">
		</theme_item>
		<theme_item name="normal" type="StyleBox">
		</theme_item>
	</theme_items>
</class>
<class name="ButtonArray" inherits="Control" category="Core">
	<brief_description>
	Array of Buttons.
	</brief_description>
	<description>
	Array of Buttons. A Button array is useful to have an array of buttons laid out vertically or horizontally. Only one can be selected. This is useful for joypad based interfaces and option menus.
	</description>
	<methods>
		<method name="add_button"  >
			<argument index="0" name="text" type="String">
			</argument>
			<description>
			Add a new button.
			</description>
		</method>
		<method name="add_icon_button"  >
			<argument index="0" name="icon" type="Object">
			</argument>
			<argument index="1" name="text" type="String" default="&quot;&quot;">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_button_text"  >
			<argument index="0" name="button" type="int">
			</argument>
			<argument index="1" name="text" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_button_icon"  >
			<argument index="0" name="button" type="int">
			</argument>
			<argument index="1" name="icon" type="Object">
			</argument>
			<description>
			Set the icon of an existing button.
			</description>
		</method>
		<method name="get_button_text" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="button" type="int">
			</argument>
			<description>
			Return the text of an existing button.
			</description>
		</method>
		<method name="get_button_icon" qualifiers="const" >
			<return type="Object">
			</return>
			<argument index="0" name="button" type="int">
			</argument>
			<description>
			Return the icon of an existing button.
			</description>
		</method>
		<method name="get_button_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the amount of buttons in the array.
			</description>
		</method>
		<method name="get_selected" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the currently selected button in the array.
			</description>
		</method>
		<method name="get_hovered" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the currently hovered button in the array.
			</description>
		</method>
		<method name="set_selected"  >
			<argument index="0" name="button" type="int">
			</argument>
			<description>
			Sekect a button in the array.
			</description>
		</method>
		<method name="erase_button"  >
			<argument index="0" name="button" type="int">
			</argument>
			<description>
			Remove a button in the array, by index.
			</description>
		</method>
		<method name="clear"  >
			<description>
			Clear the button array.
			</description>
		</method>
	</methods>
	<signals>
		<signal name="button_selected">
			<argument index="0" name="button" type="int">
			</argument>
			<description>
			A Button was selected (returns the index).
			</description>
		</signal>
	</signals>
	<constants>
		<constant name="ALIGN_BEGIN" value="0">
			Align buttons at the begining.
		</constant>
		<constant name="ALIGN_CENTER" value="1">
			Align buttons in the middle.
		</constant>
		<constant name="ALIGN_END" value="2">
			Align buttons at the end.
		</constant>
		<constant name="ALIGN_FILL" value="3">
			Spread the buttons, but keep them small.
		</constant>
		<constant name="ALIGN_EXPAND_FILL" value="4">
			Spread the buttons, but expand them.
		</constant>
	</constants>
</class>
<class name="ButtonGroup" inherits="Control" category="Core">
	<brief_description>
	Group of Buttons.
	</brief_description>
	<description>
	Group of [Button]s. All direct and indirect children buttons become radios. Only one allows being pressed.
	</description>
	<methods>
		<method name="get_pressed_button" qualifiers="const" >
			<return type="BaseButton">
			</return>
			<description>
			Return the pressed button.
			</description>
		</method>
		<method name="get_pressed_button_index" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the index of the pressed button (by tree order).
			</description>
		</method>
		<method name="get_focused_button" qualifiers="const" >
			<return type="BaseButton">
			</return>
			<description>
			Return the focused button.
			</description>
		</method>
		<method name="get_button_list" qualifiers="const" >
			<return type="Array">
			</return>
			<description>
			Return the list of all the buttons in the group.
			</description>
		</method>
		<method name="set_pressed_button"  >
			<argument index="0" name="button" type="BaseButton">
			</argument>
			<description>
			Set the button to be pressed.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Camera" inherits="Spatial" category="Core">
	<brief_description>
	Camera node, displays from a point of view.
	</brief_description>
	<description>
	Camera is a special node that displays what is visible from its current location. Cameras register themselves in the nearest [Viewport] node (when ascending the tree). Only one camera can be active per viewport. If no viewport is available ascending the tree, the Camera will register in the global viewport. In other words, a Camera just provides [i]3D[/i] display capabilities to a [Viewport], and, without one, a [Scene] registered in that [Viewport] (or higher viewports) can't be displayed.
	</description>
	<methods>
		<method name="project_ray_normal" qualifiers="const" >
			<return type="Vector3">
			</return>
			<argument index="0" name="screen_point" type="Vector2">
			</argument>
			<description>
			Return a normal vector in worldspace, that is the result of projecting a point on the [Viewport] rectangle by the camera proyection. This is useful for casting rays in the form of (origin,normal) for object intersection or picking.
			</description>
		</method>
		<method name="project_local_ray_normal" qualifiers="const" >
			<return type="Vector3">
			</return>
			<argument index="0" name="screen_point" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="project_ray_origin" qualifiers="const" >
			<return type="Vector3">
			</return>
			<argument index="0" name="screen_point" type="Vector2">
			</argument>
			<description>
			Return a 3D position in worldspace, that is the result of projecting a point on the [Viewport] rectangle by the camera proyection. This is useful for casting rays in the form of (origin,normal) for object intersection or picking.
			</description>
		</method>
		<method name="unproject_position" qualifiers="const" >
			<return type="Vector2">
			</return>
			<argument index="0" name="world_point" type="Vector3">
			</argument>
			<description>
			Return how a 3D point in worldpsace maps to a 2D coordinate in the [Viewport] rectangle.
			</description>
		</method>
		<method name="project_position" qualifiers="const" >
			<return type="Vector3">
			</return>
			<argument index="0" name="screen_point" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_perspective"  >
			<argument index="0" name="fov" type="float">
			</argument>
			<argument index="1" name="z_near" type="float">
			</argument>
			<argument index="2" name="z_far" type="float">
			</argument>
			<description>
			Set the camera projection to perspective mode, by specifying a [i]FOV[/i] Y angle in degrees (FOV means Field of View), and the [i]near[/i] and [i]far[/i] clip planes in worldspace units.
			</description>
		</method>
		<method name="set_orthogonal"  >
			<argument index="0" name="size" type="float">
			</argument>
			<argument index="1" name="z_near" type="float">
			</argument>
			<argument index="2" name="z_far" type="float">
			</argument>
			<description>
			Set the camera projection to orthogonal mode, by specifying a"#10;"#9;"#9;"#9;width and the [i]near[/i] and [i]far[/i] clip planes in worldspace units. (As a hint, 2D games often use this projection, with values specified in pixels)
			</description>
		</method>
		<method name="make_current"  >
			<description>
			Make this camera the current Camera for the [Viewport] (see class description). If the Camera Node is outside the scene tree, it will attempt to become current once it"apos;s added.
			</description>
		</method>
		<method name="clear_current"  >
			<description>
			</description>
		</method>
		<method name="is_current" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return wether the Camera is the current one in the [Viewport], or plans to become current (if outside the scene tree).
			</description>
		</method>
		<method name="get_camera_transform" qualifiers="const" >
			<return type="Transform">
			</return>
			<description>
			Get the camera transform. Subclassed cameras (such as CharacterCamera) may provide different transforms than the [Node] transform.
			</description>
		</method>
		<method name="get_fov" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_size" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_zfar" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_znear" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_projection" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_visible_layers"  >
			<argument index="0" name="mask" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_visible_layers" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="look_at"  >
			<argument index="0" name="target" type="Vector3">
			</argument>
			<argument index="1" name="up" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="look_at_from_pos"  >
			<argument index="0" name="pos" type="Vector3">
			</argument>
			<argument index="1" name="target" type="Vector3">
			</argument>
			<argument index="2" name="up" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_environment"  >
			<argument index="0" name="env" type="Environment">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_environment" qualifiers="const" >
			<return type="Environment">
			</return>
			<description>
			</description>
		</method>
		<method name="set_keep_aspect_mode"  >
			<argument index="0" name="mode" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_keep_aspect_mode" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="PROJECTION_PERSPECTIVE" value="0">
			Perspective Projection (object's size on the screen becomes smaller when far away).
		</constant>
		<constant name="PROJECTION_ORTHOGONAL" value="1">
			Orthogonal Projection (objects remain the same size on the screen no matter how far away they are).
		</constant>
		<constant name="KEEP_WIDTH" value="0">
		</constant>
		<constant name="KEEP_HEIGHT" value="1">
		</constant>
	</constants>
</class>
<class name="Camera2D" inherits="Node2D" category="Core">
	<brief_description>
	Camera node for 2D scenes.
	</brief_description>
	<description>
	Camera node for 2D scenes. It forces the screen (current layer) to scroll following this node. This makes it easier (and faster) to program scrollable scenes than manually changing the position of [CanvasItem] based nodes.
	This node is intended to be a simple helper get get things going quickly
	and it may happen often that more functionality is desired to change
	how the camera works. To make your own custom camera node, simply
	inherit from [Node2D] and change the transform of the canvas by
	calling get_viewport().set_canvas_transform(m) in [Viewport].
	</description>
	<methods>
		<method name="set_offset"  >
			<argument index="0" name="offset" type="Vector2">
			</argument>
			<description>
			Set the scroll offset. Useful for looking around or
			camera shake animations.
			</description>
		</method>
		<method name="get_offset" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			Return the scroll offset.
			</description>
		</method>
		<method name="set_centered"  >
			<argument index="0" name="centered" type="bool">
			</argument>
			<description>
			Set to true if the camera is at the center of the screen (default: true).
			</description>
		</method>
		<method name="is_centered" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if the camera is at the center of the screen (default: true).
			</description>
		</method>
		<method name="set_rotating"  >
			<argument index="0" name="rotating" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_rotating" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="make_current"  >
			<description>
			Make this the current 2D camera for the scene (viewport and layer), in case there's many cameras in the scene.
			</description>
		</method>
		<method name="is_current" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true of this is the current camera (see [method Camera2D.make_current]).
			</description>
		</method>
		<method name="set_limit"  >
			<argument index="0" name="margin" type="int">
			</argument>
			<argument index="1" name="limit" type="int">
			</argument>
			<description>
			Set the scrolling limit in pixels
			</description>
		</method>
		<method name="get_limit" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="margin" type="int">
			</argument>
			<description>
			Return the scrolling limit in pixels
			</description>
		</method>
		<method name="set_v_drag_enabled"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_v_drag_enabled" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_h_drag_enabled"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_h_drag_enabled" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_v_offset"  >
			<argument index="0" name="ofs" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_v_offset" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_h_offset"  >
			<argument index="0" name="ofs" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_h_offset" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_drag_margin"  >
			<argument index="0" name="margin" type="int">
			</argument>
			<argument index="1" name="drag_margin" type="float">
			</argument>
			<description>
			Set the margins needed to drag the camera (relative to the screen size). Margin uses the MARGIN_* enum.  Drag margins of 0,0,0,0 will keep the camera at the center of the screen, while drag margins of 1,1,1,1 will only move when the camera is at the edges.
			</description>
		</method>
		<method name="get_drag_margin" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="margin" type="int">
			</argument>
			<description>
			Return the margins needed to drag the camera (see [method set_drag_margin]).
			</description>
		</method>
		<method name="get_camera_pos" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			Return the camera position.
			</description>
		</method>
		<method name="get_camera_screen_center" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="set_zoom"  >
			<argument index="0" name="arg0" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_zoom" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="set_follow_smoothing"  >
			<argument index="0" name="follow_smoothing" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_follow_smoothing" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="force_update_scroll"  >
			<description>
			Force the camera to update scroll immediately.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="CanvasItem" inherits="Node" category="Core">
	<brief_description>
	Base class of anything 2D.
	</brief_description>
	<description>
	Base class of anything 2D. Canvas items are laid out in a tree and children inherit and extend the transform of their parent. CanvasItem is extended by [Control], for anything GUI related, and by [Node2D] for anything 2D engine related.
	Any CanvasItem can draw. For this, the "update" function must be called, then NOTIFICATION_DRAW will be received on idle time to request redraw. Because of this, canvas items don't need to be redraw on every frame, improving the performance significantly. Several functions for drawing on the CanvasItem are provided (see draw_* functions). They can only be used inside the notification, signal or _draw() overrided function, though.
	Canvas items are draw in tree order. By default, children are on top of their parents so a root CanvasItem will be drawn behind everything (this can be changed per item though). 
	Canvas items can also be hidden (hiding also their subtree). They provide many means for changing standard parameters such as opacity (for it and the subtree) and self opacity, blend mode.
	Ultimately, a transform notification can be requested, which will notify the node that its global position changed in case the parent tree changed.
	</description>
	<methods>
		<method name="_draw" qualifiers="virtual" >
			<description>
			Called (if exists) to draw the canvas item.
			</description>
		</method>
		<method name="edit_set_state"  >
			<argument index="0" name="state" type="var">
			</argument>
			<description>
			Used for editing, returns an opaque value represeting the transform state.
			</description>
		</method>
		<method name="edit_get" qualifiers="const" >
			<description>
			</description>
		</method>
		<method name="edit_set_rect"  >
			<argument index="0" name="rect" type="Rect2">
			</argument>
			<description>
			</description>
		</method>
		<method name="edit_rotate"  >
			<argument index="0" name="degrees" type="float">
			</argument>
			<description>
			Used for editing, handle rotation.
			</description>
		</method>
		<method name="get_item_rect" qualifiers="const" >
			<return type="Rect2">
			</return>
			<description>
			Return a rect containing the editable contents of the item.
			</description>
		</method>
		<method name="get_canvas_item" qualifiers="const" >
			<return type="RID">
			</return>
			<description>
			Return the canvas item RID used by [VisualServer] for this item.
			</description>
		</method>
		<method name="is_visible" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if this CanvasItem is visible. It may be invisible because itself or a parent canvas item is hidden.
			</description>
		</method>
		<method name="is_hidden" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if this CanvasItem is hidden. Note that the CanvasItem may not be visible, but as long as it's not hidden ([method hide] called) the function will return false.
			</description>
		</method>
		<method name="show"  >
			<description>
			Show the CanvasItem currently hidden.
			</description>
		</method>
		<method name="hide"  >
			<description>
			Hide the CanvasItem currently visible.
			</description>
		</method>
		<method name="update"  >
			<description>
			Queue the CanvasItem for update. NOTIFICATION_DRAW will be called on idle time to request redraw.
			</description>
		</method>
		<method name="set_as_toplevel"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			Set as toplevel. This means that it will not inherit transform from parent canvas items.
			</description>
		</method>
		<method name="is_set_as_toplevel" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return if set as toplevel. See [method set_as_toplevel]/
			</description>
		</method>
		<method name="set_blend_mode"  >
			<argument index="0" name="blend_mode" type="int">
			</argument>
			<description>
			Set the blending mode from enum BLEND_MODE_*.
			</description>
		</method>
		<method name="get_blend_mode" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the current blending mode from enum BLEND_MODE_*.
			</description>
		</method>
		<method name="set_opacity"  >
			<argument index="0" name="opacity" type="float">
			</argument>
			<description>
			Set canvas item opacity. This will affect the canvas item and all the children.
			</description>
		</method>
		<method name="get_opacity" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the canvas item opacity. This affects the canvas item and all the children.
			</description>
		</method>
		<method name="set_self_opacity"  >
			<argument index="0" name="self_opacity" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_self_opacity" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Set canvas item self-opacity. This does not affect the opacity of children items.
			</description>
		</method>
		<method name="set_draw_behind_parent"  >
			<argument index="0" name="enabe" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_draw_behind_parent_enabled" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="draw_line"  >
			<argument index="0" name="from" type="Vector2">
			</argument>
			<argument index="1" name="to" type="Vector2">
			</argument>
			<argument index="2" name="color" type="Color">
			</argument>
			<argument index="3" name="width" type="float" default="1">
			</argument>
			<description>
			Draw a line from a 2D point to another, with a given color and width.
			</description>
		</method>
		<method name="draw_rect"  >
			<argument index="0" name="rect" type="Rect2">
			</argument>
			<argument index="1" name="color" type="Color">
			</argument>
			<description>
			Draw a colored rectangle.
			</description>
		</method>
		<method name="draw_circle"  >
			<argument index="0" name="pos" type="Vector2">
			</argument>
			<argument index="1" name="radius" type="float">
			</argument>
			<argument index="2" name="color" type="Color">
			</argument>
			<description>
			Draw a colored circle.
			</description>
		</method>
		<method name="draw_texture"  >
			<argument index="0" name="texture" type="Texture">
			</argument>
			<argument index="1" name="pos" type="Vector2">
			</argument>
			<description>
			Draw a texture at a given position.
			</description>
		</method>
		<method name="draw_texture_rect"  >
			<argument index="0" name="texture" type="Texture">
			</argument>
			<argument index="1" name="rect" type="Rect2">
			</argument>
			<argument index="2" name="tile" type="bool" default="false">
			</argument>
			<argument index="3" name="modulate" type="Color" default="Color(1,1,1,1)">
			</argument>
			<description>
			Draw a textured rectangle at a given position, optionally modulated by a color.
			</description>
		</method>
		<method name="draw_texture_rect_region"  >
			<argument index="0" name="texture" type="Texture">
			</argument>
			<argument index="1" name="rect" type="Rect2">
			</argument>
			<argument index="2" name="src_rect" type="Rect2">
			</argument>
			<argument index="3" name="modulate" type="Color" default="Color(1,1,1,1)">
			</argument>
			<description>
			Draw a textured rectangle region at a given position, optionally modulated by a color.
			</description>
		</method>
		<method name="draw_style_box"  >
			<argument index="0" name="style_box" type="StyleBox">
			</argument>
			<argument index="1" name="rect" type="Rect2">
			</argument>
			<description>
			Draw a styled rectangle.
			</description>
		</method>
		<method name="draw_primitive"  >
			<argument index="0" name="points" type="Vector2Array">
			</argument>
			<argument index="1" name="colors" type="ColorArray">
			</argument>
			<argument index="2" name="uvs" type="Vector2Array" default="Array()">
			</argument>
			<argument index="3" name="texture" type="Texture" default="Object()">
			</argument>
			<argument index="4" name="width" type="float" default="1">
			</argument>
			<description>
			Draw a custom primitive, 1 point for a point, 2 points for a line, 3 points for a triangle and 4 points for a quad.
			</description>
		</method>
		<method name="draw_polygon"  >
			<argument index="0" name="points" type="Vector2Array">
			</argument>
			<argument index="1" name="colors" type="ColorArray">
			</argument>
			<argument index="2" name="uvs" type="Vector2Array" default="Array()">
			</argument>
			<argument index="3" name="texture" type="Texture" default="Object()">
			</argument>
			<description>
			Draw a polygon of any amount of points, convex or concave.
			</description>
		</method>
		<method name="draw_colored_polygon"  >
			<argument index="0" name="points" type="Vector2Array">
			</argument>
			<argument index="1" name="color" type="Color">
			</argument>
			<argument index="2" name="uvs" type="Vector2Array" default="Array()">
			</argument>
			<argument index="3" name="texture" type="Texture" default="Object()">
			</argument>
			<description>
			Draw a colored polygon of any amount of points, convex or concave.
			</description>
		</method>
		<method name="draw_string"  >
			<argument index="0" name="font" type="Font">
			</argument>
			<argument index="1" name="pos" type="Vector2">
			</argument>
			<argument index="2" name="text" type="String">
			</argument>
			<argument index="3" name="modulate" type="Color" default="Color(1,1,1,1)">
			</argument>
			<argument index="4" name="clip_w" type="int" default="-1">
			</argument>
			<description>
			Draw a string using a custom font.
			</description>
		</method>
		<method name="draw_char"  >
			<return type="float">
			</return>
			<argument index="0" name="font" type="Font">
			</argument>
			<argument index="1" name="pos" type="Vector2">
			</argument>
			<argument index="2" name="char" type="String">
			</argument>
			<argument index="3" name="next" type="String">
			</argument>
			<argument index="4" name="modulate" type="Color" default="Color(1,1,1,1)">
			</argument>
			<description>
			Draw a string character using a custom font. Returns the advance, depending on the char width and kerning with an optional next char.
			</description>
		</method>
		<method name="draw_set_transform"  >
			<argument index="0" name="pos" type="Vector2">
			</argument>
			<argument index="1" name="rot" type="float">
			</argument>
			<argument index="2" name="scale" type="Vector2">
			</argument>
			<description>
			Set a custom transform for drawing. Anything drawn afterwards will be transformed by this.
			</description>
		</method>
		<method name="get_transform" qualifiers="const" >
			<return type="Matrix32">
			</return>
			<description>
			</description>
		</method>
		<method name="get_global_transform" qualifiers="const" >
			<return type="Matrix32">
			</return>
			<description>
			</description>
		</method>
		<method name="get_viewport_transform" qualifiers="const" >
			<return type="Matrix32">
			</return>
			<description>
			</description>
		</method>
		<method name="get_viewport_rect" qualifiers="const" >
			<return type="Rect2">
			</return>
			<description>
			</description>
		</method>
		<method name="get_canvas" qualifiers="const" >
			<return type="RID">
			</return>
			<description>
			</description>
		</method>
		<method name="get_world_2d" qualifiers="const" >
			<return type="Object">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<signals>
		<signal name="item_rect_changed">
			<description>
			Emitted when the intem rect has changed.
			</description>
		</signal>
		<signal name="draw">
			<description>
			Emitted when the CanvasItem must redraw. This can only be connected realtime, as deferred will not allow drawing.
			</description>
		</signal>
		<signal name="visibility_changed">
			<description>
			Emitted when the visibility (hidden/visible) changes.
			</description>
		</signal>
		<signal name="hide">
			<description>
			Emitten when becoming hidden.
			</description>
		</signal>
	</signals>
	<constants>
		<constant name="BLEND_MODE_MIX" value="0">
			Mix blending mode.
		</constant>
		<constant name="BLEND_MODE_ADD" value="1">
			Additive blending mode.
		</constant>
		<constant name="BLEND_MODE_SUB" value="2">
			Substractive blending mode.
		</constant>
		<constant name="BLEND_MODE_MUL" value="3">
			Multiplicative blending mode.
		</constant>
		<constant name="BLEND_MODE_PREMULT_ALPHA" value="4">
		</constant>
		<constant name="NOTIFICATION_DRAW" value="30">
			CanvasItem is requested to draw.
		</constant>
		<constant name="NOTIFICATION_VISIBILITY_CHANGED" value="31">
			Canvas item visibility has changed.
		</constant>
		<constant name="NOTIFICATION_ENTER_CANVAS" value="32">
			Canvas item has entered the canvas.
		</constant>
		<constant name="NOTIFICATION_EXIT_CANVAS" value="33">
			Canvas item has exited the canvas.
		</constant>
		<constant name="NOTIFICATION_TRANSFORM_CHANGED" value="29">
			Canvas item transform has changed. Only received if requested.
		</constant>
	</constants>
</class>
<class name="CanvasLayer" inherits="Node" category="Core">
	<brief_description>
	Canvas Item layer.
	</brief_description>
	<description>
	Canvas Item layer. [CanvasItem] nodes that are direct or indirect children of a [CanvasLayer] will be drawn in that layer. The layer is a numeric index that defines the draw order. The default 2D scene renders with index 0, so a [CanvasLayer] with index -1 will be drawn below, and one with index 1 will be drawn above. This is very useful for HUDs (in layer 1+ or above), or backgrounds (in layer -1 or below).
	</description>
	<methods>
		<method name="set_layer"  >
			<argument index="0" name="layer" type="int">
			</argument>
			<description>
			Set the layer index, determines the draw order, a lower value will be below a higher one.
			</description>
		</method>
		<method name="get_layer" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the layer index, determines the draw order, a lower value will be below a higher one.
			</description>
		</method>
		<method name="set_transform"  >
			<argument index="0" name="transform" type="Matrix32">
			</argument>
			<description>
			Set the base transform for this layer.
			</description>
		</method>
		<method name="get_transform" qualifiers="const" >
			<return type="Matrix32">
			</return>
			<description>
			Return the base transform for this layer.
			</description>
		</method>
		<method name="set_offset"  >
			<argument index="0" name="offset" type="Vector2">
			</argument>
			<description>
			Set the base offset for this layer (helper).
			</description>
		</method>
		<method name="get_offset" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			Return the base offset for this layer (helper).
			</description>
		</method>
		<method name="set_rotation"  >
			<argument index="0" name="rotation" type="float">
			</argument>
			<description>
			Set the base rotation for this layer (helper).
			</description>
		</method>
		<method name="get_rotation" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the base rotation for this layer (helper).
			</description>
		</method>
		<method name="set_scale"  >
			<argument index="0" name="scale" type="Vector2">
			</argument>
			<description>
			Set the base scale for this layer (helper).
			</description>
		</method>
		<method name="get_scale" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			Return the base scale for this layer (helper).
			</description>
		</method>
		<method name="get_world_2d" qualifiers="const" >
			<return type="Canvas">
			</return>
			<description>
			Return the [World2D] used by this layer.
			</description>
		</method>
		<method name="get_viewport" qualifiers="const" >
			<return type="RID">
			</return>
			<description>
			Return the viewport RID for this layer.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="CapsuleShape" inherits="Shape" category="Core">
	<brief_description>
	Capsule shape resource.
	</brief_description>
	<description>
	Capsule shape resource, which can be set into a [PhysicsBody] or area.
	</description>
	<methods>
		<method name="set_radius"  >
			<argument index="0" name="radius" type="float">
			</argument>
			<description>
			Set the capsule radius.
			</description>
		</method>
		<method name="get_radius" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the capsule radius.
			</description>
		</method>
		<method name="set_height"  >
			<argument index="0" name="height" type="float">
			</argument>
			<description>
			Set the capsule height.
			</description>
		</method>
		<method name="get_height" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the capsule height.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="CapsuleShape2D" inherits="Shape2D" category="Core">
	<brief_description>
	Capsule 2D shape resource for physics.
	</brief_description>
	<description>
	Capsule 2D shape resource for physics. A capsule (or sometimes called "pill") is like a line grown in all directions. It has a radius and a height, and is often useful for modelling biped characters.
	</description>
	<methods>
		<method name="set_radius"  >
			<argument index="0" name="radius" type="float">
			</argument>
			<description>
			Radius of the [CapsuleShape2D].
			</description>
		</method>
		<method name="get_radius" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the radius of the [CapsuleShape2D].
			</description>
		</method>
		<method name="set_height"  >
			<argument index="0" name="height" type="float">
			</argument>
			<description>
			Height of the [CapsuleShape2D].
			</description>
		</method>
		<method name="get_height" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the height of the [CapsuleShape2D].
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="CenterContainer" inherits="Container" category="Core">
	<brief_description>
	Keeps children controls centered.
	</brief_description>
	<description>
	CenterContainer Keeps children controls centered. This container keeps all children to their minimum size, in the center.
	</description>
	<methods>
		<method name="set_use_top_left"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_using_top_left" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="CheckButton" inherits="Button" category="Core">
	<brief_description>
	Checkable button.
	</brief_description>
	<description>
	CheckButton is a toggle button displayed as a check field.
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
	<theme_items>
		<theme_item name="check_vadjust" type="int">
		</theme_item>
		<theme_item name="hseparation" type="int">
		</theme_item>
		<theme_item name="font_color_disabled" type="Color">
		</theme_item>
		<theme_item name="font_color" type="Color">
		</theme_item>
		<theme_item name="font_color_hover" type="Color">
		</theme_item>
		<theme_item name="font_color_pressed" type="Color">
		</theme_item>
		<theme_item name="off" type="Texture">
		</theme_item>
		<theme_item name="on" type="Texture">
		</theme_item>
		<theme_item name="font" type="Font">
		</theme_item>
		<theme_item name="hover" type="StyleBox">
		</theme_item>
		<theme_item name="pressed" type="StyleBox">
		</theme_item>
		<theme_item name="focus" type="StyleBox">
		</theme_item>
		<theme_item name="disabled" type="StyleBox">
		</theme_item>
		<theme_item name="normal" type="StyleBox">
		</theme_item>
	</theme_items>
</class>
<class name="CircleShape2D" inherits="Shape2D" category="Core">
	<brief_description>
	Circular Shape for 2D Physics.
	</brief_description>
	<description>
	Circular Shape for 2D Physics. This shape is useful for modelling balls or small characters and it's collision detection with everything else is very fast.
	</description>
	<methods>
		<method name="set_radius"  >
			<argument index="0" name="radius" type="float">
			</argument>
			<description>
			Set the radius of the circle shape;
			</description>
		</method>
		<method name="get_radius" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the radius of the circle shape.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="CollisionObject" inherits="Spatial" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="_input_event" qualifiers="virtual" >
			<argument index="0" name="camera" type="Object">
			</argument>
			<argument index="1" name="event" type="InputEvent">
			</argument>
			<argument index="2" name="click_pos" type="Vector3">
			</argument>
			<argument index="3" name="click_normal" type="Vector3">
			</argument>
			<argument index="4" name="shape_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="add_shape"  >
			<argument index="0" name="shape" type="Shape">
			</argument>
			<argument index="1" name="transform" type="Transform" default="Transform()">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_shape_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_shape"  >
			<argument index="0" name="shape_idx" type="int">
			</argument>
			<argument index="1" name="shape" type="Shape">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_shape_transform"  >
			<argument index="0" name="shape_idx" type="int">
			</argument>
			<argument index="1" name="transform" type="Transform">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_shape_as_trigger"  >
			<argument index="0" name="shape_idx" type="int">
			</argument>
			<argument index="1" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_shape_set_as_trigger" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="shape_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_shape" qualifiers="const" >
			<return type="Shape">
			</return>
			<argument index="0" name="shape_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_shape_transform" qualifiers="const" >
			<return type="Transform">
			</return>
			<argument index="0" name="shape_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="remove_shape"  >
			<argument index="0" name="shape_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="clear_shapes"  >
			<description>
			</description>
		</method>
		<method name="set_ray_pickable"  >
			<argument index="0" name="ray_pickable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_ray_pickable" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_capture_input_on_drag"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_capture_input_on_drag" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="get_rid" qualifiers="const" >
			<return type="RID">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<signals>
		<signal name="mouse_enter">
			<description>
			</description>
		</signal>
		<signal name="input_event">
			<argument index="0" name="camera" type="Object">
			</argument>
			<argument index="1" name="event" type="InputEvent">
			</argument>
			<argument index="2" name="click_pos" type="Vector3">
			</argument>
			<argument index="3" name="click_normal" type="Vector3">
			</argument>
			<argument index="4" name="shape_idx" type="int">
			</argument>
			<description>
			</description>
		</signal>
		<signal name="mouse_exit">
			<description>
			</description>
		</signal>
	</signals>
	<constants>
	</constants>
</class>
<class name="CollisionObject2D" inherits="Node2D" category="Core">
	<brief_description>
	Base node for 2D collisionables.
	</brief_description>
	<description>
	CollisionObject2D is the base class for 2D physics collisionables. They can hold any number of 2D collision shapes. Usually, they are edited by placing CollisionBody2D and CollisionPolygon2D nodes as children. Such nodes are for reference ant not present outside the editor, so code should use the regular shape API.
	</description>
	<methods>
		<method name="add_shape"  >
			<argument index="0" name="shape" type="Shape2D">
			</argument>
			<argument index="1" name="transform" type="Matrix32" default="1,0, 0,1, 0,0">
			</argument>
			<description>
			Add a [Shape2D] to the collision body, with a given custom transform.
			</description>
		</method>
		<method name="get_shape_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the amount of shapes in the collision body.
			</description>
		</method>
		<method name="set_shape"  >
			<argument index="0" name="shape_idx" type="int">
			</argument>
			<argument index="1" name="shape" type="Shape">
			</argument>
			<description>
			Change a shape in the collision body.
			</description>
		</method>
		<method name="set_shape_transform"  >
			<argument index="0" name="shape_idx" type="int">
			</argument>
			<argument index="1" name="transform" type="Matrix32">
			</argument>
			<description>
			Change the shape transform in the collision body.
			</description>
		</method>
		<method name="set_shape_as_trigger"  >
			<argument index="0" name="shape_idx" type="int">
			</argument>
			<argument index="1" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_shape" qualifiers="const" >
			<return type="Shape2D">
			</return>
			<argument index="0" name="shape_idx" type="int">
			</argument>
			<description>
			Return the shape in the given index.
			</description>
		</method>
		<method name="get_shape_transform" qualifiers="const" >
			<return type="Matrix32">
			</return>
			<argument index="0" name="shape_idx" type="int">
			</argument>
			<description>
			Return the shape transform in the given index.
			</description>
		</method>
		<method name="is_shape_set_as_trigger" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="shape_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="remove_shape"  >
			<argument index="0" name="shape_idx" type="int">
			</argument>
			<description>
			Remove the shape in the given index.
			</description>
		</method>
		<method name="clear_shapes"  >
			<description>
			Remove all shapes.
			</description>
		</method>
		<method name="get_rid" qualifiers="const" >
			<return type="RID">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="CollisionPolygon" inherits="Spatial" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_polygon"  >
			<argument index="0" name="polygon" type="Vector2Array">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_polygon" qualifiers="const" >
			<return type="Vector2Array">
			</return>
			<description>
			</description>
		</method>
		<method name="set_depth"  >
			<argument index="0" name="depth" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_depth" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_build_mode"  >
			<argument index="0" name="arg0" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_build_mode" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="CollisionPolygon2D" inherits="Node2D" category="Core">
	<brief_description>
	Editor-Only class.
	</brief_description>
	<description>
	Editor-Only class. This is not present when running the game. It's used in the editor to properly edit and position collision shapes in [CollisionObject2D]. This is not accessible from regular code. This class is for editing custom shape polygons.
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
</class>
<class name="CollisionShape" inherits="Spatial" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
</class>
<class name="CollisionShape2D" inherits="Node2D" category="Core">
	<brief_description>
	Editor-Only class.
	</brief_description>
	<description>
	Editor-Only class. This is not present when running the game. It's used in the editor to properly edit and position collision shapes in [CollisionObject2D]. This is not accessible from regular code.
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
</class>
<class name="Color" category="Built-In Types">
	<brief_description>
	Color in RGBA 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, ranging from 0 to 1.
	</description>
	<methods>
		<method name="blend"  >
			<return type="Color">
			</return>
			<argument index="0" name="over" type="Color">
			</argument>
			<description>
			</description>
		</method>
		<method name="contrasted"  >
			<return type="Color">
			</return>
			<description>
			Return the most contrasting color with this one.
			</description>
		</method>
		<method name="gray"  >
			<return type="float">
			</return>
			<description>
			Convert the color to gray.
			</description>
		</method>
		<method name="inverted"  >
			<return type="Color">
			</return>
			<description>
			Return the inverted color (1-r, 1-g, 1-b, 1-a).
			</description>
		</method>
		<method name="linear_interpolate"  >
			<return type="Color">
			</return>
			<argument index="0" name="b" type="Color">
			</argument>
			<argument index="1" name="t" type="float">
			</argument>
			<description>
			Return the linear interpolation with another color.
			</description>
		</method>
		<method name="to_32"  >
			<return type="int">
			</return>
			<description>
			Convert the color to a 32 its integer (each byte represets a RGBA).
			</description>
		</method>
		<method name="to_ARGB32"  >
			<return type="int">
			</return>
			<description>
			Convert color to ARGB32, more compatible with DirectX.
			</description>
		</method>
		<method name="to_html"  >
			<return type="String">
			</return>
			<argument index="0" name="with_alpha" type="bool" default="True">
			</argument>
			<description>
			Return the HTML hexadecimal color string.
			</description>
		</method>
		<method name="Color"  >
			<argument index="0" name="r" type="float">
			</argument>
			<argument index="1" name="g" type="float">
			</argument>
			<argument index="2" name="b" type="float">
			</argument>
			<argument index="3" name="a" type="float">
			</argument>
			<description>
			Construct the color from an RGBA profile.
			</description>
		</method>
		<method name="Color"  >
			<argument index="0" name="r" type="float">
			</argument>
			<argument index="1" name="g" type="float">
			</argument>
			<argument index="2" name="b" type="float">
			</argument>
			<description>
			Construct the color from an RGBA profile.
			</description>
		</method>
		<method name="Color"  >
			<argument index="0" name="from" type="int">
			</argument>
			<description>
			Construct the color from an RGBA profile.
			</description>
		</method>
		<method name="Color"  >
			<argument index="0" name="from" type="String">
			</argument>
			<description>
			Construct the color from an RGBA profile.
			</description>
		</method>
	</methods>
	<members>
		<member name="r" type="float">
		</member>
		<member name="g" type="float">
		</member>
		<member name="b" type="float">
		</member>
		<member name="a" type="float">
		</member>
		<member name="h" type="float">
		</member>
		<member name="s" type="float">
		</member>
		<member name="v" type="float">
		</member>
	</members>
	<constants>
	</constants>
</class>
<class name="ColorArray" category="Built-In Types">
	<brief_description>
	Array of Colors
	</brief_description>
	<description>
	Array of Color, can only contains colors. Optimized for memory usage, cant fragment the memory.
	</description>
	<methods>
		<method name="get"  >
			<return type="Color">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			Get an index in the array.
			</description>
		</method>
		<method name="push_back"  >
			<argument index="0" name="color" type="Color">
			</argument>
			<description>
			Append a value to the array.
			</description>
		</method>
		<method name="resize"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			Resize the array.
			</description>
		</method>
		<method name="set"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="color" type="Color">
			</argument>
			<description>
			Set an index in the array.
			</description>
		</method>
		<method name="size"  >
			<return type="int">
			</return>
			<description>
			Return the array size.
			</description>
		</method>
		<method name="ColorArray"  >
			<argument index="0" name="from" type="Array">
			</argument>
			<description>
			Create from a generic array.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="ColorPicker" inherits="HBoxContainer" category="Core">
	<brief_description>
	Color picker control.
	</brief_description>
	<description>
	This is a simple color picker [Control]. It's useful for selecting a color from an RGB/RGBA colorspace.
	</description>
	<methods>
		<method name="set_color"  >
			<argument index="0" name="color" type="Color">
			</argument>
			<description>
			Select the current color.
			</description>
		</method>
		<method name="get_color" qualifiers="const" >
			<return type="Color">
			</return>
			<description>
			Return the current (edited) color.
			</description>
		</method>
		<method name="set_mode"  >
			<argument index="0" name="mode" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_mode" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_edit_alpha"  >
			<argument index="0" name="show" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_editing_alpha" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<signals>
		<signal name="color_changed">
			<argument index="0" name="color" type="Color">
			</argument>
			<description>
			Emitted when the color changes.
			</description>
		</signal>
	</signals>
	<constants>
	</constants>
	<theme_items>
		<theme_item name="value_width" type="int">
		</theme_item>
		<theme_item name="value_height" type="int">
		</theme_item>
		<theme_item name="color_width" type="int">
		</theme_item>
		<theme_item name="label_width" type="int">
		</theme_item>
		<theme_item name="hseparator" type="int">
		</theme_item>
	</theme_items>
</class>
<class name="ColorPickerButton" inherits="Button" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_color"  >
			<argument index="0" name="color" type="Color">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_color" qualifiers="const" >
			<return type="Color">
			</return>
			<description>
			</description>
		</method>
		<method name="set_edit_alpha"  >
			<argument index="0" name="show" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_editing_alpha" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<signals>
		<signal name="color_changed">
			<argument index="0" name="color" type="Color">
			</argument>
			<description>
			</description>
		</signal>
	</signals>
	<constants>
	</constants>
	<theme_items>
		<theme_item name="hseparation" type="int">
		</theme_item>
		<theme_item name="font_color_disabled" type="Color">
		</theme_item>
		<theme_item name="font_color" type="Color">
		</theme_item>
		<theme_item name="font_color_hover" type="Color">
		</theme_item>
		<theme_item name="font_color_pressed" type="Color">
		</theme_item>
		<theme_item name="font" type="Font">
		</theme_item>
		<theme_item name="hover" type="StyleBox">
		</theme_item>
		<theme_item name="pressed" type="StyleBox">
		</theme_item>
		<theme_item name="focus" type="StyleBox">
		</theme_item>
		<theme_item name="disabled" type="StyleBox">
		</theme_item>
		<theme_item name="normal" type="StyleBox">
		</theme_item>
	</theme_items>
</class>
<class name="ConcavePolygonShape" inherits="Shape" category="Core">
	<brief_description>
	Concave polygon shape.
	</brief_description>
	<description>
	Concave polygon shape resource, which can be set into a [PhysicsBody] or area."#10;           This shape is created by feeding a list of triangles.
	</description>
	<methods>
		<method name="set_faces"  >
			<argument index="0" name="faces" type="Vector3Array">
			</argument>
			<description>
			Set the faces (an array of triangles).
			</description>
		</method>
		<method name="get_faces" qualifiers="const" >
			<return type="Vector3Array">
			</return>
			<description>
			Return the faces (an array of triangles).
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="ConcavePolygonShape2D" inherits="Shape2D" category="Core">
	<brief_description>
	Concave polygon 2D shape resource for physics.
	</brief_description>
	<description>
	Concave polygon 2D shape resource for physics. It is made out of segments and is very optimal for complex polygonal concave collisions. It is really not advised to use for RigidBody nodes. A CollisionPolygon2D in convex decomposition mode (solids) or several convex objects are advised for that instead. Otherwise, a concave polygon 2D shape is better for static collisions.
	</description>
	<methods>
		<method name="set_segments"  >
			<argument index="0" name="segments" type="Vector2Array">
			</argument>
			<description>
			Set the array of segments.
			</description>
		</method>
		<method name="get_segments" qualifiers="const" >
			<return type="Vector2Array">
			</return>
			<description>
			Return the array of segments.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="ConeTwistJoint" inherits="Joint" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_param"  >
			<argument index="0" name="param" type="int">
			</argument>
			<argument index="1" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_param" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="param" type="int">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="PARAM_SWING_SPAN" value="0">
		</constant>
		<constant name="PARAM_TWIST_SPAN" value="1">
		</constant>
		<constant name="PARAM_BIAS" value="2">
		</constant>
		<constant name="PARAM_SOFTNESS" value="3">
		</constant>
		<constant name="PARAM_RELAXATION" value="4">
		</constant>
		<constant name="PARAM_MAX" value="5">
		</constant>
	</constants>
</class>
<class name="ConfigFile" inherits="Reference" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_value"  >
			<argument index="0" name="section" type="String">
			</argument>
			<argument index="1" name="key" type="String">
			</argument>
			<argument index="2" name="value" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_value" qualifiers="const" >
			<argument index="0" name="section" type="String">
			</argument>
			<argument index="1" name="key" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="has_section" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="section" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="has_section_key" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="section" type="String">
			</argument>
			<argument index="1" name="key" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_sections" qualifiers="const" >
			<return type="StringArray">
			</return>
			<description>
			</description>
		</method>
		<method name="get_section_keys" qualifiers="const" >
			<return type="StringArray">
			</return>
			<argument index="0" name="arg0" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="load"  >
			<return type="int">
			</return>
			<argument index="0" name="path" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="save"  >
			<return type="int">
			</return>
			<argument index="0" name="path" type="String">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="ConfirmationDialog" inherits="AcceptDialog" category="Core">
	<brief_description>
	Dialog for confirmation of actions.
	</brief_description>
	<description>
	Dialog for confirmation of actions. This dialog inherits from [AcceptDialog], but has by default an OK and Cancel buton (in host OS order).
	</description>
	<methods>
		<method name="get_cancel"  >
			<return type="Button">
			</return>
			<description>
			Return the cancel button.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Container" inherits="Control" category="Core">
	<brief_description>
	Base node for containers.
	</brief_description>
	<description>
	Base node for conainers. A [Container] contains other controls and automatically arranges them in a certain way.
	A Control can inherit this to reate custom container classes.
	</description>
	<methods>
		<method name="queue_sort"  >
			<description>
			Queue resort of the contained children. This is called automatically anyway, but can be called upon request.
			</description>
		</method>
		<method name="fit_child_in_rect"  >
			<argument index="0" name="child" type="Control">
			</argument>
			<argument index="1" name="rect" type="Rect2">
			</argument>
			<description>
			Fit a child control in a given rect. This is mainly a helper for creating custom container classes.
			</description>
		</method>
	</methods>
	<signals>
		<signal name="sort_children">
			<description>
			Enmitted when sorting the children is needed.
			</description>
		</signal>
	</signals>
	<constants>
		<constant name="NOTIFICATION_SORT_CHILDREN" value="50">
			Notification for when sorting the children, it must be obeyed immediately.
		</constant>
	</constants>
</class>
<class name="Control" inherits="CanvasItem" category="Core">
	<brief_description>
	Control is the base node for all the GUI components.
	</brief_description>
	<description>
	Control is the base class Node for all the GUI components. Every GUI component inherits from it, directly or indirectly. In this way, sections of the scene tree made of contiguous control nodes, become user interfaces.
	Controls are relative to the parent position and size by using anchors and margins. This ensures that they can adapt easily in most situation to changing dialog and screen sizes. When more flexibility is desired, [Container] derived nodes can be used.
	Anchors work by defining which margin do they follow, and a value relative to it. Allowed anchoring modes are ANCHOR_BEGIN, where the margin is relative to the top or left margins of the parent (in pixels), ANCHOR_END for the right and bottom margins of the parent and ANCHOR_RATIO, which is a ratio from 0 to 1 in the parent range.
	Input device events ([InputEvent]) are first sent to the root controls via the [method Node._input], which distribute it through the tree, then delivers them to the adequate one (under cursor or keyboard focus based) by calling [Node._input_event]. There is no need to enable input processing on controls to receive such events. To ensure that no one else will receive the event (not even [method Node._unhandled_input]), the control can accept it by calling [method accept_event].
	Only one control can hold the keyboard focus (receiving keyboard events), for that the control must define the focus mode with [method set_focus_mode]. Focus is lost when another control gains it, or the current focus owner is hidden.
	It is sometimes desired for a control to ignore mouse/pointer events. This is often the case when placing other controls on top of a button, in such cases. Calling [method set_ignore_mouse] enables this function.
	Finally, controls are skinned according to a [Theme]. Setting a [Theme] on a control will propagate all the skinning down the tree. Optionally, skinning can be overrided per each control by calling the add_*_override functions, or from the editor.
	</description>
	<methods>
		<method name="_input_event" qualifiers="virtual" >
			<argument index="0" name="event" type="InputEvent">
			</argument>
			<description>
			Called when an input event reaches the control.
			</description>
		</method>
		<method name="can_drop_data" qualifiers="virtual" >
			<return type="bool">
			</return>
			<argument index="0" name="pos" type="Vector2">
			</argument>
			<argument index="1" name="data" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="drop_data" qualifiers="virtual" >
			<argument index="0" name="pos" type="Vector2">
			</argument>
			<argument index="1" name="data" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_drag_data" qualifiers="virtual" >
			<return type="Object">
			</return>
			<argument index="0" name="pos" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_minimum_size" qualifiers="virtual" >
			<return type="Vector2">
			</return>
			<description>
			Return the minimum size this Control can shrink to. A control will never be displayed or resized smaller than its minimum size.
			</description>
		</method>
		<method name="accept_event"  >
			<description>
			Handles the event, no other control will receive it and it will not be sent to nodes waiting on [method Node._unhandled_input] or [method Node._unhandled_key_input].
			</description>
		</method>
		<method name="get_minimum_size" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			Return the minimum size this Control can shrink to. A control will never be displayed or resized smaller than its minimum size.
			</description>
		</method>
		<method name="get_combined_minimum_size" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="is_window" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return wether this control is a [i]window[/i]. Controls are considered windows when their parent [Node] is not a Control.
			</description>
		</method>
		<method name="get_window" qualifiers="const" >
			<return type="Object">
			</return>
			<description>
			Return the [i]window[/i] for this control, ascending the scene tree (see [method is_window]).
			</description>
		</method>
		<method name="set_anchor"  >
			<argument index="0" name="margin" type="int">
			</argument>
			<argument index="1" name="anchor_mode" type="int">
			</argument>
			<description>
			Change the anchor (ANCHOR_BEGIN, ANCHOR_END, ANCHOR_RATIO) type for a margin (MARGIN_LEFT, MARGIN_TOP, MARGIN_RIGHT, MARGIN_BOTTOM). Changing the anchor mode converts the current margin offset from the previos anchor mode to the new one, so margin offsets ([method set_margin]) must be done after setting anchors, or at the same time ([method set_anchor_and_margin]).
			</description>
		</method>
		<method name="get_anchor" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="margin" type="int">
			</argument>
			<description>
			Return the anchor type (ANCHOR_BEGIN, ANCHOR_END, ANCHOR_RATIO) for a given margin (MARGIN_LEFT, MARGIN_TOP, MARGIN_RIGHT, MARGIN_BOTTOM).
			</description>
		</method>
		<method name="set_margin"  >
			<argument index="0" name="margin" type="int">
			</argument>
			<argument index="1" name="offset" type="float">
			</argument>
			<description>
			Set a margin offset. Margin can be one of (MARGIN_LEFT, MARGIN_TOP, MARGIN_RIGHT, MARGIN_BOTTOM). Offset value being set depends on the anchor mode.
			</description>
		</method>
		<method name="set_anchor_and_margin"  >
			<argument index="0" name="margin" type="int">
			</argument>
			<argument index="1" name="anchor_mode" type="int">
			</argument>
			<argument index="2" name="offset" type="float">
			</argument>
			<description>
			Change the anchor (ANCHOR_BEGIN, ANCHOR_END, ANCHOR_RATIO) type for a margin (MARGIN_LEFT, MARGIN_TOP, MARGIN_RIGHT, MARGIN_BOTTOM), and also set its offset. This is a helper (see [method set_anchor] and [method set_margin]).
			</description>
		</method>
		<method name="set_begin"  >
			<argument index="0" name="pos" type="Vector2">
			</argument>
			<description>
			Sets MARGIN_LEFT and MARGIN_TOP at the same time. This is a helper (see [method set_margin]).
			</description>
		</method>
		<method name="set_end"  >
			<argument index="0" name="pos" type="Vector2">
			</argument>
			<description>
			Sets MARGIN_RIGHT and MARGIN_BOTTOM at the same time. This is a helper (see [method set_margin]).
			</description>
		</method>
		<method name="set_pos"  >
			<argument index="0" name="pos" type="Vector2">
			</argument>
			<description>
			Move the Control to a new position, relative to the top-left corner of the parent Control, changing all margins if needed and without changing current anchor mode. This is a helper (see [method set_margin]).
			</description>
		</method>
		<method name="set_size"  >
			<argument index="0" name="size" type="Vector2">
			</argument>
			<description>
			Changes MARGIN_RIGHT and MARGIN_BOTTOM to fit a given size. This is a helper (see [method set_margin]).
			</description>
		</method>
		<method name="set_custom_minimum_size"  >
			<argument index="0" name="size" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_global_pos"  >
			<argument index="0" name="pos" type="Vector2">
			</argument>
			<description>
			Move the Control to a new position, relative to the top-left corner of the [i]window[/i] Control, and without changing current anchor mode. (see [method set_margin]).
			</description>
		</method>
		<method name="get_margin" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="margin" type="int">
			</argument>
			<description>
			Return a margin offset. Margin can be one of (MARGIN_LEFT, MARGIN_TOP, MARGIN_RIGHT, MARGIN_BOTTOM). Offset value being returned depends on the anchor mode.
			</description>
		</method>
		<method name="get_begin" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="get_end" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			Returns MARGIN_LEFT and MARGIN_TOP at the same time. This is a helper (see [method set_margin]).
			</description>
		</method>
		<method name="get_pos" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			Returns the Control position, relative to the top-left corner of the parent Control and independly of the anchor mode.
			</description>
		</method>
		<method name="get_size" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			Returns the size of the Control, computed from all margins, however the size returned will [b]never be smaller than the minimum size reported by [method get_minimum_size][/b]. This means that even if end position of the Control rectangle is smaller than the begin position, the Control will still display and interact correctly. (see description, [method get_minimum_size], [method set_margin], [method set_anchor]).
			</description>
		</method>
		<method name="get_custom_minimum_size" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="get_parent_area_size" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="get_global_pos" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			Returns the Control position, relative to the top-left corner of the parent Control and independent of the anchor mode.
			</description>
		</method>
		<method name="get_rect" qualifiers="const" >
			<return type="Rect2">
			</return>
			<description>
			Return position and size of the Control, relative to the top-left corner of the parent Control. This is a helper (see [method get_pos],[method get_size]).
			</description>
		</method>
		<method name="get_global_rect" qualifiers="const" >
			<return type="Rect2">
			</return>
			<description>
			Return position and size of the Control, relative to the top-left corner of the [i]window[/i] Control. This is a helper (see [method get_global_pos],[method get_size]).
			</description>
		</method>
		<method name="set_area_as_parent_rect"  >
			<argument index="0" name="margin" type="int" default="0">
			</argument>
			<description>
			Change all margins and anchors, so this Control always takes up the same area as the parent Control. This is a helper (see [method set_anchor],[method set_margin]).
			</description>
		</method>
		<method name="show_modal"  >
			<argument index="0" name="exclusive" type="bool" default="false">
			</argument>
			<description>
			Display a Control as modal. Control must be a subwindow (see [method set_as_subwindow]). Modal controls capture the input signals until closed or the area outside them is accessed. When a modal control loses focus, or the ESC key is pressed, they automatically hide. Modal controls are used extensively for popup dialogs and menus.
			</description>
		</method>
		<method name="set_focus_mode"  >
			<argument index="0" name="mode" type="int">
			</argument>
			<description>
			Set the focus access mode for the control (FOCUS_NONE, FOCUS_CLICK, FOCUS_ALL). Only one Control can be focused at the same time, and it will receive keyboard signals.
			</description>
		</method>
		<method name="has_focus" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return wether the Control is the current focused control (see [method set_focus_mode]).
			</description>
		</method>
		<method name="grab_focus"  >
			<description>
			Steal the focus from another control and become the focused control (see [method set_focus_mode]).
			</description>
		</method>
		<method name="release_focus"  >
			<description>
			Give up the focus, no other control will be able to receive keyboard input.
			</description>
		</method>
		<method name="get_focus_owner" qualifiers="const" >
			<return type="Control">
			</return>
			<description>
			Return which control is owning the keyboard focus, or null if no one.
			</description>
		</method>
		<method name="set_h_size_flags"  >
			<argument index="0" name="flags" type="int">
			</argument>
			<description>
			Hint for containers, set horizontal positioning flags.
			</description>
		</method>
		<method name="get_h_size_flags" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Hint for containers, return horizontal positioning flags.
			</description>
		</method>
		<method name="set_stretch_ratio"  >
			<argument index="0" name="ratio" type="float">
			</argument>
			<description>
			Hint for containers, set the stretch ratio. This value is relative to other stretch ratio, so if this control has 2 and another has 1, this one will be twice as big.
			</description>
		</method>
		<method name="get_stretch_ratio" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Hint for containers, return the stretch ratio. This value is relative to other stretch ratio, so if this control has 2 and another has 1, this one will be twice as big.
			</description>
		</method>
		<method name="set_v_size_flags"  >
			<argument index="0" name="flags" type="int">
			</argument>
			<description>
			Hint for containers, set vertical positioning flags.
			</description>
		</method>
		<method name="get_v_size_flags" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Hint for containers, return vertical positioning flags.
			</description>
		</method>
		<method name="set_theme"  >
			<argument index="0" name="theme" type="Theme">
			</argument>
			<description>
			Override whole the [Theme] for this Control and all its children controls.
			</description>
		</method>
		<method name="get_theme" qualifiers="const" >
			<return type="Theme">
			</return>
			<description>
			Return a [Theme] override, if one exists (see [method set_theme]).
			</description>
		</method>
		<method name="add_icon_override"  >
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="texture" type="Texture">
			</argument>
			<description>
			Override a single icon ([Texture]) in the theme of this Control. If texture is empty, override is cleared.
			</description>
		</method>
		<method name="add_style_override"  >
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="stylebox" type="StyleBox">
			</argument>
			<description>
			Override a single stylebox ([Stylebox]) in the theme of this Control. If stylebox is empty, override is cleared.
			</description>
		</method>
		<method name="add_font_override"  >
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="font" type="Font">
			</argument>
			<description>
			Override a single font (font) in the theme of this Control. If font is empty, override is cleared.
			</description>
		</method>
		<method name="add_color_override"  >
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="color" type="Color">
			</argument>
			<description>
			</description>
		</method>
		<method name="add_constant_override"  >
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="constant" type="int">
			</argument>
			<description>
			Override a single constant (integer) in the theme of this Control. If constant equals Theme.INVALID_CONSTANT, override is cleared.
			</description>
		</method>
		<method name="get_icon" qualifiers="const" >
			<return type="Texture">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="type" type="String" default="&quot;&quot;">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_stylebox" qualifiers="const" >
			<return type="StyleBox">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="type" type="String" default="&quot;&quot;">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_font" qualifiers="const" >
			<return type="Font">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="type" type="String" default="&quot;&quot;">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_color" qualifiers="const" >
			<return type="Color">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="type" type="String" default="&quot;&quot;">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_constant" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="type" type="String" default="&quot;&quot;">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_parent_control" qualifiers="const" >
			<return type="Control">
			</return>
			<description>
			</description>
		</method>
		<method name="set_tooltip"  >
			<argument index="0" name="tooltip" type="String">
			</argument>
			<description>
			Set a tooltip, which will appear when the cursor is resting over this control.
			</description>
		</method>
		<method name="get_tooltip" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="atpos" type="Vector2" default="Vector2(0,0)">
			</argument>
			<description>
			Return the tooltip, which will appear when the cursor is resting over this control.
			</description>
		</method>
		<method name="set_default_cursor_shape"  >
			<argument index="0" name="shape" type="int">
			</argument>
			<description>
			Set the default cursor shape for this control. See enum CURSOR_* for the list of shapes.
			</description>
		</method>
		<method name="get_default_cursor_shape" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the default cursor shape for this control. See enum CURSOR_* for the list of shapes.
			</description>
		</method>
		<method name="get_cursor_shape" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="pos" type="Vector2" default="Vector2(0,0)">
			</argument>
			<description>
			Return the cursor shape at a certain position in the control.
			</description>
		</method>
		<method name="set_focus_neighbour"  >
			<argument index="0" name="margin" type="int">
			</argument>
			<argument index="1" name="neighbour" type="NodePath">
			</argument>
			<description>
			Force a neighbour for moving the input focus to. When pressing TAB or directional/joypad directions focus is moved to the next control in that direction. However, the neighbour to move to can be forced with this function.
			</description>
		</method>
		<method name="get_focus_neighbour" qualifiers="const" >
			<return type="NodePath">
			</return>
			<argument index="0" name="margin" type="int">
			</argument>
			<description>
			Return the forced neighbour for moving the input focus to. When pressing TAB or directional/joypad directions focus is moved to the next control in that direction. However, the neighbour to move to can be forced with this function.
			</description>
		</method>
		<method name="set_ignore_mouse"  >
			<argument index="0" name="ignore" type="bool">
			</argument>
			<description>
			Ignore mouse events on this control (even touchpad events send mouse events).
			</description>
		</method>
		<method name="is_ignoring_mouse" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return if the control is ignoring mouse events (even touchpad events send mouse events).
			</description>
		</method>
		<method name="force_drag"  >
			<argument index="0" name="data" type="var">
			</argument>
			<argument index="1" name="preview" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_stop_mouse"  >
			<argument index="0" name="stop" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_stopping_mouse" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="grab_click_focus"  >
			<description>
			</description>
		</method>
		<method name="set_drag_preview"  >
			<argument index="0" name="control" type="Control">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<signals>
		<signal name="focus_enter">
			<description>
			Emitted when keyboard focus is gained.
			</description>
		</signal>
		<signal name="mouse_enter">
			<description>
			Emitted when the mouse enters the control area.
			</description>
		</signal>
		<signal name="resized">
			<description>
			Emitted when the control changed size.
			</description>
		</signal>
		<signal name="minimum_size_changed">
			<description>
			Emitted when the minimum size of the control changed.
			</description>
		</signal>
		<signal name="size_flags_changed">
			<description>
			Emitted when the size flags changed.
			</description>
		</signal>
		<signal name="focus_exit">
			<description>
			Emitted when the keyboard focus is lost.
			</description>
		</signal>
		<signal name="input_event">
			<description>
			Emitted when an input event is received. Connecting in realtime is recommended for accepting the events.
			</description>
		</signal>
		<signal name="mouse_exit">
			<description>
			Emitted when the mouse left the control area.
			</description>
		</signal>
	</signals>
	<constants>
		<constant name="ANCHOR_BEGIN" value="0">
			X is relative to MARGIN_LEFT,  Y is relative to MARGIN_TOP,
		</constant>
		<constant name="ANCHOR_END" value="1">
			X is relative to -MARGIN_RIGHT,  Y is relative to -MARGIN_BOTTOM,
		</constant>
		<constant name="ANCHOR_RATIO" value="2">
			X and Y are a ratio (0 to 1) relative to the parent size 0 is left/top, 1 is right/bottom.
		</constant>
		<constant name="ANCHOR_CENTER" value="3">
		</constant>
		<constant name="FOCUS_NONE" value="0">
			Control can't acquire focus.
		</constant>
		<constant name="FOCUS_CLICK" value="1">
			Control can acquire focus only if clicked.
		</constant>
		<constant name="FOCUS_ALL" value="2">
			Control can acquire focus if clicked, or by pressing TAB/Directionals in the keyboard from another Control.
		</constant>
		<constant name="NOTIFICATION_RESIZED" value="40">
			Control changed size (get_size() reports the new size).
		</constant>
		<constant name="NOTIFICATION_MOUSE_ENTER" value="41">
			Mouse pointer entered the area of the Control.
		</constant>
		<constant name="NOTIFICATION_MOUSE_EXIT" value="42">
			Mouse pointer exited the area of the Control.
		</constant>
		<constant name="NOTIFICATION_FOCUS_ENTER" value="43">
			Control gained focus.
		</constant>
		<constant name="NOTIFICATION_FOCUS_EXIT" value="44">
			Control lost focus.
		</constant>
		<constant name="NOTIFICATION_THEME_CHANGED" value="45">
			Theme changed. Redrawing is desired.
		</constant>
		<constant name="NOTIFICATION_MODAL_CLOSE" value="46">
			Modal control was closed.
		</constant>
		<constant name="CURSOR_ARROW" value="0">
		</constant>
		<constant name="CURSOR_IBEAM" value="1">
		</constant>
		<constant name="CURSOR_POINTING_HAND" value="2">
		</constant>
		<constant name="CURSOR_CROSS" value="3">
		</constant>
		<constant name="CURSOR_WAIT" value="4">
		</constant>
		<constant name="CURSOR_BUSY" value="5">
		</constant>
		<constant name="CURSOR_DRAG" value="6">
		</constant>
		<constant name="CURSOR_CAN_DROP" value="7">
		</constant>
		<constant name="CURSOR_FORBIDDEN" value="8">
		</constant>
		<constant name="CURSOR_VSIZE" value="9">
		</constant>
		<constant name="CURSOR_HSIZE" value="10">
		</constant>
		<constant name="CURSOR_BDIAGSIZE" value="11">
		</constant>
		<constant name="CURSOR_FDIAGSIZE" value="12">
		</constant>
		<constant name="CURSOR_MOVE" value="13">
		</constant>
		<constant name="CURSOR_VSPLIT" value="14">
		</constant>
		<constant name="CURSOR_HSPLIT" value="15">
		</constant>
		<constant name="CURSOR_HELP" value="16">
		</constant>
		<constant name="SIZE_EXPAND" value="1">
		</constant>
		<constant name="SIZE_FILL" value="2">
		</constant>
		<constant name="SIZE_EXPAND_FILL" value="3">
		</constant>
	</constants>
</class>
<class name="ConvexPolygonShape" inherits="Shape" category="Core">
	<brief_description>
	Convex Polygon Shape
	</brief_description>
	<description>
	Convex polygon shape resource, which can be set into a [PhysicsBody] or area.
	</description>
	<methods>
		<method name="set_points"  >
			<argument index="0" name="points" type="Vector3Array">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_points" qualifiers="const" >
			<return type="Vector3Array">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="ConvexPolygonShape2D" inherits="Shape2D" category="Core">
	<brief_description>
	Convex Polygon Shape for 2D physics
	</brief_description>
	<description>
	Convex Polygon Shape for 2D physics.
	</description>
	<methods>
		<method name="set_point_cloud"  >
			<argument index="0" name="point_cloud" type="Vector2Array">
			</argument>
			<description>
			Create the point set from a point cloud. The resulting convex hull will be set as the shape.
			</description>
		</method>
		<method name="set_points"  >
			<argument index="0" name="points" type="Vector2Array">
			</argument>
			<description>
			Set a list of points in either clockwise or counter clockwise order, forming a convex polygon.
			</description>
		</method>
		<method name="get_points" qualifiers="const" >
			<return type="Vector2Array">
			</return>
			<description>
			Return a list of points in either clockwise or counter clockwise order, forming a convex polygon.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="CubeMap" inherits="Resource" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="get_width" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_height" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_rid" qualifiers="const" >
			<return type="RID">
			</return>
			<description>
			</description>
		</method>
		<method name="set_flags"  >
			<argument index="0" name="flags" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_flags" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_side"  >
			<argument index="0" name="side" type="int">
			</argument>
			<argument index="1" name="image" type="Image">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_side" qualifiers="const" >
			<return type="Image">
			</return>
			<argument index="0" name="side" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_storage"  >
			<argument index="0" name="mode" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_storage" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_lossy_storage_quality"  >
			<argument index="0" name="quality" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_lossy_storage_quality" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="STORAGE_RAW" value="0">
		</constant>
		<constant name="STORAGE_COMPRESS_LOSSY" value="1">
		</constant>
		<constant name="STORAGE_COMPRESS_LOSSLESS" value="2">
		</constant>
		<constant name="SIDE_LEFT" value="0">
		</constant>
		<constant name="SIDE_RIGHT" value="1">
		</constant>
		<constant name="SIDE_BOTTOM" value="2">
		</constant>
		<constant name="SIDE_TOP" value="3">
		</constant>
		<constant name="SIDE_FRONT" value="4">
		</constant>
		<constant name="SIDE_BACK" value="5">
		</constant>
		<constant name="FLAG_MIPMAPS" value="1">
		</constant>
		<constant name="FLAG_REPEAT" value="2">
		</constant>
		<constant name="FLAG_FILTER" value="4">
		</constant>
		<constant name="FLAGS_DEFAULT" value="7">
		</constant>
	</constants>
</class>
<class name="Curve2D" inherits="Resource" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="get_point_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="add_point"  >
			<argument index="0" name="pos" type="Vector2">
			</argument>
			<argument index="1" name="in" type="Vector2" default="Vector2(0,0)">
			</argument>
			<argument index="2" name="out" type="Vector2" default="Vector2(0,0)">
			</argument>
			<argument index="3" name="atpos" type="int" default="-1">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_point_pos"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="pos" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_point_pos" qualifiers="const" >
			<return type="Vector2">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_point_in"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="pos" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_point_in" qualifiers="const" >
			<return type="Vector2">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_point_out"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="pos" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_point_out" qualifiers="const" >
			<return type="Vector2">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="remove_point"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="interpolate" qualifiers="const" >
			<return type="Vector2">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="t" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="interpolatef" qualifiers="const" >
			<return type="Vector2">
			</return>
			<argument index="0" name="fofs" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_bake_interval"  >
			<argument index="0" name="distance" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_bake_interval" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_baked_length" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="interpolate_baked" qualifiers="const" >
			<return type="Vector2">
			</return>
			<argument index="0" name="offset" type="float">
			</argument>
			<argument index="1" name="cubic" type="bool" default="false">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_baked_points" qualifiers="const" >
			<return type="Vector2Array">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Curve3D" inherits="Resource" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="get_point_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="add_point"  >
			<argument index="0" name="pos" type="Vector3">
			</argument>
			<argument index="1" name="in" type="Vector3" default="Vector3(0, 0, 0)">
			</argument>
			<argument index="2" name="out" type="Vector3" default="Vector3(0, 0, 0)">
			</argument>
			<argument index="3" name="atpos" type="int" default="-1">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_point_pos"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="pos" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_point_pos" qualifiers="const" >
			<return type="Vector3">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_point_tilt"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="tilt" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_point_tilt" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_point_in"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="pos" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_point_in" qualifiers="const" >
			<return type="Vector3">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_point_out"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="pos" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_point_out" qualifiers="const" >
			<return type="Vector3">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="remove_point"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="interpolate" qualifiers="const" >
			<return type="Vector3">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="t" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="interpolatef" qualifiers="const" >
			<return type="Vector3">
			</return>
			<argument index="0" name="fofs" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_bake_interval"  >
			<argument index="0" name="distance" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_bake_interval" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_baked_length" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="interpolate_baked" qualifiers="const" >
			<return type="Vector3">
			</return>
			<argument index="0" name="offset" type="float">
			</argument>
			<argument index="1" name="cubic" type="bool" default="false">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_baked_points" qualifiers="const" >
			<return type="Vector3Array">
			</return>
			<description>
			</description>
		</method>
		<method name="get_baked_tilts" qualifiers="const" >
			<return type="RealArray">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="DampedSpringJoint2D" inherits="Joint2D" category="Core">
	<brief_description>
	Damped sprint constraint for 2D physics.
	</brief_description>
	<description>
	Damped sprint constraint for 2D physics. This resembles a sprint joint that always want to go back to a given length.
	</description>
	<methods>
		<method name="set_length"  >
			<argument index="0" name="length" type="float">
			</argument>
			<description>
			Set the maximum length of the sprint joint.
			</description>
		</method>
		<method name="get_length" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the maximum length of the sprint joint.
			</description>
		</method>
		<method name="set_rest_length"  >
			<argument index="0" name="rest_length" type="float">
			</argument>
			<description>
			Set the resting length of the sprint joint. The joint will always try to go to back this length when pulled apart.
			</description>
		</method>
		<method name="get_rest_length" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the resting length of the sprint joint. The joint will always try to go to back this length when pulled apart.
			</description>
		</method>
		<method name="set_stiffness"  >
			<argument index="0" name="stiffness" type="float">
			</argument>
			<description>
			Set the stiffness of the spring joint.
			</description>
		</method>
		<method name="get_stiffness" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the stiffness of the spring joint.
			</description>
		</method>
		<method name="set_damping"  >
			<argument index="0" name="damping" type="float">
			</argument>
			<description>
			Set the damping of the spring joint.
			</description>
		</method>
		<method name="get_damping" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the damping of the spring joint.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Dictionary" category="Built-In Types">
	<brief_description>
	Dictionary type.
	</brief_description>
	<description>
	Dictionary type. Associative container which contains values referenced by unique keys. Dictionaries are always passed by reference.
	</description>
	<methods>
		<method name="clear"  >
			<description>
			Clear the dictionary, removing all key/value pairs.
			</description>
		</method>
		<method name="empty"  >
			<return type="bool">
			</return>
			<description>
			Return true if the dictionary is empty.
			</description>
		</method>
		<method name="erase"  >
			<argument index="0" name="value" type="var">
			</argument>
			<description>
			Erase a dictionary key/value pair by key.
			</description>
		</method>
		<method name="has"  >
			<return type="bool">
			</return>
			<argument index="0" name="value" type="var">
			</argument>
			<description>
			Return true if the dictionary has a given key.
			</description>
		</method>
		<method name="hash"  >
			<return type="int">
			</return>
			<description>
			Return a hashed integer value representing the dictionary contents.
			</description>
		</method>
		<method name="keys"  >
			<return type="Array">
			</return>
			<description>
			Return the list of keys in the dictionary.
			</description>
		</method>
		<method name="parse_json"  >
			<return type="int">
			</return>
			<argument index="0" name="json" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="size"  >
			<return type="int">
			</return>
			<description>
			Return the size of the dictionary (in pairs).
			</description>
		</method>
		<method name="to_json"  >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="DirectionalLight" inherits="Light" category="Core">
	<brief_description>
	Directional Light, such as the Sun or the Moon.
	</brief_description>
	<description>
	A DirectionalLight is a type of [Light] node that emits light constantly in one direction (the negative z axis of the node). It is used lights with strong intensity that are located far away from the scene to model sunlight or moonlight. The worldpace location of the DirectionalLight transform (origin) is ignored, only the basis is used do determine light direction.
	</description>
	<methods>
		<method name="set_shadow_mode"  >
			<argument index="0" name="mode" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_shadow_mode" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_shadow_param"  >
			<argument index="0" name="param" type="int">
			</argument>
			<argument index="1" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_shadow_param" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="param" type="int">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="SHADOW_ORTHOGONAL" value="0">
		</constant>
		<constant name="SHADOW_PERSPECTIVE" value="1">
		</constant>
		<constant name="SHADOW_PARALLEL_2_SPLITS" value="2">
		</constant>
		<constant name="SHADOW_PARALLEL_4_SPLITS" value="3">
		</constant>
		<constant name="SHADOW_PARAM_MAX_DISTANCE" value="0">
		</constant>
		<constant name="SHADOW_PARAM_PSSM_SPLIT_WEIGHT" value="1">
		</constant>
		<constant name="SHADOW_PARAM_PSSM_ZOFFSET_SCALE" value="2">
		</constant>
	</constants>
</class>
<class name="Directory" inherits="Reference" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="open"  >
			<return type="int">
			</return>
			<argument index="0" name="path" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="list_dir_begin"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="get_next"  >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="current_is_dir" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="list_dir_end"  >
			<description>
			</description>
		</method>
		<method name="get_drive_count"  >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_drive"  >
			<return type="String">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="change_dir"  >
			<return type="int">
			</return>
			<argument index="0" name="todir" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_current_dir"  >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="make_dir"  >
			<return type="int">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="make_dir_recursive"  >
			<return type="int">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="file_exists"  >
			<return type="bool">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="dir_exists"  >
			<return type="bool">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_space_left"  >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="copy"  >
			<return type="int">
			</return>
			<argument index="0" name="from" type="String">
			</argument>
			<argument index="1" name="to" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="rename"  >
			<return type="int">
			</return>
			<argument index="0" name="from" type="String">
			</argument>
			<argument index="1" name="to" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="remove"  >
			<return type="int">
			</return>
			<argument index="0" name="file" type="String">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="EditorImportPlugin" inherits="Reference" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="custom_export" qualifiers="virtual" >
			<return type="RawArray">
			</return>
			<argument index="0" name="path" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_name" qualifiers="virtual" >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="get_visible_name" qualifiers="virtual" >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="import" qualifiers="virtual" >
			<return type="int">
			</return>
			<argument index="0" name="path" type="String">
			</argument>
			<argument index="1" name="from" type="ResourceImportMetaData">
			</argument>
			<description>
			</description>
		</method>
		<method name="import_dialog" qualifiers="virtual" >
			<argument index="0" name="from" type="String">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="EditorPlugin" inherits="Node" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="apply_changes" qualifiers="virtual" >
			<description>
			</description>
		</method>
		<method name="clear" qualifiers="virtual" >
			<description>
			</description>
		</method>
		<method name="edit" qualifiers="virtual" >
			<argument index="0" name="object" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="forward_input_event" qualifiers="virtual" >
			<return type="bool">
			</return>
			<argument index="0" name="event" type="InputEvent">
			</argument>
			<description>
			</description>
		</method>
		<method name="forward_spatial_input_event" qualifiers="virtual" >
			<return type="bool">
			</return>
			<argument index="0" name="camera" type="Camera">
			</argument>
			<argument index="1" name="event" type="InputEvent">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_breakpoints" qualifiers="virtual" >
			<return type="StringArray">
			</return>
			<description>
			</description>
		</method>
		<method name="get_name" qualifiers="virtual" >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="get_state" qualifiers="virtual" >
			<return type="Dictionary">
			</return>
			<description>
			</description>
		</method>
		<method name="handles" qualifiers="virtual" >
			<return type="bool">
			</return>
			<argument index="0" name="object" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="has_main_screen" qualifiers="virtual" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="make_visible" qualifiers="virtual" >
			<argument index="0" name="visible" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_state" qualifiers="virtual" >
			<argument index="0" name="state" type="Dictionary">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_undo_redo"  >
			<return type="Object">
			</return>
			<description>
			</description>
		</method>
		<method name="add_custom_control"  >
			<argument index="0" name="container" type="int">
			</argument>
			<argument index="1" name="control" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="add_custom_type"  >
			<argument index="0" name="type" type="String">
			</argument>
			<argument index="1" name="base" type="String">
			</argument>
			<argument index="2" name="script" type="Script">
			</argument>
			<argument index="3" name="icon" type="Texture">
			</argument>
			<description>
			</description>
		</method>
		<method name="remove_custom_type"  >
			<argument index="0" name="type" type="String">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="CONTAINER_TOOLBAR" value="0">
		</constant>
		<constant name="CONTAINER_SPATIAL_EDITOR_MENU" value="1">
		</constant>
		<constant name="CONTAINER_SPATIAL_EDITOR_SIDE" value="2">
		</constant>
		<constant name="CONTAINER_SPATIAL_EDITOR_BOTTOM" value="3">
		</constant>
		<constant name="CONTAINER_CANVAS_EDITOR_MENU" value="4">
		</constant>
		<constant name="CONTAINER_CANVAS_EDITOR_SIDE" value="5">
		</constant>
	</constants>
</class>
<class name="EditorScenePostImport" inherits="Reference" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="post_import" qualifiers="virtual" >
			<argument index="0" name="scene" type="Object">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="EditorScript" inherits="Reference" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="_run" qualifiers="virtual" >
			<description>
			</description>
		</method>
		<method name="add_root_node"  >
			<argument index="0" name="node" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_scene"  >
			<return type="Object">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="EmptyControl" inherits="Control" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_minsize"  >
			<argument index="0" name="minsize" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_minsize" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Environment" inherits="Resource" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_background"  >
			<argument index="0" name="bgmode" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_background" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_background_param"  >
			<argument index="0" name="param" type="int">
			</argument>
			<argument index="1" name="value" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_background_param" qualifiers="const" >
			<argument index="0" name="param" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_enable_fx"  >
			<argument index="0" name="effect" type="int">
			</argument>
			<argument index="1" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_fx_enabled" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="effect" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="fx_set_param"  >
			<argument index="0" name="param" type="int">
			</argument>
			<argument index="1" name="value" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="fx_get_param" qualifiers="const" >
			<argument index="0" name="param" type="int">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="BG_KEEP" value="0">
		</constant>
		<constant name="BG_DEFAULT_COLOR" value="1">
		</constant>
		<constant name="BG_COLOR" value="2">
		</constant>
		<constant name="BG_TEXTURE" value="3">
		</constant>
		<constant name="BG_CUBEMAP" value="4">
		</constant>
		<constant name="BG_TEXTURE_RGBE" value="5">
		</constant>
		<constant name="BG_CUBEMAP_RGBE" value="6">
		</constant>
		<constant name="BG_MAX" value="7">
		</constant>
		<constant name="BG_PARAM_COLOR" value="0">
		</constant>
		<constant name="BG_PARAM_TEXTURE" value="1">
		</constant>
		<constant name="BG_PARAM_CUBEMAP" value="2">
		</constant>
		<constant name="BG_PARAM_ENERGY" value="3">
		</constant>
		<constant name="BG_PARAM_GLOW" value="5">
		</constant>
		<constant name="BG_PARAM_MAX" value="6">
		</constant>
		<constant name="FX_AMBIENT_LIGHT" value="0">
		</constant>
		<constant name="FX_FXAA" value="1">
		</constant>
		<constant name="FX_GLOW" value="2">
		</constant>
		<constant name="FX_DOF_BLUR" value="3">
		</constant>
		<constant name="FX_HDR" value="4">
		</constant>
		<constant name="FX_FOG" value="5">
		</constant>
		<constant name="FX_BCS" value="6">
		</constant>
		<constant name="FX_SRGB" value="7">
		</constant>
		<constant name="FX_MAX" value="8">
		</constant>
		<constant name="FX_BLUR_BLEND_MODE_ADDITIVE" value="0">
		</constant>
		<constant name="FX_BLUR_BLEND_MODE_SCREEN" value="1">
		</constant>
		<constant name="FX_BLUR_BLEND_MODE_SOFTLIGHT" value="2">
		</constant>
		<constant name="FX_HDR_TONE_MAPPER_LINEAR" value="0">
		</constant>
		<constant name="FX_HDR_TONE_MAPPER_LOG" value="1">
		</constant>
		<constant name="FX_HDR_TONE_MAPPER_REINHARDT" value="2">
		</constant>
		<constant name="FX_HDR_TONE_MAPPER_REINHARDT_AUTOWHITE" value="3">
		</constant>
		<constant name="FX_PARAM_AMBIENT_LIGHT_COLOR" value="0">
		</constant>
		<constant name="FX_PARAM_AMBIENT_LIGHT_ENERGY" value="1">
		</constant>
		<constant name="FX_PARAM_GLOW_BLUR_PASSES" value="2">
		</constant>
		<constant name="FX_PARAM_GLOW_BLUR_SCALE" value="3">
		</constant>
		<constant name="FX_PARAM_GLOW_BLUR_STRENGTH" value="4">
		</constant>
		<constant name="FX_PARAM_GLOW_BLUR_BLEND_MODE" value="5">
		</constant>
		<constant name="FX_PARAM_GLOW_BLOOM" value="6">
		</constant>
		<constant name="FX_PARAM_GLOW_BLOOM_TRESHOLD" value="7">
		</constant>
		<constant name="FX_PARAM_DOF_BLUR_PASSES" value="8">
		</constant>
		<constant name="FX_PARAM_DOF_BLUR_BEGIN" value="9">
		</constant>
		<constant name="FX_PARAM_DOF_BLUR_RANGE" value="10">
		</constant>
		<constant name="FX_PARAM_HDR_TONEMAPPER" value="11">
		</constant>
		<constant name="FX_PARAM_HDR_EXPOSURE" value="12">
		</constant>
		<constant name="FX_PARAM_HDR_WHITE" value="13">
		</constant>
		<constant name="FX_PARAM_HDR_GLOW_TRESHOLD" value="14">
		</constant>
		<constant name="FX_PARAM_HDR_GLOW_SCALE" value="15">
		</constant>
		<constant name="FX_PARAM_HDR_MIN_LUMINANCE" value="16">
		</constant>
		<constant name="FX_PARAM_HDR_MAX_LUMINANCE" value="17">
		</constant>
		<constant name="FX_PARAM_HDR_EXPOSURE_ADJUST_SPEED" value="18">
		</constant>
		<constant name="FX_PARAM_FOG_BEGIN" value="19">
		</constant>
		<constant name="FX_PARAM_FOG_ATTENUATION" value="22">
		</constant>
		<constant name="FX_PARAM_FOG_BEGIN_COLOR" value="20">
		</constant>
		<constant name="FX_PARAM_FOG_END_COLOR" value="21">
		</constant>
		<constant name="FX_PARAM_FOG_BG" value="23">
		</constant>
		<constant name="FX_PARAM_BCS_BRIGHTNESS" value="24">
		</constant>
		<constant name="FX_PARAM_BCS_CONTRAST" value="25">
		</constant>
		<constant name="FX_PARAM_BCS_SATURATION" value="26">
		</constant>
		<constant name="FX_PARAM_MAX" value="27">
		</constant>
	</constants>
</class>
<class name="EventPlayer" inherits="Node" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_stream"  >
			<argument index="0" name="stream" type="EventStream">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_stream" qualifiers="const" >
			<return type="EventStream">
			</return>
			<description>
			</description>
		</method>
		<method name="play"  >
			<description>
			</description>
		</method>
		<method name="stop"  >
			<description>
			</description>
		</method>
		<method name="is_playing" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_paused"  >
			<argument index="0" name="paused" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_paused" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_loop"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="has_loop" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_volume"  >
			<argument index="0" name="volume" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_volume" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_pitch_scale"  >
			<argument index="0" name="pitch_scale" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_pitch_scale" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_tempo_scale"  >
			<argument index="0" name="tempo_scale" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_tempo_scale" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_volume_db"  >
			<argument index="0" name="db" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_volume_db" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_stream_name" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="get_loop_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_pos" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="seek_pos"  >
			<argument index="0" name="time" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_autoplay"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="has_autoplay" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_channel_volume"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="channel_volume" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_channel_volumeidx" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="arg0" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_length" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_channel_last_note_time" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="arg0" type="int">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="EventStream" inherits="Resource" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
</class>
<class name="EventStreamChibi" inherits="EventStream" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
</class>
<class name="File" inherits="Reference" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="open_encrypted"  >
			<return type="int">
			</return>
			<argument index="0" name="path" type="String">
			</argument>
			<argument index="1" name="mode_flags" type="int">
			</argument>
			<argument index="2" name="key" type="RawArray">
			</argument>
			<description>
			</description>
		</method>
		<method name="open_encrypted_with_pass"  >
			<return type="int">
			</return>
			<argument index="0" name="path" type="String">
			</argument>
			<argument index="1" name="mode_flags" type="int">
			</argument>
			<argument index="2" name="pass" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="open"  >
			<return type="int">
			</return>
			<argument index="0" name="path" type="String">
			</argument>
			<argument index="1" name="flags" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="close"  >
			<description>
			</description>
		</method>
		<method name="is_open" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="seek"  >
			<argument index="0" name="pos" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="seek_end"  >
			<argument index="0" name="pos" type="int" default="0">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_pos" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_len" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="eof_reached" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="get_8" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_16" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_32" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_64" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_float" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_double" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_real" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_buffer" qualifiers="const" >
			<return type="RawArray">
			</return>
			<argument index="0" name="len" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_line" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="get_as_text" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="get_endian_swap"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_endian_swap"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_error" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_var" qualifiers="const" >
			<description>
			</description>
		</method>
		<method name="get_csv_line" qualifiers="const" >
			<return type="StringArray">
			</return>
			<description>
			</description>
		</method>
		<method name="store_8"  >
			<argument index="0" name="value" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="store_16"  >
			<argument index="0" name="value" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="store_32"  >
			<argument index="0" name="value" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="store_64"  >
			<argument index="0" name="value" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="store_float"  >
			<argument index="0" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="store_double"  >
			<argument index="0" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="store_real"  >
			<argument index="0" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="store_buffer"  >
			<argument index="0" name="buffer" type="RawArray">
			</argument>
			<description>
			</description>
		</method>
		<method name="store_line"  >
			<argument index="0" name="line" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="store_string"  >
			<argument index="0" name="string" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="store_var"  >
			<argument index="0" name="value" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="store_pascal_string"  >
			<argument index="0" name="string" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_pascal_string"  >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="file_exists" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="path" type="String">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="READ" value="1">
		</constant>
		<constant name="WRITE" value="2">
		</constant>
		<constant name="READ_WRITE" value="3">
		</constant>
	</constants>
</class>
<class name="FileDialog" inherits="ConfirmationDialog" category="Core">
	<brief_description>
	Dialog for selecting files or directories in the filesystem.
	</brief_description>
	<description>
	FileDialog is a preset dialog used to choose files and directories in the filesystem. It supports filter masks.
	</description>
	<methods>
		<method name="clear_filters"  >
			<description>
			Clear all the added filters in the dialog.
			</description>
		</method>
		<method name="add_filter"  >
			<argument index="0" name="filter" type="String">
			</argument>
			<description>
			Add a custom filter. Filter format is: "mask ; description", example (C++): dialog-"lt;add_filter("*.png ; PNG Images");
			</description>
		</method>
		<method name="get_current_dir" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			Get the current working directory of the file dialog.
			</description>
		</method>
		<method name="get_current_file" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			Get the current selected file of the file dialog (empty if none).
			</description>
		</method>
		<method name="get_current_path" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			Get the current selected path (directory and file) of the file dialog (empty if none).
			</description>
		</method>
		<method name="set_current_dir"  >
			<argument index="0" name="dir" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_current_file"  >
			<argument index="0" name="file" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_current_path"  >
			<argument index="0" name="path" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_mode"  >
			<argument index="0" name="mode" type="int">
			</argument>
			<description>
			Set the file dialog mode from the MODE_* enum.
			</description>
		</method>
		<method name="get_mode" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Get the file dialog mode from the MODE_* enum.
			</description>
		</method>
		<method name="get_vbox"  >
			<return type="VBoxContainer">
			</return>
			<description>
			</description>
		</method>
		<method name="set_access"  >
			<argument index="0" name="access" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_access" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="invalidate"  >
			<description>
			</description>
		</method>
	</methods>
	<signals>
		<signal name="files_selected">
			<argument index="0" name="paths" type="StringArray">
			</argument>
			<description>
			</description>
		</signal>
		<signal name="dir_selected">
			<argument index="0" name="dir" type="String">
			</argument>
			<description>
			</description>
		</signal>
		<signal name="file_selected">
			<argument index="0" name="path" type="String">
			</argument>
			<description>
			Event emitted when the user selects a file (double clicks it or presses the OK button).
			</description>
		</signal>
	</signals>
	<constants>
		<constant name="MODE_OPEN_FILE" value="0">
			Editor will not allow to select unexisting files.
		</constant>
		<constant name="MODE_OPEN_FILES" value="1">
		</constant>
		<constant name="MODE_OPEN_DIR" value="2">
		</constant>
		<constant name="MODE_SAVE_FILE" value="3">
			Editor will warn when a file exists.
		</constant>
		<constant name="ACCESS_RESOURCES" value="0">
		</constant>
		<constant name="ACCESS_USERDATA" value="1">
		</constant>
		<constant name="ACCESS_FILESYSTEM" value="2">
		</constant>
	</constants>
	<theme_items>
		<theme_item name="files_disabled" type="Color">
		</theme_item>
		<theme_item name="folder" type="Texture">
		</theme_item>
	</theme_items>
</class>
<class name="FixedMaterial" inherits="Material" category="Core">
	<brief_description>
	Simple Material with a fixed parameter set.
	</brief_description>
	<description>
	FixedMaterial is a simple type of material [Resource], which contains a fixed amount of paramters. It is the only type of material supported in fixed-pipeline devices and APIs. It is also an often a better alternative to [ShaderMaterial] for most simple use cases.
	</description>
	<methods>
		<method name="set_parameter"  >
			<argument index="0" name="param" type="int">
			</argument>
			<argument index="1" name="value" type="var">
			</argument>
			<description>
			Set a parameter, parameters are defined in the PARAM_* enum. The type of each parameter may change, so it"apos;s best to check the enum.
			</description>
		</method>
		<method name="get_parameter" qualifiers="const" >
			<argument index="0" name="param" type="int">
			</argument>
			<description>
			Return a parameter, parameters are defined in the PARAM_* enum. The type of each parameter may change, so it"apos;s best to check the enum.
			</description>
		</method>
		<method name="set_texture"  >
			<argument index="0" name="param" type="int">
			</argument>
			<argument index="1" name="texture" type="Texture">
			</argument>
			<description>
			Set a texture. Textures change parameters per texel and are mapped to the model depending on the texcoord mode (see [method set_texcoord_mode]).
			</description>
		</method>
		<method name="get_texture" qualifiers="const" >
			<return type="Texture">
			</return>
			<argument index="0" name="param" type="int">
			</argument>
			<description>
			Return a texture. Textures change parameters per texel and are mapped to the model depending on the texcoord mode (see [method set_texcoord_mode]).
			</description>
		</method>
		<method name="set_texcoord_mode"  >
			<argument index="0" name="param" type="int">
			</argument>
			<argument index="1" name="mode" type="int">
			</argument>
			<description>
			Set the texture coordinate mode. Each texture param (from the PARAM_* enum) has one. It defines how the textures are mapped to the object.
			</description>
		</method>
		<method name="get_texcoord_mode" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="param" type="int">
			</argument>
			<description>
			Return the texture coordinate mode. Each texture param (from the PARAM_* enum) has one. It defines how the textures are mapped to the object.
			</description>
		</method>
		<method name="set_fixed_flag"  >
			<argument index="0" name="flag" type="int">
			</argument>
			<argument index="1" name="value" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_fixed_flag" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="flag" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_uv_transform"  >
			<argument index="0" name="transform" type="Transform">
			</argument>
			<description>
			Sets a special transform used to post-transform UV coordinates of the uv_xfrom tecoord mode: TEXCOORD_UV_TRANSFORM
			</description>
		</method>
		<method name="get_uv_transform" qualifiers="const" >
			<return type="Transform">
			</return>
			<description>
			Returns the special transform used to post-transform UV coordinates of the uv_xfrom tecoord mode: TEXCOORD_UV_TRANSFORM
			</description>
		</method>
		<method name="set_light_shader"  >
			<argument index="0" name="shader" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_light_shader" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_point_size"  >
			<argument index="0" name="size" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_point_size" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="PARAM_DIFFUSE" value="0">
			Diffuse Lighting (light scattered from surface).
		</constant>
		<constant name="PARAM_DETAIL" value="1">
			Detail Layer for diffuse lighting.
		</constant>
		<constant name="PARAM_SPECULAR" value="2">
			Specular Lighting (light reflected from the surface).
		</constant>
		<constant name="PARAM_EMISSION" value="3">
			Emission Lighting (light emitted from the surface)
		</constant>
		<constant name="PARAM_SPECULAR_EXP" value="4">
			Specular Exponent (size of the specular dot)
		</constant>
		<constant name="PARAM_GLOW" value="5">
			Glow (Visible emitted scattered light).
		</constant>
		<constant name="PARAM_NORMAL" value="6">
			Normal Map (irregularity map).
		</constant>
		<constant name="PARAM_SHADE_PARAM" value="7">
		</constant>
		<constant name="PARAM_MAX" value="8">
			Maximum amount of parameters
		</constant>
		<constant name="TEXCOORD_SPHERE" value="3">
		</constant>
		<constant name="TEXCOORD_UV" value="0">
			Read texture coordinates from the UV array.
		</constant>
		<constant name="TEXCOORD_UV_TRANSFORM" value="1">
			Read texture coordinates from the UV array and transform them by uv_xform.
		</constant>
		<constant name="TEXCOORD_UV2" value="2">
			Read texture coordinates from the UV2 array.
		</constant>
		<constant name="FLAG_USE_ALPHA" value="0">
		</constant>
		<constant name="FLAG_USE_COLOR_ARRAY" value="1">
		</constant>
		<constant name="FLAG_USE_POINT_SIZE" value="2">
		</constant>
		<constant name="FLAG_DISCARD_ALPHA" value="3">
		</constant>
	</constants>
</class>
<class name="Font" inherits="Resource" category="Core">
	<brief_description>
	Internationalized font and text drawing support.
	</brief_description>
	<description>
	Font contains an unicode compatible character set, as well as the ability to draw it with variable width, ascent, descent and kerning. For creating fonts from TTF files (or other font formats), see the editor support for fonts. TODO check wikipedia for graph of ascent/baseline/descent/height/etc.
	</description>
	<methods>
		<method name="set_height"  >
			<argument index="0" name="px" type="float">
			</argument>
			<description>
			Set the total font height (ascent plus descent) in pixels.
			</description>
		</method>
		<method name="get_height" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the total font height (ascent plus descent) in pixels.
			</description>
		</method>
		<method name="set_ascent"  >
			<argument index="0" name="px" type="float">
			</argument>
			<description>
			Set the font ascent (number of pixels above the baseline).
			</description>
		</method>
		<method name="get_ascent" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the font ascent (number of pixels above the baseline).
			</description>
		</method>
		<method name="get_descent" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the font descent (number of pixels below the baseline).
			</description>
		</method>
		<method name="add_kerning_pair"  >
			<argument index="0" name="char_a" type="int">
			</argument>
			<argument index="1" name="char_b" type="int">
			</argument>
			<argument index="2" name="kerning" type="int">
			</argument>
			<description>
			Add a kerning pair to the [Font] as a difference. Kerning pairs are special cases where a typeface advance is determined by the next character.
			</description>
		</method>
		<method name="get_kerning_pair" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="arg0" type="int">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			Return a kerning pair as a difference. Kerning pairs are special cases where a typeface advance is determined by the next character.
			</description>
		</method>
		<method name="add_texture"  >
			<argument index="0" name="texture" type="Texture">
			</argument>
			<description>
			Add a texture to the [Font].
			</description>
		</method>
		<method name="add_char"  >
			<argument index="0" name="character" type="int">
			</argument>
			<argument index="1" name="texture" type="int">
			</argument>
			<argument index="2" name="rect" type="Rect2">
			</argument>
			<argument index="3" name="align" type="Vector2" default="Vector2(0,0)">
			</argument>
			<argument index="4" name="advance" type="float" default="-1">
			</argument>
			<description>
			Add a character to the font, where "character" is the unicode value, "texture" is the texture index, "rect" is the region in the texture (in pixels!), "align" is the (optional) alignment for the character and "advance" is the (optional) advance.
			</description>
		</method>
		<method name="get_char_size" qualifiers="const" >
			<return type="Vector2">
			</return>
			<argument index="0" name="char" type="int">
			</argument>
			<argument index="1" name="next" type="int" default="0">
			</argument>
			<description>
			Return the size of a character, optionally taking kerning into account if the next character is provided.
			</description>
		</method>
		<method name="get_string_size" qualifiers="const" >
			<return type="Vector2">
			</return>
			<argument index="0" name="string" type="String">
			</argument>
			<description>
			Return the size of a string, taking kerning and advance into account.
			</description>
		</method>
		<method name="clear"  >
			<description>
			Clear all the font data.
			</description>
		</method>
		<method name="draw" qualifiers="const" >
			<argument index="0" name="canvas_item" type="RID">
			</argument>
			<argument index="1" name="pos" type="Vector2">
			</argument>
			<argument index="2" name="string" type="String">
			</argument>
			<argument index="3" name="modulate" type="Color" default="Color(1,1,1,1)">
			</argument>
			<argument index="4" name="clip_w" type="int" default="-1">
			</argument>
			<description>
			Draw "string" into a canvas item using the font at a given "pos" position, with "modulate" color, and optionally clipping the width. "pos" specifies te baseline, not the top. To draw from the top, [i]ascent[/i] must be added to the Y axis.
			</description>
		</method>
		<method name="draw_char" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="canvas_item" type="RID">
			</argument>
			<argument index="1" name="pos" type="Vector2">
			</argument>
			<argument index="2" name="char" type="int">
			</argument>
			<argument index="3" name="next" type="int" default="-1">
			</argument>
			<argument index="4" name="modulate" type="Color" default="Color(1,1,1,1)">
			</argument>
			<description>
			Draw character "char" into a canvas item using the font at a given "pos" position, with "modulate" color, and optionally kerning if "next" is apassed. clipping the width. "pos" specifies te baseline, not the top. To draw from the top, [i]ascent[/i] must be added to the Y axis. The width used by the character is returned, making this function useful for drawing strings character by character.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="FuncRef" inherits="Reference" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="call_func"  >
			<argument index="0" name="method" type="String">
			</argument>
			<argument index="1" name="arg0" type="var" default="NULL">
			</argument>
			<argument index="2" name="arg1" type="var" default="NULL">
			</argument>
			<argument index="3" name="arg2" type="var" default="NULL">
			</argument>
			<argument index="4" name="arg3" type="var" default="NULL">
			</argument>
			<argument index="5" name="arg4" type="var" default="NULL">
			</argument>
			<argument index="6" name="arg5" type="var" default="NULL">
			</argument>
			<argument index="7" name="arg6" type="var" default="NULL">
			</argument>
			<argument index="8" name="arg7" type="var" default="NULL">
			</argument>
			<argument index="9" name="arg8" type="var" default="NULL">
			</argument>
			<argument index="10" name="arg9" type="var" default="NULL">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_instance"  >
			<argument index="0" name="instance" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_function"  >
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="GDFunctionState" inherits="Reference" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="resume"  >
			<argument index="0" name="arg" type="var" default="NULL">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_valid" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="GDNativeClass" inherits="Reference" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="new"  >
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="GDScript" inherits="Script" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="new"  >
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Generic6DOFJoint" inherits="Joint" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_param_x"  >
			<argument index="0" name="param" type="int">
			</argument>
			<argument index="1" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_param_x" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="param" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_param_y"  >
			<argument index="0" name="param" type="int">
			</argument>
			<argument index="1" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_param_y" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="param" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_param_z"  >
			<argument index="0" name="param" type="int">
			</argument>
			<argument index="1" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_param_z" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="param" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_flag_x"  >
			<argument index="0" name="flag" type="int">
			</argument>
			<argument index="1" name="value" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_flag_x" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="flag" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_flag_y"  >
			<argument index="0" name="flag" type="int">
			</argument>
			<argument index="1" name="value" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_flag_y" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="flag" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_flag_z"  >
			<argument index="0" name="flag" type="int">
			</argument>
			<argument index="1" name="value" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_flag_z" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="flag" type="int">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="PARAM_LINEAR_LOWER_LIMIT" value="0">
		</constant>
		<constant name="PARAM_LINEAR_UPPER_LIMIT" value="1">
		</constant>
		<constant name="PARAM_LINEAR_LIMIT_SOFTNESS" value="2">
		</constant>
		<constant name="PARAM_LINEAR_RESTITUTION" value="3">
		</constant>
		<constant name="PARAM_LINEAR_DAMPING" value="4">
		</constant>
		<constant name="PARAM_ANGULAR_LOWER_LIMIT" value="5">
		</constant>
		<constant name="PARAM_ANGULAR_UPPER_LIMIT" value="6">
		</constant>
		<constant name="PARAM_ANGULAR_LIMIT_SOFTNESS" value="7">
		</constant>
		<constant name="PARAM_ANGULAR_DAMPING" value="8">
		</constant>
		<constant name="PARAM_ANGULAR_RESTITUTION" value="9">
		</constant>
		<constant name="PARAM_ANGULAR_FORCE_LIMIT" value="10">
		</constant>
		<constant name="PARAM_ANGULAR_ERP" value="11">
		</constant>
		<constant name="PARAM_ANGULAR_MOTOR_TARGET_VELOCITY" value="12">
		</constant>
		<constant name="PARAM_ANGULAR_MOTOR_FORCE_LIMIT" value="13">
		</constant>
		<constant name="PARAM_MAX" value="14">
		</constant>
		<constant name="FLAG_ENABLE_LINEAR_LIMIT" value="0">
		</constant>
		<constant name="FLAG_ENABLE_ANGULAR_LIMIT" value="1">
		</constant>
		<constant name="FLAG_ENABLE_MOTOR" value="2">
		</constant>
		<constant name="FLAG_MAX" value="3">
		</constant>
	</constants>
</class>
<class name="Geometry" inherits="Object" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="build_box_planes"  >
			<return type="Array">
			</return>
			<argument index="0" name="extents" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="build_cylinder_planes"  >
			<return type="Array">
			</return>
			<argument index="0" name="radius" type="float">
			</argument>
			<argument index="1" name="height" type="float">
			</argument>
			<argument index="2" name="sides" type="int">
			</argument>
			<argument index="3" name="axis" type="int" default="2">
			</argument>
			<description>
			</description>
		</method>
		<method name="build_capsule_planes"  >
			<return type="Array">
			</return>
			<argument index="0" name="radius" type="float">
			</argument>
			<argument index="1" name="height" type="float">
			</argument>
			<argument index="2" name="sides" type="int">
			</argument>
			<argument index="3" name="lats" type="int">
			</argument>
			<argument index="4" name="axis" type="int" default="2">
			</argument>
			<description>
			</description>
		</method>
		<method name="segment_intersects_circle"  >
			<return type="float">
			</return>
			<argument index="0" name="segment_from" type="Vector2">
			</argument>
			<argument index="1" name="segment_to" type="Vector2">
			</argument>
			<argument index="2" name="circle_pos" type="Vector2">
			</argument>
			<argument index="3" name="circle_radius" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="segment_intersects_segment_2d"  >
			<argument index="0" name="from_a" type="Vector2">
			</argument>
			<argument index="1" name="to_a" type="Vector2">
			</argument>
			<argument index="2" name="from_b" type="Vector2">
			</argument>
			<argument index="3" name="to_b" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_closest_points_between_segments_2d"  >
			<return type="Vector2Array">
			</return>
			<argument index="0" name="p1" type="Vector2">
			</argument>
			<argument index="1" name="q1" type="Vector2">
			</argument>
			<argument index="2" name="p2" type="Vector2">
			</argument>
			<argument index="3" name="q2" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_closest_points_between_segments"  >
			<return type="Vector3Array">
			</return>
			<argument index="0" name="p1" type="Vector3">
			</argument>
			<argument index="1" name="p2" type="Vector3">
			</argument>
			<argument index="2" name="q1" type="Vector3">
			</argument>
			<argument index="3" name="q2" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_closest_point_to_segment"  >
			<return type="Vector3">
			</return>
			<argument index="0" name="point" type="Vector3">
			</argument>
			<argument index="1" name="s1" type="Vector3">
			</argument>
			<argument index="2" name="s2" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_uv84_normal_bit"  >
			<return type="int">
			</return>
			<argument index="0" name="normal" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="ray_intersects_triangle"  >
			<argument index="0" name="from" type="Vector3">
			</argument>
			<argument index="1" name="dir" type="Vector3">
			</argument>
			<argument index="2" name="a" type="Vector3">
			</argument>
			<argument index="3" name="b" type="Vector3">
			</argument>
			<argument index="4" name="c" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="segment_intersects_triangle"  >
			<argument index="0" name="from" type="Vector3">
			</argument>
			<argument index="1" name="to" type="Vector3">
			</argument>
			<argument index="2" name="a" type="Vector3">
			</argument>
			<argument index="3" name="b" type="Vector3">
			</argument>
			<argument index="4" name="c" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="segment_intersects_sphere"  >
			<return type="Vector3Array">
			</return>
			<argument index="0" name="from" type="Vector3">
			</argument>
			<argument index="1" name="to" type="Vector3">
			</argument>
			<argument index="2" name="spos" type="Vector3">
			</argument>
			<argument index="3" name="sradius" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="segment_intersects_cylinder"  >
			<return type="Vector3Array">
			</return>
			<argument index="0" name="from" type="Vector3">
			</argument>
			<argument index="1" name="to" type="Vector3">
			</argument>
			<argument index="2" name="height" type="float">
			</argument>
			<argument index="3" name="radius" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="segment_intersects_convex"  >
			<return type="Vector3Array">
			</return>
			<argument index="0" name="from" type="Vector3">
			</argument>
			<argument index="1" name="to" type="Vector3">
			</argument>
			<argument index="2" name="planes" type="Array">
			</argument>
			<description>
			</description>
		</method>
		<method name="triangulate_polygon"  >
			<return type="IntArray">
			</return>
			<argument index="0" name="polygon" type="Vector2Array">
			</argument>
			<description>
			</description>
		</method>
		<method name="make_atlas"  >
			<return type="Dictionary">
			</return>
			<argument index="0" name="sizes" type="Vector2Array">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="GeometryInstance" inherits="VisualInstance" category="Core">
	<brief_description>
	Base node for geometry based visual instances.
	</brief_description>
	<description>
	Base node for geometry based visual instances. Shares some common functionality like visibility and custom materials.
	</description>
	<methods>
		<method name="set_material_override"  >
			<argument index="0" name="material" type="Object">
			</argument>
			<description>
			Set the material override for the whole geometry.
			</description>
		</method>
		<method name="get_material_override" qualifiers="const" >
			<return type="Object">
			</return>
			<description>
			Return the material override for the whole geometry.
			</description>
		</method>
		<method name="set_flag"  >
			<argument index="0" name="flag" type="int">
			</argument>
			<argument index="1" name="value" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_flag" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="flag" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_draw_range_begin"  >
			<argument index="0" name="mode" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_draw_range_begin" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_draw_range_end"  >
			<argument index="0" name="mode" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_draw_range_end" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_baked_light_texture_id"  >
			<argument index="0" name="id" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_baked_light_texture_id" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="FLAG_VISIBLE" value="0">
		</constant>
		<constant name="FLAG_CAST_SHADOW" value="3">
		</constant>
		<constant name="FLAG_RECEIVE_SHADOWS" value="4">
		</constant>
		<constant name="FLAG_BILLBOARD" value="1">
		</constant>
		<constant name="FLAG_BILLBOARD_FIX_Y" value="2">
		</constant>
		<constant name="FLAG_DEPH_SCALE" value="5">
		</constant>
		<constant name="FLAG_VISIBLE_IN_ALL_ROOMS" value="6">
		</constant>
		<constant name="FLAG_MAX" value="8">
		</constant>
	</constants>
</class>
<class name="Globals" inherits="Object" category="Core">
	<brief_description>
	Contains global variables accessible from everywhere.
	</brief_description>
	<description>
	Contains global variables accessible from everywhere. Use the normal [Object] API, such as "Globals.get(variable)", "Globals.set(variable,value)" or "Globals.has(variable)" to access them. Variables stored in engine.cfg are also loaded into globals, making this object very useful for reading custom game configuration options.
	</description>
	<methods>
		<method name="has" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			Return true if a configuration value is present.
			</description>
		</method>
		<method name="set_order"  >
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="pos" type="int">
			</argument>
			<description>
			Set the order of a configuration value (influences when saved to the config file).
			</description>
		</method>
		<method name="get_order" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			Return the order of a configuration value (influences when saved to the config file).
			</description>
		</method>
		<method name="set_persisting"  >
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="enable" type="bool">
			</argument>
			<description>
			If set to true, this value can be saved to the configuration file. This is useful for editors.
			</description>
		</method>
		<method name="is_persisting" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			If returns true, this value can be saved to the configuration file. This is useful for editors.
			</description>
		</method>
		<method name="clear"  >
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			Clear the whole configuration (not recommended, may break things).
			</description>
		</method>
		<method name="localize_path" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="path" type="String">
			</argument>
			<description>
			Convert a path to a localized path (res:// path).
			</description>
		</method>
		<method name="globalize_path" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="path" type="String">
			</argument>
			<description>
			Convert a localized path (res://) to a full native OS path.
			</description>
		</method>
		<method name="save"  >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="has_singleton" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="arg0" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_singleton" qualifiers="const" >
			<return type="Object">
			</return>
			<argument index="0" name="arg0" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="load_resource_pack"  >
			<return type="bool">
			</return>
			<argument index="0" name="arg0" type="String">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="GridContainer" inherits="Container" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_columns"  >
			<argument index="0" name="columns" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_columns" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
	<theme_items>
		<theme_item name="separation" type="int">
		</theme_item>
	</theme_items>
</class>
<class name="GridMap" inherits="Spatial" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_theme"  >
			<argument index="0" name="theme" type="MeshLibrary">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_theme" qualifiers="const" >
			<return type="MeshLibrary">
			</return>
			<description>
			</description>
		</method>
		<method name="set_bake"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_baking_enabled" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_cell_size"  >
			<argument index="0" name="size" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_cell_size" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_octant_size"  >
			<argument index="0" name="size" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_octant_size" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_cell_item"  >
			<argument index="0" name="x" type="int">
			</argument>
			<argument index="1" name="y" type="int">
			</argument>
			<argument index="2" name="z" type="int">
			</argument>
			<argument index="3" name="item" type="int">
			</argument>
			<argument index="4" name="orientation" type="int" default="0">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_cell_item" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="x" type="int">
			</argument>
			<argument index="1" name="y" type="int">
			</argument>
			<argument index="2" name="z" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_cell_item_orientation" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="x" type="int">
			</argument>
			<argument index="1" name="y" type="int">
			</argument>
			<argument index="2" name="z" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="resource_changed"  >
			<argument index="0" name="arg0" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_center_x"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_center_x" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_center_y"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_center_y" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_center_z"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_center_z" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_clip"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<argument index="1" name="clipabove" type="bool" default="true">
			</argument>
			<argument index="2" name="floor" type="int" default="0">
			</argument>
			<argument index="3" name="axis" type="int" default="0">
			</argument>
			<description>
			</description>
		</method>
		<method name="create_area"  >
			<return type="int">
			</return>
			<argument index="0" name="id" type="int">
			</argument>
			<argument index="1" name="area" type="AABB">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_get_bounds" qualifiers="const" >
			<return type="AABB">
			</return>
			<argument index="0" name="area" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_set_exterior_portal"  >
			<argument index="0" name="area" type="int">
			</argument>
			<argument index="1" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_set_name"  >
			<argument index="0" name="area" type="int">
			</argument>
			<argument index="1" name="name" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_get_name" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="area" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_is_exterior_portal" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="area" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_set_portal_disable_distance"  >
			<argument index="0" name="area" type="int">
			</argument>
			<argument index="1" name="distance" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_get_portal_disable_distance" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="area" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_set_portal_disable_color"  >
			<argument index="0" name="area" type="int">
			</argument>
			<argument index="1" name="color" type="Color">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_get_portal_disable_color" qualifiers="const" >
			<return type="Color">
			</return>
			<argument index="0" name="area" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="erase_area"  >
			<argument index="0" name="area" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_unused_area_id" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="bake_geometry"  >
			<description>
			</description>
		</method>
		<method name="set_use_baked_light"  >
			<argument index="0" name="use" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_using_baked_light" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="clear"  >
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="INVALID_CELL_ITEM" value="-1">
		</constant>
	</constants>
</class>
<class name="GrooveJoint2D" inherits="Joint2D" category="Core">
	<brief_description>
	Groove constraint for 2D physics.
	</brief_description>
	<description>
	Groove constraint for 2D physics. This is useful for making a body "slide" through a segment placed in another.
	</description>
	<methods>
		<method name="set_length"  >
			<argument index="0" name="length" type="float">
			</argument>
			<description>
			Set the length of the groove.
			</description>
		</method>
		<method name="get_length" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the length of the groove.
			</description>
		</method>
		<method name="set_initial_offset"  >
			<argument index="0" name="offset" type="float">
			</argument>
			<description>
			Set the initial offset of the groove on body A.
			</description>
		</method>
		<method name="get_initial_offset" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Set the final offset of the groove on body A.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="HBoxContainer" inherits="BoxContainer" category="Core">
	<brief_description>
	Horizontal box container.
	</brief_description>
	<description>
	Horizontal box container. See [BoxContainer].
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
	<theme_items>
		<theme_item name="separation" type="int">
		</theme_item>
	</theme_items>
</class>
<class name="HButtonArray" inherits="ButtonArray" category="Core">
	<brief_description>
	Horizontal button array.
	</brief_description>
	<description>
	Horizontal button array. See [ButtonArray].
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
	<theme_items>
		<theme_item name="button_separator" type="int">
		</theme_item>
		<theme_item name="icon_separator" type="int">
		</theme_item>
		<theme_item name="font_color_selected" type="Color">
		</theme_item>
		<theme_item name="font_color" type="Color">
		</theme_item>
		<theme_item name="font_selected" type="Font">
		</theme_item>
		<theme_item name="font" type="Font">
		</theme_item>
		<theme_item name="hover" type="StyleBox">
		</theme_item>
		<theme_item name="focus" type="StyleBox">
		</theme_item>
		<theme_item name="selected" type="StyleBox">
		</theme_item>
		<theme_item name="normal" type="StyleBox">
		</theme_item>
	</theme_items>
</class>
<class name="HScrollBar" inherits="ScrollBar" category="Core">
	<brief_description>
	Horizontal scroll bar.
	</brief_description>
	<description>
	Horizontal scroll bar. See [ScrollBar]. This one goes from left (min) to right (max).
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
	<theme_items>
		<theme_item name="increment_hilite" type="Texture">
		</theme_item>
		<theme_item name="decrement_hilite" type="Texture">
		</theme_item>
		<theme_item name="increment" type="Texture">
		</theme_item>
		<theme_item name="decrement" type="Texture">
		</theme_item>
		<theme_item name="grabber_hilite" type="StyleBox">
		</theme_item>
		<theme_item name="grabber" type="StyleBox">
		</theme_item>
		<theme_item name="scroll_focus" type="StyleBox">
		</theme_item>
		<theme_item name="scroll" type="StyleBox">
		</theme_item>
	</theme_items>
</class>
<class name="HSeparator" inherits="Separator" category="Core">
	<brief_description>
	Horizontal separator.
	</brief_description>
	<description>
	Horizontal separator. See [Separator]. It is used to separate objects vertiacally, though (but it looks horizontal!).
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
	<theme_items>
		<theme_item name="separation" type="int">
		</theme_item>
		<theme_item name="separator" type="StyleBox">
		</theme_item>
	</theme_items>
</class>
<class name="HSlider" inherits="Slider" category="Core">
	<brief_description>
	Horizontal slider.
	</brief_description>
	<description>
	Horizontal slider. See [Slider]. This one goes from left (min) to right (max).
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
	<theme_items>
		<theme_item name="tick" type="Texture">
		</theme_item>
		<theme_item name="grabber_hilite" type="Texture">
		</theme_item>
		<theme_item name="grabber" type="Texture">
		</theme_item>
		<theme_item name="grabber_hilite" type="StyleBox">
		</theme_item>
		<theme_item name="slider" type="StyleBox">
		</theme_item>
		<theme_item name="focus" type="StyleBox">
		</theme_item>
	</theme_items>
</class>
<class name="HSplitContainer" inherits="SplitContainer" category="Core">
	<brief_description>
	Horizontal split container.
	</brief_description>
	<description>
	Horizontal split container. See [SplitContainer]. This goes from left to right.
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
	<theme_items>
		<theme_item name="autohide" type="int">
		</theme_item>
		<theme_item name="separation" type="int">
		</theme_item>
		<theme_item name="grabber" type="Texture">
		</theme_item>
		<theme_item name="bg" type="StyleBox">
		</theme_item>
	</theme_items>
</class>
<class name="HTTPClient" inherits="Reference" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="connect"  >
			<return type="int">
			</return>
			<argument index="0" name="host" type="String">
			</argument>
			<argument index="1" name="port" type="int">
			</argument>
			<argument index="2" name="use_ssl" type="bool" default="false">
			</argument>
			<argument index="3" name="arg3" type="bool" default="true">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_connection"  >
			<argument index="0" name="connection" type="StreamPeer">
			</argument>
			<description>
			</description>
		</method>
		<method name="request"  >
			<return type="int">
			</return>
			<argument index="0" name="method" type="int">
			</argument>
			<argument index="1" name="url" type="String">
			</argument>
			<argument index="2" name="headers" type="StringArray">
			</argument>
			<argument index="3" name="body" type="String" default="&quot;&quot;">
			</argument>
			<description>
			</description>
		</method>
		<method name="send_body_text"  >
			<return type="int">
			</return>
			<argument index="0" name="body" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="send_body_data"  >
			<return type="int">
			</return>
			<argument index="0" name="body" type="RawArray">
			</argument>
			<description>
			</description>
		</method>
		<method name="close"  >
			<description>
			</description>
		</method>
		<method name="has_response" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="is_response_chunked" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="get_response_code" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_response_headers"  >
			<return type="StringArray">
			</return>
			<description>
			</description>
		</method>
		<method name="get_response_headers_as_dictionary"  >
			<return type="Dictionary">
			</return>
			<description>
			</description>
		</method>
		<method name="get_response_body_length" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="read_response_body_chunk"  >
			<return type="RawArray">
			</return>
			<description>
			</description>
		</method>
		<method name="set_blocking_mode"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_blocking_mode_enabled" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="get_status" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="poll"  >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="METHOD_GET" value="0">
		</constant>
		<constant name="METHOD_HEAD" value="1">
		</constant>
		<constant name="METHOD_POST" value="2">
		</constant>
		<constant name="METHOD_PUT" value="3">
		</constant>
		<constant name="METHOD_DELETE" value="4">
		</constant>
		<constant name="METHOD_OPTIONS" value="5">
		</constant>
		<constant name="METHOD_TRACE" value="6">
		</constant>
		<constant name="METHOD_CONNECT" value="7">
		</constant>
		<constant name="METHOD_MAX" value="8">
		</constant>
		<constant name="STATUS_DISCONNECTED" value="0">
		</constant>
		<constant name="STATUS_RESOLVING" value="1">
		</constant>
		<constant name="STATUS_CANT_RESOLVE" value="2">
		</constant>
		<constant name="STATUS_CONNECTING" value="3">
		</constant>
		<constant name="STATUS_CANT_CONNECT" value="4">
		</constant>
		<constant name="STATUS_CONNECTED" value="5">
		</constant>
		<constant name="STATUS_REQUESTING" value="6">
		</constant>
		<constant name="STATUS_BODY" value="7">
		</constant>
		<constant name="STATUS_CONNECTION_ERROR" value="8">
		</constant>
		<constant name="STATUS_SSL_HANDSHAKE_ERROR" value="9">
		</constant>
		<constant name="RESPONSE_CONTINUE" value="100">
		</constant>
		<constant name="RESPONSE_SWITCHING_PROTOCOLS" value="101">
		</constant>
		<constant name="RESPONSE_PROCESSING" value="102">
		</constant>
		<constant name="RESPONSE_OK" value="200">
		</constant>
		<constant name="RESPONSE_CREATED" value="201">
		</constant>
		<constant name="RESPONSE_ACCEPTED" value="202">
		</constant>
		<constant name="RESPONSE_NON_AUTHORITATIVE_INFORMATION" value="203">
		</constant>
		<constant name="RESPONSE_NO_CONTENT" value="204">
		</constant>
		<constant name="RESPONSE_RESET_CONTENT" value="205">
		</constant>
		<constant name="RESPONSE_PARTIAL_CONTENT" value="206">
		</constant>
		<constant name="RESPONSE_MULTI_STATUS" value="207">
		</constant>
		<constant name="RESPONSE_IM_USED" value="226">
		</constant>
		<constant name="RESPONSE_MULTIPLE_CHOICES" value="300">
		</constant>
		<constant name="RESPONSE_MOVED_PERMANENTLY" value="301">
		</constant>
		<constant name="RESPONSE_FOUND" value="302">
		</constant>
		<constant name="RESPONSE_SEE_OTHER" value="303">
		</constant>
		<constant name="RESPONSE_NOT_MODIFIED" value="304">
		</constant>
		<constant name="RESPONSE_USE_PROXY" value="305">
		</constant>
		<constant name="RESPONSE_TEMPORARY_REDIRECT" value="307">
		</constant>
		<constant name="RESPONSE_BAD_REQUEST" value="400">
		</constant>
		<constant name="RESPONSE_UNAUTHORIZED" value="401">
		</constant>
		<constant name="RESPONSE_PAYMENT_REQUIRED" value="402">
		</constant>
		<constant name="RESPONSE_FORBIDDEN" value="403">
		</constant>
		<constant name="RESPONSE_NOT_FOUND" value="404">
		</constant>
		<constant name="RESPONSE_METHOD_NOT_ALLOWED" value="405">
		</constant>
		<constant name="RESPONSE_NOT_ACCEPTABLE" value="406">
		</constant>
		<constant name="RESPONSE_PROXY_AUTHENTICATION_REQUIRED" value="407">
		</constant>
		<constant name="RESPONSE_REQUEST_TIMEOUT" value="408">
		</constant>
		<constant name="RESPONSE_CONFLICT" value="409">
		</constant>
		<constant name="RESPONSE_GONE" value="410">
		</constant>
		<constant name="RESPONSE_LENGTH_REQUIRED" value="411">
		</constant>
		<constant name="RESPONSE_PRECONDITION_FAILED" value="412">
		</constant>
		<constant name="RESPONSE_REQUEST_ENTITY_TOO_LARGE" value="413">
		</constant>
		<constant name="RESPONSE_REQUEST_URI_TOO_LONG" value="414">
		</constant>
		<constant name="RESPONSE_UNSUPPORTED_MEDIA_TYPE" value="415">
		</constant>
		<constant name="RESPONSE_REQUESTED_RANGE_NOT_SATISFIABLE" value="416">
		</constant>
		<constant name="RESPONSE_EXPECTATION_FAILED" value="417">
		</constant>
		<constant name="RESPONSE_UNPROCESSABLE_ENTITY" value="422">
		</constant>
		<constant name="RESPONSE_LOCKED" value="423">
		</constant>
		<constant name="RESPONSE_FAILED_DEPENDENCY" value="424">
		</constant>
		<constant name="RESPONSE_UPGRADE_REQUIRED" value="426">
		</constant>
		<constant name="RESPONSE_INTERNAL_SERVER_ERROR" value="500">
		</constant>
		<constant name="RESPONSE_NOT_IMPLEMENTED" value="501">
		</constant>
		<constant name="RESPONSE_BAD_GATEWAY" value="502">
		</constant>
		<constant name="RESPONSE_SERVICE_UNAVAILABLE" value="503">
		</constant>
		<constant name="RESPONSE_GATEWAY_TIMEOUT" value="504">
		</constant>
		<constant name="RESPONSE_HTTP_VERSION_NOT_SUPPORTED" value="505">
		</constant>
		<constant name="RESPONSE_INSUFFICIENT_STORAGE" value="507">
		</constant>
		<constant name="RESPONSE_NOT_EXTENDED" value="510">
		</constant>
	</constants>
</class>
<class name="HingeJoint" inherits="Joint" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_param"  >
			<argument index="0" name="param" type="int">
			</argument>
			<argument index="1" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_param" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="param" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_flag"  >
			<argument index="0" name="flag" type="int">
			</argument>
			<argument index="1" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_flag" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="flag" type="int">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="PARAM_BIAS" value="0">
		</constant>
		<constant name="PARAM_LIMIT_UPPER" value="1">
		</constant>
		<constant name="PARAM_LIMIT_LOWER" value="2">
		</constant>
		<constant name="PARAM_LIMIT_BIAS" value="3">
		</constant>
		<constant name="PARAM_LIMIT_SOFTNESS" value="4">
		</constant>
		<constant name="PARAM_LIMIT_RELAXATION" value="5">
		</constant>
		<constant name="PARAM_MOTOR_TARGET_VELOCITY" value="6">
		</constant>
		<constant name="PARAM_MOTOR_MAX_IMPULSE" value="7">
		</constant>
		<constant name="PARAM_MAX" value="8">
		</constant>
		<constant name="FLAG_USE_LIMIT" value="0">
		</constant>
		<constant name="FLAG_ENABLE_MOTOR" value="1">
		</constant>
		<constant name="FLAG_MAX" value="2">
		</constant>
	</constants>
</class>
<class name="IP" inherits="Object" category="Core">
	<brief_description>
	IP Protocol support functions.
	</brief_description>
	<description>
	IP contains some support functions for the IPv4 protocol. TCP/IP support is in different classes (see [TCP_Client], [TCP_Server]). IP provides hostname resolution support, both blocking and threaded.
	</description>
	<methods>
		<method name="resolve_hostname"  >
			<return type="String">
			</return>
			<argument index="0" name="host" type="String">
			</argument>
			<description>
			Resolve a given hostname, blocking. Resolved hostname is returned as an IP.
			</description>
		</method>
		<method name="resolve_hostname_queue_item"  >
			<return type="int">
			</return>
			<argument index="0" name="host" type="String">
			</argument>
			<description>
			Create a queue item for resolving a given hostname. The queue ID is returned, or RESOLVER_INVALID_ID on error.
			</description>
		</method>
		<method name="get_resolve_item_status" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="id" type="int">
			</argument>
			<description>
			Return the status of hostname queued for resolving, given it"apos;s queue ID. Returned status can be any of the RESOLVER_STATUS_* enumeration.
			</description>
		</method>
		<method name="get_resolve_item_address" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="id" type="int">
			</argument>
			<description>
			Return a resolved item address, or an empty string if an error happened or resolution didn"apos;t happen yet (see [method get_resolve_item_status]).
			</description>
		</method>
		<method name="erase_resolve_item"  >
			<argument index="0" name="id" type="int">
			</argument>
			<description>
			Erase a queue ID, removing it from the queue if needed. This should be used after a queue is completed to free it and enable more queries to happen.
			</description>
		</method>
		<method name="get_local_addresses" qualifiers="const" >
			<return type="Array">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="RESOLVER_STATUS_NONE" value="0">
		</constant>
		<constant name="RESOLVER_STATUS_WAITING" value="1">
		</constant>
		<constant name="RESOLVER_STATUS_DONE" value="2">
		</constant>
		<constant name="RESOLVER_STATUS_ERROR" value="3">
		</constant>
		<constant name="RESOLVER_MAX_QUERIES" value="32">
		</constant>
		<constant name="RESOLVER_INVALID_ID" value="-1">
		</constant>
	</constants>
</class>
<class name="IP_Unix" inherits="IP" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
</class>
<class name="Image" category="Built-In Types">
	<brief_description>
	Image datatype.
	</brief_description>
	<description>
	Built in native image datatype. Contains image data, which can be converted to a texture, and several functions to interact with it.
	</description>
	<methods>
		<method name="blit_rect"  >
			<argument index="0" name="src" type="Image">
			</argument>
			<argument index="1" name="src_rect" type="Rect2">
			</argument>
			<argument index="2" name="dest" type="Vector2" default="0">
			</argument>
			<description>
			</description>
		</method>
		<method name="brush_transfer"  >
			<argument index="0" name="src" type="Image">
			</argument>
			<argument index="1" name="brush" type="Image">
			</argument>
			<argument index="2" name="pos" type="Vector2" default="0">
			</argument>
			<description>
			</description>
		</method>
		<method name="brushed"  >
			<return type="Image">
			</return>
			<argument index="0" name="src" type="Image">
			</argument>
			<argument index="1" name="brush" type="Image">
			</argument>
			<argument index="2" name="pos" type="Vector2" default="0">
			</argument>
			<description>
			</description>
		</method>
		<method name="compressed"  >
			<return type="Image">
			</return>
			<argument index="0" name="format" type="int" default="0">
			</argument>
			<description>
			</description>
		</method>
		<method name="converted"  >
			<return type="Image">
			</return>
			<argument index="0" name="format" type="int" default="0">
			</argument>
			<description>
			</description>
		</method>
		<method name="decompressed"  >
			<return type="Image">
			</return>
			<description>
			</description>
		</method>
		<method name="empty"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="get_data"  >
			<return type="RawArray">
			</return>
			<description>
			</description>
		</method>
		<method name="get_format"  >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_height"  >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_pixel"  >
			<return type="Color">
			</return>
			<argument index="0" name="x" type="int">
			</argument>
			<argument index="1" name="y" type="int">
			</argument>
			<argument index="2" name="mipmap_level" type="int" default="0">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_rect"  >
			<return type="Image">
			</return>
			<argument index="0" name="area" type="Rect2" default="0">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_used_rect"  >
			<return type="Rect2">
			</return>
			<description>
			</description>
		</method>
		<method name="get_width"  >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="load"  >
			<return type="int">
			</return>
			<argument index="0" name="path" type="String" default="0">
			</argument>
			<description>
			</description>
		</method>
		<method name="put_pixel"  >
			<argument index="0" name="x" type="int">
			</argument>
			<argument index="1" name="y" type="int">
			</argument>
			<argument index="2" name="color" type="Color">
			</argument>
			<argument index="3" name="mipmap_level" type="int" default="0">
			</argument>
			<description>
			</description>
		</method>
		<method name="resized"  >
			<return type="Image">
			</return>
			<argument index="0" name="x" type="int">
			</argument>
			<argument index="1" name="y" type="int">
			</argument>
			<argument index="2" name="interpolation" type="int" default="1">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="COMPRESS_BC" value="0">
		</constant>
		<constant name="COMPRESS_PVRTC2" value="1">
		</constant>
		<constant name="COMPRESS_PVRTC4" value="2">
		</constant>
		<constant name="COMPRESS_ETC" value="3">
		</constant>
		<constant name="FORMAT_GRAYSCALE" value="0">
		</constant>
		<constant name="FORMAT_INTENSITY" value="1">
		</constant>
		<constant name="FORMAT_GRAYSCALE_ALPHA" value="2">
		</constant>
		<constant name="FORMAT_RGB" value="3">
		</constant>
		<constant name="FORMAT_RGBA" value="4">
		</constant>
		<constant name="FORMAT_INDEXED" value="5">
		</constant>
		<constant name="FORMAT_INDEXED_ALPHA" value="6">
		</constant>
		<constant name="FORMAT_YUV_422" value="7">
		</constant>
		<constant name="FORMAT_YUV_444" value="8">
		</constant>
		<constant name="FORMAT_BC1" value="9">
		</constant>
		<constant name="FORMAT_BC2" value="10">
		</constant>
		<constant name="FORMAT_BC3" value="11">
		</constant>
		<constant name="FORMAT_BC4" value="12">
		</constant>
		<constant name="FORMAT_BC5" value="13">
		</constant>
		<constant name="FORMAT_PVRTC2" value="14">
		</constant>
		<constant name="FORMAT_PVRTC2_ALPHA" value="15">
		</constant>
		<constant name="FORMAT_PVRTC4" value="16">
		</constant>
		<constant name="FORMAT_PVRTC4_ALPHA" value="17">
		</constant>
		<constant name="FORMAT_ETC" value="18">
		</constant>
		<constant name="FORMAT_ATC" value="19">
		</constant>
		<constant name="FORMAT_ATC_ALPHA_EXPLICIT" value="20">
		</constant>
		<constant name="FORMAT_ATC_ALPHA_INTERPOLATED" value="21">
		</constant>
		<constant name="FORMAT_CUSTOM" value="22">
		</constant>
	</constants>
</class>
<class name="ImageTexture" inherits="Texture" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="create"  >
			<argument index="0" name="width" type="int">
			</argument>
			<argument index="1" name="height" type="int">
			</argument>
			<argument index="2" name="format" type="int">
			</argument>
			<argument index="3" name="flags" type="int" default="7">
			</argument>
			<description>
			</description>
		</method>
		<method name="create_from_image"  >
			<argument index="0" name="image" type="Image">
			</argument>
			<argument index="1" name="flags" type="int" default="7">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_format" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="load"  >
			<argument index="0" name="path" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_data"  >
			<argument index="0" name="image" type="Image">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_data" qualifiers="const" >
			<return type="Image">
			</return>
			<description>
			</description>
		</method>
		<method name="set_storage"  >
			<argument index="0" name="mode" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_storage" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_lossy_storage_quality"  >
			<argument index="0" name="quality" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_lossy_storage_quality" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="fix_alpha_edges"  >
			<description>
			</description>
		</method>
		<method name="premultiply_alpha"  >
			<description>
			</description>
		</method>
		<method name="set_size_override"  >
			<argument index="0" name="size" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="STORAGE_RAW" value="0">
		</constant>
		<constant name="STORAGE_COMPRESS_LOSSY" value="1">
		</constant>
		<constant name="STORAGE_COMPRESS_LOSSLESS" value="2">
		</constant>
	</constants>
</class>
<class name="ImmediateGeometry" inherits="GeometryInstance" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="begin"  >
			<argument index="0" name="primitive" type="int">
			</argument>
			<argument index="1" name="texture" type="Texture">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_normal"  >
			<argument index="0" name="normal" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_tangent"  >
			<argument index="0" name="tangent" type="Plane">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_color"  >
			<argument index="0" name="color" type="Color">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_uv"  >
			<argument index="0" name="uv" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_uv2"  >
			<argument index="0" name="uv" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="add_vertex"  >
			<argument index="0" name="color" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="add_sphere"  >
			<argument index="0" name="lats" type="int">
			</argument>
			<argument index="1" name="lons" type="int">
			</argument>
			<argument index="2" name="radius" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="end"  >
			<description>
			</description>
		</method>
		<method name="clear"  >
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Input" inherits="Object" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="is_key_pressed"  >
			<return type="bool">
			</return>
			<argument index="0" name="scancode" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_mouse_button_pressed"  >
			<return type="bool">
			</return>
			<argument index="0" name="button" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_joy_button_pressed"  >
			<return type="bool">
			</return>
			<argument index="0" name="device" type="int">
			</argument>
			<argument index="1" name="button" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_action_pressed"  >
			<return type="bool">
			</return>
			<argument index="0" name="action" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_joy_axis"  >
			<return type="float">
			</return>
			<argument index="0" name="device" type="int">
			</argument>
			<argument index="1" name="axis" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_joy_name"  >
			<return type="String">
			</return>
			<argument index="0" name="device" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_accelerometer"  >
			<return type="Vector3">
			</return>
			<description>
			</description>
		</method>
		<method name="get_mouse_pos" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			Return the global, unscaled, screen pointer coordinates.
			If the 2D viewport has been scaled, it may not work well
			with [Camera] or controls.
			</description>
		</method>
		<method name="get_mouse_speed" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="get_mouse_button_mask" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_mouse_mode"  >
			<argument index="0" name="mode" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_mouse_mode" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="warp_mouse_pos"  >
			<argument index="0" name="to" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<signals>
		<signal name="joy_connection_changed">
			<argument index="0" name="index" type="int">
			</argument>
			<argument index="1" name="connected" type="bool">
			</argument>
			<description>
			</description>
		</signal>
	</signals>
	<constants>
		<constant name="MOUSE_MODE_VISIBLE" value="0">
		</constant>
		<constant name="MOUSE_MODE_HIDDEN" value="1">
		</constant>
		<constant name="MOUSE_MODE_CAPTURED" value="2">
		</constant>
	</constants>
</class>
<class name="InputDefault" inherits="Input" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
</class>
<class name="InputEvent" category="Built-In Types">
	<brief_description>
	Built-in input event data.
	</brief_description>
	<description>
	Built-in input event data. InputEvent is a built-in engine datatype, given that it's passed around and used so much . Depending on it's type, the members contained can be different, so read the documentation well!. Input events can also represent actions (editable from the project settings).
	</description>
	<methods>
		<method name="is_action"  >
			<return type="bool">
			</return>
			<argument index="0" name="action" type="String">
			</argument>
			<description>
			Return if this input event matches a pre-defined action, no matter the type.
			</description>
		</method>
		<method name="is_echo"  >
			<return type="bool">
			</return>
			<description>
			Return if this input event is an echo event (usually for key events).
			</description>
		</method>
		<method name="is_pressed"  >
			<return type="bool">
			</return>
			<description>
			Return if this input event is pressed (for key, mouse, joy button or screen press events).
			</description>
		</method>
	</methods>
	<members>
		<member name="type" type="int">
		</member>
		<member name="device" type="int">
		</member>
		<member name="ID" type="int">
		</member>
	</members>
	<constants>
		<constant name="NONE" value="0">
			Empty input event.
		</constant>
		<constant name="KEY" value="1">
			Key event.
		</constant>
		<constant name="MOUSE_MOTION" value="2">
			Mouse motion event.
		</constant>
		<constant name="MOUSE_BUTTON" value="3">
			Mouse button event.
		</constant>
		<constant name="JOYSTICK_MOTION" value="4">
			Jostick motion event.
		</constant>
		<constant name="JOYSTICK_BUTTON" value="5">
			Joystick button event.
		</constant>
		<constant name="SCREEN_TOUCH" value="6">
		</constant>
		<constant name="SCREEN_DRAG" value="7">
		</constant>
		<constant name="ACTION" value="8">
		</constant>
	</constants>
</class>
<class name="InputEventAction" category="Built-In Types">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="is_action"  >
			<return type="bool">
			</return>
			<argument index="0" name="action" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_echo"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="is_pressed"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<members>
		<member name="type" type="int">
		</member>
		<member name="device" type="int">
		</member>
		<member name="ID" type="int">
		</member>
	</members>
	<constants>
		<constant name="NONE" value="0">
		</constant>
		<constant name="KEY" value="1">
		</constant>
		<constant name="MOUSE_MOTION" value="2">
		</constant>
		<constant name="MOUSE_BUTTON" value="3">
		</constant>
		<constant name="JOYSTICK_MOTION" value="4">
		</constant>
		<constant name="JOYSTICK_BUTTON" value="5">
		</constant>
		<constant name="SCREEN_TOUCH" value="6">
		</constant>
		<constant name="SCREEN_DRAG" value="7">
		</constant>
		<constant name="ACTION" value="8">
		</constant>
	</constants>
</class>
<class name="InputEventJoyButton" category="Built-In Types">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="is_action"  >
			<return type="bool">
			</return>
			<argument index="0" name="action" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_echo"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="is_pressed"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<members>
		<member name="type" type="int">
		</member>
		<member name="device" type="int">
		</member>
		<member name="ID" type="int">
		</member>
		<member name="button_index" type="int">
		</member>
		<member name="pressed" type="bool">
		</member>
		<member name="pressure" type="float">
		</member>
	</members>
	<constants>
		<constant name="NONE" value="0">
		</constant>
		<constant name="KEY" value="1">
		</constant>
		<constant name="MOUSE_MOTION" value="2">
		</constant>
		<constant name="MOUSE_BUTTON" value="3">
		</constant>
		<constant name="JOYSTICK_MOTION" value="4">
		</constant>
		<constant name="JOYSTICK_BUTTON" value="5">
		</constant>
		<constant name="SCREEN_TOUCH" value="6">
		</constant>
		<constant name="SCREEN_DRAG" value="7">
		</constant>
		<constant name="ACTION" value="8">
		</constant>
	</constants>
</class>
<class name="InputEventJoyMotion" category="Built-In Types">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="is_action"  >
			<return type="bool">
			</return>
			<argument index="0" name="action" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_echo"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="is_pressed"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<members>
		<member name="type" type="int">
		</member>
		<member name="device" type="int">
		</member>
		<member name="ID" type="int">
		</member>
		<member name="axis" type="int">
		</member>
		<member name="value" type="float">
		</member>
	</members>
	<constants>
		<constant name="NONE" value="0">
		</constant>
		<constant name="KEY" value="1">
		</constant>
		<constant name="MOUSE_MOTION" value="2">
		</constant>
		<constant name="MOUSE_BUTTON" value="3">
		</constant>
		<constant name="JOYSTICK_MOTION" value="4">
		</constant>
		<constant name="JOYSTICK_BUTTON" value="5">
		</constant>
		<constant name="SCREEN_TOUCH" value="6">
		</constant>
		<constant name="SCREEN_DRAG" value="7">
		</constant>
		<constant name="ACTION" value="8">
		</constant>
	</constants>
</class>
<class name="InputEventKey" category="Built-In Types">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="is_action"  >
			<return type="bool">
			</return>
			<argument index="0" name="action" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_echo"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="is_pressed"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<members>
		<member name="type" type="int">
		</member>
		<member name="device" type="int">
		</member>
		<member name="ID" type="int">
		</member>
		<member name="shift" type="bool">
		</member>
		<member name="alt" type="bool">
		</member>
		<member name="control" type="bool">
		</member>
		<member name="meta" type="bool">
		</member>
		<member name="pressed" type="bool">
		</member>
		<member name="echo" type="bool">
		</member>
		<member name="scancode" type="int">
		</member>
		<member name="unicode" type="int">
		</member>
	</members>
	<constants>
		<constant name="NONE" value="0">
		</constant>
		<constant name="KEY" value="1">
		</constant>
		<constant name="MOUSE_MOTION" value="2">
		</constant>
		<constant name="MOUSE_BUTTON" value="3">
		</constant>
		<constant name="JOYSTICK_MOTION" value="4">
		</constant>
		<constant name="JOYSTICK_BUTTON" value="5">
		</constant>
		<constant name="SCREEN_TOUCH" value="6">
		</constant>
		<constant name="SCREEN_DRAG" value="7">
		</constant>
		<constant name="ACTION" value="8">
		</constant>
	</constants>
</class>
<class name="InputEventMouseButton" category="Built-In Types">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="is_action"  >
			<return type="bool">
			</return>
			<argument index="0" name="action" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_echo"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="is_pressed"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<members>
		<member name="type" type="int">
		</member>
		<member name="device" type="int">
		</member>
		<member name="ID" type="int">
		</member>
		<member name="shift" type="bool">
		</member>
		<member name="alt" type="bool">
		</member>
		<member name="control" type="bool">
		</member>
		<member name="meta" type="bool">
		</member>
		<member name="button_mask" type="int">
		</member>
		<member name="x" type="int">
		</member>
		<member name="y" type="int">
		</member>
		<member name="pos" type="Vector2">
		</member>
		<member name="global_x" type="int">
		</member>
		<member name="global_y" type="int">
		</member>
		<member name="global_pos" type="Vector2">
		</member>
		<member name="button_index" type="int">
		</member>
		<member name="pressed" type="bool">
		</member>
		<member name="doubleclick" type="bool">
		</member>
	</members>
	<constants>
		<constant name="NONE" value="0">
		</constant>
		<constant name="KEY" value="1">
		</constant>
		<constant name="MOUSE_MOTION" value="2">
		</constant>
		<constant name="MOUSE_BUTTON" value="3">
		</constant>
		<constant name="JOYSTICK_MOTION" value="4">
		</constant>
		<constant name="JOYSTICK_BUTTON" value="5">
		</constant>
		<constant name="SCREEN_TOUCH" value="6">
		</constant>
		<constant name="SCREEN_DRAG" value="7">
		</constant>
		<constant name="ACTION" value="8">
		</constant>
	</constants>
</class>
<class name="InputEventMouseMotion" category="Built-In Types">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="is_action"  >
			<return type="bool">
			</return>
			<argument index="0" name="action" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_echo"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="is_pressed"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<members>
		<member name="type" type="int">
		</member>
		<member name="device" type="int">
		</member>
		<member name="ID" type="int">
		</member>
		<member name="shift" type="bool">
		</member>
		<member name="alt" type="bool">
		</member>
		<member name="control" type="bool">
		</member>
		<member name="meta" type="bool">
		</member>
		<member name="button_mask" type="int">
		</member>
		<member name="x" type="int">
		</member>
		<member name="y" type="int">
		</member>
		<member name="pos" type="Vector2">
		</member>
		<member name="global_x" type="int">
		</member>
		<member name="global_y" type="int">
		</member>
		<member name="global_pos" type="Vector2">
		</member>
		<member name="relative_x" type="int">
		</member>
		<member name="relative_y" type="int">
		</member>
		<member name="relative_pos" type="Vector2">
		</member>
		<member name="speed_x" type="float">
		</member>
		<member name="speed_y" type="float">
		</member>
		<member name="speed" type="Vector2">
		</member>
	</members>
	<constants>
		<constant name="NONE" value="0">
		</constant>
		<constant name="KEY" value="1">
		</constant>
		<constant name="MOUSE_MOTION" value="2">
		</constant>
		<constant name="MOUSE_BUTTON" value="3">
		</constant>
		<constant name="JOYSTICK_MOTION" value="4">
		</constant>
		<constant name="JOYSTICK_BUTTON" value="5">
		</constant>
		<constant name="SCREEN_TOUCH" value="6">
		</constant>
		<constant name="SCREEN_DRAG" value="7">
		</constant>
		<constant name="ACTION" value="8">
		</constant>
	</constants>
</class>
<class name="InputEventScreenDrag" category="Built-In Types">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="is_action"  >
			<return type="bool">
			</return>
			<argument index="0" name="action" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_echo"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="is_pressed"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<members>
		<member name="type" type="int">
		</member>
		<member name="device" type="int">
		</member>
		<member name="ID" type="int">
		</member>
		<member name="index" type="int">
		</member>
		<member name="x" type="float">
		</member>
		<member name="y" type="float">
		</member>
		<member name="pos" type="Vector2">
		</member>
		<member name="relative_x" type="float">
		</member>
		<member name="relative_y" type="float">
		</member>
		<member name="relative_pos" type="Vector2">
		</member>
		<member name="speed_x" type="float">
		</member>
		<member name="speed_y" type="float">
		</member>
		<member name="speed" type="Vector2">
		</member>
	</members>
	<constants>
		<constant name="NONE" value="0">
		</constant>
		<constant name="KEY" value="1">
		</constant>
		<constant name="MOUSE_MOTION" value="2">
		</constant>
		<constant name="MOUSE_BUTTON" value="3">
		</constant>
		<constant name="JOYSTICK_MOTION" value="4">
		</constant>
		<constant name="JOYSTICK_BUTTON" value="5">
		</constant>
		<constant name="SCREEN_TOUCH" value="6">
		</constant>
		<constant name="SCREEN_DRAG" value="7">
		</constant>
		<constant name="ACTION" value="8">
		</constant>
	</constants>
</class>
<class name="InputEventScreenTouch" category="Built-In Types">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="is_action"  >
			<return type="bool">
			</return>
			<argument index="0" name="action" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_echo"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="is_pressed"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<members>
		<member name="type" type="int">
		</member>
		<member name="device" type="int">
		</member>
		<member name="ID" type="int">
		</member>
		<member name="index" type="int">
		</member>
		<member name="x" type="float">
		</member>
		<member name="y" type="float">
		</member>
		<member name="pos" type="Vector2">
		</member>
		<member name="pressed" type="bool">
		</member>
	</members>
	<constants>
		<constant name="NONE" value="0">
		</constant>
		<constant name="KEY" value="1">
		</constant>
		<constant name="MOUSE_MOTION" value="2">
		</constant>
		<constant name="MOUSE_BUTTON" value="3">
		</constant>
		<constant name="JOYSTICK_MOTION" value="4">
		</constant>
		<constant name="JOYSTICK_BUTTON" value="5">
		</constant>
		<constant name="SCREEN_TOUCH" value="6">
		</constant>
		<constant name="SCREEN_DRAG" value="7">
		</constant>
		<constant name="ACTION" value="8">
		</constant>
	</constants>
</class>
<class name="InputMap" inherits="Object" category="Core">
	<brief_description>
	Singleton that manages actions.
	</brief_description>
	<description>
	Singleton that manages actions. InputMap has a list of the actions used in InputEvent, which can be modified.
	</description>
	<methods>
		<method name="has_action" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="action" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_action_id" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="action" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_action_from_id" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="id" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="add_action"  >
			<argument index="0" name="action" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="erase_action"  >
			<argument index="0" name="action" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="action_add_event"  >
			<argument index="0" name="action" type="String">
			</argument>
			<argument index="1" name="event" type="InputEvent">
			</argument>
			<description>
			</description>
		</method>
		<method name="action_has_event"  >
			<return type="bool">
			</return>
			<argument index="0" name="action" type="String">
			</argument>
			<argument index="1" name="event" type="InputEvent">
			</argument>
			<description>
			</description>
		</method>
		<method name="action_erase_event"  >
			<argument index="0" name="action" type="String">
			</argument>
			<argument index="1" name="event" type="InputEvent">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_action_list"  >
			<return type="bool">
			</return>
			<argument index="0" name="action" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="event_is_action" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="event" type="InputEvent">
			</argument>
			<argument index="1" name="action" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="load_from_globals"  >
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="IntArray" category="Built-In Types">
	<brief_description>
	Integer Array .
	</brief_description>
	<description>
	Integer Array. Array of integers. Can only contain integers. Optimized for memory usage, cant fragment the memory.
	</description>
	<methods>
		<method name="get"  >
			<return type="int">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			Get an index in the array.
			</description>
		</method>
		<method name="push_back"  >
			<argument index="0" name="integer" type="int">
			</argument>
			<description>
			Append a value to the array.
			</description>
		</method>
		<method name="resize"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			Resize the array.
			</description>
		</method>
		<method name="set"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="integer" type="int">
			</argument>
			<description>
			Set an index in the array.
			</description>
		</method>
		<method name="size"  >
			<return type="int">
			</return>
			<description>
			Return the array size.
			</description>
		</method>
		<method name="IntArray"  >
			<argument index="0" name="from" type="Array">
			</argument>
			<description>
			Create from a generic array.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="InterpolatedCamera" inherits="Camera" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_target_path"  >
			<argument index="0" name="target_path" type="NodePath">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_target_path" qualifiers="const" >
			<return type="NodePath">
			</return>
			<description>
			</description>
		</method>
		<method name="set_target"  >
			<argument index="0" name="target" type="Camera">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_speed"  >
			<argument index="0" name="speed" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_speed" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_interpolation_enabled"  >
			<argument index="0" name="target_path" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_interpolation_enabled" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Joint" inherits="Spatial" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_node_a"  >
			<argument index="0" name="node" type="NodePath">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_node_a" qualifiers="const" >
			<return type="NodePath">
			</return>
			<description>
			</description>
		</method>
		<method name="set_node_b"  >
			<argument index="0" name="node" type="NodePath">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_node_b" qualifiers="const" >
			<return type="NodePath">
			</return>
			<description>
			</description>
		</method>
		<method name="set_solver_priority"  >
			<argument index="0" name="priority" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_solver_priority" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Joint2D" inherits="Node2D" category="Core">
	<brief_description>
	Base node for all joint constraints in 2D phyisics.
	</brief_description>
	<description>
	Base node for all joint constraints in 2D phyisics. Joints take 2 bodies and apply a custom constraint.
	</description>
	<methods>
		<method name="set_node_a"  >
			<argument index="0" name="node" type="NodePath">
			</argument>
			<description>
			Set the path to the A node for the joint. Must be of type PhysicsBody2D.
			</description>
		</method>
		<method name="get_node_a" qualifiers="const" >
			<return type="NodePath">
			</return>
			<description>
			Return the path to the A node for the joint.
			</description>
		</method>
		<method name="set_node_b"  >
			<argument index="0" name="node" type="NodePath">
			</argument>
			<description>
			Set the path to the B node for the joint. Must be of type PhysicsBody2D.
			</description>
		</method>
		<method name="get_node_b" qualifiers="const" >
			<return type="NodePath">
			</return>
			<description>
			Return the path to the B node for the joint.
			</description>
		</method>
		<method name="set_bias"  >
			<argument index="0" name="bias" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_bias" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="KinematicBody" inherits="PhysicsBody" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="move"  >
			<return type="Vector3">
			</return>
			<argument index="0" name="rel_vec" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="move_to"  >
			<return type="Vector3">
			</return>
			<argument index="0" name="position" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="can_move_to"  >
			<return type="bool">
			</return>
			<argument index="0" name="position" type="Vector3">
			</argument>
			<argument index="1" name="arg1" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_colliding" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="get_collision_pos" qualifiers="const" >
			<return type="Vector3">
			</return>
			<description>
			</description>
		</method>
		<method name="get_collision_normal" qualifiers="const" >
			<return type="Vector3">
			</return>
			<description>
			</description>
		</method>
		<method name="get_collider_velocity" qualifiers="const" >
			<return type="Vector3">
			</return>
			<description>
			</description>
		</method>
		<method name="get_collider" qualifiers="const" >
			<description>
			</description>
		</method>
		<method name="get_collider_shape" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_collide_with_static_bodies"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="can_collide_with_static_bodies" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_collide_with_kinematic_bodies"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="can_collide_with_kinematic_bodies" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_collide_with_rigid_bodies"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="can_collide_with_rigid_bodies" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_collide_with_character_bodies"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="can_collide_with_character_bodies" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_collision_margin"  >
			<argument index="0" name="pixels" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_collision_margin" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="KinematicBody2D" inherits="PhysicsBody2D" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="move"  >
			<return type="Vector2">
			</return>
			<argument index="0" name="rel_vec" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="move_to"  >
			<return type="Vector2">
			</return>
			<argument index="0" name="position" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="can_move_to"  >
			<return type="bool">
			</return>
			<argument index="0" name="position" type="Vector2">
			</argument>
			<argument index="1" name="arg1" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_colliding" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="get_collision_pos" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="get_collision_normal" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="get_collider_velocity" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="get_collider" qualifiers="const" >
			<description>
			</description>
		</method>
		<method name="get_collider_shape" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_collider_metadata" qualifiers="const" >
			<description>
			</description>
		</method>
		<method name="set_collide_with_static_bodies"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="can_collide_with_static_bodies" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_collide_with_kinematic_bodies"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="can_collide_with_kinematic_bodies" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_collide_with_rigid_bodies"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="can_collide_with_rigid_bodies" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_collide_with_character_bodies"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="can_collide_with_character_bodies" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_collision_margin"  >
			<argument index="0" name="pixels" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_collision_margin" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Label" inherits="Range" category="Core">
	<brief_description>
	Control that displays formatted text.
	</brief_description>
	<description>
	Label is a control that displays formatted text, optionally autowrapping it to the [Control] area. It inherits from range to be able to scroll wrapped text vertically.
	</description>
	<methods>
		<method name="set_align"  >
			<argument index="0" name="align" type="int">
			</argument>
			<description>
			Set the alignmend mode to any of the ALIGN_* enumeration values.
			</description>
		</method>
		<method name="get_align" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the alignmend mode (any of the ALIGN_* enumeration values).
			</description>
		</method>
		<method name="set_valign"  >
			<argument index="0" name="valign" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_valign" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_text"  >
			<argument index="0" name="text" type="String">
			</argument>
			<description>
			Set the label text. Text can contain newlines.
			</description>
		</method>
		<method name="get_text" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			Return the label text. Text can contain newlines.
			</description>
		</method>
		<method name="set_autowrap"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			Set [i]autowrap[/i] mode. When enabled, autowrap will fit text to the control width, breaking sentences when they exceed the available horizontal space. When disabled, the label minimum width becomes the width of the longest row, and the minimum height large enough to fit all rows.
			</description>
		</method>
		<method name="has_autowrap" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return the state of the [i]autowrap[/i] mode (see [method set_autowrap]).
			</description>
		</method>
		<method name="set_uppercase"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_uppercase" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="get_line_height" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the height of a line.
			</description>
		</method>
		<method name="get_line_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the amount of lines.
			</description>
		</method>
		<method name="get_total_character_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_visible_characters"  >
			<argument index="0" name="arg0" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_percent_visible"  >
			<argument index="0" name="percent_visible" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_percent_visible" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="ALIGN_LEFT" value="0">
			Align rows to the left (default).
		</constant>
		<constant name="ALIGN_CENTER" value="1">
			Align rows centered.
		</constant>
		<constant name="ALIGN_RIGHT" value="2">
			Align rows to the right (default).
		</constant>
		<constant name="ALIGN_FILL" value="3">
			Expand row whitespaces to fit the width.
		</constant>
		<constant name="VALIGN_TOP" value="0">
			Align the whole text to the top.
		</constant>
		<constant name="VALIGN_CENTER" value="1">
			Align the whole text to the center.
		</constant>
		<constant name="VALIGN_BOTTOM" value="2">
			Align the whole text to the bottom.
		</constant>
		<constant name="VALIGN_FILL" value="3">
			Align the whole text by spreading the rows.
		</constant>
	</constants>
	<theme_items>
		<theme_item name="shadow_offset_x" type="int">
		</theme_item>
		<theme_item name="shadow_offset_y" type="int">
		</theme_item>
		<theme_item name="shadow_as_outline" type="int">
		</theme_item>
		<theme_item name="font_color" type="Color">
		</theme_item>
		<theme_item name="font_color_shadow" type="Color">
		</theme_item>
		<theme_item name="font" type="Font">
		</theme_item>
	</theme_items>
</class>
<class name="LargeTexture" inherits="Texture" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="add_piece"  >
			<return type="int">
			</return>
			<argument index="0" name="ofs" type="Vector2">
			</argument>
			<argument index="1" name="texture" type="Texture">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_piece_offset"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="ofs" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_piece_texture"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="texture" type="Texture">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_size"  >
			<argument index="0" name="size" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="clear"  >
			<description>
			</description>
		</method>
		<method name="get_piece_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_piece_offset" qualifiers="const" >
			<return type="Vector2">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_piece_texture" qualifiers="const" >
			<return type="Texture">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Light" inherits="VisualInstance" category="Core">
	<brief_description>
	Provides a base class for different kinds of light nodes.
	</brief_description>
	<description>
	Light is the abstract base class for light nodes, so it shouldn't be used directly (It can't be instanced). Other types of light nodes inherit from it. Light contains the common variables and parameters used for lighting.
	</description>
	<methods>
		<method name="set_parameter"  >
			<argument index="0" name="variable" type="int">
			</argument>
			<argument index="1" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_parameter" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="arg0" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_color"  >
			<argument index="0" name="color" type="int">
			</argument>
			<argument index="1" name="value" type="Color">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_color" qualifiers="const" >
			<return type="Color">
			</return>
			<argument index="0" name="arg0" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_project_shadows"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="has_project_shadows" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_projector"  >
			<argument index="0" name="projector" type="Texture">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_projector" qualifiers="const" >
			<return type="Texture">
			</return>
			<description>
			</description>
		</method>
		<method name="set_operator"  >
			<argument index="0" name="operator" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_operator" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_bake_mode"  >
			<argument index="0" name="bake_mode" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_bake_mode" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_enabled"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_enabled" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_editor_only"  >
			<argument index="0" name="editor_only" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_editor_only" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="PARAM_RADIUS" value="2">
		</constant>
		<constant name="PARAM_ENERGY" value="3">
		</constant>
		<constant name="PARAM_ATTENUATION" value="4">
		</constant>
		<constant name="PARAM_SPOT_ANGLE" value="1">
		</constant>
		<constant name="PARAM_SPOT_ATTENUATION" value="4">
		</constant>
		<constant name="PARAM_SHADOW_DARKENING" value="5">
		</constant>
		<constant name="PARAM_SHADOW_Z_OFFSET" value="6">
		</constant>
		<constant name="COLOR_DIFFUSE" value="0">
		</constant>
		<constant name="COLOR_SPECULAR" value="1">
		</constant>
		<constant name="BAKE_MODE_DISABLED" value="0">
		</constant>
		<constant name="BAKE_MODE_INDIRECT" value="1">
		</constant>
		<constant name="BAKE_MODE_INDIRECT_AND_SHADOWS" value="2">
		</constant>
		<constant name="BAKE_MODE_FULL" value="3">
		</constant>
	</constants>
</class>
<class name="LineEdit" inherits="Control" category="Core">
	<brief_description>
	Control that provides single line string editing.
	</brief_description>
	<description>
	LineEdit provides a single line string editor, used for text fields.
	</description>
	<methods>
		<method name="clear"  >
			<description>
			Clear the [LineEdit] text.
			</description>
		</method>
		<method name="select_all"  >
			<description>
			Select the whole string.
			</description>
		</method>
		<method name="set_text"  >
			<argument index="0" name="text" type="String">
			</argument>
			<description>
			Set the text in the [LineEdit], clearing the existing one and the selection.
			</description>
		</method>
		<method name="get_text" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			Return the text in the [LineEdit].
			</description>
		</method>
		<method name="set_cursor_pos"  >
			<argument index="0" name="pos" type="int">
			</argument>
			<description>
			Set the cursor position inside the [LineEdit], causing it to scroll if needed.
			</description>
		</method>
		<method name="get_cursor_pos" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the cursor position inside the [LineEdit].
			</description>
		</method>
		<method name="set_max_length"  >
			<argument index="0" name="chars" type="int">
			</argument>
			<description>
			Set the maximum amount of characters the [LineEdit] can edit, and cropping existing text in case it exceeds that limit. Setting 0 removes the limit.
			</description>
		</method>
		<method name="get_max_length" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the maximum amount of characters the [LineEdit] can edit. If 0 is returned, no limit exists.
			</description>
		</method>
		<method name="append_at_cursor"  >
			<argument index="0" name="text" type="String">
			</argument>
			<description>
			Append text at cursor, scrolling the [LineEdit] when needed.
			</description>
		</method>
		<method name="set_editable"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			Set the [i]editable[/i] status of the [LineEdit]. When disabled, existing text can"apos;t be modified and new text can"apos;t be added.
			</description>
		</method>
		<method name="is_editable" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return the [i]editable[/i] status of the [LineEdit] (see [method set_editable]).
			</description>
		</method>
		<method name="set_secret"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			Set the [i]secret[/i] status of the [LineEdit]. When enabled, every character is displayed as "*".
			</description>
		</method>
		<method name="is_secret" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return the [i]secret[/i] status of the [LineEdit] (see [method set_secret]).
			</description>
		</method>
		<method name="select"  >
			<argument index="0" name="from" type="int" default="0">
			</argument>
			<argument index="1" name="to" type="int" default="-1">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<signals>
		<signal name="text_entered">
			<argument index="0" name="text" type="String">
			</argument>
			<description>
			This signal is emitted when the user presses KEY_ENTER on the [LineEdit]. This signal is often used as an alternate confirmation mechanism in dialogs.
			</description>
		</signal>
		<signal name="text_changed">
			<argument index="0" name="text" type="String">
			</argument>
			<description>
			When the text changes, this signal is emitted.
			</description>
		</signal>
	</signals>
	<constants>
	</constants>
	<theme_items>
		<theme_item name="minimum_spaces" type="int">
		</theme_item>
		<theme_item name="selection_color" type="Color">
		</theme_item>
		<theme_item name="cursor_color" type="Color">
		</theme_item>
		<theme_item name="font_color_selected" type="Color">
		</theme_item>
		<theme_item name="font_color" type="Color">
		</theme_item>
		<theme_item name="font" type="Font">
		</theme_item>
		<theme_item name="read_only" type="StyleBox">
		</theme_item>
		<theme_item name="focus" type="StyleBox">
		</theme_item>
		<theme_item name="normal" type="StyleBox">
		</theme_item>
	</theme_items>
</class>
<class name="LineShape2D" inherits="Shape2D" category="Core">
	<brief_description>
	Line shape for 2D collision objects.
	</brief_description>
	<description>
	Line shape for 2D collision objects. It works like a 2D plane and will not allow any body to go to the negative side. Not recommended for rigid bodies, and usually not recommended for static bodies either because it forces checks against it on every frame.
	</description>
	<methods>
		<method name="set_normal"  >
			<argument index="0" name="normal" type="Vector2">
			</argument>
			<description>
			Set the line normal.
			</description>
		</method>
		<method name="get_normal" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			Return the line normal.
			</description>
		</method>
		<method name="set_d"  >
			<argument index="0" name="d" type="float">
			</argument>
			<description>
			Set the line distance from the origin.
			</description>
		</method>
		<method name="get_d" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the line distance from the origin.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="MainLoop" inherits="Object" category="Core">
	<brief_description>
	Main loop is the abstract main loop base class.
	</brief_description>
	<description>
	Main loop is the abstract main loop base class. All other main loop classes are derived from it. Upon application start, a [MainLoop] has to be provided to OS, else the application will exit. This happens automatically (and a [SceneMainLoop] is created), unless a main [Script] is supplied, which may or not create and return a [MainLoop].
	</description>
	<methods>
		<method name="input_event"  >
			<argument index="0" name="arg0" type="InputEvent">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="NOTIFICATION_WM_FOCUS_IN" value="5">
		</constant>
		<constant name="NOTIFICATION_WM_FOCUS_OUT" value="6">
		</constant>
		<constant name="NOTIFICATION_WM_QUIT_REQUEST" value="7">
		</constant>
		<constant name="NOTIFICATION_WM_UNFOCUS_REQUEST" value="8">
		</constant>
		<constant name="NOTIFICATION_OS_MEMORY_WARNING" value="9">
		</constant>
	</constants>
</class>
<class name="MarginContainer" inherits="Container" category="Core">
	<brief_description>
	Simple margin container.
	</brief_description>
	<description>
	Simple margin container. Adds a left margin to anything contained.
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
	<theme_items>
		<theme_item name="margin" type="int">
		</theme_item>
	</theme_items>
</class>
<class name="Marshalls" inherits="Reference" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="variant_to_base64"  >
			<return type="String">
			</return>
			<argument index="0" name="variant" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="base64_to_variant"  >
			<argument index="0" name="base64_str" type="String">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Material" inherits="Resource" category="Core">
	<brief_description>
	Abstract base [Resource] for coloring and shading geometry.
	</brief_description>
	<description>
	Material is a base [Resource] used for coloring and shading geometry. All materials inherit from it and almost all [VisualInstance] derived nodes carry a Material. A few flags and parameters are shared between all material types and are configured here.
	</description>
	<methods>
		<method name="set_flag"  >
			<argument index="0" name="flag" type="int">
			</argument>
			<argument index="1" name="enable" type="bool">
			</argument>
			<description>
			Set a [Material] flag, which toggles on or off a behavior when rendering. See enumeration FLAG_* for a list.
			</description>
		</method>
		<method name="get_flag" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="flag" type="int">
			</argument>
			<description>
			Return a [Material] flag, which toggles on or off a behavior when rendering. See enumeration FLAG_* for a list.
			</description>
		</method>
		<method name="set_blend_mode"  >
			<argument index="0" name="mode" type="int">
			</argument>
			<description>
			Set blend mode for the material, which can be one of BLEND_MODE_MIX (default), BLEND_MODE_ADD, BLEND_MODE_SUB. Keep in mind that only BLEND_MODE_MIX ensures that the material [i]may[/i] be opaque, any other blend mode will render with alpha blending enabled in raster-based [VisualServer] implementations.
			</description>
		</method>
		<method name="get_blend_mode" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return blend mode for the material, which can be one of BLEND_MODE_MIX (default), BLEND_MODE_ADD, BLEND_MODE_SUB. Keep in mind that only BLEND_MODE_MIX ensures that the material [i]may[/i] be opaque, any other blend mode will render with alpha blending enabled in raster-based [VisualServer] implementations.
			</description>
		</method>
		<method name="set_line_width"  >
			<argument index="0" name="width" type="float">
			</argument>
			<description>
			Set the line width for geometry drawn with FLAG_WIREFRAME enabled, or LINE primitives. Note that not all hardware or VisualServer backends support this (like DirectX).
			</description>
		</method>
		<method name="get_line_width" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the line width for geometry drawn with FLAG_WIREFRAME enabled, or LINE primitives. Note that not all hardware or VisualServer backends support this (like DirectX).
			</description>
		</method>
		<method name="set_depth_draw_mode"  >
			<argument index="0" name="mode" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_depth_draw_mode" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="FLAG_VISIBLE" value="0">
			Geometry is visible when this flag is enabled (default).
		</constant>
		<constant name="FLAG_DOUBLE_SIDED" value="1">
			Both front facing and back facing triangles are rendered when this flag is enabled.
		</constant>
		<constant name="FLAG_INVERT_FACES" value="2">
			Front facing and back facing order is swapped when this flag is enabled.
		</constant>
		<constant name="FLAG_UNSHADED" value="3">
			Shading (lighting) is disabled when this flag is enabled.
		</constant>
		<constant name="FLAG_ONTOP" value="4">
		</constant>
		<constant name="FLAG_LIGHTMAP_ON_UV2" value="5">
		</constant>
		<constant name="FLAG_COLOR_ARRAY_SRGB" value="6">
		</constant>
		<constant name="FLAG_MAX" value="7">
			Maximum amount of flags
		</constant>
		<constant name="DEPTH_DRAW_ALWAYS" value="0">
		</constant>
		<constant name="DEPTH_DRAW_OPAQUE_ONLY" value="1">
		</constant>
		<constant name="DEPTH_DRAW_OPAQUE_PRE_PASS_ALPHA" value="2">
		</constant>
		<constant name="DEPTH_DRAW_NEVER" value="3">
		</constant>
		<constant name="BLEND_MODE_MIX" value="0">
			Use the regular alpha blending equation (source and dest colors are faded) (default).
		</constant>
		<constant name="BLEND_MODE_ADD" value="1">
			Use additive blending equation, often used for particle effects such as fire or light decals.
		</constant>
		<constant name="BLEND_MODE_SUB" value="2">
			Use substractive blending equation, often used for some smoke effects or types of glass.
		</constant>
		<constant name="BLEND_MODE_MUL" value="3">
		</constant>
		<constant name="BLEND_MODE_PREMULT_ALPHA" value="4">
		</constant>
	</constants>
</class>
<class name="Matrix3" category="Built-In Types">
	<brief_description>
	3x3 matrix datatype.
	</brief_description>
	<description>
	3x3 matrix used for 3D rotation and scale. Contains 3 vector fields x,y and z. Can also be accessed as array of 3D vectors. Almost always used as orthogonal basis for a [Transform].
	</description>
	<methods>
		<method name="determinant"  >
			<return type="float">
			</return>
			<description>
			Return the determinant of the matrix.
			</description>
		</method>
		<method name="get_euler"  >
			<return type="Vector3">
			</return>
			<description>
			Return euler angles from the matrix.
			</description>
		</method>
		<method name="get_orthogonal_index"  >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_scale"  >
			<return type="Vector3">
			</return>
			<description>
			</description>
		</method>
		<method name="inverse"  >
			<return type="Matrix3">
			</return>
			<description>
			Return the affine inverse of the matrix.
			</description>
		</method>
		<method name="orthonormalized"  >
			<return type="Matrix3">
			</return>
			<description>
			Return the orthonormalized version of the matrix (useful to call from time to time to avoid rounding error).
			</description>
		</method>
		<method name="rotated"  >
			<return type="Matrix3">
			</return>
			<argument index="0" name="axis" type="Vector3">
			</argument>
			<argument index="1" name="phi" type="float">
			</argument>
			<description>
			Return the rotated version of the matrix, by a given axis and angle.
			</description>
		</method>
		<method name="scaled"  >
			<return type="Matrix3">
			</return>
			<argument index="0" name="scale" type="Vector3">
			</argument>
			<description>
			Return the scaled version of the matrix, by a 3D scale.
			</description>
		</method>
		<method name="tdotx"  >
			<return type="float">
			</return>
			<argument index="0" name="with" type="Vector3">
			</argument>
			<description>
			Transposed dot product with the x axis of the matrix.
			</description>
		</method>
		<method name="tdoty"  >
			<return type="float">
			</return>
			<argument index="0" name="with" type="Vector3">
			</argument>
			<description>
			Transposed dot product with the y axis of the matrix.
			</description>
		</method>
		<method name="tdotz"  >
			<return type="float">
			</return>
			<argument index="0" name="with" type="Vector3">
			</argument>
			<description>
			Transposed dot product with the z axis of the matrix.
			</description>
		</method>
		<method name="transposed"  >
			<return type="Matrix3">
			</return>
			<description>
			Return the transposed version of the matrix.
			</description>
		</method>
		<method name="xform"  >
			<return type="Vector3">
			</return>
			<argument index="0" name="v" type="Vector3">
			</argument>
			<description>
			Return a vector transformed by the matrix and return it.
			</description>
		</method>
		<method name="xform_inv"  >
			<return type="Vector3">
			</return>
			<argument index="0" name="v" type="Vector3">
			</argument>
			<description>
			Return a vector transformed by the transposed matrix and return it.
			</description>
		</method>
		<method name="Matrix3"  >
			<argument index="0" name="x_axis" type="Vector3">
			</argument>
			<argument index="1" name="y_axis" type="Vector3">
			</argument>
			<argument index="2" name="z_axis" type="Vector3">
			</argument>
			<description>
			Create a matrix from 3 axis vectors.
			</description>
		</method>
		<method name="Matrix3"  >
			<argument index="0" name="axis" type="Vector3">
			</argument>
			<argument index="1" name="phi" type="float">
			</argument>
			<description>
			Create a matrix from 3 axis vectors.
			</description>
		</method>
		<method name="Matrix3"  >
			<argument index="0" name="from" type="Quat">
			</argument>
			<description>
			Create a matrix from 3 axis vectors.
			</description>
		</method>
	</methods>
	<members>
		<member name="x" type="Vector3">
		</member>
		<member name="y" type="Vector3">
		</member>
		<member name="z" type="Vector3">
		</member>
	</members>
	<constants>
	</constants>
</class>
<class name="Matrix32" category="Built-In Types">
	<brief_description>
	3x2 Matrix for 2D transforms.
	</brief_description>
	<description>
	3x2 Matrix for 2D transforms.
	</description>
	<methods>
		<method name="affine_inverse"  >
			<return type="Matrix32">
			</return>
			<description>
			</description>
		</method>
		<method name="basis_xform"  >
			<return type="Matrix32">
			</return>
			<argument index="0" name="v" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="basis_xform_inv"  >
			<return type="Matrix32">
			</return>
			<argument index="0" name="v" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_origin"  >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="get_rotation"  >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_scale"  >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="interpolate_with"  >
			<return type="Matrix32">
			</return>
			<argument index="0" name="m" type="Matrix32">
			</argument>
			<argument index="1" name="c" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="inverse"  >
			<return type="Matrix32">
			</return>
			<description>
			</description>
		</method>
		<method name="orthonormalized"  >
			<return type="Matrix32">
			</return>
			<description>
			</description>
		</method>
		<method name="rotated"  >
			<return type="Matrix32">
			</return>
			<argument index="0" name="phi" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="scaled"  >
			<return type="Matrix32">
			</return>
			<argument index="0" name="scale" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="translated"  >
			<return type="Matrix32">
			</return>
			<argument index="0" name="offset" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="xform"  >
			<return type="Matrix32">
			</return>
			<argument index="0" name="v" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="xform_inv"  >
			<return type="Matrix32">
			</return>
			<argument index="0" name="v" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="Matrix32"  >
			<argument index="0" name="x_axis" type="Vector2">
			</argument>
			<argument index="1" name="y_axis" type="Vector2">
			</argument>
			<argument index="2" name="origin" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<members>
		<member name="x" type="float">
		</member>
		<member name="y" type="float">
		</member>
		<member name="o" type="float">
		</member>
	</members>
	<constants>
	</constants>
</class>
<class name="MenuButton" inherits="Button" category="Core">
	<brief_description>
	Special button that brings up a [PopupMenu] when clicked.
	</brief_description>
	<description>
	Special button that brings up a [PopupMenu] when clicked. That's pretty much all it does, as it's just a helper class when bulding GUIs.
	</description>
	<methods>
		<method name="get_popup"  >
			<return type="Object">
			</return>
			<description>
			Return the [PopupMenu] contained in this button.
			</description>
		</method>
	</methods>
	<signals>
		<signal name="about_to_show">
			<description>
			</description>
		</signal>
	</signals>
	<constants>
	</constants>
	<theme_items>
		<theme_item name="hseparation" type="int">
		</theme_item>
		<theme_item name="font_color_disabled" type="Color">
		</theme_item>
		<theme_item name="font_color" type="Color">
		</theme_item>
		<theme_item name="font_color_hover" type="Color">
		</theme_item>
		<theme_item name="font_color_pressed" type="Color">
		</theme_item>
		<theme_item name="font" type="Font">
		</theme_item>
		<theme_item name="hover" type="StyleBox">
		</theme_item>
		<theme_item name="pressed" type="StyleBox">
		</theme_item>
		<theme_item name="disabled" type="StyleBox">
		</theme_item>
		<theme_item name="normal" type="StyleBox">
		</theme_item>
	</theme_items>
</class>
<class name="Mesh" inherits="Resource" category="Core">
	<brief_description>
	A [Resource] that contains vertex-array based geometry.
	</brief_description>
	<description>
	Mesh is a type of [Resource] that contains vertex-array based geometry, divided in [i]surfaces[/i]. Each surface contains a completely separate array and a material used to draw it. Design wise, a mesh with multiple surfaces is prefered to a single surface, because objects created in 3D editing software commonly contain multiple materials.
	</description>
	<methods>
		<method name="add_morph_target"  >
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_morph_target_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_morph_target_name" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="index" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="clear_morph_targets"  >
			<description>
			</description>
		</method>
		<method name="set_morph_target_mode"  >
			<argument index="0" name="mode" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_morph_target_mode" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="add_surface"  >
			<argument index="0" name="primitive" type="int">
			</argument>
			<argument index="1" name="arrays" type="Array">
			</argument>
			<argument index="2" name="morph_arrays" type="Array">
			</argument>
			<argument index="3" name="arg3" type="bool" default="Array()">
			</argument>
			<description>
			Create a new surface ([method get_surface_count] will become surf_idx for this.[br]"#10;"#9;"#9;"#9;Surfaces are created to be rendered using a "primitive", which may be PRIMITIVE_POINTS, PRIMITIVE_LINES, PRIMITIVE_LINE_STRIP, PRIMITIVE_LINE_LOOP, PRIMITIVE_TRIANGLES, PRIMITIVE_TRIANGLE_STRIP, PRIMITIVE_TRIANGLE_FAN. (As a note, when using indices, it is recommended to only use just points, lines or triangles).[br]"#10;"#9;"#9;"#9;The format of a surface determines which arrays it will allocate and hold, so "format" is a combination of ARRAY_FORMAT_* mask constants ORed together. ARRAY_FORMAT_VERTEX must be always present. "array_len" determines the amount of vertices in the array (not primitives!). if ARRAY_FORMAT_INDEX is in the format mask, then it means that an index array will be allocated and "index_array_len" must be passed.
			</description>
		</method>
		<method name="get_surface_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the amount of surfaces that the [Mesh] holds.
			</description>
		</method>
		<method name="surface_remove"  >
			<argument index="0" name="surf_idx" type="int">
			</argument>
			<description>
			Remove a surface at position surf_idx, shifting greater surfaces one surf_idx slot down.
			</description>
		</method>
		<method name="surface_get_array_len" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="surf_idx" type="int">
			</argument>
			<description>
			Return the length in vertices of the vertex array in the requested surface (see [method add_surface]).
			</description>
		</method>
		<method name="surface_get_array_index_len" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="surf_idx" type="int">
			</argument>
			<description>
			Return the length in indices of the index array in the requested surface (see [method add_surface]).
			</description>
		</method>
		<method name="surface_get_format" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="surf_idx" type="int">
			</argument>
			<description>
			Return the format mask of the requested surface (see [method add_surface]).
			</description>
		</method>
		<method name="surface_get_primitive_type" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="surf_idx" type="int">
			</argument>
			<description>
			Return the primitive type of the requested surface (see [method add_surface]).
			</description>
		</method>
		<method name="surface_set_material"  >
			<argument index="0" name="surf_idx" type="int">
			</argument>
			<argument index="1" name="material" type="Material">
			</argument>
			<description>
			Set a [Material] for a given surface. Surface will be rendered using this material.
			</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_set_name"  >
			<argument index="0" name="surf_idx" type="int">
			</argument>
			<argument index="1" name="name" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="surface_get_name" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="surf_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="center_geometry"  >
			<description>
			</description>
		</method>
		<method name="regen_normalmaps"  >
			<description>
			</description>
		</method>
		<method name="set_custom_aabb"  >
			<argument index="0" name="aabb" type="AABB">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_custom_aabb" qualifiers="const" >
			<return type="AABB">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="NO_INDEX_ARRAY" value="-1">
			Default value used for index_array_len when no indices are present.
		</constant>
		<constant name="ARRAY_WEIGHTS_SIZE" value="4">
			Amount of weights/bone indices per vertex (always 4).
		</constant>
		<constant name="ARRAY_VERTEX" value="0">
			Vertex array (array of [Vector3]() vertices).
		</constant>
		<constant name="ARRAY_NORMAL" value="1">
			Normal array (array of [Vector3]() normals).
		</constant>
		<constant name="ARRAY_TANGENT" value="2">
			Tangent array, array of groups of 4 floats. first 3 floats determine the tangent, and the last the binormal direction as -1 or 1.
		</constant>
		<constant name="ARRAY_COLOR" value="3">
			Vertex array (array of [Color]() colors).
		</constant>
		<constant name="ARRAY_TEX_UV" value="4">
			UV array (array of [Vector3]() UVs or float array of groups of 2 floats (u,v)).
		</constant>
		<constant name="ARRAY_TEX_UV2" value="5">
		</constant>
		<constant name="ARRAY_BONES" value="6">
			Array of bone indices, as a float array. Each element in groups of 4 floats.
		</constant>
		<constant name="ARRAY_WEIGHTS" value="7">
			Array of bone weights, as a float array. Each element in groups of 4 floats.
		</constant>
		<constant name="ARRAY_INDEX" value="8">
			Array of integers, used as indices referencing vertices. No index can be beyond the vertex array size.
		</constant>
		<constant name="ARRAY_FORMAT_VERTEX" value="1">
			Array format will include vertices (mandatory).
		</constant>
		<constant name="ARRAY_FORMAT_NORMAL" value="2">
			Array format will include normals
		</constant>
		<constant name="ARRAY_FORMAT_TANGENT" value="4">
			Array format will include tangents
		</constant>
		<constant name="ARRAY_FORMAT_COLOR" value="8">
			Array format will include a color array.
		</constant>
		<constant name="ARRAY_FORMAT_TEX_UV" value="16">
			Array format will include UVs.
		</constant>
		<constant name="ARRAY_FORMAT_TEX_UV2" value="32">
		</constant>
		<constant name="ARRAY_FORMAT_BONES" value="64">
			Array format will include bone indices.
		</constant>
		<constant name="ARRAY_FORMAT_WEIGHTS" value="128">
			Array format will include bone weights.
		</constant>
		<constant name="ARRAY_FORMAT_INDEX" value="256">
			Index array will be used.
		</constant>
		<constant name="PRIMITIVE_POINTS" value="0">
			Render array as points (one vertex equals one point).
		</constant>
		<constant name="PRIMITIVE_LINES" value="1">
			Render array as lines (every two vertices a line is created).
		</constant>
		<constant name="PRIMITIVE_LINE_STRIP" value="2">
			Render array as line strip.
		</constant>
		<constant name="PRIMITIVE_LINE_LOOP" value="3">
			Render array as line loop (like line strip, but closed).
		</constant>
		<constant name="PRIMITIVE_TRIANGLES" value="4">
			Render array as triangles (every three vertices a triangle is created).
		</constant>
		<constant name="PRIMITIVE_TRIANGLE_STRIP" value="5">
			Render array as triangle strips.
		</constant>
		<constant name="PRIMITIVE_TRIANGLE_FAN" value="6">
			Render array as triangle fans.
		</constant>
	</constants>
</class>
<class name="MeshDataTool" inherits="Reference" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="clear"  >
			<description>
			</description>
		</method>
		<method name="create_from_surface"  >
			<return type="int">
			</return>
			<argument index="0" name="mesh" type="Object">
			</argument>
			<argument index="1" name="surface" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="commit_to_surface"  >
			<return type="int">
			</return>
			<argument index="0" name="mesh" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_format" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_vertex_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_edge_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_face_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_vertex"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="vertex" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_vertex" qualifiers="const" >
			<return type="Vector3">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_vertex_normal"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="normal" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_vertex_normal" qualifiers="const" >
			<return type="Vector3">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_vertex_tangent"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="tangent" type="Plane">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_vertex_tangent" qualifiers="const" >
			<return type="Plane">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_vertex_uv"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="uv" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_vertex_uv" qualifiers="const" >
			<return type="Vector2">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_vertex_uv2"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="uv2" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_vertex_uv2" qualifiers="const" >
			<return type="Vector2">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_vertex_color"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="color" type="Color">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_vertex_color" qualifiers="const" >
			<return type="Color">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_vertex_bones"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="bones" type="IntArray">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_vertex_bones" qualifiers="const" >
			<return type="IntArray">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_vertex_weights"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="weights" type="RealArray">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_vertex_weights" qualifiers="const" >
			<return type="RealArray">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_vertex_meta"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="meta" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_vertex_meta" qualifiers="const" >
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_vertex_edges" qualifiers="const" >
			<return type="IntArray">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_vertex_faces" qualifiers="const" >
			<return type="IntArray">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_edge_vertex" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="vertex" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_edge_faces" qualifiers="const" >
			<return type="IntArray">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_edge_meta"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="meta" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_edge_meta" qualifiers="const" >
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_face_vertex" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="vertex" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_face_edge" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="edge" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_face_meta"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="meta" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_face_meta" qualifiers="const" >
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_face_normal" qualifiers="const" >
			<return type="Vector3">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_material"  >
			<argument index="0" name="material" type="Material">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_material" qualifiers="const" >
			<return type="Object">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="MeshInstance" inherits="GeometryInstance" category="Core">
	<brief_description>
	Node that instances meshes into a [Scenario].
	</brief_description>
	<description>
	MeshInstance is a [Node] that takes a [Mesh] resource and adds it to the current [Scenario] by creating an instance of it. This is the class most often used to get 3D geometry rendered and can be used to instance a sigle [Mesh] in many places. This allows to reuse geometry and save on resources. When a [Mesh] has to be instanced more than thousands of times at close proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead.
	</description>
	<methods>
		<method name="set_mesh"  >
			<argument index="0" name="mesh" type="Mesh">
			</argument>
			<description>
			Set the [Mesh] resource for the instance.
			</description>
		</method>
		<method name="get_mesh" qualifiers="const" >
			<return type="Mesh">
			</return>
			<description>
			Return the current [Mesh] resource for the instance.
			</description>
		</method>
		<method name="set_skeleton_path"  >
			<argument index="0" name="skeleton_path" type="NodePath">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_skeleton_path"  >
			<return type="NodePath">
			</return>
			<description>
			</description>
		</method>
		<method name="get_aabb" qualifiers="const" >
			<return type="AABB">
			</return>
			<description>
			Return the AABB of the mesh, in local coordinates.
			</description>
		</method>
		<method name="create_trimesh_collision"  >
			<description>
			This helper creates a [StaticBody] child [Node] using the mesh geometry as collision. It"apos;s mainly used for testing.
			</description>
		</method>
		<method name="create_convex_collision"  >
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="MeshLibrary" inherits="Resource" category="Core">
	<brief_description>
	Library of meshes.
	</brief_description>
	<description>
	Library of meshes. Contains a list of [Mesh] resources, each with name and ID. Useful for GridMap or painting Terrain.
	</description>
	<methods>
		<method name="create_item"  >
			<argument index="0" name="id" type="int">
			</argument>
			<description>
			Create a new item in the library, supplied an id.
			</description>
		</method>
		<method name="set_item_name"  >
			<argument index="0" name="id" type="int">
			</argument>
			<argument index="1" name="name" type="String">
			</argument>
			<description>
			Set the name of the item.
			</description>
		</method>
		<method name="set_item_mesh"  >
			<argument index="0" name="id" type="int">
			</argument>
			<argument index="1" name="mesh" type="Mesh">
			</argument>
			<description>
			Set the mesh of the item.
			</description>
		</method>
		<method name="set_item_shape"  >
			<argument index="0" name="id" type="int">
			</argument>
			<argument index="1" name="shape" type="Shape">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_item_name" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="id" type="int">
			</argument>
			<description>
			Return the name of the item.
			</description>
		</method>
		<method name="get_item_mesh" qualifiers="const" >
			<return type="Mesh">
			</return>
			<argument index="0" name="id" type="int">
			</argument>
			<description>
			Return the mesh of the item.
			</description>
		</method>
		<method name="get_item_shape" qualifiers="const" >
			<return type="Shape">
			</return>
			<argument index="0" name="id" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="remove_item"  >
			<argument index="0" name="id" type="int">
			</argument>
			<description>
			Remove the item.
			</description>
		</method>
		<method name="clear"  >
			<description>
			Clear the library.
			</description>
		</method>
		<method name="get_item_list" qualifiers="const" >
			<return type="IntArray">
			</return>
			<description>
			Return the list of items.
			</description>
		</method>
		<method name="get_last_unused_item_id" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Get an unused id for a new item.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="MultiMesh" inherits="Resource" category="Core">
	<brief_description>
	Provides high perfomance mesh instancing.
	</brief_description>
	<description>
	MultiMesh provides low level mesh instancing. If the amount of [Mesh] instances needed goes from hundreds to thousands (and most need to be visible at close proximity) creating such a large amount of [MeshInstance] nodes may affect performance by using too much CPU or video memory. [br]For this case a MultiMesh becomes very useful, as it can draw thousands of instances with little API overhead.[br] As a drawback, if the instances are too far away of each other, performance may be reduced as every sigle instance will always rendered (they are spatially indexed as one, for the whole object).[br] Since instances may have any  behavior, the AABB used for visibility must be provided by the user, or generated with [method generate_aabb].
	</description>
	<methods>
		<method name="set_mesh"  >
			<argument index="0" name="mesh" type="Mesh">
			</argument>
			<description>
			Set the [Mesh] resource to be drawn in multiple instances.
			</description>
		</method>
		<method name="get_mesh" qualifiers="const" >
			<return type="Mesh">
			</return>
			<description>
			Return the [Mesh] resource drawn as multiple instances.
			</description>
		</method>
		<method name="set_instance_count"  >
			<argument index="0" name="arg0" type="int">
			</argument>
			<description>
			Set the amount of instnces that is going to be drawn. Changing this number will erase all the existing instance transform and color data.
			</description>
		</method>
		<method name="get_instance_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the amount of instnces that is going to be drawn.
			</description>
		</method>
		<method name="set_instance_transform"  >
			<argument index="0" name="arg0" type="int">
			</argument>
			<argument index="1" name="arg1" type="Transform">
			</argument>
			<description>
			Set the transform for a specific instance.
			</description>
		</method>
		<method name="get_instance_transform" qualifiers="const" >
			<return type="Transform">
			</return>
			<argument index="0" name="arg0" type="int">
			</argument>
			<description>
			Return the transform of a specific instance.
			</description>
		</method>
		<method name="set_instance_color"  >
			<argument index="0" name="arg0" type="int">
			</argument>
			<argument index="1" name="arg1" type="Color">
			</argument>
			<description>
			Set the color of a specific instance.
			</description>
		</method>
		<method name="get_instance_color" qualifiers="const" >
			<return type="Color">
			</return>
			<argument index="0" name="arg0" type="int">
			</argument>
			<description>
			Get the color of a specific instance.
			</description>
		</method>
		<method name="set_aabb"  >
			<argument index="0" name="arg0" type="AABB">
			</argument>
			<description>
			Set the visibility AABB. If not provided, MultiMesh will not be visible.
			</description>
		</method>
		<method name="get_aabb" qualifiers="const" >
			<return type="AABB">
			</return>
			<description>
			Return the visibility AABB.
			</description>
		</method>
		<method name="generate_aabb"  >
			<description>
			Generate a new visibility AABB, using mesh AABB and instance transforms. Since instance information is stored in the [VisualServer], this function is VERY SLOW and must NOT be used often.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="MultiMeshInstance" inherits="GeometryInstance" category="Core">
	<brief_description>
	Node that instances a [MultiMesh].
	</brief_description>
	<description>
	MultiMeshInstance is a [Node] that takes a [MultiMesh] resource and adds it to the current [Scenario] by creating an instance of it (yes, this is an instance of instances).
	</description>
	<methods>
		<method name="set_multimesh"  >
			<argument index="0" name="multimesh" type="Object">
			</argument>
			<description>
			Set the [MultiMesh] to be instance.
			</description>
		</method>
		<method name="get_multimesh" qualifiers="const" >
			<return type="Object">
			</return>
			<description>
			Return the [MultiMesh] that is used for instancing.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Mutex" inherits="Reference" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="lock"  >
			<description>
			</description>
		</method>
		<method name="try_lock"  >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="unlock"  >
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Navigation" inherits="Spatial" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="navmesh_create"  >
			<return type="int">
			</return>
			<argument index="0" name="mesh" type="NavigationMesh">
			</argument>
			<argument index="1" name="xform" type="Transform">
			</argument>
			<argument index="2" name="owner" type="Object" default="NULL">
			</argument>
			<description>
			</description>
		</method>
		<method name="navmesh_set_transform"  >
			<argument index="0" name="id" type="int">
			</argument>
			<argument index="1" name="xform" type="Transform">
			</argument>
			<description>
			</description>
		</method>
		<method name="navmesh_remove"  >
			<argument index="0" name="id" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_simple_path"  >
			<return type="Vector3Array">
			</return>
			<argument index="0" name="start" type="Vector3">
			</argument>
			<argument index="1" name="end" type="Vector3">
			</argument>
			<argument index="2" name="optimize" type="bool" default="true">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_closest_point_to_segment"  >
			<return type="Vector3">
			</return>
			<argument index="0" name="start" type="Vector3">
			</argument>
			<argument index="1" name="end" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_closest_point"  >
			<return type="Vector3">
			</return>
			<argument index="0" name="to_point" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_closest_point_normal"  >
			<return type="Vector3">
			</return>
			<argument index="0" name="to_point" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_up_vector"  >
			<argument index="0" name="up" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_up_vector" qualifiers="const" >
			<return type="Vector3">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="NavigationMesh" inherits="Resource" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_vertices"  >
			<argument index="0" name="vertices" type="Vector3Array">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_vertices" qualifiers="const" >
			<return type="Vector3Array">
			</return>
			<description>
			</description>
		</method>
		<method name="add_polygon"  >
			<argument index="0" name="polygon" type="IntArray">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_polygon_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_polygon"  >
			<return type="IntArray">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="clear_polygons"  >
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="NavigationMeshInstance" inherits="Spatial" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_navigation_mesh"  >
			<argument index="0" name="navmesh" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_navigation_mesh" qualifiers="const" >
			<return type="Object">
			</return>
			<description>
			</description>
		</method>
		<method name="set_enabled"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_enabled" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Nil" category="Built-In Types">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="Nil"  >
			<argument index="0" name="from" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="Nil"  >
			<argument index="0" name="from" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="Nil"  >
			<argument index="0" name="from" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="Nil"  >
			<argument index="0" name="from" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="Nil"  >
			<argument index="0" name="from" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="Nil"  >
			<argument index="0" name="from" type="Rect2">
			</argument>
			<description>
			</description>
		</method>
		<method name="Nil"  >
			<argument index="0" name="from" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="Nil"  >
			<argument index="0" name="from" type="Matrix32">
			</argument>
			<description>
			</description>
		</method>
		<method name="Nil"  >
			<argument index="0" name="from" type="Plane">
			</argument>
			<description>
			</description>
		</method>
		<method name="Nil"  >
			<argument index="0" name="from" type="Quat">
			</argument>
			<description>
			</description>
		</method>
		<method name="Nil"  >
			<argument index="0" name="from" type="AABB">
			</argument>
			<description>
			</description>
		</method>
		<method name="Nil"  >
			<argument index="0" name="from" type="Matrix3">
			</argument>
			<description>
			</description>
		</method>
		<method name="Nil"  >
			<argument index="0" name="from" type="Transform">
			</argument>
			<description>
			</description>
		</method>
		<method name="Nil"  >
			<argument index="0" name="from" type="Color">
			</argument>
			<description>
			</description>
		</method>
		<method name="Nil"  >
			<argument index="0" name="from" type="Image">
			</argument>
			<description>
			</description>
		</method>
		<method name="Nil"  >
			<argument index="0" name="from" type="NodePath">
			</argument>
			<description>
			</description>
		</method>
		<method name="Nil"  >
			<argument index="0" name="from" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="Nil"  >
			<argument index="0" name="from" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="Nil"  >
			<argument index="0" name="from" type="InputEvent">
			</argument>
			<description>
			</description>
		</method>
		<method name="Nil"  >
			<argument index="0" name="from" type="Dictionary">
			</argument>
			<description>
			</description>
		</method>
		<method name="Nil"  >
			<argument index="0" name="from" type="Array">
			</argument>
			<description>
			</description>
		</method>
		<method name="Nil"  >
			<argument index="0" name="from" type="RawArray">
			</argument>
			<description>
			</description>
		</method>
		<method name="Nil"  >
			<argument index="0" name="from" type="IntArray">
			</argument>
			<description>
			</description>
		</method>
		<method name="Nil"  >
			<argument index="0" name="from" type="RealArray">
			</argument>
			<description>
			</description>
		</method>
		<method name="Nil"  >
			<argument index="0" name="from" type="StringArray">
			</argument>
			<description>
			</description>
		</method>
		<method name="Nil"  >
			<argument index="0" name="from" type="Vector2Array">
			</argument>
			<description>
			</description>
		</method>
		<method name="Nil"  >
			<argument index="0" name="from" type="Vector3Array">
			</argument>
			<description>
			</description>
		</method>
		<method name="Nil"  >
			<argument index="0" name="from" type="ColorArray">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Node" inherits="Object" category="Core">
	<brief_description>
	Base class for all the "Scene" elements.
	</brief_description>
	<description>
	Nodes can be set as children of other nodes, resulting in a tree arrangement. Any tree of nodes is called a "Scene".
        Scenes can be saved to disk, and then instanced into other scenes. This allows for very high flexibility in the architecture and data model of the projects. 
        [SceneMainLoop] contains the "active" tree of nodes, and a node becomes active (receinving NOTIFICATION_ENTER_SCENE) when added to that tree.
        A node can contain any number of nodes as a children (but there is only one tree root) with the requirement that no two childrens with the same name can exist.
        Nodes can, optionally, be added to groups. This makes it easy to reach a number of nodes from the code (for example an "enemies" group).
        Nodes can be set to "process" state, so they constantly receive a callback requesting them to process (do anything). Normal processing ([method _process]) happens as fast as possible and is dependent on the frame rate, so the processing time delta is variable. Fixed processing ([method _fixed_process]) happens a fixed amount of times per second (by default 60) and is useful to link itself to the physics.
        Nodes can also process input events. When set, the [method _input] function will be called with every input that the program receives. Since this is usually too overkill (unless used for simple projects), an [method _unhandled_input] function is called when the input was not handled by anyone else (usually, GUI [Control] nodes).
        To keep track of the scene hieararchy (specially when instancing scenes into scenes) an "owner" can be set to a node. This keeps track of who instanced what. This is mostly useful when writing editors and tools, though.
        Finally, when a node is freed, it will free all its children nodes too.
	</description>
	<methods>
		<method name="_enter_scene" qualifiers="virtual" >
			<description>
			Called when entered the scene.
			</description>
		</method>
		<method name="_exit_scene" qualifiers="virtual" >
			<description>
			Called when being removed from the scene.
			</description>
		</method>
		<method name="_fixed_process" qualifiers="virtual" >
			<argument index="0" name="delta" type="float">
			</argument>
			<description>
			Called for fixed processing (synced to the physics).
			</description>
		</method>
		<method name="_input" qualifiers="virtual" >
			<argument index="0" name="event" type="InputEvent">
			</argument>
			<description>
			Called when any input happens (also must enable with [method set_process_input] or the property).
			</description>
		</method>
		<method name="_process" qualifiers="virtual" >
			<argument index="0" name="delta" type="float">
			</argument>
			<description>
			Called for processing. This is called every frame, with the delta time from the previous frame.
			</description>
		</method>
		<method name="_ready" qualifiers="virtual" >
			<description>
			Called when ready (entered scene and children entered too).
			</description>
		</method>
		<method name="_unhandled_input" qualifiers="virtual" >
			<argument index="0" name="event" type="InputEvent">
			</argument>
			<description>
			Called when any input happens that was not handled by something else (also must enable with [method set_process_unhandled_input] or the property).
			</description>
		</method>
		<method name="_unhandled_key_input" qualifiers="virtual" >
			<argument index="0" name="key_event" type="InputEvent">
			</argument>
			<description>
			Called when any key input happens that was not handled by something else.
			</description>
		</method>
		<method name="set_name"  >
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			Set the name of the [Node]. Name must be unique within parent, and setting an already existing name will cause for the node to be automatically renamed.
			</description>
		</method>
		<method name="get_name" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			Return the name of the [Node]. Name is be unique within parent.
			</description>
		</method>
		<method name="add_child"  >
			<argument index="0" name="node" type="Node">
			</argument>
			<description>
			Add a child [Node]. Nodes can have as many children as they want, but every child must have a unique name. Children nodes are automatically deleted when the parent node is deleted, so deleting a whole scene is performed by deleting its topmost node.
			</description>
		</method>
		<method name="remove_child"  >
			<argument index="0" name="node" type="Node">
			</argument>
			<description>
			Remove a child [Node]. Node is NOT deleted and will have to be deleted manually.
			</description>
		</method>
		<method name="remove_and_delete_child"  >
			<argument index="0" name="node" type="Node">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_child_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the amount of children nodes.
			</description>
		</method>
		<method name="get_children" qualifiers="const" >
			<return type="Array">
			</return>
			<description>
			</description>
		</method>
		<method name="get_child" qualifiers="const" >
			<return type="Node">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			Return a children node by it"apos;s index (see [method get_child_count]). This method is often used for iterating all children of a node.
			</description>
		</method>
		<method name="has_node" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="path" type="NodePath">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_node" qualifiers="const" >
			<return type="Node">
			</return>
			<argument index="0" name="path" type="NodePath">
			</argument>
			<description>
			Fetch a node. NodePath must be valid (or else error will occur) and can be either the path to child node, a relative path (from the current node to another node), or an absolute path to a node.[br] Note: fetching absolute paths only works when the node is inside the scene tree (see [method is_inside_scene]). Examples. Assume your current node is Character and following tree:[br]
    root/[br]
    root/Character[br]
    root/Character/Sword[br]
    root/Character/Backpack/Dagger[br]
    root/MyGame[br]
    root/Swamp/Alligator[br]
    root/Swamp/Mosquito[br]
    root/Swamp/Goblin[br]
[br]
    Possible paths are:[br]
    - get_node("Sword")[br]
    - get_node("Backpack/Dagger")[br]
    - get_node("../Swamp/Alligator")[br]
    - get_node("/root/MyGame")[br]
			</description>
		</method>
		<method name="get_parent" qualifiers="const" >
			<return type="Parent">
			</return>
			<description>
			Return the parent [Node] of the current [Node], or an empty Object if the node lacks a parent.
			</description>
		</method>
		<method name="has_node_and_resource" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="path" type="NodePath">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_node_and_resource"  >
			<return type="Array">
			</return>
			<argument index="0" name="path" type="NodePath">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_inside_scene" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return wether the node is inside a scene tree (a tree where the topmost node is a [RootNode])
			</description>
		</method>
		<method name="is_a_parent_of" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="node" type="Node">
			</argument>
			<description>
			Return [i]true[/i] if the "node" argument is a direct or indirect child of the current node, otherwise return [i]false[/i].
			</description>
		</method>
		<method name="is_greater_than" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="node" type="Node">
			</argument>
			<description>
			Return [i]true[/i] if "node" occurs later in the scene hierarchy than the current node, otherwise return [i]false[/i].
			</description>
		</method>
		<method name="get_path" qualifiers="const" >
			<return type="NodePath">
			</return>
			<description>
			Return the absolute path of the current node. This only works if the curent node is inside the scene tree (see [method is_inside_scene]).
			</description>
		</method>
		<method name="get_path_to" qualifiers="const" >
			<return type="NodePath">
			</return>
			<argument index="0" name="node" type="Node">
			</argument>
			<description>
			Return the relative path from the current node to the specified node in "node" argument. Both nodes must be in the same scene, or else the function will fail.
			</description>
		</method>
		<method name="add_to_group"  >
			<argument index="0" name="group" type="String">
			</argument>
			<argument index="1" name="arg1" type="bool" default="false">
			</argument>
			<description>
			Add a node to a group. Groups are helpers to name and organize group of nodes, like for example: "Enemies" "Collectables", etc. A [Node] can be in any number of groups. Nodes can be assigned a group at any time, but will not be added to it until they are inside the scene tree (see [method is_inside_scene]).
			</description>
		</method>
		<method name="remove_from_group"  >
			<argument index="0" name="group" type="String">
			</argument>
			<description>
			Remove a node from a group.
			</description>
		</method>
		<method name="is_in_group" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="group" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="move_child"  >
			<argument index="0" name="child_node" type="Node">
			</argument>
			<argument index="1" name="to_pos" type="int">
			</argument>
			<description>
			Move a child node to a different position (order) amongst the other children. Since calls, signals, etc are performed by tree order, changing the order of chilren nodes may be useful.
			</description>
		</method>
		<method name="get_groups" qualifiers="const" >
			<return type="Array">
			</return>
			<description>
			</description>
		</method>
		<method name="raise"  >
			<description>
			Move this node to the top of the array of nodes of the parent node. This is often useful on GUIs ([Control]), because their order of drawing fully depends on their order in the tree.
			</description>
		</method>
		<method name="set_owner"  >
			<argument index="0" name="owner" type="Node">
			</argument>
			<description>
			Set the node owner. A node can have any other node as owner (as long as a valid parent, grandparent, etc ascending in the tree). When saving a node (using SceneSaver) all the nodes it owns will be saved with it. This allows to create complex SceneTrees, with instancing and subinstancing.
			</description>
		</method>
		<method name="get_owner" qualifiers="const" >
			<return type="Node">
			</return>
			<description>
			Get the node owner (see [method set_node_owner]).
			</description>
		</method>
		<method name="remove_and_skip"  >
			<description>
			Remove a node and set all its children as childrens of the parent node (if exists). All even subscriptions that pass by the removed node will be unsubscribed.
			</description>
		</method>
		<method name="get_index" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Get the node index in the parent (assuming it has a parent).
			</description>
		</method>
		<method name="print_tree"  >
			<description>
			Print the screne to stdout. Used mainly for debugging purposes.
			</description>
		</method>
		<method name="set_filename"  >
			<argument index="0" name="filename" type="String">
			</argument>
			<description>
			A node can contain a filename. This filename should not be changed by the user, unless writing editors and tools. When a scene is instanced from a file, it topmost node contains the filename from where it was loaded.
			</description>
		</method>
		<method name="get_filename" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			Return a filename that may be containedA node can contained by the node. When a scene is instanced from a file, it topmost node contains the filename from where it was loaded (see [method set_filename]).
			</description>
		</method>
		<method name="propagate_notification"  >
			<argument index="0" name="what" type="int">
			</argument>
			<description>
			Notify the current node and all its chldren recursively by calling notification() in all of them.
			</description>
		</method>
		<method name="set_fixed_process"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			Enables or disables node fixed framerate processing. When a node is being processed, it will receive a NOTIFICATION_PROCESS at a fixed (usually 60fps, check [OS] to change that) interval (and the [method _fixed_process] callback will be called if exists). It is common to check how much time was elapsed since the previous frame by calling [method get_fixed_process_time].
			</description>
		</method>
		<method name="get_fixed_process_delta_time" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the time elapsed since the last fixed frame. This is always the same in fixed proecssing unless the frames per second is changed in [OS].
			</description>
		</method>
		<method name="is_fixed_processing" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if fixed processing is enabled (see [method set_fixed_process]).
			</description>
		</method>
		<method name="set_process"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			Enables or disables node processing. When a node is being processed, it will receive a NOTIFICATION_PROCESS on every drawn frame (and the [method _process] callback will be called if exists). It is common to check how much time was elapsed since the previous frame by calling [method get_process_time].
			</description>
		</method>
		<method name="get_process_delta_time" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the time elapsed (in seconds) since the last process callback. This is almost always different each time.
			</description>
		</method>
		<method name="is_processing" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return wether processing is enabled in the current node (see [method set_process]).
			</description>
		</method>
		<method name="set_process_input"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			Enable input processing for node. This is not requiered for GUI controls! It hooks up the node to receive all input (see [method _input]).
			</description>
		</method>
		<method name="is_processing_input" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if the node is processing input (see [method set_process_input]).
			</description>
		</method>
		<method name="set_process_unhandled_input"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			Enable unhandled input processing for node. This is not requiered for GUI controls! It hooks up the node to receive all input that was not previously handled before (usually by a [Control]). (see [method _unhandled_input]).
			</description>
		</method>
		<method name="is_processing_unhandled_input" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if the node is processing unhandled input (see [method set_process_unhandled_input]).
			</description>
		</method>
		<method name="set_process_unhandled_key_input"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_processing_unhandled_key_input" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_pause_mode"  >
			<argument index="0" name="mode" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_pause_mode" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="can_process" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if the node can process.
			</description>
		</method>
		<method name="print_stray_nodes"  >
			<description>
			</description>
		</method>
		<method name="get_position_in_parent" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_scene" qualifiers="const" >
			<return type="SceneMainLoop">
			</return>
			<description>
			Get the current SceneMainLoop. Only returned if the node is inside the scene, else returns null.
			</description>
		</method>
		<method name="duplicate" qualifiers="const" >
			<return type="Node">
			</return>
			<description>
			Return a duplicate of the scene, with all nodes and parameters copied. Subscriptions will not be duplicated.
			</description>
		</method>
		<method name="replace_by"  >
			<argument index="0" name="node" type="Node">
			</argument>
			<argument index="1" name="keep_data" type="bool" default="false">
			</argument>
			<description>
			Replace a node in a scene by a given one. Subscriptions that pass through this node will be lost.
			</description>
		</method>
		<method name="get_viewport" qualifiers="const" >
			<return type="Object">
			</return>
			<description>
			</description>
		</method>
		<method name="queue_free"  >
			<description>
			</description>
		</method>
	</methods>
	<signals>
		<signal name="enter_scene">
			<description>
			Emitted when the node enters the scene.
			</description>
		</signal>
		<signal name="renamed">
			<description>
			Emitted when the node is renamed.
			</description>
		</signal>
		<signal name="exit_scene">
			<description>
			Emitted when the node exits the scene.
			</description>
		</signal>
	</signals>
	<constants>
		<constant name="NOTIFICATION_ENTER_SCENE" value="10">
			Notification received when the node enters the Scene Tree and gains access to the [RootNode]. Note that children nodes will not have received the notification at that time yet.
		</constant>
		<constant name="NOTIFICATION_EXIT_SCENE" value="11">
			Notification received when the node exits the Scene Tree and loses access to the [RootNode]. Note that parent nodes will not have received the notification at that time yet.
		</constant>
		<constant name="NOTIFICATION_MOVED_IN_PARENT" value="12">
		</constant>
		<constant name="NOTIFICATION_READY" value="13">
		</constant>
		<constant name="NOTIFICATION_FIXED_PROCESS" value="16">
		</constant>
		<constant name="NOTIFICATION_PROCESS" value="17">
			Notification received every frame when the process flag is set (see [method set_process]).
		</constant>
		<constant name="NOTIFICATION_PARENTED" value="18">
			Notification received when a node is set as a child of another node. Note that this doesn't mean that a node entered the Scene Tree.
		</constant>
		<constant name="NOTIFICATION_UNPARENTED" value="19">
			Notification received when a node is unparented (parent removed it from the list of children).
		</constant>
		<constant name="NOTIFICATION_PAUSED" value="14">
		</constant>
		<constant name="NOTIFICATION_UNPAUSED" value="15">
		</constant>
		<constant name="PAUSE_MODE_INHERIT" value="0">
		</constant>
		<constant name="PAUSE_MODE_STOP" value="1">
		</constant>
		<constant name="PAUSE_MODE_PROCESS" value="2">
		</constant>
	</constants>
</class>
<class name="Node2D" inherits="CanvasItem" category="Core">
	<brief_description>
	Base node for 2D system.
	</brief_description>
	<description>
	Base node for 2D system. Node2D contains a position, rotation and scale, which is used to position and animate.
        It can alternatively be used with a custom 2D transform ([Matrix32]).
        A tree of Node2Ds allows complex hierachies for animation and positioning.
	</description>
	<methods>
		<method name="set_pos"  >
			<argument index="0" name="pos" type="Vector2">
			</argument>
			<description>
			Set the position of the 2d node.
			</description>
		</method>
		<method name="set_rot"  >
			<argument index="0" name="rot" type="float">
			</argument>
			<description>
			Set the rotation of the 2d node.
			</description>
		</method>
		<method name="set_scale"  >
			<argument index="0" name="scale" type="Vector2">
			</argument>
			<description>
			Set the scale of the 2d node.
			</description>
		</method>
		<method name="get_pos" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			Return the position of the 2D node.
			</description>
		</method>
		<method name="get_rot" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the rotation of the 2D node.
			</description>
		</method>
		<method name="get_scale" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			Return the scale of the 2D node.
			</description>
		</method>
		<method name="rotate"  >
			<argument index="0" name="degrees" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="move_local_x"  >
			<argument index="0" name="delta" type="float">
			</argument>
			<argument index="1" name="scaled" type="bool" default="false">
			</argument>
			<description>
			</description>
		</method>
		<method name="move_local_y"  >
			<argument index="0" name="delta" type="float">
			</argument>
			<argument index="1" name="scaled" type="bool" default="false">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_global_pos" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			Return the global position of the 2D node.
			</description>
		</method>
		<method name="set_global_pos"  >
			<argument index="0" name="arg0" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_transform"  >
			<argument index="0" name="xform" type="Matrix32">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_global_transform"  >
			<argument index="0" name="xform" type="Matrix32">
			</argument>
			<description>
			</description>
		</method>
		<method name="edit_set_pivot"  >
			<argument index="0" name="arg0" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="NodePath" category="Built-In Types">
	<brief_description>
	Built-in type optimized for path traversing.
	</brief_description>
	<description>
	Built-in type optimized for path traversing. A Node path is an optimized compiled path used for traversing the scene tree. 
        It references nodes and can reference properties in that node, or even reference properties inside the resources of the node.
	</description>
	<methods>
		<method name="get_name"  >
			<return type="String">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			Return a path level name.
			</description>
		</method>
		<method name="get_name_count"  >
			<return type="int">
			</return>
			<description>
			Return the path level count.
			</description>
		</method>
		<method name="get_property"  >
			<return type="String">
			</return>
			<description>
			Return the property associated (empty if none).
			</description>
		</method>
		<method name="get_subname"  >
			<return type="String">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			Return the subname level name.
			</description>
		</method>
		<method name="get_subname_count"  >
			<return type="int">
			</return>
			<description>
			Return the subname count.
			</description>
		</method>
		<method name="is_absolute"  >
			<return type="bool">
			</return>
			<description>
			Return true if the node path is absolute (not relative).
			</description>
		</method>
		<method name="is_empty"  >
			<return type="bool">
			</return>
			<description>
			Return true if the node path is empty.
			</description>
		</method>
		<method name="NodePath"  >
			<argument index="0" name="from" type="String">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="OS" inherits="Object" category="Core">
	<brief_description>
	Operating System functions.
	</brief_description>
	<description>
	Operating System functions. OS Wraps the most common functionality to communicate with the host Operating System, such as:
        -Mouse Grabbing
        -Mouse Cursors        
        -Clipboard
        -Video Mode
        -Date " Time
        -Timers        
        -Environment Variables
        -Execution of Binaries
        -Command Line
	</description>
	<methods>
		<method name="set_clipboard"  >
			<argument index="0" name="clipboard" type="String">
			</argument>
			<description>
			Set clipboard to the OS.
			</description>
		</method>
		<method name="get_clipboard" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			Get clipboard from the host OS.
			</description>
		</method>
		<method name="set_video_mode"  >
			<argument index="0" name="size" type="Vector2">
			</argument>
			<argument index="1" name="fullscreen" type="bool">
			</argument>
			<argument index="2" name="resizable" type="bool">
			</argument>
			<argument index="3" name="screen" type="int" default="0">
			</argument>
			<description>
			Change the video mode.
			</description>
		</method>
		<method name="get_video_mode_size" qualifiers="const" >
			<return type="Vector2">
			</return>
			<argument index="0" name="screen" type="int" default="0">
			</argument>
			<description>
			Return the current video mode size.
			</description>
		</method>
		<method name="is_video_mode_fullscreen" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="screen" type="int" default="0">
			</argument>
			<description>
			Return true if the current video mode is fullscreen.
			</description>
		</method>
		<method name="is_video_mode_resizable" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="screen" type="int" default="0">
			</argument>
			<description>
			Return true if the window is resizable.
			</description>
		</method>
		<method name="get_fullscreen_mode_list" qualifiers="const" >
			<return type="Array">
			</return>
			<argument index="0" name="screen" type="int" default="0">
			</argument>
			<description>
			Return the list of fullscreen modes.
			</description>
		</method>
		<method name="set_iterations_per_second"  >
			<argument index="0" name="iterations_per_second" type="int">
			</argument>
			<description>
			Set the amount of fixed iterations per second (for fixed process and physics).
			</description>
		</method>
		<method name="get_iterations_per_second" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the amount of fixed iterations per second (for fixed process and physics).
			</description>
		</method>
		<method name="set_target_fps"  >
			<argument index="0" name="target_fps" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_target_fps" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_time_scale"  >
			<argument index="0" name="time_scale" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_time_scale"  >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="has_touchscreen_ui_hint" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_low_processor_usage_mode"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			Set to true to enable the low cpu usage mode. In this mode, the screen only redraws when there are changes, and a considerable sleep time is inserted between frames.
                        This way, editors using the engine UI only use very little cpu.
			</description>
		</method>
		<method name="is_in_low_processor_usage_mode" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if low cpu usage mode is enabled.
			</description>
		</method>
		<method name="get_processor_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_executable_path" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			Return the path tot he current engine executable.
			</description>
		</method>
		<method name="execute"  >
			<return type="int">
			</return>
			<argument index="0" name="path" type="String">
			</argument>
			<argument index="1" name="arguments" type="StringArray">
			</argument>
			<argument index="2" name="blocking" type="bool">
			</argument>
			<argument index="3" name="output" type="Array" default="Array()">
			</argument>
			<description>
			Execute the binary file in given path, optionally blocking until it returns. A process ID is returned.
			</description>
		</method>
		<method name="kill"  >
			<return type="int">
			</return>
			<argument index="0" name="pid" type="int">
			</argument>
			<description>
			Kill a process ID.
			</description>
		</method>
		<method name="shell_open"  >
			<return type="int">
			</return>
			<argument index="0" name="uri" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_process_ID" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_environment" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="environment" type="String">
			</argument>
			<description>
			Return an environment variable.
			</description>
		</method>
		<method name="has_environment" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="environment" type="String">
			</argument>
			<description>
			Return true if an envieronment variable exists.
			</description>
		</method>
		<method name="get_name" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			Return the name of the host OS.
			</description>
		</method>
		<method name="get_cmdline_args"  >
			<return type="StringArray">
			</return>
			<description>
			Return the commandline passed to the engine.
			</description>
		</method>
		<method name="get_main_loop" qualifiers="const" >
			<return type="Object">
			</return>
			<description>
			Return the main loop object (see [MainLoop]).
			</description>
		</method>
		<method name="get_date" qualifiers="const" >
			<return type="Dictionary">
			</return>
			<description>
			Return the current date.
			</description>
		</method>
		<method name="get_time" qualifiers="const" >
			<return type="Dictionary">
			</return>
			<description>
			Return the current time.
			</description>
		</method>
		<method name="get_unix_time" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_icon"  >
			<argument index="0" name="arg0" type="Image">
			</argument>
			<description>
			</description>
		</method>
		<method name="delay_usec" qualifiers="const" >
			<argument index="0" name="usec" type="int">
			</argument>
			<description>
			Delay executing of the current thread by given usecs.
			</description>
		</method>
		<method name="delay_msec" qualifiers="const" >
			<argument index="0" name="msec" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_ticks_msec" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the amount of time passed in milliseconds since the engine started.
			</description>
		</method>
		<method name="get_locale" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			Return the host OS locale.
			</description>
		</method>
		<method name="get_model_name" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="get_custom_level" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="can_draw" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if the host OS allows drawing.
			</description>
		</method>
		<method name="get_frames_drawn"  >
			<return type="int">
			</return>
			<description>
			Return the total amount of frames drawn.
			</description>
		</method>
		<method name="is_stdout_verbose" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if the engine was executed with -v (verbose stdout).
			</description>
		</method>
		<method name="can_use_threads" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="is_debug_build" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="dump_memory_to_file"  >
			<argument index="0" name="file" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="dump_resources_to_file"  >
			<argument index="0" name="file" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="print_resources_in_use"  >
			<argument index="0" name="short" type="bool" default="false">
			</argument>
			<description>
			</description>
		</method>
		<method name="print_all_resources"  >
			<argument index="0" name="tofile" type="String" default="&quot;&quot;">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_static_memory_usage" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_static_memory_peak_usage" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the max amount of static memory used (only works in debug).
			</description>
		</method>
		<method name="get_dynamic_memory_usage" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the total amount of dynamic memory used (only works in debug).
			</description>
		</method>
		<method name="get_data_dir" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="get_unique_ID" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="get_frames_per_second" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="print_all_textures_by_size"  >
			<description>
			</description>
		</method>
		<method name="print_resources_by_type"  >
			<argument index="0" name="arg0" type="StringArray">
			</argument>
			<description>
			</description>
		</method>
		<method name="native_video_play"  >
			<return type="int">
			</return>
			<argument index="0" name="arg0" type="String">
			</argument>
			<argument index="1" name="arg1" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="native_video_is_playing"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="native_video_stop"  >
			<description>
			</description>
		</method>
		<method name="native_video_pause"  >
			<description>
			</description>
		</method>
		<method name="set_use_file_access_save_and_swap"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="DAY_SUNDAY" value="0">
		</constant>
		<constant name="DAY_MONDAY" value="1">
		</constant>
		<constant name="DAY_TUESDAY" value="2">
		</constant>
		<constant name="DAY_WEDNESDAY" value="3">
		</constant>
		<constant name="DAY_THURSDAY" value="4">
		</constant>
		<constant name="DAY_FRIDAY" value="5">
		</constant>
		<constant name="DAY_SATURDAY" value="6">
		</constant>
		<constant name="MONTH_JANUARY" value="0">
		</constant>
		<constant name="MONTH_FEBRUARY" value="1">
		</constant>
		<constant name="MONTH_MARCH" value="2">
		</constant>
		<constant name="MONTH_APRIL" value="3">
		</constant>
		<constant name="MONTH_MAY" value="4">
		</constant>
		<constant name="MONTH_JUNE" value="5">
		</constant>
		<constant name="MONTH_JULY" value="6">
		</constant>
		<constant name="MONTH_AUGUST" value="7">
		</constant>
		<constant name="MONTH_SEPTEMBER" value="8">
		</constant>
		<constant name="MONTH_OCTOBER" value="9">
		</constant>
		<constant name="MONTH_NOVEMBER" value="10">
		</constant>
		<constant name="MONTH_DECEMBER" value="11">
		</constant>
	</constants>
</class>
<class name="Object" category="Core">
	<brief_description>
	Base class for all non built-in types.
	</brief_description>
	<description>
	Base class for all non built-in types. Everything not a built-in type starts the inheritance chain from this class.
        Objects do not manage memory, if inheriting from one the object will most likely have to be deleted manually (call the [method free] function from the script or delete from C++).
        Some derivates add memory management, such as [Reference] (which keps a reference count and deletes itself automatically when no longer referenced) and [Node], which deletes the children tree when deleted.
        Objects export properties, which are mainly useful for storage and editing, but not really so much in programming. Properties are exported in [method _get_property_list] and handled in [method _get] and [_set]. However, scripting languages and C++ have simper means to export them.
        Objects also receive notifications ([method _notification]). Notifications are a simple way to notify the object about simple events, so they can all be handled together.
	</description>
	<methods>
		<method name="_get" qualifiers="virtual" >
			<argument index="0" name="property" type="String">
			</argument>
			<description>
			Return a property, return null if the property does not exist.
			</description>
		</method>
		<method name="_get_property_list" qualifiers="virtual" >
			<return type="Array">
			</return>
			<description>
			Return the property list, array of dictionaries, dictionaries must countain: name:String, type:int (see TYPE_* enum in globals) and optionally: hint:int (see PROPERTY_HINT_* in globals), hint_string:String, usage:int (see PROPERTY_USAGE_* in globals).
			</description>
		</method>
		<method name="_init" qualifiers="virtual" >
			<description>
			</description>
		</method>
		<method name="_notification" qualifiers="virtual" >
			<argument index="0" name="what" type="int">
			</argument>
			<description>
			Notification request, the notification id is received.
			</description>
		</method>
		<method name="_set" qualifiers="virtual" >
			<argument index="0" name="property" type="String">
			</argument>
			<argument index="1" name="value" type="var">
			</argument>
			<description>
			Set a property. Return true if the property was found.
			</description>
		</method>
		<method name="get_type" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			Return the type of the object as a string.
			</description>
		</method>
		<method name="is_type" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="type" type="String">
			</argument>
			<description>
			Check the type of the obeject against a string (including inheritance).
			</description>
		</method>
		<method name="set"  >
			<argument index="0" name="property" type="String">
			</argument>
			<argument index="1" name="value" type="var">
			</argument>
			<description>
			Set property into the object.
			</description>
		</method>
		<method name="get" qualifiers="const" >
			<argument index="0" name="property" type="String">
			</argument>
			<description>
			Get a property from the object.
			</description>
		</method>
		<method name="get_property_list" qualifiers="const" >
			<return type="Array">
			</return>
			<description>
			Return the list of properties as an array of dictionaries, dictionaries countain: name:String, type:int (see TYPE_* enum in globals) and optionally: hint:int (see PROPERTY_HINT_* in globals), hint_string:String, usage:int (see PROPERTY_USAGE_* in globals).
			</description>
		</method>
		<method name="notification"  >
			<argument index="0" name="what" type="int">
			</argument>
			<argument index="1" name="arg1" type="bool" default="false">
			</argument>
			<description>
			Notify the object of something.
			</description>
		</method>
		<method name="get_instance_ID" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the instance ID. All objects have a unique instance ID.
			</description>
		</method>
		<method name="set_script"  >
			<argument index="0" name="script" type="Script">
			</argument>
			<description>
			Set a script into the object, scripts extend the object functionality.
			</description>
		</method>
		<method name="get_script" qualifiers="const" >
			<return type="Script">
			</return>
			<description>
			Return the object script (or null if it doesn't have one).
			</description>
		</method>
		<method name="set_meta"  >
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="value" type="var">
			</argument>
			<description>
			Set a metadata into the object. Medatada is serialized. Metadata can be [i]anything[/i].
			</description>
		</method>
		<method name="get_meta" qualifiers="const" >
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			Return a metadata from the object.
			</description>
		</method>
		<method name="has_meta" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			Return true if a metadata is found with the requested name.
			</description>
		</method>
		<method name="get_meta_list" qualifiers="const" >
			<return type="StringArray">
			</return>
			<description>
			Return the list of metadatas in the object.
			</description>
		</method>
		<method name="add_user_signal"  >
			<argument index="0" name="signal" type="String">
			</argument>
			<argument index="1" name="arguments" type="Array" default="Array()">
			</argument>
			<description>
			Add a user signal (can be added anytime). Arguments are optional, but can be added as an array of dictionaries, each containing "name" and "type" (from [@GlobalScope] TYPE_*).
			</description>
		</method>
		<method name="emit_signal"  >
			<argument index="0" name="signal" type="String">
			</argument>
			<argument index="1" name="arg0" type="var" default="NULL">
			</argument>
			<argument index="2" name="arg1" type="var" default="NULL">
			</argument>
			<argument index="3" name="arg2" type="var" default="NULL">
			</argument>
			<argument index="4" name="arg3" type="var" default="NULL">
			</argument>
			<argument index="5" name="arg4" type="var" default="NULL">
			</argument>
			<description>
			Emit a signal. Arguments are passed in an array.
			</description>
		</method>
		<method name="call"  >
			<argument index="0" name="method" type="String">
			</argument>
			<argument index="1" name="arg0" type="var" default="NULL">
			</argument>
			<argument index="2" name="arg1" type="var" default="NULL">
			</argument>
			<argument index="3" name="arg2" type="var" default="NULL">
			</argument>
			<argument index="4" name="arg3" type="var" default="NULL">
			</argument>
			<argument index="5" name="arg4" type="var" default="NULL">
			</argument>
			<argument index="6" name="arg5" type="var" default="NULL">
			</argument>
			<argument index="7" name="arg6" type="var" default="NULL">
			</argument>
			<argument index="8" name="arg7" type="var" default="NULL">
			</argument>
			<argument index="9" name="arg8" type="var" default="NULL">
			</argument>
			<argument index="10" name="arg9" type="var" default="NULL">
			</argument>
			<description>
			Call a function in the object, result is returned.
			</description>
		</method>
		<method name="call_deferred"  >
			<argument index="0" name="method" type="String">
			</argument>
			<argument index="1" name="arg0" type="var" default="NULL">
			</argument>
			<argument index="2" name="arg1" type="var" default="NULL">
			</argument>
			<argument index="3" name="arg2" type="var" default="NULL">
			</argument>
			<argument index="4" name="arg3" type="var" default="NULL">
			</argument>
			<argument index="5" name="arg4" type="var" default="NULL">
			</argument>
			<description>
			Create and store a function in the object. The call will take place on idle time.
			</description>
		</method>
		<method name="callv"  >
			<argument index="0" name="method" type="String">
			</argument>
			<argument index="1" name="arg_array" type="Array">
			</argument>
			<description>
			</description>
		</method>
		<method name="has_method" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="arg0" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_signal_list" qualifiers="const" >
			<return type="Array">
			</return>
			<description>
			Return the list of signals as an array of dictionaries.
			</description>
		</method>
		<method name="connect"  >
			<return type="int">
			</return>
			<argument index="0" name="signal" type="String">
			</argument>
			<argument index="1" name="target" type="Object">
			</argument>
			<argument index="2" name="method" type="String">
			</argument>
			<argument index="3" name="binds" type="Array" default="Array()">
			</argument>
			<argument index="4" name="flags" type="int" default="0">
			</argument>
			<description>
			Connect a signal to a method at a target (member function). Binds are optional and are passed as extra arguments to the call. Flags specify optional deferred or one shot connections, see enum CONNECT_*.
                        A signal can only be connected once to a method, and it will throw an error if already connected. If you want to avoid this, use [method is_connected] to check.
			</description>
		</method>
		<method name="disconnect"  >
			<argument index="0" name="signal" type="String">
			</argument>
			<argument index="1" name="target" type="Object">
			</argument>
			<argument index="2" name="method" type="String">
			</argument>
			<description>
			Disconnect a signal from a method.
			</description>
		</method>
		<method name="is_connected" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="signal" type="String">
			</argument>
			<argument index="1" name="target" type="Object">
			</argument>
			<argument index="2" name="method" type="String">
			</argument>
			<description>
			Return true if a connection exists for a given signal and target/method.
			</description>
		</method>
		<method name="set_block_signals"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			If set to true, signal emission is blocked.
			</description>
		</method>
		<method name="is_blocking_signals" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if signal emission blocking is enabled.
			</description>
		</method>
		<method name="set_message_translation"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			Set true if this object can translate strings (in calls to tr() ). Default is true.
			</description>
		</method>
		<method name="can_translate_messages" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if this object can translate strings.
			</description>
		</method>
		<method name="property_list_changed_notify"  >
			<description>
			</description>
		</method>
		<method name="XL_MESSAGE" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="message" type="String">
			</argument>
			<description>
			deprecated, will go away.
			</description>
		</method>
		<method name="tr" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="message" type="String">
			</argument>
			<description>
			Translate a message. Only works in message translation is enabled (which is by default). See [method set_message_translation].
			</description>
		</method>
	</methods>
	<signals>
		<signal name="script_changed">
			<description>
			</description>
		</signal>
	</signals>
	<constants>
		<constant name="NOTIFICATION_POSTINITIALIZE" value="0">
			Called right when the object is initialized. Not available in script.
		</constant>
		<constant name="NOTIFICATION_PREDELETE" value="1">
			Called before the object is about to be deleted.
		</constant>
		<constant name="CONNECT_DEFERRED" value="1">
			Connect a signal in deferred mode. This way, signal emissions are stored in a queue, then set on idle time.
		</constant>
		<constant name="CONNECT_PERSIST" value="2">
			Persisting connections are saved when the object is serialized to file.
		</constant>
		<constant name="CONNECT_ONESHOT" value="4">
			One short connections disconnect themselves after emission.
		</constant>
	</constants>
</class>
<class name="OmniLight" inherits="Light" category="Core">
	<brief_description>
	OmniDirectional Light, such as a lightbulb or a candle.
	</brief_description>
	<description>
	An OmniDirectional light is a type of [Light] node that emits lights in all directions. The light is attenuated through the distance and this attenuation can be configured by changing the energy, radius and attenuation parameters of [Light]. TODO: Image of an omnilight.
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
</class>
<class name="OptionButton" inherits="Button" category="Core">
	<brief_description>
	Button control that provides selectable options when pressed.
	</brief_description>
	<description>
	OptionButton is a type button that provides a selectable list of items when pressed. The item selected becomes the "current" item and is displayed as the button text.
	</description>
	<methods>
		<method name="add_item"  >
			<argument index="0" name="label" type="String">
			</argument>
			<argument index="1" name="id" type="int" default="-1">
			</argument>
			<description>
			Add an item, with text "label" and (optionally) id. If no "id" is passed, "id" becomes the item index. New items are appended at the end.
			</description>
		</method>
		<method name="add_icon_item"  >
			<argument index="0" name="texture" type="Texture">
			</argument>
			<argument index="1" name="label" type="String">
			</argument>
			<argument index="2" name="id" type="int">
			</argument>
			<description>
			Add an item, with a "texture" icon, text "label" and (optionally) id. If no "id" is passed, "id" becomes the item index. New items are appended at the end.
			</description>
		</method>
		<method name="set_item_text"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="text" type="String">
			</argument>
			<description>
			Set the text of an item at index "idx".
			</description>
		</method>
		<method name="set_item_icon"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="texture" type="Texture">
			</argument>
			<description>
			Set the icon of an item at index "idx".
			</description>
		</method>
		<method name="set_item_disabled"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="disabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_item_ID"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="id" type="int">
			</argument>
			<description>
			Set the ID of an item at index "idx".
			</description>
		</method>
		<method name="set_item_metadata"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="metadata" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_item_text" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			Return the text of the item at index "idx".
			</description>
		</method>
		<method name="get_item_icon" qualifiers="const" >
			<return type="Texture">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			Return the icon of the item at index "idx".
			</description>
		</method>
		<method name="get_item_ID" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			Return the ID of the item at index "idx".
			</description>
		</method>
		<method name="get_item_metadata" qualifiers="const" >
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_item_disabled" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_item_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the amount of items in the OptionButton.
			</description>
		</method>
		<method name="add_separator"  >
			<description>
			Add a separator to the list of items. Separators help to group items. Separator also takes up an index and is appended at the end.
			</description>
		</method>
		<method name="clear"  >
			<description>
			Clear all the items in the [OptionButton].
			</description>
		</method>
		<method name="select"  >
			<argument index="0" name="arg0" type="int">
			</argument>
			<description>
			Select an item by index and make it the current item.
			</description>
		</method>
		<method name="get_selected" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the current item index
			</description>
		</method>
		<method name="get_selected_ID" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_selected_metadata" qualifiers="const" >
			<description>
			</description>
		</method>
		<method name="remove_item"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<signals>
		<signal name="item_selected">
			<argument index="0" name="ID" type="int">
			</argument>
			<description>
			This signal is emitted when the current item was changed by the user. ID of the item selected is passed as argument (if no IDs were added, ID will be just the item index).
			</description>
		</signal>
	</signals>
	<constants>
	</constants>
	<theme_items>
		<theme_item name="hseparation" type="int">
		</theme_item>
		<theme_item name="arrow_margin" type="int">
		</theme_item>
		<theme_item name="font_color_disabled" type="Color">
		</theme_item>
		<theme_item name="font_color" type="Color">
		</theme_item>
		<theme_item name="font_color_hover" type="Color">
		</theme_item>
		<theme_item name="font_color_pressed" type="Color">
		</theme_item>
		<theme_item name="arrow" type="Texture">
		</theme_item>
		<theme_item name="font" type="Font">
		</theme_item>
		<theme_item name="hover" type="StyleBox">
		</theme_item>
		<theme_item name="pressed" type="StyleBox">
		</theme_item>
		<theme_item name="focus" type="StyleBox">
		</theme_item>
		<theme_item name="disabled" type="StyleBox">
		</theme_item>
		<theme_item name="normal" type="StyleBox">
		</theme_item>
	</theme_items>
</class>
<class name="PCKPacker" inherits="Object" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="pck_start"  >
			<return type="int">
			</return>
			<argument index="0" name="pck_name" type="String">
			</argument>
			<argument index="1" name="alignment" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="add_file"  >
			<return type="int">
			</return>
			<argument index="0" name="pck_path" type="String">
			</argument>
			<argument index="1" name="source_path" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="flush"  >
			<return type="int">
			</return>
			<argument index="0" name="arg0" type="bool">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="PHashTranslation" inherits="Translation" category="Core">
	<brief_description>
	Optimized translation.
	</brief_description>
	<description>
	Optimized translation. Uses real-time compressed translations, which results in very small dictionaries.
	</description>
	<methods>
		<method name="generate"  >
			<argument index="0" name="from" type="Translation">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="PackedDataContainer" inherits="Resource" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="pack"  >
			<return type="int">
			</return>
			<argument index="0" name="value" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="size" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="PackedDataContainerRef" inherits="Reference" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="size" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="PackedScene" inherits="Resource" category="Core">
	<brief_description>
	</brief_description>
	<description>
	explain ownership, and that node does not need to own itself
	</description>
	<methods>
		<method name="pack"  >
			<return type="int">
			</return>
			<argument index="0" name="path" type="Node">
			</argument>
			<description>
			Pack will ignore any sub-nodes not owned by given
			node. See [Node.set_owner].
			</description>
		</method>
		<method name="instance" qualifiers="const" >
			<return type="Node">
			</return>
			<argument index="0" name="arg0" type="bool" default="false">
			</argument>
			<description>
			</description>
		</method>
		<method name="can_instance" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="PacketPeer" inherits="Reference" category="Core">
	<brief_description>
	Abstraction and base class for packet-based protocols.
	</brief_description>
	<description>
	PacketPeer is an abstration and base class for packet-based protocols (such as UDP). It provides an API for sending and receiving packets both as raw data or variables. This makes it easy to transfer data over a protocol, without having to encode data as low level bytes or having to worry about network ordering.
	</description>
	<methods>
		<method name="get_var" qualifiers="const" >
			<description>
			</description>
		</method>
		<method name="put_var"  >
			<return type="int">
			</return>
			<argument index="0" name="var" type="Variant">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_available_packet_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="PacketPeerStream" inherits="PacketPeer" category="Core">
	<brief_description>
	Wrapper to use a PacketPeer over a StreamPeer.
	</brief_description>
	<description>
	PacketStreamPeer provides a wrapper for working using packets over a stream. This allows for using packet based code with StreamPeers. PacketPeerStream implements a custom protocol over the StreamPeer, so the user should not read or write to the wrapped StreamPeer directly.
	</description>
	<methods>
		<method name="set_stream_peer"  >
			<argument index="0" name="peer" type="StreamPeer">
			</argument>
			<description>
			Set the StreamPeer object to be wrapped
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Panel" inherits="Control" category="Core">
	<brief_description>
	Provides an opaque background for [Control] children.
	</brief_description>
	<description>
	Panel is a [Control] that displays an opaque background. It's commoly used as a parent and container for other types of [Control]
	nodes."#10;"#9;[center][img]images/panel_example.png[/img][/center]
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
	<theme_items>
		<theme_item name="panelf" type="StyleBox">
		</theme_item>
		<theme_item name="panel" type="StyleBox">
		</theme_item>
		<theme_item name="panelnc" type="StyleBox">
		</theme_item>
	</theme_items>
</class>
<class name="PanelContainer" inherits="Container" category="Core">
	<brief_description>
	Panel container type.
	</brief_description>
	<description>
	Panel container type. This container fits controls inside of the delimited area of a stylebox. It's useful for giving controls an outline.
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
	<theme_items>
		<theme_item name="panel" type="StyleBox">
		</theme_item>
	</theme_items>
</class>
<class name="ParallaxBackground" inherits="CanvasLayer" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_scroll_offset"  >
			<argument index="0" name="ofs" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_scroll_offset" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="set_scroll_base_offset"  >
			<argument index="0" name="ofs" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_scroll_base_offset" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="set_scroll_base_scale"  >
			<argument index="0" name="scale" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_scroll_base_scale" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="set_limit_begin"  >
			<argument index="0" name="ofs" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_limit_begin" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="set_limit_end"  >
			<argument index="0" name="ofs" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_limit_end" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="ParallaxLayer" inherits="Node2D" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_motion_scale"  >
			<argument index="0" name="scale" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_motion_scale" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="set_mirroring"  >
			<argument index="0" name="mirror" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_mirroring" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="ParticleAttractor2D" inherits="Node2D" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_enabled"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_enabled" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_radius"  >
			<argument index="0" name="radius" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_radius" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_disable_radius"  >
			<argument index="0" name="radius" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_disable_radius" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_gravity"  >
			<argument index="0" name="gravity" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_gravity" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_absorption"  >
			<argument index="0" name="absorption" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_absorption" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_particles_path"  >
			<argument index="0" name="path" type="NodePath">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_particles_path" qualifiers="const" >
			<return type="NodePath">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="ParticleSystemMaterial" inherits="Material" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_texture"  >
			<argument index="0" name="texture" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_texture" qualifiers="const" >
			<return type="Texture">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Particles" inherits="GeometryInstance" category="Core">
	<brief_description>
	Particle system 3D Node
	</brief_description>
	<description>
	Particles is a particle system 3D [Node] that is used to simulate several types of particle effects, such as explosions, rain, snow, fireflies, or other magical-like shinny sparkles. Particles are drawn using impostors, and given their dynamic behavior, the user must provide a visibility AABB (although helpers to create one automatically exist).
	</description>
	<methods>
		<method name="set_amount"  >
			<argument index="0" name="amount" type="int">
			</argument>
			<description>
			Set total amount of particles in the system.
			</description>
		</method>
		<method name="get_amount" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the total amount of particles in the system.
			</description>
		</method>
		<method name="set_emitting"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			Set the "emitting" property state. When emitting, the particle system generates new particles at constant rate.
			</description>
		</method>
		<method name="is_emitting" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return the "emitting" property state (see [method set_emitting]).
			</description>
		</method>
		<method name="set_visibility_aabb"  >
			<argument index="0" name="aabb" type="AABB">
			</argument>
			<description>
			Set the visibility AABB for the particle system, since the default one will not work properly most of the time.
			</description>
		</method>
		<method name="get_visibility_aabb" qualifiers="const" >
			<return type="AABB">
			</return>
			<description>
			Return the current visibility AABB.
			</description>
		</method>
		<method name="set_emission_half_extents"  >
			<argument index="0" name="half_extents" type="Vector3">
			</argument>
			<description>
			Set the half extents for the emission box.
			</description>
		</method>
		<method name="get_emission_half_extents" qualifiers="const" >
			<return type="Vector3">
			</return>
			<description>
			Return the half extents for the emission box.
			</description>
		</method>
		<method name="set_emission_base_velocity"  >
			<argument index="0" name="base_velocity" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_emission_base_velocity" qualifiers="const" >
			<return type="Vector3">
			</return>
			<description>
			</description>
		</method>
		<method name="set_emission_points"  >
			<argument index="0" name="points" type="Vector3Array">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_emission_points" qualifiers="const" >
			<return type="Vector3Array">
			</return>
			<description>
			</description>
		</method>
		<method name="set_gravity_normal"  >
			<argument index="0" name="normal" type="Vector3">
			</argument>
			<description>
			Set the normal vector towards where gravity is pulling (by default, negative Y).
			</description>
		</method>
		<method name="get_gravity_normal" qualifiers="const" >
			<return type="Vector3">
			</return>
			<description>
			Return the normal vector towards where gravity is pulling (by default, negative Y).
			</description>
		</method>
		<method name="set_variable"  >
			<argument index="0" name="variable" type="int">
			</argument>
			<argument index="1" name="value" type="float">
			</argument>
			<description>
			Set a specific variable for the particle system (see VAR_* enum).
			</description>
		</method>
		<method name="get_variable" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="variable" type="int">
			</argument>
			<description>
			Return a specific variable for the particle system (see VAR_* enum).
			</description>
		</method>
		<method name="set_randomness"  >
			<argument index="0" name="variable" type="int">
			</argument>
			<argument index="1" name="randomness" type="float">
			</argument>
			<description>
			Set the randomness for a specific variable of the particle system. Randomness produces small changes from the default each time a particle is emitted.
			</description>
		</method>
		<method name="get_randomness" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="arg0" type="int">
			</argument>
			<description>
			Return the randomness for a specific variable of the particle system. Randomness produces small changes from the default each time a particle is emitted.
			</description>
		</method>
		<method name="set_color_phase_pos"  >
			<argument index="0" name="phase" type="int">
			</argument>
			<argument index="1" name="pos" type="float">
			</argument>
			<description>
			Set the position of a color phase (0 to 1)
			</description>
		</method>
		<method name="get_color_phase_pos" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="phase" type="int">
			</argument>
			<description>
			Return the position of a color phase (0 to 1)
			</description>
		</method>
		<method name="set_color_phase_color"  >
			<argument index="0" name="phase" type="int">
			</argument>
			<argument index="1" name="color" type="Color">
			</argument>
			<description>
			Set the color of a color phase.
			</description>
		</method>
		<method name="get_color_phase_color" qualifiers="const" >
			<return type="Color">
			</return>
			<argument index="0" name="phase" type="int">
			</argument>
			<description>
			Return the color of a color phase.
			</description>
		</method>
		<method name="set_material"  >
			<argument index="0" name="material" type="Material">
			</argument>
			<description>
			Set the material used to draw particles
			</description>
		</method>
		<method name="get_material" qualifiers="const" >
			<return type="Material">
			</return>
			<description>
			Return the material used to draw particles
			</description>
		</method>
		<method name="set_emit_timeout"  >
			<argument index="0" name="arg0" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_emit_timeout" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_height_from_velocity"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="has_height_from_velocity" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_use_local_coordinates"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_using_local_coordinates" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_color_phases"  >
			<argument index="0" name="count" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_color_phases" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="VAR_LIFETIME" value="0">
		</constant>
		<constant name="VAR_SPREAD" value="1">
		</constant>
		<constant name="VAR_GRAVITY" value="2">
		</constant>
		<constant name="VAR_LINEAR_VELOCITY" value="3">
		</constant>
		<constant name="VAR_ANGULAR_VELOCITY" value="4">
		</constant>
		<constant name="VAR_LINEAR_ACCELERATION" value="5">
		</constant>
		<constant name="VAR_DRAG" value="6">
		</constant>
		<constant name="VAR_TANGENTIAL_ACCELERATION" value="7">
		</constant>
		<constant name="VAR_INITIAL_SIZE" value="9">
		</constant>
		<constant name="VAR_FINAL_SIZE" value="10">
		</constant>
		<constant name="VAR_INITIAL_ANGLE" value="11">
		</constant>
		<constant name="VAR_HEIGHT" value="12">
		</constant>
		<constant name="VAR_HEIGHT_SPEED_SCALE" value="13">
		</constant>
		<constant name="VAR_MAX" value="14">
		</constant>
	</constants>
</class>
<class name="Particles2D" inherits="Node2D" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_emitting"  >
			<argument index="0" name="active" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_emitting" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_amount"  >
			<argument index="0" name="amount" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_amount" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_lifetime"  >
			<argument index="0" name="lifetime" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_lifetime" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_time_scale"  >
			<argument index="0" name="time_scale" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_time_scale" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_pre_process_time"  >
			<argument index="0" name="time" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_pre_process_time" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_emit_timeout"  >
			<argument index="0" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_emit_timeout" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_param"  >
			<argument index="0" name="param" type="int">
			</argument>
			<argument index="1" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_param" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="param" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_randomness"  >
			<argument index="0" name="param" type="int">
			</argument>
			<argument index="1" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_randomness" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="param" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_texture"  >
			<argument index="0" name="texture" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_texture" qualifiers="const" >
			<return type="Texture">
			</return>
			<description>
			</description>
		</method>
		<method name="set_emissor_offset"  >
			<argument index="0" name="offset" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_emissor_offset" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="set_flip_h"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_flipped_h" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_flip_v"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_flipped_v" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_emission_half_extents"  >
			<argument index="0" name="extents" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_emission_half_extents" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="set_color_phases"  >
			<argument index="0" name="phases" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_color_phases" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_color_phase_color"  >
			<argument index="0" name="phase" type="int">
			</argument>
			<argument index="1" name="color" type="Color">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_color_phase_color" qualifiers="const" >
			<return type="Color">
			</return>
			<argument index="0" name="phase" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_color_phase_pos"  >
			<argument index="0" name="phase" type="int">
			</argument>
			<argument index="1" name="pos" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_color_phase_pos" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="phase" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="pre_process"  >
			<argument index="0" name="time" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_use_local_space"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_using_local_space" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_initial_velocity"  >
			<argument index="0" name="velocity" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_initial_velocity" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="set_explosiveness"  >
			<argument index="0" name="amount" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_explosiveness" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_emission_points"  >
			<argument index="0" name="points" type="Vector2Array">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_emission_points" qualifiers="const" >
			<return type="Vector2Array">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="PARAM_DIRECTION" value="0">
		</constant>
		<constant name="PARAM_SPREAD" value="1">
		</constant>
		<constant name="PARAM_LINEAR_VELOCITY" value="2">
		</constant>
		<constant name="PARAM_SPIN_VELOCITY" value="3">
		</constant>
		<constant name="PARAM_GRAVITY_DIRECTION" value="5">
		</constant>
		<constant name="PARAM_GRAVITY_STRENGTH" value="6">
		</constant>
		<constant name="PARAM_RADIAL_ACCEL" value="7">
		</constant>
		<constant name="PARAM_TANGENTIAL_ACCEL" value="8">
		</constant>
		<constant name="PARAM_INITIAL_SIZE" value="11">
		</constant>
		<constant name="PARAM_FINAL_SIZE" value="12">
		</constant>
		<constant name="PARAM_HUE_VARIATION" value="13">
		</constant>
		<constant name="PARAM_MAX" value="14">
		</constant>
		<constant name="MAX_COLOR_PHASES" value="4">
		</constant>
	</constants>
</class>
<class name="Path" inherits="Spatial" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_curve"  >
			<argument index="0" name="curve" type="Curve3D">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_curve" qualifiers="const" >
			<return type="Curve3D">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Path2D" inherits="Node2D" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_curve"  >
			<argument index="0" name="curve" type="Curve2D">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_curve" qualifiers="const" >
			<return type="Curve2D">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="PathFollow" inherits="Spatial" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_offset"  >
			<argument index="0" name="offset" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_offset" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_h_offset"  >
			<argument index="0" name="h_offset" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_h_offset" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_v_offset"  >
			<argument index="0" name="v_offset" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_v_offset" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_unit_offset"  >
			<argument index="0" name="unit_offset" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_unit_offset" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_rotation_mode"  >
			<argument index="0" name="rotation_mode" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_rotation_mode" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_cubic_interpolation"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_cubic_interpolation" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_loop"  >
			<argument index="0" name="loop" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="has_loop" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="ROTATION_NONE" value="0">
		</constant>
		<constant name="ROTATION_Y" value="1">
		</constant>
		<constant name="ROTATION_XY" value="2">
		</constant>
		<constant name="ROTATION_XYZ" value="3">
		</constant>
	</constants>
</class>
<class name="PathFollow2D" inherits="Node2D" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_offset"  >
			<argument index="0" name="offset" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_offset" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_h_offset"  >
			<argument index="0" name="h_offset" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_h_offset" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_v_offset"  >
			<argument index="0" name="v_offset" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_v_offset" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_unit_offset"  >
			<argument index="0" name="unit_offset" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_unit_offset" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_rotate"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_rotating" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_cubic_interpolation"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_cubic_interpolation" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_loop"  >
			<argument index="0" name="loop" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="has_loop" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="PathRemap" inherits="Object" category="Core">
	<brief_description>
	Singleton containing the list of remapped resources.
	</brief_description>
	<description>
	When exporting, the types of some resources may change internally so they are converted to more optimized versions. While it's not usually necesary to access to this directly (path remapping happens automatically when opeining a file), it's exported just for information.
	</description>
	<methods>
		<method name="add_remap"  >
			<argument index="0" name="from" type="String">
			</argument>
			<argument index="1" name="to" type="String">
			</argument>
			<argument index="2" name="locale" type="String" default="&quot;&quot;">
			</argument>
			<description>
			Add a remap from a file to another.
			</description>
		</method>
		<method name="has_remap" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="path" type="String">
			</argument>
			<description>
			Return true if a file is being remapped.
			</description>
		</method>
		<method name="get_remap" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="path" type="String">
			</argument>
			<description>
			Return the remapped new path of a file.
			</description>
		</method>
		<method name="erase_remap"  >
			<argument index="0" name="path" type="String">
			</argument>
			<description>
			Erase a remap.
			</description>
		</method>
		<method name="clear_remaps"  >
			<description>
			Clear all remaps.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Performance" inherits="Object" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="get_monitor" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="monitor" type="int">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="TIME_FPS" value="0">
		</constant>
		<constant name="TIME_PROCESS" value="1">
		</constant>
		<constant name="TIME_FIXED_PROCESS" value="2">
		</constant>
		<constant name="MEMORY_STATIC" value="3">
		</constant>
		<constant name="MEMORY_DYNAMIC" value="4">
		</constant>
		<constant name="MEMORY_STATIC_MAX" value="5">
		</constant>
		<constant name="MEMORY_DYNAMIC_MAX" value="6">
		</constant>
		<constant name="MEMORY_MESSAGE_BUFFER_MAX" value="7">
		</constant>
		<constant name="OBJECT_COUNT" value="8">
		</constant>
		<constant name="OBJECT_RESOURCE_COUNT" value="9">
		</constant>
		<constant name="OBJECT_NODE_COUNT" value="10">
		</constant>
		<constant name="RENDER_OBJECTS_IN_FRAME" value="11">
		</constant>
		<constant name="RENDER_VERTICES_IN_FRAME" value="12">
		</constant>
		<constant name="RENDER_MATERIAL_CHANGES_IN_FRAME" value="13">
		</constant>
		<constant name="RENDER_SHADER_CHANGES_IN_FRAME" value="14">
		</constant>
		<constant name="RENDER_SURFACE_CHANGES_IN_FRAME" value="15">
		</constant>
		<constant name="RENDER_DRAW_CALLS_IN_FRAME" value="16">
		</constant>
		<constant name="RENDER_USAGE_VIDEO_MEM_TOTAL" value="20">
		</constant>
		<constant name="RENDER_VIDEO_MEM_USED" value="17">
		</constant>
		<constant name="RENDER_TEXTURE_MEM_USED" value="18">
		</constant>
		<constant name="RENDER_VERTEX_MEM_USED" value="19">
		</constant>
		<constant name="PHYSICS_2D_ACTIVE_OBJECTS" value="21">
		</constant>
		<constant name="PHYSICS_2D_COLLISION_PAIRS" value="22">
		</constant>
		<constant name="PHYSICS_2D_ISLAND_COUNT" value="23">
		</constant>
		<constant name="PHYSICS_3D_ACTIVE_OBJECTS" value="24">
		</constant>
		<constant name="PHYSICS_3D_COLLISION_PAIRS" value="25">
		</constant>
		<constant name="PHYSICS_3D_ISLAND_COUNT" value="26">
		</constant>
		<constant name="MONITOR_MAX" value="27">
		</constant>
	</constants>
</class>
<class name="Physics2DDirectBodyState" inherits="Object" category="Core">
	<brief_description>
	Direct access object to a physics body in the [Physics2DServer].
	</brief_description>
	<description>
	Direct access object to a physics body in the [Physics2DServer]. This object is passed via the direct state callback of rigid/character bodies, and is intended for changing the direct state of that body.
	</description>
	<methods>
		<method name="get_total_gravity" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			Return the total gravity vector being currently applied to this body.
			</description>
		</method>
		<method name="get_total_density" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the space density currently being applied to this body.
			</description>
		</method>
		<method name="get_inverse_mass" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the inverse of the mass of the body.
			</description>
		</method>
		<method name="get_inverse_inertia" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the inverse of the inertia of the body.
			</description>
		</method>
		<method name="set_linear_velocity"  >
			<argument index="0" name="velocity" type="Vector2">
			</argument>
			<description>
			Change the linear velocity of the body.
			</description>
		</method>
		<method name="get_linear_velocity" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			Return the current linear velocity of the body.
			</description>
		</method>
		<method name="set_angular_velocity"  >
			<argument index="0" name="velocity" type="float">
			</argument>
			<description>
			Change the angular velocity of the body.
			</description>
		</method>
		<method name="get_angular_velocity" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the angular velocity of the body.
			</description>
		</method>
		<method name="set_transform"  >
			<argument index="0" name="transform" type="Matrix32">
			</argument>
			<description>
			Change the transform matrix of the body.
			</description>
		</method>
		<method name="get_transform" qualifiers="const" >
			<return type="Matrix32">
			</return>
			<description>
			Return the transform matrix of the body.
			</description>
		</method>
		<method name="set_sleep_state"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			Set the sleeping state of the body, only affects character/rigid bodies.
			</description>
		</method>
		<method name="is_sleeping" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if this body is currently sleeping (not active).
			</description>
		</method>
		<method name="get_contact_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the amount of contacts this body has with other bodies. Note that by default this returns 0 unless bodies are configured to log contacts.
			</description>
		</method>
		<method name="get_contact_local_pos" qualifiers="const" >
			<return type="Vector2">
			</return>
			<argument index="0" name="contact_idx" type="int">
			</argument>
			<description>
			Return the local position (of this body) of the contact point.
			</description>
		</method>
		<method name="get_contact_local_normal" qualifiers="const" >
			<return type="Vector2">
			</return>
			<argument index="0" name="contact_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_contact_local_shape" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="contact_idx" type="int">
			</argument>
			<description>
			Return the local shape index of the collision.
			</description>
		</method>
		<method name="get_contact_collider" qualifiers="const" >
			<return type="RID">
			</return>
			<argument index="0" name="contact_idx" type="int">
			</argument>
			<description>
			Return the RID of the collider.
			</description>
		</method>
		<method name="get_contact_collider_pos" qualifiers="const" >
			<return type="Vector2">
			</return>
			<argument index="0" name="contact_idx" type="int">
			</argument>
			<description>
			Return the contact position in the collider.
			</description>
		</method>
		<method name="get_contact_collider_id" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="contact_idx" type="int">
			</argument>
			<description>
			Return the object id of the collider.
			</description>
		</method>
		<method name="get_contact_collider_object" qualifiers="const" >
			<return type="Object">
			</return>
			<argument index="0" name="contact_idx" type="int">
			</argument>
			<description>
			Return the collider object, this depends on how it was created (will return a scene node if such was used to create it).
			</description>
		</method>
		<method name="get_contact_collider_shape" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="contact_idx" type="int">
			</argument>
			<description>
			Return the collider shape index.
			</description>
		</method>
		<method name="get_contact_collider_shape_metadata" qualifiers="const" >
			<argument index="0" name="contact_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_contact_collider_velocity_at_pos" qualifiers="const" >
			<return type="Vector2">
			</return>
			<argument index="0" name="contact_idx" type="int">
			</argument>
			<description>
			Return the linear velocity vector at contact point of the collider.
			</description>
		</method>
		<method name="get_step" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the timestep (delta) used for the simulation.
			</description>
		</method>
		<method name="integrate_forces"  >
			<description>
			Call the built-in force integration code.
			</description>
		</method>
		<method name="get_space_state"  >
			<return type="Physics2DDirectSpaceState">
			</return>
			<description>
			Return the current state of space, useful for queries.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Physics2DDirectBodyStateSW" inherits="Physics2DDirectBodyState" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
</class>
<class name="Physics2DDirectSpaceState" inherits="Object" category="Core">
	<brief_description>
	Direct access object to a space in the [Physics2DServer].
	</brief_description>
	<description>
	Direct access object to a space in the [Physics2DServer]. It's used mainly to do queries against objects and areas residing in a given space.
	</description>
	<methods>
		<method name="intersect_ray"  >
			<return type="Dictionary">
			</return>
			<argument index="0" name="from" type="Vector2">
			</argument>
			<argument index="1" name="to" type="Vector2">
			</argument>
			<argument index="2" name="exclude" type="Array" default="Array()">
			</argument>
			<argument index="3" name="layer_mask" type="int" default="2147483647">
			</argument>
			<argument index="4" name="type_mask" type="int" default="15">
			</argument>
			<description>
			Intersect a ray in a given space, the returned object is a dictionary with the following fields: [br]
			position: place where ray is stopped[br]
			normal: normal of the object at the point where the ray was stopped [br]
			shape:  shape index of the object agaisnt which the ray was stopped[br]
			collider_: collider agaisnt which the ray was stopped[br]
			collider_id: collider id of the object agaisnt which the ray was stopped[br]
			collider: collider object agaisnt which the ray was stopped[br]
			rid:  [RID] of the object agaisnt which the ray was stopped[br]
			If the ray did not intersect anything, then null is returned instead of a [Dictionary].
			</description>
		</method>
		<method name="intersect_shape"  >
			<return type="Array">
			</return>
			<argument index="0" name="shape" type="Physics2DShapeQueryParameters">
			</argument>
			<argument index="1" name="max_results" type="int" default="32">
			</argument>
			<description>
			Intersect a given shape (RID or [Shape2D]) against the space, the intersected shapes are returned in a special result object.
			</description>
		</method>
		<method name="cast_motion"  >
			<return type="Array">
			</return>
			<argument index="0" name="shape" type="Physics2DShapeQueryParameters">
			</argument>
			<description>
			</description>
		</method>
		<method name="collide_shape"  >
			<return type="Array">
			</return>
			<argument index="0" name="shape" type="Physics2DShapeQueryParameters">
			</argument>
			<argument index="1" name="max_results" type="int" default="32">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_rest_info"  >
			<return type="Dictionary">
			</return>
			<argument index="0" name="shape" type="Physics2DShapeQueryParameters">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="TYPE_MASK_STATIC_BODY" value="1">
		</constant>
		<constant name="TYPE_MASK_KINEMATIC_BODY" value="2">
		</constant>
		<constant name="TYPE_MASK_RIGID_BODY" value="4">
		</constant>
		<constant name="TYPE_MASK_CHARACTER_BODY" value="8">
		</constant>
		<constant name="TYPE_MASK_AREA" value="16">
		</constant>
		<constant name="TYPE_MASK_COLLISION" value="15">
		</constant>
	</constants>
</class>
<class name="Physics2DServer" inherits="Object" category="Core">
	<brief_description>
	Physics 2D Server.
	</brief_description>
	<description>
	Physics 2D Server is the server responsible for all 2D physics.
	</description>
	<methods>
		<method name="shape_create"  >
			<return type="RID">
			</return>
			<argument index="0" name="type" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="shape_set_data"  >
			<argument index="0" name="shape" type="RID">
			</argument>
			<argument index="1" name="data" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="shape_get_type" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="shape" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="shape_get_data" qualifiers="const" >
			<argument index="0" name="shape" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="space_create"  >
			<return type="RID">
			</return>
			<description>
			</description>
		</method>
		<method name="space_set_active"  >
			<argument index="0" name="space" type="RID">
			</argument>
			<argument index="1" name="active" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="space_is_active" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="space" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="space_set_param"  >
			<argument index="0" name="space" type="RID">
			</argument>
			<argument index="1" name="param" type="int">
			</argument>
			<argument index="2" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="space_get_param" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="space" type="RID">
			</argument>
			<argument index="1" name="param" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="space_get_direct_state"  >
			<return type="Physics2DDirectSpaceState">
			</return>
			<argument index="0" name="space" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_create"  >
			<return type="RID">
			</return>
			<description>
			</description>
		</method>
		<method name="area_set_space"  >
			<argument index="0" name="area" type="RID">
			</argument>
			<argument index="1" name="space" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_get_space" qualifiers="const" >
			<return type="RID">
			</return>
			<argument index="0" name="area" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_set_space_override_mode"  >
			<argument index="0" name="area" type="RID">
			</argument>
			<argument index="1" name="mode" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_get_space_override_mode" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="area" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_add_shape"  >
			<argument index="0" name="area" type="RID">
			</argument>
			<argument index="1" name="shape" type="RID">
			</argument>
			<argument index="2" name="transform" type="Matrix32" default="1,0, 0,1, 0,0">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_set_shape"  >
			<argument index="0" name="area" type="RID">
			</argument>
			<argument index="1" name="shape_idx" type="int">
			</argument>
			<argument index="2" name="shape" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_set_shape_transform"  >
			<argument index="0" name="area" type="RID">
			</argument>
			<argument index="1" name="shape_idx" type="int">
			</argument>
			<argument index="2" name="transform" type="Matrix32">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_get_shape_count" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="area" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_get_shape" qualifiers="const" >
			<return type="RID">
			</return>
			<argument index="0" name="area" type="RID">
			</argument>
			<argument index="1" name="shape_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_get_shape_transform" qualifiers="const" >
			<return type="Matrix32">
			</return>
			<argument index="0" name="area" type="RID">
			</argument>
			<argument index="1" name="shape_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_remove_shape"  >
			<argument index="0" name="area" type="RID">
			</argument>
			<argument index="1" name="shape_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_clear_shapes"  >
			<argument index="0" name="area" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_set_param"  >
			<argument index="0" name="area" type="RID">
			</argument>
			<argument index="1" name="param" type="int">
			</argument>
			<argument index="2" name="value" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_set_transform"  >
			<argument index="0" name="area" type="RID">
			</argument>
			<argument index="1" name="transform" type="Matrix32">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_get_param" qualifiers="const" >
			<argument index="0" name="area" type="RID">
			</argument>
			<argument index="1" name="param" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_get_transform" qualifiers="const" >
			<return type="Matrix32">
			</return>
			<argument index="0" name="area" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_attach_object_instance_ID"  >
			<argument index="0" name="area" type="RID">
			</argument>
			<argument index="1" name="id" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_get_object_instance_ID" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="area" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_set_monitor_callback"  >
			<argument index="0" name="receiver" type="RID">
			</argument>
			<argument index="1" name="method" type="Object">
			</argument>
			<argument index="2" name="arg2" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_create"  >
			<return type="RID">
			</return>
			<argument index="0" name="mode" type="int" default="2">
			</argument>
			<argument index="1" name="init_sleeping" type="bool" default="false">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_set_space"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="space" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_get_space" qualifiers="const" >
			<return type="RID">
			</return>
			<argument index="0" name="body" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_set_mode"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="mode" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_get_mode" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="body" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_add_shape"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="shape" type="RID">
			</argument>
			<argument index="2" name="transform" type="Matrix32" default="1,0, 0,1, 0,0">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_set_shape"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="shape_idx" type="int">
			</argument>
			<argument index="2" name="shape" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_set_shape_transform"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="shape_idx" type="int">
			</argument>
			<argument index="2" name="transform" type="Matrix32">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_set_shape_metadata"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="shape_idx" type="int">
			</argument>
			<argument index="2" name="metadata" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_get_shape_count" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="body" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_get_shape" qualifiers="const" >
			<return type="RID">
			</return>
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="shape_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_get_shape_transform" qualifiers="const" >
			<return type="Matrix32">
			</return>
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="shape_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_get_shape_metadata" qualifiers="const" >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="shape_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_remove_shape"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="shape_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_clear_shapes"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_set_shape_as_trigger"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="shape_idx" type="int">
			</argument>
			<argument index="2" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_is_shape_set_as_trigger" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="shape_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_attach_object_instance_ID"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="id" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_get_object_instance_ID" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="body" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_set_continuous_collision_detection_mode"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="mode" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_get_continuous_collision_detection_mode" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="body" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_set_layer_mask"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="mask" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_get_layer_mask" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_set_user_mask"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="mask" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_get_user_mask" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_set_param"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="param" type="int">
			</argument>
			<argument index="2" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_get_param" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="param" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_set_state"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="state" type="int">
			</argument>
			<argument index="2" name="value" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_get_state" qualifiers="const" >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="state" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_apply_impulse"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="pos" type="Vector2">
			</argument>
			<argument index="2" name="impulse" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_set_axis_velocity"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="axis_velocity" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_add_collision_exception"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="excepted_body" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_remove_collision_exception"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="excepted_body" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_set_max_contacts_reported"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="amount" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_get_max_contacts_reported" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="body" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_set_omit_force_integration"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_is_omitting_force_integration" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="body" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_set_force_integration_callback"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="receiver" type="Object">
			</argument>
			<argument index="2" name="method" type="String">
			</argument>
			<argument index="3" name="arg3" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="joint_set_param"  >
			<argument index="0" name="joint" type="RID">
			</argument>
			<argument index="1" name="param" type="int">
			</argument>
			<argument index="2" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="joint_get_param" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="joint" type="RID">
			</argument>
			<argument index="1" name="param" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="pin_joint_create"  >
			<return type="RID">
			</return>
			<argument index="0" name="anchor" type="Vector2">
			</argument>
			<argument index="1" name="body_a" type="RID">
			</argument>
			<argument index="2" name="body_b" type="RID" default="RID()">
			</argument>
			<description>
			</description>
		</method>
		<method name="groove_joint_create"  >
			<return type="RID">
			</return>
			<argument index="0" name="groove1_a" type="Vector2">
			</argument>
			<argument index="1" name="groove2_a" type="Vector2">
			</argument>
			<argument index="2" name="anchor_b" type="Vector2">
			</argument>
			<argument index="3" name="body_a" type="RID" default="RID()">
			</argument>
			<argument index="4" name="body_b" type="RID" default="RID()">
			</argument>
			<description>
			</description>
		</method>
		<method name="damped_spring_joint_create"  >
			<return type="RID">
			</return>
			<argument index="0" name="anchor_a" type="Vector2">
			</argument>
			<argument index="1" name="anchor_b" type="Vector2">
			</argument>
			<argument index="2" name="body_a" type="RID">
			</argument>
			<argument index="3" name="body_b" type="RID" default="RID()">
			</argument>
			<description>
			</description>
		</method>
		<method name="damped_string_joint_set_param"  >
			<argument index="0" name="joint" type="RID">
			</argument>
			<argument index="1" name="param" type="int">
			</argument>
			<argument index="2" name="value" type="float" default="RID()">
			</argument>
			<description>
			</description>
		</method>
		<method name="damped_string_joint_get_param" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="joint" type="RID">
			</argument>
			<argument index="1" name="param" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="joint_get_type" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="joint" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="free"  >
			<argument index="0" name="rid" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_active"  >
			<argument index="0" name="active" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_process_info"  >
			<return type="int">
			</return>
			<argument index="0" name="arg0" type="int">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="SHAPE_LINE" value="0">
		</constant>
		<constant name="SHAPE_SEGMENT" value="2">
		</constant>
		<constant name="SHAPE_CIRCLE" value="3">
		</constant>
		<constant name="SHAPE_RECTANGLE" value="4">
		</constant>
		<constant name="SHAPE_CAPSULE" value="5">
		</constant>
		<constant name="SHAPE_CONVEX_POLYGON" value="6">
		</constant>
		<constant name="SHAPE_CONCAVE_POLYGON" value="7">
		</constant>
		<constant name="SHAPE_CUSTOM" value="8">
		</constant>
		<constant name="AREA_PARAM_GRAVITY" value="0">
		</constant>
		<constant name="AREA_PARAM_GRAVITY_VECTOR" value="1">
		</constant>
		<constant name="AREA_PARAM_GRAVITY_IS_POINT" value="2">
		</constant>
		<constant name="AREA_PARAM_GRAVITY_POINT_ATTENUATION" value="3">
		</constant>
		<constant name="AREA_PARAM_DENSITY" value="4">
		</constant>
		<constant name="AREA_PARAM_PRIORITY" value="5">
		</constant>
		<constant name="AREA_SPACE_OVERRIDE_COMBINE" value="1">
		</constant>
		<constant name="AREA_SPACE_OVERRIDE_DISABLED" value="0">
		</constant>
		<constant name="AREA_SPACE_OVERRIDE_REPLACE" value="2">
		</constant>
		<constant name="BODY_MODE_STATIC" value="0">
		</constant>
		<constant name="BODY_MODE_KINEMATIC" value="1">
		</constant>
		<constant name="BODY_MODE_RIGID" value="2">
		</constant>
		<constant name="BODY_MODE_CHARACTER" value="3">
		</constant>
		<constant name="BODY_PARAM_BOUNCE" value="0">
		</constant>
		<constant name="BODY_PARAM_FRICTION" value="1">
		</constant>
		<constant name="BODY_PARAM_MASS" value="2">
		</constant>
		<constant name="BODY_PARAM_MAX" value="3">
		</constant>
		<constant name="BODY_STATE_TRANSFORM" value="0">
		</constant>
		<constant name="BODY_STATE_LINEAR_VELOCITY" value="1">
		</constant>
		<constant name="BODY_STATE_ANGULAR_VELOCITY" value="2">
		</constant>
		<constant name="BODY_STATE_SLEEPING" value="3">
		</constant>
		<constant name="BODY_STATE_CAN_SLEEP" value="4">
		</constant>
		<constant name="JOINT_PIN" value="0">
		</constant>
		<constant name="JOINT_GROOVE" value="1">
		</constant>
		<constant name="JOINT_DAMPED_SPRING" value="2">
		</constant>
		<constant name="DAMPED_STRING_REST_LENGTH" value="0">
		</constant>
		<constant name="DAMPED_STRING_STIFFNESS" value="1">
		</constant>
		<constant name="DAMPED_STRING_DAMPING" value="2">
		</constant>
		<constant name="CCD_MODE_DISABLED" value="0">
		</constant>
		<constant name="CCD_MODE_CAST_RAY" value="1">
		</constant>
		<constant name="CCD_MODE_CAST_SHAPE" value="2">
		</constant>
		<constant name="AREA_BODY_ADDED" value="0">
		</constant>
		<constant name="AREA_BODY_REMOVED" value="1">
		</constant>
		<constant name="INFO_ACTIVE_OBJECTS" value="0">
		</constant>
		<constant name="INFO_COLLISION_PAIRS" value="1">
		</constant>
		<constant name="INFO_ISLAND_COUNT" value="2">
		</constant>
	</constants>
</class>
<class name="Physics2DServerSW" inherits="Physics2DServer" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
</class>
<class name="Physics2DShapeQueryParameters" inherits="Reference" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_shape"  >
			<argument index="0" name="shape" type="Shape2D">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_shape_rid"  >
			<argument index="0" name="shape" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_shape_rid" qualifiers="const" >
			<return type="RID">
			</return>
			<description>
			</description>
		</method>
		<method name="set_transform"  >
			<argument index="0" name="transform" type="Matrix32">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_transform" qualifiers="const" >
			<return type="Matrix32">
			</return>
			<description>
			</description>
		</method>
		<method name="set_motion"  >
			<argument index="0" name="motion" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_motion" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="set_margin"  >
			<argument index="0" name="margin" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_margin" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_layer_mask"  >
			<argument index="0" name="layer_mask" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_layer_mask" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_object_type_mask"  >
			<argument index="0" name="object_type_mask" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_object_type_mask" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_exclude"  >
			<argument index="0" name="exclude" type="Array">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_exclude" qualifiers="const" >
			<return type="Array">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Physics2DShapeQueryResult" inherits="Reference" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="get_result_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_result_rid" qualifiers="const" >
			<return type="RID">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_result_object_id" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_result_object" qualifiers="const" >
			<return type="Object">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_result_object_shape" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="PhysicsBody" inherits="CollisionObject" category="Core">
	<brief_description>
	Base class for differnt types of Physics bodies.
	</brief_description>
	<description>
	PhysicsBody is an abstract base class for implementing a physics body. All PhysicsBody types inherit from it.
	</description>
	<methods>
		<method name="set_layer_mask"  >
			<argument index="0" name="mask" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_layer_mask" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="add_collision_exception_with"  >
			<argument index="0" name="body" type="PhysicsBody">
			</argument>
			<description>
			</description>
		</method>
		<method name="remove_collision_exception_with"  >
			<argument index="0" name="body" type="PhysicsBody">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="PhysicsBody2D" inherits="CollisionObject2D" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_layer_mask"  >
			<argument index="0" name="mask" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_layer_mask" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="add_collision_exception_with"  >
			<argument index="0" name="body" type="PhysicsBody2D">
			</argument>
			<description>
			</description>
		</method>
		<method name="remove_collision_exception_with"  >
			<argument index="0" name="body" type="PhysicsBody2D">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="PhysicsDirectBodyState" inherits="Object" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="get_total_gravity" qualifiers="const" >
			<return type="Vector3">
			</return>
			<description>
			</description>
		</method>
		<method name="get_total_density" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_inverse_mass" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_inverse_inertia" qualifiers="const" >
			<return type="Vector3">
			</return>
			<description>
			</description>
		</method>
		<method name="set_linear_velocity"  >
			<argument index="0" name="velocity" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_linear_velocity" qualifiers="const" >
			<return type="Vector3">
			</return>
			<description>
			</description>
		</method>
		<method name="set_angular_velocity"  >
			<argument index="0" name="velocity" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_angular_velocity" qualifiers="const" >
			<return type="Vector3">
			</return>
			<description>
			</description>
		</method>
		<method name="set_transform"  >
			<argument index="0" name="transform" type="Transform">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_transform" qualifiers="const" >
			<return type="Transform">
			</return>
			<description>
			</description>
		</method>
		<method name="add_force"  >
			<argument index="0" name="force" type="Vector3">
			</argument>
			<argument index="1" name="pos" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="apply_impulse"  >
			<argument index="0" name="pos" type="Vector3">
			</argument>
			<argument index="1" name="j" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_sleep_state"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_sleeping" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="get_contact_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_contact_local_pos" qualifiers="const" >
			<return type="Vector3">
			</return>
			<argument index="0" name="contact_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_contact_local_normal" qualifiers="const" >
			<return type="Vector3">
			</return>
			<argument index="0" name="contact_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_contact_local_shape" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="contact_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_contact_collider" qualifiers="const" >
			<return type="RID">
			</return>
			<argument index="0" name="contact_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_contact_collider_pos" qualifiers="const" >
			<return type="Vector3">
			</return>
			<argument index="0" name="contact_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_contact_collider_id" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="contact_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_contact_collider_object" qualifiers="const" >
			<return type="Object">
			</return>
			<argument index="0" name="contact_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_contact_collider_shape" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="contact_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_contact_collider_velocity_at_pos" qualifiers="const" >
			<return type="Vector3">
			</return>
			<argument index="0" name="contact_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_step" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="integrate_forces"  >
			<description>
			</description>
		</method>
		<method name="get_space_state"  >
			<return type="PhysicsDirectSpaceState">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="PhysicsDirectBodyStateSW" inherits="PhysicsDirectBodyState" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
</class>
<class name="PhysicsDirectSpaceState" inherits="Object" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="intersect_ray"  >
			<return type="Dictionary">
			</return>
			<argument index="0" name="from" type="Vector3">
			</argument>
			<argument index="1" name="to" type="Vector3">
			</argument>
			<argument index="2" name="exclude" type="Array" default="Array()">
			</argument>
			<argument index="3" name="layer_mask" type="int" default="2147483647">
			</argument>
			<argument index="4" name="type_mask" type="int" default="15">
			</argument>
			<description>
			</description>
		</method>
		<method name="intersect_shape"  >
			<return type="Array">
			</return>
			<argument index="0" name="shape" type="PhysicsShapeQueryParameters">
			</argument>
			<argument index="1" name="max_results" type="int" default="32">
			</argument>
			<description>
			</description>
		</method>
		<method name="cast_motion"  >
			<return type="Array">
			</return>
			<argument index="0" name="shape" type="PhysicsShapeQueryParameters">
			</argument>
			<argument index="1" name="motion" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="collide_shape"  >
			<return type="Array">
			</return>
			<argument index="0" name="shape" type="PhysicsShapeQueryParameters">
			</argument>
			<argument index="1" name="max_results" type="int" default="32">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_rest_info"  >
			<return type="Dictionary">
			</return>
			<argument index="0" name="shape" type="PhysicsShapeQueryParameters">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="TYPE_MASK_STATIC_BODY" value="1">
		</constant>
		<constant name="TYPE_MASK_KINEMATIC_BODY" value="2">
		</constant>
		<constant name="TYPE_MASK_RIGID_BODY" value="4">
		</constant>
		<constant name="TYPE_MASK_CHARACTER_BODY" value="8">
		</constant>
		<constant name="TYPE_MASK_AREA" value="16">
		</constant>
		<constant name="TYPE_MASK_COLLISION" value="15">
		</constant>
	</constants>
</class>
<class name="PhysicsServer" inherits="Object" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="shape_create"  >
			<return type="RID">
			</return>
			<argument index="0" name="type" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="shape_set_data"  >
			<argument index="0" name="shape" type="RID">
			</argument>
			<argument index="1" name="data" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="shape_get_type" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="shape" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="shape_get_data" qualifiers="const" >
			<argument index="0" name="shape" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="space_create"  >
			<return type="RID">
			</return>
			<description>
			</description>
		</method>
		<method name="space_set_active"  >
			<argument index="0" name="space" type="RID">
			</argument>
			<argument index="1" name="active" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="space_is_active" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="space" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="space_set_param"  >
			<argument index="0" name="space" type="RID">
			</argument>
			<argument index="1" name="param" type="int">
			</argument>
			<argument index="2" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="space_get_param" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="space" type="RID">
			</argument>
			<argument index="1" name="param" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="space_get_direct_state"  >
			<return type="PhysicsDirectSpaceState">
			</return>
			<argument index="0" name="space" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_create"  >
			<return type="RID">
			</return>
			<description>
			</description>
		</method>
		<method name="area_set_space"  >
			<argument index="0" name="area" type="RID">
			</argument>
			<argument index="1" name="space" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_get_space" qualifiers="const" >
			<return type="RID">
			</return>
			<argument index="0" name="area" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_set_space_override_mode"  >
			<argument index="0" name="area" type="RID">
			</argument>
			<argument index="1" name="mode" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_get_space_override_mode" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="area" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_add_shape"  >
			<argument index="0" name="area" type="RID">
			</argument>
			<argument index="1" name="shape" type="RID">
			</argument>
			<argument index="2" name="transform" type="Transform" default="Transform()">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_set_shape"  >
			<argument index="0" name="area" type="RID">
			</argument>
			<argument index="1" name="shape_idx" type="int">
			</argument>
			<argument index="2" name="shape" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_set_shape_transform"  >
			<argument index="0" name="area" type="RID">
			</argument>
			<argument index="1" name="shape_idx" type="int">
			</argument>
			<argument index="2" name="transform" type="Transform">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_get_shape_count" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="area" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_get_shape" qualifiers="const" >
			<return type="RID">
			</return>
			<argument index="0" name="area" type="RID">
			</argument>
			<argument index="1" name="shape_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_get_shape_transform" qualifiers="const" >
			<return type="Transform">
			</return>
			<argument index="0" name="area" type="RID">
			</argument>
			<argument index="1" name="shape_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_remove_shape"  >
			<argument index="0" name="area" type="RID">
			</argument>
			<argument index="1" name="shape_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_clear_shapes"  >
			<argument index="0" name="area" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_set_param"  >
			<argument index="0" name="area" type="RID">
			</argument>
			<argument index="1" name="param" type="int">
			</argument>
			<argument index="2" name="value" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_set_transform"  >
			<argument index="0" name="area" type="RID">
			</argument>
			<argument index="1" name="transform" type="Transform">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_get_param" qualifiers="const" >
			<argument index="0" name="area" type="RID">
			</argument>
			<argument index="1" name="param" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_get_transform" qualifiers="const" >
			<return type="Transform">
			</return>
			<argument index="0" name="area" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_attach_object_instance_ID"  >
			<argument index="0" name="area" type="RID">
			</argument>
			<argument index="1" name="id" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_get_object_instance_ID" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="area" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_set_monitor_callback"  >
			<argument index="0" name="receiver" type="RID">
			</argument>
			<argument index="1" name="method" type="Object">
			</argument>
			<argument index="2" name="arg2" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_set_ray_pickable"  >
			<argument index="0" name="area" type="RID">
			</argument>
			<argument index="1" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="area_is_ray_pickable" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="area" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_create"  >
			<return type="RID">
			</return>
			<argument index="0" name="mode" type="int" default="2">
			</argument>
			<argument index="1" name="init_sleeping" type="bool" default="false">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_set_space"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="space" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_get_space" qualifiers="const" >
			<return type="RID">
			</return>
			<argument index="0" name="body" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_set_mode"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="mode" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_get_mode" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_add_shape"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="shape" type="RID">
			</argument>
			<argument index="2" name="transform" type="Transform" default="Transform()">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_set_shape"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="shape_idx" type="int">
			</argument>
			<argument index="2" name="shape" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_set_shape_transform"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="shape_idx" type="int">
			</argument>
			<argument index="2" name="transform" type="Transform">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_get_shape_count" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="body" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_get_shape" qualifiers="const" >
			<return type="RID">
			</return>
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="shape_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_get_shape_transform" qualifiers="const" >
			<return type="Transform">
			</return>
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="shape_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_remove_shape"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="shape_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_clear_shapes"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_attach_object_instance_ID"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="id" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_get_object_instance_ID" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="body" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_set_enable_continuous_collision_detection"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_is_continuous_collision_detection_enabled" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="body" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_set_param"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="param" type="int">
			</argument>
			<argument index="2" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_get_param" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="param" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_set_state"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="state" type="int">
			</argument>
			<argument index="2" name="value" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_get_state" qualifiers="const" >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="state" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_apply_impulse"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="pos" type="Vector3">
			</argument>
			<argument index="2" name="impulse" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_set_axis_velocity"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="axis_velocity" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_set_axis_lock"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="axis" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_get_axis_lock" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="body" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_add_collision_exception"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="excepted_body" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_remove_collision_exception"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="excepted_body" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_set_max_contacts_reported"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="amount" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_get_max_contacts_reported" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="body" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_set_omit_force_integration"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_is_omitting_force_integration" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="body" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_set_force_integration_callback"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="receiver" type="Object">
			</argument>
			<argument index="2" name="method" type="String">
			</argument>
			<argument index="3" name="userdata" type="var" default="NULL">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_set_ray_pickable"  >
			<argument index="0" name="body" type="RID">
			</argument>
			<argument index="1" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="body_is_ray_pickable" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="body" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="joint_create_pin"  >
			<return type="RID">
			</return>
			<argument index="0" name="body_A" type="RID">
			</argument>
			<argument index="1" name="local_A" type="Vector3">
			</argument>
			<argument index="2" name="body_B" type="RID">
			</argument>
			<argument index="3" name="local_B" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="pin_joint_set_param"  >
			<argument index="0" name="joint" type="RID">
			</argument>
			<argument index="1" name="param" type="int">
			</argument>
			<argument index="2" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="pin_joint_get_param" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="joint" type="RID">
			</argument>
			<argument index="1" name="param" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="pin_joint_set_local_A"  >
			<argument index="0" name="joint" type="RID">
			</argument>
			<argument index="1" name="local_A" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="pin_joint_get_local_A" qualifiers="const" >
			<return type="Vector3">
			</return>
			<argument index="0" name="joint" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="pin_joint_set_local_B"  >
			<argument index="0" name="joint" type="RID">
			</argument>
			<argument index="1" name="local_B" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="pin_joint_get_local_B" qualifiers="const" >
			<return type="Vector3">
			</return>
			<argument index="0" name="joint" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="joint_create_hinge"  >
			<return type="RID">
			</return>
			<argument index="0" name="body_A" type="RID">
			</argument>
			<argument index="1" name="hinge_A" type="Transform">
			</argument>
			<argument index="2" name="body_B" type="RID">
			</argument>
			<argument index="3" name="hinge_B" type="Transform">
			</argument>
			<description>
			</description>
		</method>
		<method name="hinge_joint_set_param"  >
			<argument index="0" name="joint" type="RID">
			</argument>
			<argument index="1" name="param" type="int">
			</argument>
			<argument index="2" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="hinge_joint_get_param" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="joint" type="RID">
			</argument>
			<argument index="1" name="param" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="hinge_joint_set_flag"  >
			<argument index="0" name="joint" type="RID">
			</argument>
			<argument index="1" name="flag" type="int">
			</argument>
			<argument index="2" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="hinge_joint_get_flag" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="joint" type="RID">
			</argument>
			<argument index="1" name="flag" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="joint_create_slider"  >
			<return type="RID">
			</return>
			<argument index="0" name="body_A" type="RID">
			</argument>
			<argument index="1" name="local_ref_A" type="Transform">
			</argument>
			<argument index="2" name="body_B" type="RID">
			</argument>
			<argument index="3" name="local_ref_B" type="Transform">
			</argument>
			<description>
			</description>
		</method>
		<method name="slider_joint_set_param"  >
			<argument index="0" name="joint" type="RID">
			</argument>
			<argument index="1" name="param" type="int">
			</argument>
			<argument index="2" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="slider_joint_get_param" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="joint" type="RID">
			</argument>
			<argument index="1" name="param" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="joint_create_cone_twist"  >
			<return type="RID">
			</return>
			<argument index="0" name="body_A" type="RID">
			</argument>
			<argument index="1" name="local_ref_A" type="Transform">
			</argument>
			<argument index="2" name="body_B" type="RID">
			</argument>
			<argument index="3" name="local_ref_B" type="Transform">
			</argument>
			<description>
			</description>
		</method>
		<method name="cone_twist_joint_set_param"  >
			<argument index="0" name="joint" type="RID">
			</argument>
			<argument index="1" name="param" type="int">
			</argument>
			<argument index="2" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="cone_twist_joint_get_param" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="joint" type="RID">
			</argument>
			<argument index="1" name="param" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="joint_get_type" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="joint" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="joint_set_solver_priority"  >
			<argument index="0" name="joint" type="RID">
			</argument>
			<argument index="1" name="priority" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="joint_get_solver_priority" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="joint" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="joint_create_generic_6dof"  >
			<return type="RID">
			</return>
			<argument index="0" name="body_A" type="RID">
			</argument>
			<argument index="1" name="local_ref_A" type="Transform">
			</argument>
			<argument index="2" name="body_B" type="RID">
			</argument>
			<argument index="3" name="local_ref_B" type="Transform">
			</argument>
			<description>
			</description>
		</method>
		<method name="generic_6dof_joint_set_param"  >
			<argument index="0" name="joint" type="RID">
			</argument>
			<argument index="1" name="axis" type="int">
			</argument>
			<argument index="2" name="param" type="int">
			</argument>
			<argument index="3" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="generic_6dof_joint_get_param"  >
			<return type="float">
			</return>
			<argument index="0" name="joint" type="RID">
			</argument>
			<argument index="1" name="axis" type="int">
			</argument>
			<argument index="2" name="param" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="generic_6dof_joint_set_flag"  >
			<argument index="0" name="joint" type="RID">
			</argument>
			<argument index="1" name="axis" type="int">
			</argument>
			<argument index="2" name="flag" type="int">
			</argument>
			<argument index="3" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="generic_6dof_joint_get_flag"  >
			<return type="bool">
			</return>
			<argument index="0" name="joint" type="RID">
			</argument>
			<argument index="1" name="axis" type="int">
			</argument>
			<argument index="2" name="flag" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="free"  >
			<argument index="0" name="rid" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_active"  >
			<argument index="0" name="active" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_process_info"  >
			<return type="int">
			</return>
			<argument index="0" name="arg0" type="int">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="JOINT_PIN" value="0">
		</constant>
		<constant name="JOINT_HINGE" value="1">
		</constant>
		<constant name="JOINT_SLIDER" value="2">
		</constant>
		<constant name="JOINT_CONE_TWIST" value="3">
		</constant>
		<constant name="JOINT_6DOF" value="4">
		</constant>
		<constant name="PIN_JOINT_BIAS" value="0">
		</constant>
		<constant name="PIN_JOINT_DAMPING" value="1">
		</constant>
		<constant name="PIN_JOINT_IMPULSE_CLAMP" value="2">
		</constant>
		<constant name="HINGE_JOINT_BIAS" value="0">
		</constant>
		<constant name="HINGE_JOINT_LIMIT_UPPER" value="1">
		</constant>
		<constant name="HINGE_JOINT_LIMIT_LOWER" value="2">
		</constant>
		<constant name="HINGE_JOINT_LIMIT_BIAS" value="3">
		</constant>
		<constant name="HINGE_JOINT_LIMIT_SOFTNESS" value="4">
		</constant>
		<constant name="HINGE_JOINT_LIMIT_RELAXATION" value="5">
		</constant>
		<constant name="HINGE_JOINT_MOTOR_TARGET_VELOCITY" value="6">
		</constant>
		<constant name="HINGE_JOINT_MOTOR_MAX_IMPULSE" value="7">
		</constant>
		<constant name="HINGE_JOINT_FLAG_USE_LIMIT" value="0">
		</constant>
		<constant name="HINGE_JOINT_FLAG_ENABLE_MOTOR" value="1">
		</constant>
		<constant name="SLIDER_JOINT_LINEAR_LIMIT_UPPER" value="0">
		</constant>
		<constant name="SLIDER_JOINT_LINEAR_LIMIT_LOWER" value="1">
		</constant>
		<constant name="SLIDER_JOINT_LINEAR_LIMIT_SOFTNESS" value="2">
		</constant>
		<constant name="SLIDER_JOINT_LINEAR_LIMIT_RESTITUTION" value="3">
		</constant>
		<constant name="SLIDER_JOINT_LINEAR_LIMIT_DAMPING" value="4">
		</constant>
		<constant name="SLIDER_JOINT_LINEAR_MOTION_SOFTNESS" value="5">
		</constant>
		<constant name="SLIDER_JOINT_LINEAR_MOTION_RESTITUTION" value="6">
		</constant>
		<constant name="SLIDER_JOINT_LINEAR_MOTION_DAMPING" value="7">
		</constant>
		<constant name="SLIDER_JOINT_LINEAR_ORTHOGONAL_SOFTNESS" value="8">
		</constant>
		<constant name="SLIDER_JOINT_LINEAR_ORTHOGONAL_RESTITUTION" value="9">
		</constant>
		<constant name="SLIDER_JOINT_LINEAR_ORTHOGONAL_DAMPING" value="10">
		</constant>
		<constant name="SLIDER_JOINT_ANGULAR_LIMIT_UPPER" value="11">
		</constant>
		<constant name="SLIDER_JOINT_ANGULAR_LIMIT_LOWER" value="12">
		</constant>
		<constant name="SLIDER_JOINT_ANGULAR_LIMIT_SOFTNESS" value="13">
		</constant>
		<constant name="SLIDER_JOINT_ANGULAR_LIMIT_RESTITUTION" value="14">
		</constant>
		<constant name="SLIDER_JOINT_ANGULAR_LIMIT_DAMPING" value="15">
		</constant>
		<constant name="SLIDER_JOINT_ANGULAR_MOTION_SOFTNESS" value="16">
		</constant>
		<constant name="SLIDER_JOINT_ANGULAR_MOTION_RESTITUTION" value="17">
		</constant>
		<constant name="SLIDER_JOINT_ANGULAR_MOTION_DAMPING" value="18">
		</constant>
		<constant name="SLIDER_JOINT_ANGULAR_ORTHOGONAL_SOFTNESS" value="19">
		</constant>
		<constant name="SLIDER_JOINT_ANGULAR_ORTHOGONAL_RESTITUTION" value="20">
		</constant>
		<constant name="SLIDER_JOINT_ANGULAR_ORTHOGONAL_DAMPING" value="21">
		</constant>
		<constant name="SLIDER_JOINT_MAX" value="22">
		</constant>
		<constant name="CONE_TWIST_JOINT_SWING_SPAN" value="0">
		</constant>
		<constant name="CONE_TWIST_JOINT_TWIST_SPAN" value="1">
		</constant>
		<constant name="CONE_TWIST_JOINT_BIAS" value="2">
		</constant>
		<constant name="CONE_TWIST_JOINT_SOFTNESS" value="3">
		</constant>
		<constant name="CONE_TWIST_JOINT_RELAXATION" value="4">
		</constant>
		<constant name="G6DOF_JOINT_LINEAR_LOWER_LIMIT" value="0">
		</constant>
		<constant name="G6DOF_JOINT_LINEAR_UPPER_LIMIT" value="1">
		</constant>
		<constant name="G6DOF_JOINT_LINEAR_LIMIT_SOFTNESS" value="2">
		</constant>
		<constant name="G6DOF_JOINT_LINEAR_RESTITUTION" value="3">
		</constant>
		<constant name="G6DOF_JOINT_LINEAR_DAMPING" value="4">
		</constant>
		<constant name="G6DOF_JOINT_ANGULAR_LOWER_LIMIT" value="5">
		</constant>
		<constant name="G6DOF_JOINT_ANGULAR_UPPER_LIMIT" value="6">
		</constant>
		<constant name="G6DOF_JOINT_ANGULAR_LIMIT_SOFTNESS" value="7">
		</constant>
		<constant name="G6DOF_JOINT_ANGULAR_DAMPING" value="8">
		</constant>
		<constant name="G6DOF_JOINT_ANGULAR_RESTITUTION" value="9">
		</constant>
		<constant name="G6DOF_JOINT_ANGULAR_FORCE_LIMIT" value="10">
		</constant>
		<constant name="G6DOF_JOINT_ANGULAR_ERP" value="11">
		</constant>
		<constant name="G6DOF_JOINT_ANGULAR_MOTOR_TARGET_VELOCITY" value="12">
		</constant>
		<constant name="G6DOF_JOINT_ANGULAR_MOTOR_FORCE_LIMIT" value="13">
		</constant>
		<constant name="G6DOF_JOINT_FLAG_ENABLE_LINEAR_LIMIT" value="0">
		</constant>
		<constant name="G6DOF_JOINT_FLAG_ENABLE_ANGULAR_LIMIT" value="1">
		</constant>
		<constant name="G6DOF_JOINT_FLAG_ENABLE_MOTOR" value="2">
		</constant>
		<constant name="SHAPE_PLANE" value="0">
		</constant>
		<constant name="SHAPE_RAY" value="1">
		</constant>
		<constant name="SHAPE_SPHERE" value="2">
		</constant>
		<constant name="SHAPE_BOX" value="3">
		</constant>
		<constant name="SHAPE_CAPSULE" value="4">
		</constant>
		<constant name="SHAPE_CONVEX_POLYGON" value="5">
		</constant>
		<constant name="SHAPE_CONCAVE_POLYGON" value="6">
		</constant>
		<constant name="SHAPE_HEIGHTMAP" value="7">
		</constant>
		<constant name="SHAPE_CUSTOM" value="8">
		</constant>
		<constant name="AREA_PARAM_GRAVITY" value="0">
		</constant>
		<constant name="AREA_PARAM_GRAVITY_VECTOR" value="1">
		</constant>
		<constant name="AREA_PARAM_GRAVITY_IS_POINT" value="2">
		</constant>
		<constant name="AREA_PARAM_GRAVITY_POINT_ATTENUATION" value="3">
		</constant>
		<constant name="AREA_PARAM_DENSITY" value="4">
		</constant>
		<constant name="AREA_PARAM_PRIORITY" value="5">
		</constant>
		<constant name="AREA_SPACE_OVERRIDE_COMBINE" value="1">
		</constant>
		<constant name="AREA_SPACE_OVERRIDE_DISABLED" value="0">
		</constant>
		<constant name="AREA_SPACE_OVERRIDE_REPLACE" value="2">
		</constant>
		<constant name="BODY_MODE_STATIC" value="0">
		</constant>
		<constant name="BODY_MODE_KINEMATIC" value="1">
		</constant>
		<constant name="BODY_MODE_RIGID" value="2">
		</constant>
		<constant name="BODY_MODE_CHARACTER" value="3">
		</constant>
		<constant name="BODY_PARAM_BOUNCE" value="0">
		</constant>
		<constant name="BODY_PARAM_FRICTION" value="1">
		</constant>
		<constant name="BODY_PARAM_MASS" value="2">
		</constant>
		<constant name="BODY_PARAM_MAX" value="3">
		</constant>
		<constant name="BODY_STATE_TRANSFORM" value="0">
		</constant>
		<constant name="BODY_STATE_LINEAR_VELOCITY" value="1">
		</constant>
		<constant name="BODY_STATE_ANGULAR_VELOCITY" value="2">
		</constant>
		<constant name="BODY_STATE_SLEEPING" value="3">
		</constant>
		<constant name="BODY_STATE_CAN_SLEEP" value="4">
		</constant>
		<constant name="AREA_BODY_ADDED" value="0">
		</constant>
		<constant name="AREA_BODY_REMOVED" value="1">
		</constant>
		<constant name="INFO_ACTIVE_OBJECTS" value="0">
		</constant>
		<constant name="INFO_COLLISION_PAIRS" value="1">
		</constant>
		<constant name="INFO_ISLAND_COUNT" value="2">
		</constant>
	</constants>
</class>
<class name="PhysicsServerSW" inherits="PhysicsServer" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
</class>
<class name="PhysicsShapeQueryParameters" inherits="Reference" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_shape"  >
			<argument index="0" name="shape" type="Shape">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_shape_rid"  >
			<argument index="0" name="shape" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_shape_rid" qualifiers="const" >
			<return type="RID">
			</return>
			<description>
			</description>
		</method>
		<method name="set_transform"  >
			<argument index="0" name="transform" type="Transform">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_transform" qualifiers="const" >
			<return type="Transform">
			</return>
			<description>
			</description>
		</method>
		<method name="set_margin"  >
			<argument index="0" name="margin" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_margin" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_layer_mask"  >
			<argument index="0" name="layer_mask" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_layer_mask" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_object_type_mask"  >
			<argument index="0" name="object_type_mask" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_object_type_mask" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_exclude"  >
			<argument index="0" name="exclude" type="Array">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_exclude" qualifiers="const" >
			<return type="Array">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="PhysicsShapeQueryResult" inherits="Reference" category="Core">
	<brief_description>
	Result of a shape query in Physics2DServer.
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="get_result_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_result_rid" qualifiers="const" >
			<return type="RID">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_result_object_id" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_result_object" qualifiers="const" >
			<return type="Object">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_result_object_shape" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="PinJoint" inherits="Joint" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_param"  >
			<argument index="0" name="param" type="int">
			</argument>
			<argument index="1" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_param" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="param" type="int">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="PARAM_BIAS" value="0">
		</constant>
		<constant name="PARAM_DAMPING" value="1">
		</constant>
		<constant name="PARAM_IMPULSE_CLAMP" value="2">
		</constant>
	</constants>
</class>
<class name="PinJoint2D" inherits="Joint2D" category="Core">
	<brief_description>
	Pin Joint for 2D Shapes.
	</brief_description>
	<description>
	Pin Joint for 2D Rigid Bodies. It pins 2 bodies (rigid or static) together, or a single body to a fixed position in space.
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
</class>
<class name="Plane" category="Built-In Types">
	<brief_description>
	Plane in hessian form.
	</brief_description>
	<description>
	Plane represents a normalized plane equation. Basically, "normal" is the normal of the plane (a,b,c normalized), and "d" is the distance from the origin to the plane (in the direction of "normal"). "Over" or "Above" the plane is considered the side of the plane towards where the normal is pointing.
	</description>
	<methods>
		<method name="center"  >
			<return type="Vector3">
			</return>
			<description>
			</description>
		</method>
		<method name="distance_to"  >
			<return type="float">
			</return>
			<argument index="0" name="point" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_any_point"  >
			<return type="Vector3">
			</return>
			<description>
			</description>
		</method>
		<method name="has_point"  >
			<return type="bool">
			</return>
			<argument index="0" name="point" type="Vector3">
			</argument>
			<argument index="1" name="epsilon" type="float" default="0.00001">
			</argument>
			<description>
			Returns true if "p" is inside the plane (by a very minimum treshold).
			</description>
		</method>
		<method name="intersect_3"  >
			<return type="Vector3">
			</return>
			<argument index="0" name="b" type="Plane">
			</argument>
			<argument index="1" name="c" type="Plane">
			</argument>
			<description>
			Returns true if this plane intersects with planes "a" and "b". The resulting intersectin is placed in "r".
			</description>
		</method>
		<method name="intersects_ray"  >
			<return type="Vector3">
			</return>
			<argument index="0" name="from" type="Vector3">
			</argument>
			<argument index="1" name="dir" type="Vector3">
			</argument>
			<description>
			Returns true if ray consiting of position "p" and direction normal "d" intersects this plane. If true, the result is placed in "r".
			</description>
		</method>
		<method name="intersects_segment"  >
			<return type="Vector3">
			</return>
			<argument index="0" name="begin" type="Vector3">
			</argument>
			<argument index="1" name="end" type="Vector3">
			</argument>
			<description>
			Returns true if segment from position "sa" to position "sb" intersects this plane. If true, the result is placed in "r".
			</description>
		</method>
		<method name="is_point_over"  >
			<return type="bool">
			</return>
			<argument index="0" name="point" type="Vector3">
			</argument>
			<description>
			Returns true if "p" is located above the plane.
			</description>
		</method>
		<method name="normalized"  >
			<return type="Plane">
			</return>
			<description>
			Returns a copy of the plane, normalized.
			</description>
		</method>
		<method name="project"  >
			<return type="Vector3">
			</return>
			<argument index="0" name="point" type="Vector3">
			</argument>
			<description>
			Returns the orthogonal projection of point "p" into a point in the plane.
			</description>
		</method>
		<method name="Plane"  >
			<argument index="0" name="a" type="float">
			</argument>
			<argument index="1" name="b" type="float">
			</argument>
			<argument index="2" name="c" type="float">
			</argument>
			<argument index="3" name="d" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="Plane"  >
			<argument index="0" name="v1" type="Vector3">
			</argument>
			<argument index="1" name="v2" type="Vector3">
			</argument>
			<argument index="2" name="v3" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="Plane"  >
			<argument index="0" name="normal" type="Vector3">
			</argument>
			<argument index="1" name="d" type="float">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<members>
		<member name="normal" type="Vector3">
		</member>
		<member name="x" type="float">
		</member>
		<member name="y" type="float">
		</member>
		<member name="z" type="float">
		</member>
		<member name="d" type="float">
		</member>
	</members>
	<constants>
	</constants>
</class>
<class name="PlaneShape" inherits="Shape" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_plane"  >
			<argument index="0" name="plane" type="Plane">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_plane" qualifiers="const" >
			<return type="Plane">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Polygon2D" inherits="Node2D" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_polygon"  >
			<argument index="0" name="polygon" type="Vector2Array">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_polygon" qualifiers="const" >
			<return type="Vector2Array">
			</return>
			<description>
			</description>
		</method>
		<method name="set_uv"  >
			<argument index="0" name="uv" type="Vector2Array">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_uv" qualifiers="const" >
			<return type="Vector2Array">
			</return>
			<description>
			</description>
		</method>
		<method name="set_color"  >
			<argument index="0" name="color" type="Color">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_color" qualifiers="const" >
			<return type="Color">
			</return>
			<description>
			</description>
		</method>
		<method name="set_texture"  >
			<argument index="0" name="texture" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_texture" qualifiers="const" >
			<return type="Object">
			</return>
			<description>
			</description>
		</method>
		<method name="set_texture_offset"  >
			<argument index="0" name="texture_offset" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_texture_offset" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="set_texture_rotation"  >
			<argument index="0" name="texture_rotation" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_texture_rotation" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_texture_scale"  >
			<argument index="0" name="texture_scale" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_texture_scale" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="set_texture_repeat"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_texture_repeat" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_invert"  >
			<argument index="0" name="invert" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_invert" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_invert_border"  >
			<argument index="0" name="invert_border" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_invert_border" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_offset"  >
			<argument index="0" name="offset" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_offset" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="PolygonPathFinder" inherits="Resource" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="setup"  >
			<argument index="0" name="points" type="Vector2Array">
			</argument>
			<argument index="1" name="connections" type="IntArray">
			</argument>
			<description>
			</description>
		</method>
		<method name="find_path"  >
			<return type="Vector2Array">
			</return>
			<argument index="0" name="from" type="Vector2">
			</argument>
			<argument index="1" name="to" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_intersections" qualifiers="const" >
			<return type="Vector2Array">
			</return>
			<argument index="0" name="from" type="Vector2">
			</argument>
			<argument index="1" name="to" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_closest_point" qualifiers="const" >
			<return type="Vector2">
			</return>
			<argument index="0" name="point" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_point_inside" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="point" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_point_penalty"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="penalty" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_point_penalty" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_bounds" qualifiers="const" >
			<return type="Rect2">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Popup" inherits="Control" category="Core">
	<brief_description>
	Base container control for popups and dialogs.
	</brief_description>
	<description>
	PopUp is a base [Control] used to show dialogs and popups. It's a subwindow and modal by default (see [Control]) and has helpers for custom popup behavior.
	</description>
	<methods>
		<method name="popup_centered"  >
			<argument index="0" name="size" type="Vector2" default="Vector2(0,0)">
			</argument>
			<description>
			Popup (show the control in modal form) in the center of the screen, at the curent size, or at a size determined by "size".
			</description>
		</method>
		<method name="popup_centered_ratio"  >
			<argument index="0" name="ratio" type="float" default="0.75">
			</argument>
			<description>
			Popup (show the control in modal form) in the center of the screen, scalled at a ratio of size of the screen.
			</description>
		</method>
		<method name="popup_centered_minsize"  >
			<argument index="0" name="minsize" type="Vector2" default="Vector2(0,0)">
			</argument>
			<description>
			</description>
		</method>
		<method name="popup"  >
			<description>
			Popup (show the control in modal form).
			</description>
		</method>
		<method name="set_exclusive"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_exclusive" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<signals>
		<signal name="popup_hide">
			<description>
			</description>
		</signal>
		<signal name="about_to_show">
			<description>
			This signal is emitted when a popup is about to be shown. (often used in [PopupMenu] for clearing the list of options and creating a new one according to the current context).
			</description>
		</signal>
	</signals>
	<constants>
		<constant name="NOTIFICATION_POST_POPUP" value="80">
		</constant>
		<constant name="NOTIFICATION_POPUP_HIDE" value="81">
		</constant>
	</constants>
</class>
<class name="PopupDialog" inherits="Popup" category="Core">
	<brief_description>
	Base class for Popup Dialogs
	</brief_description>
	<description>
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
</class>
<class name="PopupMenu" inherits="Popup" category="Core">
	<brief_description>
	PopupMenu displays a list of options.
	</brief_description>
	<description>
	PopupMenu is the typical Control that displays a list of options. They are popular in toolbars or context menus.
	</description>
	<methods>
		<method name="add_icon_item"  >
			<argument index="0" name="texture" type="Object">
			</argument>
			<argument index="1" name="label" type="String">
			</argument>
			<argument index="2" name="id" type="int" default="-1">
			</argument>
			<argument index="3" name="accel" type="int" default="0">
			</argument>
			<description>
			Add a new item with text "label" and icon "texture. An id can optonally be provided, as well as an accelerator. If no id is provided, one will be created from the index.
			</description>
		</method>
		<method name="add_item"  >
			<argument index="0" name="label" type="String">
			</argument>
			<argument index="1" name="id" type="int" default="-1">
			</argument>
			<argument index="2" name="accel" type="int" default="0">
			</argument>
			<description>
			Add a new item with text "label". An id can optonally be provided, as well as an accelerator. If no id is provided, one will be created from the index.
			</description>
		</method>
		<method name="add_icon_check_item"  >
			<argument index="0" name="texture" type="Object">
			</argument>
			<argument index="1" name="label" type="String">
			</argument>
			<argument index="2" name="id" type="int" default="-1">
			</argument>
			<argument index="3" name="accel" type="int" default="0">
			</argument>
			<description>
			Add a new checkable item with text "label" and icon "texture. An id can optonally be provided, as well as an accelerator. If no id is provided, one will be created from the index. Note that checkable items just display a checkmark, but don"apos;t have any built-in checking behavior and must be checked/unchecked manually.
			</description>
		</method>
		<method name="add_check_item"  >
			<argument index="0" name="label" type="String">
			</argument>
			<argument index="1" name="id" type="int" default="-1">
			</argument>
			<argument index="2" name="accel" type="int" default="0">
			</argument>
			<description>
			Add a new checkable item with text "label". An id can optonally be provided, as well as an accelerator. If no id is provided, one will be created from the index. Note that checkable items just display a checkmark, but don"apos;t have any built-in checking behavior and must be checked/unchecked manually.
			</description>
		</method>
		<method name="add_submenu_item"  >
			<argument index="0" name="label" type="String">
			</argument>
			<argument index="1" name="submenu" type="String">
			</argument>
			<argument index="2" name="id" type="int" default="-1">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_item_text"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="text" type="String">
			</argument>
			<description>
			Set the text of the item at index "idx".
			</description>
		</method>
		<method name="set_item_icon"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="icon" type="Object">
			</argument>
			<description>
			Set the icon of the item at index "idx".
			</description>
		</method>
		<method name="set_item_accelerator"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="accel" type="int">
			</argument>
			<description>
			Set the accelerator of the item at index "idx". Accelerators are special combinations of keys that activate the item, no matter which control is fucused.
			</description>
		</method>
		<method name="set_item_metadata"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="metadata" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_item_checked"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="arg1" type="bool">
			</argument>
			<description>
			Set the checkstate status of the item at index "idx".
			</description>
		</method>
		<method name="set_item_disabled"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="disabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_item_submenu"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="submenu" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_item_as_separator"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_item_as_checkable"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_item_ID"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="id" type="int">
			</argument>
			<description>
			Set the id of the item at index "idx".
			</description>
		</method>
		<method name="get_item_text" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			Return the text of the item at index "idx".
			</description>
		</method>
		<method name="get_item_icon" qualifiers="const" >
			<return type="Object">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			Return the icon of the item at index "idx".
			</description>
		</method>
		<method name="get_item_metadata" qualifiers="const" >
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_item_accelerator" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			Return the accelerator of the item at index "idx". Accelerators are special combinations of keys that activate the item, no matter which control is fucused.
			</description>
		</method>
		<method name="get_item_submenu" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_item_separator" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_item_checkable" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_item_checked" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			Return the checkstate status of the item at index "idx".
			</description>
		</method>
		<method name="is_item_disabled" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_item_ID" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			Return the id of the item at index "idx".
			</description>
		</method>
		<method name="get_item_index" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="id" type="int">
			</argument>
			<description>
			Find and return the index of the item containing a given id.
			</description>
		</method>
		<method name="get_item_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the amount of items.
			</description>
		</method>
		<method name="add_separator"  >
			<description>
			Add a separator between items. Separators also occupy an index.
			</description>
		</method>
		<method name="remove_item"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="clear"  >
			<description>
			Clear the popup menu.
			</description>
		</method>
	</methods>
	<signals>
		<signal name="item_pressed">
			<argument index="0" name="ID" type="int">
			</argument>
			<description>
			This even is emitted when an item is pressed or its accelerator is activated. The id of the item is returned if it exists, else the index.
			</description>
		</signal>
	</signals>
	<constants>
	</constants>
	<theme_items>
		<theme_item name="vseparation" type="int">
		</theme_item>
		<theme_item name="hseparation" type="int">
		</theme_item>
		<theme_item name="font_color_disabled" type="Color">
		</theme_item>
		<theme_item name="font_color_accel" type="Color">
		</theme_item>
		<theme_item name="font_color" type="Color">
		</theme_item>
		<theme_item name="font_color_hover" type="Color">
		</theme_item>
		<theme_item name="submenu" type="Texture">
		</theme_item>
		<theme_item name="checked" type="Texture">
		</theme_item>
		<theme_item name="unchecked" type="Texture">
		</theme_item>
		<theme_item name="font" type="Font">
		</theme_item>
		<theme_item name="hover" type="StyleBox">
		</theme_item>
		<theme_item name="panel_disabled" type="StyleBox">
		</theme_item>
		<theme_item name="panel" type="StyleBox">
		</theme_item>
		<theme_item name="separator" type="StyleBox">
		</theme_item>
	</theme_items>
</class>
<class name="PopupPanel" inherits="Popup" category="Core">
	<brief_description>
	Base class for Popup Panels
	</brief_description>
	<description>
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
	<theme_items>
		<theme_item name="panel" type="StyleBox">
		</theme_item>
	</theme_items>
</class>
<class name="Portal" inherits="VisualInstance" category="Core">
	<brief_description>
	Portals provide virtual openings to rooms.
	</brief_description>
	<description>
	Portals provide virtual openings to [RoomInstance] nodes, so cameras can look at them from the outside. Note that portals are a visibility optimization technique, and are in no way related to the game of the same name (as in, they are not used for teleportation). For more information on how rooms and portals work, see [RoomInstance]. Portals are represented as 2D convex polygon shapes (in the X,Y local plane), and are placed on the surface of the areas occupied by a [RoomInstance], to indicate that the room can be accessed or looked-at through them. If two rooms are next to each other, and two similar portals in each of them share the same world position (and are parallel and opposed to each other), they will automatically "connect" and form "doors" (for example, the portals that connect a kitchen to a living room are placed in the door they share). Portals must always have a [RoomInstance] node as a parent, grandparent or far parent, or else they will not be
	active.
	</description>
	<methods>
		<method name="set_shape"  >
			<argument index="0" name="points" type="Vector2Array">
			</argument>
			<description>
			Set the portal shape. The shape is an array of [Point2]  points, representing a convex polygon in the X,Y plane.
			</description>
		</method>
		<method name="get_shape" qualifiers="const" >
			<return type="Vector2Array">
			</return>
			<description>
			Return the portal shape. The shape is an array of [Point2]  points, representing a convex polygon in the X,Y plane.
			</description>
		</method>
		<method name="set_enabled"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			Enable the portal (it is enabled by defaul though), disabling it will cause the parent [RoomInstance] to not be visible any longer when looking through the portal.
			</description>
		</method>
		<method name="is_enabled" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return wether the portal is active. When disabled it causes the parent [RoomInstance] to not be visible any longer when looking through the portal.
			</description>
		</method>
		<method name="set_disable_distance"  >
			<argument index="0" name="distance" type="float">
			</argument>
			<description>
			Set the distance threshold for disabling the portal. Every time that the portal goes beyond "distance", it disables itself, becoming the opaque color (see [method set_disabled_color]).
			</description>
		</method>
		<method name="get_disable_distance" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the distance threshold for disabling the portal. Every time that the portal goes beyond "distance", it disables itself, becoming the opaque color (see [method set_disabled_color]).
			</description>
		</method>
		<method name="set_disabled_color"  >
			<argument index="0" name="color" type="Color">
			</argument>
			<description>
			When the portal goes beyond the disable distance (see [method set_disable_distance]), it becomes opaque and displayed with color "color".
			</description>
		</method>
		<method name="get_disabled_color" qualifiers="const" >
			<return type="Color">
			</return>
			<description>
			Return the color for when the portal goes beyond the disable distance (see [method set_disable_distance]) and becomes disabled.
			</description>
		</method>
		<method name="set_connect_range"  >
			<argument index="0" name="range" type="float">
			</argument>
			<description>
			Set the range for auto-connecting two portals from different rooms sharing the same space.
			</description>
		</method>
		<method name="get_connect_range" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the range for auto-connecting two portals from different rooms sharing the same space.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Position2D" inherits="Node2D" category="Core">
	<brief_description>
	Generic 2D Position hint for editing.
	</brief_description>
	<description>
	Generic 2D Position hint for editing. It's just like a plain [Node2D] but displays as a cross in the 2D-Editor at all times.
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
</class>
<class name="Position3D" inherits="Spatial" category="Core">
	<brief_description>
	Generic 3D Position hint for editing
	</brief_description>
	<description>
	Generic 3D Position hint for editing. It's just like a plain [Spatial] but displays as a cross in the 3D-Editor at all times.
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
</class>
<class name="ProgressBar" inherits="Range" category="Core">
	<brief_description>
	General purpose progres bar.
	</brief_description>
	<description>
	General purpose progres bar. Shows fill percentage from right to left.
	</description>
	<methods>
		<method name="set_percent_visible"  >
			<argument index="0" name="visible" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_percent_visible" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
	<theme_items>
		<theme_item name="font_color" type="Color">
		</theme_item>
		<theme_item name="font_color_shadow" type="Color">
		</theme_item>
		<theme_item name="font" type="Font">
		</theme_item>
		<theme_item name="fg" type="StyleBox">
		</theme_item>
		<theme_item name="bg" type="StyleBox">
		</theme_item>
	</theme_items>
</class>
<class name="ProximityGroup" inherits="Spatial" category="Core">
	<brief_description>
	General purpose proximity-detection node.
	</brief_description>
	<description>
	General purpose proximity-detection node.
	</description>
	<methods>
		<method name="set_group_name"  >
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="broadcast"  >
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="parameters" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_dispatch_mode"  >
			<argument index="0" name="mode" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_grid_radius"  >
			<argument index="0" name="radius" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_grid_radius" qualifiers="const" >
			<return type="Vector3">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<signals>
		<signal name="broadcast">
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="parameters" type="Array">
			</argument>
			<description>
			</description>
		</signal>
	</signals>
	<constants>
	</constants>
</class>
<class name="Quad" inherits="GeometryInstance" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_axis"  >
			<argument index="0" name="axis" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_axis" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_size"  >
			<argument index="0" name="size" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_size" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="set_centered"  >
			<argument index="0" name="centered" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_centered" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_offset"  >
			<argument index="0" name="offset" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_offset" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Quat" category="Built-In Types">
	<brief_description>
	Quaternion.
	</brief_description>
	<description>
	Quaternion is a 4 dimensional vector that is used to represet a rotation. It mainly exists to perform SLERP (spherical-linear interpolation) between to rotations obtained by a Matrix3 cheaply. Adding quaternions also cheaply adds the rotations, however quaternions need to be often normalized, or else they suffer from precision issues.
	</description>
	<methods>
		<method name="cubic_slerp"  >
			<return type="Quat">
			</return>
			<argument index="0" name="b" type="Quat">
			</argument>
			<argument index="1" name="pre_a" type="Quat">
			</argument>
			<argument index="2" name="post_b" type="Quat">
			</argument>
			<argument index="3" name="t" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="dot"  >
			<return type="float">
			</return>
			<argument index="0" name="b" type="Quat">
			</argument>
			<description>
			Returns the dot product between two quaternions.
			</description>
		</method>
		<method name="inverse"  >
			<return type="Quat">
			</return>
			<description>
			Returns the inverse of the quaternion (applies to the inverse rotatio too).
			</description>
		</method>
		<method name="length"  >
			<return type="float">
			</return>
			<description>
			Returns the length of the quaternion.
			</description>
		</method>
		<method name="length_squared"  >
			<return type="float">
			</return>
			<description>
			Returns the length of the quaternion, minus the square root.
			</description>
		</method>
		<method name="normalized"  >
			<return type="Quat">
			</return>
			<description>
			Returns a copy of the quaternion, normalized to unit length.
			</description>
		</method>
		<method name="slerp"  >
			<return type="Quat">
			</return>
			<argument index="0" name="b" type="Quat">
			</argument>
			<argument index="1" name="t" type="float">
			</argument>
			<description>
			Perform a spherical-linear interpolation with another quaternion.
			</description>
		</method>
		<method name="slerpni"  >
			<return type="Quat">
			</return>
			<argument index="0" name="b" type="Quat">
			</argument>
			<argument index="1" name="t" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="Quat"  >
			<argument index="0" name="x" type="float">
			</argument>
			<argument index="1" name="y" type="float">
			</argument>
			<argument index="2" name="z" type="float">
			</argument>
			<argument index="3" name="w" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="Quat"  >
			<argument index="0" name="from" type="Matrix3">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<members>
		<member name="x" type="float">
		</member>
		<member name="y" type="float">
		</member>
		<member name="z" type="float">
		</member>
		<member name="w" type="float">
		</member>
	</members>
	<constants>
	</constants>
</class>
<class name="RID" category="Built-In Types">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="get_id"  >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="RID"  >
			<argument index="0" name="from" type="Object">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Range" inherits="Control" category="Core">
	<brief_description>
	Abstract base class for range-based controls.
	</brief_description>
	<description>
	Range is a base class for [Control] nodes that change a floating point [i]value[/i] between a need a [i]minimum[/i], [i]maximum[/i], using [i]step[/i] and [i]page[/i], for example a [ScrollBar].
	</description>
	<methods>
		<method name="get_val" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the current value.
			</description>
		</method>
		<method name="get_value" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_min" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the minimum value.
			</description>
		</method>
		<method name="get_max" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the maximum value.
			</description>
		</method>
		<method name="get_step" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the stepping, if step is 0, stepping is disabled.
			</description>
		</method>
		<method name="get_page" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the page size, if page is 0, paging is disabled.
			</description>
		</method>
		<method name="get_unit_value" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return value mapped to 0 to 1 (unit) range.
			</description>
		</method>
		<method name="get_rounded_values" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_val"  >
			<argument index="0" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_value"  >
			<argument index="0" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_min"  >
			<argument index="0" name="minimum" type="float">
			</argument>
			<description>
			Set minimum value, clamped range value to it if it"apos;s less.
			</description>
		</method>
		<method name="set_max"  >
			<argument index="0" name="maximum" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_step"  >
			<argument index="0" name="step" type="float">
			</argument>
			<description>
			Set step value. If step is 0, stepping will be disabled.
			</description>
		</method>
		<method name="set_page"  >
			<argument index="0" name="pagesize" type="float">
			</argument>
			<description>
			Set page size. Page is mainly used for scrollbars or anything that controls text scrolling.
			</description>
		</method>
		<method name="set_unit_value"  >
			<argument index="0" name="value" type="float">
			</argument>
			<description>
			Set value mapped to 0 to 1 (unit) range, it will then be converted to the actual value within min and max.
			</description>
		</method>
		<method name="set_rounded_values"  >
			<argument index="0" name="arg0" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_exp_unit_value"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_unit_value_exp" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="share"  >
			<argument index="0" name="with" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="unshare"  >
			<description>
			</description>
		</method>
	</methods>
	<signals>
		<signal name="value_changed">
			<argument index="0" name="value" type="float">
			</argument>
			<description>
			This signal is emitted when value changes.
			</description>
		</signal>
		<signal name="changed">
			<description>
			This signal is emitted when min, max, range or step change.
			</description>
		</signal>
	</signals>
	<constants>
	</constants>
</class>
<class name="RawArray" category="Built-In Types">
	<brief_description>
	Raw byte array.
	</brief_description>
	<description>
	Raw byte array. Contains bytes. Optimized for memory usage, cant fragment the memory.
	</description>
	<methods>
		<method name="get"  >
			<return type="int">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_string_from_ascii"  >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="get_string_from_utf8"  >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="push_back"  >
			<argument index="0" name="byte" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="resize"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="byte" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="size"  >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="RawArray"  >
			<argument index="0" name="from" type="Array">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="RayCast" inherits="Spatial" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_enabled"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_enabled" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_cast_to"  >
			<argument index="0" name="local_point" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_cast_to" qualifiers="const" >
			<return type="Vector3">
			</return>
			<description>
			</description>
		</method>
		<method name="is_colliding" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="get_collider" qualifiers="const" >
			<return type="Object">
			</return>
			<description>
			</description>
		</method>
		<method name="get_collider_shape" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_collision_point" qualifiers="const" >
			<return type="Vector3">
			</return>
			<description>
			</description>
		</method>
		<method name="get_collision_normal" qualifiers="const" >
			<return type="Vector3">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="RayCast2D" inherits="Node2D" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_enabled"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_enabled" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_cast_to"  >
			<argument index="0" name="local_point" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_cast_to" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="is_colliding" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="get_collider" qualifiers="const" >
			<return type="Object">
			</return>
			<description>
			</description>
		</method>
		<method name="get_collider_shape" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_collision_point" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="get_collision_normal" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="add_exception_rid"  >
			<argument index="0" name="rid" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="add_exception"  >
			<argument index="0" name="node" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="remove_exception_rid"  >
			<argument index="0" name="rid" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="remove_exception"  >
			<argument index="0" name="node" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="clear_exceptions"  >
			<description>
			</description>
		</method>
		<method name="set_layer_mask"  >
			<argument index="0" name="mask" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_layer_mask" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="RayShape" inherits="Shape" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_length"  >
			<argument index="0" name="length" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_length" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="RayShape2D" inherits="Shape2D" category="Core">
	<brief_description>
	Ray 2D shape resource for physics.
	</brief_description>
	<description>
	Ray 2D shape resource for physics. A ray is not really a collision body, isntead it tries to separate itself from wathever is touching it's far endpoint. It's often useful for ccharacters.
	</description>
	<methods>
		<method name="set_length"  >
			<argument index="0" name="length" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_length" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="RealArray" category="Built-In Types">
	<brief_description>
	Real Array .
	</brief_description>
	<description>
	Real Array. Array of floating point values. Can only contain floats. Optimized for memory usage, cant fragment the memory.
	</description>
	<methods>
		<method name="get"  >
			<return type="float">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="push_back"  >
			<argument index="0" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="resize"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="size"  >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="RealArray"  >
			<argument index="0" name="from" type="Array">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Rect2" category="Built-In Types">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="clip"  >
			<return type="Rect2">
			</return>
			<argument index="0" name="b" type="Rect2">
			</argument>
			<description>
			</description>
		</method>
		<method name="encloses"  >
			<return type="bool">
			</return>
			<argument index="0" name="b" type="Rect2">
			</argument>
			<description>
			</description>
		</method>
		<method name="expand"  >
			<return type="Rect2">
			</return>
			<argument index="0" name="to" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_area"  >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="grow"  >
			<return type="Rect2">
			</return>
			<argument index="0" name="by" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="has_no_area"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="has_point"  >
			<return type="bool">
			</return>
			<argument index="0" name="point" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="intersects"  >
			<return type="bool">
			</return>
			<argument index="0" name="b" type="Rect2">
			</argument>
			<description>
			</description>
		</method>
		<method name="merge"  >
			<return type="Rect2">
			</return>
			<argument index="0" name="b" type="Rect2">
			</argument>
			<description>
			</description>
		</method>
		<method name="Rect2"  >
			<argument index="0" name="pos" type="Vector2">
			</argument>
			<argument index="1" name="size" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="Rect2"  >
			<argument index="0" name="x" type="float">
			</argument>
			<argument index="1" name="y" type="float">
			</argument>
			<argument index="2" name="width" type="float">
			</argument>
			<argument index="3" name="height" type="float">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<members>
		<member name="pos" type="Vector2">
		</member>
		<member name="size" type="Vector2">
		</member>
		<member name="end" type="Vector2">
		</member>
	</members>
	<constants>
	</constants>
</class>
<class name="RectangleShape2D" inherits="Shape2D" category="Core">
	<brief_description>
	Rectangle Shape for 2D Physics.
	</brief_description>
	<description>
	Rectangle Shape for 2D Physics. This shape is useful for modelling box-like 2D objects.
	</description>
	<methods>
		<method name="set_extents"  >
			<argument index="0" name="extents" type="Vector2">
			</argument>
			<description>
			Set the half extents, the actual width and height of this shape is twice the half extents.
			</description>
		</method>
		<method name="get_extents" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			Return the half extents, the actual width and height of this shape is twice the half extents.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Reference" inherits="Object" category="Core">
	<brief_description>
	Base class for anything refcounted.
	</brief_description>
	<description>
	Base class for anything refcounted. Resource and many other helper objects inherit this. References keep an internal reference counter so they are only released when no longer in use.
	</description>
	<methods>
		<method name="init_ref"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="reference"  >
			<description>
			Increase the internal reference counter. Use this only if you really know what you are doing.
			</description>
		</method>
		<method name="unreference"  >
			<return type="bool">
			</return>
			<description>
			Decrease the internal reference counter. Use this only if you really know what you are doing.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="ReferenceFrame" inherits="Control" category="Core">
	<brief_description>
	Reference frame for GUI.
	</brief_description>
	<description>
	Reference frame for GUI. It's just like an empty control, except a red box is displayed while editing around it's size at all times.
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
	<theme_items>
		<theme_item name="border" type="StyleBox">
		</theme_item>
	</theme_items>
</class>
<class name="RegEx" inherits="Reference" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="compile"  >
			<return type="int">
			</return>
			<argument index="0" name="pattern" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="find" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="text" type="String">
			</argument>
			<argument index="1" name="start" type="int" default="0">
			</argument>
			<argument index="2" name="end" type="int" default="-1">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_captures" qualifiers="const" >
			<return type="StringArray">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="RemoteTransform2D" inherits="Node2D" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_remote_node"  >
			<argument index="0" name="path" type="NodePath">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_remote_node" qualifiers="const" >
			<return type="NodePath">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="RenderTargetTexture" inherits="Texture" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
</class>
<class name="Resource" inherits="Reference" category="Core">
	<brief_description>
	Base class for all resources.
	</brief_description>
	<description>
	Resource is the base class for all resource types. Resources are primarily data containers. They are reference counted and freed when no longer in use. They are also loaded only once from disk, and further attempts to load the resource will return the same reference (all this in contrast to a [Node], which is not reference counted and can be instanced from disk as many times as desred). Resources can be saved externally on disk or bundled into another object, such as a [Node] or another resource.
	</description>
	<methods>
		<method name="set_path"  >
			<argument index="0" name="path" type="String">
			</argument>
			<description>
			Set the path of the resource. This is useful mainly for editors when saving/loading, and shouldn"apos;t be changed by anything else.
			</description>
		</method>
		<method name="take_over_path"  >
			<argument index="0" name="path" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_path" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			Return the path of the resource. This is useful mainly for editors when saving/loading, and shouldn"apos;t be changed by anything else.
			</description>
		</method>
		<method name="set_name"  >
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			Set the name of the resources, any name is ok (it doesn"apos;t have to be unique). Name is for descriptive purposes only.
			</description>
		</method>
		<method name="get_name" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			Return the name of the resources, any name is ok (it doesn"apos;t have to be unique). Name is for descriptive purposes only.
			</description>
		</method>
		<method name="get_rid" qualifiers="const" >
			<return type="RID">
			</return>
			<description>
			Return the RID of the resource (or an empty RID). Many resources (such as [Texture], [Mesh], etc) are high level abstractions of resources stored in a server, so this function will return the original RID.
			</description>
		</method>
		<method name="set_import_metadata"  >
			<argument index="0" name="metadata" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_import_metadata" qualifiers="const" >
			<return type="Object">
			</return>
			<description>
			</description>
		</method>
		<method name="duplicate"  >
			<return type="Object">
			</return>
			<argument index="0" name="arg0" type="bool" default="false">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<signals>
		<signal name="changed">
			<description>
			</description>
		</signal>
	</signals>
	<constants>
	</constants>
</class>
<class name="ResourceImportMetadata" inherits="Reference" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_editor"  >
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_editor" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="add_source"  >
			<argument index="0" name="path" type="String">
			</argument>
			<argument index="1" name="md5" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_source_path" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_source_md5" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="remove_source"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_source_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_option"  >
			<argument index="0" name="key" type="String">
			</argument>
			<argument index="1" name="value" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_option" qualifiers="const" >
			<argument index="0" name="key" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_options" qualifiers="const" >
			<return type="StringArray">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="ResourceInteractiveLoader" inherits="Reference" category="Core">
	<brief_description>
	Interactive Resource Loader.
	</brief_description>
	<description>
	Interactive Resource Loader. This object is returned by ResourceLoader when performing an interactive load. It allows to load with high granularity, so this is mainly useful for displaying load bars/percentages.
	</description>
	<methods>
		<method name="get_resource"  >
			<return type="Object">
			</return>
			<description>
			Return the loaded resource (only if loaded). Otherwise, returns null.
			</description>
		</method>
		<method name="poll"  >
			<return type="int">
			</return>
			<description>
			Poll the load. If OK is returned, this means poll will have to be called again. If ERR_EOF is returned, them the load has finished and the resource can be obtained by calling [get_resource].
			</description>
		</method>
		<method name="wait"  >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_stage" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the load stage. The total amount of stages can be queried with [get_stage_count]
			</description>
		</method>
		<method name="get_stage_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the total amount of stages (calls to [poll] ) needed to completely load this resource.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="ResourceLoader" inherits="Object" category="Core">
	<brief_description>
	Resource Loader.
	</brief_description>
	<description>
	Resource Loader. This is a static object accessible as [ResourceLoader]. GDScript has a simplified load() function, though.
	</description>
	<methods>
		<method name="load_interactive"  >
			<return type="ResourceInteractiveLoader">
			</return>
			<argument index="0" name="path" type="String">
			</argument>
			<argument index="1" name="type_hint" type="String" default="&quot;&quot;">
			</argument>
			<description>
			Load a resource interactively, the returned object allows to load with high granularity.
			</description>
		</method>
		<method name="load"  >
			<return type="Resource">
			</return>
			<argument index="0" name="path" type="String">
			</argument>
			<argument index="1" name="type_hint" type="String" default="&quot;&quot;">
			</argument>
			<description>
			Load a resource. Optionally a hint can be given for the resource type to load.
			</description>
		</method>
		<method name="get_recognized_extensions_for_type"  >
			<return type="StringArray">
			</return>
			<argument index="0" name="type" type="String">
			</argument>
			<description>
			Return the list of recognized extensions for a resource type.
			</description>
		</method>
		<method name="set_abort_on_missing_resources"  >
			<argument index="0" name="abort" type="bool">
			</argument>
			<description>
			Change the behavior on missing sub-resources. Default is to abort load.
			</description>
		</method>
		<method name="get_dependencies"  >
			<return type="StringArray">
			</return>
			<argument index="0" name="arg0" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="has"  >
			<return type="bool">
			</return>
			<argument index="0" name="arg0" type="String">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="ResourcePreloader" inherits="Node" category="Core">
	<brief_description>
	Resource Preloader Node.
	</brief_description>
	<description>
	Resource Preloader Node. This node is used to preload sub-resources inside a scene, so when the scene is loaded all the resourcs are ready to use and be retrieved from here.
	</description>
	<methods>
		<method name="add_resource"  >
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="resource" type="Object">
			</argument>
			<description>
			Add a resource to the preloader. Set the text-id that will be used to identify it (retrieve it/erase it/etc).
			</description>
		</method>
		<method name="remove_resource"  >
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			Remove a resource from the preloader by text id.
			</description>
		</method>
		<method name="rename_resource"  >
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="newname" type="String">
			</argument>
			<description>
			Rename a resource inside the preloader, from a text-id to a new text-id.
			</description>
		</method>
		<method name="has_resource" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			Return true if the preloader has a given resource.
			</description>
		</method>
		<method name="get_resource" qualifiers="const" >
			<return type="Object">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			Return the resource given a text-id.
			</description>
		</method>
		<method name="get_resource_list" qualifiers="const" >
			<return type="StringArray">
			</return>
			<description>
			Return the list of resources inside the preloader.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="ResourceSaver" inherits="Object" category="Core">
	<brief_description>
	Resource Saving Interface.
	</brief_description>
	<description>
	Resource Saving Interface. This interface is used for saving resources to disk.
	</description>
	<methods>
		<method name="save"  >
			<return type="int">
			</return>
			<argument index="0" name="path" type="String">
			</argument>
			<argument index="1" name="resource" type="Resource">
			</argument>
			<argument index="2" name="arg2" type="int" default="0">
			</argument>
			<description>
			Save a resource to disk, to a given path.
			</description>
		</method>
		<method name="get_recognized_extensions"  >
			<return type="StringArray">
			</return>
			<argument index="0" name="type" type="Object">
			</argument>
			<description>
			Return the list of extensions available for saving a resource of a given type.
			</description>
		</method>
	</methods>
	<constants>
		<constant name="FLAG_RELATIVE_PATHS" value="1">
		</constant>
		<constant name="FLAG_BUNDLE_RESOURCES" value="2">
		</constant>
		<constant name="FLAG_CHANGE_PATH" value="4">
		</constant>
		<constant name="FLAG_OMIT_EDITOR_PROPERTIES" value="8">
		</constant>
		<constant name="FLAG_SAVE_BIG_ENDIAN" value="16">
		</constant>
		<constant name="FLAG_COMPRESS" value="32">
		</constant>
	</constants>
</class>
<class name="RichTextLabel" inherits="Control" category="Core">
	<brief_description>
	Label that displays rich text.
	</brief_description>
	<description>
	Label that displays rich text. Rich text can contain custom text, fonts, images and some basic formatting. It also adapts itself to given width/heights.
	</description>
	<methods>
		<method name="add_text"  >
			<argument index="0" name="text" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="add_image"  >
			<argument index="0" name="image" type="Texture">
			</argument>
			<description>
			</description>
		</method>
		<method name="newline"  >
			<description>
			</description>
		</method>
		<method name="push_font"  >
			<argument index="0" name="font" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="push_color"  >
			<argument index="0" name="color" type="Color">
			</argument>
			<description>
			</description>
		</method>
		<method name="push_align"  >
			<argument index="0" name="align" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="push_indent"  >
			<argument index="0" name="level" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="push_list"  >
			<argument index="0" name="type" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="push_meta"  >
			<argument index="0" name="data" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="push_underline"  >
			<description>
			</description>
		</method>
		<method name="pop"  >
			<description>
			</description>
		</method>
		<method name="clear"  >
			<description>
			</description>
		</method>
		<method name="set_meta_underline"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_meta_underlined" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_scroll_active"  >
			<argument index="0" name="active" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_scroll_active" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_scroll_follow"  >
			<argument index="0" name="follow" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_scroll_following" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_tab_size"  >
			<argument index="0" name="spaces" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_tab_size" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_selection_enabled"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			Set to true if selecting the text inside this richtext is allowed.
			</description>
		</method>
		<method name="is_selection_enabled" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if selecting the text inside this richtext is allowed.
			</description>
		</method>
		<method name="parse_bbcode"  >
			<return type="int">
			</return>
			<argument index="0" name="bbcode" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="append_bbcode"  >
			<return type="int">
			</return>
			<argument index="0" name="bbcode" type="String">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<signals>
		<signal name="meta_clicked">
			<argument index="0" name="meta" type="Nil">
			</argument>
			<description>
			</description>
		</signal>
	</signals>
	<constants>
		<constant name="ALIGN_LEFT" value="0">
		</constant>
		<constant name="ALIGN_CENTER" value="1">
		</constant>
		<constant name="ALIGN_RIGHT" value="2">
		</constant>
		<constant name="ALIGN_FILL" value="3">
		</constant>
		<constant name="LIST_NUMBERS" value="0">
		</constant>
		<constant name="LIST_LETTERS" value="1">
		</constant>
		<constant name="LIST_DOTS" value="2">
		</constant>
		<constant name="ITEM_MAIN" value="0">
		</constant>
		<constant name="ITEM_TEXT" value="1">
		</constant>
		<constant name="ITEM_IMAGE" value="2">
		</constant>
		<constant name="ITEM_NEWLINE" value="3">
		</constant>
		<constant name="ITEM_FONT" value="4">
		</constant>
		<constant name="ITEM_COLOR" value="5">
		</constant>
		<constant name="ITEM_UNDERLINE" value="6">
		</constant>
		<constant name="ITEM_ALIGN" value="7">
		</constant>
		<constant name="ITEM_INDENT" value="8">
		</constant>
		<constant name="ITEM_LIST" value="9">
		</constant>
		<constant name="ITEM_META" value="10">
		</constant>
	</constants>
	<theme_items>
		<theme_item name="line_separation" type="int">
		</theme_item>
		<theme_item name="default_color" type="Color">
		</theme_item>
		<theme_item name="selection_color" type="Color">
		</theme_item>
		<theme_item name="font_color_selected" type="Color">
		</theme_item>
		<theme_item name="default_font" type="Font">
		</theme_item>
		<theme_item name="focus" type="StyleBox">
		</theme_item>
	</theme_items>
</class>
<class name="RigidBody" inherits="PhysicsBody" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="_integrate_forces" qualifiers="virtual" >
			<argument index="0" name="state" type="PhysicsDirectBodyState">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_mode"  >
			<argument index="0" name="mode" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_mode" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_mass"  >
			<argument index="0" name="mass" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_mass" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_weight"  >
			<argument index="0" name="weight" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_weight" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_friction"  >
			<argument index="0" name="friction" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_friction" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_bounce"  >
			<argument index="0" name="bounce" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_bounce" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_linear_velocity"  >
			<argument index="0" name="linear_velocity" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_linear_velocity" qualifiers="const" >
			<return type="Vector3">
			</return>
			<description>
			</description>
		</method>
		<method name="set_angular_velocity"  >
			<argument index="0" name="angular_velocity" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_angular_velocity" qualifiers="const" >
			<return type="Vector3">
			</return>
			<description>
			</description>
		</method>
		<method name="set_max_contacts_reported"  >
			<argument index="0" name="amount" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_max_contacts_reported" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_use_custom_integrator"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_using_custom_integrator"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_contact_monitor"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_contact_monitor_enabled" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_use_continuous_collision_detection"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_using_continuous_collision_detection" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_axis_velocity"  >
			<argument index="0" name="axis_velocity" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="apply_impulse"  >
			<argument index="0" name="pos" type="Vector3">
			</argument>
			<argument index="1" name="impulse" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_sleeping"  >
			<argument index="0" name="sleeping" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_sleeping" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_can_sleep"  >
			<argument index="0" name="able_to_sleep" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_able_to_sleep" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_axis_lock"  >
			<argument index="0" name="axis_lock" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_axis_lock" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<signals>
		<signal name="body_enter">
			<argument index="0" name="body" type="Object">
			</argument>
			<description>
			</description>
		</signal>
		<signal name="body_enter_shape">
			<argument index="0" name="body_id" type="int">
			</argument>
			<argument index="1" name="body" type="Object">
			</argument>
			<argument index="2" name="body_shape" type="int">
			</argument>
			<argument index="3" name="local_shape" type="int">
			</argument>
			<description>
			</description>
		</signal>
		<signal name="body_exit">
			<argument index="0" name="body" type="Object">
			</argument>
			<description>
			</description>
		</signal>
		<signal name="body_exit_shape">
			<argument index="0" name="body_id" type="int">
			</argument>
			<argument index="1" name="body" type="Object">
			</argument>
			<argument index="2" name="body_shape" type="int">
			</argument>
			<argument index="3" name="local_shape" type="int">
			</argument>
			<description>
			</description>
		</signal>
	</signals>
	<constants>
		<constant name="MODE_STATIC" value="1">
		</constant>
		<constant name="MODE_KINEMATIC" value="3">
		</constant>
		<constant name="MODE_RIGID" value="0">
		</constant>
		<constant name="MODE_CHARACTER" value="2">
		</constant>
	</constants>
</class>
<class name="RigidBody2D" inherits="PhysicsBody2D" category="Core">
	<brief_description>
	Rigid body 2D node.
	</brief_description>
	<description>
	Rigid body 2D node. This node is used for placing rigid bodies in the scene. It can contain a number of shapes, and also shift state between regular Rigid Body to Character or even Static. 
	Character mode forbids the node from being rotated. This node can have a custom force integrator function, for writing complex physics motion behavior per node.[br]
	As a warning, don't change this node position every frame or very often. Sporadic changes work fine, but physics runs at a different granularity (fixed hz) than usual rendering (process callback) and maybe even in a separate thread, so changing this from a process loop will yield strange behavior.
	</description>
	<methods>
		<method name="_integrate_forces" qualifiers="virtual" >
			<argument index="0" name="state" type="Physics2DDirectBodyState">
			</argument>
			<description>
			Override this function to use a custom force integrator. This allows to hook up to the physics processing and alter the simulation state for the object on every frame.
			</description>
		</method>
		<method name="set_mode"  >
			<argument index="0" name="mode" type="int">
			</argument>
			<description>
			Set the body mode, fromt he MODE_* enum. This allows to change to a static body or a character body.
			</description>
		</method>
		<method name="get_mode" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the current body mode, see [set_mode].
			</description>
		</method>
		<method name="set_mass"  >
			<argument index="0" name="mass" type="float">
			</argument>
			<description>
			Set the body mass.
			</description>
		</method>
		<method name="get_mass" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the body mass.
			</description>
		</method>
		<method name="set_weight"  >
			<argument index="0" name="weight" type="float">
			</argument>
			<description>
			Set the body mass given standard earth-weight (gravity 9.8). Not really useful for 2D since most measuers for this node are in pixels.
			</description>
		</method>
		<method name="get_weight" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the body mass given standard earth-weight (gravity 9.8).
			</description>
		</method>
		<method name="set_friction"  >
			<argument index="0" name="friction" type="float">
			</argument>
			<description>
			Set the body friction, from 0 (friction less) to 1 (full friction).
			</description>
		</method>
		<method name="get_friction" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the body friction.
			</description>
		</method>
		<method name="set_bounce"  >
			<argument index="0" name="bounce" type="float">
			</argument>
			<description>
			Set the body bounciness, from 0 (no bounce) to 1 (bounce).
			</description>
		</method>
		<method name="get_bounce" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the body bouncyness.
			</description>
		</method>
		<method name="set_linear_velocity"  >
			<argument index="0" name="linear_velocity" type="Vector2">
			</argument>
			<description>
			Set the body linear velocity. Can be used sporadically, but[b] DONT SET THIS IN EVERY FRAME [/b], because physics may be running in another thread and definitely runs at a different granularity. Use [_integrate_forces] as your process loop if you want to have precise control of the body state.
			</description>
		</method>
		<method name="get_linear_velocity" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			Return the body linear velocity. This changes by physics granularity. See [set_linear_velocity].
			</description>
		</method>
		<method name="set_angular_velocity"  >
			<argument index="0" name="angular_velocity" type="float">
			</argument>
			<description>
			Set the body angular velocity. Can be used sporadically, but[b] DONT SET THIS IN EVERY FRAME [/b], because physics may be running in another thread and definitely runs at a different granularity. Use [_integrate_forces] as your process loop if you want to have precise control of the body state.
			</description>
		</method>
		<method name="get_angular_velocity" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the body angular velocity. This changes by physics granularity. See [set_angular_velocity].
			</description>
		</method>
		<method name="set_max_contacts_reported"  >
			<argument index="0" name="amount" type="int">
			</argument>
			<description>
			Set the maximum contacts to report. Bodies can keep a log of the contacts with other bodies, this is enabled by setting the maximum amount of contacts reported to a number greater than 0.
			</description>
		</method>
		<method name="get_max_contacts_reported" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the maximum contacts that can be reported. See [set_max_contacts_reported].
			</description>
		</method>
		<method name="set_use_custom_integrator"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			Set to true if the body shall not do any internal force integration at all (like gravity or air friction). Only the [_integrate_forces] will be able to integrate them if overrided.
			</description>
		</method>
		<method name="is_using_custom_integrator"  >
			<return type="bool">
			</return>
			<description>
			Return true if the body is not doing any built-in force integration.
			</description>
		</method>
		<method name="set_contact_monitor"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			Enable contact monitoring. (the signals to notify when a body entered/exited collision).
			</description>
		</method>
		<method name="is_contact_monitor_enabled" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return wether contact monitoring is enabled.
			</description>
		</method>
		<method name="set_continuous_collision_detection_mode"  >
			<argument index="0" name="mode" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_continuous_collision_detection_mode" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_axis_velocity"  >
			<argument index="0" name="axis_velocity" type="Vector2">
			</argument>
			<description>
			Set an axis velocity. The velocity in the given vector axis will be set as the given vector length. (This is useful for jumping behavior).
			</description>
		</method>
		<method name="apply_impulse"  >
			<argument index="0" name="pos" type="Vector2">
			</argument>
			<argument index="1" name="impulse" type="Vector2">
			</argument>
			<description>
			Apply a positioned impulse (which will be affected by the body mass and shape).
			</description>
		</method>
		<method name="set_applied_force"  >
			<argument index="0" name="force" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_applied_force" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="set_sleeping"  >
			<argument index="0" name="sleeping" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_sleeping" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_can_sleep"  >
			<argument index="0" name="able_to_sleep" type="bool">
			</argument>
			<description>
			Set the body ability to fall asleep when not moving. This saves an enormous amount of processor time when there are plenty of rigid bodies (non static) in a scene.
			</description>
		</method>
		<method name="is_able_to_sleep" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if the body has the ability to fall asleep when not moving. See [set_can_sleep].
			</description>
		</method>
	</methods>
	<signals>
		<signal name="body_enter">
			<argument index="0" name="body" type="Object">
			</argument>
			<description>
			Emitted when a new body enters into contact with this one. Contact monitor and contacts reported must be enabled for this to work.
			</description>
		</signal>
		<signal name="body_enter_shape">
			<argument index="0" name="body_id" type="int">
			</argument>
			<argument index="1" name="body" type="Object">
			</argument>
			<argument index="2" name="body_shape" type="int">
			</argument>
			<argument index="3" name="local_shape" type="int">
			</argument>
			<description>
			Emitted when a new body sub-shape enters into contact with this one. Contact monitor and contacts reported must be enabled for this to work.
			</description>
		</signal>
		<signal name="body_exit">
			<argument index="0" name="body" type="Object">
			</argument>
			<description>
			Emitted when a body exits contact with this one. Contact monitor and contacts reported must be enabled for this to work.
			</description>
		</signal>
		<signal name="body_exit_shape">
			<argument index="0" name="body_id" type="int">
			</argument>
			<argument index="1" name="body" type="Object">
			</argument>
			<argument index="2" name="body_shape" type="int">
			</argument>
			<argument index="3" name="local_shape" type="int">
			</argument>
			<description>
			Emitted when a body shape exits contact with this one. Contact monitor and contacts reported must be enabled for this to work.
			</description>
		</signal>
	</signals>
	<constants>
		<constant name="MODE_STATIC" value="1">
			Static mode (does not move, can't be moved).
		</constant>
		<constant name="MODE_KINEMATIC" value="3">
		</constant>
		<constant name="MODE_RIGID" value="0">
			Rigid body, can move and rotate.
		</constant>
		<constant name="MODE_CHARACTER" value="2">
			Character body, can move but not rotate.
		</constant>
		<constant name="CCD_MODE_DISABLED" value="0">
		</constant>
		<constant name="CCD_MODE_CAST_RAY" value="1">
		</constant>
		<constant name="CCD_MODE_CAST_SHAPE" value="2">
		</constant>
	</constants>
</class>
<class name="Room" inherits="VisualInstance" category="Core">
	<brief_description>
	Room data resource.
	</brief_description>
	<description>
	Room contains the data to define the bounds of a scene (using a BSP Tree). It is instanced by a [RoomInstance] node to create rooms. See that class documentation for more information about rooms.
	</description>
	<methods>
		<method name="set_room"  >
			<argument index="0" name="room" type="Room">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_room" qualifiers="const" >
			<return type="Room">
			</return>
			<description>
			</description>
		</method>
		<method name="compute_room_from_subtree"  >
			<description>
			</description>
		</method>
		<method name="set_simulate_acoustics"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_simulating_acoustics" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="RoomBounds" inherits="Resource" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_bounds"  >
			<argument index="0" name="bsp_tree" type="Dictionary">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_bounds" qualifiers="const" >
			<return type="Dictionary">
			</return>
			<description>
			</description>
		</method>
		<method name="set_geometry_hint"  >
			<argument index="0" name="triangles" type="Vector3Array">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_geometry_hint" qualifiers="const" >
			<return type="Vector3Array">
			</return>
			<description>
			</description>
		</method>
		<method name="regenerate_bsp"  >
			<description>
			</description>
		</method>
		<method name="regenerate_bsp_cubic"  >
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Sample" inherits="Resource" category="Core">
	<brief_description>
	Audio Sample (sound) class.
	</brief_description>
	<description>
	Sample provides an audio sample class, containing audio data, together with some information for playback, such as format, mix rate and loop. It is used by sound playback routines.
	</description>
	<methods>
		<method name="create"  >
			<argument index="0" name="format" type="int">
			</argument>
			<argument index="1" name="stereo" type="bool">
			</argument>
			<argument index="2" name="length" type="int">
			</argument>
			<description>
			Create new data for the sample, with format "format" (see FORMAT_* enum), stereo hint, and length in frames (not samples or bytes!) "frame". Calling create overrides previous existing data if it exists. Stereo samples are interleaved pairs of left and right (in that order) points
			</description>
		</method>
		<method name="get_format" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the sample format (see FORMAT_* enum).
			</description>
		</method>
		<method name="is_stereo" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if the sample was created stereo.
			</description>
		</method>
		<method name="get_length" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the sample length in frames.
			</description>
		</method>
		<method name="set_data"  >
			<argument index="0" name="data" type="RawArray">
			</argument>
			<description>
			Set sample data. Data must be little endian, no matter the host platform, and exactly as long to fit all frames. Example, if data is Stereo, 16 bits, 256 frames, it will be 1024 bytes long.
			</description>
		</method>
		<method name="get_data" qualifiers="const" >
			<return type="RawArray">
			</return>
			<description>
			Return sample data. Data will be endian, no matter with the host platform, and exactly as long to fit all frames. Example, if data is Stereo, 16 bits, 256 frames, it will be 1024 bytes long.
			</description>
		</method>
		<method name="set_mix_rate"  >
			<argument index="0" name="hz" type="int">
			</argument>
			<description>
			Set the mix rate for the sample (expected playback frequency).
			</description>
		</method>
		<method name="get_mix_rate" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the mix rate for the sample (expected playback frequency).
			</description>
		</method>
		<method name="set_loop_format"  >
			<argument index="0" name="format" type="int">
			</argument>
			<description>
			Set the loop format, see LOOP_* enum
			</description>
		</method>
		<method name="get_loop_format" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the loop format, see LOOP_* enum.
			</description>
		</method>
		<method name="set_loop_begin"  >
			<argument index="0" name="pos" type="int">
			</argument>
			<description>
			Set the loop begin position, it must be a valid frame and less than the loop end position.
			</description>
		</method>
		<method name="get_loop_begin" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the loop begin position.
			</description>
		</method>
		<method name="set_loop_end"  >
			<argument index="0" name="pos" type="int">
			</argument>
			<description>
			Set the loop end position, it must be a valid frame and greater than the loop begin position.
			</description>
		</method>
		<method name="get_loop_end" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the loop begin position.
			</description>
		</method>
	</methods>
	<constants>
		<constant name="FORMAT_PCM8" value="0">
			8-Bits signed little endian PCM audio.
		</constant>
		<constant name="FORMAT_PCM16" value="1">
			16-Bits signed little endian PCM audio.
		</constant>
		<constant name="FORMAT_IMA_ADPCM" value="2">
			Ima-ADPCM Audio.
		</constant>
		<constant name="LOOP_NONE" value="0">
			No loop enabled.
		</constant>
		<constant name="LOOP_FORWARD" value="1">
			Forward looping (when playback reaches loop end, goes back to loop begin)
		</constant>
		<constant name="LOOP_PING_PONG" value="2">
			Ping-Pong looping (when playback reaches loop end, plays backward untilloop begin). Not available in all platforms.
		</constant>
	</constants>
</class>
<class name="SampleLibrary" inherits="Resource" category="Core">
	<brief_description>
	Library that contains a collection of Samples.
	</brief_description>
	<description>
	Library that contains a collection of Samples, each identified by an text id. This is used as a data containeer for the majority of the SamplePlayer classes and derivatives.
	</description>
	<methods>
		<method name="add_sample"  >
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="sample" type="Sample">
			</argument>
			<description>
			Add a sample to the library, with a given text id;
			</description>
		</method>
		<method name="get_sample" qualifiers="const" >
			<return type="Sample">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			Return a sample from the library, from a given text-id. Return null if the sample is not found.
			</description>
		</method>
		<method name="has_sample" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			Return true if the sample text id exists in the library.
			</description>
		</method>
		<method name="remove_sample"  >
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			Remove a sample given a specific text id.
			</description>
		</method>
		<method name="sample_set_volume_db"  >
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="db" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="sample_get_volume_db" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="sample_set_pitch_scale"  >
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="pitch" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="sample_get_pitch_scale" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="SamplePlayer" inherits="Node" category="Core">
	<brief_description>
	Sample Player node.
	</brief_description>
	<description>
	SamplePlayer is a [Node] meant for simple sample playback. A library of samples is loaded and played back "as is", without positioning or anything.
	</description>
	<methods>
		<method name="set_sample_library"  >
			<argument index="0" name="library" type="SampleLibrary">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_sample_library" qualifiers="const" >
			<return type="SampleLibrary">
			</return>
			<description>
			</description>
		</method>
		<method name="set_voice_count"  >
			<argument index="0" name="max_voices" type="int">
			</argument>
			<description>
			Set the amount of simultaneous voices that will be used for playback.
			</description>
		</method>
		<method name="get_voice_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the amount of simultaneous voices that will be used for playback.
			</description>
		</method>
		<method name="play"  >
			<return type="int">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="unique" type="bool" default="false">
			</argument>
			<description>
			Play back sample, given it"apos;s identifier "name". if "unique" is true, all othere previous samples will be stopped. The voice allocated for playback will be returned.
			</description>
		</method>
		<method name="stop"  >
			<argument index="0" name="voice" type="int">
			</argument>
			<description>
			Stop a voice "voice". (see [method play]).
			</description>
		</method>
		<method name="stop_all"  >
			<description>
			</description>
		</method>
		<method name="set_mix_rate"  >
			<argument index="0" name="voice" type="int">
			</argument>
			<argument index="1" name="hz" type="int">
			</argument>
			<description>
			Change the mix rate of a voice "voice" to given "hz".
			</description>
		</method>
		<method name="set_pitch_scale"  >
			<argument index="0" name="voice" type="int">
			</argument>
			<argument index="1" name="ratio" type="float">
			</argument>
			<description>
			Scale the pitch (mix rate) of a voice by a ratio value "ratio". A ratio of 1.0 means the voice is unscaled.
			</description>
		</method>
		<method name="set_volume"  >
			<argument index="0" name="voice" type="int">
			</argument>
			<argument index="1" name="nrg" type="float">
			</argument>
			<description>
			Set the volume of a voice, 0db is maximum volume (every about -6db, volume is reduced in half). "db" does in fact go from zero to negative.
			</description>
		</method>
		<method name="set_volume_db"  >
			<argument index="0" name="voice" type="int">
			</argument>
			<argument index="1" name="nrg" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_pan"  >
			<argument index="0" name="voice" type="int">
			</argument>
			<argument index="1" name="pan" type="float">
			</argument>
			<argument index="2" name="depth" type="float" default="0">
			</argument>
			<argument index="3" name="height" type="float" default="0">
			</argument>
			<description>
			Set the panning of a voice. Panning goes from -1 (left) to +1 (right). Optionally, if the hardware supports 3D sound, also set depth and height (also in range -1 to +1).
			</description>
		</method>
		<method name="set_filter"  >
			<argument index="0" name="voice" type="int">
			</argument>
			<argument index="1" name="type" type="int">
			</argument>
			<argument index="2" name="cutoff_hz" type="float">
			</argument>
			<argument index="3" name="resonance" type="float">
			</argument>
			<argument index="4" name="gain" type="float" default="0">
			</argument>
			<description>
			Set and enable a filter of a voice, with type "type" (see FILTER_* enum), cutoff (0 to 22khz) frequency and resonance (0+).
			</description>
		</method>
		<method name="set_chorus"  >
			<argument index="0" name="voice" type="int">
			</argument>
			<argument index="1" name="send" type="float">
			</argument>
			<description>
			Set the chorus send level of a voice (0 to 1). For setting chorus parameters, see [AudioServer].
			</description>
		</method>
		<method name="set_reverb"  >
			<argument index="0" name="voice" type="int">
			</argument>
			<argument index="1" name="room_type" type="int">
			</argument>
			<argument index="2" name="send" type="float">
			</argument>
			<description>
			Set the reverb send level and type of a voice  (0 to 1). (see REVERB_* enum for type).
			</description>
		</method>
		<method name="get_mix_rate" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="voice" type="int">
			</argument>
			<description>
			Return the current mix rate for a given voice.
			</description>
		</method>
		<method name="get_pitch_scale" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="voice" type="int">
			</argument>
			<description>
			Return the current pitch scale for a given voice.
			</description>
		</method>
		<method name="get_volume" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="voice" type="int">
			</argument>
			<description>
			Return the current volume (in db) for a given voice. 0db is maximum volume (every about -6db, volume is reduced in half). "db" does in fact go from zero to negative.
			</description>
		</method>
		<method name="get_volume_db" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="voice" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_pan" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="voice" type="int">
			</argument>
			<description>
			Return the current panning for a given voice. Panning goes from -1 (left) to +1 (right).
			</description>
		</method>
		<method name="get_pan_depth" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="voice" type="int">
			</argument>
			<description>
			Return the current pan depth for a given voice (not used unless the hardware supports 3D sound)
			</description>
		</method>
		<method name="get_pan_height" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="voice" type="int">
			</argument>
			<description>
			Return the current pan height for a given voice (not used unless the hardware supports 3D sound)
			</description>
		</method>
		<method name="get_filter_type" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="voice" type="int">
			</argument>
			<description>
			Return the current filter type in use (see FILTER_* enum) for a given voice.
			</description>
		</method>
		<method name="get_filter_cutoff" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="voice" type="int">
			</argument>
			<description>
			Return the current filter cutoff for a given voice. Cutoff goes from 0 to 22khz.
			</description>
		</method>
		<method name="get_filter_resonance" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="voice" type="int">
			</argument>
			<description>
			Return the current filter resonance for a given voice. Resonance goes from 0 up.
			</description>
		</method>
		<method name="get_filter_gain" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="voice" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_chorus" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="voice" type="int">
			</argument>
			<description>
			Return the current chorus send level for a given voice. (0 to 1).
			</description>
		</method>
		<method name="get_reverb_room" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="voice" type="int">
			</argument>
			<description>
			Return the current reverb room type for a given voice (see REVERB_* enum).
			</description>
		</method>
		<method name="get_reverb" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="voice" type="int">
			</argument>
			<description>
			Return the current reverb send level for a given voice. (0 to 1).
			</description>
		</method>
		<method name="set_default_pitch_scale"  >
			<argument index="0" name="ratio" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_default_volume"  >
			<argument index="0" name="nrg" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_default_volume_db"  >
			<argument index="0" name="db" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_default_pan"  >
			<argument index="0" name="pan" type="float">
			</argument>
			<argument index="1" name="depth" type="float" default="0">
			</argument>
			<argument index="2" name="height" type="float" default="0">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_default_filter"  >
			<argument index="0" name="type" type="int">
			</argument>
			<argument index="1" name="cutoff_hz" type="float">
			</argument>
			<argument index="2" name="resonance" type="float">
			</argument>
			<argument index="3" name="gain" type="float" default="0">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_default_chorus"  >
			<argument index="0" name="send" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_default_reverb"  >
			<argument index="0" name="room_type" type="int">
			</argument>
			<argument index="1" name="send" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_default_pitch_scale" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_default_volume" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_default_volume_db" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_default_pan" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_default_pan_depth" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_default_pan_height" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_default_filter_type" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_default_filter_cutoff" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_default_filter_resonance" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_default_filter_gain" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_default_chorus" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_default_reverb_room" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_default_reverb" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="is_active" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="is_voice_active" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="voice" type="int">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="FILTER_NONE" value="0">
			Filter is disabled for voice.
		</constant>
		<constant name="FILTER_LOWPASS" value="1">
			Lowpass filter is used for voice.
		</constant>
		<constant name="FILTER_BANDPASS" value="2">
			Bandpass filter is used for voice.
		</constant>
		<constant name="FILTER_HIPASS" value="3">
			HighPass filter is used for voice.
		</constant>
		<constant name="FILTER_NOTCH" value="4">
			Notch filter is used for voice.
		</constant>
		<constant name="FILTER_PEAK" value="5">
		</constant>
		<constant name="FILTER_BANDLIMIT" value="6">
			Band-Limit filter is used for voice, in this case resonance is the highpass cutoff.
		</constant>
		<constant name="FILTER_LOW_SHELF" value="7">
		</constant>
		<constant name="FILTER_HIGH_SHELF" value="8">
		</constant>
		<constant name="REVERB_SMALL" value="0">
			Small reverb room (house room).
		</constant>
		<constant name="REVERB_MEDIUM" value="1">
			Medium reverb room (street)
		</constant>
		<constant name="REVERB_LARGE" value="2">
			Large reverb room (Theather)
		</constant>
		<constant name="REVERB_HALL" value="3">
			Huge reverb room (cathedral, warehouse).
		</constant>
	</constants>
</class>
<class name="SamplePlayer2D" inherits="SoundPlayer2D" category="Core">
	<brief_description>
	Sample player for Positional 2D Sound.
	</brief_description>
	<description>
	Sample player for Positional 2D Sound. Plays sound samples positionally, left and right depending on the distance/place on the screen.
	</description>
	<methods>
		<method name="set_sample_library"  >
			<argument index="0" name="library" type="SampleLibrary">
			</argument>
			<description>
			Set the sample library for the player.
			</description>
		</method>
		<method name="get_sample_library" qualifiers="const" >
			<return type="SampleLibrary">
			</return>
			<description>
			Return the sample library used for the player.
			</description>
		</method>
		<method name="set_polyphony"  >
			<argument index="0" name="voices" type="int">
			</argument>
			<description>
			Set the polyphony of the player (maximum amount of simultaneous voices).
			</description>
		</method>
		<method name="get_polyphony" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the polyphony of the player (maximum amount of simultaneous voices).
			</description>
		</method>
		<method name="play"  >
			<return type="int">
			</return>
			<argument index="0" name="sample" type="String">
			</argument>
			<argument index="1" name="voice" type="int" default="-2">
			</argument>
			<description>
			Play a sample, an internal polyphony id can be passed, or else it's assigned automatically. Returns a voice id which can be used to modify the voice parameters.
			</description>
		</method>
		<method name="voice_set_pitch_scale"  >
			<argument index="0" name="voice" type="int">
			</argument>
			<argument index="1" name="ratio" type="float">
			</argument>
			<description>
			Change the pitch scale of a currently playing voice.
			</description>
		</method>
		<method name="voice_set_volume_scale_db"  >
			<argument index="0" name="voice" type="int">
			</argument>
			<argument index="1" name="db" type="float">
			</argument>
			<description>
			Change the volume scale of a currently playing voice (using dB).
			</description>
		</method>
		<method name="is_voice_active" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="voice" type="int">
			</argument>
			<description>
			Return true if a voice is still active (false if it stopped playing).
			</description>
		</method>
		<method name="stop_voice"  >
			<argument index="0" name="voice" type="int">
			</argument>
			<description>
			Stop a given voice.
			</description>
		</method>
		<method name="stop_all"  >
			<description>
			Stop all playing voices.
			</description>
		</method>
		<method name="set_random_pitch_scale"  >
			<argument index="0" name="val" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_random_pitch_scale" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="INVALID_VOICE" value="-1">
			If the voice is invalid, this is returned.
		</constant>
		<constant name="NEXT_VOICE" value="-2">
		</constant>
	</constants>
</class>
<class name="SceneMainLoop" inherits="MainLoop" category="Core">
	<brief_description>
	Scene-Based implementation of the MainLoop.
	</brief_description>
	<description>
	Scene implementation of the MainLoop. All scenes edited using the editor are loaded with this main loop, which provides the base for the scene system.[br]
	All group operations (get nodes, call, etc) is performed here. All nodes in a group can be called a specific functions, set a property or notified. This happens in scene-order.
	</description>
	<methods>
		<method name="notify_group"  >
			<argument index="0" name="call_flags" type="int">
			</argument>
			<argument index="1" name="group" type="String">
			</argument>
			<argument index="2" name="notification" type="int">
			</argument>
			<description>
			Call a notification in all the nodes belonging to a given group. See GROUP_CALL_* enum for options.
			</description>
		</method>
		<method name="set_group"  >
			<argument index="0" name="call_flags" type="int">
			</argument>
			<argument index="1" name="group" type="String">
			</argument>
			<argument index="2" name="property" type="String">
			</argument>
			<argument index="3" name="value" type="var">
			</argument>
			<description>
			Set a property in all the nodes belonging to a given group. See GROUP_CALL_* enum for options.
			</description>
		</method>
		<method name="get_nodes_in_group"  >
			<return type="Array">
			</return>
			<argument index="0" name="arg0" type="String">
			</argument>
			<description>
			Get all the nods belonging to a given group.
			</description>
		</method>
		<method name="get_root" qualifiers="const" >
			<return type="Viewport">
			</return>
			<description>
			</description>
		</method>
		<method name="set_auto_accept_quit"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			Set to true if the application will quit automatically when quit is requested (Alt-f4 or ctrl-c).
			</description>
		</method>
		<method name="set_editor_hint"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			Set to true to tell nodes and the scene that it is being edited. This is used by editors, not release.
			</description>
		</method>
		<method name="is_editor_hint" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if the scene is being run inside an editor.
			</description>
		</method>
		<method name="set_edited_scene_root"  >
			<argument index="0" name="scene" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_edited_scene_root" qualifiers="const" >
			<return type="Object">
			</return>
			<description>
			</description>
		</method>
		<method name="set_pause"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			Set pause. The built-in pause system is very basic and only meant to avoid processing nodes not allowed to work in pause mode.
			</description>
		</method>
		<method name="is_paused" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if the scene is paused.
			</description>
		</method>
		<method name="set_input_as_handled"  >
			<description>
			Handle a current input event (avoid further processing of it).
			</description>
		</method>
		<method name="get_node_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_frame" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the frame index (how many frames were drawn).
			</description>
		</method>
		<method name="quit"  >
			<description>
			Quit the application.
			</description>
		</method>
		<method name="set_screen_stretch"  >
			<argument index="0" name="mode" type="int">
			</argument>
			<argument index="1" name="aspect" type="int">
			</argument>
			<argument index="2" name="minsize" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="queue_delete"  >
			<argument index="0" name="obj" type="Object">
			</argument>
			<description>
			Queue an object for deletion next time the loop goes idle.
			</description>
		</method>
		<method name="call_group"  >
			<argument index="0" name="flags" type="int">
			</argument>
			<argument index="1" name="group" type="String">
			</argument>
			<argument index="2" name="method" type="String">
			</argument>
			<argument index="3" name="arg0" type="var" default="NULL">
			</argument>
			<argument index="4" name="arg1" type="var" default="NULL">
			</argument>
			<argument index="5" name="arg2" type="var" default="NULL">
			</argument>
			<argument index="6" name="arg3" type="var" default="NULL">
			</argument>
			<argument index="7" name="arg4" type="var" default="NULL">
			</argument>
			<description>
			Call a function for all the nodes in a given group.
			</description>
		</method>
	</methods>
	<signals>
		<signal name="screen_resized">
			<description>
			Emitted when the screen changes size.
			</description>
		</signal>
		<signal name="node_removed">
			<argument index="0" name="node" type="Object">
			</argument>
			<description>
			Emitted when a node is removed from the scene.
			</description>
		</signal>
		<signal name="tree_changed">
			<description>
			Emitted when the scene tree changed (nodes added/removed/moved/etc)
			</description>
		</signal>
	</signals>
	<constants>
		<constant name="GROUP_CALL_DEFAULT" value="0">
			Regular group call flag (no flags).
		</constant>
		<constant name="GROUP_CALL_REVERSE" value="1">
			Call a group in inverse-scene order.
		</constant>
		<constant name="GROUP_CALL_REALTIME" value="2">
			Call a group immediately (usually calls are delivered on idle).
		</constant>
		<constant name="GROUP_CALL_UNIQUE" value="4">
			Call a group only once, even if call is performed many times.
		</constant>
		<constant name="STRETCH_MODE_DISABLED" value="0">
		</constant>
		<constant name="STRETCH_MODE_2D" value="1">
		</constant>
		<constant name="STRETCH_MODE_VIEWPORT" value="2">
		</constant>
		<constant name="STRETCH_ASPECT_IGNORE" value="0">
		</constant>
		<constant name="STRETCH_ASPECT_KEEP" value="1">
		</constant>
		<constant name="STRETCH_ASPECT_KEEP_WIDTH" value="2">
		</constant>
		<constant name="STRETCH_ASPECT_KEEP_HEIGHT" value="3">
		</constant>
	</constants>
</class>
<class name="Script" inherits="Resource" category="Core">
	<brief_description>
	Base class for scripts.
	</brief_description>
	<description>
	Base class for scripts. Any script that is loaded becomes one of these resources, which can then create instances.
	</description>
	<methods>
		<method name="can_instance" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if this script can be instance (ie not a library).
			</description>
		</method>
		<method name="instance_has" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="base_object" type="Object">
			</argument>
			<description>
			Return true if a given object uses an instance of this script.
			</description>
		</method>
		<method name="has_source_code" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if the script contains source code.
			</description>
		</method>
		<method name="get_source_code" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			Return the script source code (if available).
			</description>
		</method>
		<method name="set_source_code"  >
			<argument index="0" name="source" type="String">
			</argument>
			<description>
			Set the script source code.
			</description>
		</method>
		<method name="reload"  >
			<return type="int">
			</return>
			<description>
			Reload the script. This will fail if there are existing instances.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="ScrollBar" inherits="Range" category="Core">
	<brief_description>
	Base class for scroll bars.
	</brief_description>
	<description>
	Scrollbars are a [Range] based [Control], that display a draggable area (the size of the page). Horizontal ([HScrollBar]) and Vertical ([VScrollBar]) versions are available.
	</description>
	<methods>
		<method name="set_custom_step"  >
			<argument index="0" name="step" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_custom_step" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="ScrollContainer" inherits="Container" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_enable_h_scroll"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_h_scroll_enabled" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_enable_v_scroll"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_v_scroll_enabled" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_h_scroll"  >
			<argument index="0" name="val" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_h_scroll" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_v_scroll"  >
			<argument index="0" name="val" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_v_scroll" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="SegmentShape2D" inherits="Shape2D" category="Core">
	<brief_description>
	Segment Shape for 2D Collision Detection.
	</brief_description>
	<description>
	Segment Shape for 2D Collision Detection, consists of two points, 'a' and 'b'.
	</description>
	<methods>
		<method name="set_a"  >
			<argument index="0" name="a" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_a" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="set_b"  >
			<argument index="0" name="b" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_b" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Semaphore" inherits="Reference" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="wait"  >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="post"  >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Separator" inherits="Control" category="Core">
	<brief_description>
	Base class for separators.
	</brief_description>
	<description>
	Separator is a [Control] used for sepataring other controls. It's purely a visual decoration. Horizontal ([HSeparator]) and Vertical ([VSeparator]) versions are available.
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
</class>
<class name="Shader" inherits="Resource" category="Core">
	<brief_description>
	To be changed, ignore.
	</brief_description>
	<description>
	To be changed, ignore.
	</description>
	<methods>
		<method name="set_mode"  >
			<argument index="0" name="mode" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_mode" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_code"  >
			<argument index="0" name="vcode" type="String">
			</argument>
			<argument index="1" name="fcode" type="String">
			</argument>
			<argument index="2" name="lcode" type="String">
			</argument>
			<argument index="3" name="fofs" type="int" default="0">
			</argument>
			<argument index="4" name="lofs" type="int" default="0">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_vertex_code" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="get_fragment_code" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="get_light_code" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="has_param" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="MODE_MATERIAL" value="0">
		</constant>
		<constant name="MODE_CANVAS_ITEM" value="1">
		</constant>
		<constant name="MODE_POST_PROCESS" value="2">
		</constant>
	</constants>
</class>
<class name="ShaderMaterial" inherits="Material" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_shader"  >
			<argument index="0" name="shader" type="Shader">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_shader" qualifiers="const" >
			<return type="Shader">
			</return>
			<description>
			</description>
		</method>
		<method name="set_shader_param"  >
			<argument index="0" name="param" type="String">
			</argument>
			<argument index="1" name="value" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_shader_param" qualifiers="const" >
			<argument index="0" name="param" type="String">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Shape" inherits="Resource" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
</class>
<class name="Shape2D" inherits="Resource" category="Core">
	<brief_description>
	Base class for all 2D Shapes.
	</brief_description>
	<description>
	Base class for all 2D Shapes. All 2D shape types inherit from this.
	</description>
	<methods>
		<method name="set_custom_solver_bias"  >
			<argument index="0" name="bias" type="float">
			</argument>
			<description>
			Use a custom solver bias. No need to change this unless you really know what you are doing.
			</description>
		</method>
		<method name="get_custom_solver_bias" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the custom solver bias. No need to change this unless you really know what you are doing.
			</description>
		</method>
		<method name="collide"  >
			<return type="bool">
			</return>
			<argument index="0" name="local_xform" type="Matrix32">
			</argument>
			<argument index="1" name="with_shape" type="Shape2D">
			</argument>
			<argument index="2" name="shape_xform" type="Matrix32">
			</argument>
			<description>
			</description>
		</method>
		<method name="collide_with_motion"  >
			<return type="bool">
			</return>
			<argument index="0" name="local_xform" type="Matrix32">
			</argument>
			<argument index="1" name="local_motion" type="Vector2">
			</argument>
			<argument index="2" name="with_shape" type="Shape2D">
			</argument>
			<argument index="3" name="shape_xform" type="Matrix32">
			</argument>
			<argument index="4" name="shape_motion" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="collide_and_get_contacts"  >
			<argument index="0" name="local_xform" type="Matrix32">
			</argument>
			<argument index="1" name="with_shape" type="Shape2D">
			</argument>
			<argument index="2" name="shape_xform" type="Matrix32">
			</argument>
			<description>
			</description>
		</method>
		<method name="collide_with_motion_and_get_contacts"  >
			<argument index="0" name="local_xform" type="Matrix32">
			</argument>
			<argument index="1" name="local_motion" type="Vector2">
			</argument>
			<argument index="2" name="with_shape" type="Shape2D">
			</argument>
			<argument index="3" name="shape_xform" type="Matrix32">
			</argument>
			<argument index="4" name="shape_motion" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Skeleton" inherits="Spatial" category="Core">
	<brief_description>
	Skeleton for characters and animated objects.
	</brief_description>
	<description>
	Skeleton provides a hierachial interface for managing bones, including pose, rest and animation (see [Animation]). Skeleton will support rag doll dynamics in the future.
	</description>
	<methods>
		<method name="add_bone"  >
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			Add a bone, with name "name". [method get_bone_count] will become the bone index.
			</description>
		</method>
		<method name="find_bone" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			Return the bone index that matches "name" as its name.
			</description>
		</method>
		<method name="get_bone_name" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="bone_idx" type="int">
			</argument>
			<description>
			Return the name of the bone at index "index"
			</description>
		</method>
		<method name="get_bone_parent" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="bone_idx" type="int">
			</argument>
			<description>
			Return the bone index which is the parent of the bone at "bone_idx". If -1, then bone has no parent. Note that the parent bone returned will always be less than "bone_idx".
			</description>
		</method>
		<method name="set_bone_parent"  >
			<argument index="0" name="bone_idx" type="int">
			</argument>
			<argument index="1" name="parent_idx" type="int">
			</argument>
			<description>
			Set the bone index "parent_idx" as the parent of the bone at "bone_idx". If -1, then bone has no parent. Note: "parent_idx" must be less than "bone_idx".
			</description>
		</method>
		<method name="get_bone_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the amount of bones in the skeleton.
			</description>
		</method>
		<method name="get_bone_rest" qualifiers="const" >
			<return type="Transform">
			</return>
			<argument index="0" name="bone_idx" type="int">
			</argument>
			<description>
			Return the rest transform for a bone "bone_idx".
			</description>
		</method>
		<method name="set_bone_rest"  >
			<argument index="0" name="bone_idx" type="int">
			</argument>
			<argument index="1" name="rest" type="Transform">
			</argument>
			<description>
			Set the rest transform for bone "bone_idx"
			</description>
		</method>
		<method name="bind_child_node_to_bone"  >
			<argument index="0" name="bone_idx" type="int">
			</argument>
			<argument index="1" name="node" type="Node">
			</argument>
			<description>
			Deprecated soon
			</description>
		</method>
		<method name="unbind_child_node_from_bone"  >
			<argument index="0" name="bone_idx" type="int">
			</argument>
			<argument index="1" name="node" type="Node">
			</argument>
			<description>
			Deprecated soon
			</description>
		</method>
		<method name="get_bound_child_nodes_to_bone" qualifiers="const" >
			<return type="Array">
			</return>
			<argument index="0" name="bone_idx" type="int">
			</argument>
			<description>
			Deprecated Soon
			</description>
		</method>
		<method name="clear_bones"  >
			<description>
			Clear all the bones in this skeleton.
			</description>
		</method>
		<method name="get_bone_pose" qualifiers="const" >
			<return type="Transform">
			</return>
			<argument index="0" name="bone_idx" type="int">
			</argument>
			<description>
			Return the pose transform for bone "bone_idx".
			</description>
		</method>
		<method name="set_bone_pose"  >
			<argument index="0" name="bone_idx" type="int">
			</argument>
			<argument index="1" name="pose" type="Transform">
			</argument>
			<description>
			Return the pose transform for bone "bone_idx".
			</description>
		</method>
		<method name="set_bone_global_pose"  >
			<argument index="0" name="bone_idx" type="int">
			</argument>
			<argument index="1" name="pose" type="Transform">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_bone_global_pose" qualifiers="const" >
			<return type="Transform">
			</return>
			<argument index="0" name="bone_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_bone_custom_pose" qualifiers="const" >
			<return type="Transform">
			</return>
			<argument index="0" name="bone_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_bone_custom_pose"  >
			<argument index="0" name="bone_idx" type="int">
			</argument>
			<argument index="1" name="custom_pose" type="Transform">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_bone_transform" qualifiers="const" >
			<return type="Transform">
			</return>
			<argument index="0" name="bone_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="NOTIFICATION_UPDATE_SKELETON" value="50">
		</constant>
	</constants>
</class>
<class name="Slider" inherits="Range" category="Core">
	<brief_description>
	Base class for GUI Sliders.
	</brief_description>
	<description>
	Base class for GUI Sliders.
	</description>
	<methods>
		<method name="set_ticks"  >
			<argument index="0" name="count" type="int">
			</argument>
			<description>
			Set amount of ticks to display in slider.
			</description>
		</method>
		<method name="get_ticks" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return amounts of ticks to display on slider.
			</description>
		</method>
		<method name="get_ticks_on_borders" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if ticks are visible on borders.
			</description>
		</method>
		<method name="set_ticks_on_borders"  >
			<argument index="0" name="ticks_on_border" type="bool">
			</argument>
			<description>
			Set true if ticks are visible on borders.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="SliderJoint" inherits="Joint" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_param"  >
			<argument index="0" name="param" type="int">
			</argument>
			<argument index="1" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_param" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="param" type="int">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="PARAM_LINEAR_LIMIT_UPPER" value="0">
		</constant>
		<constant name="PARAM_LINEAR_LIMIT_LOWER" value="1">
		</constant>
		<constant name="PARAM_LINEAR_LIMIT_SOFTNESS" value="2">
		</constant>
		<constant name="PARAM_LINEAR_LIMIT_RESTITUTION" value="3">
		</constant>
		<constant name="PARAM_LINEAR_LIMIT_DAMPING" value="4">
		</constant>
		<constant name="PARAM_LINEAR_MOTION_SOFTNESS" value="5">
		</constant>
		<constant name="PARAM_LINEAR_MOTION_RESTITUTION" value="6">
		</constant>
		<constant name="PARAM_LINEAR_MOTION_DAMPING" value="7">
		</constant>
		<constant name="PARAM_LINEAR_ORTHOGONAL_SOFTNESS" value="8">
		</constant>
		<constant name="PARAM_LINEAR_ORTHOGONAL_RESTITUTION" value="9">
		</constant>
		<constant name="PARAM_LINEAR_ORTHOGONAL_DAMPING" value="10">
		</constant>
		<constant name="PARAM_ANGULAR_LIMIT_UPPER" value="11">
		</constant>
		<constant name="PARAM_ANGULAR_LIMIT_LOWER" value="12">
		</constant>
		<constant name="PARAM_ANGULAR_LIMIT_SOFTNESS" value="13">
		</constant>
		<constant name="PARAM_ANGULAR_LIMIT_RESTITUTION" value="14">
		</constant>
		<constant name="PARAM_ANGULAR_LIMIT_DAMPING" value="15">
		</constant>
		<constant name="PARAM_ANGULAR_MOTION_SOFTNESS" value="16">
		</constant>
		<constant name="PARAM_ANGULAR_MOTION_RESTITUTION" value="17">
		</constant>
		<constant name="PARAM_ANGULAR_MOTION_DAMPING" value="18">
		</constant>
		<constant name="PARAM_ANGULAR_ORTHOGONAL_SOFTNESS" value="19">
		</constant>
		<constant name="PARAM_ANGULAR_ORTHOGONAL_RESTITUTION" value="20">
		</constant>
		<constant name="PARAM_ANGULAR_ORTHOGONAL_DAMPING" value="21">
		</constant>
		<constant name="PARAM_MAX" value="22">
		</constant>
	</constants>
</class>
<class name="SoundPlayer2D" inherits="Node2D" category="Core">
	<brief_description>
	Base class for playing spatial 2D sound.
	</brief_description>
	<description>
	Base class for playing spatial 2D sound.
	</description>
	<methods>
		<method name="set_param"  >
			<argument index="0" name="param" type="int">
			</argument>
			<argument index="1" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_param" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="param" type="int">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="PARAM_VOLUME_DB" value="0">
		</constant>
		<constant name="PARAM_PITCH_SCALE" value="1">
		</constant>
		<constant name="PARAM_ATTENUATION_MIN_DISTANCE" value="2">
		</constant>
		<constant name="PARAM_ATTENUATION_MAX_DISTANCE" value="3">
		</constant>
		<constant name="PARAM_ATTENUATION_DISTANCE_EXP" value="4">
		</constant>
		<constant name="PARAM_MAX" value="5">
		</constant>
	</constants>
</class>
<class name="SoundRoomParams" inherits="Node" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_param"  >
			<argument index="0" name="param" type="int">
			</argument>
			<argument index="1" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_param" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="param" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_reverb_mode"  >
			<argument index="0" name="reverb_mode" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_reverb_mode" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_force_params_to_all_sources"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_forcing_params_to_all_sources"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Spatial" inherits="Node" category="Core">
	<brief_description>
	Base class for all 3D nodes.
	</brief_description>
	<description>
	Spatial is the base for every type of 3D [Node]. It contains a 3D [Transform] which can be set or get as local or global. If a Spatial [Node] has Spatial children, their transforms will be relative to the parent.
	</description>
	<methods>
		<method name="set_transform"  >
			<argument index="0" name="local" type="Transform">
			</argument>
			<description>
			Set the transform locally, relative to the parent spatial node.
			</description>
		</method>
		<method name="get_transform" qualifiers="const" >
			<return type="Transform">
			</return>
			<description>
			Return the local transform, relative to the bone parent.
			</description>
		</method>
		<method name="set_translation"  >
			<argument index="0" name="translation" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_translation" qualifiers="const" >
			<return type="Vector3">
			</return>
			<description>
			</description>
		</method>
		<method name="set_rotation"  >
			<argument index="0" name="rotation" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_rotation" qualifiers="const" >
			<return type="Vector3">
			</return>
			<description>
			</description>
		</method>
		<method name="set_scale"  >
			<argument index="0" name="scale" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_scale" qualifiers="const" >
			<return type="Vector3">
			</return>
			<description>
			</description>
		</method>
		<method name="set_global_transform"  >
			<argument index="0" name="global" type="Transform">
			</argument>
			<description>
			Set the transform globally, relative to worldspace.
			</description>
		</method>
		<method name="get_global_transform" qualifiers="const" >
			<return type="Transform">
			</return>
			<description>
			Return the gloal transform, relative to worldspace.
			</description>
		</method>
		<method name="get_parent_spatial" qualifiers="const" >
			<return type="Object">
			</return>
			<description>
			Return the parent [Spatial], or an empty [Object] if no parent exists or parent is not of type [Spatial.
			</description>
		</method>
		<method name="set_ignore_transform_notification"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_as_toplevel"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_set_as_toplevel" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="get_world" qualifiers="const" >
			<return type="World">
			</return>
			<description>
			</description>
		</method>
		<method name="update_gizmo"  >
			<description>
			</description>
		</method>
		<method name="set_gizmo"  >
			<argument index="0" name="gizmo" type="SpatialGizmo">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_gizmo" qualifiers="const" >
			<return type="SpatialGizmo">
			</return>
			<description>
			</description>
		</method>
		<method name="show"  >
			<description>
			</description>
		</method>
		<method name="hide"  >
			<description>
			</description>
		</method>
		<method name="is_visible" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="is_hidden" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<signals>
		<signal name="visibility_changed">
			<description>
			</description>
		</signal>
	</signals>
	<constants>
		<constant name="NOTIFICATION_TRANSFORM_CHANGED" value="29">
			Spatial nodes receive this notifacation with their global transform changes. This means that either the current or a parent node changed it's transform.
		</constant>
		<constant name="NOTIFICATION_ENTER_WORLD" value="41">
		</constant>
		<constant name="NOTIFICATION_EXIT_WORLD" value="42">
		</constant>
		<constant name="NOTIFICATION_VISIBILITY_CHANGED" value="43">
		</constant>
	</constants>
</class>
<class name="SpatialPlayer" inherits="Spatial" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_param"  >
			<argument index="0" name="param" type="int">
			</argument>
			<argument index="1" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_param" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="param" type="int">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="PARAM_VOLUME_DB" value="0">
		</constant>
		<constant name="PARAM_PITCH_SCALE" value="1">
		</constant>
		<constant name="PARAM_ATTENUATION_MIN_DISTANCE" value="2">
		</constant>
		<constant name="PARAM_ATTENUATION_MAX_DISTANCE" value="3">
		</constant>
		<constant name="PARAM_ATTENUATION_DISTANCE_EXP" value="4">
		</constant>
		<constant name="PARAM_EMISSION_CONE_DEGREES" value="5">
		</constant>
		<constant name="PARAM_EMISSION_CONE_ATTENUATION_DB" value="6">
		</constant>
		<constant name="PARAM_MAX" value="7">
		</constant>
	</constants>
</class>
<class name="SpatialSamplePlayer" inherits="SpatialPlayer" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_sample_library"  >
			<argument index="0" name="library" type="SampleLibrary">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_sample_library" qualifiers="const" >
			<return type="SampleLibrary">
			</return>
			<description>
			</description>
		</method>
		<method name="set_polyphony"  >
			<argument index="0" name="voices" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_polyphony" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="play"  >
			<return type="int">
			</return>
			<argument index="0" name="sample" type="String">
			</argument>
			<argument index="1" name="voice" type="int" default="-2">
			</argument>
			<description>
			</description>
		</method>
		<method name="voice_set_pitch_scale"  >
			<argument index="0" name="voice" type="int">
			</argument>
			<argument index="1" name="ratio" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="voice_set_volume_scale_db"  >
			<argument index="0" name="voice" type="int">
			</argument>
			<argument index="1" name="db" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_voice_active" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="voice" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="stop_voice"  >
			<argument index="0" name="voice" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="stop_all"  >
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="INVALID_VOICE" value="-1">
		</constant>
		<constant name="NEXT_VOICE" value="-2">
		</constant>
	</constants>
</class>
<class name="SpatialSound2DServer" inherits="Object" category="Core">
	<brief_description>
	Server for Spatial 2D Sound.
	</brief_description>
	<description>
	Server for Spatial 2D Sound.
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
</class>
<class name="SpatialSound2DServerSW" inherits="SpatialSound2DServer" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
</class>
<class name="SpatialSoundServer" inherits="Object" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
</class>
<class name="SpatialSoundServerSW" inherits="SpatialSoundServer" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
</class>
<class name="SpatialStreamPlayer" inherits="SpatialPlayer" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_stream"  >
			<argument index="0" name="stream" type="Stream">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_stream" qualifiers="const" >
			<return type="Stream">
			</return>
			<description>
			</description>
		</method>
		<method name="play"  >
			<description>
			</description>
		</method>
		<method name="stop"  >
			<description>
			</description>
		</method>
		<method name="is_playing" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_loop"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="has_loop" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="get_stream_name" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="get_loop_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_pos" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="seek_pos"  >
			<argument index="0" name="time" type="float">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="SphereShape" inherits="Shape" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_radius"  >
			<argument index="0" name="radius" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_radius" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="SpinBox" inherits="Range" category="Core">
	<brief_description>
	Numerical input text field.
	</brief_description>
	<description>
	SpinBox is a numerical input text field. It allows entering integers and floats.
	</description>
	<methods>
		<method name="set_suffix"  >
			<argument index="0" name="suffix" type="String">
			</argument>
			<description>
			Set a specific suffix.
			</description>
		</method>
		<method name="get_suffix" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			Return the specific suffix.
			</description>
		</method>
		<method name="set_prefix"  >
			<argument index="0" name="prefix" type="String">
			</argument>
			<description>
			Set a prefix.
			</description>
		</method>
		<method name="get_prefix" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="set_editable"  >
			<argument index="0" name="editable" type="bool">
			</argument>
			<description>
			Set whether the spinbox is editable.
			</description>
		</method>
		<method name="is_editable" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return if the spinbox is editable.
			</description>
		</method>
		<method name="get_line_edit"  >
			<return type="Object">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
	<theme_items>
		<theme_item name="updown" type="Texture">
		</theme_item>
	</theme_items>
</class>
<class name="SplitContainer" inherits="Container" category="Core">
	<brief_description>
	Container for splitting and adjusting.
	</brief_description>
	<description>
	Container for splitting two controls vertically or horizontally, with a grabber that allows adjusting the split offset or ratio.
	</description>
	<methods>
		<method name="set_split_offset"  >
			<argument index="0" name="offset" type="int">
			</argument>
			<description>
			Set the split offset.
			</description>
		</method>
		<method name="get_split_offset" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the spluit offset;
			</description>
		</method>
		<method name="set_collapsed"  >
			<argument index="0" name="collapsed" type="bool">
			</argument>
			<description>
			Set if the split must be collapsed.
			</description>
		</method>
		<method name="is_collapsed" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return if the split is collapsed;
			</description>
		</method>
		<method name="set_dragger_visible"  >
			<argument index="0" name="visible" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_dragger_visible" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="SpotLight" inherits="Light" category="Core">
	<brief_description>
	Spotlight Light, such as a reflector spotlight or a latern.
	</brief_description>
	<description>
	A SpotLight light is a type of [Light] node that emits lights in a specific direction, in the shape of a cone. The light is attenuated through the distance and this attenuation can be configured by changing the energy, radius and attenuation parameters of [Light]. TODO: Image of a spotlight.
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
</class>
<class name="Sprite" inherits="Node2D" category="Core">
	<brief_description>
	General purpose Sprite node.
	</brief_description>
	<description>
	General purpose Sprite node. This Sprite node can show any texture as a sprite. The texture can be used as a spritesheet for animation, or only a region from a bigger texture can referenced, like an atlas.
	</description>
	<methods>
		<method name="set_texture"  >
			<argument index="0" name="texture" type="Texture">
			</argument>
			<description>
			Set the base texture for the sprite.
			</description>
		</method>
		<method name="get_texture" qualifiers="const" >
			<return type="Texture">
			</return>
			<description>
			Return the base texture for the sprite.
			</description>
		</method>
		<method name="set_centered"  >
			<argument index="0" name="centered" type="bool">
			</argument>
			<description>
			Set whether the sprite should be centered on the origin.
			</description>
		</method>
		<method name="is_centered" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return if the sprite is centered at the local origin.
			</description>
		</method>
		<method name="set_offset"  >
			<argument index="0" name="offset" type="Vector2">
			</argument>
			<description>
			Set the sprite draw offset, useful for setting rotation pivots.
			</description>
		</method>
		<method name="get_offset" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			Return sprite draw offst.
			</description>
		</method>
		<method name="set_flip_h"  >
			<argument index="0" name="flip_h" type="bool">
			</argument>
			<description>
			Set true to flip the sprite horizontaly.
			</description>
		</method>
		<method name="is_flipped_h" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if the sprite is flipped horizontally.
			</description>
		</method>
		<method name="set_flip_v"  >
			<argument index="0" name="flip_v" type="bool">
			</argument>
			<description>
			Set true to flip the sprite vertically.
			</description>
		</method>
		<method name="is_flipped_v" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if the sprite is flipped vertically.
			</description>
		</method>
		<method name="set_region"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			Set the sprite as a sub-region of a bigger texture. Useful for texture-atlases.
			</description>
		</method>
		<method name="is_region" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return if the sprite reads from a region.
			</description>
		</method>
		<method name="set_region_rect"  >
			<argument index="0" name="rect" type="Rect2">
			</argument>
			<description>
			Set the region rect to read from.
			</description>
		</method>
		<method name="get_region_rect" qualifiers="const" >
			<return type="Rect2">
			</return>
			<description>
			Return the region rect to read from.
			</description>
		</method>
		<method name="set_frame"  >
			<argument index="0" name="frame" type="int">
			</argument>
			<description>
			Set the texture frame for a sprite-sheet, works when vframes or hframes are greater than 1.
			</description>
		</method>
		<method name="get_frame" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the texture frame for a sprite-sheet, works when vframes or hframes are greater than 1.
			</description>
		</method>
		<method name="set_vframes"  >
			<argument index="0" name="vframes" type="int">
			</argument>
			<description>
			Set the amount of vertical frames and converts the sprite into a sprite-sheet. This is useful for animation.
			</description>
		</method>
		<method name="get_vframes" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the amount of vertical frames. See [set_vframes].
			</description>
		</method>
		<method name="set_hframes"  >
			<argument index="0" name="hframes" type="int">
			</argument>
			<description>
			Set the amount of horizontal frames and converts the sprite into a sprite-sheet. This is useful for animation.
			</description>
		</method>
		<method name="get_hframes" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the amount of horizontal frames. See [set_hframes].
			</description>
		</method>
		<method name="set_modulate"  >
			<argument index="0" name="modulate" type="Color">
			</argument>
			<description>
			Set color modulation for the sprite. All sprite pixels are multiplied by this color.
			</description>
		</method>
		<method name="get_modulate" qualifiers="const" >
			<return type="Color">
			</return>
			<description>
			Return color modulation for the sprite. All sprite pixels are multiplied by this color.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Sprite3D" inherits="SpriteBase3D" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_texture"  >
			<argument index="0" name="texture" type="Texture">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_texture" qualifiers="const" >
			<return type="Texture">
			</return>
			<description>
			</description>
		</method>
		<method name="set_region"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_region" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_region_rect"  >
			<argument index="0" name="rect" type="Rect2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_region_rect" qualifiers="const" >
			<return type="Rect2">
			</return>
			<description>
			</description>
		</method>
		<method name="set_frame"  >
			<argument index="0" name="frame" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_frame" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_vframes"  >
			<argument index="0" name="vframes" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_vframes" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_hframes"  >
			<argument index="0" name="hframes" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_hframes" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="SpriteBase3D" inherits="GeometryInstance" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_centered"  >
			<argument index="0" name="centered" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_centered" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_offset"  >
			<argument index="0" name="offset" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_offset" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="set_flip_h"  >
			<argument index="0" name="flip_h" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_flipped_h" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_flip_v"  >
			<argument index="0" name="flip_v" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_flipped_v" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_modulate"  >
			<argument index="0" name="modulate" type="Color">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_modulate" qualifiers="const" >
			<return type="Color">
			</return>
			<description>
			</description>
		</method>
		<method name="set_opacity"  >
			<argument index="0" name="opacity" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_opacity" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_pixel_size"  >
			<argument index="0" name="pixel_size" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_pixel_size" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_axis"  >
			<argument index="0" name="axis" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_axis" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_draw_flag"  >
			<argument index="0" name="flag" type="int">
			</argument>
			<argument index="1" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_draw_flag" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="flag" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_alpha_cut_mode"  >
			<argument index="0" name="mode" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_alpha_cut_mode" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_item_rect" qualifiers="const" >
			<return type="Rect2">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="FLAG_TRANSPARENT" value="0">
		</constant>
		<constant name="FLAG_SHADED" value="1">
		</constant>
		<constant name="FLAG_MAX" value="2">
		</constant>
		<constant name="ALPHA_CUT_DISABLED" value="0">
		</constant>
		<constant name="ALPHA_CUT_DISCARD" value="1">
		</constant>
		<constant name="ALPHA_CUT_OPAQUE_PREPASS" value="2">
		</constant>
	</constants>
</class>
<class name="SpriteFrames" inherits="Resource" category="Core">
	<brief_description>
	Sprite frame library for AnimatedSprite.
	</brief_description>
	<description>
	Sprite frame library for [AnimatedSprite].
	</description>
	<methods>
		<method name="add_frame"  >
			<argument index="0" name="frame" type="Object">
			</argument>
			<argument index="1" name="atpos" type="int" default="-1">
			</argument>
			<description>
			Add a frame (texture).
			</description>
		</method>
		<method name="get_frame_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the amount of frames.
			</description>
		</method>
		<method name="get_frame" qualifiers="const" >
			<return type="Object">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			Return a texture (frame).
			</description>
		</method>
		<method name="set_frame"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="txt" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="remove_frame"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			Remove a frame
			</description>
		</method>
		<method name="clear"  >
			<description>
			Clear the frames.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="StaticBody" inherits="PhysicsBody" category="Core">
	<brief_description>
	PhysicsBody for static collision objects.
	</brief_description>
	<description>
	StaticBody implements a static collision [Node], by utilizing a rigid body in the [PhysicsServer]. Static bodies are used for static collision. For more information on physics body nodes, see [PhysicsBody].
	</description>
	<methods>
		<method name="set_constant_linear_velocity"  >
			<argument index="0" name="vel" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_constant_angular_velocity"  >
			<argument index="0" name="vel" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_constant_linear_velocity" qualifiers="const" >
			<return type="Vector3">
			</return>
			<description>
			</description>
		</method>
		<method name="get_constant_angular_velocity" qualifiers="const" >
			<return type="Vector3">
			</return>
			<description>
			</description>
		</method>
		<method name="set_friction"  >
			<argument index="0" name="friction" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_friction" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_bounce"  >
			<argument index="0" name="bounce" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_bounce" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="StaticBody2D" inherits="PhysicsBody2D" category="Core">
	<brief_description>
	Static body for 2D Physics.
	</brief_description>
	<description>
	Static body for 2D Physics. A static body is a simple body that is not intended to move. They don't consume any CPU resources in contrast to a [RigidBody2D] so they are great for scenaro collision.[br]
	A static body also can be animated by using simulated motion mode, this is useful for implementing functionalities such as moving platforms, when this mode is active the body can be animated and automatically compute linear and angular velocity to apply in that frame and to influence other bodies.
	Alternatively, a constant linear or angular velocity can be set for the static body, so even if it doesn't move, it affects other bodies as if it was moving (this is useful for simulating conveyor belts or conveyor wheels).
	</description>
	<methods>
		<method name="set_constant_linear_velocity"  >
			<argument index="0" name="vel" type="Vector2">
			</argument>
			<description>
			Set a constant linear velocity for the body.
			</description>
		</method>
		<method name="set_constant_angular_velocity"  >
			<argument index="0" name="vel" type="float">
			</argument>
			<description>
			Set a constant angular velocity for the body.
			</description>
		</method>
		<method name="get_constant_linear_velocity" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			Return the constant linear velocity for the body.
			</description>
		</method>
		<method name="get_constant_angular_velocity" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the constant angular velocity for the body.
			</description>
		</method>
		<method name="set_friction"  >
			<argument index="0" name="friction" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_friction" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_bounce"  >
			<argument index="0" name="bounce" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_bounce" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="StreamPeer" inherits="Reference" category="Core">
	<brief_description>
	Abstraction and base class for stream-based protocols.
	</brief_description>
	<description>
	StreamPeer is an abstration and base class for stream-based protocols (such as TCP or Unix Sockets). It provides an API for sending and receiving data through streams as raw data or strings.
	</description>
	<methods>
		<method name="put_data"  >
			<return type="int">
			</return>
			<argument index="0" name="data" type="RawArray">
			</argument>
			<description>
			Send a chunk of data through the connection, blocking if necesary until the data is done sending. This function returns an [Error] code.
			</description>
		</method>
		<method name="put_partial_data"  >
			<return type="Array">
			</return>
			<argument index="0" name="data" type="RawArray">
			</argument>
			<description>
			Send a chunk of data through the connection, if all the data could not be sent at once, only part of it will. This function returns two values, an [Error] code and an integer, describing how much data was actually sent.
			</description>
		</method>
		<method name="get_data"  >
			<return type="Array">
			</return>
			<argument index="0" name="bytes" type="int">
			</argument>
			<description>
			Return a chunk data with the received bytes. The amount of bytes to be received can be requested in the "bytes" argument. If not enough bytes are available, the function will block until the desired amount is received. This function returns two values, an [Error] code and a data array.
			</description>
		</method>
		<method name="get_partial_data"  >
			<return type="Array">
			</return>
			<argument index="0" name="bytes" type="int">
			</argument>
			<description>
			Return a chunk data with the received bytes. The amount of bytes to be received can be requested in the "bytes" argument. If not enough bytes are available, the function will return how many were actually received. This function returns two values, an [Error] code, and a data array.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="StreamPeerSSL" inherits="StreamPeer" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="accept"  >
			<return type="int">
			</return>
			<argument index="0" name="stream" type="StreamPeer">
			</argument>
			<description>
			</description>
		</method>
		<method name="connect"  >
			<return type="int">
			</return>
			<argument index="0" name="stream" type="StreamPeer">
			</argument>
			<argument index="1" name="validate_certs" type="bool" default="false">
			</argument>
			<argument index="2" name="for_hostname" type="String" default="&quot;&quot;">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_status" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="disconnect"  >
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="STATUS_DISCONNECTED" value="0">
		</constant>
		<constant name="STATUS_CONNECTED" value="1">
		</constant>
		<constant name="STATUS_ERROR_NO_CERTIFICATE" value="2">
		</constant>
		<constant name="STATUS_ERROR_HOSTNAME_MISMATCH" value="3">
		</constant>
	</constants>
</class>
<class name="StreamPeerTCP" inherits="StreamPeer" category="Core">
	<brief_description>
	TCP Stream peer.
	</brief_description>
	<description>
	TCP Stream peer. This object can be used to connect to TCP servers, or also is returned by a tcp server.
	</description>
	<methods>
		<method name="connect"  >
			<return type="int">
			</return>
			<argument index="0" name="host" type="String">
			</argument>
			<argument index="1" name="ip" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_connected" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="get_status" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_connected_host" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="get_connected_port" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="disconnect"  >
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="STATUS_NONE" value="0">
		</constant>
		<constant name="STATUS_CONNECTING" value="1">
		</constant>
		<constant name="STATUS_CONNECTED" value="2">
		</constant>
		<constant name="STATUS_ERROR" value="3">
		</constant>
	</constants>
</class>
<class name="StreamPlayer" inherits="Node" category="Core">
	<brief_description>
	Base class for audio stream playback.
	</brief_description>
	<description>
	Base class for audio stream playback. Audio stream players inherit from it.
	</description>
	<methods>
		<method name="set_stream"  >
			<argument index="0" name="stream" type="Stream">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_stream" qualifiers="const" >
			<return type="Stream">
			</return>
			<description>
			</description>
		</method>
		<method name="play"  >
			<description>
			</description>
		</method>
		<method name="stop"  >
			<description>
			</description>
		</method>
		<method name="is_playing" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_paused"  >
			<argument index="0" name="paused" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_paused" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_loop"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="has_loop" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_volume"  >
			<argument index="0" name="volume" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_volume" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_volume_db"  >
			<argument index="0" name="db" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_volume_db" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_stream_name" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="get_loop_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_pos" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="seek_pos"  >
			<argument index="0" name="time" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_autoplay"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="has_autoplay" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="get_length" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="String" category="Built-In Types">
	<brief_description>
	Built-In string class.
	</brief_description>
	<description>
	This is the built in string class (and the one used by GDScript). It supports Unicode and provides all necesary means for string handling. Strings are reference counted and use a copy-on-write approach, so passing them around is cheap in resources.
	</description>
	<methods>
		<method name="basename"  >
			<return type="String">
			</return>
			<description>
			If the string is a path to a file, return the path to the file without the extension.
			</description>
		</method>
		<method name="begins_with"  >
			<return type="bool">
			</return>
			<argument index="0" name="text" type="String">
			</argument>
			<description>
			Return true if the strings begins with the given string.
			</description>
		</method>
		<method name="capitalize"  >
			<return type="String">
			</return>
			<description>
			Return the string in uppercase.
			</description>
		</method>
		<method name="casecmp_to"  >
			<return type="int">
			</return>
			<argument index="0" name="to" type="String">
			</argument>
			<description>
			Perform a case-sensitive comparison to antoher string, return -1 if less, 0 if equal and +1 if greater.
			</description>
		</method>
		<method name="empty"  >
			<return type="bool">
			</return>
			<description>
			Return true if the string is empty.
			</description>
		</method>
		<method name="extension"  >
			<return type="String">
			</return>
			<description>
			If the string is a path to a file, return the extension.
			</description>
		</method>
		<method name="find"  >
			<return type="int">
			</return>
			<argument index="0" name="what" type="String">
			</argument>
			<argument index="1" name="from" type="int" default="0">
			</argument>
			<description>
			Find the first occurence of a substring, return the starting position of the substring or -1 if not found. Optionally, the initial search index can be passed.
			</description>
		</method>
		<method name="find_last"  >
			<return type="int">
			</return>
			<argument index="0" name="what" type="String">
			</argument>
			<description>
			Find the last occurence of a substring, return the starting position of the substring or -1 if not found. Optionally, the initial search index can be passed.
			</description>
		</method>
		<method name="findn"  >
			<return type="int">
			</return>
			<argument index="0" name="what" type="String">
			</argument>
			<argument index="1" name="from" type="int" default="0">
			</argument>
			<description>
			Find the first occurence of a substring but search as case-insensitive, return the starting position of the substring or -1 if not found. Optionally, the initial search index can be passed.
			</description>
		</method>
		<method name="get_base_dir"  >
			<return type="String">
			</return>
			<description>
			If the string is a path to a file, return the base directory.
			</description>
		</method>
		<method name="get_file"  >
			<return type="String">
			</return>
			<description>
			If the string is a path to a file, return the file and ignore the base directory.
			</description>
		</method>
		<method name="hash"  >
			<return type="int">
			</return>
			<description>
			Hash the string and return a 32 bits integer.
			</description>
		</method>
		<method name="hex_to_int"  >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="insert"  >
			<return type="String">
			</return>
			<argument index="0" name="pos" type="int">
			</argument>
			<argument index="1" name="what" type="String">
			</argument>
			<description>
			Insert a substring at a given position.
			</description>
		</method>
		<method name="is_abs_path"  >
			<return type="bool">
			</return>
			<description>
			If the string is a path to a file or directory, return true if the path is absolute.
			</description>
		</method>
		<method name="is_rel_path"  >
			<return type="bool">
			</return>
			<description>
			If the string is a path to a file or directory, return true if the path is relative.
			</description>
		</method>
		<method name="is_valid_float"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="is_valid_html_color"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="is_valid_identifier"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="is_valid_integer"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="is_valid_ip_address"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="left"  >
			<return type="String">
			</return>
			<argument index="0" name="pos" type="int">
			</argument>
			<description>
			Return an amount of characters from the left of the string.
			</description>
		</method>
		<method name="length"  >
			<return type="int">
			</return>
			<description>
			Return the length of the string in characters.
			</description>
		</method>
		<method name="match"  >
			<return type="bool">
			</return>
			<argument index="0" name="expr" type="String">
			</argument>
			<description>
			Do a simple expression matching, using ? and * wildcards.
			</description>
		</method>
		<method name="matchn"  >
			<return type="bool">
			</return>
			<argument index="0" name="expr" type="String">
			</argument>
			<description>
			Do a simple, case insensitive, expression matching, using ? and * wildcards.
			</description>
		</method>
		<method name="md5_buffer"  >
			<return type="RawArray">
			</return>
			<description>
			</description>
		</method>
		<method name="md5_text"  >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="nocasecmp_to"  >
			<return type="int">
			</return>
			<argument index="0" name="to" type="String">
			</argument>
			<description>
			Perform a case-insensitive comparison to antoher string, return -1 if less, 0 if equal and +1 if greater.
			</description>
		</method>
		<method name="ord_at"  >
			<return type="String">
			</return>
			<argument index="0" name="at" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="pad_decimals"  >
			<return type="String">
			</return>
			<argument index="0" name="digits" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="pad_zeros"  >
			<return type="String">
			</return>
			<argument index="0" name="digits" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="percent_decode"  >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="percent_encode"  >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="plus_file"  >
			<return type="String">
			</return>
			<argument index="0" name="file" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="replace"  >
			<return type="String">
			</return>
			<argument index="0" name="what" type="String">
			</argument>
			<argument index="1" name="forwhat" type="String">
			</argument>
			<description>
			Replace occurrences of a substring for different ones inside the string.
			</description>
		</method>
		<method name="replacen"  >
			<return type="String">
			</return>
			<argument index="0" name="what" type="String">
			</argument>
			<argument index="1" name="forwhat" type="String">
			</argument>
			<description>
			Replace occurrences of a substring for different ones inside the string, but search case-insensitive.
			</description>
		</method>
		<method name="rfind"  >
			<return type="int">
			</return>
			<argument index="0" name="what" type="String">
			</argument>
			<argument index="1" name="from" type="int" default="-1">
			</argument>
			<description>
			Perform a search for a substring, but start from the end of the string instead of the begining.
			</description>
		</method>
		<method name="rfindn"  >
			<return type="int">
			</return>
			<argument index="0" name="what" type="String">
			</argument>
			<argument index="1" name="from" type="int" default="-1">
			</argument>
			<description>
			Perform a search for a substring, but start from the end of the string instead of the begining. Also search case-insensitive.
			</description>
		</method>
		<method name="right"  >
			<return type="String">
			</return>
			<argument index="0" name="pos" type="int">
			</argument>
			<description>
			Return the right side of the string from a given position.
			</description>
		</method>
		<method name="split"  >
			<return type="StringArray">
			</return>
			<argument index="0" name="divisor" type="String">
			</argument>
			<argument index="1" name="allow_empty" type="bool" default="True">
			</argument>
			<description>
			Split the string by a divisor string, return an array of the substrings. Example "One,Two,Three" will return ["One","Two","Three"] if split by ",".
			</description>
		</method>
		<method name="split_floats"  >
			<return type="RealArray">
			</return>
			<argument index="0" name="divisor" type="String">
			</argument>
			<argument index="1" name="allow_empty" type="bool" default="True">
			</argument>
			<description>
			Split the string in floats by using a divisor string, return an array of the substrings. Example "1,2.5,3" will return [1,2.5,3] if split by ",".
			</description>
		</method>
		<method name="strip_edges"  >
			<return type="String">
			</return>
			<description>
			Return a copy of the string stripped of any non-printable character at the begining and the end.
			</description>
		</method>
		<method name="substr"  >
			<return type="String">
			</return>
			<argument index="0" name="from" type="int">
			</argument>
			<argument index="1" name="len" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="to_float"  >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="to_int"  >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="to_lower"  >
			<return type="String">
			</return>
			<description>
			Return the string converted to lowercase.
			</description>
		</method>
		<method name="to_upper"  >
			<return type="String">
			</return>
			<description>
			Return the string converted to uppercase.
			</description>
		</method>
		<method name="xml_escape"  >
			<return type="String">
			</return>
			<description>
			Perform XML escaping on the string.
			</description>
		</method>
		<method name="xml_unescape"  >
			<return type="String">
			</return>
			<description>
			Perform XML un-escaping of the string.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="StringArray" category="Built-In Types">
	<brief_description>
	String Array .
	</brief_description>
	<description>
	String Array. Array of strings. Can only contain strings. Optimized for memory usage, cant fragment the memory.
	</description>
	<methods>
		<method name="get"  >
			<return type="String">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="push_back"  >
			<argument index="0" name="string" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="resize"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="string" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="size"  >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="StringArray"  >
			<argument index="0" name="from" type="Array">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="StyleBox" inherits="Resource" category="Core">
	<brief_description>
	Base class for dawing stylized boxes for the UI.
	</brief_description>
	<description>
	StyleBox is [Resource] that provides an abstract base class for dawing stylized boxes for the UI. StyleBoxes are used for dawing the styles of buttons, line edit backgrounds, tree backgrounds, etc. and also for testing a transparency mask for pointer signals. If mask test fails on a StyleBox assigned as mask to a control, clicks and motion signals will go through it to the one below.
	</description>
	<methods>
		<method name="test_mask" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="point" type="Vector2">
			</argument>
			<argument index="1" name="rect" type="Rect2">
			</argument>
			<description>
			Test a position in a rectangle, return wether it pases the mask test.
			</description>
		</method>
		<method name="set_default_margin"  >
			<argument index="0" name="margin" type="int">
			</argument>
			<argument index="1" name="offset" type="float">
			</argument>
			<description>
			Set the default offset "offset" of the margin "margin" (see MARGIN_* enum) for a StyleBox, Controls that draw styleboxes with context inside need to know the margin, so the border of the stylebox is not occluded.
			</description>
		</method>
		<method name="get_default_margin" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="margin" type="int">
			</argument>
			<description>
			Return the default offset of the margin "margin" (see MARGIN_* enum) of a StyleBox, Controls that draw styleboxes with context inside need to know the margin, so the border of the stylebox is not occluded.
			</description>
		</method>
		<method name="get_margin" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="margin" type="int">
			</argument>
			<description>
			Return the offset of margin "margin" (see MARGIN_* enum).
			</description>
		</method>
		<method name="get_minimum_size" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			Return the minimum size that this stylebox can be shrunk to.
			</description>
		</method>
		<method name="get_center_size" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="get_offset" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			Return the "offset" of a stylebox, this is a helper function, like writing Point2( style.get_margin(MARGIN_LEFT), style.get_margin(MARGIN_TOP) )
			</description>
		</method>
		<method name="draw" qualifiers="const" >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="Rect2">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="StyleBoxEmpty" inherits="StyleBox" category="Core">
	<brief_description>
	Empty stylebox (does not display anything).
	</brief_description>
	<description>
	Empty stylebox (really does not display anything).
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
</class>
<class name="StyleBoxFlat" inherits="StyleBox" category="Core">
	<brief_description>
	Stylebox of a single color.
	</brief_description>
	<description>
	Stylebox of a single color. Displays the stylebox of a single color, alternatively a border with light/dark colors can be assigned.
	</description>
	<methods>
		<method name="set_bg_color"  >
			<argument index="0" name="color" type="Color">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_bg_color" qualifiers="const" >
			<return type="Color">
			</return>
			<description>
			</description>
		</method>
		<method name="set_light_color"  >
			<argument index="0" name="color" type="Color">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_light_color" qualifiers="const" >
			<return type="Color">
			</return>
			<description>
			</description>
		</method>
		<method name="set_dark_color"  >
			<argument index="0" name="color" type="Color">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_dark_color" qualifiers="const" >
			<return type="Color">
			</return>
			<description>
			</description>
		</method>
		<method name="set_border_size"  >
			<argument index="0" name="size" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_border_size" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_border_blend"  >
			<argument index="0" name="blend" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_border_blend" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_draw_center"  >
			<argument index="0" name="size" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_draw_center" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="StyleBoxImageMask" inherits="StyleBox" category="Core">
	<brief_description>
	Image mask based StyleBox, for mask test.
	</brief_description>
	<description>
	This StyleBox is similar to [StyleBoxTexture], but only meant to be used for mask testing. It takes an image and applies stretch rules to determine if the poit clicked is masked or not.
	</description>
	<methods>
		<method name="set_image"  >
			<argument index="0" name="image" type="Image">
			</argument>
			<description>
			Set the image used for mask testing. Pixels (converted to grey) that have a value, less than 0.5 will fail the test.
			</description>
		</method>
		<method name="get_image" qualifiers="const" >
			<return type="Image">
			</return>
			<description>
			Return the image used for mask testing. (see [method set_imag]).
			</description>
		</method>
		<method name="set_expand"  >
			<argument index="0" name="expand" type="bool">
			</argument>
			<description>
			Set the expand property (default). When expanding, the image will use the same rules as [StyleBoxTexture] for expand. If not expanding, the image will always be tested at its original size.
			</description>
		</method>
		<method name="get_expand" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return wether the expand property is set(default). When expanding, the image will use the same rules as [StyleBoxTexture] for expand. If not expanding, the image will always be tested at its original size.
			</description>
		</method>
		<method name="set_expand_margin_size"  >
			<argument index="0" name="margin" type="int">
			</argument>
			<argument index="1" name="size" type="float">
			</argument>
			<description>
			Set an expand margin size (from enum MARGIN_*). Parts of the image below the size of the margin (and in the direction of the margin) will not expand.
			</description>
		</method>
		<method name="get_expand_margin_size" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="arg0" type="int">
			</argument>
			<description>
			Return the expand margin size (from enum MARGIN_*). Parts of the image below the size of the margin (and in the direction of the margin) will not expand.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="StyleBoxTexture" inherits="StyleBox" category="Core">
	<brief_description>
	Texture Based 3x3 scale style.
	</brief_description>
	<description>
	Texture Based 3x3 scale style. This stylebox performs a 3x3 scaling of a texture, where only the center cell is fully stretched. This allows for the easy creation of bordered styles.
	</description>
	<methods>
		<method name="set_texture"  >
			<argument index="0" name="texture" type="Texture">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_texture" qualifiers="const" >
			<return type="Texture">
			</return>
			<description>
			</description>
		</method>
		<method name="set_margin_size"  >
			<argument index="0" name="margin" type="int">
			</argument>
			<argument index="1" name="size" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_margin_size" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="arg0" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_expand_margin_size"  >
			<argument index="0" name="margin" type="int">
			</argument>
			<argument index="1" name="size" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_expand_margin_size" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="arg0" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_draw_center"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_draw_center" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="SurfaceTool" inherits="Reference" category="Core">
	<brief_description>
	Helper tool to create geometry.
	</brief_description>
	<description>
	Helper tool to create geometry.
	</description>
	<methods>
		<method name="begin"  >
			<argument index="0" name="primitive" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="add_vertex"  >
			<argument index="0" name="vertex" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="add_color"  >
			<argument index="0" name="color" type="Color">
			</argument>
			<description>
			</description>
		</method>
		<method name="add_normal"  >
			<argument index="0" name="normal" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="add_tangent"  >
			<argument index="0" name="tangent" type="Plane">
			</argument>
			<description>
			</description>
		</method>
		<method name="add_uv"  >
			<argument index="0" name="uv" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="add_uv2"  >
			<argument index="0" name="uv2" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="add_bones"  >
			<argument index="0" name="bones" type="IntArray">
			</argument>
			<description>
			</description>
		</method>
		<method name="add_weights"  >
			<argument index="0" name="weights" type="RealArray">
			</argument>
			<description>
			</description>
		</method>
		<method name="add_smooth_group"  >
			<argument index="0" name="smooth" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_material"  >
			<argument index="0" name="material" type="Material">
			</argument>
			<description>
			</description>
		</method>
		<method name="index"  >
			<description>
			</description>
		</method>
		<method name="deindex"  >
			<description>
			</description>
		</method>
		<method name="generate_normals"  >
			<description>
			</description>
		</method>
		<method name="commit"  >
			<return type="Mesh">
			</return>
			<argument index="0" name="existing" type="Mesh" default="Object()">
			</argument>
			<description>
			</description>
		</method>
		<method name="clear"  >
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="TCP_Server" inherits="Reference" category="Core">
	<brief_description>
	TCP Server.
	</brief_description>
	<description>
	TCP Server class. Listens to connections on a port and returns a StreamPeerTCP when got a connection.
	</description>
	<methods>
		<method name="listen"  >
			<return type="int">
			</return>
			<argument index="0" name="port" type="int">
			</argument>
			<argument index="1" name="accepted_hosts" type="StringArray" default="StringArray()">
			</argument>
			<description>
			Listen on a port, alternatively give a white-list of accepted hosts.
			</description>
		</method>
		<method name="is_connection_available" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if a connection is available for taking.
			</description>
		</method>
		<method name="take_connection"  >
			<return type="Object">
			</return>
			<description>
			If a connection is available, return a StreamPeerTCP with the connection/
			</description>
		</method>
		<method name="stop"  >
			<description>
			Stop listening.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="TabContainer" inherits="Control" category="Core">
	<brief_description>
	Tabbed Container.
	</brief_description>
	<description>
	Tabbed Container. Contains several children controls, but shows only one at the same time. Clicking ont he top tabs allows to change the current visible one.[br]
	Children controls of this one automatically.
	</description>
	<methods>
		<method name="get_tab_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the amount of tabs.
			</description>
		</method>
		<method name="set_current_tab"  >
			<argument index="0" name="tab_idx" type="int">
			</argument>
			<description>
			Bring a tab (and the Control it represents) to the front, and hide the rest.
			</description>
		</method>
		<method name="get_current_tab" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the current tab that is being showed.
			</description>
		</method>
		<method name="set_tab_align"  >
			<argument index="0" name="align" type="int">
			</argument>
			<description>
			Set tab alignment, from the ALIGN_* enum. Moves tabs to the left, right or center.
			</description>
		</method>
		<method name="get_tab_align" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return tab alignment, from the ALIGN_* enum
			</description>
		</method>
		<method name="set_tabs_visible"  >
			<argument index="0" name="visible" type="bool">
			</argument>
			<description>
			Set whether the tabs should be visible or hidden.
			</description>
		</method>
		<method name="are_tabs_visible" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return whether the tabs should be visible or hidden.
			</description>
		</method>
		<method name="set_tab_title"  >
			<argument index="0" name="tab_idx" type="int">
			</argument>
			<argument index="1" name="title" type="String">
			</argument>
			<description>
			Set a title for the tab. Tab titles are by default the children node name, but this can be overriden.
			</description>
		</method>
		<method name="get_tab_title" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="tab_idx" type="int">
			</argument>
			<description>
			Return the title for the tab. Tab titles are by default the children node name, but this can be overriden.
			</description>
		</method>
		<method name="set_tab_icon"  >
			<argument index="0" name="tab_idx" type="int">
			</argument>
			<argument index="1" name="icon" type="Texture">
			</argument>
			<description>
			Set an icon for a tab.
			</description>
		</method>
		<method name="get_tab_icon" qualifiers="const" >
			<return type="Texture">
			</return>
			<argument index="0" name="tab_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<signals>
		<signal name="tab_changed">
			<argument index="0" name="tab" type="int">
			</argument>
			<description>
			Emitted when the current tab changes.
			</description>
		</signal>
	</signals>
	<constants>
	</constants>
	<theme_items>
		<theme_item name="label_valign_fg" type="int">
		</theme_item>
		<theme_item name="hseparation" type="int">
		</theme_item>
		<theme_item name="label_valign_bg" type="int">
		</theme_item>
		<theme_item name="top_margin" type="int">
		</theme_item>
		<theme_item name="side_margin" type="int">
		</theme_item>
		<theme_item name="font_color_bg" type="Color">
		</theme_item>
		<theme_item name="font_color_fg" type="Color">
		</theme_item>
		<theme_item name="increment_hilite" type="Texture">
		</theme_item>
		<theme_item name="decrement_hilite" type="Texture">
		</theme_item>
		<theme_item name="increment" type="Texture">
		</theme_item>
		<theme_item name="decrement" type="Texture">
		</theme_item>
		<theme_item name="font" type="Font">
		</theme_item>
		<theme_item name="tab_fg" type="StyleBox">
		</theme_item>
		<theme_item name="tab_bg" type="StyleBox">
		</theme_item>
		<theme_item name="panel" type="StyleBox">
		</theme_item>
	</theme_items>
</class>
<class name="Tabs" inherits="Control" category="Core">
	<brief_description>
	Tabs Control.
	</brief_description>
	<description>
	Simple tabs control, similar to [TabContainer] but is only in charge of drawing tabs, not interact with children.
	</description>
	<methods>
		<method name="get_tab_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_current_tab"  >
			<argument index="0" name="tab_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_current_tab" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_tab_title"  >
			<argument index="0" name="tab_idx" type="int">
			</argument>
			<argument index="1" name="title" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_tab_title" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="tab_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_tab_icon"  >
			<argument index="0" name="tab_idx" type="int">
			</argument>
			<argument index="1" name="icon" type="Texture">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_tab_icon" qualifiers="const" >
			<return type="Texture">
			</return>
			<argument index="0" name="tab_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="remove_tab"  >
			<argument index="0" name="tab_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="add_tab"  >
			<argument index="0" name="title" type="String">
			</argument>
			<argument index="1" name="icon" type="Texture">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<signals>
		<signal name="tab_changed">
			<argument index="0" name="tab" type="int">
			</argument>
			<description>
			</description>
		</signal>
	</signals>
	<constants>
	</constants>
	<theme_items>
		<theme_item name="label_valign_fg" type="int">
		</theme_item>
		<theme_item name="hseparation" type="int">
		</theme_item>
		<theme_item name="label_valign_bg" type="int">
		</theme_item>
		<theme_item name="top_margin" type="int">
		</theme_item>
		<theme_item name="font_color_bg" type="Color">
		</theme_item>
		<theme_item name="font_color_fg" type="Color">
		</theme_item>
		<theme_item name="font" type="Font">
		</theme_item>
		<theme_item name="tab_fg" type="StyleBox">
		</theme_item>
		<theme_item name="tab_bg" type="StyleBox">
		</theme_item>
		<theme_item name="panel" type="StyleBox">
		</theme_item>
	</theme_items>
</class>
<class name="TestCube" inherits="GeometryInstance" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
</class>
<class name="TextEdit" inherits="Control" category="Core">
	<brief_description>
	Multiline text editing control.
	</brief_description>
	<description>
	TextEdit is meant for editing large, multiline text. It also has facilities for editing code, such as syntax highlighting support and multiple levels of undo/redo.
	</description>
	<methods>
		<method name="set_text"  >
			<argument index="0" name="text" type="String">
			</argument>
			<description>
			Set the entire text.
			</description>
		</method>
		<method name="insert_text_at_cursor"  >
			<argument index="0" name="text" type="String">
			</argument>
			<description>
			Insert a given text at the cursor position.
			</description>
		</method>
		<method name="get_line_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the amount of total lines in the text.
			</description>
		</method>
		<method name="get_text"  >
			<return type="String">
			</return>
			<description>
			Return the whole text.
			</description>
		</method>
		<method name="get_line" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="arg0" type="int">
			</argument>
			<description>
			Return the text of a specific line.
			</description>
		</method>
		<method name="cursor_set_column"  >
			<argument index="0" name="column" type="int">
			</argument>
			<description>
			Set the current column of the text editor.
			</description>
		</method>
		<method name="cursor_set_line"  >
			<argument index="0" name="line" type="int">
			</argument>
			<description>
			Set the current line of the text editor.
			</description>
		</method>
		<method name="cursor_get_column" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the column the editing cursor is at.
			</description>
		</method>
		<method name="cursor_get_line" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the line the editing cursor is at.
			</description>
		</method>
		<method name="set_readonly"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			Set the text editor as read-only. Text can be displayed but not edited.
			</description>
		</method>
		<method name="set_wrap"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			Enable text wrapping when it goes beyond he edge of what is visible.
			</description>
		</method>
		<method name="set_max_chars"  >
			<argument index="0" name="amount" type="int">
			</argument>
			<description>
			Set the maximum amount of characters editable.
			</description>
		</method>
		<method name="cut"  >
			<description>
			Cut the current selection.
			</description>
		</method>
		<method name="copy"  >
			<description>
			Copy the current selection.
			</description>
		</method>
		<method name="paste"  >
			<description>
			Paste the current selection.
			</description>
		</method>
		<method name="select_all"  >
			<description>
			Select all the text.
			</description>
		</method>
		<method name="select"  >
			<argument index="0" name="from_line" type="int">
			</argument>
			<argument index="1" name="from_column" type="int">
			</argument>
			<argument index="2" name="to_line" type="int">
			</argument>
			<argument index="3" name="to_column" type="int">
			</argument>
			<description>
			Perform selection, from line/column to line/column.
			</description>
		</method>
		<method name="is_selection_active" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if the selection is active.
			</description>
		</method>
		<method name="get_selection_from_line" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the selection begin line.
			</description>
		</method>
		<method name="get_selection_from_column" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the selection begin column.
			</description>
		</method>
		<method name="get_selection_to_line" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the selection end line.
			</description>
		</method>
		<method name="get_selection_to_column" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the selection end column.
			</description>
		</method>
		<method name="get_selection_text" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			Return the text inside the selection.
			</description>
		</method>
		<method name="get_word_under_cursor" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="search" qualifiers="const" >
			<return type="IntArray">
			</return>
			<argument index="0" name="flags" type="String">
			</argument>
			<argument index="1" name="from_line" type="int">
			</argument>
			<argument index="2" name="from_column" type="int">
			</argument>
			<argument index="3" name="to_line" type="int">
			</argument>
			<description>
			Perform a search inside the text. Search flags can be specified in the SEARCH_* enum.
			</description>
		</method>
		<method name="undo"  >
			<description>
			Perform undo operation.
			</description>
		</method>
		<method name="redo"  >
			<description>
			Perform redo operation.
			</description>
		</method>
		<method name="clear_undo_history"  >
			<description>
			Clear the undo history.
			</description>
		</method>
		<method name="set_syntax_coloring"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			Set to enable the syntax coloring.
			</description>
		</method>
		<method name="is_syntax_coloring_enabled" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if the syntax coloring is enabled.
			</description>
		</method>
		<method name="add_keyword_color"  >
			<argument index="0" name="keyword" type="String">
			</argument>
			<argument index="1" name="color" type="Color">
			</argument>
			<description>
			Add a keyword and it's color.
			</description>
		</method>
		<method name="add_color_region"  >
			<argument index="0" name="begin_key" type="String">
			</argument>
			<argument index="1" name="end_key" type="String">
			</argument>
			<argument index="2" name="color" type="Color">
			</argument>
			<argument index="3" name="line_only" type="bool" default="false">
			</argument>
			<description>
			Add color region (given the delimiters) and it's colors.
			</description>
		</method>
		<method name="set_symbol_color"  >
			<argument index="0" name="color" type="Color">
			</argument>
			<description>
			Set the color for symbols.
			</description>
		</method>
		<method name="set_custom_bg_color"  >
			<argument index="0" name="color" type="Color">
			</argument>
			<description>
			Set a custom background color. A background color with alpha==0 disables this.
			</description>
		</method>
		<method name="clear_colors"  >
			<description>
			Clear all the syntax coloring information.
			</description>
		</method>
	</methods>
	<signals>
		<signal name="text_changed">
			<description>
			Emitted when the text changes.
			</description>
		</signal>
		<signal name="cursor_changed">
			<description>
			Emitted when the cursor changes.
			</description>
		</signal>
		<signal name="request_completion">
			<argument index="0" name="keyword" type="String">
			</argument>
			<argument index="1" name="line" type="int">
			</argument>
			<description>
			</description>
		</signal>
	</signals>
	<constants>
		<constant name="SEARCH_MATCH_CASE" value="1">
			Match case when searching.
		</constant>
		<constant name="SEARCH_WHOLE_WORDS" value="2">
			Match whole words when searching.
		</constant>
		<constant name="SEARCH_BACKWARDS" value="4">
			Search from end to begining.
		</constant>
	</constants>
	<theme_items>
		<theme_item name="line_spacing" type="int">
		</theme_item>
		<theme_item name="completion_lines" type="int">
		</theme_item>
		<theme_item name="completion_max_width" type="int">
		</theme_item>
		<theme_item name="completion_scroll_width" type="int">
		</theme_item>
		<theme_item name="symbol_color" type="Color">
		</theme_item>
		<theme_item name="cursor_color" type="Color">
		</theme_item>
		<theme_item name="selection_color" type="Color">
		</theme_item>
		<theme_item name="completion_existing" type="Color">
		</theme_item>
		<theme_item name="breakpoint_color" type="Color">
		</theme_item>
		<theme_item name="font_color_selected" type="Color">
		</theme_item>
		<theme_item name="font_color" type="Color">
		</theme_item>
		<theme_item name="completion_scroll_color" type="Color">
		</theme_item>
		<theme_item name="current_line_color" type="Color">
		</theme_item>
		<theme_item name="mark_color" type="Color">
		</theme_item>
		<theme_item name="tab" type="Texture">
		</theme_item>
		<theme_item name="font" type="Font">
		</theme_item>
		<theme_item name="focus" type="StyleBox">
		</theme_item>
		<theme_item name="normal" type="StyleBox">
		</theme_item>
		<theme_item name="completion_selected" type="StyleBox">
		</theme_item>
		<theme_item name="completion" type="StyleBox">
		</theme_item>
	</theme_items>
</class>
<class name="Texture" inherits="Resource" category="Core">
	<brief_description>
	Texture for 2D and 3D.
	</brief_description>
	<description>
	A texture works by registering an image in the video hardware, which then can be used in 3D models or 2D [Sprite] or GUI [Control]s.
	</description>
	<methods>
		<method name="get_width" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the texture width.
			</description>
		</method>
		<method name="get_height" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the texture height.
			</description>
		</method>
		<method name="get_size" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			Return the texture size.
			</description>
		</method>
		<method name="get_rid" qualifiers="const" >
			<return type="RID">
			</return>
			<description>
			Return the texture RID as used in the [VisualServer].
			</description>
		</method>
		<method name="has_alpha" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_flags"  >
			<argument index="0" name="flags" type="int">
			</argument>
			<description>
			Change the texture flags.
			</description>
		</method>
		<method name="get_flags" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the current texture flags.
			</description>
		</method>
		<method name="draw" qualifiers="const" >
			<argument index="0" name="canvas_item" type="RID">
			</argument>
			<argument index="1" name="pos" type="Vector2">
			</argument>
			<argument index="2" name="modulate" type="Color" default="Color(1,1,1,1)">
			</argument>
			<description>
			Draw the texture into a a [VisualServer] canvas item.
			</description>
		</method>
		<method name="draw_rect" qualifiers="const" >
			<argument index="0" name="canvas_item" type="RID">
			</argument>
			<argument index="1" name="rect" type="Rect2">
			</argument>
			<argument index="2" name="tile" type="bool">
			</argument>
			<argument index="3" name="modulate" type="Color" default="Color(1,1,1,1)">
			</argument>
			<description>
			</description>
		</method>
		<method name="draw_rect_region" qualifiers="const" >
			<argument index="0" name="canvas_item" type="RID">
			</argument>
			<argument index="1" name="rect" type="Rect2">
			</argument>
			<argument index="2" name="src_rect" type="Rect2">
			</argument>
			<argument index="3" name="modulate" type="Color" default="Color(1,1,1,1)">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="FLAG_MIPMAPS" value="1">
			Generate mipmaps.
		</constant>
		<constant name="FLAG_REPEAT" value="2">
			Repeat (instead of clamp to edge).
		</constant>
		<constant name="FLAG_FILTER" value="4">
			Turn on magnifying filter.
		</constant>
		<constant name="FLAG_VIDEO_SURFACE" value="4096">
			Texture is a video surface
		</constant>
		<constant name="FLAGS_DEFAULT" value="7">
			Default flags
		</constant>
		<constant name="FLAG_ANISOTROPIC_FILTER" value="8">
		</constant>
		<constant name="FLAG_CONVERT_TO_LINEAR" value="16">
		</constant>
	</constants>
</class>
<class name="TextureButton" inherits="BaseButton" category="Core">
	<brief_description>
	Button that can be themed with textures.
	</brief_description>
	<description>
	Button that can be themed with textures. This is like a regular [Button] but can be themed by assigning textures to it. This button is intended to be easy to theme, however a regular button can expand (that uses styleboxes) and still be better if the interface is expect to have internationalization of texts.[br]
	Only the normal texture is required, the others are optional.
	</description>
	<methods>
		<method name="set_normal_texture"  >
			<argument index="0" name="texture" type="Texture">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_pressed_texture"  >
			<argument index="0" name="texture" type="Texture">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_hover_texture"  >
			<argument index="0" name="texture" type="Texture">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_disabled_texture"  >
			<argument index="0" name="texture" type="Texture">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_focused_texture"  >
			<argument index="0" name="texture" type="Texture">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_click_mask"  >
			<argument index="0" name="mask" type="BitMap">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_normal_texture" qualifiers="const" >
			<return type="Texture">
			</return>
			<description>
			</description>
		</method>
		<method name="get_pressed_texture" qualifiers="const" >
			<return type="Texture">
			</return>
			<description>
			</description>
		</method>
		<method name="get_hover_texture" qualifiers="const" >
			<return type="Texture">
			</return>
			<description>
			</description>
		</method>
		<method name="get_disabled_texture" qualifiers="const" >
			<return type="Texture">
			</return>
			<description>
			</description>
		</method>
		<method name="get_focused_texture" qualifiers="const" >
			<return type="Texture">
			</return>
			<description>
			</description>
		</method>
		<method name="get_click_mask" qualifiers="const" >
			<return type="BitMap">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="TextureFrame" inherits="Control" category="Core">
	<brief_description>
	Control Frame that draws a texture.
	</brief_description>
	<description>
	Control frame that simply draws an assigned texture. It can stretch or not. It's a simple way to just show an image in a UI.
	</description>
	<methods>
		<method name="set_texture"  >
			<argument index="0" name="texture" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_texture" qualifiers="const" >
			<return type="Object">
			</return>
			<description>
			</description>
		</method>
		<method name="set_modulate"  >
			<argument index="0" name="modulate" type="Color">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_modulate" qualifiers="const" >
			<return type="Color">
			</return>
			<description>
			</description>
		</method>
		<method name="set_expand"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="has_expand" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="TextureProgress" inherits="Range" category="Core">
	<brief_description>
	Textured progress bar implementation.
	</brief_description>
	<description>
	[ProgressBar] implementation that is easier to theme (by just passing a few textures).
	</description>
	<methods>
		<method name="set_under_texture"  >
			<argument index="0" name="tex" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_under_texture" qualifiers="const" >
			<return type="Object">
			</return>
			<description>
			</description>
		</method>
		<method name="set_progress_texture"  >
			<argument index="0" name="tex" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_progress_texture" qualifiers="const" >
			<return type="Object">
			</return>
			<description>
			</description>
		</method>
		<method name="set_over_texture"  >
			<argument index="0" name="tex" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_over_texture" qualifiers="const" >
			<return type="Object">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Theme" inherits="Resource" category="Core">
	<brief_description>
	Theme for controls.
	</brief_description>
	<description>
	Theme for skinning controls. Controls can be skinned individually, but for complex applications it's more efficient to just create a global theme that defines everything. This theme can be applied to any [Control], and it and the children will automatically use it.[br]
	Theme resources can be alternatively loaded by writing them in a .theme file, see wiki for more info.
	</description>
	<methods>
		<method name="set_icon"  >
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="type" type="String">
			</argument>
			<argument index="2" name="texture" type="Texture">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_icon" qualifiers="const" >
			<return type="Texture">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="type" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="has_icon" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="type" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="clear_icon"  >
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="type" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_icon_list" qualifiers="const" >
			<return type="StringArray">
			</return>
			<argument index="0" name="arg0" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_stylebox"  >
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="type" type="String">
			</argument>
			<argument index="2" name="texture" type="StyleBox">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_stylebox" qualifiers="const" >
			<return type="StyleBox">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="type" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="has_stylebox" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="type" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="clear_stylebox"  >
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="type" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_stylebox_list" qualifiers="const" >
			<return type="StringArray">
			</return>
			<argument index="0" name="arg0" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_font"  >
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="type" type="String">
			</argument>
			<argument index="2" name="font" type="Font">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_font" qualifiers="const" >
			<return type="Font">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="type" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="has_font" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="type" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="clear_font"  >
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="type" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_font_list" qualifiers="const" >
			<return type="StringArray">
			</return>
			<argument index="0" name="arg0" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_color"  >
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="type" type="String">
			</argument>
			<argument index="2" name="color" type="Color">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_color" qualifiers="const" >
			<return type="Color">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="type" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="has_color" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="type" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="clear_color"  >
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="type" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_color_list" qualifiers="const" >
			<return type="StringArray">
			</return>
			<argument index="0" name="arg0" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_constant"  >
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="type" type="String">
			</argument>
			<argument index="2" name="constant" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_constant" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="type" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="has_constant" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="type" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="clear_constant"  >
			<argument index="0" name="name" type="String">
			</argument>
			<argument index="1" name="type" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_constant_list" qualifiers="const" >
			<return type="StringArray">
			</return>
			<argument index="0" name="arg0" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_default_font"  >
			<argument index="0" name="font" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_default_font" qualifiers="const" >
			<return type="Object">
			</return>
			<description>
			</description>
		</method>
		<method name="get_type_list" qualifiers="const" >
			<return type="StringArray">
			</return>
			<argument index="0" name="arg0" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="copy_default_theme"  >
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Thread" inherits="Reference" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="start"  >
			<return type="int">
			</return>
			<argument index="0" name="instance" type="Object">
			</argument>
			<argument index="1" name="method" type="String">
			</argument>
			<argument index="2" name="userdata" type="var" default="NULL">
			</argument>
			<argument index="3" name="priority" type="int" default="1">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_id" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="is_active" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="wait_to_finish"  >
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="PRIORITY_LOW" value="0">
		</constant>
		<constant name="PRIORITY_NORMAL" value="1">
		</constant>
		<constant name="PRIORITY_HIGH" value="2">
		</constant>
	</constants>
</class>
<class name="TileMap" inherits="Node2D" category="Core">
	<brief_description>
	Node for 2D Tile-Based games.
	</brief_description>
	<description>
	Node for 2D Tile-Based games. Tilemaps use a TileSet which contain a list of tiles (textures, their rect and a collision) and are used to create complex grid-based maps.
	To optimize drawing and culling (sort of like [GridMap]), you can specify a quadrant size, so chunks of the map will be batched together the time of drawing.
	</description>
	<methods>
		<method name="set_tileset"  >
			<argument index="0" name="tileset" type="TileSet">
			</argument>
			<description>
			Set the current tileset.
			</description>
		</method>
		<method name="get_tileset" qualifiers="const" >
			<return type="TileSet">
			</return>
			<description>
			Return the current tileset.
			</description>
		</method>
		<method name="set_mode"  >
			<argument index="0" name="mode" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_mode" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_half_offset"  >
			<argument index="0" name="half_offset" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_half_offset" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_custom_transform"  >
			<argument index="0" name="custom_transform" type="Matrix32">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_custom_transform" qualifiers="const" >
			<return type="Matrix32">
			</return>
			<description>
			</description>
		</method>
		<method name="set_cell_size"  >
			<argument index="0" name="size" type="Vector2">
			</argument>
			<description>
			Set the cell size.
			</description>
		</method>
		<method name="get_cell_size" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			Return the cell size.
			</description>
		</method>
		<method name="set_quadrant_size"  >
			<argument index="0" name="size" type="int">
			</argument>
			<description>
			Set the quadrant size, this optimizes drawing by batching chunks of map at draw/cull time.
			</description>
		</method>
		<method name="get_quadrant_size" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Return the quadrant size, this optimizes drawing by batching chunks of map at draw/cull time.
			</description>
		</method>
		<method name="set_center_x"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			Set tiles to be centered in x coordinate. (by default this is false and they are drawn from upper left cell corner).
			</description>
		</method>
		<method name="get_center_x" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if tiles are to be centered in x coordinate (by default this is false and they are drawn from upper left cell corner).
			</description>
		</method>
		<method name="set_center_y"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			Set tiles to be centered in y coordinate. (by default this is false and they are drawn from upper left cell corner).
			</description>
		</method>
		<method name="get_center_y" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if tiles are to be centered in y coordinate (by default this is false and they are drawn from upper left cell corner).
			</description>
		</method>
		<method name="set_collision_layer_mask"  >
			<argument index="0" name="mask" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_collision_layer_mask" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_collision_friction"  >
			<argument index="0" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_collision_friction" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_collision_bounce"  >
			<argument index="0" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_collision_bounce" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_cell"  >
			<argument index="0" name="x" type="int">
			</argument>
			<argument index="1" name="y" type="int">
			</argument>
			<argument index="2" name="tile" type="int">
			</argument>
			<argument index="3" name="flip_x" type="bool" default="false">
			</argument>
			<argument index="4" name="flip_y" type="bool" default="false">
			</argument>
			<description>
			Set the contents of a cell. Cells can be optionally flipped in y or x.
			</description>
		</method>
		<method name="get_cell" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="x" type="int">
			</argument>
			<argument index="1" name="y" type="int">
			</argument>
			<description>
			Return the contents of a cell.
			</description>
		</method>
		<method name="is_cell_x_flipped" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="x" type="int">
			</argument>
			<argument index="1" name="y" type="int">
			</argument>
			<description>
			Return if a given cell is flipped in x axis.
			</description>
		</method>
		<method name="is_cell_y_flipped" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="x" type="int">
			</argument>
			<argument index="1" name="y" type="int">
			</argument>
			<description>
			Return if a given cell is flipped in y axis.
			</description>
		</method>
		<method name="clear"  >
			<description>
			Clear all cells.
			</description>
		</method>
		<method name="map_to_world" qualifiers="const" >
			<return type="Vector2">
			</return>
			<argument index="0" name="mappos" type="Vector2">
			</argument>
			<argument index="1" name="ignore_half_ofs" type="bool" default="false">
			</argument>
			<description>
			</description>
		</method>
		<method name="world_to_map" qualifiers="const" >
			<return type="Vector2">
			</return>
			<argument index="0" name="worldpos" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<signals>
		<signal name="settings_changed">
			<description>
			</description>
		</signal>
	</signals>
	<constants>
		<constant name="INVALID_CELL" value="-1">
			Returned when a cell doesn't exist.
		</constant>
		<constant name="MODE_SQUARE" value="0">
		</constant>
		<constant name="MODE_ISOMETRIC" value="1">
		</constant>
		<constant name="MODE_CUSTOM" value="2">
		</constant>
		<constant name="HALF_OFFSET_X" value="0">
		</constant>
		<constant name="HALF_OFFSET_Y" value="1">
		</constant>
		<constant name="HALF_OFFSET_DISABLED" value="2">
		</constant>
	</constants>
</class>
<class name="TileSet" inherits="Resource" category="Core">
	<brief_description>
	Tile library for tilemaps.
	</brief_description>
	<description>
	A TileSet is a library of tiles for a [TileMap]. It contains a list of tiles, each consisting of a sprite and optional collision shapes.
	</description>
	<methods>
		<method name="create_tile"  >
			<argument index="0" name="id" type="int">
			</argument>
			<description>
			Create a new tile, the ID must be specified.
			</description>
		</method>
		<method name="tile_set_name"  >
			<argument index="0" name="id" type="int">
			</argument>
			<argument index="1" name="name" type="String">
			</argument>
			<description>
			Set the name of a tile, for decriptive purposes.
			</description>
		</method>
		<method name="tile_get_name" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="id" type="int">
			</argument>
			<description>
			Return the name of a tile, for decriptive purposes.
			</description>
		</method>
		<method name="tile_set_texture"  >
			<argument index="0" name="id" type="int">
			</argument>
			<argument index="1" name="texture" type="Texture">
			</argument>
			<description>
			Set the texture of the tile.
			</description>
		</method>
		<method name="tile_get_texture" qualifiers="const" >
			<return type="Texture">
			</return>
			<argument index="0" name="id" type="int">
			</argument>
			<description>
			Return the texture of the tile.
			</description>
		</method>
		<method name="tile_set_texture_offset"  >
			<argument index="0" name="id" type="int">
			</argument>
			<argument index="1" name="texture_offset" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="tile_get_texture_offset" qualifiers="const" >
			<return type="Vector2">
			</return>
			<argument index="0" name="id" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="tile_set_shape_offset"  >
			<argument index="0" name="id" type="int">
			</argument>
			<argument index="1" name="shape_offset" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="tile_get_shape_offset" qualifiers="const" >
			<return type="Vector2">
			</return>
			<argument index="0" name="id" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="tile_set_region"  >
			<argument index="0" name="id" type="int">
			</argument>
			<argument index="1" name="region" type="Rect2">
			</argument>
			<description>
			Set the tile sub-region in the texture. This is common in texture atlases.
			</description>
		</method>
		<method name="tile_get_region" qualifiers="const" >
			<return type="Rect2">
			</return>
			<argument index="0" name="id" type="int">
			</argument>
			<description>
			Return the tile sub-region in the texture. This is common in texture atlases.
			</description>
		</method>
		<method name="tile_set_shape"  >
			<argument index="0" name="id" type="int">
			</argument>
			<argument index="1" name="shape" type="Shape2D">
			</argument>
			<description>
			Set a shape for the tile, enabling physics to collide it.
			</description>
		</method>
		<method name="tile_get_shape" qualifiers="const" >
			<return type="Shape2D">
			</return>
			<argument index="0" name="id" type="int">
			</argument>
			<description>
			Return the shape of the tile.
			</description>
		</method>
		<method name="tile_set_shapes"  >
			<argument index="0" name="id" type="int">
			</argument>
			<argument index="1" name="shapes" type="Array">
			</argument>
			<description>
			</description>
		</method>
		<method name="tile_get_shapes" qualifiers="const" >
			<return type="Array">
			</return>
			<argument index="0" name="id" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="remove_tile"  >
			<argument index="0" name="id" type="int">
			</argument>
			<description>
			Remove a tile, by integer id.
			</description>
		</method>
		<method name="clear"  >
			<description>
			Clear all tiles.
			</description>
		</method>
		<method name="get_last_unused_tile_id" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			Find an empty id for creating a new tile.
			</description>
		</method>
		<method name="find_tile_by_name" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="name" type="String">
			</argument>
			<description>
			Find the first tile with the given name.
			</description>
		</method>
		<method name="get_tiles_ids" qualifiers="const" >
			<return type="Array">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Timer" inherits="Node" category="Core">
	<brief_description>
	</brief_description>
	<description>
	Timer node. This is a simple node that will emit a timeout callback when the timer runs out. It can optinally be set to loop.
	</description>
	<methods>
		<method name="set_wait_time"  >
			<argument index="0" name="time_sec" type="float">
			</argument>
			<description>
			Set wait time. When the time is over, it will emit timeout signal.
			</description>
		</method>
		<method name="get_wait_time" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the wait time. When the time is over, it will emit timeout signal.
			</description>
		</method>
		<method name="set_one_shot"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			Set as one-shot. If true, timer will stop after timeout, otherwise it will automatically restart.
			</description>
		</method>
		<method name="is_one_shot" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if is set as one-shot. If true, timer will stop after timeout, otherwise it will automatically restart.
			</description>
		</method>
		<method name="set_autostart"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			Set to automatically start when entering the scene.
			</description>
		</method>
		<method name="has_autostart" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			Return true if set to automatically start when entering the scene.
			</description>
		</method>
		<method name="start"  >
			<description>
			Start the timer.
			</description>
		</method>
		<method name="stop"  >
			<description>
			Stop (cancel) the timer.
			</description>
		</method>
		<method name="get_time_left" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			Return the time left for timeout if the timer is active.
			</description>
		</method>
	</methods>
	<signals>
		<signal name="timeout">
			<description>
			Emitted when the time runs out.
			</description>
		</signal>
	</signals>
	<constants>
	</constants>
</class>
<class name="TouchScreenButton" inherits="Node2D" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_texture"  >
			<argument index="0" name="texture" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_texture" qualifiers="const" >
			<return type="Object">
			</return>
			<description>
			</description>
		</method>
		<method name="set_texture_pressed"  >
			<argument index="0" name="texture_pressed" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_texture_pressed" qualifiers="const" >
			<return type="Object">
			</return>
			<description>
			</description>
		</method>
		<method name="set_bitmask"  >
			<argument index="0" name="bitmask" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_bitmask" qualifiers="const" >
			<return type="Object">
			</return>
			<description>
			</description>
		</method>
		<method name="set_action"  >
			<argument index="0" name="action" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_action" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="set_visibility_mode"  >
			<argument index="0" name="mode" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_visibility_mode" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_passby_press"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_passby_press_enabled" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="is_pressed" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<signals>
		<signal name="released">
			<description>
			</description>
		</signal>
		<signal name="pressed">
			<description>
			</description>
		</signal>
	</signals>
	<constants>
	</constants>
</class>
<class name="Transform" category="Built-In Types">
	<brief_description>
	3D Transformation.
	</brief_description>
	<description>
	Transform is used to store transformations, including translations. It consists of a Matrix3 "basis" and Vector3 "origin". Transform is used to represent transformations of any object in space. It is similar to a 4x3 matrix.
	</description>
	<methods>
		<method name="affine_inverse"  >
			<return type="Transform">
			</return>
			<description>
			</description>
		</method>
		<method name="inverse"  >
			<return type="Transform">
			</return>
			<description>
			Returns the inverse of the transform.
			</description>
		</method>
		<method name="looking_at"  >
			<return type="Transform">
			</return>
			<argument index="0" name="target" type="Vector3">
			</argument>
			<argument index="1" name="up" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="orthonormalized"  >
			<return type="Transform">
			</return>
			<description>
			</description>
		</method>
		<method name="rotated"  >
			<return type="Transform">
			</return>
			<argument index="0" name="axis" type="Vector3">
			</argument>
			<argument index="1" name="phi" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="scaled"  >
			<return type="Transform">
			</return>
			<argument index="0" name="scale" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="translated"  >
			<return type="Transform">
			</return>
			<argument index="0" name="ofs" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="xform"  >
			<return type="var">
			</return>
			<argument index="0" name="v" type="var">
			</argument>
			<description>
			Transforms vector "v" by this transform.
			</description>
		</method>
		<method name="xform_inv"  >
			<return type="var">
			</return>
			<argument index="0" name="v" type="var">
			</argument>
			<description>
			Inverse-transforms vector "v" by this transform.
			</description>
		</method>
		<method name="Transform"  >
			<argument index="0" name="x_axis" type="Vector3">
			</argument>
			<argument index="1" name="y_axis" type="Vector3">
			</argument>
			<argument index="2" name="z_axis" type="Vector3">
			</argument>
			<argument index="3" name="origin" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="Transform"  >
			<argument index="0" name="basis" type="Matrix3">
			</argument>
			<argument index="1" name="origin" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="Transform"  >
			<argument index="0" name="from" type="Matrix32">
			</argument>
			<description>
			</description>
		</method>
		<method name="Transform"  >
			<argument index="0" name="from" type="Quat">
			</argument>
			<description>
			</description>
		</method>
		<method name="Transform"  >
			<argument index="0" name="from" type="Matrix3">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<members>
		<member name="basis" type="Matrix3">
		</member>
		<member name="origin" type="Vector3">
		</member>
	</members>
	<constants>
	</constants>
</class>
<class name="Translation" inherits="Resource" category="Core">
	<brief_description>
	Language Translation.
	</brief_description>
	<description>
	Translations are resources that can be loaded/unloaded on demand. They map a string to another string.
	</description>
	<methods>
		<method name="set_locale"  >
			<argument index="0" name="locale" type="String">
			</argument>
			<description>
			Set the locale of the translation.
			</description>
		</method>
		<method name="get_locale" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			Return the locale of the translation.
			</description>
		</method>
		<method name="add_message"  >
			<argument index="0" name="src_message" type="String">
			</argument>
			<argument index="1" name="xlated_message" type="String">
			</argument>
			<description>
			Add a message for translation.
			</description>
		</method>
		<method name="get_message" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="src_message" type="String">
			</argument>
			<description>
			Return a message for translation.
			</description>
		</method>
		<method name="erase_message"  >
			<argument index="0" name="src_message" type="String">
			</argument>
			<description>
			Erase a message.
			</description>
		</method>
		<method name="get_message_list" qualifiers="const" >
			<return type="StringArray">
			</return>
			<description>
			Return all the messages (keys).
			</description>
		</method>
		<method name="get_message_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="TranslationServer" inherits="Object" category="Core">
	<brief_description>
	Server that manages all translations. Translations can be set to it and removed from it.
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_locale"  >
			<argument index="0" name="locale" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_locale" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="translate" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="arg0" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="add_translation"  >
			<argument index="0" name="arg0" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="remove_translation"  >
			<argument index="0" name="arg0" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="clear"  >
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Tree" inherits="Control" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="clear"  >
			<description>
			</description>
		</method>
		<method name="create_item"  >
			<return type="TreeItem">
			</return>
			<argument index="0" name="parent" type="TreeItem" default="Object()">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_root"  >
			<return type="TreeItem">
			</return>
			<description>
			</description>
		</method>
		<method name="set_column_min_width"  >
			<argument index="0" name="arg0" type="int">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_column_expand"  >
			<argument index="0" name="arg0" type="int">
			</argument>
			<argument index="1" name="arg1" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_column_width" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="arg0" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_hide_root"  >
			<argument index="0" name="arg0" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_next_selected"  >
			<return type="TreeItem">
			</return>
			<argument index="0" name="from" type="TreeItem">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_selected" qualifiers="const" >
			<return type="TreeItem">
			</return>
			<description>
			</description>
		</method>
		<method name="get_selected_column" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_pressed_button" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="set_select_mode"  >
			<argument index="0" name="mode" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_columns"  >
			<argument index="0" name="amount" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_columns" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_edited" qualifiers="const" >
			<return type="TreeItem">
			</return>
			<description>
			</description>
		</method>
		<method name="get_edited_column" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_custom_popup_rect" qualifiers="const" >
			<return type="Rect2">
			</return>
			<description>
			</description>
		</method>
		<method name="get_item_area_rect" qualifiers="const" >
			<return type="Rect2">
			</return>
			<argument index="0" name="item" type="TreeItem">
			</argument>
			<argument index="1" name="column" type="int" default="-1">
			</argument>
			<description>
			</description>
		</method>
		<method name="ensure_cursor_is_visible"  >
			<description>
			</description>
		</method>
		<method name="set_column_titles_visible"  >
			<argument index="0" name="visible" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="are_column_titles_visible" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_column_title"  >
			<argument index="0" name="column" type="int">
			</argument>
			<argument index="1" name="title" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_column_title" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="column" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_scroll" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<signals>
		<signal name="item_activated">
			<description>
			</description>
		</signal>
		<signal name="multi_selected">
			<argument index="0" name="item" type="Object">
			</argument>
			<argument index="1" name="column" type="int">
			</argument>
			<argument index="2" name="selected" type="bool">
			</argument>
			<description>
			</description>
		</signal>
		<signal name="custom_popup_edited">
			<argument index="0" name="arrow_clicked" type="bool">
			</argument>
			<description>
			</description>
		</signal>
		<signal name="item_collapsed">
			<argument index="0" name="item" type="Object">
			</argument>
			<description>
			</description>
		</signal>
		<signal name="item_edited">
			<description>
			</description>
		</signal>
		<signal name="item_selected">
			<description>
			</description>
		</signal>
		<signal name="cell_selected">
			<description>
			</description>
		</signal>
		<signal name="button_pressed">
			<argument index="0" name="item" type="Object">
			</argument>
			<argument index="1" name="column" type="int">
			</argument>
			<argument index="2" name="id" type="int">
			</argument>
			<description>
			</description>
		</signal>
	</signals>
	<constants>
		<constant name="SELECT_SINGLE" value="0">
		</constant>
		<constant name="SELECT_ROW" value="1">
		</constant>
		<constant name="SELECT_MULTI" value="2">
		</constant>
	</constants>
	<theme_items>
		<theme_item name="item_margin" type="int">
		</theme_item>
		<theme_item name="vseparation" type="int">
		</theme_item>
		<theme_item name="guide_width" type="int">
		</theme_item>
		<theme_item name="hseparation" type="int">
		</theme_item>
		<theme_item name="button_margin" type="int">
		</theme_item>
		<theme_item name="title_button_color" type="Color">
		</theme_item>
		<theme_item name="guide_color" type="Color">
		</theme_item>
		<theme_item name="cursor_color" type="Color">
		</theme_item>
		<theme_item name="selection_color" type="Color">
		</theme_item>
		<theme_item name="font_color_selected" type="Color">
		</theme_item>
		<theme_item name="font_color" type="Color">
		</theme_item>
		<theme_item name="arrow" type="Texture">
		</theme_item>
		<theme_item name="updown" type="Texture">
		</theme_item>
		<theme_item name="checked" type="Texture">
		</theme_item>
		<theme_item name="arrow_collapsed" type="Texture">
		</theme_item>
		<theme_item name="select_arrow" type="Texture">
		</theme_item>
		<theme_item name="unchecked" type="Texture">
		</theme_item>
		<theme_item name="title_button_font" type="Font">
		</theme_item>
		<theme_item name="font" type="Font">
		</theme_item>
		<theme_item name="title_button_normal" type="StyleBox">
		</theme_item>
		<theme_item name="cursor" type="StyleBox">
		</theme_item>
		<theme_item name="title_button_hover" type="StyleBox">
		</theme_item>
		<theme_item name="selected_focus" type="StyleBox">
		</theme_item>
		<theme_item name="bg_focus" type="StyleBox">
		</theme_item>
		<theme_item name="button_pressed" type="StyleBox">
		</theme_item>
		<theme_item name="cursor_unfocused" type="StyleBox">
		</theme_item>
		<theme_item name="selected" type="StyleBox">
		</theme_item>
		<theme_item name="bg" type="StyleBox">
		</theme_item>
		<theme_item name="title_button_pressed" type="StyleBox">
		</theme_item>
	</theme_items>
</class>
<class name="TreeItem" inherits="Object" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_cell_mode"  >
			<argument index="0" name="column" type="int">
			</argument>
			<argument index="1" name="mode" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_cell_mode" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="column" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_checked"  >
			<argument index="0" name="column" type="int">
			</argument>
			<argument index="1" name="checked" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_checked" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="column" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_text"  >
			<argument index="0" name="column" type="int">
			</argument>
			<argument index="1" name="text" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_text" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="column" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_icon"  >
			<argument index="0" name="column" type="int">
			</argument>
			<argument index="1" name="texture" type="Texture">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_icon" qualifiers="const" >
			<return type="Texture">
			</return>
			<argument index="0" name="column" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_icon_region"  >
			<argument index="0" name="column" type="int">
			</argument>
			<argument index="1" name="region" type="Rect2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_icon_region" qualifiers="const" >
			<return type="Rect2">
			</return>
			<argument index="0" name="column" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_icon_max_width"  >
			<argument index="0" name="column" type="int">
			</argument>
			<argument index="1" name="width" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_icon_max_width" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="column" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_range"  >
			<argument index="0" name="column" type="int">
			</argument>
			<argument index="1" name="value" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_range" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="column" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_range_config"  >
			<argument index="0" name="column" type="int">
			</argument>
			<argument index="1" name="min" type="float">
			</argument>
			<argument index="2" name="max" type="float">
			</argument>
			<argument index="3" name="step" type="float">
			</argument>
			<argument index="4" name="expr" type="bool" default="false">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_range_config"  >
			<return type="Dictionary">
			</return>
			<argument index="0" name="column" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_metadata"  >
			<argument index="0" name="column" type="int">
			</argument>
			<argument index="1" name="meta" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_metadata" qualifiers="const" >
			<argument index="0" name="column" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_custom_draw"  >
			<argument index="0" name="column" type="int">
			</argument>
			<argument index="1" name="object" type="Object">
			</argument>
			<argument index="2" name="callback" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_collapsed"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_collapsed"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="get_next"  >
			<return type="TreeItem">
			</return>
			<description>
			</description>
		</method>
		<method name="get_prev"  >
			<return type="TreeItem">
			</return>
			<description>
			</description>
		</method>
		<method name="get_parent"  >
			<return type="TreeItem">
			</return>
			<description>
			</description>
		</method>
		<method name="get_children"  >
			<return type="TreeItem">
			</return>
			<description>
			</description>
		</method>
		<method name="get_next_visible"  >
			<return type="TreeItem">
			</return>
			<description>
			</description>
		</method>
		<method name="get_prev_visible"  >
			<return type="TreeItem">
			</return>
			<description>
			</description>
		</method>
		<method name="remove_child"  >
			<argument index="0" name="child" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_selectable"  >
			<argument index="0" name="column" type="int">
			</argument>
			<argument index="1" name="selectable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_selectable" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="column" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_selected"  >
			<return type="bool">
			</return>
			<argument index="0" name="column" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="select"  >
			<argument index="0" name="column" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="deselect"  >
			<argument index="0" name="column" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_editable"  >
			<argument index="0" name="column" type="int">
			</argument>
			<argument index="1" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_editable"  >
			<return type="bool">
			</return>
			<argument index="0" name="column" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_custom_color"  >
			<argument index="0" name="column" type="int">
			</argument>
			<argument index="1" name="color" type="Color">
			</argument>
			<description>
			</description>
		</method>
		<method name="clear_custom_color"  >
			<argument index="0" name="column" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_custom_bg_color"  >
			<argument index="0" name="column" type="int">
			</argument>
			<argument index="1" name="color" type="Color">
			</argument>
			<description>
			</description>
		</method>
		<method name="clear_custom_bg_color"  >
			<argument index="0" name="column" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_custom_bg_color" qualifiers="const" >
			<return type="Color">
			</return>
			<argument index="0" name="column" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="add_button"  >
			<argument index="0" name="column" type="int">
			</argument>
			<argument index="1" name="button" type="Texture">
			</argument>
			<argument index="2" name="arg2" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_button_count" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="column" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_button" qualifiers="const" >
			<return type="Texture">
			</return>
			<argument index="0" name="column" type="int">
			</argument>
			<argument index="1" name="button_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="erase_button"  >
			<argument index="0" name="column" type="int">
			</argument>
			<argument index="1" name="button_idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_tooltip"  >
			<argument index="0" name="column" type="int">
			</argument>
			<argument index="1" name="tooltip" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_tooltip" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="column" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="move_to_top"  >
			<description>
			</description>
		</method>
		<method name="move_to_bottom"  >
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="CELL_MODE_STRING" value="0">
		</constant>
		<constant name="CELL_MODE_CHECK" value="1">
		</constant>
		<constant name="CELL_MODE_RANGE" value="2">
		</constant>
		<constant name="CELL_MODE_ICON" value="3">
		</constant>
		<constant name="CELL_MODE_CUSTOM" value="4">
		</constant>
	</constants>
</class>
<class name="Tween" inherits="Node" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="is_active" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_active"  >
			<argument index="0" name="active" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_repeat" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_repeat"  >
			<argument index="0" name="repeat" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_speed"  >
			<argument index="0" name="speed" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_speed" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_tween_process_mode"  >
			<argument index="0" name="mode" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_tween_process_mode" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="start"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="reset"  >
			<return type="bool">
			</return>
			<argument index="0" name="node" type="Object">
			</argument>
			<argument index="1" name="key" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="reset_all"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="stop"  >
			<return type="bool">
			</return>
			<argument index="0" name="node" type="Object">
			</argument>
			<argument index="1" name="key" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="stop_all"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="resume"  >
			<return type="bool">
			</return>
			<argument index="0" name="node" type="Object">
			</argument>
			<argument index="1" name="key" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="resume_all"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="remove"  >
			<return type="bool">
			</return>
			<argument index="0" name="node" type="Object">
			</argument>
			<argument index="1" name="key" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="remove_all"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="seek"  >
			<return type="bool">
			</return>
			<argument index="0" name="time" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="tell" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_runtime" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="interpolate_property"  >
			<return type="bool">
			</return>
			<argument index="0" name="node" type="Object">
			</argument>
			<argument index="1" name="property" type="String">
			</argument>
			<argument index="2" name="initial_val" type="var">
			</argument>
			<argument index="3" name="final_val" type="var">
			</argument>
			<argument index="4" name="times_in_sec" type="float">
			</argument>
			<argument index="5" name="trans_type" type="int">
			</argument>
			<argument index="6" name="ease_type" type="int">
			</argument>
			<argument index="7" name="delay" type="float" default="0">
			</argument>
			<description>
			</description>
		</method>
		<method name="interpolate_method"  >
			<return type="bool">
			</return>
			<argument index="0" name="node" type="Object">
			</argument>
			<argument index="1" name="method" type="String">
			</argument>
			<argument index="2" name="initial_val" type="var">
			</argument>
			<argument index="3" name="final_val" type="var">
			</argument>
			<argument index="4" name="times_in_sec" type="float">
			</argument>
			<argument index="5" name="trans_type" type="int">
			</argument>
			<argument index="6" name="ease_type" type="int">
			</argument>
			<argument index="7" name="delay" type="float" default="0">
			</argument>
			<description>
			</description>
		</method>
		<method name="interpolate_callback"  >
			<return type="bool">
			</return>
			<argument index="0" name="node" type="Object">
			</argument>
			<argument index="1" name="callback" type="String">
			</argument>
			<argument index="2" name="times_in_sec" type="float">
			</argument>
			<argument index="3" name="args" type="var" default="NULL">
			</argument>
			<description>
			</description>
		</method>
		<method name="follow_property"  >
			<return type="bool">
			</return>
			<argument index="0" name="node" type="Object">
			</argument>
			<argument index="1" name="property" type="String">
			</argument>
			<argument index="2" name="initial_val" type="var">
			</argument>
			<argument index="3" name="target" type="Object">
			</argument>
			<argument index="4" name="target_property" type="String">
			</argument>
			<argument index="5" name="times_in_sec" type="float">
			</argument>
			<argument index="6" name="trans_type" type="int">
			</argument>
			<argument index="7" name="ease_type" type="int">
			</argument>
			<argument index="8" name="delay" type="float" default="0">
			</argument>
			<description>
			</description>
		</method>
		<method name="follow_method"  >
			<return type="bool">
			</return>
			<argument index="0" name="node" type="Object">
			</argument>
			<argument index="1" name="method" type="String">
			</argument>
			<argument index="2" name="initial_val" type="var">
			</argument>
			<argument index="3" name="target" type="Object">
			</argument>
			<argument index="4" name="target_method" type="String">
			</argument>
			<argument index="5" name="times_in_sec" type="float">
			</argument>
			<argument index="6" name="trans_type" type="int">
			</argument>
			<argument index="7" name="ease_type" type="int">
			</argument>
			<argument index="8" name="delay" type="float" default="0">
			</argument>
			<description>
			</description>
		</method>
		<method name="targeting_property"  >
			<return type="bool">
			</return>
			<argument index="0" name="node" type="Object">
			</argument>
			<argument index="1" name="property" type="String">
			</argument>
			<argument index="2" name="initial" type="Object">
			</argument>
			<argument index="3" name="initial_val" type="String">
			</argument>
			<argument index="4" name="final_val" type="var">
			</argument>
			<argument index="5" name="times_in_sec" type="float">
			</argument>
			<argument index="6" name="trans_type" type="int">
			</argument>
			<argument index="7" name="ease_type" type="int">
			</argument>
			<argument index="8" name="delay" type="float" default="0">
			</argument>
			<description>
			</description>
		</method>
		<method name="targeting_method"  >
			<return type="bool">
			</return>
			<argument index="0" name="node" type="Object">
			</argument>
			<argument index="1" name="method" type="String">
			</argument>
			<argument index="2" name="initial" type="Object">
			</argument>
			<argument index="3" name="initial_method" type="String">
			</argument>
			<argument index="4" name="final_val" type="var">
			</argument>
			<argument index="5" name="times_in_sec" type="float">
			</argument>
			<argument index="6" name="trans_type" type="int">
			</argument>
			<argument index="7" name="ease_type" type="int">
			</argument>
			<argument index="8" name="delay" type="float" default="0">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<signals>
		<signal name="tween_complete">
			<argument index="0" name="node" type="Object">
			</argument>
			<argument index="1" name="key" type="String">
			</argument>
			<description>
			</description>
		</signal>
		<signal name="tween_step">
			<argument index="0" name="node" type="Object">
			</argument>
			<argument index="1" name="key" type="String">
			</argument>
			<argument index="2" name="elapsed" type="float">
			</argument>
			<argument index="3" name="value" type="Object">
			</argument>
			<description>
			</description>
		</signal>
		<signal name="tween_start">
			<argument index="0" name="node" type="Object">
			</argument>
			<argument index="1" name="key" type="String">
			</argument>
			<description>
			</description>
		</signal>
	</signals>
	<constants>
		<constant name="TRANS_LINEAR" value="0">
		</constant>
		<constant name="TRANS_SINE" value="1">
		</constant>
		<constant name="TRANS_QUINT" value="2">
		</constant>
		<constant name="TRANS_QUART" value="3">
		</constant>
		<constant name="TRANS_QUAD" value="4">
		</constant>
		<constant name="TRANS_EXPO" value="5">
		</constant>
		<constant name="TRANS_ELASTIC" value="6">
		</constant>
		<constant name="TRANS_CUBIC" value="7">
		</constant>
		<constant name="TRANS_CIRC" value="8">
		</constant>
		<constant name="TRANS_BOUNCE" value="9">
		</constant>
		<constant name="TRANS_BACK" value="10">
		</constant>
		<constant name="EASE_IN" value="0">
		</constant>
		<constant name="EASE_OUT" value="1">
		</constant>
		<constant name="EASE_IN_OUT" value="2">
		</constant>
		<constant name="EASE_OUT_IN" value="3">
		</constant>
	</constants>
</class>
<class name="UnshadedMaterial" inherits="Material" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_texture"  >
			<argument index="0" name="texture" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_texture" qualifiers="const" >
			<return type="Texture">
			</return>
			<description>
			</description>
		</method>
		<method name="set_use_alpha"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_using_alpha" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_use_color_array"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_using_color_array" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="VBoxContainer" inherits="BoxContainer" category="Core">
	<brief_description>
	Vertical box container.
	</brief_description>
	<description>
	Vertical box container. See [BoxContainer].
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
	<theme_items>
		<theme_item name="separation" type="int">
		</theme_item>
	</theme_items>
</class>
<class name="VButtonArray" inherits="ButtonArray" category="Core">
	<brief_description>
	Vertical button array.
	</brief_description>
	<description>
	Vertical button array. See [ButtonArray].
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
	<theme_items>
		<theme_item name="button_separator" type="int">
		</theme_item>
		<theme_item name="icon_separator" type="int">
		</theme_item>
		<theme_item name="font_color_selected" type="Color">
		</theme_item>
		<theme_item name="font_color" type="Color">
		</theme_item>
		<theme_item name="font_selected" type="Font">
		</theme_item>
		<theme_item name="font" type="Font">
		</theme_item>
		<theme_item name="hover" type="StyleBox">
		</theme_item>
		<theme_item name="focus" type="StyleBox">
		</theme_item>
		<theme_item name="selected" type="StyleBox">
		</theme_item>
		<theme_item name="normal" type="StyleBox">
		</theme_item>
	</theme_items>
</class>
<class name="VScrollBar" inherits="ScrollBar" category="Core">
	<brief_description>
	Vertical version of [ScrollBar], which goes from left (min) to right (max).
	</brief_description>
	<description>
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
	<theme_items>
		<theme_item name="increment_hilite" type="Texture">
		</theme_item>
		<theme_item name="decrement_hilite" type="Texture">
		</theme_item>
		<theme_item name="increment" type="Texture">
		</theme_item>
		<theme_item name="decrement" type="Texture">
		</theme_item>
		<theme_item name="grabber_hilite" type="StyleBox">
		</theme_item>
		<theme_item name="grabber" type="StyleBox">
		</theme_item>
		<theme_item name="scroll_focus" type="StyleBox">
		</theme_item>
		<theme_item name="scroll" type="StyleBox">
		</theme_item>
	</theme_items>
</class>
<class name="VSeparator" inherits="Separator" category="Core">
	<brief_description>
	Vertical version of [Separator].
	</brief_description>
	<description>
	Vertical version of [Separator]. It is used to separate objects horizontally, though (but it looks vertical!).
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
	<theme_items>
		<theme_item name="separation" type="int">
		</theme_item>
		<theme_item name="separator" type="StyleBox">
		</theme_item>
	</theme_items>
</class>
<class name="VSlider" inherits="Slider" category="Core">
	<brief_description>
	Vertical slider.
	</brief_description>
	<description>
	Vertical slider. See [Slider]. This one goes from left (min) to right (max).
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
	<theme_items>
		<theme_item name="tick" type="Texture">
		</theme_item>
		<theme_item name="grabber_hilite" type="Texture">
		</theme_item>
		<theme_item name="grabber" type="Texture">
		</theme_item>
		<theme_item name="grabber_hilite" type="StyleBox">
		</theme_item>
		<theme_item name="slider" type="StyleBox">
		</theme_item>
	</theme_items>
</class>
<class name="VSplitContainer" inherits="SplitContainer" category="Core">
	<brief_description>
	Vertical split container.
	</brief_description>
	<description>
	Vertical split container. See [SplitContainer]. This goes from left to right.
	</description>
	<methods>
	</methods>
	<constants>
	</constants>
	<theme_items>
		<theme_item name="autohide" type="int">
		</theme_item>
		<theme_item name="separation" type="int">
		</theme_item>
		<theme_item name="grabber" type="Texture">
		</theme_item>
		<theme_item name="bg" type="StyleBox">
		</theme_item>
	</theme_items>
</class>
<class name="Vector2" category="Built-In Types">
	<brief_description>
	Vector used for 2D Math.
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="angle_to"  >
			<return type="float">
			</return>
			<argument index="0" name="to" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="angle_to_point"  >
			<return type="float">
			</return>
			<argument index="0" name="to" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="atan2"  >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="cubic_interpolate"  >
			<return type="Vector2">
			</return>
			<argument index="0" name="b" type="Vector2">
			</argument>
			<argument index="1" name="pre_a" type="Vector2">
			</argument>
			<argument index="2" name="post_b" type="Vector2">
			</argument>
			<argument index="3" name="t" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="distance_squared_to"  >
			<return type="float">
			</return>
			<argument index="0" name="to" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="distance_to"  >
			<return type="float">
			</return>
			<argument index="0" name="to" type="Vector2">
			</argument>
			<description>
			Returns the distance to vector "b".
			</description>
		</method>
		<method name="dot"  >
			<return type="float">
			</return>
			<argument index="0" name="with" type="Vector2">
			</argument>
			<description>
			Returns the dot product with vector "b".
			</description>
		</method>
		<method name="floor"  >
			<return type="Vector2">
			</return>
			<description>
			Remove the fractional part of x and y.
			</description>
		</method>
		<method name="floorf"  >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="get_aspect"  >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="length"  >
			<return type="float">
			</return>
			<description>
			Returns the length of the vector.
			</description>
		</method>
		<method name="length_squared"  >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="linear_interpolate"  >
			<return type="Vector2">
			</return>
			<argument index="0" name="b" type="Vector2">
			</argument>
			<argument index="1" name="t" type="float">
			</argument>
			<description>
			Returns the result of the linear interpolation between this vector and "b", by amount "i".
			</description>
		</method>
		<method name="normalized"  >
			<return type="Vector2">
			</return>
			<description>
			Returns a normalized vector to unit length.
			</description>
		</method>
		<method name="reflect"  >
			<return type="float">
			</return>
			<argument index="0" name="vec" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="rotated"  >
			<return type="Vector2">
			</return>
			<argument index="0" name="phi" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="slide"  >
			<return type="float">
			</return>
			<argument index="0" name="vec" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="snapped"  >
			<return type="Vector2">
			</return>
			<argument index="0" name="by" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="tangent"  >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="Vector2"  >
			<argument index="0" name="x" type="float">
			</argument>
			<argument index="1" name="y" type="float">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<members>
		<member name="x" type="float">
		</member>
		<member name="y" type="float">
		</member>
		<member name="width" type="float">
		</member>
		<member name="height" type="float">
		</member>
	</members>
	<constants>
	</constants>
</class>
<class name="Vector2Array" category="Built-In Types">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="get"  >
			<return type="Vector2">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="push_back"  >
			<argument index="0" name="vector2" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="resize"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="vector2" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="size"  >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="Vector2Array"  >
			<argument index="0" name="from" type="Array">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Vector3" category="Built-In Types">
	<brief_description>
	Vector class, which performs basic 3D vector math operations.
	</brief_description>
	<description>
	Vector3 is one of the core classes of the engine, and includes several built-in helper functions to perform basic vecor math operations.
	</description>
	<methods>
		<method name="abs"  >
			<return type="Vector3">
			</return>
			<description>
			</description>
		</method>
		<method name="cross"  >
			<return type="Vector3">
			</return>
			<argument index="0" name="b" type="Vector3">
			</argument>
			<description>
			Return the cross product with b.
			</description>
		</method>
		<method name="cubic_interpolate"  >
			<return type="Vector3">
			</return>
			<argument index="0" name="b" type="Vector3">
			</argument>
			<argument index="1" name="pre_a" type="Vector3">
			</argument>
			<argument index="2" name="post_b" type="Vector3">
			</argument>
			<argument index="3" name="t" type="float">
			</argument>
			<description>
			Perform a cubic interpolation between vectors a,b,c,d (b is current), by the given amount (i).
			</description>
		</method>
		<method name="distance_squared_to"  >
			<return type="float">
			</return>
			<argument index="0" name="b" type="Vector3">
			</argument>
			<description>
			Return the squared distance (distance minus the last square root) to b.
			</description>
		</method>
		<method name="distance_to"  >
			<return type="float">
			</return>
			<argument index="0" name="b" type="Vector3">
			</argument>
			<description>
			Return the distance to b.
			</description>
		</method>
		<method name="dot"  >
			<return type="float">
			</return>
			<argument index="0" name="b" type="Vector3">
			</argument>
			<description>
			Return the dot product with b.
			</description>
		</method>
		<method name="inverse"  >
			<return type="Vector3">
			</return>
			<description>
			Returns the inverse of the vector. this is the same as Vector3( 1.0 / v.x, 1.0 / v.y, 1.0 / v.z )
			</description>
		</method>
		<method name="length"  >
			<return type="float">
			</return>
			<description>
			Return the length of the vector.
			</description>
		</method>
		<method name="length_squared"  >
			<return type="float">
			</return>
			<description>
			Return the length of the vector, without the square root step.
			</description>
		</method>
		<method name="linear_interpolate"  >
			<return type="Vector3">
			</return>
			<argument index="0" name="b" type="Vector3">
			</argument>
			<argument index="1" name="t" type="float">
			</argument>
			<description>
			Linearly interpolates the vector to a given one (b), by the given amount (i)
			</description>
		</method>
		<method name="max_axis"  >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="min_axis"  >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="normalized"  >
			<return type="Vector3">
			</return>
			<description>
			Return a copy of the normalized vector to unit length. This is the same as v / v.length()
			</description>
		</method>
		<method name="reflect"  >
			<return type="Vector3">
			</return>
			<argument index="0" name="by" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="rotated"  >
			<return type="Vector3">
			</return>
			<argument index="0" name="axis" type="Vector3">
			</argument>
			<argument index="1" name="phi" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="slide"  >
			<return type="Vector3">
			</return>
			<argument index="0" name="by" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="snapped"  >
			<return type="Vector3">
			</return>
			<argument index="0" name="by" type="float">
			</argument>
			<description>
			Return a copy of the vector, snapped to the lowest neared multiple.
			</description>
		</method>
		<method name="Vector3"  >
			<argument index="0" name="x" type="float">
			</argument>
			<argument index="1" name="y" type="float">
			</argument>
			<argument index="2" name="z" type="float">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<members>
		<member name="x" type="float">
		</member>
		<member name="y" type="float">
		</member>
		<member name="z" type="float">
		</member>
	</members>
	<constants>
		<constant name="AXIS_X" value="0">
		</constant>
		<constant name="AXIS_Y" value="1">
		</constant>
		<constant name="AXIS_Z" value="2">
		</constant>
	</constants>
</class>
<class name="Vector3Array" category="Built-In Types">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="get"  >
			<return type="Vector3">
			</return>
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="push_back"  >
			<argument index="0" name="vector3" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="resize"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="set"  >
			<argument index="0" name="idx" type="int">
			</argument>
			<argument index="1" name="vector3" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="size"  >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="Vector3Array"  >
			<argument index="0" name="from" type="Array">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="VehicleBody" inherits="PhysicsBody" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_mass"  >
			<argument index="0" name="mass" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_mass" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_friction"  >
			<argument index="0" name="friction" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_friction" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_engine_force"  >
			<argument index="0" name="engine_force" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_engine_force" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_brake"  >
			<argument index="0" name="brake" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_brake" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_steering"  >
			<argument index="0" name="steering" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_steering" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="VehicleWheel" inherits="Spatial" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_radius"  >
			<argument index="0" name="length" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_radius" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_suspension_rest_length"  >
			<argument index="0" name="length" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_suspension_rest_length" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_suspension_travel"  >
			<argument index="0" name="length" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_suspension_travel" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_suspension_stiffness"  >
			<argument index="0" name="length" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_suspension_stiffness" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_suspension_max_force"  >
			<argument index="0" name="length" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_suspension_max_force" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_damping_compression"  >
			<argument index="0" name="length" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_damping_compression" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_damping_relaxation"  >
			<argument index="0" name="length" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_damping_relaxation" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_use_as_traction"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_used_as_traction" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_use_as_steering"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_used_as_steering" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_friction_slip"  >
			<argument index="0" name="length" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_friction_slip" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="VideoPlayer" inherits="Control" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_stream"  >
			<argument index="0" name="stream" type="Stream">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_stream" qualifiers="const" >
			<return type="Stream">
			</return>
			<description>
			</description>
		</method>
		<method name="play"  >
			<description>
			</description>
		</method>
		<method name="stop"  >
			<description>
			</description>
		</method>
		<method name="is_playing" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_paused"  >
			<argument index="0" name="paused" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_paused" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_volume"  >
			<argument index="0" name="volume" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_volume" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_volume_db"  >
			<argument index="0" name="db" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_volume_db" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_stream_name" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="get_pos" qualifiers="const" >
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_autoplay"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="has_autoplay" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_expand"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="has_expand" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="VideoStream" inherits="Resource" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="get_pending_frame_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="pop_frame"  >
			<argument index="0" name="arg0" type="Object">
			</argument>
			<description>
			</description>
		</method>
		<method name="peek_frame" qualifiers="const" >
			<return type="Image">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="Viewport" inherits="Node" category="Core">
	<brief_description>
	Creates a sub-view into the screen.
	</brief_description>
	<description>
	A Viewport creates a different view into the screen, or a sub-view inside another viewport. Children 2D Nodes will display on it, and children Camera 3D nodes will renderon it too.[br]
	Optionally, a viewport can have it's own 2D or 3D world, so they don't share what they draw with other viewports.[br]
	If a viewport is a child of a [Control], it will automatically take up it's same rect and position, otherwise they must be set manually.[br]
	Viewports can also choose to be audio listeners, so they generate positional audio depending on a 2D or 3D camera child of it.[br]
	Also, viewports can be assigned to different screens in the situation while devices have multiple screens.[br]
	Finaly, viewports can also behave as render targets, in which case they will not be visible unless the associated texture is used to draw.
	</description>
	<methods>
		<method name="set_rect"  >
			<argument index="0" name="rect" type="Rect2">
			</argument>
			<description>
			Set the viewport rect. If the viewport is child of a control, it will use the same as the parent.
			</description>
		</method>
		<method name="get_rect" qualifiers="const" >
			<return type="Rect2">
			</return>
			<description>
			Return the viewport rect. If the viewport is child of a control, it will use the same as the parent, otherwise if the rect is empty, the viewport will use all the allowed space.
			</description>
		</method>
		<method name="find_world_2d" qualifiers="const" >
			<return type="World2D">
			</return>
			<description>
			</description>
		</method>
		<method name="set_world"  >
			<argument index="0" name="world" type="World">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_world" qualifiers="const" >
			<return type="World">
			</return>
			<description>
			</description>
		</method>
		<method name="find_world" qualifiers="const" >
			<return type="World">
			</return>
			<description>
			</description>
		</method>
		<method name="set_canvas_transform"  >
			<argument index="0" name="xform" type="Matrix32">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_canvas_transform" qualifiers="const" >
			<return type="Matrix32">
			</return>
			<description>
			</description>
		</method>
		<method name="set_global_canvas_transform"  >
			<argument index="0" name="xform" type="Matrix32">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_global_canvas_transform" qualifiers="const" >
			<return type="Matrix32">
			</return>
			<description>
			</description>
		</method>
		<method name="get_final_transform" qualifiers="const" >
			<return type="Matrix32">
			</return>
			<description>
			</description>
		</method>
		<method name="get_visible_rect" qualifiers="const" >
			<return type="Rect2">
			</return>
			<description>
			Return the final, visuble rect in global screen coordinates.
			</description>
		</method>
		<method name="set_transparent_background"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			Keep whathver the parent viewport has drawn
			</description>
		</method>
		<method name="has_transparent_background" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			If this viewport is a child of another viewport, keep the previously drawn background visible.
			</description>
		</method>
		<method name="set_size_override"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<argument index="1" name="size" type="Vector2" default="Vector2(-1,-1)">
			</argument>
			<argument index="2" name="margin" type="Vector2" default="Vector2(0,0)">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_size_override" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="is_size_override_enabled" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_size_override_stretch"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_size_override_stretch_enabled" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="queue_screen_capture"  >
			<description>
			</description>
		</method>
		<method name="get_screen_capture" qualifiers="const" >
			<return type="Image">
			</return>
			<description>
			</description>
		</method>
		<method name="set_as_render_target"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_set_as_render_target" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_render_target_vflip"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_render_target_vflip" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_render_target_filter"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_render_target_filter" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_render_target_gen_mipmaps"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_render_target_gen_mipmaps" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_render_target_update_mode"  >
			<argument index="0" name="mode" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_render_target_update_mode" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_render_target_texture" qualifiers="const" >
			<return type="RenderTargetTexture">
			</return>
			<description>
			</description>
		</method>
		<method name="set_physics_object_picking"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_physics_object_picking"  >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="get_viewport" qualifiers="const" >
			<return type="RID">
			</return>
			<description>
			Get the viewport RID from the visual server.
			</description>
		</method>
		<method name="input"  >
			<argument index="0" name="local_event" type="InputEvent">
			</argument>
			<description>
			</description>
		</method>
		<method name="unhandled_input"  >
			<argument index="0" name="local_event" type="InputEvent">
			</argument>
			<description>
			</description>
		</method>
		<method name="update_worlds"  >
			<description>
			</description>
		</method>
		<method name="set_use_own_world"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_using_own_world" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="get_camera" qualifiers="const" >
			<return type="Camera">
			</return>
			<description>
			</description>
		</method>
		<method name="set_as_audio_listener"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_audio_listener" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_as_audio_listener_2d"  >
			<argument index="0" name="enable" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_audio_listener_2d" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_render_target_to_screen_rect"  >
			<argument index="0" name="arg0" type="Rect2">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<signals>
		<signal name="size_changed">
			<description>
			</description>
		</signal>
	</signals>
	<constants>
		<constant name="RENDER_TARGET_UPDATE_DISABLED" value="0">
		</constant>
		<constant name="RENDER_TARGET_UPDATE_ONCE" value="1">
		</constant>
		<constant name="RENDER_TARGET_UPDATE_WHEN_VISIBLE" value="2">
		</constant>
		<constant name="RENDER_TARGET_UPDATE_ALWAYS" value="3">
		</constant>
	</constants>
</class>
<class name="ViewportSprite" inherits="Node2D" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_viewport_path"  >
			<argument index="0" name="path" type="NodePath">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_viewport_path" qualifiers="const" >
			<return type="NodePath">
			</return>
			<description>
			</description>
		</method>
		<method name="set_centered"  >
			<argument index="0" name="centered" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_centered" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="set_offset"  >
			<argument index="0" name="offset" type="Vector2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_offset" qualifiers="const" >
			<return type="Vector2">
			</return>
			<description>
			</description>
		</method>
		<method name="set_modulate"  >
			<argument index="0" name="modulate" type="Color">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_modulate" qualifiers="const" >
			<return type="Color">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="VisibilityEnabler" inherits="VisibilityNotifier" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_enabler"  >
			<argument index="0" name="enabler" type="int">
			</argument>
			<argument index="1" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_enabler_enabled" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="enabler" type="int">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="ENABLER_FREEZE_BODIES" value="1">
		</constant>
		<constant name="ENABLER_PAUSE_ANIMATIONS" value="0">
		</constant>
		<constant name="ENABLER_MAX" value="2">
		</constant>
	</constants>
</class>
<class name="VisibilityEnabler2D" inherits="VisibilityNotifier2D" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_enabler"  >
			<argument index="0" name="enabler" type="int">
			</argument>
			<argument index="1" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_enabler_enabled" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="enabler" type="int">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="ENABLER_FREEZE_BODIES" value="1">
		</constant>
		<constant name="ENABLER_PAUSE_ANIMATIONS" value="0">
		</constant>
		<constant name="ENABLER_MAX" value="2">
		</constant>
	</constants>
</class>
<class name="VisibilityNotifier" inherits="Spatial" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_aabb"  >
			<argument index="0" name="rect" type="AABB">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_aabb" qualifiers="const" >
			<return type="AABB">
			</return>
			<description>
			</description>
		</method>
		<method name="is_on_screen" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<signals>
		<signal name="enter_screen">
			<description>
			</description>
		</signal>
		<signal name="enter_camera">
			<argument index="0" name="camera" type="Object">
			</argument>
			<description>
			</description>
		</signal>
		<signal name="exit_screen">
			<description>
			</description>
		</signal>
		<signal name="exit_camera">
			<argument index="0" name="camera" type="Object">
			</argument>
			<description>
			</description>
		</signal>
	</signals>
	<constants>
	</constants>
</class>
<class name="VisibilityNotifier2D" inherits="Node2D" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_rect"  >
			<argument index="0" name="rect" type="Rect2">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_rect" qualifiers="const" >
			<return type="Rect2">
			</return>
			<description>
			</description>
		</method>
		<method name="is_on_screen" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<signals>
		<signal name="enter_screen">
			<description>
			</description>
		</signal>
		<signal name="enter_viewport">
			<argument index="0" name="viewport" type="Object">
			</argument>
			<description>
			</description>
		</signal>
		<signal name="exit_screen">
			<description>
			</description>
		</signal>
		<signal name="exit_viewport">
			<argument index="0" name="viewport" type="Object">
			</argument>
			<description>
			</description>
		</signal>
	</signals>
	<constants>
	</constants>
</class>
<class name="VisualInstance" inherits="Spatial" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_base"  >
			<argument index="0" name="base" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_layer_mask"  >
			<argument index="0" name="mask" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_layer_mask" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="VisualServer" inherits="Object" category="Core">
	<brief_description>
	Server for anything visible.
	</brief_description>
	<description>
	Server for anything visible. The visual server is the API backend for everything visible. The whole scene system mounts on it to display.[br]
	The visual server is completely opaque, the internals are entirely implementation specific and cannot be accessed.
	</description>
	<methods>
		<method name="texture_create"  >
			<return type="RID">
			</return>
			<description>
			</description>
		</method>
		<method name="texture_create_from_image"  >
			<return type="RID">
			</return>
			<argument index="0" name="arg0" type="Image">
			</argument>
			<argument index="1" name="arg1" type="int" default="7">
			</argument>
			<description>
			</description>
		</method>
		<method name="texture_set_flags"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="texture_get_flags" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="texture_get_width" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="texture_get_height" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="shader_create"  >
			<return type="RID">
			</return>
			<argument index="0" name="mode" type="int" default="0">
			</argument>
			<description>
			</description>
		</method>
		<method name="shader_set_mode"  >
			<argument index="0" name="shader" type="RID">
			</argument>
			<argument index="1" name="mode" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="material_create"  >
			<return type="RID">
			</return>
			<description>
			</description>
		</method>
		<method name="material_set_shader"  >
			<argument index="0" name="shader" type="RID">
			</argument>
			<argument index="1" name="arg1" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="material_get_shader" qualifiers="const" >
			<return type="RID">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="material_set_param"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="String">
			</argument>
			<argument index="2" name="arg2" type="var">
			</argument>
			<description>
			</description>
		</method>
		<method name="material_get_param" qualifiers="const" >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="material_set_flag"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<argument index="2" name="arg2" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="material_get_flag" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="material_set_blend_mode"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="material_get_blend_mode" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="material_set_line_width"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="material_get_line_width" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="mesh_create"  >
			<return type="RID">
			</return>
			<description>
			</description>
		</method>
		<method name="mesh_add_surface"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<argument index="2" name="arg2" type="Array">
			</argument>
			<argument index="3" name="arg3" type="Array">
			</argument>
			<argument index="4" name="arg4" type="bool" default="-1">
			</argument>
			<description>
			</description>
		</method>
		<method name="mesh_surface_set_material"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<argument index="2" name="arg2" type="RID">
			</argument>
			<argument index="3" name="arg3" type="bool" default="false">
			</argument>
			<description>
			</description>
		</method>
		<method name="mesh_surface_get_material" qualifiers="const" >
			<return type="RID">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="mesh_surface_get_array_len" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="mesh_surface_get_array_index_len" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="mesh_surface_get_format" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="mesh_surface_get_primitive_type" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="mesh_remove_surface"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="mesh_get_surface_count" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="multimesh_create"  >
			<return type="RID">
			</return>
			<description>
			</description>
		</method>
		<method name="multimesh_set_mesh"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="multimesh_set_aabb"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="AABB">
			</argument>
			<description>
			</description>
		</method>
		<method name="multimesh_instance_set_transform"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<argument index="2" name="arg2" type="Transform">
			</argument>
			<description>
			</description>
		</method>
		<method name="multimesh_instance_set_color"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<argument index="2" name="arg2" type="Color">
			</argument>
			<description>
			</description>
		</method>
		<method name="multimesh_get_mesh" qualifiers="const" >
			<return type="RID">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="multimesh_get_aabb" qualifiers="const" >
			<return type="AABB">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="AABB">
			</argument>
			<description>
			</description>
		</method>
		<method name="multimesh_instance_get_transform" qualifiers="const" >
			<return type="Transform">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="multimesh_instance_get_color" qualifiers="const" >
			<return type="Color">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="particles_create"  >
			<return type="RID">
			</return>
			<description>
			</description>
		</method>
		<method name="particles_set_amount"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="particles_get_amount" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="particles_set_emitting"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="particles_is_emitting" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="particles_set_visibility_aabb"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="AABB">
			</argument>
			<description>
			</description>
		</method>
		<method name="particles_get_visibility_aabb" qualifiers="const" >
			<return type="AABB">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="particles_set_variable"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<argument index="2" name="arg2" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="particles_get_variable" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="particles_set_randomness"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<argument index="2" name="arg2" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="particles_get_randomness" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="particles_set_color_phases"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="particles_get_color_phases" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="particles_set_color_phase_pos"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<argument index="2" name="arg2" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="particles_get_color_phase_pos" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="particles_set_color_phase_color"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<argument index="2" name="arg2" type="Color">
			</argument>
			<description>
			</description>
		</method>
		<method name="particles_get_color_phase_color" qualifiers="const" >
			<return type="Color">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="particles_set_attractors"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="particles_get_attractors" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="particles_set_attractor_pos"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<argument index="2" name="arg2" type="Vector3">
			</argument>
			<description>
			</description>
		</method>
		<method name="particles_get_attractor_pos" qualifiers="const" >
			<return type="Vector3">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="particles_set_attractor_strength"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<argument index="2" name="arg2" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="particles_get_attractor_strength" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="particles_set_material"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="RID">
			</argument>
			<argument index="2" name="arg2" type="bool" default="false">
			</argument>
			<description>
			</description>
		</method>
		<method name="particles_set_height_from_velocity"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="particles_has_height_from_velocity" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="light_create"  >
			<return type="RID">
			</return>
			<argument index="0" name="arg0" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="light_get_type" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="light_set_color"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<argument index="2" name="arg2" type="Color">
			</argument>
			<description>
			</description>
		</method>
		<method name="light_get_color" qualifiers="const" >
			<return type="Color">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="light_set_shadow"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="light_has_shadow" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="light_set_volumetric"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="light_is_volumetric" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="light_set_projector"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="light_get_projector" qualifiers="const" >
			<return type="RID">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="light_set_var"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<argument index="2" name="arg2" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="light_get_var" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="skeleton_create"  >
			<return type="RID">
			</return>
			<description>
			</description>
		</method>
		<method name="skeleton_resize"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="skeleton_get_bone_count" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="skeleton_bone_set_transform"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<argument index="2" name="arg2" type="Transform">
			</argument>
			<description>
			</description>
		</method>
		<method name="skeleton_bone_get_transform"  >
			<return type="Transform">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="room_create"  >
			<return type="RID">
			</return>
			<description>
			</description>
		</method>
		<method name="room_set_bounds"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="Dictionary">
			</argument>
			<description>
			</description>
		</method>
		<method name="room_get_bounds" qualifiers="const" >
			<return type="Dictionary">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="portal_create"  >
			<return type="RID">
			</return>
			<description>
			</description>
		</method>
		<method name="portal_set_shape"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="Vector2Array">
			</argument>
			<description>
			</description>
		</method>
		<method name="portal_get_shape" qualifiers="const" >
			<return type="Vector2Array">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="portal_set_enabled"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="portal_is_enabled" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="portal_set_disable_distance"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="portal_get_disable_distance" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="portal_set_disabled_color"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="Color">
			</argument>
			<description>
			</description>
		</method>
		<method name="portal_get_disabled_color" qualifiers="const" >
			<return type="Color">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="camera_create"  >
			<return type="RID">
			</return>
			<description>
			</description>
		</method>
		<method name="camera_set_perspective"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="float">
			</argument>
			<argument index="2" name="arg2" type="float">
			</argument>
			<argument index="3" name="arg3" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="camera_set_orthogonal"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="float">
			</argument>
			<argument index="2" name="arg2" type="float">
			</argument>
			<argument index="3" name="arg3" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="camera_set_transform"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="Transform">
			</argument>
			<description>
			</description>
		</method>
		<method name="viewport_create"  >
			<return type="RID">
			</return>
			<description>
			</description>
		</method>
		<method name="viewport_set_rect"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="Rect2">
			</argument>
			<description>
			</description>
		</method>
		<method name="viewport_get_rect" qualifiers="const" >
			<return type="Rect2">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="viewport_attach_camera"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="RID" default="RID()">
			</argument>
			<description>
			</description>
		</method>
		<method name="viewport_get_attached_camera" qualifiers="const" >
			<return type="RID">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="viewport_get_scenario" qualifiers="const" >
			<return type="RID">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="viewport_attach_canvas"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="viewport_remove_canvas"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="viewport_set_global_canvas_transform"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="Matrix32">
			</argument>
			<description>
			</description>
		</method>
		<method name="scenario_create"  >
			<return type="RID">
			</return>
			<description>
			</description>
		</method>
		<method name="scenario_set_debug"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="instance_create"  >
			<return type="RID">
			</return>
			<description>
			</description>
		</method>
		<method name="instance_get_base" qualifiers="const" >
			<return type="RID">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="instance_get_base_aabb" qualifiers="const" >
			<return type="RID">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="instance_set_transform"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="Transform">
			</argument>
			<description>
			</description>
		</method>
		<method name="instance_get_transform" qualifiers="const" >
			<return type="Transform">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="instance_attach_object_instance_ID"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="instance_get_object_instance_ID" qualifiers="const" >
			<return type="int">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="instance_attach_skeleton"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="instance_get_skeleton" qualifiers="const" >
			<return type="RID">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="instance_set_room"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="instance_get_room" qualifiers="const" >
			<return type="RID">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="instance_set_exterior"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="instance_is_exterior" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="instances_cull_aabb" qualifiers="const" >
			<return type="Array">
			</return>
			<argument index="0" name="arg0" type="AABB">
			</argument>
			<argument index="1" name="arg1" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="instances_cull_ray" qualifiers="const" >
			<return type="Array">
			</return>
			<argument index="0" name="arg0" type="Vector3">
			</argument>
			<argument index="1" name="arg1" type="Vector3">
			</argument>
			<argument index="2" name="arg2" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="instances_cull_convex" qualifiers="const" >
			<return type="Array">
			</return>
			<argument index="0" name="arg0" type="Array">
			</argument>
			<argument index="1" name="arg1" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="instance_geometry_override_material_param" qualifiers="const" >
			<return type="RID">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="instance_geometry_get_material_param" qualifiers="const" >
			<return type="RID">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_test_cube"  >
			<return type="RID">
			</return>
			<description>
			</description>
		</method>
		<method name="canvas_create"  >
			<return type="RID">
			</return>
			<description>
			</description>
		</method>
		<method name="canvas_item_create"  >
			<return type="RID">
			</return>
			<description>
			</description>
		</method>
		<method name="canvas_item_set_parent"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="canvas_item_get_parent" qualifiers="const" >
			<return type="RID">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="canvas_item_set_transform"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="Matrix32">
			</argument>
			<description>
			</description>
		</method>
		<method name="canvas_item_set_custom_rect"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="bool">
			</argument>
			<argument index="2" name="arg2" type="Rect2">
			</argument>
			<description>
			</description>
		</method>
		<method name="canvas_item_set_clip"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="canvas_item_set_opacity"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="canvas_item_get_opacity" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="canvas_item_set_self_opacity"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="canvas_item_get_self_opacity" qualifiers="const" >
			<return type="float">
			</return>
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="canvas_item_add_line"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="Vector2">
			</argument>
			<argument index="2" name="arg2" type="Vector2">
			</argument>
			<argument index="3" name="arg3" type="Color">
			</argument>
			<argument index="4" name="arg4" type="float" default="1">
			</argument>
			<description>
			</description>
		</method>
		<method name="canvas_item_add_rect"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="Rect2">
			</argument>
			<argument index="2" name="arg2" type="Color">
			</argument>
			<description>
			</description>
		</method>
		<method name="canvas_item_add_texture_rect"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="Rect2">
			</argument>
			<argument index="2" name="arg2" type="RID">
			</argument>
			<argument index="3" name="arg3" type="bool">
			</argument>
			<argument index="4" name="arg4" type="Color" default="Color(1,1,1,1)">
			</argument>
			<description>
			</description>
		</method>
		<method name="canvas_item_add_texture_rect_region"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="Rect2">
			</argument>
			<argument index="2" name="arg2" type="RID">
			</argument>
			<argument index="3" name="arg3" type="Rect2">
			</argument>
			<argument index="4" name="arg4" type="Color" default="Color(1,1,1,1)">
			</argument>
			<description>
			</description>
		</method>
		<method name="canvas_item_add_style_box"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="Rect2">
			</argument>
			<argument index="2" name="arg2" type="RID">
			</argument>
			<argument index="3" name="arg3" type="RealArray">
			</argument>
			<argument index="4" name="arg4" type="Color" default="Color(1,1,1,1)">
			</argument>
			<description>
			</description>
		</method>
		<method name="canvas_item_add_circle"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="Vector2">
			</argument>
			<argument index="2" name="arg2" type="float">
			</argument>
			<argument index="3" name="arg3" type="Color">
			</argument>
			<description>
			</description>
		</method>
		<method name="viewport_set_canvas_transform"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="RID">
			</argument>
			<argument index="2" name="arg2" type="Matrix32">
			</argument>
			<description>
			</description>
		</method>
		<method name="canvas_item_clear"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="canvas_item_raise"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="cursor_set_rotation"  >
			<argument index="0" name="arg0" type="float">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="cursor_set_texture"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="Vector2">
			</argument>
			<argument index="2" name="arg2" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="cursor_set_visible"  >
			<argument index="0" name="arg0" type="bool">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="cursor_set_pos"  >
			<argument index="0" name="arg0" type="Vector2">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="black_bars_set_margins"  >
			<argument index="0" name="left" type="int">
			</argument>
			<argument index="1" name="top" type="int">
			</argument>
			<argument index="2" name="right" type="int">
			</argument>
			<argument index="3" name="bottom" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="black_bars_set_images"  >
			<argument index="0" name="left" type="RID">
			</argument>
			<argument index="1" name="top" type="RID">
			</argument>
			<argument index="2" name="right" type="RID">
			</argument>
			<argument index="3" name="bottom" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="make_sphere_mesh"  >
			<return type="RID">
			</return>
			<argument index="0" name="arg0" type="int">
			</argument>
			<argument index="1" name="arg1" type="int">
			</argument>
			<argument index="2" name="arg2" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="mesh_add_surface_from_planes"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<argument index="1" name="arg1" type="Array">
			</argument>
			<description>
			</description>
		</method>
		<method name="draw"  >
			<description>
			</description>
		</method>
		<method name="flush"  >
			<description>
			</description>
		</method>
		<method name="free"  >
			<argument index="0" name="arg0" type="RID">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_default_clear_color"  >
			<argument index="0" name="arg0" type="Color">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_render_info"  >
			<return type="int">
			</return>
			<argument index="0" name="arg0" type="int">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="NO_INDEX_ARRAY" value="-1">
		</constant>
		<constant name="CUSTOM_ARRAY_SIZE" value="8">
		</constant>
		<constant name="ARRAY_WEIGHTS_SIZE" value="4">
		</constant>
		<constant name="MAX_PARTICLE_COLOR_PHASES" value="4">
		</constant>
		<constant name="MAX_PARTICLE_ATTRACTORS" value="4">
		</constant>
		<constant name="MAX_CURSORS" value="8">
		</constant>
		<constant name="TEXTURE_FLAG_MIPMAPS" value="1">
		</constant>
		<constant name="TEXTURE_FLAG_REPEAT" value="2">
		</constant>
		<constant name="TEXTURE_FLAG_FILTER" value="4">
		</constant>
		<constant name="TEXTURE_FLAG_CUBEMAP" value="2048">
		</constant>
		<constant name="TEXTURE_FLAGS_DEFAULT" value="7">
		</constant>
		<constant name="CUBEMAP_LEFT" value="0">
		</constant>
		<constant name="CUBEMAP_RIGHT" value="1">
		</constant>
		<constant name="CUBEMAP_BOTTOM" value="2">
		</constant>
		<constant name="CUBEMAP_TOP" value="3">
		</constant>
		<constant name="CUBEMAP_FRONT" value="4">
		</constant>
		<constant name="CUBEMAP_BACK" value="5">
		</constant>
		<constant name="SHADER_MATERIAL" value="0">
		</constant>
		<constant name="SHADER_POST_PROCESS" value="2">
		</constant>
		<constant name="MATERIAL_FLAG_VISIBLE" value="0">
		</constant>
		<constant name="MATERIAL_FLAG_DOUBLE_SIDED" value="1">
		</constant>
		<constant name="MATERIAL_FLAG_INVERT_FACES" value="2">
		</constant>
		<constant name="MATERIAL_FLAG_UNSHADED" value="3">
		</constant>
		<constant name="MATERIAL_FLAG_ONTOP" value="4">
		</constant>
		<constant name="MATERIAL_FLAG_MAX" value="7">
		</constant>
		<constant name="MATERIAL_BLEND_MODE_MIX" value="0">
		</constant>
		<constant name="MATERIAL_BLEND_MODE_ADD" value="1">
		</constant>
		<constant name="MATERIAL_BLEND_MODE_SUB" value="2">
		</constant>
		<constant name="MATERIAL_BLEND_MODE_MUL" value="3">
		</constant>
		<constant name="FIXED_MATERIAL_PARAM_DIFFUSE" value="0">
		</constant>
		<constant name="FIXED_MATERIAL_PARAM_DETAIL" value="1">
		</constant>
		<constant name="FIXED_MATERIAL_PARAM_SPECULAR" value="2">
		</constant>
		<constant name="FIXED_MATERIAL_PARAM_EMISSION" value="3">
		</constant>
		<constant name="FIXED_MATERIAL_PARAM_SPECULAR_EXP" value="4">
		</constant>
		<constant name="FIXED_MATERIAL_PARAM_GLOW" value="5">
		</constant>
		<constant name="FIXED_MATERIAL_PARAM_NORMAL" value="6">
		</constant>
		<constant name="FIXED_MATERIAL_PARAM_SHADE_PARAM" value="7">
		</constant>
		<constant name="FIXED_MATERIAL_PARAM_MAX" value="8">
		</constant>
		<constant name="FIXED_MATERIAL_TEXCOORD_SPHERE" value="3">
		</constant>
		<constant name="FIXED_MATERIAL_TEXCOORD_UV" value="0">
		</constant>
		<constant name="FIXED_MATERIAL_TEXCOORD_UV_TRANSFORM" value="1">
		</constant>
		<constant name="FIXED_MATERIAL_TEXCOORD_UV2" value="2">
		</constant>
		<constant name="ARRAY_VERTEX" value="0">
		</constant>
		<constant name="ARRAY_NORMAL" value="1">
		</constant>
		<constant name="ARRAY_TANGENT" value="2">
		</constant>
		<constant name="ARRAY_COLOR" value="3">
		</constant>
		<constant name="ARRAY_TEX_UV" value="4">
		</constant>
		<constant name="ARRAY_BONES" value="6">
		</constant>
		<constant name="ARRAY_WEIGHTS" value="7">
		</constant>
		<constant name="ARRAY_INDEX" value="8">
		</constant>
		<constant name="ARRAY_MAX" value="9">
		</constant>
		<constant name="ARRAY_FORMAT_VERTEX" value="1">
		</constant>
		<constant name="ARRAY_FORMAT_NORMAL" value="2">
		</constant>
		<constant name="ARRAY_FORMAT_TANGENT" value="4">
		</constant>
		<constant name="ARRAY_FORMAT_COLOR" value="8">
		</constant>
		<constant name="ARRAY_FORMAT_TEX_UV" value="16">
		</constant>
		<constant name="ARRAY_FORMAT_BONES" value="64">
		</constant>
		<constant name="ARRAY_FORMAT_WEIGHTS" value="128">
		</constant>
		<constant name="ARRAY_FORMAT_INDEX" value="256">
		</constant>
		<constant name="PRIMITIVE_POINTS" value="0">
		</constant>
		<constant name="PRIMITIVE_LINES" value="1">
		</constant>
		<constant name="PRIMITIVE_LINE_STRIP" value="2">
		</constant>
		<constant name="PRIMITIVE_LINE_LOOP" value="3">
		</constant>
		<constant name="PRIMITIVE_TRIANGLES" value="4">
		</constant>
		<constant name="PRIMITIVE_TRIANGLE_STRIP" value="5">
		</constant>
		<constant name="PRIMITIVE_TRIANGLE_FAN" value="6">
		</constant>
		<constant name="PRIMITIVE_MAX" value="7">
		</constant>
		<constant name="PARTICLE_LIFETIME" value="0">
		</constant>
		<constant name="PARTICLE_SPREAD" value="1">
		</constant>
		<constant name="PARTICLE_GRAVITY" value="2">
		</constant>
		<constant name="PARTICLE_LINEAR_VELOCITY" value="3">
		</constant>
		<constant name="PARTICLE_ANGULAR_VELOCITY" value="4">
		</constant>
		<constant name="PARTICLE_LINEAR_ACCELERATION" value="5">
		</constant>
		<constant name="PARTICLE_RADIAL_ACCELERATION" value="6">
		</constant>
		<constant name="PARTICLE_TANGENTIAL_ACCELERATION" value="7">
		</constant>
		<constant name="PARTICLE_INITIAL_SIZE" value="9">
		</constant>
		<constant name="PARTICLE_FINAL_SIZE" value="10">
		</constant>
		<constant name="PARTICLE_INITIAL_ANGLE" value="11">
		</constant>
		<constant name="PARTICLE_HEIGHT" value="12">
		</constant>
		<constant name="PARTICLE_HEIGHT_SPEED_SCALE" value="13">
		</constant>
		<constant name="PARTICLE_VAR_MAX" value="14">
		</constant>
		<constant name="LIGHT_DIRECTIONAL" value="0">
		</constant>
		<constant name="LIGHT_OMNI" value="1">
		</constant>
		<constant name="LIGHT_SPOT" value="2">
		</constant>
		<constant name="LIGHT_COLOR_DIFFUSE" value="0">
		</constant>
		<constant name="LIGHT_COLOR_SPECULAR" value="1">
		</constant>
		<constant name="LIGHT_PARAM_SPOT_ATTENUATION" value="0">
		</constant>
		<constant name="LIGHT_PARAM_SPOT_ANGLE" value="1">
		</constant>
		<constant name="LIGHT_PARAM_RADIUS" value="2">
		</constant>
		<constant name="LIGHT_PARAM_ENERGY" value="3">
		</constant>
		<constant name="LIGHT_PARAM_ATTENUATION" value="4">
		</constant>
		<constant name="LIGHT_PARAM_MAX" value="10">
		</constant>
		<constant name="SCENARIO_DEBUG_DISABLED" value="0">
		</constant>
		<constant name="SCENARIO_DEBUG_WIREFRAME" value="1">
		</constant>
		<constant name="SCENARIO_DEBUG_OVERDRAW" value="2">
		</constant>
		<constant name="INSTANCE_MESH" value="1">
		</constant>
		<constant name="INSTANCE_MULTIMESH" value="2">
		</constant>
		<constant name="INSTANCE_PARTICLES" value="4">
		</constant>
		<constant name="INSTANCE_LIGHT" value="5">
		</constant>
		<constant name="INSTANCE_ROOM" value="6">
		</constant>
		<constant name="INSTANCE_PORTAL" value="7">
		</constant>
		<constant name="INSTANCE_GEOMETRY_MASK" value="30">
		</constant>
		<constant name="INFO_OBJECTS_IN_FRAME" value="0">
		</constant>
		<constant name="INFO_VERTICES_IN_FRAME" value="1">
		</constant>
		<constant name="INFO_MATERIAL_CHANGES_IN_FRAME" value="2">
		</constant>
		<constant name="INFO_SHADER_CHANGES_IN_FRAME" value="3">
		</constant>
		<constant name="INFO_SURFACE_CHANGES_IN_FRAME" value="4">
		</constant>
		<constant name="INFO_DRAW_CALLS_IN_FRAME" value="5">
		</constant>
		<constant name="INFO_USAGE_VIDEO_MEM_TOTAL" value="6">
		</constant>
		<constant name="INFO_VIDEO_MEM_USED" value="7">
		</constant>
		<constant name="INFO_TEXTURE_MEM_USED" value="8">
		</constant>
		<constant name="INFO_VERTEX_MEM_USED" value="9">
		</constant>
	</constants>
</class>
<class name="WindowDialog" inherits="Popup" category="Core">
	<brief_description>
	Base class for window dialogs.
	</brief_description>
	<description>
	Windowdialog is the base class for all window-based dialogs. It's a by-default toplevel [Control] that draws a window decoration and allows motion and resizing.
	</description>
	<methods>
		<method name="set_title"  >
			<argument index="0" name="title" type="String">
			</argument>
			<description>
			Set the title of the window.
			</description>
		</method>
		<method name="get_title" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			Return the title of the window.
			</description>
		</method>
		<method name="get_close_button"  >
			<return type="TextureButton">
			</return>
			<description>
			Return the close [TextureButton].
			</description>
		</method>
	</methods>
	<constants>
	</constants>
	<theme_items>
		<theme_item name="close_h_ofs" type="int">
		</theme_item>
		<theme_item name="titlebar_height" type="int">
		</theme_item>
		<theme_item name="close_v_ofs" type="int">
		</theme_item>
		<theme_item name="title_height" type="int">
		</theme_item>
		<theme_item name="title_color" type="Color">
		</theme_item>
		<theme_item name="close_hilite" type="Texture">
		</theme_item>
		<theme_item name="close" type="Texture">
		</theme_item>
		<theme_item name="title_font" type="Font">
		</theme_item>
		<theme_item name="panel" type="StyleBox">
		</theme_item>
	</theme_items>
</class>
<class name="World" inherits="Resource" category="Core">
	<brief_description>
	Class that has everything pertaining to a world.
	</brief_description>
	<description>
	Class that has everything pertaining to a world. A physics space, a visual scenario and a sound space. Spatial nodes register their resources into the current world.
	</description>
	<methods>
		<method name="get_space" qualifiers="const" >
			<return type="RID">
			</return>
			<description>
			</description>
		</method>
		<method name="get_scenario" qualifiers="const" >
			<return type="RID">
			</return>
			<description>
			</description>
		</method>
		<method name="get_sound_space" qualifiers="const" >
			<return type="RID">
			</return>
			<description>
			</description>
		</method>
		<method name="set_environment"  >
			<argument index="0" name="env" type="Environment">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_environment" qualifiers="const" >
			<return type="Environment">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="World2D" inherits="Resource" category="Core">
	<brief_description>
	Class that has everything pertaining to a 2D world.
	</brief_description>
	<description>
	Class that has everything pertaining to a 2D world. A physics space, a visual scenario and a sound space. 2D nodes register their resources into the current 2D world.
	</description>
	<methods>
		<method name="get_canvas"  >
			<return type="RID">
			</return>
			<description>
			</description>
		</method>
		<method name="get_space"  >
			<return type="RID">
			</return>
			<description>
			</description>
		</method>
		<method name="get_sound_space"  >
			<return type="RID">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="WorldEnvironment" inherits="Spatial" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_environment"  >
			<argument index="0" name="env" type="Environment">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_environment" qualifiers="const" >
			<return type="Environment">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="XMLParser" inherits="Reference" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="read"  >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_node_type"  >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_node_name" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="get_node_data" qualifiers="const" >
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="get_node_offset" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_attribute_count" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="get_attribute_name" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="arg0" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_attribute_value" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="arg0" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="has_attribute" qualifiers="const" >
			<return type="bool">
			</return>
			<argument index="0" name="arg0" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_named_attribute_value" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="arg0" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="get_named_attribute_value_safe" qualifiers="const" >
			<return type="String">
			</return>
			<argument index="0" name="arg0" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_empty" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="get_current_line" qualifiers="const" >
			<return type="int">
			</return>
			<description>
			</description>
		</method>
		<method name="skip_section"  >
			<description>
			</description>
		</method>
		<method name="seek"  >
			<return type="int">
			</return>
			<argument index="0" name="arg0" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="open"  >
			<return type="int">
			</return>
			<argument index="0" name="file" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="open_buffer"  >
			<return type="int">
			</return>
			<argument index="0" name="buffer" type="RawArray">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
		<constant name="NODE_NONE" value="0">
		</constant>
		<constant name="NODE_ELEMENT" value="1">
		</constant>
		<constant name="NODE_ELEMENT_END" value="2">
		</constant>
		<constant name="NODE_TEXT" value="3">
		</constant>
		<constant name="NODE_COMMENT" value="4">
		</constant>
		<constant name="NODE_CDATA" value="5">
		</constant>
		<constant name="NODE_UNKNOWN" value="6">
		</constant>
	</constants>
</class>
<class name="YSort" inherits="Node2D" category="Core">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="set_sort_enabled"  >
			<argument index="0" name="enabled" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="is_sort_enabled" qualifiers="const" >
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="bool" category="Built-In Types">
	<brief_description>
	Boolean built-in type
	</brief_description>
	<description>
	Boolean built-in type.
	</description>
	<methods>
		<method name="bool"  >
			<argument index="0" name="from" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="bool"  >
			<argument index="0" name="from" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="bool"  >
			<argument index="0" name="from" type="String">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="float" category="Built-In Types">
	<brief_description>
	</brief_description>
	<description>
	</description>
	<methods>
		<method name="float"  >
			<argument index="0" name="from" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="float"  >
			<argument index="0" name="from" type="int">
			</argument>
			<description>
			</description>
		</method>
		<method name="float"  >
			<argument index="0" name="from" type="String">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
<class name="int" category="Built-In Types">
	<brief_description>
	Integer built-in type.
	</brief_description>
	<description>
	Integer built-in type.
	</description>
	<methods>
		<method name="int"  >
			<argument index="0" name="from" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="int"  >
			<argument index="0" name="from" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="int"  >
			<argument index="0" name="from" type="String">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
</doc>
