diff options
Diffstat (limited to 'doc/classes')
140 files changed, 3671 insertions, 2069 deletions
diff --git a/doc/classes/@GlobalScope.xml b/doc/classes/@GlobalScope.xml index 7e9da01275..e210fa8808 100644 --- a/doc/classes/@GlobalScope.xml +++ b/doc/classes/@GlobalScope.xml @@ -652,6 +652,31 @@ Converts a 2D point expressed in the polar coordinate system (a distance from the origin [code]r[/code] and an angle [code]th[/code]) to the cartesian coordinate system (X and Y axis). </description> </method> + <method name="posmod"> + <return type="int"> + </return> + <argument index="0" name="x" type="int"> + </argument> + <argument index="1" name="y" type="int"> + </argument> + <description> + Returns the integer modulus of [code]x/y[/code] that wraps equally in positive and negative. + [codeblock] + for i in range(-3, 4): + print("%2d %2d %2d" % [i, i % 3, posmod(i, 3)]) + [/codeblock] + Produces: + [codeblock] + -3 0 0 + -2 -2 1 + -1 -1 2 + 0 0 0 + 1 1 1 + 2 2 2 + 3 0 0 + [/codeblock] + </description> + </method> <method name="pow"> <return type="float"> </return> @@ -804,10 +829,7 @@ <method name="randomize"> <description> Randomizes the seed (or the internal state) of the random number generator. Current implementation reseeds using a number based on time. - [codeblock] - func _ready(): - randomize() - [/codeblock] + [b]Note:[/b] This method is called automatically when the project is run. If you need to fix the seed to have reproducible results, use [method seed] to initialize the random number generator. </description> </method> <method name="range_lerp"> @@ -1308,730 +1330,730 @@ <constant name="SPKEY" value="16777216"> Keycodes with this bit applied are non-printable. </constant> - <constant name="KEY_ESCAPE" value="16777217" enum="KeyList"> + <constant name="KEY_ESCAPE" value="16777217" enum="Key"> Escape key. </constant> - <constant name="KEY_TAB" value="16777218" enum="KeyList"> + <constant name="KEY_TAB" value="16777218" enum="Key"> Tab key. </constant> - <constant name="KEY_BACKTAB" value="16777219" enum="KeyList"> + <constant name="KEY_BACKTAB" value="16777219" enum="Key"> Shift + Tab key. </constant> - <constant name="KEY_BACKSPACE" value="16777220" enum="KeyList"> + <constant name="KEY_BACKSPACE" value="16777220" enum="Key"> Backspace key. </constant> - <constant name="KEY_ENTER" value="16777221" enum="KeyList"> + <constant name="KEY_ENTER" value="16777221" enum="Key"> Return key (on the main keyboard). </constant> - <constant name="KEY_KP_ENTER" value="16777222" enum="KeyList"> + <constant name="KEY_KP_ENTER" value="16777222" enum="Key"> Enter key on the numeric keypad. </constant> - <constant name="KEY_INSERT" value="16777223" enum="KeyList"> + <constant name="KEY_INSERT" value="16777223" enum="Key"> Insert key. </constant> - <constant name="KEY_DELETE" value="16777224" enum="KeyList"> + <constant name="KEY_DELETE" value="16777224" enum="Key"> Delete key. </constant> - <constant name="KEY_PAUSE" value="16777225" enum="KeyList"> + <constant name="KEY_PAUSE" value="16777225" enum="Key"> Pause key. </constant> - <constant name="KEY_PRINT" value="16777226" enum="KeyList"> + <constant name="KEY_PRINT" value="16777226" enum="Key"> Print Screen key. </constant> - <constant name="KEY_SYSREQ" value="16777227" enum="KeyList"> + <constant name="KEY_SYSREQ" value="16777227" enum="Key"> System Request key. </constant> - <constant name="KEY_CLEAR" value="16777228" enum="KeyList"> + <constant name="KEY_CLEAR" value="16777228" enum="Key"> Clear key. </constant> - <constant name="KEY_HOME" value="16777229" enum="KeyList"> + <constant name="KEY_HOME" value="16777229" enum="Key"> Home key. </constant> - <constant name="KEY_END" value="16777230" enum="KeyList"> + <constant name="KEY_END" value="16777230" enum="Key"> End key. </constant> - <constant name="KEY_LEFT" value="16777231" enum="KeyList"> + <constant name="KEY_LEFT" value="16777231" enum="Key"> Left arrow key. </constant> - <constant name="KEY_UP" value="16777232" enum="KeyList"> + <constant name="KEY_UP" value="16777232" enum="Key"> Up arrow key. </constant> - <constant name="KEY_RIGHT" value="16777233" enum="KeyList"> + <constant name="KEY_RIGHT" value="16777233" enum="Key"> Right arrow key. </constant> - <constant name="KEY_DOWN" value="16777234" enum="KeyList"> + <constant name="KEY_DOWN" value="16777234" enum="Key"> Down arrow key. </constant> - <constant name="KEY_PAGEUP" value="16777235" enum="KeyList"> + <constant name="KEY_PAGEUP" value="16777235" enum="Key"> Page Up key. </constant> - <constant name="KEY_PAGEDOWN" value="16777236" enum="KeyList"> + <constant name="KEY_PAGEDOWN" value="16777236" enum="Key"> Page Down key. </constant> - <constant name="KEY_SHIFT" value="16777237" enum="KeyList"> + <constant name="KEY_SHIFT" value="16777237" enum="Key"> Shift key. </constant> - <constant name="KEY_CONTROL" value="16777238" enum="KeyList"> + <constant name="KEY_CTRL" value="16777238" enum="Key"> Control key. </constant> - <constant name="KEY_META" value="16777239" enum="KeyList"> + <constant name="KEY_META" value="16777239" enum="Key"> Meta key. </constant> - <constant name="KEY_ALT" value="16777240" enum="KeyList"> + <constant name="KEY_ALT" value="16777240" enum="Key"> Alt key. </constant> - <constant name="KEY_CAPSLOCK" value="16777241" enum="KeyList"> + <constant name="KEY_CAPSLOCK" value="16777241" enum="Key"> Caps Lock key. </constant> - <constant name="KEY_NUMLOCK" value="16777242" enum="KeyList"> + <constant name="KEY_NUMLOCK" value="16777242" enum="Key"> Num Lock key. </constant> - <constant name="KEY_SCROLLLOCK" value="16777243" enum="KeyList"> + <constant name="KEY_SCROLLLOCK" value="16777243" enum="Key"> Scroll Lock key. </constant> - <constant name="KEY_F1" value="16777244" enum="KeyList"> + <constant name="KEY_F1" value="16777244" enum="Key"> F1 key. </constant> - <constant name="KEY_F2" value="16777245" enum="KeyList"> + <constant name="KEY_F2" value="16777245" enum="Key"> F2 key. </constant> - <constant name="KEY_F3" value="16777246" enum="KeyList"> + <constant name="KEY_F3" value="16777246" enum="Key"> F3 key. </constant> - <constant name="KEY_F4" value="16777247" enum="KeyList"> + <constant name="KEY_F4" value="16777247" enum="Key"> F4 key. </constant> - <constant name="KEY_F5" value="16777248" enum="KeyList"> + <constant name="KEY_F5" value="16777248" enum="Key"> F5 key. </constant> - <constant name="KEY_F6" value="16777249" enum="KeyList"> + <constant name="KEY_F6" value="16777249" enum="Key"> F6 key. </constant> - <constant name="KEY_F7" value="16777250" enum="KeyList"> + <constant name="KEY_F7" value="16777250" enum="Key"> F7 key. </constant> - <constant name="KEY_F8" value="16777251" enum="KeyList"> + <constant name="KEY_F8" value="16777251" enum="Key"> F8 key. </constant> - <constant name="KEY_F9" value="16777252" enum="KeyList"> + <constant name="KEY_F9" value="16777252" enum="Key"> F9 key. </constant> - <constant name="KEY_F10" value="16777253" enum="KeyList"> + <constant name="KEY_F10" value="16777253" enum="Key"> F10 key. </constant> - <constant name="KEY_F11" value="16777254" enum="KeyList"> + <constant name="KEY_F11" value="16777254" enum="Key"> F11 key. </constant> - <constant name="KEY_F12" value="16777255" enum="KeyList"> + <constant name="KEY_F12" value="16777255" enum="Key"> F12 key. </constant> - <constant name="KEY_F13" value="16777256" enum="KeyList"> + <constant name="KEY_F13" value="16777256" enum="Key"> F13 key. </constant> - <constant name="KEY_F14" value="16777257" enum="KeyList"> + <constant name="KEY_F14" value="16777257" enum="Key"> F14 key. </constant> - <constant name="KEY_F15" value="16777258" enum="KeyList"> + <constant name="KEY_F15" value="16777258" enum="Key"> F15 key. </constant> - <constant name="KEY_F16" value="16777259" enum="KeyList"> + <constant name="KEY_F16" value="16777259" enum="Key"> F16 key. </constant> - <constant name="KEY_KP_MULTIPLY" value="16777345" enum="KeyList"> + <constant name="KEY_KP_MULTIPLY" value="16777345" enum="Key"> Multiply (*) key on the numeric keypad. </constant> - <constant name="KEY_KP_DIVIDE" value="16777346" enum="KeyList"> + <constant name="KEY_KP_DIVIDE" value="16777346" enum="Key"> Divide (/) key on the numeric keypad. </constant> - <constant name="KEY_KP_SUBTRACT" value="16777347" enum="KeyList"> + <constant name="KEY_KP_SUBTRACT" value="16777347" enum="Key"> Subtract (-) key on the numeric keypad. </constant> - <constant name="KEY_KP_PERIOD" value="16777348" enum="KeyList"> + <constant name="KEY_KP_PERIOD" value="16777348" enum="Key"> Period (.) key on the numeric keypad. </constant> - <constant name="KEY_KP_ADD" value="16777349" enum="KeyList"> + <constant name="KEY_KP_ADD" value="16777349" enum="Key"> Add (+) key on the numeric keypad. </constant> - <constant name="KEY_KP_0" value="16777350" enum="KeyList"> + <constant name="KEY_KP_0" value="16777350" enum="Key"> Number 0 on the numeric keypad. </constant> - <constant name="KEY_KP_1" value="16777351" enum="KeyList"> + <constant name="KEY_KP_1" value="16777351" enum="Key"> Number 1 on the numeric keypad. </constant> - <constant name="KEY_KP_2" value="16777352" enum="KeyList"> + <constant name="KEY_KP_2" value="16777352" enum="Key"> Number 2 on the numeric keypad. </constant> - <constant name="KEY_KP_3" value="16777353" enum="KeyList"> + <constant name="KEY_KP_3" value="16777353" enum="Key"> Number 3 on the numeric keypad. </constant> - <constant name="KEY_KP_4" value="16777354" enum="KeyList"> + <constant name="KEY_KP_4" value="16777354" enum="Key"> Number 4 on the numeric keypad. </constant> - <constant name="KEY_KP_5" value="16777355" enum="KeyList"> + <constant name="KEY_KP_5" value="16777355" enum="Key"> Number 5 on the numeric keypad. </constant> - <constant name="KEY_KP_6" value="16777356" enum="KeyList"> + <constant name="KEY_KP_6" value="16777356" enum="Key"> Number 6 on the numeric keypad. </constant> - <constant name="KEY_KP_7" value="16777357" enum="KeyList"> + <constant name="KEY_KP_7" value="16777357" enum="Key"> Number 7 on the numeric keypad. </constant> - <constant name="KEY_KP_8" value="16777358" enum="KeyList"> + <constant name="KEY_KP_8" value="16777358" enum="Key"> Number 8 on the numeric keypad. </constant> - <constant name="KEY_KP_9" value="16777359" enum="KeyList"> + <constant name="KEY_KP_9" value="16777359" enum="Key"> Number 9 on the numeric keypad. </constant> - <constant name="KEY_SUPER_L" value="16777260" enum="KeyList"> + <constant name="KEY_SUPER_L" value="16777260" enum="Key"> Left Super key (Windows key). </constant> - <constant name="KEY_SUPER_R" value="16777261" enum="KeyList"> + <constant name="KEY_SUPER_R" value="16777261" enum="Key"> Right Super key (Windows key). </constant> - <constant name="KEY_MENU" value="16777262" enum="KeyList"> + <constant name="KEY_MENU" value="16777262" enum="Key"> Context menu key. </constant> - <constant name="KEY_HYPER_L" value="16777263" enum="KeyList"> + <constant name="KEY_HYPER_L" value="16777263" enum="Key"> Left Hyper key. </constant> - <constant name="KEY_HYPER_R" value="16777264" enum="KeyList"> + <constant name="KEY_HYPER_R" value="16777264" enum="Key"> Right Hyper key. </constant> - <constant name="KEY_HELP" value="16777265" enum="KeyList"> + <constant name="KEY_HELP" value="16777265" enum="Key"> Help key. </constant> - <constant name="KEY_DIRECTION_L" value="16777266" enum="KeyList"> + <constant name="KEY_DIRECTION_L" value="16777266" enum="Key"> Left Direction key. </constant> - <constant name="KEY_DIRECTION_R" value="16777267" enum="KeyList"> + <constant name="KEY_DIRECTION_R" value="16777267" enum="Key"> Right Direction key. </constant> - <constant name="KEY_BACK" value="16777280" enum="KeyList"> + <constant name="KEY_BACK" value="16777280" enum="Key"> Media back key. Not to be confused with the Back button on an Android device. </constant> - <constant name="KEY_FORWARD" value="16777281" enum="KeyList"> + <constant name="KEY_FORWARD" value="16777281" enum="Key"> Media forward key. </constant> - <constant name="KEY_STOP" value="16777282" enum="KeyList"> + <constant name="KEY_STOP" value="16777282" enum="Key"> Media stop key. </constant> - <constant name="KEY_REFRESH" value="16777283" enum="KeyList"> + <constant name="KEY_REFRESH" value="16777283" enum="Key"> Media refresh key. </constant> - <constant name="KEY_VOLUMEDOWN" value="16777284" enum="KeyList"> + <constant name="KEY_VOLUMEDOWN" value="16777284" enum="Key"> Volume down key. </constant> - <constant name="KEY_VOLUMEMUTE" value="16777285" enum="KeyList"> + <constant name="KEY_VOLUMEMUTE" value="16777285" enum="Key"> Mute volume key. </constant> - <constant name="KEY_VOLUMEUP" value="16777286" enum="KeyList"> + <constant name="KEY_VOLUMEUP" value="16777286" enum="Key"> Volume up key. </constant> - <constant name="KEY_BASSBOOST" value="16777287" enum="KeyList"> + <constant name="KEY_BASSBOOST" value="16777287" enum="Key"> Bass Boost key. </constant> - <constant name="KEY_BASSUP" value="16777288" enum="KeyList"> + <constant name="KEY_BASSUP" value="16777288" enum="Key"> Bass up key. </constant> - <constant name="KEY_BASSDOWN" value="16777289" enum="KeyList"> + <constant name="KEY_BASSDOWN" value="16777289" enum="Key"> Bass down key. </constant> - <constant name="KEY_TREBLEUP" value="16777290" enum="KeyList"> + <constant name="KEY_TREBLEUP" value="16777290" enum="Key"> Treble up key. </constant> - <constant name="KEY_TREBLEDOWN" value="16777291" enum="KeyList"> + <constant name="KEY_TREBLEDOWN" value="16777291" enum="Key"> Treble down key. </constant> - <constant name="KEY_MEDIAPLAY" value="16777292" enum="KeyList"> + <constant name="KEY_MEDIAPLAY" value="16777292" enum="Key"> Media play key. </constant> - <constant name="KEY_MEDIASTOP" value="16777293" enum="KeyList"> + <constant name="KEY_MEDIASTOP" value="16777293" enum="Key"> Media stop key. </constant> - <constant name="KEY_MEDIAPREVIOUS" value="16777294" enum="KeyList"> + <constant name="KEY_MEDIAPREVIOUS" value="16777294" enum="Key"> Previous song key. </constant> - <constant name="KEY_MEDIANEXT" value="16777295" enum="KeyList"> + <constant name="KEY_MEDIANEXT" value="16777295" enum="Key"> Next song key. </constant> - <constant name="KEY_MEDIARECORD" value="16777296" enum="KeyList"> + <constant name="KEY_MEDIARECORD" value="16777296" enum="Key"> Media record key. </constant> - <constant name="KEY_HOMEPAGE" value="16777297" enum="KeyList"> + <constant name="KEY_HOMEPAGE" value="16777297" enum="Key"> Home page key. </constant> - <constant name="KEY_FAVORITES" value="16777298" enum="KeyList"> + <constant name="KEY_FAVORITES" value="16777298" enum="Key"> Favorites key. </constant> - <constant name="KEY_SEARCH" value="16777299" enum="KeyList"> + <constant name="KEY_SEARCH" value="16777299" enum="Key"> Search key. </constant> - <constant name="KEY_STANDBY" value="16777300" enum="KeyList"> + <constant name="KEY_STANDBY" value="16777300" enum="Key"> Standby key. </constant> - <constant name="KEY_OPENURL" value="16777301" enum="KeyList"> + <constant name="KEY_OPENURL" value="16777301" enum="Key"> Open URL / Launch Browser key. </constant> - <constant name="KEY_LAUNCHMAIL" value="16777302" enum="KeyList"> + <constant name="KEY_LAUNCHMAIL" value="16777302" enum="Key"> Launch Mail key. </constant> - <constant name="KEY_LAUNCHMEDIA" value="16777303" enum="KeyList"> + <constant name="KEY_LAUNCHMEDIA" value="16777303" enum="Key"> Launch Media key. </constant> - <constant name="KEY_LAUNCH0" value="16777304" enum="KeyList"> + <constant name="KEY_LAUNCH0" value="16777304" enum="Key"> Launch Shortcut 0 key. </constant> - <constant name="KEY_LAUNCH1" value="16777305" enum="KeyList"> + <constant name="KEY_LAUNCH1" value="16777305" enum="Key"> Launch Shortcut 1 key. </constant> - <constant name="KEY_LAUNCH2" value="16777306" enum="KeyList"> + <constant name="KEY_LAUNCH2" value="16777306" enum="Key"> Launch Shortcut 2 key. </constant> - <constant name="KEY_LAUNCH3" value="16777307" enum="KeyList"> + <constant name="KEY_LAUNCH3" value="16777307" enum="Key"> Launch Shortcut 3 key. </constant> - <constant name="KEY_LAUNCH4" value="16777308" enum="KeyList"> + <constant name="KEY_LAUNCH4" value="16777308" enum="Key"> Launch Shortcut 4 key. </constant> - <constant name="KEY_LAUNCH5" value="16777309" enum="KeyList"> + <constant name="KEY_LAUNCH5" value="16777309" enum="Key"> Launch Shortcut 5 key. </constant> - <constant name="KEY_LAUNCH6" value="16777310" enum="KeyList"> + <constant name="KEY_LAUNCH6" value="16777310" enum="Key"> Launch Shortcut 6 key. </constant> - <constant name="KEY_LAUNCH7" value="16777311" enum="KeyList"> + <constant name="KEY_LAUNCH7" value="16777311" enum="Key"> Launch Shortcut 7 key. </constant> - <constant name="KEY_LAUNCH8" value="16777312" enum="KeyList"> + <constant name="KEY_LAUNCH8" value="16777312" enum="Key"> Launch Shortcut 8 key. </constant> - <constant name="KEY_LAUNCH9" value="16777313" enum="KeyList"> + <constant name="KEY_LAUNCH9" value="16777313" enum="Key"> Launch Shortcut 9 key. </constant> - <constant name="KEY_LAUNCHA" value="16777314" enum="KeyList"> + <constant name="KEY_LAUNCHA" value="16777314" enum="Key"> Launch Shortcut A key. </constant> - <constant name="KEY_LAUNCHB" value="16777315" enum="KeyList"> + <constant name="KEY_LAUNCHB" value="16777315" enum="Key"> Launch Shortcut B key. </constant> - <constant name="KEY_LAUNCHC" value="16777316" enum="KeyList"> + <constant name="KEY_LAUNCHC" value="16777316" enum="Key"> Launch Shortcut C key. </constant> - <constant name="KEY_LAUNCHD" value="16777317" enum="KeyList"> + <constant name="KEY_LAUNCHD" value="16777317" enum="Key"> Launch Shortcut D key. </constant> - <constant name="KEY_LAUNCHE" value="16777318" enum="KeyList"> + <constant name="KEY_LAUNCHE" value="16777318" enum="Key"> Launch Shortcut E key. </constant> - <constant name="KEY_LAUNCHF" value="16777319" enum="KeyList"> + <constant name="KEY_LAUNCHF" value="16777319" enum="Key"> Launch Shortcut F key. </constant> - <constant name="KEY_UNKNOWN" value="33554431" enum="KeyList"> + <constant name="KEY_UNKNOWN" value="33554431" enum="Key"> Unknown key. </constant> - <constant name="KEY_SPACE" value="32" enum="KeyList"> + <constant name="KEY_SPACE" value="32" enum="Key"> Space key. </constant> - <constant name="KEY_EXCLAM" value="33" enum="KeyList"> + <constant name="KEY_EXCLAM" value="33" enum="Key"> ! key. </constant> - <constant name="KEY_QUOTEDBL" value="34" enum="KeyList"> + <constant name="KEY_QUOTEDBL" value="34" enum="Key"> " key. </constant> - <constant name="KEY_NUMBERSIGN" value="35" enum="KeyList"> + <constant name="KEY_NUMBERSIGN" value="35" enum="Key"> # key. </constant> - <constant name="KEY_DOLLAR" value="36" enum="KeyList"> + <constant name="KEY_DOLLAR" value="36" enum="Key"> $ key. </constant> - <constant name="KEY_PERCENT" value="37" enum="KeyList"> + <constant name="KEY_PERCENT" value="37" enum="Key"> % key. </constant> - <constant name="KEY_AMPERSAND" value="38" enum="KeyList"> + <constant name="KEY_AMPERSAND" value="38" enum="Key"> & key. </constant> - <constant name="KEY_APOSTROPHE" value="39" enum="KeyList"> + <constant name="KEY_APOSTROPHE" value="39" enum="Key"> ' key. </constant> - <constant name="KEY_PARENLEFT" value="40" enum="KeyList"> + <constant name="KEY_PARENLEFT" value="40" enum="Key"> ( key. </constant> - <constant name="KEY_PARENRIGHT" value="41" enum="KeyList"> + <constant name="KEY_PARENRIGHT" value="41" enum="Key"> ) key. </constant> - <constant name="KEY_ASTERISK" value="42" enum="KeyList"> + <constant name="KEY_ASTERISK" value="42" enum="Key"> * key. </constant> - <constant name="KEY_PLUS" value="43" enum="KeyList"> + <constant name="KEY_PLUS" value="43" enum="Key"> + key. </constant> - <constant name="KEY_COMMA" value="44" enum="KeyList"> + <constant name="KEY_COMMA" value="44" enum="Key"> , key. </constant> - <constant name="KEY_MINUS" value="45" enum="KeyList"> + <constant name="KEY_MINUS" value="45" enum="Key"> - key. </constant> - <constant name="KEY_PERIOD" value="46" enum="KeyList"> + <constant name="KEY_PERIOD" value="46" enum="Key"> . key. </constant> - <constant name="KEY_SLASH" value="47" enum="KeyList"> + <constant name="KEY_SLASH" value="47" enum="Key"> / key. </constant> - <constant name="KEY_0" value="48" enum="KeyList"> + <constant name="KEY_0" value="48" enum="Key"> Number 0. </constant> - <constant name="KEY_1" value="49" enum="KeyList"> + <constant name="KEY_1" value="49" enum="Key"> Number 1. </constant> - <constant name="KEY_2" value="50" enum="KeyList"> + <constant name="KEY_2" value="50" enum="Key"> Number 2. </constant> - <constant name="KEY_3" value="51" enum="KeyList"> + <constant name="KEY_3" value="51" enum="Key"> Number 3. </constant> - <constant name="KEY_4" value="52" enum="KeyList"> + <constant name="KEY_4" value="52" enum="Key"> Number 4. </constant> - <constant name="KEY_5" value="53" enum="KeyList"> + <constant name="KEY_5" value="53" enum="Key"> Number 5. </constant> - <constant name="KEY_6" value="54" enum="KeyList"> + <constant name="KEY_6" value="54" enum="Key"> Number 6. </constant> - <constant name="KEY_7" value="55" enum="KeyList"> + <constant name="KEY_7" value="55" enum="Key"> Number 7. </constant> - <constant name="KEY_8" value="56" enum="KeyList"> + <constant name="KEY_8" value="56" enum="Key"> Number 8. </constant> - <constant name="KEY_9" value="57" enum="KeyList"> + <constant name="KEY_9" value="57" enum="Key"> Number 9. </constant> - <constant name="KEY_COLON" value="58" enum="KeyList"> + <constant name="KEY_COLON" value="58" enum="Key"> : key. </constant> - <constant name="KEY_SEMICOLON" value="59" enum="KeyList"> + <constant name="KEY_SEMICOLON" value="59" enum="Key"> ; key. </constant> - <constant name="KEY_LESS" value="60" enum="KeyList"> + <constant name="KEY_LESS" value="60" enum="Key"> < key. </constant> - <constant name="KEY_EQUAL" value="61" enum="KeyList"> + <constant name="KEY_EQUAL" value="61" enum="Key"> = key. </constant> - <constant name="KEY_GREATER" value="62" enum="KeyList"> + <constant name="KEY_GREATER" value="62" enum="Key"> > key. </constant> - <constant name="KEY_QUESTION" value="63" enum="KeyList"> + <constant name="KEY_QUESTION" value="63" enum="Key"> ? key. </constant> - <constant name="KEY_AT" value="64" enum="KeyList"> + <constant name="KEY_AT" value="64" enum="Key"> @ key. </constant> - <constant name="KEY_A" value="65" enum="KeyList"> + <constant name="KEY_A" value="65" enum="Key"> A key. </constant> - <constant name="KEY_B" value="66" enum="KeyList"> + <constant name="KEY_B" value="66" enum="Key"> B key. </constant> - <constant name="KEY_C" value="67" enum="KeyList"> + <constant name="KEY_C" value="67" enum="Key"> C key. </constant> - <constant name="KEY_D" value="68" enum="KeyList"> + <constant name="KEY_D" value="68" enum="Key"> D key. </constant> - <constant name="KEY_E" value="69" enum="KeyList"> + <constant name="KEY_E" value="69" enum="Key"> E key. </constant> - <constant name="KEY_F" value="70" enum="KeyList"> + <constant name="KEY_F" value="70" enum="Key"> F key. </constant> - <constant name="KEY_G" value="71" enum="KeyList"> + <constant name="KEY_G" value="71" enum="Key"> G key. </constant> - <constant name="KEY_H" value="72" enum="KeyList"> + <constant name="KEY_H" value="72" enum="Key"> H key. </constant> - <constant name="KEY_I" value="73" enum="KeyList"> + <constant name="KEY_I" value="73" enum="Key"> I key. </constant> - <constant name="KEY_J" value="74" enum="KeyList"> + <constant name="KEY_J" value="74" enum="Key"> J key. </constant> - <constant name="KEY_K" value="75" enum="KeyList"> + <constant name="KEY_K" value="75" enum="Key"> K key. </constant> - <constant name="KEY_L" value="76" enum="KeyList"> + <constant name="KEY_L" value="76" enum="Key"> L key. </constant> - <constant name="KEY_M" value="77" enum="KeyList"> + <constant name="KEY_M" value="77" enum="Key"> M key. </constant> - <constant name="KEY_N" value="78" enum="KeyList"> + <constant name="KEY_N" value="78" enum="Key"> N key. </constant> - <constant name="KEY_O" value="79" enum="KeyList"> + <constant name="KEY_O" value="79" enum="Key"> O key. </constant> - <constant name="KEY_P" value="80" enum="KeyList"> + <constant name="KEY_P" value="80" enum="Key"> P key. </constant> - <constant name="KEY_Q" value="81" enum="KeyList"> + <constant name="KEY_Q" value="81" enum="Key"> Q key. </constant> - <constant name="KEY_R" value="82" enum="KeyList"> + <constant name="KEY_R" value="82" enum="Key"> R key. </constant> - <constant name="KEY_S" value="83" enum="KeyList"> + <constant name="KEY_S" value="83" enum="Key"> S key. </constant> - <constant name="KEY_T" value="84" enum="KeyList"> + <constant name="KEY_T" value="84" enum="Key"> T key. </constant> - <constant name="KEY_U" value="85" enum="KeyList"> + <constant name="KEY_U" value="85" enum="Key"> U key. </constant> - <constant name="KEY_V" value="86" enum="KeyList"> + <constant name="KEY_V" value="86" enum="Key"> V key. </constant> - <constant name="KEY_W" value="87" enum="KeyList"> + <constant name="KEY_W" value="87" enum="Key"> W key. </constant> - <constant name="KEY_X" value="88" enum="KeyList"> + <constant name="KEY_X" value="88" enum="Key"> X key. </constant> - <constant name="KEY_Y" value="89" enum="KeyList"> + <constant name="KEY_Y" value="89" enum="Key"> Y key. </constant> - <constant name="KEY_Z" value="90" enum="KeyList"> + <constant name="KEY_Z" value="90" enum="Key"> Z key. </constant> - <constant name="KEY_BRACKETLEFT" value="91" enum="KeyList"> + <constant name="KEY_BRACKETLEFT" value="91" enum="Key"> [ key. </constant> - <constant name="KEY_BACKSLASH" value="92" enum="KeyList"> + <constant name="KEY_BACKSLASH" value="92" enum="Key"> \ key. </constant> - <constant name="KEY_BRACKETRIGHT" value="93" enum="KeyList"> + <constant name="KEY_BRACKETRIGHT" value="93" enum="Key"> ] key. </constant> - <constant name="KEY_ASCIICIRCUM" value="94" enum="KeyList"> + <constant name="KEY_ASCIICIRCUM" value="94" enum="Key"> ^ key. </constant> - <constant name="KEY_UNDERSCORE" value="95" enum="KeyList"> + <constant name="KEY_UNDERSCORE" value="95" enum="Key"> _ key. </constant> - <constant name="KEY_QUOTELEFT" value="96" enum="KeyList"> + <constant name="KEY_QUOTELEFT" value="96" enum="Key"> ` key. </constant> - <constant name="KEY_BRACELEFT" value="123" enum="KeyList"> + <constant name="KEY_BRACELEFT" value="123" enum="Key"> { key. </constant> - <constant name="KEY_BAR" value="124" enum="KeyList"> + <constant name="KEY_BAR" value="124" enum="Key"> | key. </constant> - <constant name="KEY_BRACERIGHT" value="125" enum="KeyList"> + <constant name="KEY_BRACERIGHT" value="125" enum="Key"> } key. </constant> - <constant name="KEY_ASCIITILDE" value="126" enum="KeyList"> + <constant name="KEY_ASCIITILDE" value="126" enum="Key"> ~ key. </constant> - <constant name="KEY_NOBREAKSPACE" value="160" enum="KeyList"> + <constant name="KEY_NOBREAKSPACE" value="160" enum="Key"> Non-breakable space key. </constant> - <constant name="KEY_EXCLAMDOWN" value="161" enum="KeyList"> + <constant name="KEY_EXCLAMDOWN" value="161" enum="Key"> ¡ key. </constant> - <constant name="KEY_CENT" value="162" enum="KeyList"> + <constant name="KEY_CENT" value="162" enum="Key"> ¢ key. </constant> - <constant name="KEY_STERLING" value="163" enum="KeyList"> + <constant name="KEY_STERLING" value="163" enum="Key"> £ key. </constant> - <constant name="KEY_CURRENCY" value="164" enum="KeyList"> + <constant name="KEY_CURRENCY" value="164" enum="Key"> ¤ key. </constant> - <constant name="KEY_YEN" value="165" enum="KeyList"> + <constant name="KEY_YEN" value="165" enum="Key"> ¥ key. </constant> - <constant name="KEY_BROKENBAR" value="166" enum="KeyList"> + <constant name="KEY_BROKENBAR" value="166" enum="Key"> ¦ key. </constant> - <constant name="KEY_SECTION" value="167" enum="KeyList"> + <constant name="KEY_SECTION" value="167" enum="Key"> § key. </constant> - <constant name="KEY_DIAERESIS" value="168" enum="KeyList"> + <constant name="KEY_DIAERESIS" value="168" enum="Key"> ¨ key. </constant> - <constant name="KEY_COPYRIGHT" value="169" enum="KeyList"> + <constant name="KEY_COPYRIGHT" value="169" enum="Key"> © key. </constant> - <constant name="KEY_ORDFEMININE" value="170" enum="KeyList"> + <constant name="KEY_ORDFEMININE" value="170" enum="Key"> ª key. </constant> - <constant name="KEY_GUILLEMOTLEFT" value="171" enum="KeyList"> + <constant name="KEY_GUILLEMOTLEFT" value="171" enum="Key"> « key. </constant> - <constant name="KEY_NOTSIGN" value="172" enum="KeyList"> + <constant name="KEY_NOTSIGN" value="172" enum="Key"> ¬ key. </constant> - <constant name="KEY_HYPHEN" value="173" enum="KeyList"> + <constant name="KEY_HYPHEN" value="173" enum="Key"> Soft hyphen key. </constant> - <constant name="KEY_REGISTERED" value="174" enum="KeyList"> + <constant name="KEY_REGISTERED" value="174" enum="Key"> ® key. </constant> - <constant name="KEY_MACRON" value="175" enum="KeyList"> + <constant name="KEY_MACRON" value="175" enum="Key"> ¯ key. </constant> - <constant name="KEY_DEGREE" value="176" enum="KeyList"> + <constant name="KEY_DEGREE" value="176" enum="Key"> ° key. </constant> - <constant name="KEY_PLUSMINUS" value="177" enum="KeyList"> + <constant name="KEY_PLUSMINUS" value="177" enum="Key"> ± key. </constant> - <constant name="KEY_TWOSUPERIOR" value="178" enum="KeyList"> + <constant name="KEY_TWOSUPERIOR" value="178" enum="Key"> ² key. </constant> - <constant name="KEY_THREESUPERIOR" value="179" enum="KeyList"> + <constant name="KEY_THREESUPERIOR" value="179" enum="Key"> ³ key. </constant> - <constant name="KEY_ACUTE" value="180" enum="KeyList"> + <constant name="KEY_ACUTE" value="180" enum="Key"> ´ key. </constant> - <constant name="KEY_MU" value="181" enum="KeyList"> + <constant name="KEY_MU" value="181" enum="Key"> µ key. </constant> - <constant name="KEY_PARAGRAPH" value="182" enum="KeyList"> + <constant name="KEY_PARAGRAPH" value="182" enum="Key"> ¶ key. </constant> - <constant name="KEY_PERIODCENTERED" value="183" enum="KeyList"> + <constant name="KEY_PERIODCENTERED" value="183" enum="Key"> · key. </constant> - <constant name="KEY_CEDILLA" value="184" enum="KeyList"> + <constant name="KEY_CEDILLA" value="184" enum="Key"> ¸ key. </constant> - <constant name="KEY_ONESUPERIOR" value="185" enum="KeyList"> + <constant name="KEY_ONESUPERIOR" value="185" enum="Key"> ¹ key. </constant> - <constant name="KEY_MASCULINE" value="186" enum="KeyList"> + <constant name="KEY_MASCULINE" value="186" enum="Key"> º key. </constant> - <constant name="KEY_GUILLEMOTRIGHT" value="187" enum="KeyList"> + <constant name="KEY_GUILLEMOTRIGHT" value="187" enum="Key"> » key. </constant> - <constant name="KEY_ONEQUARTER" value="188" enum="KeyList"> + <constant name="KEY_ONEQUARTER" value="188" enum="Key"> ¼ key. </constant> - <constant name="KEY_ONEHALF" value="189" enum="KeyList"> + <constant name="KEY_ONEHALF" value="189" enum="Key"> ½ key. </constant> - <constant name="KEY_THREEQUARTERS" value="190" enum="KeyList"> + <constant name="KEY_THREEQUARTERS" value="190" enum="Key"> ¾ key. </constant> - <constant name="KEY_QUESTIONDOWN" value="191" enum="KeyList"> + <constant name="KEY_QUESTIONDOWN" value="191" enum="Key"> ¿ key. </constant> - <constant name="KEY_AGRAVE" value="192" enum="KeyList"> + <constant name="KEY_AGRAVE" value="192" enum="Key"> À key. </constant> - <constant name="KEY_AACUTE" value="193" enum="KeyList"> + <constant name="KEY_AACUTE" value="193" enum="Key"> Á key. </constant> - <constant name="KEY_ACIRCUMFLEX" value="194" enum="KeyList"> + <constant name="KEY_ACIRCUMFLEX" value="194" enum="Key"> Â key. </constant> - <constant name="KEY_ATILDE" value="195" enum="KeyList"> + <constant name="KEY_ATILDE" value="195" enum="Key"> Ã key. </constant> - <constant name="KEY_ADIAERESIS" value="196" enum="KeyList"> + <constant name="KEY_ADIAERESIS" value="196" enum="Key"> Ä key. </constant> - <constant name="KEY_ARING" value="197" enum="KeyList"> + <constant name="KEY_ARING" value="197" enum="Key"> Å key. </constant> - <constant name="KEY_AE" value="198" enum="KeyList"> + <constant name="KEY_AE" value="198" enum="Key"> Æ key. </constant> - <constant name="KEY_CCEDILLA" value="199" enum="KeyList"> + <constant name="KEY_CCEDILLA" value="199" enum="Key"> Ç key. </constant> - <constant name="KEY_EGRAVE" value="200" enum="KeyList"> + <constant name="KEY_EGRAVE" value="200" enum="Key"> È key. </constant> - <constant name="KEY_EACUTE" value="201" enum="KeyList"> + <constant name="KEY_EACUTE" value="201" enum="Key"> É key. </constant> - <constant name="KEY_ECIRCUMFLEX" value="202" enum="KeyList"> + <constant name="KEY_ECIRCUMFLEX" value="202" enum="Key"> Ê key. </constant> - <constant name="KEY_EDIAERESIS" value="203" enum="KeyList"> + <constant name="KEY_EDIAERESIS" value="203" enum="Key"> Ë key. </constant> - <constant name="KEY_IGRAVE" value="204" enum="KeyList"> + <constant name="KEY_IGRAVE" value="204" enum="Key"> Ì key. </constant> - <constant name="KEY_IACUTE" value="205" enum="KeyList"> + <constant name="KEY_IACUTE" value="205" enum="Key"> Í key. </constant> - <constant name="KEY_ICIRCUMFLEX" value="206" enum="KeyList"> + <constant name="KEY_ICIRCUMFLEX" value="206" enum="Key"> Î key. </constant> - <constant name="KEY_IDIAERESIS" value="207" enum="KeyList"> + <constant name="KEY_IDIAERESIS" value="207" enum="Key"> Ï key. </constant> - <constant name="KEY_ETH" value="208" enum="KeyList"> + <constant name="KEY_ETH" value="208" enum="Key"> Ð key. </constant> - <constant name="KEY_NTILDE" value="209" enum="KeyList"> + <constant name="KEY_NTILDE" value="209" enum="Key"> Ñ key. </constant> - <constant name="KEY_OGRAVE" value="210" enum="KeyList"> + <constant name="KEY_OGRAVE" value="210" enum="Key"> Ò key. </constant> - <constant name="KEY_OACUTE" value="211" enum="KeyList"> + <constant name="KEY_OACUTE" value="211" enum="Key"> Ó key. </constant> - <constant name="KEY_OCIRCUMFLEX" value="212" enum="KeyList"> + <constant name="KEY_OCIRCUMFLEX" value="212" enum="Key"> Ô key. </constant> - <constant name="KEY_OTILDE" value="213" enum="KeyList"> + <constant name="KEY_OTILDE" value="213" enum="Key"> Õ key. </constant> - <constant name="KEY_ODIAERESIS" value="214" enum="KeyList"> + <constant name="KEY_ODIAERESIS" value="214" enum="Key"> Ö key. </constant> - <constant name="KEY_MULTIPLY" value="215" enum="KeyList"> + <constant name="KEY_MULTIPLY" value="215" enum="Key"> × key. </constant> - <constant name="KEY_OOBLIQUE" value="216" enum="KeyList"> + <constant name="KEY_OOBLIQUE" value="216" enum="Key"> Ø key. </constant> - <constant name="KEY_UGRAVE" value="217" enum="KeyList"> + <constant name="KEY_UGRAVE" value="217" enum="Key"> Ù key. </constant> - <constant name="KEY_UACUTE" value="218" enum="KeyList"> + <constant name="KEY_UACUTE" value="218" enum="Key"> Ú key. </constant> - <constant name="KEY_UCIRCUMFLEX" value="219" enum="KeyList"> + <constant name="KEY_UCIRCUMFLEX" value="219" enum="Key"> Û key. </constant> - <constant name="KEY_UDIAERESIS" value="220" enum="KeyList"> + <constant name="KEY_UDIAERESIS" value="220" enum="Key"> Ü key. </constant> - <constant name="KEY_YACUTE" value="221" enum="KeyList"> + <constant name="KEY_YACUTE" value="221" enum="Key"> Ý key. </constant> - <constant name="KEY_THORN" value="222" enum="KeyList"> + <constant name="KEY_THORN" value="222" enum="Key"> Þ key. </constant> - <constant name="KEY_SSHARP" value="223" enum="KeyList"> + <constant name="KEY_SSHARP" value="223" enum="Key"> ß key. </constant> - <constant name="KEY_DIVISION" value="247" enum="KeyList"> + <constant name="KEY_DIVISION" value="247" enum="Key"> ÷ key. </constant> - <constant name="KEY_YDIAERESIS" value="255" enum="KeyList"> + <constant name="KEY_YDIAERESIS" value="255" enum="Key"> ÿ key. </constant> <constant name="KEY_CODE_MASK" value="33554431" enum="KeyModifierMask"> @@ -2061,166 +2083,166 @@ <constant name="KEY_MASK_GROUP_SWITCH" value="1073741824" enum="KeyModifierMask"> Group Switch key mask. </constant> - <constant name="BUTTON_LEFT" value="1" enum="ButtonList"> + <constant name="MOUSE_BUTTON_LEFT" value="1" enum="MouseButton"> Left mouse button. </constant> - <constant name="BUTTON_RIGHT" value="2" enum="ButtonList"> + <constant name="MOUSE_BUTTON_RIGHT" value="2" enum="MouseButton"> Right mouse button. </constant> - <constant name="BUTTON_MIDDLE" value="3" enum="ButtonList"> + <constant name="MOUSE_BUTTON_MIDDLE" value="3" enum="MouseButton"> Middle mouse button. </constant> - <constant name="BUTTON_XBUTTON1" value="8" enum="ButtonList"> + <constant name="MOUSE_BUTTON_XBUTTON1" value="8" enum="MouseButton"> Extra mouse button 1 (only present on some mice). </constant> - <constant name="BUTTON_XBUTTON2" value="9" enum="ButtonList"> + <constant name="MOUSE_BUTTON_XBUTTON2" value="9" enum="MouseButton"> Extra mouse button 2 (only present on some mice). </constant> - <constant name="BUTTON_WHEEL_UP" value="4" enum="ButtonList"> + <constant name="MOUSE_BUTTON_WHEEL_UP" value="4" enum="MouseButton"> Mouse wheel up. </constant> - <constant name="BUTTON_WHEEL_DOWN" value="5" enum="ButtonList"> + <constant name="MOUSE_BUTTON_WHEEL_DOWN" value="5" enum="MouseButton"> Mouse wheel down. </constant> - <constant name="BUTTON_WHEEL_LEFT" value="6" enum="ButtonList"> + <constant name="MOUSE_BUTTON_WHEEL_LEFT" value="6" enum="MouseButton"> Mouse wheel left button (only present on some mice). </constant> - <constant name="BUTTON_WHEEL_RIGHT" value="7" enum="ButtonList"> + <constant name="MOUSE_BUTTON_WHEEL_RIGHT" value="7" enum="MouseButton"> Mouse wheel right button (only present on some mice). </constant> - <constant name="BUTTON_MASK_LEFT" value="1" enum="ButtonList"> + <constant name="MOUSE_BUTTON_MASK_LEFT" value="1" enum="MouseButton"> Left mouse button mask. </constant> - <constant name="BUTTON_MASK_RIGHT" value="2" enum="ButtonList"> + <constant name="MOUSE_BUTTON_MASK_RIGHT" value="2" enum="MouseButton"> Right mouse button mask. </constant> - <constant name="BUTTON_MASK_MIDDLE" value="4" enum="ButtonList"> + <constant name="MOUSE_BUTTON_MASK_MIDDLE" value="4" enum="MouseButton"> Middle mouse button mask. </constant> - <constant name="BUTTON_MASK_XBUTTON1" value="128" enum="ButtonList"> + <constant name="MOUSE_BUTTON_MASK_XBUTTON1" value="128" enum="MouseButton"> Extra mouse button 1 mask. </constant> - <constant name="BUTTON_MASK_XBUTTON2" value="256" enum="ButtonList"> + <constant name="MOUSE_BUTTON_MASK_XBUTTON2" value="256" enum="MouseButton"> Extra mouse button 2 mask. </constant> - <constant name="JOY_BUTTON_INVALID" value="-1" enum="JoyButtonList"> + <constant name="JOY_BUTTON_INVALID" value="-1" enum="JoyButton"> An invalid game controller button. </constant> - <constant name="JOY_BUTTON_A" value="0" enum="JoyButtonList"> + <constant name="JOY_BUTTON_A" value="0" enum="JoyButton"> Game controller SDL button A. Corresponds to the bottom action button: Sony Cross, Xbox A, Nintendo B. </constant> - <constant name="JOY_BUTTON_B" value="1" enum="JoyButtonList"> + <constant name="JOY_BUTTON_B" value="1" enum="JoyButton"> Game controller SDL button B. Corresponds to the right action button: Sony Circle, Xbox B, Nintendo A. </constant> - <constant name="JOY_BUTTON_X" value="2" enum="JoyButtonList"> + <constant name="JOY_BUTTON_X" value="2" enum="JoyButton"> Game controller SDL button X. Corresponds to the left action button: Sony Square, Xbox X, Nintendo Y. </constant> - <constant name="JOY_BUTTON_Y" value="3" enum="JoyButtonList"> + <constant name="JOY_BUTTON_Y" value="3" enum="JoyButton"> Game controller SDL button Y. Corresponds to the top action button: Sony Triangle, Xbox Y, Nintendo X. </constant> - <constant name="JOY_BUTTON_BACK" value="4" enum="JoyButtonList"> + <constant name="JOY_BUTTON_BACK" value="4" enum="JoyButton"> Game controller SDL back button. Corresponds to the Sony Select, Xbox Back, Nintendo - button. </constant> - <constant name="JOY_BUTTON_GUIDE" value="5" enum="JoyButtonList"> + <constant name="JOY_BUTTON_GUIDE" value="5" enum="JoyButton"> Game controller SDL guide button. Corresponds to the Sony PS, Xbox Home button. </constant> - <constant name="JOY_BUTTON_START" value="6" enum="JoyButtonList"> + <constant name="JOY_BUTTON_START" value="6" enum="JoyButton"> Game controller SDL start button. Corresponds to the Nintendo + button. </constant> - <constant name="JOY_BUTTON_LEFT_STICK" value="7" enum="JoyButtonList"> + <constant name="JOY_BUTTON_LEFT_STICK" value="7" enum="JoyButton"> Game controller SDL left stick button. Corresponds to the Sony L3, Xbox L/LS button. </constant> - <constant name="JOY_BUTTON_RIGHT_STICK" value="8" enum="JoyButtonList"> + <constant name="JOY_BUTTON_RIGHT_STICK" value="8" enum="JoyButton"> Game controller SDL right stick button. Corresponds to the Sony R3, Xbox R/RS button. </constant> - <constant name="JOY_BUTTON_LEFT_SHOULDER" value="9" enum="JoyButtonList"> + <constant name="JOY_BUTTON_LEFT_SHOULDER" value="9" enum="JoyButton"> Game controller SDL left shoulder button. Corresponds to the Sony L1, Xbox LB button. </constant> - <constant name="JOY_BUTTON_RIGHT_SHOULDER" value="10" enum="JoyButtonList"> + <constant name="JOY_BUTTON_RIGHT_SHOULDER" value="10" enum="JoyButton"> Game controller SDL right shoulder button. Corresponds to the Sony R1, Xbox RB button. </constant> - <constant name="JOY_BUTTON_DPAD_UP" value="11" enum="JoyButtonList"> + <constant name="JOY_BUTTON_DPAD_UP" value="11" enum="JoyButton"> Game controller D-pad up button. </constant> - <constant name="JOY_BUTTON_DPAD_DOWN" value="12" enum="JoyButtonList"> + <constant name="JOY_BUTTON_DPAD_DOWN" value="12" enum="JoyButton"> Game controller D-pad down button. </constant> - <constant name="JOY_BUTTON_DPAD_LEFT" value="13" enum="JoyButtonList"> + <constant name="JOY_BUTTON_DPAD_LEFT" value="13" enum="JoyButton"> Game controller D-pad left button. </constant> - <constant name="JOY_BUTTON_DPAD_RIGHT" value="14" enum="JoyButtonList"> + <constant name="JOY_BUTTON_DPAD_RIGHT" value="14" enum="JoyButton"> Game controller D-pad right button. </constant> - <constant name="JOY_BUTTON_MISC1" value="15" enum="JoyButtonList"> + <constant name="JOY_BUTTON_MISC1" value="15" enum="JoyButton"> Game controller SDL miscellaneous button. Corresponds to Xbox share button, PS5 microphone button, Nintendo capture button. </constant> - <constant name="JOY_BUTTON_PADDLE1" value="16" enum="JoyButtonList"> + <constant name="JOY_BUTTON_PADDLE1" value="16" enum="JoyButton"> Game controller SDL paddle 1 button. </constant> - <constant name="JOY_BUTTON_PADDLE2" value="17" enum="JoyButtonList"> + <constant name="JOY_BUTTON_PADDLE2" value="17" enum="JoyButton"> Game controller SDL paddle 2 button. </constant> - <constant name="JOY_BUTTON_PADDLE3" value="18" enum="JoyButtonList"> + <constant name="JOY_BUTTON_PADDLE3" value="18" enum="JoyButton"> Game controller SDL paddle 3 button. </constant> - <constant name="JOY_BUTTON_PADDLE4" value="19" enum="JoyButtonList"> + <constant name="JOY_BUTTON_PADDLE4" value="19" enum="JoyButton"> Game controller SDL paddle 4 button. </constant> - <constant name="JOY_BUTTON_TOUCHPAD" value="20" enum="JoyButtonList"> + <constant name="JOY_BUTTON_TOUCHPAD" value="20" enum="JoyButton"> Game controller SDL touchpad button. </constant> - <constant name="JOY_BUTTON_SDL_MAX" value="21" enum="JoyButtonList"> + <constant name="JOY_BUTTON_SDL_MAX" value="21" enum="JoyButton"> The number of SDL game controller buttons. </constant> - <constant name="JOY_BUTTON_MAX" value="36" enum="JoyButtonList"> + <constant name="JOY_BUTTON_MAX" value="36" enum="JoyButton"> The maximum number of game controller buttons: Android supports up to 36 buttons. </constant> - <constant name="JOY_AXIS_INVALID" value="-1" enum="JoyAxisList"> + <constant name="JOY_AXIS_INVALID" value="-1" enum="JoyAxis"> An invalid game controller axis. </constant> - <constant name="JOY_AXIS_LEFT_X" value="0" enum="JoyAxisList"> + <constant name="JOY_AXIS_LEFT_X" value="0" enum="JoyAxis"> Game controller left joystick x-axis. </constant> - <constant name="JOY_AXIS_LEFT_Y" value="1" enum="JoyAxisList"> + <constant name="JOY_AXIS_LEFT_Y" value="1" enum="JoyAxis"> Game controller left joystick y-axis. </constant> - <constant name="JOY_AXIS_RIGHT_X" value="2" enum="JoyAxisList"> + <constant name="JOY_AXIS_RIGHT_X" value="2" enum="JoyAxis"> Game controller right joystick x-axis. </constant> - <constant name="JOY_AXIS_RIGHT_Y" value="3" enum="JoyAxisList"> + <constant name="JOY_AXIS_RIGHT_Y" value="3" enum="JoyAxis"> Game controller right joystick y-axis. </constant> - <constant name="JOY_AXIS_TRIGGER_LEFT" value="4" enum="JoyAxisList"> + <constant name="JOY_AXIS_TRIGGER_LEFT" value="4" enum="JoyAxis"> Game controller left trigger axis. </constant> - <constant name="JOY_AXIS_TRIGGER_RIGHT" value="5" enum="JoyAxisList"> + <constant name="JOY_AXIS_TRIGGER_RIGHT" value="5" enum="JoyAxis"> Game controller right trigger axis. </constant> - <constant name="JOY_AXIS_SDL_MAX" value="6" enum="JoyAxisList"> + <constant name="JOY_AXIS_SDL_MAX" value="6" enum="JoyAxis"> The number of SDL game controller axes. </constant> - <constant name="JOY_AXIS_MAX" value="10" enum="JoyAxisList"> + <constant name="JOY_AXIS_MAX" value="10" enum="JoyAxis"> The maximum number of game controller axes: OpenVR supports up to 5 Joysticks making a total of 10 axes. </constant> - <constant name="MIDI_MESSAGE_NOTE_OFF" value="8" enum="MidiMessageList"> + <constant name="MIDI_MESSAGE_NOTE_OFF" value="8" enum="MIDIMessage"> MIDI note OFF message. </constant> - <constant name="MIDI_MESSAGE_NOTE_ON" value="9" enum="MidiMessageList"> + <constant name="MIDI_MESSAGE_NOTE_ON" value="9" enum="MIDIMessage"> MIDI note ON message. </constant> - <constant name="MIDI_MESSAGE_AFTERTOUCH" value="10" enum="MidiMessageList"> + <constant name="MIDI_MESSAGE_AFTERTOUCH" value="10" enum="MIDIMessage"> MIDI aftertouch message. </constant> - <constant name="MIDI_MESSAGE_CONTROL_CHANGE" value="11" enum="MidiMessageList"> + <constant name="MIDI_MESSAGE_CONTROL_CHANGE" value="11" enum="MIDIMessage"> MIDI control change message. </constant> - <constant name="MIDI_MESSAGE_PROGRAM_CHANGE" value="12" enum="MidiMessageList"> + <constant name="MIDI_MESSAGE_PROGRAM_CHANGE" value="12" enum="MIDIMessage"> MIDI program change message. </constant> - <constant name="MIDI_MESSAGE_CHANNEL_PRESSURE" value="13" enum="MidiMessageList"> + <constant name="MIDI_MESSAGE_CHANNEL_PRESSURE" value="13" enum="MIDIMessage"> MIDI channel pressure message. </constant> - <constant name="MIDI_MESSAGE_PITCH_BEND" value="14" enum="MidiMessageList"> + <constant name="MIDI_MESSAGE_PITCH_BEND" value="14" enum="MIDIMessage"> MIDI pitch bend message. </constant> <constant name="OK" value="0" enum="Error"> diff --git a/doc/classes/AStar.xml b/doc/classes/AStar.xml index e975b8ed28..fce2b90197 100644 --- a/doc/classes/AStar.xml +++ b/doc/classes/AStar.xml @@ -289,6 +289,7 @@ </argument> <description> Returns an array with the points that are in the path found by AStar between the given points. The array is ordered from the starting point to the ending point of the path. + [b]Note:[/b] This method is not thread-safe. If called from a [Thread], it will return an empty [PackedVector3Array] and will print an error message. </description> </method> <method name="get_point_position" qualifiers="const"> diff --git a/doc/classes/AStar2D.xml b/doc/classes/AStar2D.xml index 2a51678209..3efd2f604c 100644 --- a/doc/classes/AStar2D.xml +++ b/doc/classes/AStar2D.xml @@ -258,6 +258,7 @@ </argument> <description> Returns an array with the points that are in the path found by AStar2D between the given points. The array is ordered from the starting point to the ending point of the path. + [b]Note:[/b] This method is not thread-safe. If called from a [Thread], it will return an empty [PackedVector2Array] and will print an error message. </description> </method> <method name="get_point_position" qualifiers="const"> diff --git a/doc/classes/AnimationNodeTimeSeek.xml b/doc/classes/AnimationNodeTimeSeek.xml index eb5335c792..171d65fbe0 100644 --- a/doc/classes/AnimationNodeTimeSeek.xml +++ b/doc/classes/AnimationNodeTimeSeek.xml @@ -4,7 +4,27 @@ A time-seeking animation node to be used with [AnimationTree]. </brief_description> <description> - This node can be used to cause a seek command to happen to any sub-children of the graph. After setting the time, this value returns to -1. + This node can be used to cause a seek command to happen to any sub-children of the animation graph. Use this node type to play an [Animation] from the start or a certain playback position inside the [AnimationNodeBlendTree]. After setting the time and changing the animation playback, the seek node automatically goes into sleep mode on the next process frame by setting its [code]seek_position[/code] value to [code]-1.0[/code]. + [codeblocks] + [gdscript] + # Play child animation from the start. + animation_tree.set("parameters/Seek/seek_position", 0.0) + # Alternative syntax (same result as above). + animation_tree["parameters/Seek/seek_position"] = 0.0 + + # Play child animation from 12 second timestamp. + animation_tree.set("parameters/Seek/seek_position", 12.0) + # Alternative syntax (same result as above). + animation_tree["parameters/Seek/seek_position"] = 12.0 + [/gdscript] + [csharp] + // Play child animation from the start. + animationTree.Set("parameters/Seek/seek_position", 0.0); + + // Play child animation from 12 second timestamp. + animationTree.Set("parameters/Seek/seek_position", 12.0); + [/csharp] + [/codeblocks] </description> <tutorials> <link title="AnimationTree">https://docs.godotengine.org/en/latest/tutorials/animation/animation_tree.html</link> diff --git a/doc/classes/Area2D.xml b/doc/classes/Area2D.xml index 9711a2a35b..f7a116b934 100644 --- a/doc/classes/Area2D.xml +++ b/doc/classes/Area2D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="Area2D" inherits="CollisionObject2D" version="4.0"> <brief_description> - 2D area for detection and 2D physics influence. + 2D area for detection and physics and audio influence. </brief_description> <description> - 2D area that detects [CollisionObject2D] nodes overlapping, entering, or exiting. Can also alter or override local physics parameters (gravity, damping). + 2D area that detects [CollisionObject2D] nodes overlapping, entering, or exiting. Can also alter or override local physics parameters (gravity, damping) and route audio to a custom audio bus. </description> <tutorials> <link title="Using Area2D">https://docs.godotengine.org/en/latest/tutorials/physics/using_area_2d.html</link> @@ -13,24 +13,6 @@ <link title="2D Platformer Demo">https://godotengine.org/asset-library/asset/120</link> </tutorials> <methods> - <method name="get_collision_layer_bit" qualifiers="const"> - <return type="bool"> - </return> - <argument index="0" name="bit" type="int"> - </argument> - <description> - Returns an individual bit on the layer mask. Describes whether other areas will collide with this one on the given layer. - </description> - </method> - <method name="get_collision_mask_bit" qualifiers="const"> - <return type="bool"> - </return> - <argument index="0" name="bit" type="int"> - </argument> - <description> - Returns an individual bit on the collision mask. Describes whether this area will collide with others on the given layer. - </description> - </method> <method name="get_overlapping_areas" qualifiers="const"> <return type="Area2D[]"> </return> @@ -66,28 +48,6 @@ The [code]body[/code] argument can either be a [PhysicsBody2D] or a [TileMap] instance (while TileMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body). </description> </method> - <method name="set_collision_layer_bit"> - <return type="void"> - </return> - <argument index="0" name="bit" type="int"> - </argument> - <argument index="1" name="value" type="bool"> - </argument> - <description> - Set/clear individual bits on the layer mask. This makes getting an area in/out of only one layer easier. - </description> - </method> - <method name="set_collision_mask_bit"> - <return type="void"> - </return> - <argument index="0" name="bit" type="int"> - </argument> - <argument index="1" name="value" type="bool"> - </argument> - <description> - Set/clear individual bits on the collision mask. This makes selecting the areas scanned easier. - </description> - </method> </methods> <members> <member name="angular_damp" type="float" setter="set_angular_damp" getter="get_angular_damp" default="1.0"> @@ -100,14 +60,8 @@ <member name="audio_bus_override" type="bool" setter="set_audio_bus_override" getter="is_overriding_audio_bus" default="false"> If [code]true[/code], the area's audio bus overrides the default audio bus. </member> - <member name="collision_layer" type="int" setter="set_collision_layer" getter="get_collision_layer" default="1"> - The area's physics layer(s). Collidable objects can exist in any of 32 different layers. A contact is detected if object A is in any of the layers that object B scans, or object B is in any layers that object A scans. See also [member collision_mask]. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information. - </member> - <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="1"> - The physics layers this area scans to determine collision detection. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information. - </member> - <member name="gravity" type="float" setter="set_gravity" getter="get_gravity" default="98.0"> - The area's gravity intensity (ranges from -1024 to 1024). This value multiplies the gravity vector. This is useful to alter the force of gravity without altering its direction. + <member name="gravity" type="float" setter="set_gravity" getter="get_gravity" default="980.0"> + The area's gravity intensity (in pixels per second squared). This value multiplies the gravity vector. This is useful to alter the force of gravity without altering its direction. </member> <member name="gravity_distance_scale" type="float" setter="set_gravity_distance_scale" getter="get_gravity_distance_scale" default="0.0"> The falloff factor for point gravity. The greater the value, the faster gravity decreases with distance. @@ -153,7 +107,7 @@ </description> </signal> <signal name="area_shape_entered"> - <argument index="0" name="area_id" type="int"> + <argument index="0" name="area_rid" type="RID"> </argument> <argument index="1" name="area" type="Area2D"> </argument> @@ -170,7 +124,7 @@ </description> </signal> <signal name="area_shape_exited"> - <argument index="0" name="area_id" type="int"> + <argument index="0" name="area_rid" type="RID"> </argument> <argument index="1" name="area" type="Area2D"> </argument> @@ -203,7 +157,7 @@ </description> </signal> <signal name="body_shape_entered"> - <argument index="0" name="body_id" type="int"> + <argument index="0" name="body_rid" type="RID"> </argument> <argument index="1" name="body" type="Node2D"> </argument> @@ -220,7 +174,7 @@ </description> </signal> <signal name="body_shape_exited"> - <argument index="0" name="body_id" type="int"> + <argument index="0" name="body_rid" type="RID"> </argument> <argument index="1" name="body" type="Node2D"> </argument> diff --git a/doc/classes/Area3D.xml b/doc/classes/Area3D.xml index 4271769155..108387823b 100644 --- a/doc/classes/Area3D.xml +++ b/doc/classes/Area3D.xml @@ -1,34 +1,16 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="Area3D" inherits="CollisionObject3D" version="4.0"> <brief_description> - General-purpose area node for detection and 3D physics influence. + 3D area for detection and physics and audio influence. </brief_description> <description> - 3D area that detects [CollisionObject3D] nodes overlapping, entering, or exiting. Can also alter or override local physics parameters (gravity, damping). + 3D area that detects [CollisionObject3D] nodes overlapping, entering, or exiting. Can also alter or override local physics parameters (gravity, damping) and route audio to custom audio buses. </description> <tutorials> <link title="3D Platformer Demo">https://godotengine.org/asset-library/asset/125</link> <link title="GUI in 3D Demo">https://godotengine.org/asset-library/asset/127</link> </tutorials> <methods> - <method name="get_collision_layer_bit" qualifiers="const"> - <return type="bool"> - </return> - <argument index="0" name="bit" type="int"> - </argument> - <description> - Returns an individual bit on the layer mask. - </description> - </method> - <method name="get_collision_mask_bit" qualifiers="const"> - <return type="bool"> - </return> - <argument index="0" name="bit" type="int"> - </argument> - <description> - Returns an individual bit on the collision mask. - </description> - </method> <method name="get_overlapping_areas" qualifiers="const"> <return type="Area3D[]"> </return> @@ -64,28 +46,6 @@ The [code]body[/code] argument can either be a [PhysicsBody3D] or a [GridMap] instance (while GridMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body). </description> </method> - <method name="set_collision_layer_bit"> - <return type="void"> - </return> - <argument index="0" name="bit" type="int"> - </argument> - <argument index="1" name="value" type="bool"> - </argument> - <description> - Set/clear individual bits on the layer mask. This simplifies editing this [Area3D]'s layers. - </description> - </method> - <method name="set_collision_mask_bit"> - <return type="void"> - </return> - <argument index="0" name="bit" type="int"> - </argument> - <argument index="1" name="value" type="bool"> - </argument> - <description> - Set/clear individual bits on the collision mask. This simplifies editing which [Area3D] layers this [Area3D] scans. - </description> - </method> </methods> <members> <member name="angular_damp" type="float" setter="set_angular_damp" getter="get_angular_damp" default="0.1"> @@ -98,14 +58,8 @@ <member name="audio_bus_override" type="bool" setter="set_audio_bus_override" getter="is_overriding_audio_bus" default="false"> If [code]true[/code], the area's audio bus overrides the default audio bus. </member> - <member name="collision_layer" type="int" setter="set_collision_layer" getter="get_collision_layer" default="1"> - The area's physics layer(s). Collidable objects can exist in any of 32 different layers. A contact is detected if object A is in any of the layers that object B scans, or object B is in any layers that object A scans. See also [member collision_mask]. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information. - </member> - <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="1"> - The physics layers this area scans to determine collision detection. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information. - </member> <member name="gravity" type="float" setter="set_gravity" getter="get_gravity" default="9.8"> - The area's gravity intensity (ranges from -1024 to 1024). This value multiplies the gravity vector. This is useful to alter the force of gravity without altering its direction. + The area's gravity intensity (in meters per second squared). This value multiplies the gravity vector. This is useful to alter the force of gravity without altering its direction. </member> <member name="gravity_distance_scale" type="float" setter="set_gravity_distance_scale" getter="get_gravity_distance_scale" default="0.0"> The falloff factor for point gravity. The greater the value, the faster gravity decreases with distance. @@ -163,7 +117,7 @@ </description> </signal> <signal name="area_shape_entered"> - <argument index="0" name="area_id" type="int"> + <argument index="0" name="area_rid" type="RID"> </argument> <argument index="1" name="area" type="Area3D"> </argument> @@ -180,7 +134,7 @@ </description> </signal> <signal name="area_shape_exited"> - <argument index="0" name="area_id" type="int"> + <argument index="0" name="area_rid" type="RID"> </argument> <argument index="1" name="area" type="Area3D"> </argument> @@ -213,7 +167,7 @@ </description> </signal> <signal name="body_shape_entered"> - <argument index="0" name="body_id" type="int"> + <argument index="0" name="body_rid" type="RID"> </argument> <argument index="1" name="body" type="Node3D"> </argument> @@ -230,7 +184,7 @@ </description> </signal> <signal name="body_shape_exited"> - <argument index="0" name="body_id" type="int"> + <argument index="0" name="body_rid" type="RID"> </argument> <argument index="1" name="body" type="Node3D"> </argument> diff --git a/doc/classes/Array.xml b/doc/classes/Array.xml index dcfb91eb61..879b61a880 100644 --- a/doc/classes/Array.xml +++ b/doc/classes/Array.xml @@ -237,6 +237,45 @@ [b]Note:[/b] On large arrays, this method will be slower if the removed element is close to the beginning of the array (index 0). This is because all elements placed after the removed element have to be reindexed. </description> </method> + <method name="fill"> + <return type="void"> + </return> + <argument index="0" name="value" type="Variant"> + </argument> + <description> + Assigns the given value to all elements in the array. This can typically be used together with [method resize] to create an array with a given size and initialized elements: + [codeblocks] + [gdscript] + var array = [] + array.resize(10) + array.fill(0) # Initialize the 10 elements to 0. + [/gdscript] + [csharp] + var array = new Godot.Collections.Array{}; + array.Resize(10); + array.Fill(0); // Initialize the 10 elements to 0. + [/csharp] + [/codeblocks] + </description> + </method> + <method name="filter" qualifiers="const"> + <return type="Array"> + </return> + <argument index="0" name="method" type="Callable"> + </argument> + <description> + Calls the provided [Callable] on each element in the array and returns a new array with the elements for which the method returned [code]true[/code]. + The callable's method should take one [Variant] parameter (the current array element) and return a boolean value. + [codeblock] + func _ready(): + print([1, 2, 3].filter(remove_1)) # Prints [2, 3]. + print([1, 2, 3].filter(func(number): return number != 1)) # Same as above, but using lambda function. + + func remove_1(number): + return number != 1 + [/codeblock] + </description> + </method> <method name="find" qualifiers="const"> <return type="int"> </return> @@ -294,14 +333,14 @@ [gdscript] # Will evaluate to `true`. if 2 in [2, 4, 6, 8]: - print("Containes!") + print("Contains!") [/gdscript] [csharp] // As there is no "in" keyword in C#, you have to use Contains var array = new Godot.Collections.Array{2, 4, 6, 8}; if (array.Contains(2)) { - GD.Print("Containes!"); + GD.Print("Contains!"); } [/csharp] [/codeblocks] @@ -328,18 +367,29 @@ [b]Note:[/b] On large arrays, this method will be slower if the inserted element is close to the beginning of the array (index 0). This is because all elements placed after the newly inserted element have to be reindexed. </description> </method> - <method name="invert"> - <return type="void"> + <method name="is_empty" qualifiers="const"> + <return type="bool"> </return> <description> - Reverses the order of the elements in the array. + Returns [code]true[/code] if the array is empty. </description> </method> - <method name="is_empty" qualifiers="const"> - <return type="bool"> + <method name="map" qualifiers="const"> + <return type="Array"> </return> + <argument index="0" name="method" type="Callable"> + </argument> <description> - Returns [code]true[/code] if the array is empty. + Calls the provided [Callable] for each element in the array and returns a new array filled with values returned by the method. + The callable's method should take one [Variant] parameter (the current array element) and can return any [Variant]. + [codeblock] + func _ready(): + print([1, 2, 3].map(negate)) # Prints [-1, -2, -3]. + print([1, 2, 3].map(func(number): return -number)) # Same as above, but using lambda function. + + func negate(number): + return -number + [/codeblock] </description> </method> <method name="max" qualifiers="const"> @@ -454,6 +504,26 @@ [b]Note:[/b] On large arrays, this method is much slower than [method push_back] as it will reindex all the array's elements every time it's called. The larger the array, the slower [method push_front] will be. </description> </method> + <method name="reduce" qualifiers="const"> + <return type="Variant"> + </return> + <argument index="0" name="method" type="Callable"> + </argument> + <argument index="1" name="accum" type="Variant" default="null"> + </argument> + <description> + Calls the provided [Callable] for each element in array and accumulates the result in [code]accum[/code]. + The callable's method takes two arguments: the current value of [code]accum[/code] and the current array element. If [code]accum[/code] is [code]null[/code] (default value), the iteration will start from the second element, with the first one used as initial value of [code]accum[/code]. + [codeblock] + func _ready(): + print([1, 2, 3].reduce(sum, 10)) # Prints 16. + print([1, 2, 3].reduce(func(accum, number): return accum + number, 10)) # Same as above, but using lambda function. + + func sum(accum, number): + return accum + number + [/codeblock] + </description> + </method> <method name="remove"> <return type="void"> </return> @@ -474,6 +544,13 @@ Resizes the array to contain a different number of elements. If the array size is smaller, elements are cleared, if bigger, new elements are [code]null[/code]. </description> </method> + <method name="reverse"> + <return type="void"> + </return> + <description> + Reverses the order of the elements in the array. + </description> + </method> <method name="rfind" qualifiers="const"> <return type="int"> </return> diff --git a/doc/classes/ArrayMesh.xml b/doc/classes/ArrayMesh.xml index e2c4ed1430..7c1c4656f8 100644 --- a/doc/classes/ArrayMesh.xml +++ b/doc/classes/ArrayMesh.xml @@ -128,6 +128,16 @@ Will regenerate normal maps for the [ArrayMesh]. </description> </method> + <method name="set_blend_shape_name"> + <return type="void"> + </return> + <argument index="0" name="index" type="int"> + </argument> + <argument index="1" name="name" type="StringName"> + </argument> + <description> + </description> + </method> <method name="surface_find_by_name" qualifiers="const"> <return type="int"> </return> diff --git a/doc/classes/AudioEffectPitchShift.xml b/doc/classes/AudioEffectPitchShift.xml index afe364de63..917556fded 100644 --- a/doc/classes/AudioEffectPitchShift.xml +++ b/doc/classes/AudioEffectPitchShift.xml @@ -12,7 +12,7 @@ <methods> </methods> <members> - <member name="fft_size" type="int" setter="set_fft_size" getter="get_fft_size" enum="AudioEffectPitchShift.FFT_Size" default="3"> + <member name="fft_size" type="int" setter="set_fft_size" getter="get_fft_size" enum="AudioEffectPitchShift.FFTSize" default="3"> </member> <member name="oversampling" type="int" setter="set_oversampling" getter="get_oversampling" default="4"> </member> @@ -21,18 +21,18 @@ </member> </members> <constants> - <constant name="FFT_SIZE_256" value="0" enum="FFT_Size"> + <constant name="FFT_SIZE_256" value="0" enum="FFTSize"> </constant> - <constant name="FFT_SIZE_512" value="1" enum="FFT_Size"> + <constant name="FFT_SIZE_512" value="1" enum="FFTSize"> </constant> - <constant name="FFT_SIZE_1024" value="2" enum="FFT_Size"> + <constant name="FFT_SIZE_1024" value="2" enum="FFTSize"> </constant> - <constant name="FFT_SIZE_2048" value="3" enum="FFT_Size"> + <constant name="FFT_SIZE_2048" value="3" enum="FFTSize"> </constant> - <constant name="FFT_SIZE_4096" value="4" enum="FFT_Size"> + <constant name="FFT_SIZE_4096" value="4" enum="FFTSize"> </constant> - <constant name="FFT_SIZE_MAX" value="5" enum="FFT_Size"> - Represents the size of the [enum FFT_Size] enum. + <constant name="FFT_SIZE_MAX" value="5" enum="FFTSize"> + Represents the size of the [enum FFTSize] enum. </constant> </constants> </class> diff --git a/doc/classes/AudioEffectSpectrumAnalyzer.xml b/doc/classes/AudioEffectSpectrumAnalyzer.xml index 4c08b18f1d..79a8932e25 100644 --- a/doc/classes/AudioEffectSpectrumAnalyzer.xml +++ b/doc/classes/AudioEffectSpectrumAnalyzer.xml @@ -11,24 +11,24 @@ <members> <member name="buffer_length" type="float" setter="set_buffer_length" getter="get_buffer_length" default="2.0"> </member> - <member name="fft_size" type="int" setter="set_fft_size" getter="get_fft_size" enum="AudioEffectSpectrumAnalyzer.FFT_Size" default="2"> + <member name="fft_size" type="int" setter="set_fft_size" getter="get_fft_size" enum="AudioEffectSpectrumAnalyzer.FFTSize" default="2"> </member> <member name="tap_back_pos" type="float" setter="set_tap_back_pos" getter="get_tap_back_pos" default="0.01"> </member> </members> <constants> - <constant name="FFT_SIZE_256" value="0" enum="FFT_Size"> + <constant name="FFT_SIZE_256" value="0" enum="FFTSize"> </constant> - <constant name="FFT_SIZE_512" value="1" enum="FFT_Size"> + <constant name="FFT_SIZE_512" value="1" enum="FFTSize"> </constant> - <constant name="FFT_SIZE_1024" value="2" enum="FFT_Size"> + <constant name="FFT_SIZE_1024" value="2" enum="FFTSize"> </constant> - <constant name="FFT_SIZE_2048" value="3" enum="FFT_Size"> + <constant name="FFT_SIZE_2048" value="3" enum="FFTSize"> </constant> - <constant name="FFT_SIZE_4096" value="4" enum="FFT_Size"> + <constant name="FFT_SIZE_4096" value="4" enum="FFTSize"> </constant> - <constant name="FFT_SIZE_MAX" value="5" enum="FFT_Size"> - Represents the size of the [enum FFT_Size] enum. + <constant name="FFT_SIZE_MAX" value="5" enum="FFTSize"> + Represents the size of the [enum FFTSize] enum. </constant> </constants> </class> diff --git a/doc/classes/AudioStreamPlayer.xml b/doc/classes/AudioStreamPlayer.xml index 55190c5f9f..113cc64b9d 100644 --- a/doc/classes/AudioStreamPlayer.xml +++ b/doc/classes/AudioStreamPlayer.xml @@ -5,6 +5,7 @@ </brief_description> <description> Plays an audio stream non-positionally. + To play audio positionally, use [AudioStreamPlayer2D] or [AudioStreamPlayer3D] instead of [AudioStreamPlayer]. </description> <tutorials> <link title="Audio streams">https://docs.godotengine.org/en/latest/tutorials/audio/audio_streams.html</link> diff --git a/doc/classes/AudioStreamPlayer2D.xml b/doc/classes/AudioStreamPlayer2D.xml index d8b9385736..e7c276f463 100644 --- a/doc/classes/AudioStreamPlayer2D.xml +++ b/doc/classes/AudioStreamPlayer2D.xml @@ -1,10 +1,12 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="AudioStreamPlayer2D" inherits="Node2D" version="4.0"> <brief_description> - Plays audio in 2D. + Plays positional sound in 2D space. </brief_description> <description> Plays audio that dampens with distance from screen center. + See also [AudioStreamPlayer] to play a sound non-positionally. + [b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set [member volume_db] to a very low value like [code]-100[/code] (which isn't audible to human hearing). </description> <tutorials> <link title="Audio streams">https://docs.godotengine.org/en/latest/tutorials/audio/audio_streams.html</link> diff --git a/doc/classes/AudioStreamPlayer3D.xml b/doc/classes/AudioStreamPlayer3D.xml index 7a8c4b2cc7..db46ed2778 100644 --- a/doc/classes/AudioStreamPlayer3D.xml +++ b/doc/classes/AudioStreamPlayer3D.xml @@ -1,11 +1,13 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="AudioStreamPlayer3D" inherits="Node3D" version="4.0"> <brief_description> - Plays 3D sound in 3D space. + Plays positional sound in 3D space. </brief_description> <description> Plays a sound effect with directed sound effects, dampens with distance if needed, generates effect of hearable position in space. For greater realism, a low-pass filter is automatically applied to distant sounds. This can be disabled by setting [member attenuation_filter_cutoff_hz] to [code]20500[/code]. By default, audio is heard from the camera position. This can be changed by adding a [Listener3D] node to the scene and enabling it by calling [method Listener3D.make_current] on it. + See also [AudioStreamPlayer] to play a sound non-positionally. + [b]Note:[/b] Hiding an [AudioStreamPlayer3D] node does not disable its audio output. To temporarily disable an [AudioStreamPlayer3D]'s audio output, set [member unit_db] to a very low value like [code]-100[/code] (which isn't audible to human hearing). </description> <tutorials> <link title="Audio streams">https://docs.godotengine.org/en/latest/tutorials/audio/audio_streams.html</link> diff --git a/doc/classes/BaseButton.xml b/doc/classes/BaseButton.xml index 45ef4cb14c..f7e31f5f9c 100644 --- a/doc/classes/BaseButton.xml +++ b/doc/classes/BaseButton.xml @@ -49,7 +49,7 @@ </member> <member name="button_mask" type="int" setter="set_button_mask" getter="get_button_mask" default="1"> Binary mask to choose which mouse buttons this button will respond to. - To allow both left-click and right-click, use [code]BUTTON_MASK_LEFT | BUTTON_MASK_RIGHT[/code]. + To allow both left-click and right-click, use [code]MOUSE_BUTTON_MASK_LEFT | MOUSE_BUTTON_MASK_RIGHT[/code]. </member> <member name="disabled" type="bool" setter="set_disabled" getter="is_disabled" default="false"> If [code]true[/code], the button is in disabled state and can't be clicked or toggled. diff --git a/doc/classes/BaseMaterial3D.xml b/doc/classes/BaseMaterial3D.xml index c87398ac8f..0a7b4c5dab 100644 --- a/doc/classes/BaseMaterial3D.xml +++ b/doc/classes/BaseMaterial3D.xml @@ -142,6 +142,7 @@ </member> <member name="clearcoat_enabled" type="bool" setter="set_feature" getter="get_feature" default="false"> If [code]true[/code], clearcoat rendering is enabled. Adds a secondary transparent pass to the lighting calculation resulting in an added specular blob. This makes materials appear as if they have a clear layer on them that can be either glossy or rough. + [b]Note:[/b] Clearcoat rendering is not visible if the material's [member shading_mode] is [constant SHADING_MODE_UNSHADED]. </member> <member name="clearcoat_gloss" type="float" setter="set_clearcoat_gloss" getter="get_clearcoat_gloss" default="0.5"> Sets the roughness of the clearcoat pass. A higher value results in a smoother clearcoat while a lower value results in a rougher clearcoat. @@ -304,6 +305,7 @@ </member> <member name="rim_enabled" type="bool" setter="set_feature" getter="get_feature" default="false"> If [code]true[/code], rim effect is enabled. Rim lighting increases the brightness at glancing angles on an object. + [b]Note:[/b] Rim lighting is not visible if the material's [member shading_mode] is [constant SHADING_MODE_UNSHADED]. </member> <member name="rim_texture" type="Texture2D" setter="set_texture" getter="get_texture"> Texture used to set the strength of the rim lighting effect per-pixel. Multiplied by [member rim]. @@ -362,6 +364,8 @@ <member name="transparency" type="int" setter="set_transparency" getter="get_transparency" enum="BaseMaterial3D.Transparency" default="0"> If [code]true[/code], transparency is enabled on the body. See also [member blend_mode]. </member> + <member name="use_particle_trails" type="bool" setter="set_flag" getter="get_flag" default="false"> + </member> <member name="use_point_size" type="bool" setter="set_flag" getter="get_flag" default="false"> If [code]true[/code], render point size can be changed. [b]Note:[/b] this is only effective for objects whose geometry is point-based rather than triangle-based. See also [member point_size]. @@ -653,7 +657,9 @@ <constant name="FLAG_SUBSURFACE_MODE_SKIN" value="18" enum="Flags"> Enables the skin mode for subsurface scattering which is used to improve the look of subsurface scattering when used for human skin. </constant> - <constant name="FLAG_MAX" value="19" enum="Flags"> + <constant name="FLAG_PARTICLE_TRAILS_MODE" value="19" enum="Flags"> + </constant> + <constant name="FLAG_MAX" value="20" enum="Flags"> Represents the size of the [enum Flags] enum. </constant> <constant name="DIFFUSE_BURLEY" value="0" enum="DiffuseMode"> diff --git a/doc/classes/BoxContainer.xml b/doc/classes/BoxContainer.xml index 0d8233e6ff..ffa7c9066a 100644 --- a/doc/classes/BoxContainer.xml +++ b/doc/classes/BoxContainer.xml @@ -10,7 +10,7 @@ </tutorials> <methods> <method name="add_spacer"> - <return type="void"> + <return type="Control"> </return> <argument index="0" name="begin" type="bool"> </argument> diff --git a/doc/classes/ButtonGroup.xml b/doc/classes/ButtonGroup.xml index 5aa2d699a8..0b31352611 100644 --- a/doc/classes/ButtonGroup.xml +++ b/doc/classes/ButtonGroup.xml @@ -28,6 +28,15 @@ <members> <member name="resource_local_to_scene" type="bool" setter="set_local_to_scene" getter="is_local_to_scene" override="true" default="true" /> </members> + <signals> + <signal name="pressed"> + <argument index="0" name="button" type="Object"> + </argument> + <description> + Emitted when one of the buttons of the group is pressed. + </description> + </signal> + </signals> <constants> </constants> </class> diff --git a/doc/classes/CPUParticles2D.xml b/doc/classes/CPUParticles2D.xml index aa9f99a31e..9e70978db8 100644 --- a/doc/classes/CPUParticles2D.xml +++ b/doc/classes/CPUParticles2D.xml @@ -199,7 +199,7 @@ <member name="fract_delta" type="bool" setter="set_fractional_delta" getter="get_fractional_delta" default="true"> If [code]true[/code], results in fractional delta calculation which has a smoother particles display effect. </member> - <member name="gravity" type="Vector2" setter="set_gravity" getter="get_gravity" default="Vector2( 0, 98 )"> + <member name="gravity" type="Vector2" setter="set_gravity" getter="get_gravity" default="Vector2( 0, 980 )"> Gravity applied to every particle. </member> <member name="hue_variation" type="float" setter="set_param" getter="get_param" default="0.0"> diff --git a/doc/classes/Callable.xml b/doc/classes/Callable.xml index 0cfbd0270c..cbab1a8f50 100644 --- a/doc/classes/Callable.xml +++ b/doc/classes/Callable.xml @@ -151,6 +151,22 @@ Returns [code]true[/code] if both [Callable]s invoke the same custom target. </description> </method> + <method name="rpc" qualifiers="vararg const"> + <return type="void"> + </return> + <description> + Perform an RPC (Remote Procedure Call). This is used for multiplayer and is normally not available unless the function being called has been marked as [i]RPC[/i]. Calling it on unsupported functions will result in an error. + </description> + </method> + <method name="rpc_id" qualifiers="vararg const"> + <return type="void"> + </return> + <argument index="0" name="peer_id" type="int"> + </argument> + <description> + Perform an RPC (Remote Procedure Call) on a specific peer ID (see multiplayer documentation for reference). This is used for multiplayer and is normally not available unless the function being called has been marked as [i]RPC[/i]. Calling it on unsupported functions will result in an error. + </description> + </method> <method name="unbind" qualifiers="const"> <return type="Callable"> </return> diff --git a/doc/classes/CapsuleMesh.xml b/doc/classes/CapsuleMesh.xml index fab11d44cc..031abd0112 100644 --- a/doc/classes/CapsuleMesh.xml +++ b/doc/classes/CapsuleMesh.xml @@ -12,7 +12,8 @@ </methods> <members> <member name="mid_height" type="float" setter="set_mid_height" getter="get_mid_height" default="1.0"> - Height of the capsule mesh from the center point. + Height of the middle cylindrical part of the capsule (without the hemispherical ends). + [b]Note:[/b] The capsule's total height is equal to [member mid_height] + 2 * [member radius]. </member> <member name="radial_segments" type="int" setter="set_radial_segments" getter="get_radial_segments" default="64"> Number of radial segments on the capsule mesh. diff --git a/doc/classes/CharFXTransform.xml b/doc/classes/CharFXTransform.xml index 850098f741..7b57dc05f8 100644 --- a/doc/classes/CharFXTransform.xml +++ b/doc/classes/CharFXTransform.xml @@ -37,7 +37,7 @@ The position offset the character will be drawn with (in pixels). </member> <member name="outline" type="bool" setter="set_outline" getter="is_outline" default="false"> - If [code]ture[/code], FX transform is called for outline drawing. Setting this property won't affect drawing. + If [code]true[/code], FX transform is called for outline drawing. Setting this property won't affect drawing. </member> <member name="range" type="Vector2i" setter="set_range" getter="get_range" default="Vector2i( 0, 0 )"> Absolute character range in the string, corresponding to the glyph. Setting this property won't affect drawing. diff --git a/doc/classes/CheckBox.xml b/doc/classes/CheckBox.xml index 80febfbfe7..05e412e9da 100644 --- a/doc/classes/CheckBox.xml +++ b/doc/classes/CheckBox.xml @@ -24,6 +24,8 @@ <theme_item name="checked" type="Texture2D"> The check icon to display when the [CheckBox] is checked. </theme_item> + <theme_item name="checked_disabled" type="Texture2D"> + </theme_item> <theme_item name="disabled" type="StyleBox"> The [StyleBox] to display as a background when the [CheckBox] is disabled. </theme_item> @@ -75,11 +77,17 @@ <theme_item name="radio_checked" type="Texture2D"> If the [CheckBox] is configured as a radio button, the icon to display when the [CheckBox] is checked. </theme_item> + <theme_item name="radio_checked_disabled" type="Texture2D"> + </theme_item> <theme_item name="radio_unchecked" type="Texture2D"> If the [CheckBox] is configured as a radio button, the icon to display when the [CheckBox] is unchecked. </theme_item> + <theme_item name="radio_unchecked_disabled" type="Texture2D"> + </theme_item> <theme_item name="unchecked" type="Texture2D"> The check icon to display when the [CheckBox] is unchecked. </theme_item> + <theme_item name="unchecked_disabled" type="Texture2D"> + </theme_item> </theme_items> </class> diff --git a/doc/classes/CodeEdit.xml b/doc/classes/CodeEdit.xml index 81795abcdd..42a6df866f 100644 --- a/doc/classes/CodeEdit.xml +++ b/doc/classes/CodeEdit.xml @@ -193,8 +193,6 @@ </theme_item> <theme_item name="line_spacing" type="int" default="4"> </theme_item> - <theme_item name="mark_color" type="Color" default="Color( 1, 0.4, 0.4, 0.4 )"> - </theme_item> <theme_item name="normal" type="StyleBox"> </theme_item> <theme_item name="outline_size" type="int" default="0"> diff --git a/doc/classes/CollisionObject2D.xml b/doc/classes/CollisionObject2D.xml index e8f7a59e4c..7c4c75bf0f 100644 --- a/doc/classes/CollisionObject2D.xml +++ b/doc/classes/CollisionObject2D.xml @@ -31,6 +31,24 @@ Creates a new shape owner for the given object. Returns [code]owner_id[/code] of the new owner for future reference. </description> </method> + <method name="get_collision_layer_bit" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="bit" type="int"> + </argument> + <description> + Returns whether or not the specified [code]bit[/code] of the [member collision_layer] is set. + </description> + </method> + <method name="get_collision_mask_bit" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="bit" type="int"> + </argument> + <description> + Returns whether or not the specified [code]bit[/code] of the [member collision_mask] is set. + </description> + </method> <method name="get_rid" qualifiers="const"> <return type="RID"> </return> @@ -81,6 +99,30 @@ Removes the given shape owner. </description> </method> + <method name="set_collision_layer_bit"> + <return type="void"> + </return> + <argument index="0" name="bit" type="int"> + </argument> + <argument index="1" name="value" type="bool"> + </argument> + <description> + If [code]value[/value] is [code]true[/code], sets the specified [code]bit[/code] in the the [member collision_layer]. + If [code]value[/value] is [code]false[/code], clears the specified [code]bit[/code] in the the [member collision_layer]. + </description> + </method> + <method name="set_collision_mask_bit"> + <return type="void"> + </return> + <argument index="0" name="bit" type="int"> + </argument> + <argument index="1" name="value" type="bool"> + </argument> + <description> + If [code]value[/value] is [code]true[/code], sets the specified [code]bit[/code] in the the [member collision_mask]. + If [code]value[/value] is [code]false[/code], clears the specified [code]bit[/code] in the the [member collision_mask]. + </description> + </method> <method name="shape_find_owner" qualifiers="const"> <return type="int"> </return> @@ -216,6 +258,14 @@ </method> </methods> <members> + <member name="collision_layer" type="int" setter="set_collision_layer" getter="get_collision_layer" default="1"> + The physics layers this CollisionObject2D is in. Collision objects can exist in one or more of 32 different layers. See also [member collision_mask]. + [b]Note:[/b] A contact is detected if object A is in any of the layers that object B scans, or object B is in any layers that object A scans. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information. + </member> + <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="1"> + The physics layers this CollisionObject2D scans. Collision objects can scan one or more of 32 different layers. See also [member collision_layer]. + [b]Note:[/b] A contact is detected if object A is in any of the layers that object B scans, or object B is in any layers that object A scans. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information. + </member> <member name="input_pickable" type="bool" setter="set_pickable" getter="is_pickable" default="true"> If [code]true[/code], this object is pickable. A pickable object can detect the mouse pointer entering/leaving, and if the mouse is inside it, report input events. Requires at least one [code]collision_layer[/code] bit to be set. </member> diff --git a/doc/classes/CollisionObject3D.xml b/doc/classes/CollisionObject3D.xml index f8e897653d..522eec5cbe 100644 --- a/doc/classes/CollisionObject3D.xml +++ b/doc/classes/CollisionObject3D.xml @@ -35,6 +35,24 @@ Creates a new shape owner for the given object. Returns [code]owner_id[/code] of the new owner for future reference. </description> </method> + <method name="get_collision_layer_bit" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="bit" type="int"> + </argument> + <description> + Returns whether or not the specified [code]bit[/code] of the [member collision_layer] is set. + </description> + </method> + <method name="get_collision_mask_bit" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="bit" type="int"> + </argument> + <description> + Returns whether or not the specified [code]bit[/code] of the [member collision_mask] is set. + </description> + </method> <method name="get_rid" qualifiers="const"> <return type="RID"> </return> @@ -67,6 +85,30 @@ Removes the given shape owner. </description> </method> + <method name="set_collision_layer_bit"> + <return type="void"> + </return> + <argument index="0" name="bit" type="int"> + </argument> + <argument index="1" name="value" type="bool"> + </argument> + <description> + If [code]value[/value] is [code]true[/code], sets the specified [code]bit[/code] in the the [member collision_layer]. + If [code]value[/value] is [code]false[/code], clears the specified [code]bit[/code] in the the [member collision_layer]. + </description> + </method> + <method name="set_collision_mask_bit"> + <return type="void"> + </return> + <argument index="0" name="bit" type="int"> + </argument> + <argument index="1" name="value" type="bool"> + </argument> + <description> + If [code]value[/value] is [code]true[/code], sets the specified [code]bit[/code] in the the [member collision_mask]. + If [code]value[/value] is [code]false[/code], clears the specified [code]bit[/code] in the the [member collision_mask]. + </description> + </method> <method name="shape_find_owner" qualifiers="const"> <return type="int"> </return> @@ -180,6 +222,14 @@ </method> </methods> <members> + <member name="collision_layer" type="int" setter="set_collision_layer" getter="get_collision_layer" default="1"> + The physics layers this CollisionObject3D is in. Collision objects can exist in one or more of 32 different layers. See also [member collision_mask]. + [b]Note:[/b] A contact is detected if object A is in any of the layers that object B scans, or object B is in any layers that object A scans. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information. + </member> + <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="1"> + The physics layers this CollisionObject3D scans. Collision objects can scan one or more of 32 different layers. See also [member collision_layer]. + [b]Note:[/b] A contact is detected if object A is in any of the layers that object B scans, or object B is in any layers that object A scans. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information. + </member> <member name="input_capture_on_drag" type="bool" setter="set_capture_input_on_drag" getter="get_capture_input_on_drag" default="false"> If [code]true[/code], the [CollisionObject3D] will continue to receive input events as the mouse is dragged across its shapes. </member> diff --git a/doc/classes/Color.xml b/doc/classes/Color.xml index c33d007735..6133bb8d8c 100644 --- a/doc/classes/Color.xml +++ b/doc/classes/Color.xml @@ -269,7 +269,7 @@ <argument index="1" name="weight" type="float"> </argument> <description> - Returns the linear interpolation with another color. The interpolation factor [code]t[/code] is between 0 and 1. + Returns the linear interpolation with another color. The interpolation factor [code]weight[/code] is between 0 and 1. [codeblocks] [gdscript] var c1 = Color(1.0, 0.0, 0.0) @@ -564,442 +564,442 @@ </member> </members> <constants> - <constant name="aliceblue" value="Color( 0.94, 0.97, 1, 1 )"> + <constant name="ALICE_BLUE" value="Color( 0.94, 0.97, 1, 1 )"> Alice blue color. </constant> - <constant name="antiquewhite" value="Color( 0.98, 0.92, 0.84, 1 )"> + <constant name="ANTIQUE_WHITE" value="Color( 0.98, 0.92, 0.84, 1 )"> Antique white color. </constant> - <constant name="aqua" value="Color( 0, 1, 1, 1 )"> + <constant name="AQUA" value="Color( 0, 1, 1, 1 )"> Aqua color. </constant> - <constant name="aquamarine" value="Color( 0.5, 1, 0.83, 1 )"> + <constant name="AQUAMARINE" value="Color( 0.5, 1, 0.83, 1 )"> Aquamarine color. </constant> - <constant name="azure" value="Color( 0.94, 1, 1, 1 )"> + <constant name="AZURE" value="Color( 0.94, 1, 1, 1 )"> Azure color. </constant> - <constant name="beige" value="Color( 0.96, 0.96, 0.86, 1 )"> + <constant name="BEIGE" value="Color( 0.96, 0.96, 0.86, 1 )"> Beige color. </constant> - <constant name="bisque" value="Color( 1, 0.89, 0.77, 1 )"> + <constant name="BISQUE" value="Color( 1, 0.89, 0.77, 1 )"> Bisque color. </constant> - <constant name="black" value="Color( 0, 0, 0, 1 )"> + <constant name="BLACK" value="Color( 0, 0, 0, 1 )"> Black color. </constant> - <constant name="blanchedalmond" value="Color( 1, 0.92, 0.8, 1 )"> - Blanche almond color. + <constant name="BLANCHED_ALMOND" value="Color( 1, 0.92, 0.8, 1 )"> + Blanched almond color. </constant> - <constant name="blue" value="Color( 0, 0, 1, 1 )"> + <constant name="BLUE" value="Color( 0, 0, 1, 1 )"> Blue color. </constant> - <constant name="blueviolet" value="Color( 0.54, 0.17, 0.89, 1 )"> + <constant name="BLUE_VIOLET" value="Color( 0.54, 0.17, 0.89, 1 )"> Blue violet color. </constant> - <constant name="brown" value="Color( 0.65, 0.16, 0.16, 1 )"> + <constant name="BROWN" value="Color( 0.65, 0.16, 0.16, 1 )"> Brown color. </constant> - <constant name="burlywood" value="Color( 0.87, 0.72, 0.53, 1 )"> - Burly wood color. + <constant name="BURLYWOOD" value="Color( 0.87, 0.72, 0.53, 1 )"> + Burlywood color. </constant> - <constant name="cadetblue" value="Color( 0.37, 0.62, 0.63, 1 )"> + <constant name="CADET_BLUE" value="Color( 0.37, 0.62, 0.63, 1 )"> Cadet blue color. </constant> - <constant name="chartreuse" value="Color( 0.5, 1, 0, 1 )"> + <constant name="CHARTREUSE" value="Color( 0.5, 1, 0, 1 )"> Chartreuse color. </constant> - <constant name="chocolate" value="Color( 0.82, 0.41, 0.12, 1 )"> + <constant name="CHOCOLATE" value="Color( 0.82, 0.41, 0.12, 1 )"> Chocolate color. </constant> - <constant name="coral" value="Color( 1, 0.5, 0.31, 1 )"> + <constant name="CORAL" value="Color( 1, 0.5, 0.31, 1 )"> Coral color. </constant> - <constant name="cornflower" value="Color( 0.39, 0.58, 0.93, 1 )"> - Cornflower color. + <constant name="CORNFLOWER_BLUE" value="Color( 0.39, 0.58, 0.93, 1 )"> + Cornflower blue color. </constant> - <constant name="cornsilk" value="Color( 1, 0.97, 0.86, 1 )"> - Corn silk color. + <constant name="CORNSILK" value="Color( 1, 0.97, 0.86, 1 )"> + Cornsilk color. </constant> - <constant name="crimson" value="Color( 0.86, 0.08, 0.24, 1 )"> + <constant name="CRIMSON" value="Color( 0.86, 0.08, 0.24, 1 )"> Crimson color. </constant> - <constant name="cyan" value="Color( 0, 1, 1, 1 )"> + <constant name="CYAN" value="Color( 0, 1, 1, 1 )"> Cyan color. </constant> - <constant name="darkblue" value="Color( 0, 0, 0.55, 1 )"> + <constant name="DARK_BLUE" value="Color( 0, 0, 0.55, 1 )"> Dark blue color. </constant> - <constant name="darkcyan" value="Color( 0, 0.55, 0.55, 1 )"> + <constant name="DARK_CYAN" value="Color( 0, 0.55, 0.55, 1 )"> Dark cyan color. </constant> - <constant name="darkgoldenrod" value="Color( 0.72, 0.53, 0.04, 1 )"> + <constant name="DARK_GOLDENROD" value="Color( 0.72, 0.53, 0.04, 1 )"> Dark goldenrod color. </constant> - <constant name="darkgray" value="Color( 0.66, 0.66, 0.66, 1 )"> + <constant name="DARK_GRAY" value="Color( 0.66, 0.66, 0.66, 1 )"> Dark gray color. </constant> - <constant name="darkgreen" value="Color( 0, 0.39, 0, 1 )"> + <constant name="DARK_GREEN" value="Color( 0, 0.39, 0, 1 )"> Dark green color. </constant> - <constant name="darkkhaki" value="Color( 0.74, 0.72, 0.42, 1 )"> + <constant name="DARK_KHAKI" value="Color( 0.74, 0.72, 0.42, 1 )"> Dark khaki color. </constant> - <constant name="darkmagenta" value="Color( 0.55, 0, 0.55, 1 )"> + <constant name="DARK_MAGENTA" value="Color( 0.55, 0, 0.55, 1 )"> Dark magenta color. </constant> - <constant name="darkolivegreen" value="Color( 0.33, 0.42, 0.18, 1 )"> + <constant name="DARK_OLIVE_GREEN" value="Color( 0.33, 0.42, 0.18, 1 )"> Dark olive green color. </constant> - <constant name="darkorange" value="Color( 1, 0.55, 0, 1 )"> + <constant name="DARK_ORANGE" value="Color( 1, 0.55, 0, 1 )"> Dark orange color. </constant> - <constant name="darkorchid" value="Color( 0.6, 0.2, 0.8, 1 )"> + <constant name="DARK_ORCHID" value="Color( 0.6, 0.2, 0.8, 1 )"> Dark orchid color. </constant> - <constant name="darkred" value="Color( 0.55, 0, 0, 1 )"> + <constant name="DARK_RED" value="Color( 0.55, 0, 0, 1 )"> Dark red color. </constant> - <constant name="darksalmon" value="Color( 0.91, 0.59, 0.48, 1 )"> + <constant name="DARK_SALMON" value="Color( 0.91, 0.59, 0.48, 1 )"> Dark salmon color. </constant> - <constant name="darkseagreen" value="Color( 0.56, 0.74, 0.56, 1 )"> + <constant name="DARK_SEA_GREEN" value="Color( 0.56, 0.74, 0.56, 1 )"> Dark sea green color. </constant> - <constant name="darkslateblue" value="Color( 0.28, 0.24, 0.55, 1 )"> + <constant name="DARK_SLATE_BLUE" value="Color( 0.28, 0.24, 0.55, 1 )"> Dark slate blue color. </constant> - <constant name="darkslategray" value="Color( 0.18, 0.31, 0.31, 1 )"> + <constant name="DARK_SLATE_GRAY" value="Color( 0.18, 0.31, 0.31, 1 )"> Dark slate gray color. </constant> - <constant name="darkturquoise" value="Color( 0, 0.81, 0.82, 1 )"> + <constant name="DARK_TURQUOISE" value="Color( 0, 0.81, 0.82, 1 )"> Dark turquoise color. </constant> - <constant name="darkviolet" value="Color( 0.58, 0, 0.83, 1 )"> + <constant name="DARK_VIOLET" value="Color( 0.58, 0, 0.83, 1 )"> Dark violet color. </constant> - <constant name="deeppink" value="Color( 1, 0.08, 0.58, 1 )"> + <constant name="DEEP_PINK" value="Color( 1, 0.08, 0.58, 1 )"> Deep pink color. </constant> - <constant name="deepskyblue" value="Color( 0, 0.75, 1, 1 )"> + <constant name="DEEP_SKY_BLUE" value="Color( 0, 0.75, 1, 1 )"> Deep sky blue color. </constant> - <constant name="dimgray" value="Color( 0.41, 0.41, 0.41, 1 )"> + <constant name="DIM_GRAY" value="Color( 0.41, 0.41, 0.41, 1 )"> Dim gray color. </constant> - <constant name="dodgerblue" value="Color( 0.12, 0.56, 1, 1 )"> + <constant name="DODGER_BLUE" value="Color( 0.12, 0.56, 1, 1 )"> Dodger blue color. </constant> - <constant name="firebrick" value="Color( 0.7, 0.13, 0.13, 1 )"> + <constant name="FIREBRICK" value="Color( 0.7, 0.13, 0.13, 1 )"> Firebrick color. </constant> - <constant name="floralwhite" value="Color( 1, 0.98, 0.94, 1 )"> + <constant name="FLORAL_WHITE" value="Color( 1, 0.98, 0.94, 1 )"> Floral white color. </constant> - <constant name="forestgreen" value="Color( 0.13, 0.55, 0.13, 1 )"> + <constant name="FOREST_GREEN" value="Color( 0.13, 0.55, 0.13, 1 )"> Forest green color. </constant> - <constant name="fuchsia" value="Color( 1, 0, 1, 1 )"> + <constant name="FUCHSIA" value="Color( 1, 0, 1, 1 )"> Fuchsia color. </constant> - <constant name="gainsboro" value="Color( 0.86, 0.86, 0.86, 1 )"> + <constant name="GAINSBORO" value="Color( 0.86, 0.86, 0.86, 1 )"> Gainsboro color. </constant> - <constant name="ghostwhite" value="Color( 0.97, 0.97, 1, 1 )"> + <constant name="GHOST_WHITE" value="Color( 0.97, 0.97, 1, 1 )"> Ghost white color. </constant> - <constant name="gold" value="Color( 1, 0.84, 0, 1 )"> + <constant name="GOLD" value="Color( 1, 0.84, 0, 1 )"> Gold color. </constant> - <constant name="goldenrod" value="Color( 0.85, 0.65, 0.13, 1 )"> + <constant name="GOLDENROD" value="Color( 0.85, 0.65, 0.13, 1 )"> Goldenrod color. </constant> - <constant name="gray" value="Color( 0.75, 0.75, 0.75, 1 )"> + <constant name="GRAY" value="Color( 0.75, 0.75, 0.75, 1 )"> Gray color. </constant> - <constant name="green" value="Color( 0, 1, 0, 1 )"> + <constant name="GREEN" value="Color( 0, 1, 0, 1 )"> Green color. </constant> - <constant name="greenyellow" value="Color( 0.68, 1, 0.18, 1 )"> + <constant name="GREEN_YELLOW" value="Color( 0.68, 1, 0.18, 1 )"> Green yellow color. </constant> - <constant name="honeydew" value="Color( 0.94, 1, 0.94, 1 )"> + <constant name="HONEYDEW" value="Color( 0.94, 1, 0.94, 1 )"> Honeydew color. </constant> - <constant name="hotpink" value="Color( 1, 0.41, 0.71, 1 )"> + <constant name="HOT_PINK" value="Color( 1, 0.41, 0.71, 1 )"> Hot pink color. </constant> - <constant name="indianred" value="Color( 0.8, 0.36, 0.36, 1 )"> + <constant name="INDIAN_RED" value="Color( 0.8, 0.36, 0.36, 1 )"> Indian red color. </constant> - <constant name="indigo" value="Color( 0.29, 0, 0.51, 1 )"> + <constant name="INDIGO" value="Color( 0.29, 0, 0.51, 1 )"> Indigo color. </constant> - <constant name="ivory" value="Color( 1, 1, 0.94, 1 )"> + <constant name="IVORY" value="Color( 1, 1, 0.94, 1 )"> Ivory color. </constant> - <constant name="khaki" value="Color( 0.94, 0.9, 0.55, 1 )"> + <constant name="KHAKI" value="Color( 0.94, 0.9, 0.55, 1 )"> Khaki color. </constant> - <constant name="lavender" value="Color( 0.9, 0.9, 0.98, 1 )"> + <constant name="LAVENDER" value="Color( 0.9, 0.9, 0.98, 1 )"> Lavender color. </constant> - <constant name="lavenderblush" value="Color( 1, 0.94, 0.96, 1 )"> + <constant name="LAVENDER_BLUSH" value="Color( 1, 0.94, 0.96, 1 )"> Lavender blush color. </constant> - <constant name="lawngreen" value="Color( 0.49, 0.99, 0, 1 )"> + <constant name="LAWN_GREEN" value="Color( 0.49, 0.99, 0, 1 )"> Lawn green color. </constant> - <constant name="lemonchiffon" value="Color( 1, 0.98, 0.8, 1 )"> + <constant name="LEMON_CHIFFON" value="Color( 1, 0.98, 0.8, 1 )"> Lemon chiffon color. </constant> - <constant name="lightblue" value="Color( 0.68, 0.85, 0.9, 1 )"> + <constant name="LIGHT_BLUE" value="Color( 0.68, 0.85, 0.9, 1 )"> Light blue color. </constant> - <constant name="lightcoral" value="Color( 0.94, 0.5, 0.5, 1 )"> + <constant name="LIGHT_CORAL" value="Color( 0.94, 0.5, 0.5, 1 )"> Light coral color. </constant> - <constant name="lightcyan" value="Color( 0.88, 1, 1, 1 )"> + <constant name="LIGHT_CYAN" value="Color( 0.88, 1, 1, 1 )"> Light cyan color. </constant> - <constant name="lightgoldenrod" value="Color( 0.98, 0.98, 0.82, 1 )"> + <constant name="LIGHT_GOLDENROD" value="Color( 0.98, 0.98, 0.82, 1 )"> Light goldenrod color. </constant> - <constant name="lightgray" value="Color( 0.83, 0.83, 0.83, 1 )"> + <constant name="LIGHT_GRAY" value="Color( 0.83, 0.83, 0.83, 1 )"> Light gray color. </constant> - <constant name="lightgreen" value="Color( 0.56, 0.93, 0.56, 1 )"> + <constant name="LIGHT_GREEN" value="Color( 0.56, 0.93, 0.56, 1 )"> Light green color. </constant> - <constant name="lightpink" value="Color( 1, 0.71, 0.76, 1 )"> + <constant name="LIGHT_PINK" value="Color( 1, 0.71, 0.76, 1 )"> Light pink color. </constant> - <constant name="lightsalmon" value="Color( 1, 0.63, 0.48, 1 )"> + <constant name="LIGHT_SALMON" value="Color( 1, 0.63, 0.48, 1 )"> Light salmon color. </constant> - <constant name="lightseagreen" value="Color( 0.13, 0.7, 0.67, 1 )"> + <constant name="LIGHT_SEA_GREEN" value="Color( 0.13, 0.7, 0.67, 1 )"> Light sea green color. </constant> - <constant name="lightskyblue" value="Color( 0.53, 0.81, 0.98, 1 )"> + <constant name="LIGHT_SKY_BLUE" value="Color( 0.53, 0.81, 0.98, 1 )"> Light sky blue color. </constant> - <constant name="lightslategray" value="Color( 0.47, 0.53, 0.6, 1 )"> + <constant name="LIGHT_SLATE_GRAY" value="Color( 0.47, 0.53, 0.6, 1 )"> Light slate gray color. </constant> - <constant name="lightsteelblue" value="Color( 0.69, 0.77, 0.87, 1 )"> + <constant name="LIGHT_STEEL_BLUE" value="Color( 0.69, 0.77, 0.87, 1 )"> Light steel blue color. </constant> - <constant name="lightyellow" value="Color( 1, 1, 0.88, 1 )"> + <constant name="LIGHT_YELLOW" value="Color( 1, 1, 0.88, 1 )"> Light yellow color. </constant> - <constant name="lime" value="Color( 0, 1, 0, 1 )"> + <constant name="LIME" value="Color( 0, 1, 0, 1 )"> Lime color. </constant> - <constant name="limegreen" value="Color( 0.2, 0.8, 0.2, 1 )"> + <constant name="LIME_GREEN" value="Color( 0.2, 0.8, 0.2, 1 )"> Lime green color. </constant> - <constant name="linen" value="Color( 0.98, 0.94, 0.9, 1 )"> + <constant name="LINEN" value="Color( 0.98, 0.94, 0.9, 1 )"> Linen color. </constant> - <constant name="magenta" value="Color( 1, 0, 1, 1 )"> + <constant name="MAGENTA" value="Color( 1, 0, 1, 1 )"> Magenta color. </constant> - <constant name="maroon" value="Color( 0.69, 0.19, 0.38, 1 )"> + <constant name="MAROON" value="Color( 0.69, 0.19, 0.38, 1 )"> Maroon color. </constant> - <constant name="mediumaquamarine" value="Color( 0.4, 0.8, 0.67, 1 )"> + <constant name="MEDIUM_AQUAMARINE" value="Color( 0.4, 0.8, 0.67, 1 )"> Medium aquamarine color. </constant> - <constant name="mediumblue" value="Color( 0, 0, 0.8, 1 )"> + <constant name="MEDIUM_BLUE" value="Color( 0, 0, 0.8, 1 )"> Medium blue color. </constant> - <constant name="mediumorchid" value="Color( 0.73, 0.33, 0.83, 1 )"> + <constant name="MEDIUM_ORCHID" value="Color( 0.73, 0.33, 0.83, 1 )"> Medium orchid color. </constant> - <constant name="mediumpurple" value="Color( 0.58, 0.44, 0.86, 1 )"> + <constant name="MEDIUM_PURPLE" value="Color( 0.58, 0.44, 0.86, 1 )"> Medium purple color. </constant> - <constant name="mediumseagreen" value="Color( 0.24, 0.7, 0.44, 1 )"> + <constant name="MEDIUM_SEA_GREEN" value="Color( 0.24, 0.7, 0.44, 1 )"> Medium sea green color. </constant> - <constant name="mediumslateblue" value="Color( 0.48, 0.41, 0.93, 1 )"> + <constant name="MEDIUM_SLATE_BLUE" value="Color( 0.48, 0.41, 0.93, 1 )"> Medium slate blue color. </constant> - <constant name="mediumspringgreen" value="Color( 0, 0.98, 0.6, 1 )"> + <constant name="MEDIUM_SPRING_GREEN" value="Color( 0, 0.98, 0.6, 1 )"> Medium spring green color. </constant> - <constant name="mediumturquoise" value="Color( 0.28, 0.82, 0.8, 1 )"> + <constant name="MEDIUM_TURQUOISE" value="Color( 0.28, 0.82, 0.8, 1 )"> Medium turquoise color. </constant> - <constant name="mediumvioletred" value="Color( 0.78, 0.08, 0.52, 1 )"> + <constant name="MEDIUM_VIOLET_RED" value="Color( 0.78, 0.08, 0.52, 1 )"> Medium violet red color. </constant> - <constant name="midnightblue" value="Color( 0.1, 0.1, 0.44, 1 )"> + <constant name="MIDNIGHT_BLUE" value="Color( 0.1, 0.1, 0.44, 1 )"> Midnight blue color. </constant> - <constant name="mintcream" value="Color( 0.96, 1, 0.98, 1 )"> + <constant name="MINT_CREAM" value="Color( 0.96, 1, 0.98, 1 )"> Mint cream color. </constant> - <constant name="mistyrose" value="Color( 1, 0.89, 0.88, 1 )"> + <constant name="MISTY_ROSE" value="Color( 1, 0.89, 0.88, 1 )"> Misty rose color. </constant> - <constant name="moccasin" value="Color( 1, 0.89, 0.71, 1 )"> + <constant name="MOCCASIN" value="Color( 1, 0.89, 0.71, 1 )"> Moccasin color. </constant> - <constant name="navajowhite" value="Color( 1, 0.87, 0.68, 1 )"> + <constant name="NAVAJO_WHITE" value="Color( 1, 0.87, 0.68, 1 )"> Navajo white color. </constant> - <constant name="navyblue" value="Color( 0, 0, 0.5, 1 )"> + <constant name="NAVY_BLUE" value="Color( 0, 0, 0.5, 1 )"> Navy blue color. </constant> - <constant name="oldlace" value="Color( 0.99, 0.96, 0.9, 1 )"> + <constant name="OLD_LACE" value="Color( 0.99, 0.96, 0.9, 1 )"> Old lace color. </constant> - <constant name="olive" value="Color( 0.5, 0.5, 0, 1 )"> + <constant name="OLIVE" value="Color( 0.5, 0.5, 0, 1 )"> Olive color. </constant> - <constant name="olivedrab" value="Color( 0.42, 0.56, 0.14, 1 )"> + <constant name="OLIVE_DRAB" value="Color( 0.42, 0.56, 0.14, 1 )"> Olive drab color. </constant> - <constant name="orange" value="Color( 1, 0.65, 0, 1 )"> + <constant name="ORANGE" value="Color( 1, 0.65, 0, 1 )"> Orange color. </constant> - <constant name="orangered" value="Color( 1, 0.27, 0, 1 )"> + <constant name="ORANGE_RED" value="Color( 1, 0.27, 0, 1 )"> Orange red color. </constant> - <constant name="orchid" value="Color( 0.85, 0.44, 0.84, 1 )"> + <constant name="ORCHID" value="Color( 0.85, 0.44, 0.84, 1 )"> Orchid color. </constant> - <constant name="palegoldenrod" value="Color( 0.93, 0.91, 0.67, 1 )"> + <constant name="PALE_GOLDENROD" value="Color( 0.93, 0.91, 0.67, 1 )"> Pale goldenrod color. </constant> - <constant name="palegreen" value="Color( 0.6, 0.98, 0.6, 1 )"> + <constant name="PALE_GREEN" value="Color( 0.6, 0.98, 0.6, 1 )"> Pale green color. </constant> - <constant name="paleturquoise" value="Color( 0.69, 0.93, 0.93, 1 )"> + <constant name="PALE_TURQUOISE" value="Color( 0.69, 0.93, 0.93, 1 )"> Pale turquoise color. </constant> - <constant name="palevioletred" value="Color( 0.86, 0.44, 0.58, 1 )"> + <constant name="PALE_VIOLET_RED" value="Color( 0.86, 0.44, 0.58, 1 )"> Pale violet red color. </constant> - <constant name="papayawhip" value="Color( 1, 0.94, 0.84, 1 )"> + <constant name="PAPAYA_WHIP" value="Color( 1, 0.94, 0.84, 1 )"> Papaya whip color. </constant> - <constant name="peachpuff" value="Color( 1, 0.85, 0.73, 1 )"> + <constant name="PEACH_PUFF" value="Color( 1, 0.85, 0.73, 1 )"> Peach puff color. </constant> - <constant name="peru" value="Color( 0.8, 0.52, 0.25, 1 )"> + <constant name="PERU" value="Color( 0.8, 0.52, 0.25, 1 )"> Peru color. </constant> - <constant name="pink" value="Color( 1, 0.75, 0.8, 1 )"> + <constant name="PINK" value="Color( 1, 0.75, 0.8, 1 )"> Pink color. </constant> - <constant name="plum" value="Color( 0.87, 0.63, 0.87, 1 )"> + <constant name="PLUM" value="Color( 0.87, 0.63, 0.87, 1 )"> Plum color. </constant> - <constant name="powderblue" value="Color( 0.69, 0.88, 0.9, 1 )"> + <constant name="POWDER_BLUE" value="Color( 0.69, 0.88, 0.9, 1 )"> Powder blue color. </constant> - <constant name="purple" value="Color( 0.63, 0.13, 0.94, 1 )"> + <constant name="PURPLE" value="Color( 0.63, 0.13, 0.94, 1 )"> Purple color. </constant> - <constant name="rebeccapurple" value="Color( 0.4, 0.2, 0.6, 1 )"> + <constant name="REBECCA_PURPLE" value="Color( 0.4, 0.2, 0.6, 1 )"> Rebecca purple color. </constant> - <constant name="red" value="Color( 1, 0, 0, 1 )"> + <constant name="RED" value="Color( 1, 0, 0, 1 )"> Red color. </constant> - <constant name="rosybrown" value="Color( 0.74, 0.56, 0.56, 1 )"> + <constant name="ROSY_BROWN" value="Color( 0.74, 0.56, 0.56, 1 )"> Rosy brown color. </constant> - <constant name="royalblue" value="Color( 0.25, 0.41, 0.88, 1 )"> + <constant name="ROYAL_BLUE" value="Color( 0.25, 0.41, 0.88, 1 )"> Royal blue color. </constant> - <constant name="saddlebrown" value="Color( 0.55, 0.27, 0.07, 1 )"> + <constant name="SADDLE_BROWN" value="Color( 0.55, 0.27, 0.07, 1 )"> Saddle brown color. </constant> - <constant name="salmon" value="Color( 0.98, 0.5, 0.45, 1 )"> + <constant name="SALMON" value="Color( 0.98, 0.5, 0.45, 1 )"> Salmon color. </constant> - <constant name="sandybrown" value="Color( 0.96, 0.64, 0.38, 1 )"> + <constant name="SANDY_BROWN" value="Color( 0.96, 0.64, 0.38, 1 )"> Sandy brown color. </constant> - <constant name="seagreen" value="Color( 0.18, 0.55, 0.34, 1 )"> + <constant name="SEA_GREEN" value="Color( 0.18, 0.55, 0.34, 1 )"> Sea green color. </constant> - <constant name="seashell" value="Color( 1, 0.96, 0.93, 1 )"> + <constant name="SEASHELL" value="Color( 1, 0.96, 0.93, 1 )"> Seashell color. </constant> - <constant name="sienna" value="Color( 0.63, 0.32, 0.18, 1 )"> + <constant name="SIENNA" value="Color( 0.63, 0.32, 0.18, 1 )"> Sienna color. </constant> - <constant name="silver" value="Color( 0.75, 0.75, 0.75, 1 )"> + <constant name="SILVER" value="Color( 0.75, 0.75, 0.75, 1 )"> Silver color. </constant> - <constant name="skyblue" value="Color( 0.53, 0.81, 0.92, 1 )"> + <constant name="SKY_BLUE" value="Color( 0.53, 0.81, 0.92, 1 )"> Sky blue color. </constant> - <constant name="slateblue" value="Color( 0.42, 0.35, 0.8, 1 )"> + <constant name="SLATE_BLUE" value="Color( 0.42, 0.35, 0.8, 1 )"> Slate blue color. </constant> - <constant name="slategray" value="Color( 0.44, 0.5, 0.56, 1 )"> + <constant name="SLATE_GRAY" value="Color( 0.44, 0.5, 0.56, 1 )"> Slate gray color. </constant> - <constant name="snow" value="Color( 1, 0.98, 0.98, 1 )"> + <constant name="SNOW" value="Color( 1, 0.98, 0.98, 1 )"> Snow color. </constant> - <constant name="springgreen" value="Color( 0, 1, 0.5, 1 )"> + <constant name="SPRING_GREEN" value="Color( 0, 1, 0.5, 1 )"> Spring green color. </constant> - <constant name="steelblue" value="Color( 0.27, 0.51, 0.71, 1 )"> + <constant name="STEEL_BLUE" value="Color( 0.27, 0.51, 0.71, 1 )"> Steel blue color. </constant> - <constant name="tan" value="Color( 0.82, 0.71, 0.55, 1 )"> + <constant name="TAN" value="Color( 0.82, 0.71, 0.55, 1 )"> Tan color. </constant> - <constant name="teal" value="Color( 0, 0.5, 0.5, 1 )"> + <constant name="TEAL" value="Color( 0, 0.5, 0.5, 1 )"> Teal color. </constant> - <constant name="thistle" value="Color( 0.85, 0.75, 0.85, 1 )"> + <constant name="THISTLE" value="Color( 0.85, 0.75, 0.85, 1 )"> Thistle color. </constant> - <constant name="tomato" value="Color( 1, 0.39, 0.28, 1 )"> + <constant name="TOMATO" value="Color( 1, 0.39, 0.28, 1 )"> Tomato color. </constant> - <constant name="transparent" value="Color( 1, 1, 1, 0 )"> - Transparent color (white with no alpha). + <constant name="TRANSPARENT" value="Color( 1, 1, 1, 0 )"> + Transparent color (white with zero alpha). </constant> - <constant name="turquoise" value="Color( 0.25, 0.88, 0.82, 1 )"> + <constant name="TURQUOISE" value="Color( 0.25, 0.88, 0.82, 1 )"> Turquoise color. </constant> - <constant name="violet" value="Color( 0.93, 0.51, 0.93, 1 )"> + <constant name="VIOLET" value="Color( 0.93, 0.51, 0.93, 1 )"> Violet color. </constant> - <constant name="webgray" value="Color( 0.5, 0.5, 0.5, 1 )"> + <constant name="WEB_GRAY" value="Color( 0.5, 0.5, 0.5, 1 )"> Web gray color. </constant> - <constant name="webgreen" value="Color( 0, 0.5, 0, 1 )"> + <constant name="WEB_GREEN" value="Color( 0, 0.5, 0, 1 )"> Web green color. </constant> - <constant name="webmaroon" value="Color( 0.5, 0, 0, 1 )"> + <constant name="WEB_MAROON" value="Color( 0.5, 0, 0, 1 )"> Web maroon color. </constant> - <constant name="webpurple" value="Color( 0.5, 0, 0.5, 1 )"> + <constant name="WEB_PURPLE" value="Color( 0.5, 0, 0.5, 1 )"> Web purple color. </constant> - <constant name="wheat" value="Color( 0.96, 0.87, 0.7, 1 )"> + <constant name="WHEAT" value="Color( 0.96, 0.87, 0.7, 1 )"> Wheat color. </constant> - <constant name="white" value="Color( 1, 1, 1, 1 )"> + <constant name="WHITE" value="Color( 1, 1, 1, 1 )"> White color. </constant> - <constant name="whitesmoke" value="Color( 0.96, 0.96, 0.96, 1 )"> + <constant name="WHITE_SMOKE" value="Color( 0.96, 0.96, 0.96, 1 )"> White smoke color. </constant> - <constant name="yellow" value="Color( 1, 1, 0, 1 )"> + <constant name="YELLOW" value="Color( 1, 1, 0, 1 )"> Yellow color. </constant> - <constant name="yellowgreen" value="Color( 0.6, 0.8, 0.2, 1 )"> + <constant name="YELLOW_GREEN" value="Color( 0.6, 0.8, 0.2, 1 )"> Yellow green color. </constant> </constants> diff --git a/doc/classes/ColorPicker.xml b/doc/classes/ColorPicker.xml index 2fc4313e47..fddfd27573 100644 --- a/doc/classes/ColorPicker.xml +++ b/doc/classes/ColorPicker.xml @@ -51,6 +51,9 @@ If [code]true[/code], allows editing the color with Hue/Saturation/Value sliders. [b]Note:[/b] Cannot be enabled if raw mode is on. </member> + <member name="picker_shape" type="int" setter="set_picker_shape" getter="get_picker_shape" enum="ColorPicker.PickerShapeType" default="0"> + The shape of the color space view. See [enum PickerShapeType]. + </member> <member name="presets_enabled" type="bool" setter="set_presets_enabled" getter="are_presets_enabled" default="true"> If [code]true[/code], the "add preset" button is enabled. </member> @@ -86,6 +89,15 @@ </signal> </signals> <constants> + <constant name="SHAPE_HSV_RECTANGLE" value="0" enum="PickerShapeType"> + HSV Color Model rectangle color space. + </constant> + <constant name="SHAPE_HSV_WHEEL" value="1" enum="PickerShapeType"> + HSV Color Model rectangle color space with a wheel. + </constant> + <constant name="SHAPE_VHS_CIRCLE" value="2" enum="PickerShapeType"> + HSV Color Model circle color space. Use Saturation as a radius. + </constant> </constants> <theme_items> <theme_item name="add_preset" type="Texture2D"> @@ -110,6 +122,8 @@ <theme_item name="overbright_indicator" type="Texture2D"> The indicator used to signalize that the color value is outside the 0-1 range. </theme_item> + <theme_item name="picker_cursor" type="Texture2D"> + </theme_item> <theme_item name="preset_bg" type="Texture2D"> </theme_item> <theme_item name="screen_picker" type="Texture2D"> diff --git a/doc/classes/ConfigFile.xml b/doc/classes/ConfigFile.xml index 2cac424f2e..38948a2d6e 100644 --- a/doc/classes/ConfigFile.xml +++ b/doc/classes/ConfigFile.xml @@ -49,6 +49,12 @@ <tutorials> </tutorials> <methods> + <method name="clear"> + <return type="void"> + </return> + <description> + </description> + </method> <method name="erase_section"> <return type="void"> </return> diff --git a/doc/classes/Control.xml b/doc/classes/Control.xml index c5e820e9fe..a9a230b78f 100644 --- a/doc/classes/Control.xml +++ b/doc/classes/Control.xml @@ -50,7 +50,7 @@ [gdscript] func _gui_input(event): if event is InputEventMouseButton: - if event.button_index == BUTTON_LEFT and event.pressed: + if event.button_index == MOUSE_BUTTON_LEFT and event.pressed: print("I've been clicked D:") [/gdscript] [csharp] @@ -150,7 +150,6 @@ </argument> <description> Overrides the [Color] with given [code]name[/code] in the [member theme] resource the control uses. - [b]Note:[/b] Unlike other theme overrides, there is no way to undo a color override without manually assigning the previous color. [b]Example of overriding a label's color and resetting it later:[/b] [codeblocks] [gdscript] @@ -178,7 +177,7 @@ <argument index="1" name="constant" type="int"> </argument> <description> - Overrides an integer constant with given [code]name[/code] in the [member theme] resource the control uses. If the [code]constant[/code] is [code]0[/code], the override is cleared and the constant from assigned [Theme] is used. + Overrides an integer constant with given [code]name[/code] in the [member theme] resource the control uses. </description> </method> <method name="add_theme_font_override"> @@ -189,7 +188,7 @@ <argument index="1" name="font" type="Font"> </argument> <description> - Overrides the font with given [code]name[/code] in the [member theme] resource the control uses. If [code]font[/code] is [code]null[/code] or invalid, the override is cleared and the font from assigned [Theme] is used. + Overrides the font with given [code]name[/code] in the [member theme] resource the control uses. </description> </method> <method name="add_theme_font_size_override"> @@ -200,7 +199,7 @@ <argument index="1" name="font_size" type="int"> </argument> <description> - Overrides the font size with given [code]name[/code] in the [member theme] resource the control uses. If [code]font_size[/code] is [code]-1[/code], the override is cleared and the font size from assigned [Theme] is used. + Overrides the font size with given [code]name[/code] in the [member theme] resource the control uses. </description> </method> <method name="add_theme_icon_override"> @@ -211,7 +210,7 @@ <argument index="1" name="texture" type="Texture2D"> </argument> <description> - Overrides the icon with given [code]name[/code] in the [member theme] resource the control uses. If [code]icon[/code] is [code]null[/code] or invalid, the override is cleared and the icon from assigned [Theme] is used. + Overrides the icon with given [code]name[/code] in the [member theme] resource the control uses. </description> </method> <method name="add_theme_stylebox_override"> @@ -222,7 +221,7 @@ <argument index="1" name="stylebox" type="StyleBox"> </argument> <description> - Overrides the [StyleBox] with given [code]name[/code] in the [member theme] resource the control uses. If [code]stylebox[/code] is empty or invalid, the override is cleared and the [StyleBox] from assigned [Theme] is used. + Overrides the [StyleBox] with given [code]name[/code] in the [member theme] resource the control uses. [b]Example of modifying a property in a StyleBox by duplicating it:[/b] [codeblocks] [gdscript] @@ -463,10 +462,10 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName" default=""""> + <argument index="1" name="theme_type" type="StringName" default=""""> </argument> <description> - Returns a color from assigned [Theme] with given [code]name[/code] and associated with [Control] of given [code]node_type[/code]. + Returns a color from assigned [Theme] with given [code]name[/code] and associated with [Control] of given [code]theme_type[/code]. [codeblocks] [gdscript] func _ready(): @@ -486,10 +485,10 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName" default=""""> + <argument index="1" name="theme_type" type="StringName" default=""""> </argument> <description> - Returns a constant from assigned [Theme] with given [code]name[/code] and associated with [Control] of given [code]node_type[/code]. + Returns a constant from assigned [Theme] with given [code]name[/code] and associated with [Control] of given [code]theme_type[/code]. </description> </method> <method name="get_theme_font" qualifiers="const"> @@ -497,10 +496,10 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName" default=""""> + <argument index="1" name="theme_type" type="StringName" default=""""> </argument> <description> - Returns a font from assigned [Theme] with given [code]name[/code] and associated with [Control] of given [code]node_type[/code]. + Returns a font from assigned [Theme] with given [code]name[/code] and associated with [Control] of given [code]theme_type[/code]. </description> </method> <method name="get_theme_font_size" qualifiers="const"> @@ -508,10 +507,10 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName" default=""""> + <argument index="1" name="theme_type" type="StringName" default=""""> </argument> <description> - Returns a font size from assigned [Theme] with given [code]name[/code] and associated with [Control] of given [code]type[/code]. + Returns a font size from assigned [Theme] with given [code]name[/code] and associated with [Control] of given [code]theme_type[/code]. </description> </method> <method name="get_theme_icon" qualifiers="const"> @@ -519,10 +518,10 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName" default=""""> + <argument index="1" name="theme_type" type="StringName" default=""""> </argument> <description> - Returns an icon from assigned [Theme] with given [code]name[/code] and associated with [Control] of given [code]node_type[/code]. + Returns an icon from assigned [Theme] with given [code]name[/code] and associated with [Control] of given [code]theme_type[/code]. </description> </method> <method name="get_theme_stylebox" qualifiers="const"> @@ -530,10 +529,10 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName" default=""""> + <argument index="1" name="theme_type" type="StringName" default=""""> </argument> <description> - Returns a [StyleBox] from assigned [Theme] with given [code]name[/code] and associated with [Control] of given [code]node_type[/code]. + Returns a [StyleBox] from assigned [Theme] with given [code]name[/code] and associated with [Control] of given [code]theme_type[/code]. </description> </method> <method name="get_tooltip" qualifiers="const"> @@ -594,10 +593,10 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName" default=""""> + <argument index="1" name="theme_type" type="StringName" default=""""> </argument> <description> - Returns [code]true[/code] if [Color] with given [code]name[/code] and associated with [Control] of given [code]node_type[/code] exists in assigned [Theme]. + Returns [code]true[/code] if [Color] with given [code]name[/code] and associated with [Control] of given [code]theme_type[/code] exists in assigned [Theme]. </description> </method> <method name="has_theme_color_override" qualifiers="const"> @@ -614,10 +613,10 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName" default=""""> + <argument index="1" name="theme_type" type="StringName" default=""""> </argument> <description> - Returns [code]true[/code] if constant with given [code]name[/code] and associated with [Control] of given [code]node_type[/code] exists in assigned [Theme]. + Returns [code]true[/code] if constant with given [code]name[/code] and associated with [Control] of given [code]theme_type[/code] exists in assigned [Theme]. </description> </method> <method name="has_theme_constant_override" qualifiers="const"> @@ -634,10 +633,10 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName" default=""""> + <argument index="1" name="theme_type" type="StringName" default=""""> </argument> <description> - Returns [code]true[/code] if font with given [code]name[/code] and associated with [Control] of given [code]node_type[/code] exists in assigned [Theme]. + Returns [code]true[/code] if font with given [code]name[/code] and associated with [Control] of given [code]theme_type[/code] exists in assigned [Theme]. </description> </method> <method name="has_theme_font_override" qualifiers="const"> @@ -654,10 +653,10 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName" default=""""> + <argument index="1" name="theme_type" type="StringName" default=""""> </argument> <description> - Returns [code]true[/code] if font size with given [code]name[/code] and associated with [Control] of given [code]type[/code] exists in assigned [Theme]. + Returns [code]true[/code] if font size with given [code]name[/code] and associated with [Control] of given [code]theme_type[/code] exists in assigned [Theme]. </description> </method> <method name="has_theme_font_size_override" qualifiers="const"> @@ -674,10 +673,10 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName" default=""""> + <argument index="1" name="theme_type" type="StringName" default=""""> </argument> <description> - Returns [code]true[/code] if icon with given [code]name[/code] and associated with [Control] of given [code]node_type[/code] exists in assigned [Theme]. + Returns [code]true[/code] if icon with given [code]name[/code] and associated with [Control] of given [code]theme_type[/code] exists in assigned [Theme]. </description> </method> <method name="has_theme_icon_override" qualifiers="const"> @@ -694,10 +693,10 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName" default=""""> + <argument index="1" name="theme_type" type="StringName" default=""""> </argument> <description> - Returns [code]true[/code] if [StyleBox] with given [code]name[/code] and associated with [Control] of given [code]node_type[/code] exists in assigned [Theme]. + Returns [code]true[/code] if [StyleBox] with given [code]name[/code] and associated with [Control] of given [code]theme_type[/code] exists in assigned [Theme]. </description> </method> <method name="has_theme_stylebox_override" qualifiers="const"> @@ -730,6 +729,60 @@ Give up the focus. No other control will be able to receive keyboard input. </description> </method> + <method name="remove_theme_color_override"> + <return type="void"> + </return> + <argument index="0" name="name" type="StringName"> + </argument> + <description> + Removes a theme override for a [Color] with the given [code]name[/code]. + </description> + </method> + <method name="remove_theme_constant_override"> + <return type="void"> + </return> + <argument index="0" name="name" type="StringName"> + </argument> + <description> + Removes a theme override for a constant with the given [code]name[/code]. + </description> + </method> + <method name="remove_theme_font_override"> + <return type="void"> + </return> + <argument index="0" name="name" type="StringName"> + </argument> + <description> + Removes a theme override for a [Font] with the given [code]name[/code]. + </description> + </method> + <method name="remove_theme_font_size_override"> + <return type="void"> + </return> + <argument index="0" name="name" type="StringName"> + </argument> + <description> + Removes a theme override for a font size with the given [code]name[/code]. + </description> + </method> + <method name="remove_theme_icon_override"> + <return type="void"> + </return> + <argument index="0" name="name" type="StringName"> + </argument> + <description> + Removes a theme override for an icon with the given [code]name[/code]. + </description> + </method> + <method name="remove_theme_stylebox_override"> + <return type="void"> + </return> + <argument index="0" name="name" type="StringName"> + </argument> + <description> + Removes a theme override for a [StyleBox] with the given [code]name[/code]. + </description> + </method> <method name="set_anchor"> <return type="void"> </return> @@ -1120,7 +1173,12 @@ Tells the parent [Container] nodes how they should resize and place the node on the Y axis. Use one of the [enum SizeFlags] constants to change the flags. See the constants to learn what each does. </member> <member name="theme" type="Theme" setter="set_theme" getter="get_theme"> - Changing this property replaces the current [Theme] resource this node and all its [Control] children use. + The [Theme] resource this node and all its [Control] children use. If a child node has its own [Theme] resource set, theme items are merged with child's definitions having higher priority. + </member> + <member name="theme_custom_type" type="StringName" setter="set_theme_custom_type" getter="get_theme_custom_type" default="@"""> + The type name used by this [Control] to look up its own theme items. By default, the class name of the node is used (e.g. [code]Button[/code] for the [Button] control), as well as the class names of all parent classes (in order of inheritance). Setting this property gives the highest priority to the type of the specified name, then falls back on the class names. + [b]Note:[/b] To look up [Control]'s own items use various [code]get_theme_*[/code] methods without specifying [code]theme_type[/code]. + [b]Note:[/b] Theme items are looked for in the tree order, from branch to root, where each [Control] node is checked for its [member theme] property. The earliest match against any type/class name is returned. The project-level Theme and the default Theme are checked last. </member> </members> <signals> diff --git a/doc/classes/Curve.xml b/doc/classes/Curve.xml index 26872e1f8e..e47c420a3b 100644 --- a/doc/classes/Curve.xml +++ b/doc/classes/Curve.xml @@ -108,7 +108,7 @@ Returns the Y value for the point that would exist at the X position [code]offset[/code] along the curve. </description> </method> - <method name="interpolate_baked"> + <method name="interpolate_baked" qualifiers="const"> <return type="float"> </return> <argument index="0" name="offset" type="float"> diff --git a/doc/classes/Directory.xml b/doc/classes/Directory.xml index 6a126204c6..a9d7960501 100644 --- a/doc/classes/Directory.xml +++ b/doc/classes/Directory.xml @@ -6,6 +6,7 @@ <description> Directory type. It is used to manage directories and their content (not restricted to the project folder). When creating a new [Directory], it must be explicitly opened using [method open] before most methods can be used. However, [method file_exists] and [method dir_exists] can be used without opening a directory. If so, they use a path relative to [code]res://[/code]. + [b]Note:[/b] Many resources types are imported (e.g. textures or sound files), and their source asset will not be included in the exported game, as only the imported version is used. Use [ResourceLoader] to access imported resources. Here is an example on how to iterate through the files of a directory: [codeblocks] [gdscript] diff --git a/doc/classes/DisplayServer.xml b/doc/classes/DisplayServer.xml index 91e90d051d..0c9df071a7 100644 --- a/doc/classes/DisplayServer.xml +++ b/doc/classes/DisplayServer.xml @@ -469,46 +469,6 @@ <description> </description> </method> - <method name="native_video_is_playing" qualifiers="const"> - <return type="bool"> - </return> - <description> - </description> - </method> - <method name="native_video_pause"> - <return type="void"> - </return> - <description> - </description> - </method> - <method name="native_video_play"> - <return type="int" enum="Error"> - </return> - <argument index="0" name="path" type="String"> - </argument> - <argument index="1" name="volume" type="float"> - </argument> - <argument index="2" name="audio_track" type="String"> - </argument> - <argument index="3" name="subtitle_track" type="String"> - </argument> - <argument index="4" name="screen" type="int"> - </argument> - <description> - </description> - </method> - <method name="native_video_stop"> - <return type="void"> - </return> - <description> - </description> - </method> - <method name="native_video_unpause"> - <return type="void"> - </return> - <description> - </description> - </method> <method name="process_events"> <return type="void"> </return> @@ -1065,25 +1025,23 @@ </constant> <constant name="FEATURE_CUSTOM_CURSOR_SHAPE" value="8" enum="Feature"> </constant> - <constant name="FEATURE_NATIVE_VIDEO" value="9" enum="Feature"> - </constant> - <constant name="FEATURE_NATIVE_DIALOG" value="10" enum="Feature"> + <constant name="FEATURE_NATIVE_DIALOG" value="9" enum="Feature"> </constant> - <constant name="FEATURE_CONSOLE_WINDOW" value="11" enum="Feature"> + <constant name="FEATURE_CONSOLE_WINDOW" value="10" enum="Feature"> </constant> - <constant name="FEATURE_IME" value="12" enum="Feature"> + <constant name="FEATURE_IME" value="11" enum="Feature"> </constant> - <constant name="FEATURE_WINDOW_TRANSPARENCY" value="13" enum="Feature"> + <constant name="FEATURE_WINDOW_TRANSPARENCY" value="12" enum="Feature"> </constant> - <constant name="FEATURE_HIDPI" value="14" enum="Feature"> + <constant name="FEATURE_HIDPI" value="13" enum="Feature"> </constant> - <constant name="FEATURE_ICON" value="15" enum="Feature"> + <constant name="FEATURE_ICON" value="14" enum="Feature"> </constant> - <constant name="FEATURE_NATIVE_ICON" value="16" enum="Feature"> + <constant name="FEATURE_NATIVE_ICON" value="15" enum="Feature"> </constant> - <constant name="FEATURE_ORIENTATION" value="17" enum="Feature"> + <constant name="FEATURE_ORIENTATION" value="16" enum="Feature"> </constant> - <constant name="FEATURE_SWAP_BUFFERS" value="18" enum="Feature"> + <constant name="FEATURE_SWAP_BUFFERS" value="17" enum="Feature"> </constant> <constant name="MOUSE_MODE_VISIBLE" value="0" enum="MouseMode"> </constant> diff --git a/doc/classes/EditorInterface.xml b/doc/classes/EditorInterface.xml index b01af71852..a5328ce382 100644 --- a/doc/classes/EditorInterface.xml +++ b/doc/classes/EditorInterface.xml @@ -10,6 +10,15 @@ <tutorials> </tutorials> <methods> + <method name="edit_node"> + <return type="void"> + </return> + <argument index="0" name="node" type="Node"> + </argument> + <description> + Edits the given [Node]. The node will be also selected if it's inside the scene tree. + </description> + </method> <method name="edit_resource"> <return type="void"> </return> @@ -48,6 +57,14 @@ [b]Note:[/b] This returns the main editor control containing the whole editor, not the 2D or 3D viewports specifically. </description> </method> + <method name="get_editor_scale" qualifiers="const"> + <return type="float"> + </return> + <description> + Returns the actual scale of the editor UI ([code]1.0[/code] being 100% scale). This can be used to adjust position and dimensions of the UI added by plugins. + [b]Note:[/b] This value is set via the [code]interface/editor/display_scale[/code] and [code]interface/editor/custom_display_scale[/code] editor settings. Editor must be restarted for changes to be properly applied. + </description> + </method> <method name="get_editor_settings"> <return type="EditorSettings"> </return> diff --git a/doc/classes/EditorPlugin.xml b/doc/classes/EditorPlugin.xml index 8dcffb0b74..f6f51df7c0 100644 --- a/doc/classes/EditorPlugin.xml +++ b/doc/classes/EditorPlugin.xml @@ -157,6 +157,16 @@ Registers a custom translation parser plugin for extracting translatable strings from custom files. </description> </method> + <method name="add_undo_redo_inspector_hook_callback"> + <return type="void"> + </return> + <argument index="0" name="callable" type="Callable"> + </argument> + <description> + Hooks a callback into the undo/redo action creation when a property is modified in the inspector. This allows, for example, to save other properties that may be lost when a given property is modified. + The callback should have 4 arguments: [Object] [code]undo_redo[/code], [Object] [code]modified_object[/code], [String] [code]property[/code] and [Variant] [code]new_value[/code]. They are, respectively, the [UndoRedo] object used by the inspector, the currently modified object, the name of the modified property and the new value the property is about to take. + </description> + </method> <method name="apply_changes" qualifiers="virtual"> <return type="void"> </return> @@ -214,7 +224,7 @@ [gdscript] func forward_canvas_draw_over_viewport(overlay): # Draw a circle at cursor position. - overlay.draw_circle(overlay.get_local_mouse_position(), 64) + overlay.draw_circle(overlay.get_local_mouse_position(), 64, Color.white) func forward_canvas_gui_input(event): if event is InputEventMouseMotion: @@ -622,6 +632,15 @@ Removes a registered custom translation parser plugin. </description> </method> + <method name="remove_undo_redo_inspector_hook_callback"> + <return type="void"> + </return> + <argument index="0" name="callable" type="Callable"> + </argument> + <description> + Removes a callback previsously added by [method add_undo_redo_inspector_hook_callback]. + </description> + </method> <method name="save_external_data" qualifiers="virtual"> <return type="void"> </return> diff --git a/doc/classes/EditorResourcePicker.xml b/doc/classes/EditorResourcePicker.xml new file mode 100644 index 0000000000..30c73daa77 --- /dev/null +++ b/doc/classes/EditorResourcePicker.xml @@ -0,0 +1,115 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="EditorResourcePicker" inherits="HBoxContainer" version="4.0"> + <brief_description> + Godot editor's control for selecting [Resource] type properties. + </brief_description> + <description> + This [Control] node is used in the editor's Inspector dock to allow editing of [Resource] type properties. It provides options for creating, loading, saving and converting resources. Can be used with [EditorInspectorPlugin] to recreate the same behavior. + [b]Note:[/b] This [Control] does not include any editor for the resource, as editing is controlled by the Inspector dock itself or sub-Inspectors. + </description> + <tutorials> + </tutorials> + <methods> + <method name="can_drop_data_fw" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="position" type="Vector2"> + </argument> + <argument index="1" name="data" type="Variant"> + </argument> + <argument index="2" name="from" type="Control"> + </argument> + <description> + </description> + </method> + <method name="drop_data_fw"> + <return type="void"> + </return> + <argument index="0" name="position" type="Vector2"> + </argument> + <argument index="1" name="data" type="Variant"> + </argument> + <argument index="2" name="from" type="Control"> + </argument> + <description> + </description> + </method> + <method name="get_allowed_types" qualifiers="const"> + <return type="PackedStringArray"> + </return> + <description> + Returns a list of all allowed types and subtypes corresponding to the [member base_type]. If the [member base_type] is empty, an empty list is returned. + </description> + </method> + <method name="get_drag_data_fw"> + <return type="Variant"> + </return> + <argument index="0" name="position" type="Vector2"> + </argument> + <argument index="1" name="from" type="Control"> + </argument> + <description> + </description> + </method> + <method name="handle_menu_selected" qualifiers="virtual"> + <return type="void"> + </return> + <argument index="0" name="id" type="int"> + </argument> + <description> + This virtual method can be implemented to handle context menu items not handled by default. See [method set_create_options]. + </description> + </method> + <method name="set_create_options" qualifiers="virtual"> + <return type="void"> + </return> + <argument index="0" name="menu_node" type="Object"> + </argument> + <description> + This virtual method is called when updating the context menu of [EditorResourcePicker]. Implement this method to override the "New ..." items with your own options. [code]menu_node[/code] is a reference to the [PopupMenu] node. + [b]Note:[/b] Implement [method handle_menu_selected] to handle these custom items. + </description> + </method> + <method name="set_toggle_pressed"> + <return type="void"> + </return> + <argument index="0" name="pressed" type="bool"> + </argument> + <description> + Sets the toggle mode state for the main button. Works only if [member toggle_mode] is set to [code]true[/code]. + </description> + </method> + </methods> + <members> + <member name="base_type" type="String" setter="set_base_type" getter="get_base_type" default=""""> + The base type of allowed resource types. Can be a comma-separated list of several options. + </member> + <member name="editable" type="bool" setter="set_editable" getter="is_editable" default="true"> + If [code]true[/code], the value can be selected and edited. + </member> + <member name="edited_resource" type="Resource" setter="set_edited_resource" getter="get_edited_resource"> + The edited resource value. + </member> + <member name="toggle_mode" type="bool" setter="set_toggle_mode" getter="is_toggle_mode" default="false"> + If [code]true[/code], the main button with the resource preview works in the toggle mode. Use [method set_toggle_pressed] to manually set the state. + </member> + </members> + <signals> + <signal name="resource_changed"> + <argument index="0" name="resource" type="Resource"> + </argument> + <description> + Emitted when the value of the edited resource was changed. + </description> + </signal> + <signal name="resource_selected"> + <argument index="0" name="resource" type="Resource"> + </argument> + <description> + Emitted when the resource value was set and user clicked to edit it. + </description> + </signal> + </signals> + <constants> + </constants> +</class> diff --git a/doc/classes/EditorSceneImporter.xml b/doc/classes/EditorSceneImporter.xml index db85b859e5..aa55a1653d 100644 --- a/doc/classes/EditorSceneImporter.xml +++ b/doc/classes/EditorSceneImporter.xml @@ -74,21 +74,11 @@ </constant> <constant name="IMPORT_ANIMATION" value="2"> </constant> - <constant name="IMPORT_ANIMATION_DETECT_LOOP" value="4"> + <constant name="IMPORT_FAIL_ON_MISSING_DEPENDENCIES" value="4"> </constant> - <constant name="IMPORT_ANIMATION_OPTIMIZE" value="8"> + <constant name="IMPORT_GENERATE_TANGENT_ARRAYS" value="8"> </constant> - <constant name="IMPORT_ANIMATION_FORCE_ALL_TRACKS_IN_ALL_CLIPS" value="16"> - </constant> - <constant name="IMPORT_ANIMATION_KEEP_VALUE_TRACKS" value="32"> - </constant> - <constant name="IMPORT_GENERATE_TANGENT_ARRAYS" value="256"> - </constant> - <constant name="IMPORT_FAIL_ON_MISSING_DEPENDENCIES" value="512"> - </constant> - <constant name="IMPORT_MATERIALS_IN_INSTANCES" value="1024"> - </constant> - <constant name="IMPORT_USE_COMPRESSION" value="2048"> + <constant name="IMPORT_USE_NAMED_SKIN_BINDS" value="16"> </constant> </constants> </class> diff --git a/doc/classes/EditorSceneImporterMesh.xml b/doc/classes/EditorSceneImporterMesh.xml index 58b7104667..9daa3f16bc 100644 --- a/doc/classes/EditorSceneImporterMesh.xml +++ b/doc/classes/EditorSceneImporterMesh.xml @@ -60,9 +60,17 @@ <description> </description> </method> + <method name="get_lightmap_size_hint" qualifiers="const"> + <return type="Vector2i"> + </return> + <description> + </description> + </method> <method name="get_mesh"> <return type="ArrayMesh"> </return> + <argument index="0" name="arg0" type="Mesh"> + </argument> <description> </description> </method> @@ -150,6 +158,14 @@ <description> </description> </method> + <method name="set_lightmap_size_hint"> + <return type="void"> + </return> + <argument index="0" name="size" type="Vector2i"> + </argument> + <description> + </description> + </method> </methods> <members> <member name="_data" type="Dictionary" setter="_set_data" getter="_get_data" default="{"surfaces": [ ]}"> diff --git a/doc/classes/EditorScenePostImport.xml b/doc/classes/EditorScenePostImport.xml index 5cddecffa8..d1cdc4e43e 100644 --- a/doc/classes/EditorScenePostImport.xml +++ b/doc/classes/EditorScenePostImport.xml @@ -62,13 +62,6 @@ Returns the source file path which got imported (e.g. [code]res://scene.dae[/code]). </description> </method> - <method name="get_source_folder" qualifiers="const"> - <return type="String"> - </return> - <description> - Returns the resource folder the imported scene file is located in. - </description> - </method> <method name="post_import" qualifiers="virtual"> <return type="Object"> </return> diff --git a/doc/classes/EditorScriptPicker.xml b/doc/classes/EditorScriptPicker.xml new file mode 100644 index 0000000000..8334676d92 --- /dev/null +++ b/doc/classes/EditorScriptPicker.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="EditorScriptPicker" inherits="EditorResourcePicker" version="4.0"> + <brief_description> + Godot editor's control for selecting the [code]script[/code] property of a [Node]. + </brief_description> + <description> + Similar to [EditorResourcePicker] this [Control] node is used in the editor's Inspector dock, but only to edit the [code]script[/code] property of a [Node]. Default options for creating new resources of all possible subtypes are replaced with dedicated buttons that open the "Attach Node Script" dialog. Can be used with [EditorInspectorPlugin] to recreate the same behavior. + [b]Note:[/b] You must set the [member script_owner] for the custom context menu items to work. + </description> + <tutorials> + </tutorials> + <methods> + </methods> + <members> + <member name="script_owner" type="Node" setter="set_script_owner" getter="get_script_owner"> + The owner [Node] of the script property that holds the edited resource. + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/EditorSelection.xml b/doc/classes/EditorSelection.xml index 1ff9744b70..63e89750c3 100644 --- a/doc/classes/EditorSelection.xml +++ b/doc/classes/EditorSelection.xml @@ -17,6 +17,7 @@ </argument> <description> Adds a node to the selection. + [b]Note:[/b] The newly selected node will not be automatically edited in the inspector. If you want to edit a node, use [method EditorInterface.edit_node]. </description> </method> <method name="clear"> diff --git a/doc/classes/EditorSpinSlider.xml b/doc/classes/EditorSpinSlider.xml index 381f4fae04..f2c5a00640 100644 --- a/doc/classes/EditorSpinSlider.xml +++ b/doc/classes/EditorSpinSlider.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="EditorSpinSlider" inherits="Range" version="4.0"> <brief_description> + Godot editor's control for editing numertic values. </brief_description> <description> + This [Control] node is used in the editor's Inspector dock to allow editing of numeric values. Can be used with [EditorInspectorPlugin] to recreate the same behavior. </description> <tutorials> </tutorials> diff --git a/doc/classes/Engine.xml b/doc/classes/Engine.xml index f9d8cf574a..1147b52102 100644 --- a/doc/classes/Engine.xml +++ b/doc/classes/Engine.xml @@ -156,7 +156,15 @@ </methods> <members> <member name="editor_hint" type="bool" setter="set_editor_hint" getter="is_editor_hint" default="true"> - If [code]true[/code], it is running inside the editor. Useful for tool scripts. + If [code]true[/code], the script is currently running inside the editor. This is useful for [code]@tool[/code] scripts to conditionally draw editor helpers, or prevent accidentally running "game" code that would affect the scene state while in the editor: + [codeblock] + if Engine.editor_hint: + draw_gizmos() + else: + simulate_physics() + [/codeblock] + See [url=https://docs.godotengine.org/en/latest/tutorials/plugins/running_code_in_the_editor.html]Running code in the editor[/url] in the documentation for more information. + [b]Note:[/b] To detect whether the script is run from an editor [i]build[/i] (e.g. when pressing [kbd]F5[/kbd]), use [method OS.has_feature] with the [code]"editor"[/code] argument instead. [code]OS.has_feature("editor")[/code] will evaluate to [code]true[/code] both when the code is running in the editor and when running the project from the editor, but it will evaluate to [code]false[/code] when the code is run from an exported project. </member> <member name="iterations_per_second" type="int" setter="set_iterations_per_second" getter="get_iterations_per_second" default="60"> The number of fixed iterations per second. This controls how often physics simulation and [method Node._physics_process] methods are run. This value should generally always be set to [code]60[/code] or above, as Godot doesn't interpolate the physics step. As a result, values lower than [code]60[/code] will look stuttery. This value can be increased to make input more reactive or work around tunneling issues, but keep in mind doing so will increase CPU usage. diff --git a/doc/classes/Environment.xml b/doc/classes/Environment.xml index 821aa91d21..6909fac2b7 100644 --- a/doc/classes/Environment.xml +++ b/doc/classes/Environment.xml @@ -176,6 +176,8 @@ <member name="sdfgi_cascades" type="int" setter="set_sdfgi_cascades" getter="get_sdfgi_cascades" enum="Environment.SDFGICascades" default="1"> </member> <member name="sdfgi_enabled" type="bool" setter="set_sdfgi_enabled" getter="is_sdfgi_enabled" default="false"> + If [code]true[/code], enables signed distance field global illumination. + [b]Note:[/b] Meshes should have sufficiently thick walls to avoid light leaks (avoid one-sided walls). For interior levels, enclose your level geometry in a sufficiently large box and bridge the loops to close the mesh. </member> <member name="sdfgi_energy" type="float" setter="set_sdfgi_energy" getter="get_sdfgi_energy" default="1.0"> </member> diff --git a/doc/classes/File.xml b/doc/classes/File.xml index e0781e807f..f0b9156b89 100644 --- a/doc/classes/File.xml +++ b/doc/classes/File.xml @@ -275,6 +275,7 @@ </argument> <description> Opens a compressed file for reading or writing. + [b]Note:[/b] [method open_compressed] can only read files that were saved by Godot, not third-party compression formats. See [url=https://github.com/godotengine/godot/issues/28999]GitHub issue #28999[/url] for a workaround. </description> </method> <method name="open_encrypted"> diff --git a/doc/classes/FileDialog.xml b/doc/classes/FileDialog.xml index ed437aefd5..966be0a981 100644 --- a/doc/classes/FileDialog.xml +++ b/doc/classes/FileDialog.xml @@ -133,6 +133,9 @@ </constant> </constants> <theme_items> + <theme_item name="back_folder" type="Texture2D"> + Custom icon for the back arrow. + </theme_item> <theme_item name="file" type="Texture2D"> Custom icon for files. </theme_item> @@ -148,6 +151,9 @@ <theme_item name="folder_icon_modulate" type="Color" default="Color( 1, 1, 1, 1 )"> The color modulation applied to the folder icon. </theme_item> + <theme_item name="forward_folder" type="Texture2D"> + Custom icon for the forward arrow. + </theme_item> <theme_item name="parent_folder" type="Texture2D"> Custom icon for the parent folder arrow. </theme_item> diff --git a/doc/classes/GIProbe.xml b/doc/classes/GIProbe.xml index dd51248fd9..4f56d1ad3e 100644 --- a/doc/classes/GIProbe.xml +++ b/doc/classes/GIProbe.xml @@ -6,6 +6,7 @@ <description> [GIProbe]s are used to provide high-quality real-time indirect light to scenes. They precompute the effect of objects that emit light and the effect of static geometry to simulate the behavior of complex light in real-time. [GIProbe]s need to be baked before using, however, once baked, dynamic objects will receive light from them. Further, lights can be fully dynamic or baked. Having [GIProbe]s in a scene can be expensive, the quality of the probe can be turned down in exchange for better performance in the [ProjectSettings] using [member ProjectSettings.rendering/global_illumination/gi_probes/quality]. + [b]Note:[/b] Meshes should have sufficiently thick walls to avoid light leaks (avoid one-sided walls). For interior levels, enclose your level geometry in a sufficiently large box and bridge the loops to close the mesh. </description> <tutorials> <link title="GI probes">https://docs.godotengine.org/en/latest/tutorials/3d/gi_probes.html</link> diff --git a/doc/classes/GPUParticles3D.xml b/doc/classes/GPUParticles3D.xml index aea106af50..e5d6581ddc 100644 --- a/doc/classes/GPUParticles3D.xml +++ b/doc/classes/GPUParticles3D.xml @@ -87,18 +87,22 @@ <member name="draw_passes" type="int" setter="set_draw_passes" getter="get_draw_passes" default="1"> The number of draw passes when rendering particles. </member> + <member name="draw_skin" type="Skin" setter="set_skin" getter="get_skin"> + </member> <member name="emitting" type="bool" setter="set_emitting" getter="is_emitting" default="true"> If [code]true[/code], particles are being emitted. </member> <member name="explosiveness" type="float" setter="set_explosiveness_ratio" getter="get_explosiveness_ratio" default="0.0"> Time ratio between each emission. If [code]0[/code], particles are emitted continuously. If [code]1[/code], all particles are emitted simultaneously. </member> - <member name="fixed_fps" type="int" setter="set_fixed_fps" getter="get_fixed_fps" default="0"> + <member name="fixed_fps" type="int" setter="set_fixed_fps" getter="get_fixed_fps" default="30"> The particle system's frame rate is fixed to a value. For instance, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the simulation of the particle system itself. </member> <member name="fract_delta" type="bool" setter="set_fractional_delta" getter="get_fractional_delta" default="true"> If [code]true[/code], results in fractional delta calculation which has a smoother particles display effect. </member> + <member name="interpolate" type="bool" setter="set_interpolate" getter="get_interpolate" default="true"> + </member> <member name="lifetime" type="float" setter="set_lifetime" getter="get_lifetime" default="1.0"> Amount of time each particle will exist. </member> @@ -122,6 +126,12 @@ </member> <member name="sub_emitter" type="NodePath" setter="set_sub_emitter" getter="get_sub_emitter" default="NodePath("")"> </member> + <member name="trail_enabled" type="bool" setter="set_enable_trail" getter="is_trail_enabled" default="false"> + </member> + <member name="trail_length_secs" type="float" setter="set_trail_length" getter="get_trail_length" default="0.3"> + </member> + <member name="transform_align" type="int" setter="set_transform_align" getter="get_transform_align" enum="GPUParticles3D.TransformAlign" default="0"> + </member> <member name="visibility_aabb" type="AABB" setter="set_visibility_aabb" getter="get_visibility_aabb" default="AABB( -4, -4, -4, 8, 8, 8 )"> The [AABB] that determines the node's region which needs to be visible on screen for the particle system to be active. Grow the box if particles suddenly appear/disappear when the node enters/exits the screen. The [AABB] can be grown via code or with the [b]Particles → Generate AABB[/b] editor tool. @@ -150,5 +160,13 @@ <constant name="MAX_DRAW_PASSES" value="4"> Maximum number of draw passes supported. </constant> + <constant name="TRANSFORM_ALIGN_DISABLED" value="0" enum="TransformAlign"> + </constant> + <constant name="TRANSFORM_ALIGN_Z_BILLBOARD" value="1" enum="TransformAlign"> + </constant> + <constant name="TRANSFORM_ALIGN_Y_TO_VELOCITY" value="2" enum="TransformAlign"> + </constant> + <constant name="TRANSFORM_ALIGN_Z_BILLBOARD_Y_TO_VELOCITY" value="3" enum="TransformAlign"> + </constant> </constants> </class> diff --git a/doc/classes/Geometry2D.xml b/doc/classes/Geometry2D.xml index 2c0d9b54d1..13354ec19e 100644 --- a/doc/classes/Geometry2D.xml +++ b/doc/classes/Geometry2D.xml @@ -184,7 +184,7 @@ </argument> <description> Merges (combines) [code]polygon_a[/code] and [code]polygon_b[/code] and returns an array of merged polygons. This performs [constant OPERATION_UNION] between polygons. - The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distinguished by calling [method is_polygon_clockwise]. + The operation may result in an outer polygon (boundary) and multiple inner polygons (holes) produced which could be distinguished by calling [method is_polygon_clockwise]. </description> </method> <method name="offset_polygon"> diff --git a/doc/classes/GeometryInstance3D.xml b/doc/classes/GeometryInstance3D.xml index 631a30abab..b2c3bfc3ed 100644 --- a/doc/classes/GeometryInstance3D.xml +++ b/doc/classes/GeometryInstance3D.xml @@ -48,6 +48,8 @@ </member> <member name="gi_mode" type="int" setter="set_gi_mode" getter="get_gi_mode" enum="GeometryInstance3D.GIMode" default="0"> </member> + <member name="ignore_occlusion_culling" type="bool" setter="set_ignore_occlusion_culling" getter="is_ignoring_occlusion_culling" default="false"> + </member> <member name="lod_bias" type="float" setter="set_lod_bias" getter="get_lod_bias" default="1.0"> </member> <member name="lod_max_distance" type="float" setter="set_lod_max_distance" getter="get_lod_max_distance" default="0.0"> diff --git a/doc/classes/GraphNode.xml b/doc/classes/GraphNode.xml index aae3126c0f..82ba45f11a 100644 --- a/doc/classes/GraphNode.xml +++ b/doc/classes/GraphNode.xml @@ -40,7 +40,7 @@ <argument index="0" name="idx" type="int"> </argument> <description> - Returns the color of the input connection [code]idx[/code]. + Returns the [Color] of the input connection [code]idx[/code]. </description> </method> <method name="get_connection_input_count"> @@ -74,7 +74,7 @@ <argument index="0" name="idx" type="int"> </argument> <description> - Returns the color of the output connection [code]idx[/code]. + Returns the [Color] of the output connection [code]idx[/code]. </description> </method> <method name="get_connection_output_count"> @@ -117,7 +117,7 @@ <argument index="0" name="idx" type="int"> </argument> <description> - Returns the color set to [code]idx[/code] left (input) slot. + Returns the left (input) [Color] of the slot [code]idx[/code]. </description> </method> <method name="get_slot_color_right" qualifiers="const"> @@ -126,7 +126,7 @@ <argument index="0" name="idx" type="int"> </argument> <description> - Returns the color set to [code]idx[/code] right (output) slot. + Returns the right (output) [Color] of the slot [code]idx[/code]. </description> </method> <method name="get_slot_type_left" qualifiers="const"> @@ -135,7 +135,7 @@ <argument index="0" name="idx" type="int"> </argument> <description> - Returns the (integer) type of left (input) [code]idx[/code] slot. + Returns the left (input) type of the slot [code]idx[/code]. </description> </method> <method name="get_slot_type_right" qualifiers="const"> @@ -144,7 +144,7 @@ <argument index="0" name="idx" type="int"> </argument> <description> - Returns the (integer) type of right (output) [code]idx[/code] slot. + Returns the right (output) type of the slot [code]idx[/code]. </description> </method> <method name="is_slot_enabled_left" qualifiers="const"> @@ -153,7 +153,7 @@ <argument index="0" name="idx" type="int"> </argument> <description> - Returns [code]true[/code] if left (input) slot [code]idx[/code] is enabled, [code]false[/code] otherwise. + Returns [code]true[/code] if left (input) side of the slot [code]idx[/code] is enabled. </description> </method> <method name="is_slot_enabled_right" qualifiers="const"> @@ -162,7 +162,7 @@ <argument index="0" name="idx" type="int"> </argument> <description> - Returns [code]true[/code] if right (output) slot [code]idx[/code] is enabled, [code]false[/code] otherwise. + Returns [code]true[/code] if right (output) side of the slot [code]idx[/code] is enabled. </description> </method> <method name="set_opentype_feature"> @@ -204,6 +204,73 @@ [code]color_left[/code]/[code]right[/code] is the tint of the port's icon on this side. [code]custom_left[/code]/[code]right[/code] is a custom texture for this side's port. [b]Note:[/b] This method only sets properties of the slot. To create the slot, add a [Control]-derived child to the GraphNode. + Individual properties can be set using one of the [code]set_slot_*[/code] methods. You must enable at least one side of the slot to do so. + </description> + </method> + <method name="set_slot_color_left"> + <return type="void"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <argument index="1" name="color_left" type="Color"> + </argument> + <description> + Sets the [Color] of the left (input) side of the slot [code]idx[/code] to [code]color_left[/code]. + </description> + </method> + <method name="set_slot_color_right"> + <return type="void"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <argument index="1" name="color_right" type="Color"> + </argument> + <description> + Sets the [Color] of the right (output) side of the slot [code]idx[/code] to [code]color_right[/code]. + </description> + </method> + <method name="set_slot_enabled_left"> + <return type="void"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <argument index="1" name="enable_left" type="bool"> + </argument> + <description> + Toggles the left (input) side of the slot [code]idx[/code]. If [code]enable_left[/code] is [code]true[/code], a port will appear on the left side and the slot will be able to be connected from this side. + </description> + </method> + <method name="set_slot_enabled_right"> + <return type="void"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <argument index="1" name="enable_right" type="bool"> + </argument> + <description> + Toggles the right (output) side of the slot [code]idx[/code]. If [code]enable_right[/code] is [code]true[/code], a port will appear on the right side and the slot will be able to be connected from this side. + </description> + </method> + <method name="set_slot_type_left"> + <return type="void"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <argument index="1" name="type_left" type="int"> + </argument> + <description> + Sets the left (input) type of the slot [code]idx[/code] to [code]type_left[/code]. + </description> + </method> + <method name="set_slot_type_right"> + <return type="void"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <argument index="1" name="type_right" type="int"> + </argument> + <description> + Sets the right (output) type of the slot [code]idx[/code] to [code]type_right[/code]. </description> </method> </methods> diff --git a/doc/classes/HeightMapShape3D.xml b/doc/classes/HeightMapShape3D.xml index 6d230bdab8..f6f2a27891 100644 --- a/doc/classes/HeightMapShape3D.xml +++ b/doc/classes/HeightMapShape3D.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="HeightMapShape3D" inherits="Shape3D" version="4.0"> <brief_description> - Height map shape for 3D physics (Bullet only). + Height map shape for 3D physics. </brief_description> <description> Height map shape resource, which can be added to a [PhysicsBody3D] or [Area3D]. diff --git a/doc/classes/IP.xml b/doc/classes/IP.xml index 849f036bbd..44da913492 100644 --- a/doc/classes/IP.xml +++ b/doc/classes/IP.xml @@ -4,7 +4,7 @@ Internet protocol (IP) support functions such as DNS resolution. </brief_description> <description> - IP contains support functions for the Internet Protocol (IP). TCP/IP support is in different classes (see [StreamPeerTCP] and [TCP_Server]). IP provides DNS hostname resolution support, both blocking and threaded. + IP contains support functions for the Internet Protocol (IP). TCP/IP support is in different classes (see [StreamPeerTCP] and [TCPServer]). IP provides DNS hostname resolution support, both blocking and threaded. </description> <tutorials> </tutorials> diff --git a/doc/classes/Image.xml b/doc/classes/Image.xml index 9d87c9bf9a..91a07f66e0 100644 --- a/doc/classes/Image.xml +++ b/doc/classes/Image.xml @@ -186,7 +186,8 @@ <return type="int" enum="Error"> </return> <description> - Decompresses the image if it is compressed. Returns an error if decompress function is not available. + Decompresses the image if it is VRAM compressed in a supported format. Returns [constant OK] if the format is supported, otherwise [constant ERR_UNAVAILABLE]. + [b]Note:[/b] The following formats can be decompressed: DXT, RGTC, BPTC, PVRTC1. The formats ETC1 and ETC2 are not supported. </description> </method> <method name="detect_alpha" qualifiers="const"> diff --git a/doc/classes/ImageTexture.xml b/doc/classes/ImageTexture.xml index 2bea482bc1..5fef56e354 100644 --- a/doc/classes/ImageTexture.xml +++ b/doc/classes/ImageTexture.xml @@ -18,11 +18,11 @@ var texture = load("res://icon.png") $Sprite2D.texture = texture [/codeblock] - This is because images have to be imported as [StreamTexture2D] first to be loaded with [method @GDScript.load]. If you'd still like to load an image file just like any other [Resource], import it as an [Image] resource instead, and then load it normally using the [method @GDScript.load] method. - But do note that the image data can still be retrieved from an imported texture as well using the [method Texture2D.get_data] method, which returns a copy of the data: + This is because images have to be imported as a [StreamTexture2D] first to be loaded with [method @GDScript.load]. If you'd still like to load an image file just like any other [Resource], import it as an [Image] resource instead, and then load it normally using the [method @GDScript.load] method. + [b]Note:[/b] The image can be retrieved from an imported texture using the [method Texture2D.get_image] method, which returns a copy of the image: [codeblock] var texture = load("res://icon.png") - var image : Image = texture.get_data() + var image : Image = texture.get_image() [/codeblock] An [ImageTexture] is not meant to be operated from within the editor interface directly, and is mostly useful for rendering images on screen dynamically via code. If you need to generate images procedurally from within the editor, consider saving and importing images as custom texture resources implementing a new [EditorImportPlugin]. [b]Note:[/b] The maximum texture size is 16384×16384 pixels due to graphics hardware limitations. diff --git a/doc/classes/Input.xml b/doc/classes/Input.xml index 659d791ccf..d7408cd0ff 100644 --- a/doc/classes/Input.xml +++ b/doc/classes/Input.xml @@ -126,7 +126,7 @@ <argument index="1" name="axis" type="int"> </argument> <description> - Returns the current value of the joypad axis at given index (see [enum JoyAxisList]). + Returns the current value of the joypad axis at given index (see [enum JoyAxis]). </description> </method> <method name="get_joy_guid" qualifiers="const"> @@ -255,7 +255,7 @@ <argument index="1" name="button" type="int"> </argument> <description> - Returns [code]true[/code] if you are pressing the joypad button (see [enum JoyButtonList]). + Returns [code]true[/code] if you are pressing the joypad button (see [enum JoyButton]). </description> </method> <method name="is_joy_known"> @@ -273,7 +273,7 @@ <argument index="0" name="keycode" type="int"> </argument> <description> - Returns [code]true[/code] if you are pressing the key in the current keyboard layout. You can pass a [enum KeyList] constant. + Returns [code]true[/code] if you are pressing the key in the current keyboard layout. You can pass a [enum Key] constant. </description> </method> <method name="is_mouse_button_pressed" qualifiers="const"> @@ -282,7 +282,7 @@ <argument index="0" name="button" type="int"> </argument> <description> - Returns [code]true[/code] if you are pressing the mouse button specified with [enum ButtonList]. + Returns [code]true[/code] if you are pressing the mouse button specified with [enum MouseButton]. </description> </method> <method name="joy_connection_changed"> diff --git a/doc/classes/InputEventJoypadButton.xml b/doc/classes/InputEventJoypadButton.xml index 6ab4942f85..b1f4836f6e 100644 --- a/doc/classes/InputEventJoypadButton.xml +++ b/doc/classes/InputEventJoypadButton.xml @@ -13,7 +13,7 @@ </methods> <members> <member name="button_index" type="int" setter="set_button_index" getter="get_button_index" default="0"> - Button identifier. One of the [enum JoyButtonList] button constants. + Button identifier. One of the [enum JoyButton] button constants. </member> <member name="pressed" type="bool" setter="set_pressed" getter="is_pressed" default="false"> If [code]true[/code], the button's state is pressed. If [code]false[/code], the button's state is released. diff --git a/doc/classes/InputEventJoypadMotion.xml b/doc/classes/InputEventJoypadMotion.xml index 2d7787b568..39fdb14016 100644 --- a/doc/classes/InputEventJoypadMotion.xml +++ b/doc/classes/InputEventJoypadMotion.xml @@ -13,7 +13,7 @@ </methods> <members> <member name="axis" type="int" setter="set_axis" getter="get_axis" default="0"> - Axis identifier. Use one of the [enum JoyAxisList] axis constants. + Axis identifier. Use one of the [enum JoyAxis] axis constants. </member> <member name="axis_value" type="float" setter="set_axis_value" getter="get_axis_value" default="0.0"> Current position of the joystick on the given axis. The value ranges from [code]-1.0[/code] to [code]1.0[/code]. A value of [code]0[/code] means the axis is in its resting position. diff --git a/doc/classes/InputEventKey.xml b/doc/classes/InputEventKey.xml index fe91b9c13e..9f2b829823 100644 --- a/doc/classes/InputEventKey.xml +++ b/doc/classes/InputEventKey.xml @@ -32,11 +32,11 @@ If [code]true[/code], the key was already pressed before this event. It means the user is holding the key down. </member> <member name="keycode" type="int" setter="set_keycode" getter="get_keycode" default="0"> - The key keycode, which corresponds to one of the [enum KeyList] constants. Represent key in the current keyboard layout. + The key keycode, which corresponds to one of the [enum Key] constants. Represent key in the current keyboard layout. To get a human-readable representation of the [InputEventKey], use [code]OS.get_keycode_string(event.keycode)[/code] where [code]event[/code] is the [InputEventKey]. </member> <member name="physical_keycode" type="int" setter="set_physical_keycode" getter="get_physical_keycode" default="0"> - Key physical keycode, which corresponds to one of the [enum KeyList] constants. Represent the physical location of a key on the 101/102-key US QWERTY keyboard. + Key physical keycode, which corresponds to one of the [enum Key] constants. Represent the physical location of a key on the 101/102-key US QWERTY keyboard. To get a human-readable representation of the [InputEventKey], use [code]OS.get_keycode_string(event.keycode)[/code] where [code]event[/code] is the [InputEventKey]. </member> <member name="pressed" type="bool" setter="set_pressed" getter="is_pressed" default="false"> diff --git a/doc/classes/InputEventMouse.xml b/doc/classes/InputEventMouse.xml index 31e82bbaed..e54c3224da 100644 --- a/doc/classes/InputEventMouse.xml +++ b/doc/classes/InputEventMouse.xml @@ -13,7 +13,7 @@ </methods> <members> <member name="button_mask" type="int" setter="set_button_mask" getter="get_button_mask" default="0"> - The mouse button mask identifier, one of or a bitwise combination of the [enum ButtonList] button masks. + The mouse button mask identifier, one of or a bitwise combination of the [enum MouseButton] button masks. </member> <member name="global_position" type="Vector2" setter="set_global_position" getter="get_global_position" default="Vector2( 0, 0 )"> The global mouse position relative to the current [Viewport] when used in [method Control._gui_input], otherwise is at 0,0. diff --git a/doc/classes/InputEventMouseButton.xml b/doc/classes/InputEventMouseButton.xml index d7b64a9a2d..be71b42567 100644 --- a/doc/classes/InputEventMouseButton.xml +++ b/doc/classes/InputEventMouseButton.xml @@ -13,9 +13,9 @@ </methods> <members> <member name="button_index" type="int" setter="set_button_index" getter="get_button_index" default="0"> - The mouse button identifier, one of the [enum ButtonList] button or button wheel constants. + The mouse button identifier, one of the [enum MouseButton] button or button wheel constants. </member> - <member name="doubleclick" type="bool" setter="set_doubleclick" getter="is_doubleclick" default="false"> + <member name="double_click" type="bool" setter="set_double_click" getter="is_double_click" default="false"> If [code]true[/code], the mouse button's state is a double-click. </member> <member name="factor" type="float" setter="set_factor" getter="get_factor" default="1.0"> diff --git a/doc/classes/InputEventWithModifiers.xml b/doc/classes/InputEventWithModifiers.xml index dd782209e5..3beea7f9a0 100644 --- a/doc/classes/InputEventWithModifiers.xml +++ b/doc/classes/InputEventWithModifiers.xml @@ -12,23 +12,23 @@ <methods> </methods> <members> - <member name="alt" type="bool" setter="set_alt" getter="get_alt" default="false"> + <member name="alt_pressed" type="bool" setter="set_alt_pressed" getter="is_alt_pressed" default="false"> State of the [kbd]Alt[/kbd] modifier. </member> - <member name="command" type="bool" setter="set_command" getter="get_command" default="false"> + <member name="command_pressed" type="bool" setter="set_command_pressed" getter="is_command_pressed" default="false"> State of the [kbd]Cmd[/kbd] modifier. </member> - <member name="control" type="bool" setter="set_control" getter="get_control" default="false"> + <member name="ctrl_pressed" type="bool" setter="set_ctrl_pressed" getter="is_ctrl_pressed" default="false"> State of the [kbd]Ctrl[/kbd] modifier. </member> - <member name="meta" type="bool" setter="set_metakey" getter="get_metakey" default="false"> + <member name="meta_pressed" type="bool" setter="set_meta_pressed" getter="is_meta_pressed" default="false"> State of the [kbd]Meta[/kbd] modifier. </member> - <member name="shift" type="bool" setter="set_shift" getter="get_shift" default="false"> + <member name="shift_pressed" type="bool" setter="set_shift_pressed" getter="is_shift_pressed" default="false"> State of the [kbd]Shift[/kbd] modifier. </member> <member name="store_command" type="bool" setter="set_store_command" getter="is_storing_command" default="true"> - If [code]true[/code], pressing [kbd]Cmd[/kbd] on macOS or [kbd]Ctrl[/kbd] on all other platforms will both be serialized as [member command]. If [code]false[/code], those same keys will be serialized as [member meta] on macOS and [member control] on all other platforms. + If [code]true[/code], pressing [kbd]Cmd[/kbd] on macOS or [kbd]Ctrl[/kbd] on all other platforms will both be serialized as [member command_pressed]. If [code]false[/code], those same keys will be serialized as [member meta_pressed] on macOS and [member ctrl_pressed] on all other platforms. This aids with cross-platform compatibility when developing e.g. on Windows for macOS, or vice-versa. </member> </members> diff --git a/doc/classes/JavaScript.xml b/doc/classes/JavaScript.xml index c707a72ee8..c87e637ff5 100644 --- a/doc/classes/JavaScript.xml +++ b/doc/classes/JavaScript.xml @@ -11,6 +11,40 @@ <link title="Exporting for the Web: Calling JavaScript from script">https://docs.godotengine.org/en/latest/getting_started/workflow/export/exporting_for_web.html#calling-javascript-from-script</link> </tutorials> <methods> + <method name="create_callback"> + <return type="JavaScriptObject"> + </return> + <argument index="0" name="callable" type="Callable"> + </argument> + <description> + Creates a reference to a [Callable] that can be used as a callback by JavaScript. The reference must be kept until the callback happens, or it won't be called at all. See [JavaScriptObject] for usage. + </description> + </method> + <method name="create_object" qualifiers="vararg"> + <return type="Variant"> + </return> + <argument index="0" name="object" type="String"> + </argument> + <description> + Creates a new JavaScript object using the [code]new[/code] constructor. The [code]object[/code] must a valid property of the JavaScript [code]window[/code]. See [JavaScriptObject] for usage. + </description> + </method> + <method name="download_buffer"> + <return type="void"> + </return> + <argument index="0" name="buffer" type="PackedByteArray"> + </argument> + <argument index="1" name="name" type="String"> + </argument> + <argument index="2" name="mime" type="String" default=""application/octet-stream""> + </argument> + <description> + Prompts the user to download a file containing the specified [code]buffer[/code]. The file will have the given [code]name[/code] and [code]mime[/code] type. + [b]Note:[/b] The browser may override the [url=https://en.wikipedia.org/wiki/Media_type]MIME type[/url] provided based on the file [code]name[/code]'s extension. + [b]Note:[/b] Browsers might block the download if [method download_buffer] is not being called from a user interaction (e.g. button click). + [b]Note:[/b] Browsers might ask the user for permission or block the download if multiple download requests are made in a quick succession. + </description> + </method> <method name="eval"> <return type="Variant"> </return> @@ -23,6 +57,15 @@ If [code]use_global_execution_context[/code] is [code]true[/code], the code will be evaluated in the global execution context. Otherwise, it is evaluated in the execution context of a function within the engine's runtime environment. </description> </method> + <method name="get_interface"> + <return type="JavaScriptObject"> + </return> + <argument index="0" name="interface" type="String"> + </argument> + <description> + Returns an interface to a JavaScript object that can be used by scripts. The [code]interface[/code] must be a valid property of the JavaScript [code]window[/code]. The callback must accept a single [Array] argument, which will contain the JavaScript [code]arguments[/code]. See [JavaScriptObject] for usage. + </description> + </method> </methods> <constants> </constants> diff --git a/doc/classes/JavaScriptObject.xml b/doc/classes/JavaScriptObject.xml new file mode 100644 index 0000000000..a9e9c77e89 --- /dev/null +++ b/doc/classes/JavaScriptObject.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="JavaScriptObject" inherits="Reference" version="4.0"> + <brief_description> + A wrapper class for native JavaScript objects. + </brief_description> + <description> + JavaScriptObject is used to interact with JavaScript objects retrieved or created via [method JavaScript.get_interface], [method JavaScript.create_object], or [method JavaScript.create_callback]. + Example: + [codeblock] + extends Node + + var _my_js_callback = JavaScript.create_callback(self, "myCallback") # This reference must be kept + var console = JavaScript.get_interface("console") + + func _init(): + var buf = JavaScript.create_object("ArrayBuffer", 10) # new ArrayBuffer(10) + print(buf) # prints [JavaScriptObject:OBJECT_ID] + var uint8arr = JavaScript.create_object("Uint8Array", buf) # new Uint8Array(buf) + uint8arr[1] = 255 + prints(uint8arr[1], uint8arr.byteLength) # prints 255 10 + console.log(uint8arr) # prints in browser console "Uint8Array(10) [ 0, 255, 0, 0, 0, 0, 0, 0, 0, 0 ]" + + # Equivalent of JavaScript: Array.from(uint8arr).forEach(myCallback) + JavaScript.get_interface("Array").from(uint8arr).forEach(_my_js_callback) + + func myCallback(args): + # Will be called with the parameters passed to the "forEach" callback + # [0, 0, [JavaScriptObject:1173]] + # [255, 1, [JavaScriptObject:1173]] + # ... + # [0, 9, [JavaScriptObject:1180]] + print(args) + [/codeblock] + Note: Only available in the "HTML5" platform. + </description> + <tutorials> + </tutorials> + <methods> + </methods> + <constants> + </constants> +</class> diff --git a/doc/classes/KinematicBody2D.xml b/doc/classes/KinematicBody2D.xml index 476b64a336..fdd4db6115 100644 --- a/doc/classes/KinematicBody2D.xml +++ b/doc/classes/KinematicBody2D.xml @@ -162,7 +162,10 @@ </methods> <members> <member name="collision/safe_margin" type="float" setter="set_safe_margin" getter="get_safe_margin" default="0.08"> - If the body is at least this close to another body, this body will consider them to be colliding. + Extra margin used for collision recovery in motion functions (see [method move_and_collide], [method move_and_slide], [method move_and_slide_with_snap]). + If the body is at least this close to another body, it will consider them to be colliding and will be pushed away before performing the actual motion. + A higher value means it's more flexible for detecting collision, which helps with consistently detecting walls and floors. + A lower value forces the collision algorithm to use more exact detection, so it can be used in cases that specifically require precision, e.g at very low scale to avoid visible jittering, or for stability with a stack of kinematic bodies. </member> <member name="motion/sync_to_physics" type="bool" setter="set_sync_to_physics" getter="is_sync_to_physics_enabled" default="false"> If [code]true[/code], the body's movement will be synchronized to the physics frame. This is useful when animating movement via [AnimationPlayer], for example on moving platforms. Do [b]not[/b] use together with [method move_and_slide] or [method move_and_collide] functions. diff --git a/doc/classes/KinematicBody3D.xml b/doc/classes/KinematicBody3D.xml index a21496de54..efd3f58f88 100644 --- a/doc/classes/KinematicBody3D.xml +++ b/doc/classes/KinematicBody3D.xml @@ -177,7 +177,10 @@ Lock the body's Z axis movement. </member> <member name="collision/safe_margin" type="float" setter="set_safe_margin" getter="get_safe_margin" default="0.001"> - If the body is at least this close to another body, this body will consider them to be colliding. + Extra margin used for collision recovery in motion functions (see [method move_and_collide], [method move_and_slide], [method move_and_slide_with_snap]). + If the body is at least this close to another body, it will consider them to be colliding and will be pushed away before performing the actual motion. + A higher value means it's more flexible for detecting collision, which helps with consistently detecting walls and floors. + A lower value forces the collision algorithm to use more exact detection, so it can be used in cases that specifically require precision, e.g at very low scale to avoid visible jittering, or for stability with a stack of kinematic bodies. </member> </members> <constants> diff --git a/doc/classes/LargeTexture.xml b/doc/classes/LargeTexture.xml deleted file mode 100644 index a1d172e4b1..0000000000 --- a/doc/classes/LargeTexture.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<class name="LargeTexture" inherits="Texture2D" version="4.0"> - <brief_description> - A [Texture2D] capable of storing many smaller textures with offsets. - </brief_description> - <description> - A [Texture2D] capable of storing many smaller textures with offsets. - You can dynamically add pieces ([Texture2D]s) to this [LargeTexture] using different offsets. - </description> - <tutorials> - </tutorials> - <methods> - <method name="add_piece"> - <return type="int"> - </return> - <argument index="0" name="ofs" type="Vector2"> - </argument> - <argument index="1" name="texture" type="Texture2D"> - </argument> - <description> - Adds [code]texture[/code] to this [LargeTexture], starting on offset [code]ofs[/code]. - </description> - </method> - <method name="clear"> - <return type="void"> - </return> - <description> - Clears the [LargeTexture]. - </description> - </method> - <method name="get_piece_count" qualifiers="const"> - <return type="int"> - </return> - <description> - Returns the number of pieces currently in this [LargeTexture]. - </description> - </method> - <method name="get_piece_offset" qualifiers="const"> - <return type="Vector2"> - </return> - <argument index="0" name="idx" type="int"> - </argument> - <description> - Returns the offset of the piece with the index [code]idx[/code]. - </description> - </method> - <method name="get_piece_texture" qualifiers="const"> - <return type="Texture2D"> - </return> - <argument index="0" name="idx" type="int"> - </argument> - <description> - Returns the [Texture2D] of the piece with the index [code]idx[/code]. - </description> - </method> - <method name="set_piece_offset"> - <return type="void"> - </return> - <argument index="0" name="idx" type="int"> - </argument> - <argument index="1" name="ofs" type="Vector2"> - </argument> - <description> - Sets the offset of the piece with the index [code]idx[/code] to [code]ofs[/code]. - </description> - </method> - <method name="set_piece_texture"> - <return type="void"> - </return> - <argument index="0" name="idx" type="int"> - </argument> - <argument index="1" name="texture" type="Texture2D"> - </argument> - <description> - Sets the [Texture2D] of the piece with index [code]idx[/code] to [code]texture[/code]. - </description> - </method> - <method name="set_size"> - <return type="void"> - </return> - <argument index="0" name="size" type="Vector2"> - </argument> - <description> - Sets the size of this [LargeTexture]. - </description> - </method> - </methods> - <constants> - </constants> -</class> diff --git a/doc/classes/LineEdit.xml b/doc/classes/LineEdit.xml index 360f5c451e..7adf19632e 100644 --- a/doc/classes/LineEdit.xml +++ b/doc/classes/LineEdit.xml @@ -12,34 +12,25 @@ - [kbd]Ctrl + Z[/kbd]: Undo - [kbd]Ctrl + ~[/kbd]: Swap input direction. - [kbd]Ctrl + Shift + Z[/kbd]: Redo - - [kbd]Ctrl + U[/kbd]: Delete text from the cursor position to the beginning of the line - - [kbd]Ctrl + K[/kbd]: Delete text from the cursor position to the end of the line + - [kbd]Ctrl + U[/kbd]: Delete text from the caret position to the beginning of the line + - [kbd]Ctrl + K[/kbd]: Delete text from the caret position to the end of the line - [kbd]Ctrl + A[/kbd]: Select all text - - [kbd]Up Arrow[/kbd]/[kbd]Down Arrow[/kbd]: Move the cursor to the beginning/end of the line + - [kbd]Up Arrow[/kbd]/[kbd]Down Arrow[/kbd]: Move the caret to the beginning/end of the line On macOS, some extra keyboard shortcuts are available: - - [kbd]Ctrl + F[/kbd]: Same as [kbd]Right Arrow[/kbd], move the cursor one character right - - [kbd]Ctrl + B[/kbd]: Same as [kbd]Left Arrow[/kbd], move the cursor one character left - - [kbd]Ctrl + P[/kbd]: Same as [kbd]Up Arrow[/kbd], move the cursor to the previous line - - [kbd]Ctrl + N[/kbd]: Same as [kbd]Down Arrow[/kbd], move the cursor to the next line - - [kbd]Ctrl + D[/kbd]: Same as [kbd]Delete[/kbd], delete the character on the right side of cursor - - [kbd]Ctrl + H[/kbd]: Same as [kbd]Backspace[/kbd], delete the character on the left side of the cursor - - [kbd]Ctrl + A[/kbd]: Same as [kbd]Home[/kbd], move the cursor to the beginning of the line - - [kbd]Ctrl + E[/kbd]: Same as [kbd]End[/kbd], move the cursor to the end of the line - - [kbd]Cmd + Left Arrow[/kbd]: Same as [kbd]Home[/kbd], move the cursor to the beginning of the line - - [kbd]Cmd + Right Arrow[/kbd]: Same as [kbd]End[/kbd], move the cursor to the end of the line + - [kbd]Ctrl + F[/kbd]: Same as [kbd]Right Arrow[/kbd], move the caret one character right + - [kbd]Ctrl + B[/kbd]: Same as [kbd]Left Arrow[/kbd], move the caret one character left + - [kbd]Ctrl + P[/kbd]: Same as [kbd]Up Arrow[/kbd], move the caret to the previous line + - [kbd]Ctrl + N[/kbd]: Same as [kbd]Down Arrow[/kbd], move the caret to the next line + - [kbd]Ctrl + D[/kbd]: Same as [kbd]Delete[/kbd], delete the character on the right side of caret + - [kbd]Ctrl + H[/kbd]: Same as [kbd]Backspace[/kbd], delete the character on the left side of the caret + - [kbd]Ctrl + A[/kbd]: Same as [kbd]Home[/kbd], move the caret to the beginning of the line + - [kbd]Ctrl + E[/kbd]: Same as [kbd]End[/kbd], move the caret to the end of the line + - [kbd]Cmd + Left Arrow[/kbd]: Same as [kbd]Home[/kbd], move the caret to the beginning of the line + - [kbd]Cmd + Right Arrow[/kbd]: Same as [kbd]End[/kbd], move the caret to the end of the line </description> <tutorials> </tutorials> <methods> - <method name="append_at_cursor"> - <return type="void"> - </return> - <argument index="0" name="text" type="String"> - </argument> - <description> - Adds [code]text[/code] after the cursor. If the resulting value is longer than [member max_length], nothing happens. - </description> - </method> <method name="clear"> <return type="void"> </return> @@ -54,11 +45,11 @@ Removes all OpenType features. </description> </method> - <method name="delete_char_at_cursor"> + <method name="delete_char_at_caret"> <return type="void"> </return> <description> - Deletes one character at the cursor's current position (equivalent to pressing [kbd]Delete[/kbd]). + Deletes one character at the caret's current position (equivalent to pressing [kbd]Delete[/kbd]). </description> </method> <method name="delete_text"> @@ -99,7 +90,16 @@ <return type="int"> </return> <description> - Returns the scroll offset due to [member caret_position], as a number of characters. + Returns the scroll offset due to [member caret_column], as a number of characters. + </description> + </method> + <method name="insert_text_at_caret"> + <return type="void"> + </return> + <argument index="0" name="text" type="String"> + </argument> + <description> + Inserts [code]text[/code] at the caret. If the resulting value is longer than [member max_length], nothing happens. </description> </method> <method name="menu_option"> @@ -159,21 +159,21 @@ <member name="align" type="int" setter="set_align" getter="get_align" enum="LineEdit.Align" default="0"> Text alignment as defined in the [enum Align] enum. </member> - <member name="caret_blink" type="bool" setter="cursor_set_blink_enabled" getter="cursor_get_blink_enabled" default="false"> - If [code]true[/code], the caret (visual cursor) blinks. + <member name="caret_blink" type="bool" setter="set_caret_blink_enabled" getter="is_caret_blink_enabled" default="false"> + If [code]true[/code], the caret (text cursor) blinks. </member> - <member name="caret_blink_speed" type="float" setter="cursor_set_blink_speed" getter="cursor_get_blink_speed" default="0.65"> + <member name="caret_blink_speed" type="float" setter="set_caret_blink_speed" getter="get_caret_blink_speed" default="0.65"> Duration (in seconds) of a caret's blinking cycle. </member> - <member name="caret_force_displayed" type="bool" setter="cursor_set_force_displayed" getter="cursor_get_force_displayed" default="false"> + <member name="caret_column" type="int" setter="set_caret_column" getter="get_caret_column" default="0"> + The caret's column position inside the [LineEdit]. When set, the text may scroll to accommodate it. </member> - <member name="caret_mid_grapheme" type="bool" setter="set_mid_grapheme_caret_enabled" getter="get_mid_grapheme_caret_enabled" default="false"> + <member name="caret_force_displayed" type="bool" setter="set_caret_force_displayed" getter="is_caret_force_displayed" default="false"> + </member> + <member name="caret_mid_grapheme" type="bool" setter="set_caret_mid_grapheme_enabled" getter="is_caret_mid_grapheme_enabled" default="false"> Allow moving caret, selecting and removing the individual composite character components. Note: [kbd]Backspace[/kbd] is always removing individual composite character components. </member> - <member name="caret_position" type="int" setter="set_cursor_position" getter="get_cursor_position" default="0"> - The cursor's position inside the [LineEdit]. When set, the text may scroll to accommodate it. - </member> <member name="clear_button_enabled" type="bool" setter="set_clear_button_enabled" getter="is_clear_button_enabled" default="false"> If [code]true[/code], the [LineEdit] will show a clear button if [code]text[/code] is not empty, which can be used to clear the text quickly. </member> @@ -186,7 +186,7 @@ <member name="editable" type="bool" setter="set_editable" getter="is_editable" default="true"> If [code]false[/code], existing text cannot be modified and new text cannot be added. </member> - <member name="expand_to_text_length" type="bool" setter="set_expand_to_text_length" getter="get_expand_to_text_length" default="false"> + <member name="expand_to_text_length" type="bool" setter="set_expand_to_text_length_enabled" getter="is_expand_to_text_length_enabled" default="false"> If [code]true[/code], the [LineEdit] width will increase to stay longer than the [member text]. It will [b]not[/b] compress if the [member text] is shortened. </member> <member name="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" override="true" enum="Control.FocusMode" default="2" /> @@ -276,7 +276,7 @@ Copies the selected text. </constant> <constant name="MENU_PASTE" value="2" enum="MenuItems"> - Pastes the clipboard text over the selected text (or at the cursor's position). + Pastes the clipboard text over the selected text (or at the caret's position). Non-printable escape characters are automatically stripped from the OS clipboard via [method String.strip_escapes]. </constant> <constant name="MENU_CLEAR" value="3" enum="MenuItems"> @@ -359,6 +359,9 @@ </constant> </constants> <theme_items> + <theme_item name="caret_color" type="Color" default="Color( 0.94, 0.94, 0.94, 1 )"> + Color of the [LineEdit]'s caret (text cursor). + </theme_item> <theme_item name="clear" type="Texture2D"> Texture for the clear button. See [member clear_button_enabled]. </theme_item> @@ -368,9 +371,6 @@ <theme_item name="clear_button_color_pressed" type="Color" default="Color( 1, 1, 1, 1 )"> Color used for the clear button when it's pressed. </theme_item> - <theme_item name="cursor_color" type="Color" default="Color( 0.94, 0.94, 0.94, 1 )"> - Color of the [LineEdit]'s visual cursor (caret). - </theme_item> <theme_item name="focus" type="StyleBox"> Background used when [LineEdit] has GUI focus. </theme_item> diff --git a/doc/classes/MeshDataTool.xml b/doc/classes/MeshDataTool.xml index db7a3187f0..3c679047a0 100644 --- a/doc/classes/MeshDataTool.xml +++ b/doc/classes/MeshDataTool.xml @@ -15,7 +15,7 @@ mdt.create_from_surface(mesh, 0) for i in range(mdt.get_vertex_count()): var vertex = mdt.get_vertex(i) - # In this example we extend the mesh by one unit, which results in seperated faces as it is flat shaded. + # In this example we extend the mesh by one unit, which results in separated faces as it is flat shaded. vertex += mdt.get_vertex_normal(i) # Save your change. mdt.set_vertex(i, vertex) @@ -33,7 +33,7 @@ for (var i = 0; i < mdt.GetVertexCount(); i++) { Vector3 vertex = mdt.GetVertex(i); - // In this example we extend the mesh by one unit, which results in seperated faces as it is flat shaded. + // In this example we extend the mesh by one unit, which results in separated faces as it is flat shaded. vertex += mdt.GetVertexNormal(i); // Save your change. mdt.SetVertex(i, vertex); diff --git a/doc/classes/MeshInstance3D.xml b/doc/classes/MeshInstance3D.xml index 82cd392cd3..b5ab296bd0 100644 --- a/doc/classes/MeshInstance3D.xml +++ b/doc/classes/MeshInstance3D.xml @@ -27,6 +27,13 @@ This helper creates a [MeshInstance3D] child node with gizmos at every vertex calculated from the mesh geometry. It's mainly used for testing. </description> </method> + <method name="create_multiple_convex_collisions"> + <return type="void"> + </return> + <description> + This helper creates a [StaticBody3D] child node with multiple [ConvexPolygonShape3D] collision shapes calculated from the mesh geometry via convex decomposition. It's mainly used for testing. + </description> + </method> <method name="create_trimesh_collision"> <return type="void"> </return> @@ -43,7 +50,7 @@ Returns the [Material] that will be used by the [Mesh] when drawing. This can return the [member GeometryInstance3D.material_override], the surface override [Material] defined in this [MeshInstance3D], or the surface [Material] defined in the [Mesh]. For example, if [member GeometryInstance3D.material_override] is used, all surfaces will return the override material. </description> </method> - <method name="get_surface_material" qualifiers="const"> + <method name="get_surface_override_material" qualifiers="const"> <return type="Material"> </return> <argument index="0" name="surface" type="int"> @@ -52,14 +59,14 @@ Returns the override [Material] for the specified surface of the [Mesh] resource. </description> </method> - <method name="get_surface_material_count" qualifiers="const"> + <method name="get_surface_override_material_count" qualifiers="const"> <return type="int"> </return> <description> - Returns the number of surface materials. + Returns the number of surface override materials. This is equivalent to [method Mesh.get_surface_count]. </description> </method> - <method name="set_surface_material"> + <method name="set_surface_override_material"> <return type="void"> </return> <argument index="0" name="surface" type="int"> diff --git a/doc/classes/NavigationAgent2D.xml b/doc/classes/NavigationAgent2D.xml index 1060e2de41..de81ae4d91 100644 --- a/doc/classes/NavigationAgent2D.xml +++ b/doc/classes/NavigationAgent2D.xml @@ -44,6 +44,12 @@ Returns a [Vector2] in global coordinates, that can be moved to, making sure that there are no static objects in the way. If the agent does not have a navigation path, it will return the position of the agent's parent. </description> </method> + <method name="get_rid" qualifiers="const"> + <return type="RID"> + </return> + <description> + </description> + </method> <method name="get_target_location" qualifiers="const"> <return type="Vector2"> </return> diff --git a/doc/classes/NavigationAgent3D.xml b/doc/classes/NavigationAgent3D.xml index 00e9db0a33..8942a37774 100644 --- a/doc/classes/NavigationAgent3D.xml +++ b/doc/classes/NavigationAgent3D.xml @@ -44,6 +44,12 @@ Returns a [Vector3] in global coordinates, that can be moved to, making sure that there are no static objects in the way. If the agent does not have a navigation path, it will return the origin of the agent's parent. </description> </method> + <method name="get_rid" qualifiers="const"> + <return type="RID"> + </return> + <description> + </description> + </method> <method name="get_target_location" qualifiers="const"> <return type="Vector3"> </return> diff --git a/doc/classes/NavigationMesh.xml b/doc/classes/NavigationMesh.xml index 1f6e582731..871c92798a 100644 --- a/doc/classes/NavigationMesh.xml +++ b/doc/classes/NavigationMesh.xml @@ -79,6 +79,7 @@ </methods> <members> <member name="agent/height" type="float" setter="set_agent_height" getter="get_agent_height" default="2.0"> + The minimum Y space needed for navigation to be generated. </member> <member name="agent/max_climb" type="float" setter="set_agent_max_climb" getter="get_agent_max_climb" default="0.9"> The maximum height difference between two areas for navigation to be generated between them. @@ -87,8 +88,10 @@ The maximum angle a slope can be at for navigation to be generated on it. </member> <member name="agent/radius" type="float" setter="set_agent_radius" getter="get_agent_radius" default="0.6"> + Determines where the edge of a navigation mesh is. This way an agent will not overlap with another mesh or stand over nothing. </member> <member name="cell/height" type="float" setter="set_cell_height" getter="get_cell_height" default="0.2"> + The height of a cell. </member> <member name="cell/size" type="float" setter="set_cell_size" getter="get_cell_size" default="0.3"> The size of cells in the [NavigationMesh]. diff --git a/doc/classes/Node.xml b/doc/classes/Node.xml index 7750d45226..523f3a0c17 100644 --- a/doc/classes/Node.xml +++ b/doc/classes/Node.xml @@ -37,13 +37,13 @@ Corresponds to the [constant NOTIFICATION_EXIT_TREE] notification in [method Object._notification] and signal [signal tree_exiting]. To get notified when the node has already left the active tree, connect to the [signal tree_exited]. </description> </method> - <method name="_get_configuration_warning" qualifiers="virtual"> - <return type="String"> + <method name="_get_configuration_warnings" qualifiers="virtual"> + <return type="String[]"> </return> <description> - The string returned from this method is displayed as a warning in the Scene Dock if the script that overrides it is a [code]tool[/code] script. - Returning an empty string produces no warning. - Call [method update_configuration_warning] when the warning needs to be updated for this node. + The elements in the array returned from this method are displayed as warnings in the Scene Dock if the script that overrides it is a [code]tool[/code] script. + Returning an empty array produces no warnings. + Call [method update_configuration_warnings] when the warnings need to be updated for this node. </description> </method> <method name="_input" qualifiers="virtual"> @@ -856,12 +856,12 @@ Sets whether this is an instance load placeholder. See [InstancePlaceholder]. </description> </method> - <method name="update_configuration_warning"> + <method name="update_configuration_warnings"> <return type="void"> </return> <description> Updates the warning displayed for this node in the Scene Dock. - Use [method _get_configuration_warning] to setup the warning message to display. + Use [method _get_configuration_warnings] to setup the warning message to display. </description> </method> </methods> diff --git a/doc/classes/Node2D.xml b/doc/classes/Node2D.xml index eed0ec8d7e..988fb72267 100644 --- a/doc/classes/Node2D.xml +++ b/doc/classes/Node2D.xml @@ -154,7 +154,7 @@ If [code]true[/code], the node's Z index is relative to its parent's Z index. If this node's Z index is 2 and its parent's effective Z index is 3, then this node's effective Z index will be 2 + 3 = 5. </member> <member name="z_index" type="int" setter="set_z_index" getter="get_z_index" default="0"> - Z index. Controls the order in which the nodes render. A node with a higher Z index will display in front of others. + Z index. Controls the order in which the nodes render. A node with a higher Z index will display in front of others. Must be between [constant RenderingServer.CANVAS_ITEM_Z_MIN] and [constant RenderingServer.CANVAS_ITEM_Z_MAX] (inclusive). </member> </members> <constants> diff --git a/doc/classes/OS.xml b/doc/classes/OS.xml index a76ea5868c..05826ecbf0 100644 --- a/doc/classes/OS.xml +++ b/doc/classes/OS.xml @@ -143,7 +143,7 @@ Returns the command-line arguments passed to the engine. Command-line arguments can be written in any form, including both [code]--key value[/code] and [code]--key=value[/code] forms so they can be properly parsed, as long as custom command-line arguments do not conflict with engine arguments. You can also incorporate environment variables using the [method get_environment] method. - You can set [code]editor/main_run_args[/code] in the Project Settings to define command-line arguments to be passed by the editor when running the project. + You can set [member ProjectSettings.editor/run/main_run_args] to define command-line arguments to be passed by the editor when running the project. Here's a minimal example on how to parse command-line arguments into a dictionary using the [code]--key=value[/code] form for arguments: [codeblocks] [gdscript] @@ -348,6 +348,7 @@ </return> <description> Returns a string that is unique to the device. + [b]Note:[/b] This string may change without notice if the user reinstalls/upgrades their operating system or changes their hardware. This means it should generally not be used to encrypt persistent data as the data saved prior to an unexpected ID change would become inaccessible. The returned string may also be falsified using external programs, so do not rely on the string returned by [method get_unique_id] for security purposes. [b]Note:[/b] Returns an empty string on HTML5 and UWP, as this method isn't implemented on those platforms yet. </description> </method> @@ -355,8 +356,8 @@ <return type="float"> </return> <description> - Returns the current UNIX epoch timestamp. - [b]Important:[/b] This is the system clock that the user can manully set. [b]Never use[/b] this method for precise time calculation since its results are also subject to automatic adjustments by the operating system. [b]Always use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time calculation instead, since they are guaranteed to be monotonic (i.e. never decrease). + Returns the current UNIX epoch timestamp in seconds. + [b]Important:[/b] This is the system clock that the user can manually set. [b]Never use[/b] this method for precise time calculation since its results are also subject to automatic adjustments by the operating system. [b]Always use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time calculation instead, since they are guaranteed to be monotonic (i.e. never decrease). </description> </method> <method name="get_unix_time_from_datetime" qualifiers="const"> diff --git a/doc/classes/Occluder3D.xml b/doc/classes/Occluder3D.xml new file mode 100644 index 0000000000..fc676c2b49 --- /dev/null +++ b/doc/classes/Occluder3D.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="Occluder3D" inherits="Resource" version="4.0"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + </methods> + <members> + <member name="indices" type="PackedInt32Array" setter="set_indices" getter="get_indices" default="PackedInt32Array( )"> + </member> + <member name="vertices" type="PackedVector3Array" setter="set_vertices" getter="get_vertices" default="PackedVector3Array( )"> + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/OccluderInstance3D.xml b/doc/classes/OccluderInstance3D.xml new file mode 100644 index 0000000000..76b784d21d --- /dev/null +++ b/doc/classes/OccluderInstance3D.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="OccluderInstance3D" inherits="Node3D" version="4.0"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + <method name="get_bake_mask_bit" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="layer" type="int"> + </argument> + <description> + </description> + </method> + <method name="set_bake_mask_bit"> + <return type="void"> + </return> + <argument index="0" name="layer" type="int"> + </argument> + <argument index="1" name="enabled" type="bool"> + </argument> + <description> + </description> + </method> + </methods> + <members> + <member name="bake_mask" type="int" setter="set_bake_mask" getter="get_bake_mask" default="4294967295"> + </member> + <member name="occluder" type="Occluder3D" setter="set_occluder" getter="get_occluder"> + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/PHashTranslation.xml b/doc/classes/OptimizedTranslation.xml index 30194e9495..a5ca93c7ff 100644 --- a/doc/classes/PHashTranslation.xml +++ b/doc/classes/OptimizedTranslation.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PHashTranslation" inherits="Translation" version="4.0"> +<class name="OptimizedTranslation" inherits="Translation" version="4.0"> <brief_description> Optimized translation. </brief_description> diff --git a/doc/classes/PackedByteArray.xml b/doc/classes/PackedByteArray.xml index 3c7f0f4fad..0652cf0aa1 100644 --- a/doc/classes/PackedByteArray.xml +++ b/doc/classes/PackedByteArray.xml @@ -61,6 +61,114 @@ Returns a new [PackedByteArray] with the data compressed. Set the compression mode using one of [enum File.CompressionMode]'s constants. </description> </method> + <method name="decode_double" qualifiers="const"> + <return type="float"> + </return> + <argument index="0" name="byte_offset" type="int"> + </argument> + <description> + </description> + </method> + <method name="decode_float" qualifiers="const"> + <return type="float"> + </return> + <argument index="0" name="byte_offset" type="int"> + </argument> + <description> + </description> + </method> + <method name="decode_half" qualifiers="const"> + <return type="float"> + </return> + <argument index="0" name="byte_offset" type="int"> + </argument> + <description> + </description> + </method> + <method name="decode_s16" qualifiers="const"> + <return type="int"> + </return> + <argument index="0" name="byte_offset" type="int"> + </argument> + <description> + </description> + </method> + <method name="decode_s32" qualifiers="const"> + <return type="int"> + </return> + <argument index="0" name="byte_offset" type="int"> + </argument> + <description> + </description> + </method> + <method name="decode_s64" qualifiers="const"> + <return type="int"> + </return> + <argument index="0" name="byte_offset" type="int"> + </argument> + <description> + </description> + </method> + <method name="decode_s8" qualifiers="const"> + <return type="int"> + </return> + <argument index="0" name="byte_offset" type="int"> + </argument> + <description> + </description> + </method> + <method name="decode_u16" qualifiers="const"> + <return type="int"> + </return> + <argument index="0" name="byte_offset" type="int"> + </argument> + <description> + </description> + </method> + <method name="decode_u32" qualifiers="const"> + <return type="int"> + </return> + <argument index="0" name="byte_offset" type="int"> + </argument> + <description> + </description> + </method> + <method name="decode_u64" qualifiers="const"> + <return type="int"> + </return> + <argument index="0" name="byte_offset" type="int"> + </argument> + <description> + </description> + </method> + <method name="decode_u8" qualifiers="const"> + <return type="int"> + </return> + <argument index="0" name="byte_offset" type="int"> + </argument> + <description> + </description> + </method> + <method name="decode_var" qualifiers="const"> + <return type="Variant"> + </return> + <argument index="0" name="byte_offset" type="int"> + </argument> + <argument index="1" name="allow_objects" type="bool" default="false"> + </argument> + <description> + </description> + </method> + <method name="decode_var_size" qualifiers="const"> + <return type="int"> + </return> + <argument index="0" name="byte_offset" type="int"> + </argument> + <argument index="1" name="allow_objects" type="bool" default="false"> + </argument> + <description> + </description> + </method> <method name="decompress" qualifiers="const"> <return type="PackedByteArray"> </return> @@ -92,6 +200,137 @@ Creates a copy of the array, and returns it. </description> </method> + <method name="encode_double"> + <return type="void"> + </return> + <argument index="0" name="byte_offset" type="int"> + </argument> + <argument index="1" name="value" type="float"> + </argument> + <description> + </description> + </method> + <method name="encode_float"> + <return type="void"> + </return> + <argument index="0" name="byte_offset" type="int"> + </argument> + <argument index="1" name="value" type="float"> + </argument> + <description> + </description> + </method> + <method name="encode_half"> + <return type="void"> + </return> + <argument index="0" name="byte_offset" type="int"> + </argument> + <argument index="1" name="value" type="float"> + </argument> + <description> + </description> + </method> + <method name="encode_s16"> + <return type="void"> + </return> + <argument index="0" name="byte_offset" type="int"> + </argument> + <argument index="1" name="value" type="int"> + </argument> + <description> + </description> + </method> + <method name="encode_s32"> + <return type="void"> + </return> + <argument index="0" name="byte_offset" type="int"> + </argument> + <argument index="1" name="value" type="int"> + </argument> + <description> + </description> + </method> + <method name="encode_s64"> + <return type="void"> + </return> + <argument index="0" name="byte_offset" type="int"> + </argument> + <argument index="1" name="value" type="int"> + </argument> + <description> + </description> + </method> + <method name="encode_s8"> + <return type="void"> + </return> + <argument index="0" name="byte_offset" type="int"> + </argument> + <argument index="1" name="value" type="int"> + </argument> + <description> + </description> + </method> + <method name="encode_u16"> + <return type="void"> + </return> + <argument index="0" name="byte_offset" type="int"> + </argument> + <argument index="1" name="value" type="int"> + </argument> + <description> + </description> + </method> + <method name="encode_u32"> + <return type="void"> + </return> + <argument index="0" name="byte_offset" type="int"> + </argument> + <argument index="1" name="value" type="int"> + </argument> + <description> + </description> + </method> + <method name="encode_u64"> + <return type="void"> + </return> + <argument index="0" name="byte_offset" type="int"> + </argument> + <argument index="1" name="value" type="int"> + </argument> + <description> + </description> + </method> + <method name="encode_u8"> + <return type="void"> + </return> + <argument index="0" name="byte_offset" type="int"> + </argument> + <argument index="1" name="value" type="int"> + </argument> + <description> + </description> + </method> + <method name="encode_var"> + <return type="int"> + </return> + <argument index="0" name="byte_offset" type="int"> + </argument> + <argument index="1" name="value" type="Variant"> + </argument> + <argument index="2" name="allow_objects" type="bool" default="false"> + </argument> + <description> + </description> + </method> + <method name="fill"> + <return type="void"> + </return> + <argument index="0" name="value" type="int"> + </argument> + <description> + Assigns the given value to all elements in the array. This can typically be used together with [method resize] to create an array with a given size and initialized elements. + </description> + </method> <method name="get_string_from_ascii" qualifiers="const"> <return type="String"> </return> @@ -129,6 +368,16 @@ Returns [code]true[/code] if the array contains [code]value[/code]. </description> </method> + <method name="has_encoded_var" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="byte_offset" type="int"> + </argument> + <argument index="1" name="allow_objects" type="bool" default="false"> + </argument> + <description> + </description> + </method> <method name="hex_encode" qualifiers="const"> <return type="String"> </return> @@ -157,13 +406,6 @@ Inserts a new element at a given position in the array. The position must be valid, or at the end of the array ([code]idx == size()[/code]). </description> </method> - <method name="invert"> - <return type="void"> - </return> - <description> - Reverses the order of the elements in the array. - </description> - </method> <method name="is_empty" qualifiers="const"> <return type="bool"> </return> @@ -230,6 +472,13 @@ Sets the size of the array. If the array is grown, reserves elements at the end of the array. If the array is shrunk, truncates the array to the new size. </description> </method> + <method name="reverse"> + <return type="void"> + </return> + <description> + Reverses the order of the elements in the array. + </description> + </method> <method name="set"> <return type="void"> </return> diff --git a/doc/classes/PackedColorArray.xml b/doc/classes/PackedColorArray.xml index abfedc84cc..19cfcd7c87 100644 --- a/doc/classes/PackedColorArray.xml +++ b/doc/classes/PackedColorArray.xml @@ -59,6 +59,15 @@ Creates a copy of the array, and returns it. </description> </method> + <method name="fill"> + <return type="void"> + </return> + <argument index="0" name="value" type="Color"> + </argument> + <description> + Assigns the given value to all elements in the array. This can typically be used together with [method resize] to create an array with a given size and initialized elements. + </description> + </method> <method name="has"> <return type="bool"> </return> @@ -79,13 +88,6 @@ Inserts a new element at a given position in the array. The position must be valid, or at the end of the array ([code]idx == size()[/code]). </description> </method> - <method name="invert"> - <return type="void"> - </return> - <description> - Reverses the order of the elements in the array. - </description> - </method> <method name="is_empty" qualifiers="const"> <return type="bool"> </return> @@ -152,6 +154,13 @@ Sets the size of the array. If the array is grown, reserves elements at the end of the array. If the array is shrunk, truncates the array to the new size. </description> </method> + <method name="reverse"> + <return type="void"> + </return> + <description> + Reverses the order of the elements in the array. + </description> + </method> <method name="set"> <return type="void"> </return> diff --git a/doc/classes/PackedFloat32Array.xml b/doc/classes/PackedFloat32Array.xml index 8918312dc7..ab97c9a695 100644 --- a/doc/classes/PackedFloat32Array.xml +++ b/doc/classes/PackedFloat32Array.xml @@ -60,6 +60,15 @@ Creates a copy of the array, and returns it. </description> </method> + <method name="fill"> + <return type="void"> + </return> + <argument index="0" name="value" type="float"> + </argument> + <description> + Assigns the given value to all elements in the array. This can typically be used together with [method resize] to create an array with a given size and initialized elements. + </description> + </method> <method name="has"> <return type="bool"> </return> @@ -80,13 +89,6 @@ Inserts a new element at a given position in the array. The position must be valid, or at the end of the array ([code]idx == size()[/code]). </description> </method> - <method name="invert"> - <return type="void"> - </return> - <description> - Reverses the order of the elements in the array. - </description> - </method> <method name="is_empty" qualifiers="const"> <return type="bool"> </return> @@ -118,6 +120,14 @@ <description> </description> </method> + <method name="operator []" qualifiers="operator"> + <return type="float"> + </return> + <argument index="0" name="index" type="int"> + </argument> + <description> + </description> + </method> <method name="push_back"> <return type="bool"> </return> @@ -145,6 +155,13 @@ Sets the size of the array. If the array is grown, reserves elements at the end of the array. If the array is shrunk, truncates the array to the new size. </description> </method> + <method name="reverse"> + <return type="void"> + </return> + <description> + Reverses the order of the elements in the array. + </description> + </method> <method name="set"> <return type="void"> </return> diff --git a/doc/classes/PackedFloat64Array.xml b/doc/classes/PackedFloat64Array.xml index fbb832299e..ad20801b01 100644 --- a/doc/classes/PackedFloat64Array.xml +++ b/doc/classes/PackedFloat64Array.xml @@ -60,6 +60,15 @@ Creates a copy of the array, and returns it. </description> </method> + <method name="fill"> + <return type="void"> + </return> + <argument index="0" name="value" type="float"> + </argument> + <description> + Assigns the given value to all elements in the array. This can typically be used together with [method resize] to create an array with a given size and initialized elements. + </description> + </method> <method name="has"> <return type="bool"> </return> @@ -80,13 +89,6 @@ Inserts a new element at a given position in the array. The position must be valid, or at the end of the array ([code]idx == size()[/code]). </description> </method> - <method name="invert"> - <return type="void"> - </return> - <description> - Reverses the order of the elements in the array. - </description> - </method> <method name="is_empty" qualifiers="const"> <return type="bool"> </return> @@ -153,6 +155,13 @@ Sets the size of the array. If the array is grown, reserves elements at the end of the array. If the array is shrunk, truncates the array to the new size. </description> </method> + <method name="reverse"> + <return type="void"> + </return> + <description> + Reverses the order of the elements in the array. + </description> + </method> <method name="set"> <return type="void"> </return> diff --git a/doc/classes/PackedInt32Array.xml b/doc/classes/PackedInt32Array.xml index ecef2d508b..ff4729082e 100644 --- a/doc/classes/PackedInt32Array.xml +++ b/doc/classes/PackedInt32Array.xml @@ -60,6 +60,15 @@ Creates a copy of the array, and returns it. </description> </method> + <method name="fill"> + <return type="void"> + </return> + <argument index="0" name="value" type="int"> + </argument> + <description> + Assigns the given value to all elements in the array. This can typically be used together with [method resize] to create an array with a given size and initialized elements. + </description> + </method> <method name="has"> <return type="bool"> </return> @@ -80,13 +89,6 @@ Inserts a new integer at a given position in the array. The position must be valid, or at the end of the array ([code]idx == size()[/code]). </description> </method> - <method name="invert"> - <return type="void"> - </return> - <description> - Reverses the order of the elements in the array. - </description> - </method> <method name="is_empty" qualifiers="const"> <return type="bool"> </return> @@ -153,6 +155,13 @@ Sets the size of the array. If the array is grown, reserves elements at the end of the array. If the array is shrunk, truncates the array to the new size. </description> </method> + <method name="reverse"> + <return type="void"> + </return> + <description> + Reverses the order of the elements in the array. + </description> + </method> <method name="set"> <return type="void"> </return> diff --git a/doc/classes/PackedInt64Array.xml b/doc/classes/PackedInt64Array.xml index 19619d60cf..195b12b129 100644 --- a/doc/classes/PackedInt64Array.xml +++ b/doc/classes/PackedInt64Array.xml @@ -60,6 +60,15 @@ Creates a copy of the array, and returns it. </description> </method> + <method name="fill"> + <return type="void"> + </return> + <argument index="0" name="value" type="int"> + </argument> + <description> + Assigns the given value to all elements in the array. This can typically be used together with [method resize] to create an array with a given size and initialized elements. + </description> + </method> <method name="has"> <return type="bool"> </return> @@ -80,13 +89,6 @@ Inserts a new integer at a given position in the array. The position must be valid, or at the end of the array ([code]idx == size()[/code]). </description> </method> - <method name="invert"> - <return type="void"> - </return> - <description> - Reverses the order of the elements in the array. - </description> - </method> <method name="is_empty" qualifiers="const"> <return type="bool"> </return> @@ -153,6 +155,13 @@ Sets the size of the array. If the array is grown, reserves elements at the end of the array. If the array is shrunk, truncates the array to the new size. </description> </method> + <method name="reverse"> + <return type="void"> + </return> + <description> + Reverses the order of the elements in the array. + </description> + </method> <method name="set"> <return type="void"> </return> diff --git a/doc/classes/PackedStringArray.xml b/doc/classes/PackedStringArray.xml index c241573b93..22458832da 100644 --- a/doc/classes/PackedStringArray.xml +++ b/doc/classes/PackedStringArray.xml @@ -60,6 +60,15 @@ Creates a copy of the array, and returns it. </description> </method> + <method name="fill"> + <return type="void"> + </return> + <argument index="0" name="value" type="String"> + </argument> + <description> + Assigns the given value to all elements in the array. This can typically be used together with [method resize] to create an array with a given size and initialized elements. + </description> + </method> <method name="has"> <return type="bool"> </return> @@ -80,13 +89,6 @@ Inserts a new element at a given position in the array. The position must be valid, or at the end of the array ([code]idx == size()[/code]). </description> </method> - <method name="invert"> - <return type="void"> - </return> - <description> - Reverses the order of the elements in the array. - </description> - </method> <method name="is_empty" qualifiers="const"> <return type="bool"> </return> @@ -153,6 +155,13 @@ Sets the size of the array. If the array is grown, reserves elements at the end of the array. If the array is shrunk, truncates the array to the new size. </description> </method> + <method name="reverse"> + <return type="void"> + </return> + <description> + Reverses the order of the elements in the array. + </description> + </method> <method name="set"> <return type="void"> </return> diff --git a/doc/classes/PackedVector2Array.xml b/doc/classes/PackedVector2Array.xml index 9138dc68e1..6c8791f988 100644 --- a/doc/classes/PackedVector2Array.xml +++ b/doc/classes/PackedVector2Array.xml @@ -60,6 +60,15 @@ Creates a copy of the array, and returns it. </description> </method> + <method name="fill"> + <return type="void"> + </return> + <argument index="0" name="value" type="Vector2"> + </argument> + <description> + Assigns the given value to all elements in the array. This can typically be used together with [method resize] to create an array with a given size and initialized elements. + </description> + </method> <method name="has"> <return type="bool"> </return> @@ -80,13 +89,6 @@ Inserts a new element at a given position in the array. The position must be valid, or at the end of the array ([code]idx == size()[/code]). </description> </method> - <method name="invert"> - <return type="void"> - </return> - <description> - Reverses the order of the elements in the array. - </description> - </method> <method name="is_empty" qualifiers="const"> <return type="bool"> </return> @@ -161,6 +163,13 @@ Sets the size of the array. If the array is grown, reserves elements at the end of the array. If the array is shrunk, truncates the array to the new size. </description> </method> + <method name="reverse"> + <return type="void"> + </return> + <description> + Reverses the order of the elements in the array. + </description> + </method> <method name="set"> <return type="void"> </return> diff --git a/doc/classes/PackedVector3Array.xml b/doc/classes/PackedVector3Array.xml index 0a3b0cf2c0..85d41d7519 100644 --- a/doc/classes/PackedVector3Array.xml +++ b/doc/classes/PackedVector3Array.xml @@ -59,6 +59,15 @@ Creates a copy of the array, and returns it. </description> </method> + <method name="fill"> + <return type="void"> + </return> + <argument index="0" name="value" type="Vector3"> + </argument> + <description> + Assigns the given value to all elements in the array. This can typically be used together with [method resize] to create an array with a given size and initialized elements. + </description> + </method> <method name="has"> <return type="bool"> </return> @@ -79,13 +88,6 @@ Inserts a new element at a given position in the array. The position must be valid, or at the end of the array ([code]idx == size()[/code]). </description> </method> - <method name="invert"> - <return type="void"> - </return> - <description> - Reverses the order of the elements in the array. - </description> - </method> <method name="is_empty" qualifiers="const"> <return type="bool"> </return> @@ -160,6 +162,13 @@ Sets the size of the array. If the array is grown, reserves elements at the end of the array. If the array is shrunk, truncates the array to the new size. </description> </method> + <method name="reverse"> + <return type="void"> + </return> + <description> + Reverses the order of the elements in the array. + </description> + </method> <method name="set"> <return type="void"> </return> diff --git a/doc/classes/PacketPeerUDP.xml b/doc/classes/PacketPeerUDP.xml index d7cf6cc8c6..5d059ad3df 100644 --- a/doc/classes/PacketPeerUDP.xml +++ b/doc/classes/PacketPeerUDP.xml @@ -9,11 +9,27 @@ <tutorials> </tutorials> <methods> + <method name="bind"> + <return type="int" enum="Error"> + </return> + <argument index="0" name="port" type="int"> + </argument> + <argument index="1" name="bind_address" type="String" default=""*""> + </argument> + <argument index="2" name="recv_buf_size" type="int" default="65536"> + </argument> + <description> + Binds this [PacketPeerUDP] to the specified [code]port[/code] and [code]address[/code] with a buffer size [code]recv_buf_size[/code], allowing it to receive incoming packets. + If [code]address[/code] is set to [code]"*"[/code] (default), the peer will be bound on all available addresses (both IPv4 and IPv6). + If [code]address[/code] is set to [code]"0.0.0.0"[/code] (for IPv4) or [code]"::"[/code] (for IPv6), the peer will be bound to all available addresses matching that IP type. + If [code]address[/code] is set to any valid address (e.g. [code]"192.168.1.101"[/code], [code]"::1"[/code], etc), the peer will only be bound to the interface with that addresses (or fail if no interface with the given address exists). + </description> + </method> <method name="close"> <return type="void"> </return> <description> - Closes the UDP socket the [PacketPeerUDP] is currently listening on. + Closes the [PacketPeerUDP]'s underlying UDP socket. </description> </method> <method name="connect_to_host"> @@ -28,6 +44,13 @@ [b]Note:[/b] Connecting to the remote peer does not help to protect from malicious attacks like IP spoofing, etc. Think about using an encryption technique like SSL or DTLS if you feel like your application is transferring sensitive information. </description> </method> + <method name="get_local_port" qualifiers="const"> + <return type="int"> + </return> + <description> + Returns the local port to which this peer is bound. + </description> + </method> <method name="get_packet_ip" qualifiers="const"> <return type="String"> </return> @@ -42,18 +65,18 @@ Returns the port of the remote peer that sent the last packet(that was received with [method PacketPeer.get_packet] or [method PacketPeer.get_var]). </description> </method> - <method name="is_connected_to_host" qualifiers="const"> + <method name="is_bound" qualifiers="const"> <return type="bool"> </return> <description> - Returns [code]true[/code] if the UDP socket is open and has been connected to a remote address. See [method connect_to_host]. + Returns whether this [PacketPeerUDP] is bound to an address and can receive packets. </description> </method> - <method name="is_listening" qualifiers="const"> + <method name="is_connected_to_host" qualifiers="const"> <return type="bool"> </return> <description> - Returns whether this [PacketPeerUDP] is listening. + Returns [code]true[/code] if the UDP socket is open and has been connected to a remote address. See [method connect_to_host]. </description> </method> <method name="join_multicast_group"> @@ -80,22 +103,6 @@ Removes the interface identified by [code]interface_name[/code] from the multicast group specified by [code]multicast_address[/code]. </description> </method> - <method name="listen"> - <return type="int" enum="Error"> - </return> - <argument index="0" name="port" type="int"> - </argument> - <argument index="1" name="bind_address" type="String" default=""*""> - </argument> - <argument index="2" name="recv_buf_size" type="int" default="65536"> - </argument> - <description> - Makes this [PacketPeerUDP] listen on the [code]port[/code] binding to [code]bind_address[/code] with a buffer size [code]recv_buf_size[/code]. - If [code]bind_address[/code] is set to [code]"*"[/code] (default), the peer will listen on all available addresses (both IPv4 and IPv6). - If [code]bind_address[/code] is set to [code]"0.0.0.0"[/code] (for IPv4) or [code]"::"[/code] (for IPv6), the peer will listen on all available addresses matching that IP type. - If [code]bind_address[/code] is set to any valid address (e.g. [code]"192.168.1.101"[/code], [code]"::1"[/code], etc), the peer will only listen on the interface with that addresses (or fail if no interface with the given address exists). - </description> - </method> <method name="set_broadcast_enabled"> <return type="void"> </return> @@ -122,7 +129,7 @@ <return type="int" enum="Error"> </return> <description> - Waits for a packet to arrive on the listening port. See [method listen]. + Waits for a packet to arrive on the bound address. See [method bind]. [b]Note:[/b] [method wait] can't be interrupted once it has been called. This can be worked around by allowing the other party to send a specific "death pill" packet like this: [codeblocks] [gdscript] diff --git a/doc/classes/ParticlesMaterial.xml b/doc/classes/ParticlesMaterial.xml index 85058cb9d4..6d7f99a55b 100644 --- a/doc/classes/ParticlesMaterial.xml +++ b/doc/classes/ParticlesMaterial.xml @@ -181,7 +181,7 @@ The sphere's radius if [code]emission_shape[/code] is set to [constant EMISSION_SHAPE_SPHERE]. </member> <member name="flatness" type="float" setter="set_flatness" getter="get_flatness" default="0.0"> - Amount of [member spread] in Y/Z plane. A value of [code]1[/code] restricts particles to X/Z plane. + Amount of [member spread] along the Y axis. </member> <member name="gravity" type="Vector3" setter="set_gravity" getter="get_gravity" default="Vector3( 0, -9.8, 0 )"> Gravity applied to every particle. @@ -251,7 +251,7 @@ Scale randomness ratio. </member> <member name="spread" type="float" setter="set_spread" getter="get_spread" default="45.0"> - Each particle's initial direction range from [code]+spread[/code] to [code]-spread[/code] degrees. Applied to X/Z plane and Y/Z planes. + Each particle's initial direction range from [code]+spread[/code] to [code]-spread[/code] degrees. </member> <member name="sub_emitter_amount_at_end" type="int" setter="set_sub_emitter_amount_at_end" getter="get_sub_emitter_amount_at_end"> </member> diff --git a/doc/classes/PhysicsBody2D.xml b/doc/classes/PhysicsBody2D.xml index 9c3c47afba..e43d3bb762 100644 --- a/doc/classes/PhysicsBody2D.xml +++ b/doc/classes/PhysicsBody2D.xml @@ -26,24 +26,6 @@ Returns an array of nodes that were added as collision exceptions for this body. </description> </method> - <method name="get_collision_layer_bit" qualifiers="const"> - <return type="bool"> - </return> - <argument index="0" name="bit" type="int"> - </argument> - <description> - Returns an individual bit on the [member collision_layer]. - </description> - </method> - <method name="get_collision_mask_bit" qualifiers="const"> - <return type="bool"> - </return> - <argument index="0" name="bit" type="int"> - </argument> - <description> - Returns an individual bit on the [member collision_mask]. - </description> - </method> <method name="remove_collision_exception_with"> <return type="void"> </return> @@ -53,38 +35,8 @@ Removes a body from the list of bodies that this body can't collide with. </description> </method> - <method name="set_collision_layer_bit"> - <return type="void"> - </return> - <argument index="0" name="bit" type="int"> - </argument> - <argument index="1" name="value" type="bool"> - </argument> - <description> - Sets individual bits on the [member collision_layer] bitmask. Use this if you only need to change one layer's value. - </description> - </method> - <method name="set_collision_mask_bit"> - <return type="void"> - </return> - <argument index="0" name="bit" type="int"> - </argument> - <argument index="1" name="value" type="bool"> - </argument> - <description> - Sets individual bits on the [member collision_mask] bitmask. Use this if you only need to change one layer's value. - </description> - </method> </methods> <members> - <member name="collision_layer" type="int" setter="set_collision_layer" getter="get_collision_layer" default="1"> - The physics layers this area is in. - Collidable objects can exist in any of 32 different layers. These layers work like a tagging system, and are not visual. A collidable can use these layers to select with which objects it can collide, using the [member collision_mask] property. - A contact is detected if object A is in any of the layers that object B scans, or object B is in any layer scanned by object A. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information. - </member> - <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="1"> - The physics layers this area scans for collisions. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information. - </member> <member name="input_pickable" type="bool" setter="set_pickable" getter="is_pickable" override="true" default="false" /> </members> <constants> diff --git a/doc/classes/PhysicsBody3D.xml b/doc/classes/PhysicsBody3D.xml index 7de65603f9..b320d37d23 100644 --- a/doc/classes/PhysicsBody3D.xml +++ b/doc/classes/PhysicsBody3D.xml @@ -26,24 +26,6 @@ Returns an array of nodes that were added as collision exceptions for this body. </description> </method> - <method name="get_collision_layer_bit" qualifiers="const"> - <return type="bool"> - </return> - <argument index="0" name="bit" type="int"> - </argument> - <description> - Returns an individual bit on the [member collision_layer]. - </description> - </method> - <method name="get_collision_mask_bit" qualifiers="const"> - <return type="bool"> - </return> - <argument index="0" name="bit" type="int"> - </argument> - <description> - Returns an individual bit on the [member collision_mask]. - </description> - </method> <method name="remove_collision_exception_with"> <return type="void"> </return> @@ -53,39 +35,7 @@ Removes a body from the list of bodies that this body can't collide with. </description> </method> - <method name="set_collision_layer_bit"> - <return type="void"> - </return> - <argument index="0" name="bit" type="int"> - </argument> - <argument index="1" name="value" type="bool"> - </argument> - <description> - Sets individual bits on the [member collision_layer] bitmask. Use this if you only need to change one layer's value. - </description> - </method> - <method name="set_collision_mask_bit"> - <return type="void"> - </return> - <argument index="0" name="bit" type="int"> - </argument> - <argument index="1" name="value" type="bool"> - </argument> - <description> - Sets individual bits on the [member collision_mask] bitmask. Use this if you only need to change one layer's value. - </description> - </method> </methods> - <members> - <member name="collision_layer" type="int" setter="set_collision_layer" getter="get_collision_layer" default="1"> - The physics layers this area is in. - Collidable objects can exist in any of 32 different layers. These layers work like a tagging system, and are not visual. A collidable can use these layers to select with which objects it can collide, using the [member collision_mask] property. - A contact is detected if object A is in any of the layers that object B scans, or object B is in any layer scanned by object A. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information. - </member> - <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="1"> - The physics layers this area scans for collisions. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information. - </member> - </members> <constants> </constants> </class> diff --git a/doc/classes/PhysicsServer2D.xml b/doc/classes/PhysicsServer2D.xml index 701a430538..cfa4215fd4 100644 --- a/doc/classes/PhysicsServer2D.xml +++ b/doc/classes/PhysicsServer2D.xml @@ -659,11 +659,9 @@ </return> <argument index="0" name="body" type="RID"> </argument> - <argument index="1" name="receiver" type="Object"> - </argument> - <argument index="2" name="method" type="StringName"> + <argument index="1" name="callable" type="Callable"> </argument> - <argument index="3" name="userdata" type="Variant" default="null"> + <argument index="2" name="userdata" type="Variant" default="null"> </argument> <description> Sets the function used to calculate physics for an object, if that object allows it (see [method body_set_omit_force_integration]). @@ -1020,6 +1018,15 @@ Activates or deactivates the 2D physics engine. </description> </method> + <method name="set_collision_iterations"> + <return type="void"> + </return> + <argument index="0" name="iterations" type="int"> + </argument> + <description> + Sets the amount of iterations for calculating velocities of colliding bodies. The greater the amount, the more accurate the collisions, but with a performance loss. + </description> + </method> <method name="shape_get_data" qualifiers="const"> <return type="Variant"> </return> diff --git a/doc/classes/PhysicsServer3D.xml b/doc/classes/PhysicsServer3D.xml index 9a7926e937..46de9e5282 100644 --- a/doc/classes/PhysicsServer3D.xml +++ b/doc/classes/PhysicsServer3D.xml @@ -653,11 +653,9 @@ </return> <argument index="0" name="body" type="RID"> </argument> - <argument index="1" name="receiver" type="Object"> - </argument> - <argument index="2" name="method" type="StringName"> + <argument index="1" name="callable" type="Callable"> </argument> - <argument index="3" name="userdata" type="Variant" default="null"> + <argument index="2" name="userdata" type="Variant" default="null"> </argument> <description> Sets the function used to calculate physics for an object, if that object allows it (see [method body_set_omit_force_integration]). @@ -1241,6 +1239,14 @@ Gets a slider_joint parameter (see [enum SliderJointParam] constants). </description> </method> + <method name="soft_body_get_bounds" qualifiers="const"> + <return type="AABB"> + </return> + <argument index="0" name="body" type="RID"> + </argument> + <description> + </description> + </method> <method name="space_create"> <return type="RID"> </return> @@ -1543,7 +1549,10 @@ <constant name="SHAPE_HEIGHTMAP" value="8" enum="ShapeType"> The [Shape3D] is a [HeightMapShape3D]. </constant> - <constant name="SHAPE_CUSTOM" value="9" enum="ShapeType"> + <constant name="SHAPE_SOFT_BODY" value="9" enum="ShapeType"> + The [Shape3D] is a [SoftBody3D]. + </constant> + <constant name="SHAPE_CUSTOM" value="10" enum="ShapeType"> This constant is used internally by the engine. Any attempt to create this kind of shape results in an error. </constant> <constant name="AREA_PARAM_GRAVITY" value="0" enum="AreaParameter"> diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml index d7ccb03d04..690c90a16e 100644 --- a/doc/classes/ProjectSettings.xml +++ b/doc/classes/ProjectSettings.xml @@ -6,7 +6,8 @@ <description> Contains global variables accessible from everywhere. Use [method get_setting], [method set_setting] or [method has_setting] to access them. Variables stored in [code]project.godot[/code] are also loaded into ProjectSettings, making this object very useful for reading custom game configuration options. When naming a Project Settings property, use the full path to the setting including the category. For example, [code]"application/config/name"[/code] for the project name. Category and property names can be viewed in the Project Settings dialog. - [b]Overriding:[/b] Any project setting can be overridden by creating a file named [code]override.cfg[/code] in the project's root directory. This can also be used in exported projects by placing this file in the same directory as the project binary. + [b]Feature tags:[/b] Project settings can be overridden for specific platforms and configurations (debug, release, ...) using [url=https://docs.godotengine.org/en/latest/tutorials/export/feature_tags.html]feature tags[/url]. + [b]Overriding:[/b] Any project setting can be overridden by creating a file named [code]override.cfg[/code] in the project's root directory. This can also be used in exported projects by placing this file in the same directory as the project binary. Overriding will still take the base project settings' [url=https://docs.godotengine.org/en/latest/tutorials/export/feature_tags.html]feature tags[/url] in account. Therefore, make sure to [i]also[/i] override the setting with the desired feature tags if you want them to override base project settings on all platforms and configurations. </description> <tutorials> <link title="3D Physics Tests Demo">https://godotengine.org/asset-library/asset/675</link> @@ -255,8 +256,8 @@ [b]Note:[/b] Changing this value will also change the user data folder's path if [member application/config/use_custom_user_dir] is [code]false[/code]. After renaming the project, you will no longer be able to access existing data in [code]user://[/code] unless you rename the old folder to match the new project name. See [url=https://docs.godotengine.org/en/latest/tutorials/io/data_paths.html]Data paths[/url] in the documentation for more information. </member> <member name="application/config/project_settings_override" type="String" setter="" getter="" default=""""> - Specifies a file to override project settings. For example: [code]user://custom_settings.cfg[/code]. - [b]Note:[/b] Regardless of this setting's value, [code]res://override.cfg[/code] will still be read to override the project settings (see this class' description at the top). + Specifies a file to override project settings. For example: [code]user://custom_settings.cfg[/code]. See "Overriding" in the [ProjectSettings] class description at the top for more information. + [b]Note:[/b] Regardless of this setting's value, [code]res://override.cfg[/code] will still be read to override the project settings. </member> <member name="application/config/use_custom_user_dir" type="bool" setter="" getter="" default="false"> If [code]true[/code], the project will save user data to its own user directory (see [member application/config/custom_user_dir_name]). This setting is only effective on desktop platforms. A name must be set in the [member application/config/custom_user_dir_name] setting for this to take effect. If [code]false[/code], the project will save user data to [code](OS user data directory)/Godot/app_userdata/(project name)[/code]. @@ -541,6 +542,14 @@ <member name="editor/node_naming/name_num_separator" type="int" setter="" getter="" default="0"> What to use to separate node name from number. This is mostly an editor setting. </member> + <member name="editor/run/main_run_args" type="String" setter="" getter="" default=""""> + The command-line arguments to append to Godot's own command line when running the project. This doesn't affect the editor itself. + It is possible to make another executable run Godot by using the [code]%command%[/code] placeholder. The placeholder will be replaced with Godot's own command line. Program-specific arguments should be placed [i]before[/i] the placeholder, whereas Godot-specific arguments should be placed [i]after[/i] the placeholder. + For example, this can be used to force the project to run on the dedicated GPU in a NVIDIA Optimus system on Linux: + [codeblock] + prime-run %command% + [/codeblock] + </member> <member name="editor/script/search_in_file_extensions" type="PackedStringArray" setter="" getter="" default="PackedStringArray( "gd", "shader" )"> Text-based file extensions to include in the script editor's "Find in Files" feature. You can add e.g. [code]tscn[/code] if you wish to also parse your scene files, especially if you use built-in scripts which are serialized in the scene files. </member> @@ -723,6 +732,10 @@ </member> <member name="input/ui_text_select_all" type="Dictionary" setter="" getter=""> </member> + <member name="input/ui_text_select_word_under_caret" type="Dictionary" setter="" getter=""> + If no selection is currently active, selects the word currently under the caret in text fields. If a selection is currently active, deselects the current selection. + [b]Note:[/b] Currently, this is only implemented in [TextEdit], not [LineEdit]. + </member> <member name="input/ui_text_toggle_insert_mode" type="Dictionary" setter="" getter=""> </member> <member name="input/ui_undo" type="Dictionary" setter="" getter=""> @@ -734,7 +747,7 @@ <member name="input_devices/pen_tablet/driver" type="String" setter="" getter=""> Specifies the tablet driver to use. If left empty, the default driver will be used. </member> - <member name="input_devices/pen_tablet/driver.windows" type="String" setter="" getter=""> + <member name="input_devices/pen_tablet/driver.Windows" type="String" setter="" getter=""> Override for [member input_devices/pen_tablet/driver] on Windows. </member> <member name="input_devices/pointing/emulate_mouse_from_touch" type="bool" setter="" getter="" default="true"> @@ -749,6 +762,11 @@ <member name="internationalization/locale/fallback" type="String" setter="" getter="" default=""en""> The locale to fall back to if a translation isn't available in a given language. If left empty, [code]en[/code] (English) will be used. </member> + <member name="internationalization/locale/include_text_server_data" type="bool" setter="" getter="" default="false"> + If [code]true[/code], text server break iteration rule sets, dictionaries and other optional data are included in the exported project. + [b]Note:[/b] "ICU / HarfBuzz / Graphite" text server data includes dictionaries for Burmese, Chinese, Japanese, Khmer, Lao and Thai as well as Unicode Standard Annex #29 and Unicode Standard Annex #14 word and line breaking rules. Data is about 4 MB large. + [b]Note:[/b] "Fallback" text server does not use additional data. + </member> <member name="internationalization/locale/test" type="String" setter="" getter="" default=""""> If non-empty, this locale will be used when running the project from the editor. </member> @@ -1149,7 +1167,7 @@ <member name="navigation/3d/default_cell_size" type="float" setter="" getter="" default="0.3"> Default cell size for 3D navigation maps. See [method NavigationServer3D.map_set_cell_size]. </member> - <member name="navigation/3d/default_edge_connection_margin" type="float" setter="" getter="" default="5.0"> + <member name="navigation/3d/default_edge_connection_margin" type="float" setter="" getter="" default="0.3"> Default edge connection margin for 3D navigation maps. See [method NavigationServer3D.map_set_edge_connection_margin]. </member> <member name="network/limits/debugger/max_chars_per_second" type="int" setter="" getter="" default="32768"> @@ -1183,27 +1201,21 @@ The CA certificates bundle to use for SSL connections. If this is set to a non-empty value, this will [i]override[/i] Godot's default [url=https://github.com/godotengine/godot/blob/master/thirdparty/certs/ca-certificates.crt]Mozilla certificate bundle[/url]. If left empty, the default certificate bundle will be used. If in doubt, leave this setting empty. </member> - <member name="physics/2d/bp_hash_table_size" type="int" setter="" getter="" default="4096"> - Size of the hash table used for the broad-phase 2D hash grid algorithm. - </member> - <member name="physics/2d/cell_size" type="int" setter="" getter="" default="128"> - Cell size used for the broad-phase 2D hash grid algorithm (in pixels). - </member> <member name="physics/2d/default_angular_damp" type="float" setter="" getter="" default="1.0"> The default angular damp in 2D. [b]Note:[/b] Good values are in the range [code]0[/code] to [code]1[/code]. At value [code]0[/code] objects will keep moving with the same velocity. Values greater than [code]1[/code] will aim to reduce the velocity to [code]0[/code] in less than a second e.g. a value of [code]2[/code] will aim to reduce the velocity to [code]0[/code] in half a second. A value equal to or greater than the physics frame rate ([member ProjectSettings.physics/common/physics_fps], [code]60[/code] by default) will bring the object to a stop in one iteration. </member> - <member name="physics/2d/default_gravity" type="int" setter="" getter="" default="98"> - The default gravity strength in 2D. + <member name="physics/2d/default_gravity" type="float" setter="" getter="" default="980.0"> + The default gravity strength in 2D (in pixels per second squared). [b]Note:[/b] This property is only read when the project starts. To change the default gravity at runtime, use the following code sample: [codeblocks] [gdscript] - # Set the default gravity strength to 98. - PhysicsServer2D.area_set_param(get_viewport().find_world_2d().space, PhysicsServer2D.AREA_PARAM_GRAVITY, 98) + # Set the default gravity strength to 980. + PhysicsServer2D.area_set_param(get_viewport().find_world_2d().space, PhysicsServer2D.AREA_PARAM_GRAVITY, 980) [/gdscript] [csharp] - // Set the default gravity strength to 98. - PhysicsServer2D.AreaSetParam(GetViewport().FindWorld2d().Space, PhysicsServer2D.AreaParameter.Gravity, 98); + // Set the default gravity strength to 980. + PhysicsServer2D.AreaSetParam(GetViewport().FindWorld2d().Space, PhysicsServer2D.AreaParameter.Gravity, 980); [/csharp] [/codeblocks] </member> @@ -1225,9 +1237,6 @@ The default linear damp in 2D. [b]Note:[/b] Good values are in the range [code]0[/code] to [code]1[/code]. At value [code]0[/code] objects will keep moving with the same velocity. Values greater than [code]1[/code] will aim to reduce the velocity to [code]0[/code] in less than a second e.g. a value of [code]2[/code] will aim to reduce the velocity to [code]0[/code] in half a second. A value equal to or greater than the physics frame rate ([member ProjectSettings.physics/common/physics_fps], [code]60[/code] by default) will bring the object to a stop in one iteration. </member> - <member name="physics/2d/large_object_surface_threshold_in_cells" type="int" setter="" getter="" default="512"> - Threshold defining the surface size that constitutes a large object with regard to cells in the broad-phase 2D hash grid algorithm. - </member> <member name="physics/2d/physics_engine" type="String" setter="" getter="" default=""DEFAULT""> Sets which physics engine to use for 2D physics. "DEFAULT" and "GodotPhysics2D" are the same, as there is currently no alternative 2D physics server implemented. @@ -1249,7 +1258,7 @@ [b]Note:[/b] Good values are in the range [code]0[/code] to [code]1[/code]. At value [code]0[/code] objects will keep moving with the same velocity. Values greater than [code]1[/code] will aim to reduce the velocity to [code]0[/code] in less than a second e.g. a value of [code]2[/code] will aim to reduce the velocity to [code]0[/code] in half a second. A value equal to or greater than the physics frame rate ([member ProjectSettings.physics/common/physics_fps], [code]60[/code] by default) will bring the object to a stop in one iteration. </member> <member name="physics/3d/default_gravity" type="float" setter="" getter="" default="9.8"> - The default gravity strength in 3D. + The default gravity strength in 3D (in meters per second squared). [b]Note:[/b] This property is only read when the project starts. To change the default gravity at runtime, use the following code sample: [codeblocks] [gdscript] @@ -1350,10 +1359,6 @@ [b]FIXME:[/b] No longer valid after DisplayServer split: In such cases, this property is not updated, so use [code]OS.get_current_video_driver[/code] to query it at run-time. </member> - <member name="rendering/driver/rd_renderer/use_low_end_renderer" type="bool" setter="" getter="" default="false"> - </member> - <member name="rendering/driver/rd_renderer/use_low_end_renderer.mobile" type="bool" setter="" getter="" default="true"> - </member> <member name="rendering/driver/threads/thread_model" type="int" setter="" getter="" default="1"> Thread model for rendering. Rendering on a thread can vastly improve performance, but synchronizing to the main thread can cause a bit more jitter. </member> @@ -1463,6 +1468,12 @@ </member> <member name="rendering/mesh_lod/lod_change/threshold_pixels" type="float" setter="" getter="" default="1.0"> </member> + <member name="rendering/occlusion_culling/bvh_build_quality" type="int" setter="" getter="" default="2"> + </member> + <member name="rendering/occlusion_culling/occlusion_rays_per_thread" type="int" setter="" getter="" default="512"> + </member> + <member name="rendering/occlusion_culling/use_occlusion_culling" type="bool" setter="" getter="" default="false"> + </member> <member name="rendering/reflections/reflection_atlas/reflection_count" type="int" setter="" getter="" default="64"> Number of cubemaps to store in the reflection atlas. The number of [ReflectionProbe]s in a scene will be limited by this amount. A higher number requires more VRAM. </member> @@ -1571,6 +1582,10 @@ </member> <member name="rendering/vulkan/descriptor_pools/max_descriptors_per_pool" type="int" setter="" getter="" default="64"> </member> + <member name="rendering/vulkan/rendering/back_end" type="int" setter="" getter="" default="0"> + </member> + <member name="rendering/vulkan/rendering/back_end.mobile" type="int" setter="" getter="" default="1"> + </member> <member name="rendering/vulkan/staging_buffer/block_size_kb" type="int" setter="" getter="" default="256"> </member> <member name="rendering/vulkan/staging_buffer/max_size_mb" type="int" setter="" getter="" default="128"> diff --git a/doc/classes/RenderingServer.xml b/doc/classes/RenderingServer.xml index f82301bcf4..638b0bb297 100644 --- a/doc/classes/RenderingServer.xml +++ b/doc/classes/RenderingServer.xml @@ -1317,7 +1317,7 @@ Sets the scenario that the instance is in. The scenario is the 3D world that the objects will be displayed in. </description> </method> - <method name="instance_set_surface_material"> + <method name="instance_set_surface_override_material"> <return type="void"> </return> <argument index="0" name="instance" type="RID"> @@ -1327,7 +1327,7 @@ <argument index="2" name="material" type="RID"> </argument> <description> - Sets the material of a specific surface. Equivalent to [method MeshInstance3D.set_surface_material]. + Sets the override material of a specific surface. Equivalent to [method MeshInstance3D.set_surface_override_material]. </description> </method> <method name="instance_set_transform"> @@ -1999,6 +1999,24 @@ Sets the number of instances visible at a given time. If -1, all instances that have been allocated are drawn. Equivalent to [member MultiMesh.visible_instance_count]. </description> </method> + <method name="occluder_create"> + <return type="RID"> + </return> + <description> + </description> + </method> + <method name="occluder_set_mesh"> + <return type="void"> + </return> + <argument index="0" name="arg0" type="RID"> + </argument> + <argument index="1" name="arg1" type="PackedVector3Array"> + </argument> + <argument index="2" name="arg2" type="PackedInt32Array"> + </argument> + <description> + </description> + </method> <method name="omni_light_create"> <return type="RID"> </return> @@ -2412,6 +2430,16 @@ The scenario is the 3D world that all the visual instances exist in. </description> </method> + <method name="scenario_set_camera_effects"> + <return type="void"> + </return> + <argument index="0" name="scenario" type="RID"> + </argument> + <argument index="1" name="effects" type="RID"> + </argument> + <description> + </description> + </method> <method name="scenario_set_debug"> <return type="void"> </return> @@ -2897,6 +2925,22 @@ Sets the anti-aliasing mode. See [enum ViewportMSAA] for options. </description> </method> + <method name="viewport_set_occlusion_culling_build_quality"> + <return type="void"> + </return> + <argument index="0" name="quality" type="int" enum="RenderingServer.ViewportOcclusionCullingBuildQuality"> + </argument> + <description> + </description> + </method> + <method name="viewport_set_occlusion_rays_per_thread"> + <return type="void"> + </return> + <argument index="0" name="rays_per_thread" type="int"> + </argument> + <description> + </description> + </method> <method name="viewport_set_parent_viewport"> <return type="void"> </return> @@ -3002,6 +3046,16 @@ <description> </description> </method> + <method name="viewport_set_use_occlusion_culling"> + <return type="void"> + </return> + <argument index="0" name="viewport" type="RID"> + </argument> + <argument index="1" name="enable" type="bool"> + </argument> + <description> + </description> + </method> <method name="viewport_set_use_xr"> <return type="void"> </return> @@ -3454,6 +3508,8 @@ </constant> <constant name="VIEWPORT_DEBUG_DRAW_GI_BUFFER" value="17" enum="ViewportDebugDraw"> </constant> + <constant name="VIEWPORT_DEBUG_DRAW_OCCLUDERS" value="23" enum="ViewportDebugDraw"> + </constant> <constant name="SKY_MODE_QUALITY" value="1" enum="SkyMode"> Uses high quality importance sampling to process the radiance map. In general, this results in much higher quality than [constant Sky.PROCESS_MODE_REALTIME] but takes much longer to generate. This should not be used if you plan on changing the sky at runtime. If you are finding that the reflection is not blurry enough and is showing sparkles or fireflies, try increasing [member ProjectSettings.rendering/reflections/sky_reflections/ggx_samples]. </constant> @@ -3606,6 +3662,12 @@ <constant name="SCENARIO_DEBUG_SHADELESS" value="3" enum="ScenarioDebugMode"> Draw all objects without shading. Equivalent to setting all objects shaders to [code]unshaded[/code]. </constant> + <constant name="VIEWPORT_OCCLUSION_BUILD_QUALITY_LOW" value="0" enum="ViewportOcclusionCullingBuildQuality"> + </constant> + <constant name="VIEWPORT_OCCLUSION_BUILD_QUALITY_MEDIUM" value="1" enum="ViewportOcclusionCullingBuildQuality"> + </constant> + <constant name="VIEWPORT_OCCLUSION_BUILD_QUALITY_HIGH" value="2" enum="ViewportOcclusionCullingBuildQuality"> + </constant> <constant name="INSTANCE_NONE" value="0" enum="InstanceType"> The instance does not have a type. </constant> @@ -3638,7 +3700,9 @@ <constant name="INSTANCE_LIGHTMAP" value="10" enum="InstanceType"> The instance is a lightmap. </constant> - <constant name="INSTANCE_MAX" value="11" enum="InstanceType"> + <constant name="INSTANCE_OCCLUDER" value="11" enum="InstanceType"> + </constant> + <constant name="INSTANCE_MAX" value="12" enum="InstanceType"> Represents the size of the [enum InstanceType] enum. </constant> <constant name="INSTANCE_GEOMETRY_MASK" value="30" enum="InstanceType"> @@ -3653,7 +3717,9 @@ <constant name="INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE" value="2" enum="InstanceFlags"> When set, manually requests to draw geometry on next frame. </constant> - <constant name="INSTANCE_FLAG_MAX" value="3" enum="InstanceFlags"> + <constant name="INSTANCE_FLAG_IGNORE_OCCLUSION_CULLING" value="3" enum="InstanceFlags"> + </constant> + <constant name="INSTANCE_FLAG_MAX" value="4" enum="InstanceFlags"> Represents the size of the [enum InstanceFlags] enum. </constant> <constant name="SHADOW_CASTING_SETTING_OFF" value="0" enum="ShadowCastingSetting"> diff --git a/doc/classes/RibbonTrailMesh.xml b/doc/classes/RibbonTrailMesh.xml new file mode 100644 index 0000000000..771f2e444b --- /dev/null +++ b/doc/classes/RibbonTrailMesh.xml @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="RibbonTrailMesh" inherits="PrimitiveMesh" version="4.0"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + </methods> + <members> + <member name="curve" type="Curve" setter="set_curve" getter="get_curve"> + </member> + <member name="section_length" type="float" setter="set_section_length" getter="get_section_length" default="0.2"> + </member> + <member name="section_segments" type="int" setter="set_section_segments" getter="get_section_segments" default="3"> + </member> + <member name="sections" type="int" setter="set_sections" getter="get_sections" default="5"> + </member> + <member name="shape" type="int" setter="set_shape" getter="get_shape" enum="RibbonTrailMesh.Shape" default="1"> + </member> + <member name="size" type="float" setter="set_size" getter="get_size" default="1.0"> + </member> + </members> + <constants> + <constant name="SHAPE_FLAT" value="0" enum="Shape"> + </constant> + <constant name="SHAPE_CROSS" value="1" enum="Shape"> + </constant> + </constants> +</class> diff --git a/doc/classes/RigidBody2D.xml b/doc/classes/RigidBody2D.xml index ed375a8b1e..a37ebb2dd5 100644 --- a/doc/classes/RigidBody2D.xml +++ b/doc/classes/RigidBody2D.xml @@ -193,7 +193,7 @@ </description> </signal> <signal name="body_shape_entered"> - <argument index="0" name="body_id" type="int"> + <argument index="0" name="body_rid" type="RID"> </argument> <argument index="1" name="body" type="Node"> </argument> @@ -210,7 +210,7 @@ </description> </signal> <signal name="body_shape_exited"> - <argument index="0" name="body_id" type="int"> + <argument index="0" name="body_rid" type="RID"> </argument> <argument index="1" name="body" type="Node"> </argument> diff --git a/doc/classes/RigidBody3D.xml b/doc/classes/RigidBody3D.xml index 1c6c8852a9..2ee8e2697c 100644 --- a/doc/classes/RigidBody3D.xml +++ b/doc/classes/RigidBody3D.xml @@ -103,7 +103,7 @@ [b]Note:[/b] The result of this test is not immediate after moving objects. For performance, list of collisions is updated once per frame and before the physics step. Consider using signals instead. </description> </method> - <method name="get_inverse_inertia_tensor"> + <method name="get_inverse_inertia_tensor" qualifiers="const"> <return type="Basis"> </return> <description> @@ -217,7 +217,7 @@ </description> </signal> <signal name="body_shape_entered"> - <argument index="0" name="body_id" type="int"> + <argument index="0" name="body_rid" type="RID"> </argument> <argument index="1" name="body" type="Node"> </argument> @@ -235,7 +235,7 @@ </description> </signal> <signal name="body_shape_exited"> - <argument index="0" name="body_id" type="int"> + <argument index="0" name="body_rid" type="RID"> </argument> <argument index="1" name="body" type="Node"> </argument> diff --git a/doc/classes/SceneTree.xml b/doc/classes/SceneTree.xml index 9366d7dd44..06800082cb 100644 --- a/doc/classes/SceneTree.xml +++ b/doc/classes/SceneTree.xml @@ -21,7 +21,8 @@ <argument index="1" name="method" type="StringName"> </argument> <description> - Calls [code]method[/code] on each member of the given group. + Calls [code]method[/code] on each member of the given group. You can pass arguments to [code]method[/code] by specifying them at the end of the method call. + [b]Note:[/b] [method call_group] will always call methods with an one-frame delay, in a way similar to [method Object.call_deferred]. To call methods immediately, use [method call_group_flags] with the [constant GROUP_CALL_REALTIME] flag. </description> </method> <method name="call_group_flags" qualifiers="vararg"> @@ -34,7 +35,8 @@ <argument index="2" name="method" type="StringName"> </argument> <description> - Calls [code]method[/code] on each member of the given group, respecting the given [enum GroupCallFlags]. + Calls [code]method[/code] on each member of the given group, respecting the given [enum GroupCallFlags]. You can pass arguments to [code]method[/code] by specifying them at the end of the method call. + [b]Note:[/b] Group call flags are used to control the method calling behavior. If the [constant GROUP_CALL_REALTIME] flag is present in the [code]flags[/code] argument, methods will be called immediately. If this flag isn't present in [code]flags[/code], methods will be called with a one-frame delay in a way similar to [method call_group]. </description> </method> <method name="change_scene"> diff --git a/doc/classes/ScriptEditorBase.xml b/doc/classes/ScriptEditorBase.xml index ee498de302..e5c4c32450 100644 --- a/doc/classes/ScriptEditorBase.xml +++ b/doc/classes/ScriptEditorBase.xml @@ -18,6 +18,13 @@ Adds a [EditorSyntaxHighlighter] to the open script. </description> </method> + <method name="get_base_editor" qualifiers="const"> + <return type="Control"> + </return> + <description> + Returns the underlying [Control] used for editing scripts. This can be either [CodeEdit] (for text scripts) or [GraphEdit] (for visual scripts). + </description> + </method> </methods> <signals> <signal name="edited_script_changed"> diff --git a/doc/classes/ScrollContainer.xml b/doc/classes/ScrollContainer.xml index 9c5634f43a..40e29ac74b 100644 --- a/doc/classes/ScrollContainer.xml +++ b/doc/classes/ScrollContainer.xml @@ -39,12 +39,18 @@ <member name="scroll_horizontal_enabled" type="bool" setter="set_enable_h_scroll" getter="is_h_scroll_enabled" default="true"> If [code]true[/code], enables horizontal scrolling. </member> + <member name="scroll_horizontal_visible" type="bool" setter="set_h_scroll_visible" getter="is_h_scroll_visible" default="true"> + If [code]false[/code], hides the horizontal scrollbar. + </member> <member name="scroll_vertical" type="int" setter="set_v_scroll" getter="get_v_scroll" default="0"> The current vertical scroll value. </member> <member name="scroll_vertical_enabled" type="bool" setter="set_enable_v_scroll" getter="is_v_scroll_enabled" default="true"> If [code]true[/code], enables vertical scrolling. </member> + <member name="scroll_vertical_visible" type="bool" setter="set_v_scroll_visible" getter="is_v_scroll_visible" default="true"> + If [code]false[/code], hides the vertical scrollbar. + </member> </members> <signals> <signal name="scroll_ended"> diff --git a/doc/classes/Shape3D.xml b/doc/classes/Shape3D.xml index f8b749aebf..b5f70132d7 100644 --- a/doc/classes/Shape3D.xml +++ b/doc/classes/Shape3D.xml @@ -10,6 +10,13 @@ <link title="Physics introduction">https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html</link> </tutorials> <methods> + <method name="get_debug_mesh"> + <return type="ArrayMesh"> + </return> + <description> + Returns the [ArrayMesh] used to draw the debug collision for this [Shape3D]. + </description> + </method> </methods> <members> <member name="margin" type="float" setter="set_margin" getter="get_margin" default="0.04"> diff --git a/doc/classes/Skeleton3D.xml b/doc/classes/Skeleton3D.xml index cb72ae7e4c..0b278d7d25 100644 --- a/doc/classes/Skeleton3D.xml +++ b/doc/classes/Skeleton3D.xml @@ -91,6 +91,15 @@ Returns the overall transform of the specified bone, with respect to the skeleton. Being relative to the skeleton frame, this is not the actual "global" transform of the bone. </description> </method> + <method name="get_bone_global_pose_no_override" qualifiers="const"> + <return type="Transform"> + </return> + <argument index="0" name="bone_idx" type="int"> + </argument> + <description> + Returns the overall transform of the specified bone, with respect to the skeleton, but without any global pose overrides. Being relative to the skeleton frame, this is not the actual "global" transform of the bone. + </description> + </method> <method name="get_bone_name" qualifiers="const"> <return type="String"> </return> @@ -245,6 +254,16 @@ [b]Note[/b]: The pose transform needs to be in bone space. Use [method world_transform_to_bone_transform] to convert a world transform, like one you can get from a [Node3D], to bone space. </description> </method> + <method name="set_bone_name"> + <return type="void"> + </return> + <argument index="0" name="bone_idx" type="int"> + </argument> + <argument index="1" name="name" type="String"> + </argument> + <description> + </description> + </method> <method name="set_bone_parent"> <return type="void"> </return> diff --git a/doc/classes/SoftBody3D.xml b/doc/classes/SoftBody3D.xml index 29f8ecd432..7999ad774d 100644 --- a/doc/classes/SoftBody3D.xml +++ b/doc/classes/SoftBody3D.xml @@ -44,6 +44,12 @@ Returns an individual bit on the collision mask. </description> </method> + <method name="get_physics_rid" qualifiers="const"> + <return type="RID"> + </return> + <description> + </description> + </method> <method name="remove_collision_exception_with"> <return type="void"> </return> @@ -85,11 +91,11 @@ <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="1"> The physics layers this SoftBody3D scans for collisions. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information. </member> - <member name="damping_coefficient" type="float" setter="set_damping_coefficient" getter="get_damping_coefficient" default="0.0"> + <member name="damping_coefficient" type="float" setter="set_damping_coefficient" getter="get_damping_coefficient" default="0.01"> </member> <member name="drag_coefficient" type="float" setter="set_drag_coefficient" getter="get_drag_coefficient" default="0.0"> </member> - <member name="linear_stiffness" type="float" setter="set_linear_stiffness" getter="get_linear_stiffness" default="0.0"> + <member name="linear_stiffness" type="float" setter="set_linear_stiffness" getter="get_linear_stiffness" default="0.5"> </member> <member name="parent_collision_ignore" type="NodePath" setter="set_parent_collision_ignore" getter="get_parent_collision_ignore" default="NodePath("")"> [NodePath] to a [CollisionObject3D] this SoftBody3D should avoid clipping. @@ -99,10 +105,10 @@ <member name="ray_pickable" type="bool" setter="set_ray_pickable" getter="is_ray_pickable" default="true"> If [code]true[/code], the [SoftBody3D] will respond to [RayCast3D]s. </member> - <member name="simulation_precision" type="int" setter="set_simulation_precision" getter="get_simulation_precision" default="0"> + <member name="simulation_precision" type="int" setter="set_simulation_precision" getter="get_simulation_precision" default="5"> Increasing this value will improve the resulting simulation, but can affect performance. Use with care. </member> - <member name="total_mass" type="float" setter="set_total_mass" getter="get_total_mass" default="0.0"> + <member name="total_mass" type="float" setter="set_total_mass" getter="get_total_mass" default="1.0"> The SoftBody3D's mass. </member> </members> diff --git a/doc/classes/Sprite2D.xml b/doc/classes/Sprite2D.xml index 7a949d26e0..617ad3a371 100644 --- a/doc/classes/Sprite2D.xml +++ b/doc/classes/Sprite2D.xml @@ -18,7 +18,7 @@ [codeblocks] [gdscript] func _input(event): - if event is InputEventMouseButton and event.pressed and event.button_index == BUTTON_LEFT: + if event is InputEventMouseButton and event.pressed and event.button_index == MOUSE_BUTTON_LEFT: if get_rect().has_point(to_local(event.position)): print("A click!") [/gdscript] diff --git a/doc/classes/StreamPeer.xml b/doc/classes/StreamPeer.xml index a1b858acf6..f120103916 100644 --- a/doc/classes/StreamPeer.xml +++ b/doc/classes/StreamPeer.xml @@ -4,7 +4,7 @@ Abstraction and base class for stream-based protocols. </brief_description> <description> - StreamPeer is an abstraction and base class for stream-based protocols (such as TCP or UNIX sockets). It provides an API for sending and receiving data through streams as raw data or strings. + StreamPeer is an abstraction and base class for stream-based protocols (such as TCP). It provides an API for sending and receiving data through streams as raw data or strings. </description> <tutorials> </tutorials> diff --git a/doc/classes/StreamPeerTCP.xml b/doc/classes/StreamPeerTCP.xml index bb85d94bf9..7b7c1d7426 100644 --- a/doc/classes/StreamPeerTCP.xml +++ b/doc/classes/StreamPeerTCP.xml @@ -9,6 +9,18 @@ <tutorials> </tutorials> <methods> + <method name="bind"> + <return type="int" enum="Error"> + </return> + <argument index="0" name="port" type="int"> + </argument> + <argument index="1" name="host" type="String" default=""*""> + </argument> + <description> + Opens the TCP socket, and binds it to the specified local address. + This method is generally not needed, and only used to force the subsequent call to [method connect_to_host] to use the specified [code]host[/code] and [code]port[/code] as source address. This can be desired in some NAT punchthrough techniques, or when forcing the source network interface. + </description> + </method> <method name="connect_to_host"> <return type="int" enum="Error"> </return> @@ -17,7 +29,7 @@ <argument index="1" name="port" type="int"> </argument> <description> - Connects to the specified [code]host:port[/code] pair. A hostname will be resolved if valid. Returns [constant OK] on success or [constant FAILED] on failure. + Connects to the specified [code]host:port[/code] pair. A hostname will be resolved if valid. Returns [constant OK] on success. </description> </method> <method name="disconnect_from_host"> @@ -41,6 +53,13 @@ Returns the port of this peer. </description> </method> + <method name="get_local_port" qualifiers="const"> + <return type="int"> + </return> + <description> + Returns the local port to which this peer is bound. + </description> + </method> <method name="get_status"> <return type="int" enum="StreamPeerTCP.Status"> </return> @@ -61,8 +80,8 @@ <argument index="0" name="enabled" type="bool"> </argument> <description> - Disables Nagle's algorithm to improve latency for small packets. - [b]Note:[/b] For applications that send large packets or need to transfer a lot of data, this can decrease the total available bandwidth. + If [code]enabled[/code] is [code]true[/code], packets will be sent immediately. If [code]enabled[/code] is [code]false[/code] (the default), packet transfers will be delayed and combined using [url=https://en.wikipedia.org/wiki/Nagle%27s_algorithm]Nagle's algorithm[/url]. + [b]Note:[/b] It's recommended to leave this disabled for applications that send large packets or need to transfer a lot of data, as enabling this can decrease the total available bandwidth. </description> </method> </methods> diff --git a/doc/classes/String.xml b/doc/classes/String.xml index 416438e648..a81defa16c 100644 --- a/doc/classes/String.xml +++ b/doc/classes/String.xml @@ -397,7 +397,12 @@ <argument index="0" name="position" type="int"> </argument> <description> - Returns a number of characters from the left of the string. + Returns a number of characters from the left of the string. If negative [code]position[/code] is used, the characters are counted downwards from [String]'s length. + Examples: + [codeblock] + print("sample text".left(3)) #prints "sam" + print("sample text".left(-3)) #prints "sample t" + [/codeblock] </description> </method> <method name="length" qualifiers="const"> @@ -669,7 +674,12 @@ <argument index="0" name="position" type="int"> </argument> <description> - Returns the right side of the string from a given position. + Returns a number of characters from the right of the string. If negative [code]position[/code] is used, the characters are counted downwards from [String]'s length. + Examples: + [codeblock] + print("sample text".right(3)) #prints "ext" + print("sample text".right(-3)) #prints "ple text" + [/codeblock] </description> </method> <method name="rpad" qualifiers="const"> diff --git a/doc/classes/SubViewport.xml b/doc/classes/SubViewport.xml index 376082f417..f54f22d6fa 100644 --- a/doc/classes/SubViewport.xml +++ b/doc/classes/SubViewport.xml @@ -25,7 +25,7 @@ <member name="render_target_update_mode" type="int" setter="set_update_mode" getter="get_update_mode" enum="SubViewport.UpdateMode" default="2"> The update mode when the sub-viewport is used as a render target. </member> - <member name="size" type="Vector2i" setter="set_size" getter="get_size" default="Vector2i( 0, 0 )"> + <member name="size" type="Vector2i" setter="set_size" getter="get_size" default="Vector2i( 512, 512 )"> The width and height of the sub-viewport. </member> <member name="size_2d_override" type="Vector2i" setter="set_size_2d_override" getter="get_size_2d_override" default="Vector2i( 0, 0 )"> @@ -34,9 +34,6 @@ <member name="size_2d_override_stretch" type="bool" setter="set_size_2d_override_stretch" getter="is_size_2d_override_stretch_enabled" default="false"> If [code]true[/code], the 2D size override affects stretch as well. </member> - <member name="xr" type="bool" setter="set_use_xr" getter="is_using_xr" default="false"> - If [code]true[/code], the sub-viewport will be used in AR/VR process. - </member> </members> <constants> <constant name="CLEAR_MODE_ALWAYS" value="0" enum="ClearMode"> diff --git a/doc/classes/SurfaceTool.xml b/doc/classes/SurfaceTool.xml index d145b4ce97..1195e4aa2b 100644 --- a/doc/classes/SurfaceTool.xml +++ b/doc/classes/SurfaceTool.xml @@ -189,6 +189,12 @@ <description> </description> </method> + <method name="get_primitive" qualifiers="const"> + <return type="int" enum="Mesh.PrimitiveType"> + </return> + <description> + </description> + </method> <method name="get_skin_weight_count" qualifiers="const"> <return type="int" enum="SurfaceTool.SkinWeightCount"> </return> @@ -199,7 +205,7 @@ <return type="void"> </return> <description> - Shrinks the vertex array by creating an index array (avoids reusing vertices). + Shrinks the vertex array by creating an index array. This can improve performance by avoiding vertex reuse. </description> </method> <method name="optimize_indices_for_cache"> @@ -214,7 +220,7 @@ <argument index="0" name="bones" type="PackedInt32Array"> </argument> <description> - Specifies an array of bones for the next vertex to use. [code]bones[/code] must contain 4 integers. + Specifies an array of bones to use for the [i]next[/i] vertex. [code]bones[/code] must contain 4 integers. </description> </method> <method name="set_color"> @@ -223,7 +229,7 @@ <argument index="0" name="color" type="Color"> </argument> <description> - Specifies a [Color] for the next vertex to use. + Specifies a [Color] to use for the [i]next[/i] vertex. If every vertex needs to have this information set and you fail to submit it for the first vertex, this information may not be used at all. [b]Note:[/b] The material must have [member BaseMaterial3D.vertex_color_use_as_albedo] enabled for the vertex color to be visible. </description> </method> @@ -262,7 +268,7 @@ <argument index="0" name="normal" type="Vector3"> </argument> <description> - Specifies a normal for the next vertex to use. + Specifies a normal to use for the [i]next[/i] vertex. If every vertex needs to have this information set and you fail to submit it for the first vertex, this information may not be used at all. </description> </method> <method name="set_skin_weight_count"> @@ -288,7 +294,7 @@ <argument index="0" name="tangent" type="Plane"> </argument> <description> - Specifies a tangent for the next vertex to use. + Specifies a tangent to use for the [i]next[/i] vertex. If every vertex needs to have this information set and you fail to submit it for the first vertex, this information may not be used at all. </description> </method> <method name="set_uv"> @@ -297,7 +303,7 @@ <argument index="0" name="uv" type="Vector2"> </argument> <description> - Specifies a set of UV coordinates to use for the next vertex. + Specifies a set of UV coordinates to use for the [i]next[/i] vertex. If every vertex needs to have this information set and you fail to submit it for the first vertex, this information may not be used at all. </description> </method> <method name="set_uv2"> @@ -306,7 +312,7 @@ <argument index="0" name="uv2" type="Vector2"> </argument> <description> - Specifies an optional second set of UV coordinates to use for the next vertex. + Specifies an optional second set of UV coordinates to use for the [i]next[/i] vertex. If every vertex needs to have this information set and you fail to submit it for the first vertex, this information may not be used at all. </description> </method> <method name="set_weights"> @@ -315,7 +321,7 @@ <argument index="0" name="weights" type="PackedFloat32Array"> </argument> <description> - Specifies weight values for next vertex to use. [code]weights[/code] must contain 4 values. + Specifies weight values to use for the [i]next[/i] vertex. [code]weights[/code] must contain 4 values. If every vertex needs to have this information set and you fail to submit it for the first vertex, this information may not be used at all. </description> </method> </methods> diff --git a/doc/classes/TCP_Server.xml b/doc/classes/TCPServer.xml index 72e9ca923d..28f06ad3ae 100644 --- a/doc/classes/TCP_Server.xml +++ b/doc/classes/TCPServer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="TCP_Server" inherits="Reference" version="4.0"> +<class name="TCPServer" inherits="Reference" version="4.0"> <brief_description> A TCP server. </brief_description> @@ -9,6 +9,13 @@ <tutorials> </tutorials> <methods> + <method name="get_local_port" qualifiers="const"> + <return type="int"> + </return> + <description> + Returns the local port this server is listening to. + </description> + </method> <method name="is_connection_available" qualifiers="const"> <return type="bool"> </return> diff --git a/doc/classes/Tabs.xml b/doc/classes/Tabs.xml index 24c114c18b..d784585e20 100644 --- a/doc/classes/Tabs.xml +++ b/doc/classes/Tabs.xml @@ -254,6 +254,9 @@ </method> </methods> <members> + <member name="clip_tabs" type="bool" setter="set_clip_tabs" getter="get_clip_tabs" default="true"> + If [code]true[/code], tabs overflowing this node's width will be hidden, displaying two navigation buttons instead. Otherwise, this node's minimum size is updated so that all tabs are visible. + </member> <member name="current_tab" type="int" setter="set_current_tab" getter="get_current_tab" default="0"> Select tab at index [code]tab_idx[/code]. </member> @@ -386,8 +389,6 @@ <theme_item name="outline_size" type="int" default="0"> The size of the tab text outline. </theme_item> - <theme_item name="panel" type="StyleBox"> - </theme_item> <theme_item name="tab_disabled" type="StyleBox"> The style of disabled tabs. </theme_item> diff --git a/doc/classes/TextEdit.xml b/doc/classes/TextEdit.xml index 088bcd1c3c..29067b5534 100644 --- a/doc/classes/TextEdit.xml +++ b/doc/classes/TextEdit.xml @@ -5,6 +5,7 @@ </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. + [b]Note:[/b] When holding down [kbd]Alt[/kbd], the vertical scroll wheel will scroll 5 times as fast as it would normally do. This also works in the Godot script editor. </description> <tutorials> </tutorials> @@ -166,6 +167,15 @@ Returns the text of a specific line. </description> </method> + <method name="get_line_background_color"> + <return type="Color"> + </return> + <argument index="0" name="line" type="int"> + </argument> + <description> + Returns the current background color of the line. [code]Color(0, 0, 0, 0)[/code] is returned if no color is set. + </description> + </method> <method name="get_line_count" qualifiers="const"> <return type="int"> </return> @@ -282,6 +292,13 @@ Returns the selection end line. </description> </method> + <method name="get_visible_line_count" qualifiers="const"> + <return type="int"> + </return> + <description> + Returns the number of visible lines, including wrapped text. + </description> + </method> <method name="get_word_under_cursor" qualifiers="const"> <return type="String"> </return> @@ -540,6 +557,17 @@ If [code]true[/code], hides the line of the specified index. </description> </method> + <method name="set_line_background_color"> + <return type="void"> + </return> + <argument index="0" name="line" type="int"> + </argument> + <argument index="1" name="color" type="Color"> + </argument> + <description> + Sets the current background color of the line. Set to [code]Color(0, 0, 0, 0)[/code] for no color. + </description> + </method> <method name="set_line_gutter_clickable"> <return type="void"> </return> @@ -714,10 +742,10 @@ If [code]true[/code], read-only mode is enabled. Existing text cannot be modified and new text cannot be added. </member> <member name="scroll_horizontal" type="int" setter="set_h_scroll" getter="get_h_scroll" default="0"> - If there is a horizontal scrollbar this determines the current horizontal scroll value in pixels. + If there is a horizontal scrollbar, this determines the current horizontal scroll value in pixels. </member> <member name="scroll_vertical" type="float" setter="set_v_scroll" getter="get_v_scroll" default="0.0"> - If there is a vertical scrollbar this determines the current vertical scroll value in line numbers, starting at 0 for the top line. + If there is a vertical scrollbar, this determines the current vertical scroll value in line numbers, starting at 0 for the top line. </member> <member name="selecting_enabled" type="bool" setter="set_selecting_enabled" getter="is_selecting_enabled" default="true"> If [code]true[/code], text can be selected. @@ -979,9 +1007,6 @@ <theme_item name="line_spacing" type="int" default="4"> Sets the spacing between the lines. </theme_item> - <theme_item name="mark_color" type="Color" default="Color( 1, 0.4, 0.4, 0.4 )"> - Sets the [Color] of marked text. - </theme_item> <theme_item name="normal" type="StyleBox"> Sets the [StyleBox] of this [TextEdit]. </theme_item> diff --git a/doc/classes/TextParagraph.xml b/doc/classes/TextParagraph.xml index 69bf823ccd..8df53b8423 100644 --- a/doc/classes/TextParagraph.xml +++ b/doc/classes/TextParagraph.xml @@ -289,6 +289,20 @@ Returns the size of the bounding box of the paragraph. </description> </method> + <method name="get_spacing_bottom" qualifiers="const"> + <return type="int"> + </return> + <description> + Returns extra spacing at the bottom of the line. See [member Font.extra_spacing_bottom]. + </description> + </method> + <method name="get_spacing_top" qualifiers="const"> + <return type="int"> + </return> + <description> + Returns extra spacing at the top of the line. See [member Font.extra_spacing_top]. + </description> + </method> <method name="hit_test" qualifiers="const"> <return type="int"> </return> diff --git a/doc/classes/TextServer.xml b/doc/classes/TextServer.xml index 4a41b68fee..fe63e434c9 100644 --- a/doc/classes/TextServer.xml +++ b/doc/classes/TextServer.xml @@ -258,6 +258,22 @@ Returns advance of the glyph. </description> </method> + <method name="font_get_glyph_contours" qualifiers="const"> + <return type="Dictionary"> + </return> + <argument index="0" name="font" type="RID"> + </argument> + <argument index="1" name="size" type="int"> + </argument> + <argument index="2" name="index" type="int"> + </argument> + <description> + Returns outline contours of the glyph in a Dictionary. + [code]points[/code] - [PackedVector3Array], containing outline points. [code]x[/code] and [code]y[/code] are point coordinates. [code]z[/code] is the type of the point, using the [enum ContourPointTag] values. + [code]contours[/code] - [PackedInt32Array], containing indices the end points of each contour. + [code]orientation[/code] - [bool], contour orientation. If [code]true[/code], clockwise contours must be filled. + </description> + </method> <method name="font_get_glyph_index" qualifiers="const"> <return type="int"> </return> @@ -1301,5 +1317,14 @@ <constant name="FEATURE_USE_SUPPORT_DATA" value="128" enum="Feature"> TextServer require external data file for some features. </constant> + <constant name="CONTOUR_CURVE_TAG_ON" value="1" enum="ContourPointTag"> + Contour point is on the curve. + </constant> + <constant name="CONTOUR_CURVE_TAG_OFF_CONIC" value="0" enum="ContourPointTag"> + Contour point isn't on the curve, but serves as a control point for a conic (quadratic) Bézier arc. + </constant> + <constant name="CONTOUR_CURVE_TAG_OFF_CUBIC" value="2" enum="ContourPointTag"> + Contour point isn't on the curve, but serves as a control point for a cubic Bézier arc. + </constant> </constants> </class> diff --git a/doc/classes/Texture2D.xml b/doc/classes/Texture2D.xml index 2270b95c63..c33f32c9e4 100644 --- a/doc/classes/Texture2D.xml +++ b/doc/classes/Texture2D.xml @@ -63,18 +63,18 @@ Draws a part of the texture using a [CanvasItem] with the [RenderingServer] API. </description> </method> - <method name="get_data" qualifiers="const"> - <return type="Image"> + <method name="get_height" qualifiers="const"> + <return type="int"> </return> <description> - Returns an [Image] that is a copy of data from this [Texture2D]. [Image]s can be accessed and manipulated directly. + Returns the texture height. </description> </method> - <method name="get_height" qualifiers="const"> - <return type="int"> + <method name="get_image" qualifiers="const"> + <return type="Image"> </return> <description> - Returns the texture height. + Returns an [Image] that is a copy of data from this [Texture2D]. [Image]s can be accessed and manipulated directly. </description> </method> <method name="get_size" qualifiers="const"> diff --git a/doc/classes/Theme.xml b/doc/classes/Theme.xml index 9f976838e9..7448697df3 100644 --- a/doc/classes/Theme.xml +++ b/doc/classes/Theme.xml @@ -23,10 +23,10 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName"> + <argument index="1" name="theme_type" type="StringName"> </argument> <description> - Clears the [Color] at [code]name[/code] if the theme has [code]node_type[/code]. + Clears the [Color] at [code]name[/code] if the theme has [code]theme_type[/code]. </description> </method> <method name="clear_constant"> @@ -34,10 +34,10 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName"> + <argument index="1" name="theme_type" type="StringName"> </argument> <description> - Clears the constant at [code]name[/code] if the theme has [code]node_type[/code]. + Clears the constant at [code]name[/code] if the theme has [code]theme_type[/code]. </description> </method> <method name="clear_font"> @@ -45,10 +45,10 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName"> + <argument index="1" name="theme_type" type="StringName"> </argument> <description> - Clears the [Font] at [code]name[/code] if the theme has [code]node_type[/code]. + Clears the [Font] at [code]name[/code] if the theme has [code]theme_type[/code]. </description> </method> <method name="clear_font_size"> @@ -56,10 +56,10 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName"> + <argument index="1" name="theme_type" type="StringName"> </argument> <description> - Clears the font size [code]name[/code] if the theme has [code]node_type[/code]. + Clears the font size [code]name[/code] if the theme has [code]theme_type[/code]. </description> </method> <method name="clear_icon"> @@ -67,10 +67,10 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName"> + <argument index="1" name="theme_type" type="StringName"> </argument> <description> - Clears the icon at [code]name[/code] if the theme has [code]node_type[/code]. + Clears the icon at [code]name[/code] if the theme has [code]theme_type[/code]. </description> </method> <method name="clear_stylebox"> @@ -78,10 +78,23 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName"> + <argument index="1" name="theme_type" type="StringName"> </argument> <description> - Clears [StyleBox] at [code]name[/code] if the theme has [code]node_type[/code]. + Clears [StyleBox] at [code]name[/code] if the theme has [code]theme_type[/code]. + </description> + </method> + <method name="clear_theme_item"> + <return type="void"> + </return> + <argument index="0" name="data_type" type="int" enum="Theme.DataType"> + </argument> + <argument index="1" name="name" type="StringName"> + </argument> + <argument index="2" name="theme_type" type="StringName"> + </argument> + <description> + Clears the theme item of [code]data_type[/code] at [code]name[/code] if the theme has [code]theme_type[/code]. </description> </method> <method name="copy_default_theme"> @@ -105,19 +118,19 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName"> + <argument index="1" name="theme_type" type="StringName"> </argument> <description> - Returns the [Color] at [code]name[/code] if the theme has [code]node_type[/code]. + Returns the [Color] at [code]name[/code] if the theme has [code]theme_type[/code]. </description> </method> <method name="get_color_list" qualifiers="const"> <return type="PackedStringArray"> </return> - <argument index="0" name="node_type" type="String"> + <argument index="0" name="theme_type" type="String"> </argument> <description> - Returns all the [Color]s as a [PackedStringArray] filled with each [Color]'s name, for use in [method get_color], if the theme has [code]node_type[/code]. + Returns all the [Color]s as a [PackedStringArray] filled with each [Color]'s name, for use in [method get_color], if the theme has [code]theme_type[/code]. </description> </method> <method name="get_color_type_list" qualifiers="const"> @@ -132,19 +145,19 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName"> + <argument index="1" name="theme_type" type="StringName"> </argument> <description> - Returns the constant at [code]name[/code] if the theme has [code]node_type[/code]. + Returns the constant at [code]name[/code] if the theme has [code]theme_type[/code]. </description> </method> <method name="get_constant_list" qualifiers="const"> <return type="PackedStringArray"> </return> - <argument index="0" name="node_type" type="String"> + <argument index="0" name="theme_type" type="String"> </argument> <description> - Returns all the constants as a [PackedStringArray] filled with each constant's name, for use in [method get_constant], if the theme has [code]node_type[/code]. + Returns all the constants as a [PackedStringArray] filled with each constant's name, for use in [method get_constant], if the theme has [code]theme_type[/code]. </description> </method> <method name="get_constant_type_list" qualifiers="const"> @@ -159,19 +172,19 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName"> + <argument index="1" name="theme_type" type="StringName"> </argument> <description> - Returns the [Font] at [code]name[/code] if the theme has [code]node_type[/code]. + Returns the [Font] at [code]name[/code] if the theme has [code]theme_type[/code]. </description> </method> <method name="get_font_list" qualifiers="const"> <return type="PackedStringArray"> </return> - <argument index="0" name="node_type" type="String"> + <argument index="0" name="theme_type" type="String"> </argument> <description> - Returns all the [Font]s as a [PackedStringArray] filled with each [Font]'s name, for use in [method get_font], if the theme has [code]node_type[/code]. + Returns all the [Font]s as a [PackedStringArray] filled with each [Font]'s name, for use in [method get_font], if the theme has [code]theme_type[/code]. </description> </method> <method name="get_font_size" qualifiers="const"> @@ -179,19 +192,26 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName"> + <argument index="1" name="theme_type" type="StringName"> </argument> <description> - Returns the font size at [code]name[/code] if the theme has [code]node_type[/code]. + Returns the font size at [code]name[/code] if the theme has [code]theme_type[/code]. </description> </method> <method name="get_font_size_list" qualifiers="const"> <return type="PackedStringArray"> </return> - <argument index="0" name="node_type" type="String"> + <argument index="0" name="theme_type" type="String"> </argument> <description> - Returns all the font sizes as a [PackedStringArray] filled with each font size name, for use in [method get_font_size], if the theme has [code]node_type[/code]. + Returns all the font sizes as a [PackedStringArray] filled with each font size name, for use in [method get_font_size], if the theme has [code]theme_type[/code]. + </description> + </method> + <method name="get_font_size_type_list" qualifiers="const"> + <return type="PackedStringArray"> + </return> + <description> + Returns all the font size types as a [PackedStringArray] filled with unique type names, for use in [method get_font_size] and/or [method get_font_size_list]. </description> </method> <method name="get_font_type_list" qualifiers="const"> @@ -206,19 +226,19 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName"> + <argument index="1" name="theme_type" type="StringName"> </argument> <description> - Returns the icon [Texture2D] at [code]name[/code] if the theme has [code]node_type[/code]. + Returns the icon [Texture2D] at [code]name[/code] if the theme has [code]theme_type[/code]. </description> </method> <method name="get_icon_list" qualifiers="const"> <return type="PackedStringArray"> </return> - <argument index="0" name="node_type" type="String"> + <argument index="0" name="theme_type" type="String"> </argument> <description> - Returns all the icons as a [PackedStringArray] filled with each [Texture2D]'s name, for use in [method get_icon], if the theme has [code]node_type[/code]. + Returns all the icons as a [PackedStringArray] filled with each [Texture2D]'s name, for use in [method get_icon], if the theme has [code]theme_type[/code]. </description> </method> <method name="get_icon_type_list" qualifiers="const"> @@ -233,21 +253,21 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName"> + <argument index="1" name="theme_type" type="StringName"> </argument> <description> - Returns the [StyleBox] at [code]name[/code] if the theme has [code]node_type[/code]. - Valid [code]name[/code]s may be found using [method get_stylebox_list]. Valid [code]node_type[/code]s may be found using [method get_stylebox_type_list]. + Returns the [StyleBox] at [code]name[/code] if the theme has [code]theme_type[/code]. + Valid [code]name[/code]s may be found using [method get_stylebox_list]. Valid [code]theme_type[/code]s may be found using [method get_stylebox_type_list]. </description> </method> <method name="get_stylebox_list" qualifiers="const"> <return type="PackedStringArray"> </return> - <argument index="0" name="node_type" type="String"> + <argument index="0" name="theme_type" type="String"> </argument> <description> - Returns all the [StyleBox]s as a [PackedStringArray] filled with each [StyleBox]'s name, for use in [method get_stylebox], if the theme has [code]node_type[/code]. - Valid [code]node_type[/code]s may be found using [method get_stylebox_type_list]. + Returns all the [StyleBox]s as a [PackedStringArray] filled with each [StyleBox]'s name, for use in [method get_stylebox], if the theme has [code]theme_type[/code]. + Valid [code]theme_type[/code]s may be found using [method get_stylebox_type_list]. </description> </method> <method name="get_stylebox_type_list" qualifiers="const"> @@ -257,6 +277,41 @@ Returns all the [StyleBox] types as a [PackedStringArray] filled with unique type names, for use in [method get_stylebox] and/or [method get_stylebox_list]. </description> </method> + <method name="get_theme_item" qualifiers="const"> + <return type="Variant"> + </return> + <argument index="0" name="data_type" type="int" enum="Theme.DataType"> + </argument> + <argument index="1" name="name" type="StringName"> + </argument> + <argument index="2" name="theme_type" type="StringName"> + </argument> + <description> + Returns the theme item of [code]data_type[/code] at [code]name[/code] if the theme has [code]theme_type[/code]. + Valid [code]name[/code]s may be found using [method get_theme_item_list] or a data type specific method. Valid [code]theme_type[/code]s may be found using [method get_theme_item_type_list] or a data type specific method. + </description> + </method> + <method name="get_theme_item_list" qualifiers="const"> + <return type="PackedStringArray"> + </return> + <argument index="0" name="data_type" type="int" enum="Theme.DataType"> + </argument> + <argument index="1" name="theme_type" type="String"> + </argument> + <description> + Returns all the theme items of [code]data_type[/code] as a [PackedStringArray] filled with each theme items's name, for use in [method get_theme_item] or a data type specific method, if the theme has [code]theme_type[/code]. + Valid [code]theme_type[/code]s may be found using [method get_theme_item_type_list] or a data type specific method. + </description> + </method> + <method name="get_theme_item_type_list" qualifiers="const"> + <return type="PackedStringArray"> + </return> + <argument index="0" name="data_type" type="int" enum="Theme.DataType"> + </argument> + <description> + Returns all the theme items of [code]data_type[/code] types as a [PackedStringArray] filled with unique type names, for use in [method get_theme_item], [method get_theme_item_list] or data type specific methods. + </description> + </method> <method name="get_type_list" qualifiers="const"> <return type="PackedStringArray"> </return> @@ -269,11 +324,11 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName"> + <argument index="1" name="theme_type" type="StringName"> </argument> <description> - Returns [code]true[/code] if [Color] with [code]name[/code] is in [code]node_type[/code]. - Returns [code]false[/code] if the theme does not have [code]node_type[/code]. + Returns [code]true[/code] if [Color] with [code]name[/code] is in [code]theme_type[/code]. + Returns [code]false[/code] if the theme does not have [code]theme_type[/code]. </description> </method> <method name="has_constant" qualifiers="const"> @@ -281,11 +336,11 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName"> + <argument index="1" name="theme_type" type="StringName"> </argument> <description> - Returns [code]true[/code] if constant with [code]name[/code] is in [code]node_type[/code]. - Returns [code]false[/code] if the theme does not have [code]node_type[/code]. + Returns [code]true[/code] if constant with [code]name[/code] is in [code]theme_type[/code]. + Returns [code]false[/code] if the theme does not have [code]theme_type[/code]. </description> </method> <method name="has_font" qualifiers="const"> @@ -293,11 +348,11 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName"> + <argument index="1" name="theme_type" type="StringName"> </argument> <description> - Returns [code]true[/code] if [Font] with [code]name[/code] is in [code]node_type[/code]. - Returns [code]false[/code] if the theme does not have [code]node_type[/code]. + Returns [code]true[/code] if [Font] with [code]name[/code] is in [code]theme_type[/code]. + Returns [code]false[/code] if the theme does not have [code]theme_type[/code]. </description> </method> <method name="has_font_size" qualifiers="const"> @@ -305,11 +360,11 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName"> + <argument index="1" name="theme_type" type="StringName"> </argument> <description> - Returns [code]true[/code] if font size with [code]name[/code] is in [code]node_type[/code]. - Returns [code]false[/code] if the theme does not have [code]node_type[/code]. + Returns [code]true[/code] if font size with [code]name[/code] is in [code]theme_type[/code]. + Returns [code]false[/code] if the theme does not have [code]theme_type[/code]. </description> </method> <method name="has_icon" qualifiers="const"> @@ -317,11 +372,11 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName"> + <argument index="1" name="theme_type" type="StringName"> </argument> <description> - Returns [code]true[/code] if icon [Texture2D] with [code]name[/code] is in [code]node_type[/code]. - Returns [code]false[/code] if the theme does not have [code]node_type[/code]. + Returns [code]true[/code] if icon [Texture2D] with [code]name[/code] is in [code]theme_type[/code]. + Returns [code]false[/code] if the theme does not have [code]theme_type[/code]. </description> </method> <method name="has_stylebox" qualifiers="const"> @@ -329,11 +384,118 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName"> + <argument index="1" name="theme_type" type="StringName"> + </argument> + <description> + Returns [code]true[/code] if [StyleBox] with [code]name[/code] is in [code]theme_type[/code]. + Returns [code]false[/code] if the theme does not have [code]theme_type[/code]. + </description> + </method> + <method name="has_theme_item" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="data_type" type="int" enum="Theme.DataType"> + </argument> + <argument index="1" name="name" type="StringName"> + </argument> + <argument index="2" name="theme_type" type="StringName"> </argument> <description> - Returns [code]true[/code] if [StyleBox] with [code]name[/code] is in [code]node_type[/code]. - Returns [code]false[/code] if the theme does not have [code]node_type[/code]. + Returns [code]true[/code] if a theme item of [code]data_type[/code] with [code]name[/code] is in [code]theme_type[/code]. + Returns [code]false[/code] if the theme does not have [code]theme_type[/code]. + </description> + </method> + <method name="rename_color"> + <return type="void"> + </return> + <argument index="0" name="old_name" type="StringName"> + </argument> + <argument index="1" name="name" type="StringName"> + </argument> + <argument index="2" name="theme_type" type="StringName"> + </argument> + <description> + Renames the [Color] at [code]old_name[/code] to [code]name[/code] if the theme has [code]theme_type[/code]. If [code]name[/code] is already taken, this method fails. + </description> + </method> + <method name="rename_constant"> + <return type="void"> + </return> + <argument index="0" name="old_name" type="StringName"> + </argument> + <argument index="1" name="name" type="StringName"> + </argument> + <argument index="2" name="theme_type" type="StringName"> + </argument> + <description> + Renames the constant at [code]old_name[/code] to [code]name[/code] if the theme has [code]theme_type[/code]. If [code]name[/code] is already taken, this method fails. + </description> + </method> + <method name="rename_font"> + <return type="void"> + </return> + <argument index="0" name="old_name" type="StringName"> + </argument> + <argument index="1" name="name" type="StringName"> + </argument> + <argument index="2" name="theme_type" type="StringName"> + </argument> + <description> + Renames the [Font] at [code]old_name[/code] to [code]name[/code] if the theme has [code]theme_type[/code]. If [code]name[/code] is already taken, this method fails. + </description> + </method> + <method name="rename_font_size"> + <return type="void"> + </return> + <argument index="0" name="old_name" type="StringName"> + </argument> + <argument index="1" name="name" type="StringName"> + </argument> + <argument index="2" name="theme_type" type="StringName"> + </argument> + <description> + Renames the font size [code]old_name[/code] to [code]name[/code] if the theme has [code]theme_type[/code]. If [code]name[/code] is already taken, this method fails. + </description> + </method> + <method name="rename_icon"> + <return type="void"> + </return> + <argument index="0" name="old_name" type="StringName"> + </argument> + <argument index="1" name="name" type="StringName"> + </argument> + <argument index="2" name="theme_type" type="StringName"> + </argument> + <description> + Renames the icon at [code]old_name[/code] to [code]name[/code] if the theme has [code]theme_type[/code]. If [code]name[/code] is already taken, this method fails. + </description> + </method> + <method name="rename_stylebox"> + <return type="void"> + </return> + <argument index="0" name="old_name" type="StringName"> + </argument> + <argument index="1" name="name" type="StringName"> + </argument> + <argument index="2" name="theme_type" type="StringName"> + </argument> + <description> + Renames [StyleBox] at [code]old_name[/code] to [code]name[/code] if the theme has [code]theme_type[/code]. If [code]name[/code] is already taken, this method fails. + </description> + </method> + <method name="rename_theme_item"> + <return type="void"> + </return> + <argument index="0" name="data_type" type="int" enum="Theme.DataType"> + </argument> + <argument index="1" name="old_name" type="StringName"> + </argument> + <argument index="2" name="name" type="StringName"> + </argument> + <argument index="3" name="theme_type" type="StringName"> + </argument> + <description> + Renames the theme item of [code]data_type[/code] at [code]old_name[/code] to [code]name[/code] if the theme has [code]theme_type[/code]. If [code]name[/code] is already taken, this method fails. </description> </method> <method name="set_color"> @@ -341,13 +503,13 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName"> + <argument index="1" name="theme_type" type="StringName"> </argument> <argument index="2" name="color" type="Color"> </argument> <description> - Sets the theme's [Color] to [code]color[/code] at [code]name[/code] in [code]node_type[/code]. - Does nothing if the theme does not have [code]node_type[/code]. + Sets the theme's [Color] to [code]color[/code] at [code]name[/code] in [code]theme_type[/code]. + Creates [code]theme_type[/code] if the theme does not have it. </description> </method> <method name="set_constant"> @@ -355,13 +517,13 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName"> + <argument index="1" name="theme_type" type="StringName"> </argument> <argument index="2" name="constant" type="int"> </argument> <description> - Sets the theme's constant to [code]constant[/code] at [code]name[/code] in [code]node_type[/code]. - Does nothing if the theme does not have [code]node_type[/code]. + Sets the theme's constant to [code]constant[/code] at [code]name[/code] in [code]theme_type[/code]. + Creates [code]theme_type[/code] if the theme does not have it. </description> </method> <method name="set_font"> @@ -369,13 +531,13 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName"> + <argument index="1" name="theme_type" type="StringName"> </argument> <argument index="2" name="font" type="Font"> </argument> <description> - Sets the theme's [Font] to [code]font[/code] at [code]name[/code] in [code]node_type[/code]. - Does nothing if the theme does not have [code]node_type[/code]. + Sets the theme's [Font] to [code]font[/code] at [code]name[/code] in [code]theme_type[/code]. + Creates [code]theme_type[/code] if the theme does not have it. </description> </method> <method name="set_font_size"> @@ -383,13 +545,13 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName"> + <argument index="1" name="theme_type" type="StringName"> </argument> <argument index="2" name="font_size" type="int"> </argument> <description> - Sets the theme's font size to [code]font_size[/code] at [code]name[/code] in [code]node_type[/code]. - Does nothing if the theme does not have [code]node_type[/code]. + Sets the theme's font size to [code]font_size[/code] at [code]name[/code] in [code]theme_type[/code]. + Creates [code]theme_type[/code] if the theme does not have it. </description> </method> <method name="set_icon"> @@ -397,13 +559,13 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName"> + <argument index="1" name="theme_type" type="StringName"> </argument> <argument index="2" name="texture" type="Texture2D"> </argument> <description> - Sets the theme's icon [Texture2D] to [code]texture[/code] at [code]name[/code] in [code]node_type[/code]. - Does nothing if the theme does not have [code]node_type[/code]. + Sets the theme's icon [Texture2D] to [code]texture[/code] at [code]name[/code] in [code]theme_type[/code]. + Creates [code]theme_type[/code] if the theme does not have it. </description> </method> <method name="set_stylebox"> @@ -411,13 +573,30 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="node_type" type="StringName"> + <argument index="1" name="theme_type" type="StringName"> </argument> <argument index="2" name="texture" type="StyleBox"> </argument> <description> - Sets theme's [StyleBox] to [code]stylebox[/code] at [code]name[/code] in [code]node_type[/code]. - Does nothing if the theme does not have [code]node_type[/code]. + Sets theme's [StyleBox] to [code]stylebox[/code] at [code]name[/code] in [code]theme_type[/code]. + Creates [code]theme_type[/code] if the theme does not have it. + </description> + </method> + <method name="set_theme_item"> + <return type="void"> + </return> + <argument index="0" name="data_type" type="int" enum="Theme.DataType"> + </argument> + <argument index="1" name="name" type="StringName"> + </argument> + <argument index="2" name="theme_type" type="StringName"> + </argument> + <argument index="3" name="value" type="Variant"> + </argument> + <description> + Sets the theme item of [code]data_type[/code] to [code]value[/code] at [code]name[/code] in [code]theme_type[/code]. + Does nothing if the [code]value[/code] type does not match [code]data_type[/code]. + Creates [code]theme_type[/code] if the theme does not have it. </description> </method> </methods> @@ -430,5 +609,26 @@ </member> </members> <constants> + <constant name="DATA_TYPE_COLOR" value="0" enum="DataType"> + Theme's [Color] item type. + </constant> + <constant name="DATA_TYPE_CONSTANT" value="1" enum="DataType"> + Theme's constant item type. + </constant> + <constant name="DATA_TYPE_FONT" value="2" enum="DataType"> + Theme's [Font] item type. + </constant> + <constant name="DATA_TYPE_FONT_SIZE" value="3" enum="DataType"> + Theme's font size item type. + </constant> + <constant name="DATA_TYPE_ICON" value="4" enum="DataType"> + Theme's icon [Texture2D] item type. + </constant> + <constant name="DATA_TYPE_STYLEBOX" value="5" enum="DataType"> + Theme's [StyleBox] item type. + </constant> + <constant name="DATA_TYPE_MAX" value="6" enum="DataType"> + Maximum value for the DataType enum. + </constant> </constants> </class> diff --git a/doc/classes/TileData.xml b/doc/classes/TileData.xml new file mode 100644 index 0000000000..efcbdf2e95 --- /dev/null +++ b/doc/classes/TileData.xml @@ -0,0 +1,245 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="TileData" inherits="Object" version="4.0"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + <method name="add_collision_shape"> + <return type="void"> + </return> + <argument index="0" name="layer_id" type="int"> + </argument> + <description> + </description> + </method> + <method name="get_collision_shape_one_way_margin" qualifiers="const"> + <return type="float"> + </return> + <argument index="0" name="layer_id" type="int"> + </argument> + <argument index="1" name="shape_index" type="int"> + </argument> + <description> + </description> + </method> + <method name="get_collision_shape_shape" qualifiers="const"> + <return type="Shape2D"> + </return> + <argument index="0" name="layer_id" type="int"> + </argument> + <argument index="1" name="shape_index" type="int"> + </argument> + <description> + </description> + </method> + <method name="get_collision_shapes_count" qualifiers="const"> + <return type="int"> + </return> + <argument index="0" name="layer_id" type="int"> + </argument> + <description> + </description> + </method> + <method name="get_custom_data" qualifiers="const"> + <return type="Variant"> + </return> + <argument index="0" name="layer_name" type="String"> + </argument> + <description> + </description> + </method> + <method name="get_custom_data_by_layer_id" qualifiers="const"> + <return type="Variant"> + </return> + <argument index="0" name="layer_id" type="int"> + </argument> + <description> + </description> + </method> + <method name="get_navigation_polygon" qualifiers="const"> + <return type="NavigationPolygon"> + </return> + <argument index="0" name="layer_id" type="int"> + </argument> + <description> + </description> + </method> + <method name="get_occluder" qualifiers="const"> + <return type="OccluderPolygon2D"> + </return> + <argument index="0" name="layer_id" type="int"> + </argument> + <description> + </description> + </method> + <method name="get_peering_bit_terrain" qualifiers="const"> + <return type="int"> + </return> + <argument index="0" name="peering_bit" type="int" enum="TileSet.CellNeighbor"> + </argument> + <description> + </description> + </method> + <method name="is_collision_shape_one_way" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="layer_id" type="int"> + </argument> + <argument index="1" name="shape_index" type="int"> + </argument> + <description> + </description> + </method> + <method name="remove_collision_shape"> + <return type="void"> + </return> + <argument index="0" name="layer_id" type="int"> + </argument> + <argument index="1" name="shape_index" type="int"> + </argument> + <description> + </description> + </method> + <method name="set_collision_shape_one_way"> + <return type="void"> + </return> + <argument index="0" name="layer_id" type="int"> + </argument> + <argument index="1" name="shape_index" type="int"> + </argument> + <argument index="2" name="one_way" type="bool"> + </argument> + <description> + </description> + </method> + <method name="set_collision_shape_one_way_margin"> + <return type="void"> + </return> + <argument index="0" name="layer_id" type="int"> + </argument> + <argument index="1" name="shape_index" type="int"> + </argument> + <argument index="2" name="one_way_margin" type="float"> + </argument> + <description> + </description> + </method> + <method name="set_collision_shape_shape"> + <return type="void"> + </return> + <argument index="0" name="layer_id" type="int"> + </argument> + <argument index="1" name="shape_index" type="int"> + </argument> + <argument index="2" name="shape" type="Shape2D"> + </argument> + <description> + </description> + </method> + <method name="set_collision_shapes_count"> + <return type="void"> + </return> + <argument index="0" name="layer_id" type="int"> + </argument> + <argument index="1" name="shapes_count" type="int"> + </argument> + <description> + </description> + </method> + <method name="set_custom_data"> + <return type="void"> + </return> + <argument index="0" name="layer_name" type="String"> + </argument> + <argument index="1" name="value" type="Variant"> + </argument> + <description> + </description> + </method> + <method name="set_custom_data_by_layer_id"> + <return type="void"> + </return> + <argument index="0" name="layer_id" type="int"> + </argument> + <argument index="1" name="value" type="Variant"> + </argument> + <description> + </description> + </method> + <method name="set_navigation_polygon"> + <return type="void"> + </return> + <argument index="0" name="layer_id" type="int"> + </argument> + <argument index="1" name="navigation_polygon" type="NavigationPolygon"> + </argument> + <description> + </description> + </method> + <method name="set_occluder"> + <return type="void"> + </return> + <argument index="0" name="layer_id" type="int"> + </argument> + <argument index="1" name="occluder_polygon" type="OccluderPolygon2D"> + </argument> + <description> + </description> + </method> + <method name="set_peering_bit_terrain"> + <return type="void"> + </return> + <argument index="0" name="peering_bit" type="int" enum="TileSet.CellNeighbor"> + </argument> + <argument index="1" name="terrain" type="int"> + </argument> + <description> + </description> + </method> + <method name="tile_get_material" qualifiers="const"> + <return type="ShaderMaterial"> + </return> + <description> + </description> + </method> + <method name="tile_set_material"> + <return type="void"> + </return> + <argument index="0" name="material" type="ShaderMaterial"> + </argument> + <description> + </description> + </method> + </methods> + <members> + <member name="flip_h" type="bool" setter="set_flip_h" getter="get_flip_h" default="false"> + </member> + <member name="flip_v" type="bool" setter="set_flip_v" getter="get_flip_v" default="false"> + </member> + <member name="modulate" type="Color" setter="set_modulate" getter="get_modulate" default="Color( 1, 1, 1, 1 )"> + </member> + <member name="probability" type="float" setter="set_probability" getter="get_probability" default="1.0"> + </member> + <member name="terrain_set" type="int" setter="set_terrain_set" getter="get_terrain_set" default="-1"> + </member> + <member name="texture_offset" type="Vector2i" setter="set_texture_offset" getter="get_texture_offset" default="Vector2i( 0, 0 )"> + </member> + <member name="transpose" type="bool" setter="set_transpose" getter="get_transpose" default="false"> + </member> + <member name="y_sort_origin" type="int" setter="set_y_sort_origin" getter="get_y_sort_origin" default="0"> + </member> + <member name="z_index" type="int" setter="set_z_index" getter="get_z_index" default="0"> + </member> + </members> + <signals> + <signal name="changed"> + <description> + </description> + </signal> + </signals> + <constants> + </constants> +</class> diff --git a/doc/classes/TileMap.xml b/doc/classes/TileMap.xml index 7ed8ad6d4a..fd52a28486 100644 --- a/doc/classes/TileMap.xml +++ b/doc/classes/TileMap.xml @@ -31,53 +31,46 @@ Clears cells that do not exist in the tileset. </description> </method> - <method name="get_cell" qualifiers="const"> + <method name="get_cell_alternative_tile" qualifiers="const"> <return type="int"> </return> - <argument index="0" name="x" type="int"> - </argument> - <argument index="1" name="y" type="int"> + <argument index="0" name="coords" type="Vector2i"> </argument> <description> - Returns the tile index of the given cell. If no tile exists in the cell, returns [constant INVALID_CELL]. </description> </method> - <method name="get_cell_autotile_coord" qualifiers="const"> - <return type="Vector2"> + <method name="get_cell_atlas_coords" qualifiers="const"> + <return type="Vector2i"> </return> - <argument index="0" name="x" type="int"> - </argument> - <argument index="1" name="y" type="int"> + <argument index="0" name="coords" type="Vector2i"> </argument> <description> - Returns the coordinate (subtile column and row) of the autotile variation in the tileset. Returns a zero vector if the cell doesn't have autotiling. </description> </method> - <method name="get_cellv" qualifiers="const"> + <method name="get_cell_source_id" qualifiers="const"> <return type="int"> </return> - <argument index="0" name="position" type="Vector2"> + <argument index="0" name="coords" type="Vector2i"> </argument> <description> - Returns the tile index of the cell given by a Vector2. If no tile exists in the cell, returns [constant INVALID_CELL]. </description> </method> - <method name="get_collision_layer_bit" qualifiers="const"> - <return type="bool"> + <method name="get_neighbor_cell" qualifiers="const"> + <return type="Vector2i"> </return> - <argument index="0" name="bit" type="int"> + <argument index="0" name="coords" type="Vector2i"> + </argument> + <argument index="1" name="neighbor" type="int" enum="TileSet.CellNeighbor"> </argument> <description> - Returns [code]true[/code] if the given collision layer bit is set. </description> </method> - <method name="get_collision_mask_bit" qualifiers="const"> - <return type="bool"> + <method name="get_surrounding_tiles"> + <return type="Vector2i[]"> </return> - <argument index="0" name="bit" type="int"> + <argument index="0" name="coords" type="Vector2i"> </argument> <description> - Returns [code]true[/code] if the given collision mask bit is set. </description> </method> <method name="get_used_cells" qualifiers="const"> @@ -87,15 +80,6 @@ Returns a [Vector2] array with the positions of all cells containing a tile from the tileset (i.e. a tile index different from [code]-1[/code]). </description> </method> - <method name="get_used_cells_by_index" qualifiers="const"> - <return type="Vector2i[]"> - </return> - <argument index="0" name="index" type="int"> - </argument> - <description> - Returns an array of all cells with the given tile [code]index[/code]. - </description> - </method> <method name="get_used_rect"> <return type="Rect2"> </return> @@ -103,155 +87,28 @@ Returns a rectangle enclosing the used (non-empty) tiles of the map. </description> </method> - <method name="is_cell_transposed" qualifiers="const"> - <return type="bool"> - </return> - <argument index="0" name="x" type="int"> - </argument> - <argument index="1" name="y" type="int"> - </argument> - <description> - Returns [code]true[/code] if the given cell is transposed, i.e. the X and Y axes are swapped. - </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> - Returns [code]true[/code] if the given cell is flipped in the 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> - Returns [code]true[/code] if the given cell is flipped in the Y axis. - </description> - </method> <method name="map_to_world" qualifiers="const"> <return type="Vector2"> </return> - <argument index="0" name="map_position" type="Vector2"> - </argument> - <argument index="1" name="ignore_half_ofs" type="bool" default="false"> + <argument index="0" name="map_position" type="Vector2i"> </argument> <description> Returns the local position corresponding to the given tilemap (grid-based) coordinates. - Optionally, the tilemap's half offset can be ignored. </description> </method> <method name="set_cell"> <return type="void"> </return> - <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> - <argument index="5" name="transpose" type="bool" default="false"> - </argument> - <argument index="6" name="autotile_coord" type="Vector2" default="Vector2( 0, 0 )"> - </argument> - <description> - Sets the tile index for the cell given by a Vector2. - An index of [code]-1[/code] clears the cell. - Optionally, the tile can also be flipped, transposed, or given autotile coordinates. The autotile coordinate refers to the column and row of the subtile. - [b]Note:[/b] Data such as navigation polygons and collision shapes are not immediately updated for performance reasons. - If you need these to be immediately updated, you can call [method update_dirty_quadrants]. - Overriding this method also overrides it internally, allowing custom logic to be implemented when tiles are placed/removed: - [codeblocks] - [gdscript] - func set_cell(x, y, tile, flip_x=false, flip_y=false, transpose=false, autotile_coord=Vector2()) - # Write your custom logic here. - # To call the default method: - .set_cell(x, y, tile, flip_x, flip_y, transpose, autotile_coord) - [/gdscript] - [csharp] - public void SetCell(int x, int y, int tile, bool flipX = false, bool flipY = false, bool transpose = false, Vector2 autotileCoord = new Vector2()) - { - // Write your custom logic here. - // To call the default method: - base.SetCell(x, y, tile, flipX, flipY, transpose, autotileCoord); - } - [/csharp] - [/codeblocks] - </description> - </method> - <method name="set_cellv"> - <return type="void"> - </return> - <argument index="0" name="position" type="Vector2"> - </argument> - <argument index="1" name="tile" type="int"> - </argument> - <argument index="2" name="flip_x" type="bool" default="false"> - </argument> - <argument index="3" name="flip_y" type="bool" default="false"> - </argument> - <argument index="4" name="transpose" type="bool" default="false"> - </argument> - <description> - Sets the tile index for the given cell. - An index of [code]-1[/code] clears the cell. - Optionally, the tile can also be flipped or transposed. - [b]Note:[/b] Data such as navigation polygons and collision shapes are not immediately updated for performance reasons. - If you need these to be immediately updated, you can call [method update_dirty_quadrants]. - </description> - </method> - <method name="set_collision_layer_bit"> - <return type="void"> - </return> - <argument index="0" name="bit" type="int"> - </argument> - <argument index="1" name="value" type="bool"> - </argument> - <description> - Sets the given collision layer bit. - </description> - </method> - <method name="set_collision_mask_bit"> - <return type="void"> - </return> - <argument index="0" name="bit" type="int"> + <argument index="0" name="coords" type="Vector2i"> </argument> - <argument index="1" name="value" type="bool"> + <argument index="1" name="source_id" type="int" default="-1"> </argument> - <description> - Sets the given collision mask bit. - </description> - </method> - <method name="update_bitmask_area"> - <return type="void"> - </return> - <argument index="0" name="position" type="Vector2"> - </argument> - <description> - Applies autotiling rules to the cell (and its adjacent cells) referenced by its grid-based X and Y coordinates. - </description> - </method> - <method name="update_bitmask_region"> - <return type="void"> - </return> - <argument index="0" name="start" type="Vector2" default="Vector2( 0, 0 )"> + <argument index="2" name="atlas_coords" type="Vector2i" default="Vector2i( -1, -1 )"> </argument> - <argument index="1" name="end" type="Vector2" default="Vector2( 0, 0 )"> + <argument index="3" name="alternative_tile" type="int" default="-1"> </argument> <description> - Applies autotiling rules to the cells in the given region (specified by grid-based X and Y coordinates). - Calling with invalid (or missing) parameters applies autotiling rules for the entire tilemap. + Sets the tile index for the cell given by a Vector2i. </description> </method> <method name="update_dirty_quadrants"> @@ -262,7 +119,7 @@ </description> </method> <method name="world_to_map" qualifiers="const"> - <return type="Vector2"> + <return type="Vector2i"> </return> <argument index="0" name="world_position" type="Vector2"> </argument> @@ -272,110 +129,20 @@ </method> </methods> <members> - <member name="bake_navigation" type="bool" setter="set_bake_navigation" getter="is_baking_navigation" default="false"> - If [code]true[/code], this TileMap bakes a navigation region. - </member> - <member name="cell_clip_uv" type="bool" setter="set_clip_uv" getter="get_clip_uv" default="false"> - If [code]true[/code], the cell's UVs will be clipped. - </member> - <member name="cell_custom_transform" type="Transform2D" setter="set_custom_transform" getter="get_custom_transform" default="Transform2D( 64, 0, 0, 64, 0, 0 )"> - The custom [Transform2D] to be applied to the TileMap's cells. - </member> - <member name="cell_half_offset" type="int" setter="set_half_offset" getter="get_half_offset" enum="TileMap.HalfOffset" default="2"> - Amount to offset alternating tiles. See [enum HalfOffset] for possible values. - </member> <member name="cell_quadrant_size" type="int" setter="set_quadrant_size" getter="get_quadrant_size" default="16"> The TileMap's quadrant size. Optimizes drawing by batching, using chunks of this size. </member> - <member name="cell_size" type="Vector2" setter="set_cell_size" getter="get_cell_size" default="Vector2( 64, 64 )"> - The TileMap's cell size. - </member> - <member name="cell_tile_origin" type="int" setter="set_tile_origin" getter="get_tile_origin" enum="TileMap.TileOrigin" default="0"> - Position for tile origin. See [enum TileOrigin] for possible values. - </member> - <member name="cell_y_sort" type="bool" setter="set_y_sort_enabled" getter="is_y_sort_enabled" default="false"> - If [code]true[/code], the TileMap's direct children will be drawn in order of their Y coordinate. - </member> - <member name="centered_textures" type="bool" setter="set_centered_textures" getter="is_centered_textures_enabled" default="false"> - If [code]true[/code], the textures will be centered in the middle of each tile. This is useful for certain isometric or top-down modes when textures are made larger or smaller than the tiles (e.g. to avoid flickering on tile edges). The offset is still applied, but from the center of the tile. If used, [member compatibility_mode] is ignored. - If [code]false[/code], the texture position start in the top-left corner unless [member compatibility_mode] is enabled. - </member> - <member name="collision_bounce" type="float" setter="set_collision_bounce" getter="get_collision_bounce" default="0.0"> - Bounce value for static body collisions (see [code]collision_use_kinematic[/code]). - </member> - <member name="collision_friction" type="float" setter="set_collision_friction" getter="get_collision_friction" default="1.0"> - Friction value for static body collisions (see [code]collision_use_kinematic[/code]). - </member> - <member name="collision_layer" type="int" setter="set_collision_layer" getter="get_collision_layer" default="1"> - The collision layer(s) for all colliders in the TileMap. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information. - </member> - <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="1"> - The collision mask(s) for all colliders in the TileMap. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information. - </member> - <member name="collision_use_kinematic" type="bool" setter="set_collision_use_kinematic" getter="get_collision_use_kinematic" default="false"> - If [code]true[/code], TileMap collisions will be handled as a kinematic body. If [code]false[/code], collisions will be handled as static body. - </member> - <member name="collision_use_parent" type="bool" setter="set_collision_use_parent" getter="get_collision_use_parent" default="false"> - If [code]true[/code], this tilemap's collision shape will be added to the collision shape of the parent. The parent has to be a [CollisionObject2D]. - </member> - <member name="compatibility_mode" type="bool" setter="set_compatibility_mode" getter="is_compatibility_mode_enabled" default="false"> - If [code]true[/code], the compatibility with the tilemaps made in Godot 3.1 or earlier is maintained (textures move when the tile origin changes and rotate if the texture size is not homogeneous). This mode presents problems when doing [code]flip_h[/code], [code]flip_v[/code] and [code]transpose[/code] tile operations on non-homogeneous isometric tiles (e.g. 2:1), in which the texture could not coincide with the collision, thus it is not recommended for isometric or non-square tiles. - If [code]false[/code], the textures do not move when doing [code]flip_h[/code], [code]flip_v[/code] operations if no offset is used, nor when changing the tile origin. - The compatibility mode doesn't work with the [member centered_textures] option, because displacing textures with the [member cell_tile_origin] option or in irregular tiles is not relevant when centering those textures. - </member> - <member name="mode" type="int" setter="set_mode" getter="get_mode" enum="TileMap.Mode" default="0"> - The TileMap orientation mode. See [enum Mode] for possible values. - </member> - <member name="occluder_light_mask" type="int" setter="set_occluder_light_mask" getter="get_occluder_light_mask" default="1"> - The light mask assigned to all light occluders in the TileMap. The TileSet's light occluders will cast shadows only from Light2D(s) that have the same light mask(s). - </member> <member name="tile_set" type="TileSet" setter="set_tileset" getter="get_tileset"> The assigned [TileSet]. </member> </members> <signals> - <signal name="settings_changed"> + <signal name="changed"> <description> - Emitted when a tilemap setting has changed. + Emitted when the [TileSet] of this TileMap changes. </description> </signal> </signals> <constants> - <constant name="INVALID_CELL" value="-1"> - Returned when a cell doesn't exist. - </constant> - <constant name="MODE_SQUARE" value="0" enum="Mode"> - Orthogonal orientation mode. - </constant> - <constant name="MODE_ISOMETRIC" value="1" enum="Mode"> - Isometric orientation mode. - </constant> - <constant name="MODE_CUSTOM" value="2" enum="Mode"> - Custom orientation mode. - </constant> - <constant name="HALF_OFFSET_X" value="0" enum="HalfOffset"> - Half offset on the X coordinate. - </constant> - <constant name="HALF_OFFSET_Y" value="1" enum="HalfOffset"> - Half offset on the Y coordinate. - </constant> - <constant name="HALF_OFFSET_DISABLED" value="2" enum="HalfOffset"> - Half offset disabled. - </constant> - <constant name="HALF_OFFSET_NEGATIVE_X" value="3" enum="HalfOffset"> - Half offset on the X coordinate (negative). - </constant> - <constant name="HALF_OFFSET_NEGATIVE_Y" value="4" enum="HalfOffset"> - Half offset on the Y coordinate (negative). - </constant> - <constant name="TILE_ORIGIN_TOP_LEFT" value="0" enum="TileOrigin"> - Tile origin at its top-left corner. - </constant> - <constant name="TILE_ORIGIN_CENTER" value="1" enum="TileOrigin"> - Tile origin at its center. - </constant> - <constant name="TILE_ORIGIN_BOTTOM_LEFT" value="2" enum="TileOrigin"> - Tile origin at its bottom-left corner. - </constant> </constants> </class> diff --git a/doc/classes/TileSet.xml b/doc/classes/TileSet.xml index adc5880c71..2015b1f1cd 100644 --- a/doc/classes/TileSet.xml +++ b/doc/classes/TileSet.xml @@ -17,752 +17,350 @@ <link title="2D Kinematic Character Demo">https://godotengine.org/asset-library/asset/113</link> </tutorials> <methods> - <method name="_forward_atlas_subtile_selection" qualifiers="virtual"> - <return type="Vector2"> - </return> - <argument index="0" name="atlastile_id" type="int"> - </argument> - <argument index="1" name="tilemap" type="Object"> - </argument> - <argument index="2" name="tile_location" type="Vector2"> - </argument> - <description> - </description> - </method> - <method name="_forward_subtile_selection" qualifiers="virtual"> - <return type="Vector2"> - </return> - <argument index="0" name="autotile_id" type="int"> - </argument> - <argument index="1" name="bitmask" type="int"> - </argument> - <argument index="2" name="tilemap" type="Object"> - </argument> - <argument index="3" name="tile_location" type="Vector2"> - </argument> - <description> - </description> - </method> - <method name="_is_tile_bound" qualifiers="virtual"> - <return type="bool"> - </return> - <argument index="0" name="drawn_id" type="int"> - </argument> - <argument index="1" name="neighbor_id" type="int"> - </argument> - <description> - Determines when the auto-tiler should consider two different auto-tile IDs to be bound together. - [b]Note:[/b] [code]neighbor_id[/code] will be [code]-1[/code] ([constant TileMap.INVALID_CELL]) when checking a tile against an empty neighbor tile. - </description> - </method> - <method name="autotile_clear_bitmask_map"> - <return type="void"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <description> - Clears all bitmask information of the autotile. - </description> - </method> - <method name="autotile_get_bitmask"> + <method name="add_source"> <return type="int"> </return> - <argument index="0" name="id" type="int"> - </argument> - <argument index="1" name="coord" type="Vector2"> + <argument index="0" name="atlas_source_id_override" type="TileSetSource"> </argument> - <description> - Returns the bitmask of the subtile from an autotile given its coordinates. - The value is the sum of the values in [enum AutotileBindings] present in the subtile (e.g. a value of 5 means the bitmask has bindings in both the top left and top right). - </description> - </method> - <method name="autotile_get_bitmask_mode" qualifiers="const"> - <return type="int" enum="TileSet.BitmaskMode"> - </return> - <argument index="0" name="id" type="int"> + <argument index="1" name="arg1" type="int" default="-1"> </argument> <description> - Returns the [enum BitmaskMode] of the autotile. </description> </method> - <method name="autotile_get_icon_coordinate" qualifiers="const"> - <return type="Vector2"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <description> - Returns the subtile that's being used as an icon in an atlas/autotile given its coordinates. - The subtile defined as the icon will be used as a fallback when the atlas/autotile's bitmask information is incomplete. It will also be used to represent it in the TileSet editor. - </description> - </method> - <method name="autotile_get_light_occluder" qualifiers="const"> - <return type="OccluderPolygon2D"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <argument index="1" name="coord" type="Vector2"> - </argument> - <description> - Returns the light occluder of the subtile from an atlas/autotile given its coordinates. - </description> - </method> - <method name="autotile_get_navigation_polygon" qualifiers="const"> - <return type="NavigationPolygon"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <argument index="1" name="coord" type="Vector2"> - </argument> - <description> - Returns the navigation polygon of the subtile from an atlas/autotile given its coordinates. - </description> - </method> - <method name="autotile_get_size" qualifiers="const"> - <return type="Vector2"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <description> - Returns the size of the subtiles in an atlas/autotile. - </description> - </method> - <method name="autotile_get_spacing" qualifiers="const"> + <method name="get_navigation_layer_layers" qualifiers="const"> <return type="int"> </return> - <argument index="0" name="id" type="int"> + <argument index="0" name="layer_index" type="int"> </argument> <description> - Returns the spacing between subtiles of the atlas/autotile. </description> </method> - <method name="autotile_get_subtile_priority"> + <method name="get_next_source_id" qualifiers="const"> <return type="int"> </return> - <argument index="0" name="id" type="int"> - </argument> - <argument index="1" name="coord" type="Vector2"> - </argument> <description> - Returns the priority of the subtile from an autotile given its coordinates. - When more than one subtile has the same bitmask value, one of them will be picked randomly for drawing. Its priority will define how often it will be picked. </description> </method> - <method name="autotile_get_z_index"> + <method name="get_occlusion_layer_light_mask" qualifiers="const"> <return type="int"> </return> - <argument index="0" name="id" type="int"> - </argument> - <argument index="1" name="coord" type="Vector2"> + <argument index="0" name="arg0" type="int"> </argument> <description> - Returns the drawing index of the subtile from an atlas/autotile given its coordinates. </description> </method> - <method name="autotile_set_bitmask"> - <return type="void"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <argument index="1" name="bitmask" type="Vector2"> - </argument> - <argument index="2" name="flag" type="int"> - </argument> - <description> - Sets the bitmask of the subtile from an autotile given its coordinates. - The value is the sum of the values in [enum AutotileBindings] present in the subtile (e.g. a value of 5 means the bitmask has bindings in both the top left and top right). - </description> - </method> - <method name="autotile_set_bitmask_mode"> - <return type="void"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <argument index="1" name="mode" type="int" enum="TileSet.BitmaskMode"> - </argument> - <description> - Sets the [enum BitmaskMode] of the autotile. - </description> - </method> - <method name="autotile_set_icon_coordinate"> - <return type="void"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <argument index="1" name="coord" type="Vector2"> - </argument> - <description> - Sets the subtile that will be used as an icon in an atlas/autotile given its coordinates. - The subtile defined as the icon will be used as a fallback when the atlas/autotile's bitmask information is incomplete. It will also be used to represent it in the TileSet editor. - </description> - </method> - <method name="autotile_set_light_occluder"> - <return type="void"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <argument index="1" name="light_occluder" type="OccluderPolygon2D"> - </argument> - <argument index="2" name="coord" type="Vector2"> - </argument> - <description> - Sets the light occluder of the subtile from an atlas/autotile given its coordinates. - </description> - </method> - <method name="autotile_set_navigation_polygon"> - <return type="void"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <argument index="1" name="navigation_polygon" type="NavigationPolygon"> - </argument> - <argument index="2" name="coord" type="Vector2"> - </argument> - <description> - Sets the navigation polygon of the subtile from an atlas/autotile given its coordinates. - </description> - </method> - <method name="autotile_set_size"> - <return type="void"> + <method name="get_occlusion_layer_sdf_collision" qualifiers="const"> + <return type="bool"> </return> - <argument index="0" name="id" type="int"> - </argument> - <argument index="1" name="size" type="Vector2"> + <argument index="0" name="arg0" type="int"> </argument> <description> - Sets the size of the subtiles in an atlas/autotile. </description> </method> - <method name="autotile_set_spacing"> - <return type="void"> + <method name="get_physics_layer_collision_layer" qualifiers="const"> + <return type="int"> </return> - <argument index="0" name="id" type="int"> - </argument> - <argument index="1" name="spacing" type="int"> + <argument index="0" name="layer_index" type="int"> </argument> <description> - Sets the spacing between subtiles of the atlas/autotile. </description> </method> - <method name="autotile_set_subtile_priority"> - <return type="void"> + <method name="get_physics_layer_collision_mask" qualifiers="const"> + <return type="int"> </return> - <argument index="0" name="id" type="int"> - </argument> - <argument index="1" name="coord" type="Vector2"> - </argument> - <argument index="2" name="priority" type="int"> + <argument index="0" name="layer_index" type="int"> </argument> <description> - Sets the priority of the subtile from an autotile given its coordinates. - When more than one subtile has the same bitmask value, one of them will be picked randomly for drawing. Its priority will define how often it will be picked. </description> </method> - <method name="autotile_set_z_index"> - <return type="void"> + <method name="get_physics_layer_physics_material" qualifiers="const"> + <return type="PhysicsMaterial"> </return> - <argument index="0" name="id" type="int"> - </argument> - <argument index="1" name="coord" type="Vector2"> - </argument> - <argument index="2" name="z_index" type="int"> + <argument index="0" name="layer_index" type="int"> </argument> <description> - Sets the drawing index of the subtile from an atlas/autotile given its coordinates. </description> </method> - <method name="clear"> - <return type="void"> + <method name="get_source" qualifiers="const"> + <return type="TileSetSource"> </return> - <description> - Clears all tiles. - </description> - </method> - <method name="create_tile"> - <return type="void"> - </return> - <argument index="0" name="id" type="int"> + <argument index="0" name="index" type="int"> </argument> <description> - Creates a new tile with the given ID. </description> </method> - <method name="find_tile_by_name" qualifiers="const"> + <method name="get_source_count" qualifiers="const"> <return type="int"> </return> - <argument index="0" name="name" type="String"> - </argument> <description> - Returns the first tile matching the given name. </description> </method> - <method name="get_last_unused_tile_id" qualifiers="const"> + <method name="get_source_id" qualifiers="const"> <return type="int"> </return> - <description> - Returns the ID following the last currently used ID, useful when creating a new tile. - </description> - </method> - <method name="get_tiles_ids" qualifiers="const"> - <return type="Array"> - </return> - <description> - Returns an array of all currently used tile IDs. - </description> - </method> - <method name="remove_tile"> - <return type="void"> - </return> - <argument index="0" name="id" type="int"> + <argument index="0" name="index" type="int"> </argument> <description> - Removes the given tile ID. </description> </method> - <method name="tile_add_shape"> - <return type="void"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <argument index="1" name="shape" type="Shape2D"> - </argument> - <argument index="2" name="shape_transform" type="Transform2D"> - </argument> - <argument index="3" name="one_way" type="bool" default="false"> - </argument> - <argument index="4" name="autotile_coord" type="Vector2" default="Vector2( 0, 0 )"> - </argument> - <description> - Adds a shape to the tile. - </description> - </method> - <method name="tile_get_light_occluder" qualifiers="const"> - <return type="OccluderPolygon2D"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <description> - Returns the tile's light occluder. - </description> - </method> - <method name="tile_get_material" qualifiers="const"> - <return type="ShaderMaterial"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <description> - Returns the tile's material. - </description> - </method> - <method name="tile_get_modulate" qualifiers="const"> + <method name="get_terrain_color" qualifiers="const"> <return type="Color"> </return> - <argument index="0" name="id" type="int"> - </argument> - <description> - Returns the tile's modulation color. - </description> - </method> - <method name="tile_get_name" qualifiers="const"> - <return type="String"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <description> - Returns the tile's name. - </description> - </method> - <method name="tile_get_navigation_polygon" qualifiers="const"> - <return type="NavigationPolygon"> - </return> - <argument index="0" name="id" type="int"> + <argument index="0" name="terrain_set" type="int"> </argument> - <description> - Returns the navigation polygon of the tile. - </description> - </method> - <method name="tile_get_navigation_polygon_offset" qualifiers="const"> - <return type="Vector2"> - </return> - <argument index="0" name="id" type="int"> + <argument index="1" name="terrain_index" type="int"> </argument> <description> - Returns the offset of the tile's navigation polygon. </description> </method> - <method name="tile_get_occluder_offset" qualifiers="const"> - <return type="Vector2"> + <method name="get_terrain_name" qualifiers="const"> + <return type="String"> </return> - <argument index="0" name="id" type="int"> + <argument index="0" name="terrain_set" type="int"> </argument> - <description> - Returns the offset of the tile's light occluder. - </description> - </method> - <method name="tile_get_region" qualifiers="const"> - <return type="Rect2"> - </return> - <argument index="0" name="id" type="int"> + <argument index="1" name="terrain_index" type="int"> </argument> <description> - Returns the tile sub-region in the texture. </description> </method> - <method name="tile_get_shape" qualifiers="const"> - <return type="Shape2D"> + <method name="get_terrain_set_mode" qualifiers="const"> + <return type="int" enum="TileSet.TerrainMode"> </return> - <argument index="0" name="id" type="int"> - </argument> - <argument index="1" name="shape_id" type="int"> + <argument index="0" name="terrain_set" type="int"> </argument> <description> - Returns a tile's given shape. </description> </method> - <method name="tile_get_shape_count" qualifiers="const"> + <method name="get_terrains_count" qualifiers="const"> <return type="int"> </return> - <argument index="0" name="id" type="int"> - </argument> - <description> - Returns the number of shapes assigned to a tile. - </description> - </method> - <method name="tile_get_shape_offset" qualifiers="const"> - <return type="Vector2"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <argument index="1" name="shape_id" type="int"> + <argument index="0" name="terrain_set" type="int"> </argument> <description> - Returns the offset of a tile's shape. </description> </method> - <method name="tile_get_shape_one_way" qualifiers="const"> + <method name="has_source" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="id" type="int"> - </argument> - <argument index="1" name="shape_id" type="int"> - </argument> - <description> - Returns the one-way collision value of a tile's shape. - </description> - </method> - <method name="tile_get_shape_one_way_margin" qualifiers="const"> - <return type="float"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <argument index="1" name="shape_id" type="int"> - </argument> - <description> - </description> - </method> - <method name="tile_get_shape_transform" qualifiers="const"> - <return type="Transform2D"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <argument index="1" name="shape_id" type="int"> - </argument> - <description> - Returns the [Transform2D] of a tile's shape. - </description> - </method> - <method name="tile_get_shapes" qualifiers="const"> - <return type="Array"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <description> - Returns an array of dictionaries describing the tile's shapes. - [b]Dictionary structure in the array returned by this method:[/b] - [codeblock] - { - "autotile_coord": Vector2, - "one_way": bool, - "one_way_margin": int, - "shape": CollisionShape2D, - "shape_transform": Transform2D, - } - [/codeblock] - </description> - </method> - <method name="tile_get_texture" qualifiers="const"> - <return type="Texture2D"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <description> - Returns the tile's texture. - </description> - </method> - <method name="tile_get_texture_offset" qualifiers="const"> - <return type="Vector2"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <description> - Returns the texture offset of the tile. - </description> - </method> - <method name="tile_get_tile_mode" qualifiers="const"> - <return type="int" enum="TileSet.TileMode"> - </return> - <argument index="0" name="id" type="int"> + <argument index="0" name="index" type="int"> </argument> <description> - Returns the tile's [enum TileMode]. </description> </method> - <method name="tile_get_z_index" qualifiers="const"> - <return type="int"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <description> - Returns the tile's Z index (drawing layer). - </description> - </method> - <method name="tile_set_light_occluder"> - <return type="void"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <argument index="1" name="light_occluder" type="OccluderPolygon2D"> - </argument> - <description> - Sets a light occluder for the tile. - </description> - </method> - <method name="tile_set_material"> - <return type="void"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <argument index="1" name="material" type="ShaderMaterial"> - </argument> - <description> - Sets the tile's material. - </description> - </method> - <method name="tile_set_modulate"> - <return type="void"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <argument index="1" name="color" type="Color"> - </argument> - <description> - Sets the tile's modulation color. - </description> - </method> - <method name="tile_set_name"> - <return type="void"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <argument index="1" name="name" type="String"> - </argument> - <description> - Sets the tile's name. - </description> - </method> - <method name="tile_set_navigation_polygon"> + <method name="remove_source"> <return type="void"> </return> - <argument index="0" name="id" type="int"> - </argument> - <argument index="1" name="navigation_polygon" type="NavigationPolygon"> + <argument index="0" name="source_id" type="int"> </argument> <description> - Sets the tile's navigation polygon. </description> </method> - <method name="tile_set_navigation_polygon_offset"> + <method name="set_navigation_layer_layers"> <return type="void"> </return> - <argument index="0" name="id" type="int"> + <argument index="0" name="layer_index" type="int"> </argument> - <argument index="1" name="navigation_polygon_offset" type="Vector2"> + <argument index="1" name="layers" type="int"> </argument> <description> - Sets an offset for the tile's navigation polygon. </description> </method> - <method name="tile_set_occluder_offset"> + <method name="set_occlusion_layer_light_mask"> <return type="void"> </return> - <argument index="0" name="id" type="int"> + <argument index="0" name="layer_index" type="int"> </argument> - <argument index="1" name="occluder_offset" type="Vector2"> + <argument index="1" name="light_mask" type="int"> </argument> <description> - Sets an offset for the tile's light occluder. </description> </method> - <method name="tile_set_region"> + <method name="set_occlusion_layer_sdf_collision"> <return type="void"> </return> - <argument index="0" name="id" type="int"> + <argument index="0" name="layer_index" type="int"> </argument> - <argument index="1" name="region" type="Rect2"> + <argument index="1" name="sdf_collision" type="int"> </argument> <description> - Sets the tile's sub-region in the texture. This is common in texture atlases. </description> </method> - <method name="tile_set_shape"> + <method name="set_physics_layer_collision_layer"> <return type="void"> </return> - <argument index="0" name="id" type="int"> - </argument> - <argument index="1" name="shape_id" type="int"> + <argument index="0" name="layer_index" type="int"> </argument> - <argument index="2" name="shape" type="Shape2D"> + <argument index="1" name="layer" type="int"> </argument> <description> - Sets a shape for the tile, enabling collision. </description> </method> - <method name="tile_set_shape_offset"> + <method name="set_physics_layer_collision_mask"> <return type="void"> </return> - <argument index="0" name="id" type="int"> - </argument> - <argument index="1" name="shape_id" type="int"> + <argument index="0" name="layer_index" type="int"> </argument> - <argument index="2" name="shape_offset" type="Vector2"> + <argument index="1" name="mask" type="int"> </argument> <description> - Sets the offset of a tile's shape. </description> </method> - <method name="tile_set_shape_one_way"> + <method name="set_physics_layer_physics_material"> <return type="void"> </return> - <argument index="0" name="id" type="int"> + <argument index="0" name="layer_index" type="int"> </argument> - <argument index="1" name="shape_id" type="int"> - </argument> - <argument index="2" name="one_way" type="bool"> + <argument index="1" name="physics_material" type="PhysicsMaterial"> </argument> <description> - Enables one-way collision on a tile's shape. </description> </method> - <method name="tile_set_shape_one_way_margin"> + <method name="set_source_id"> <return type="void"> </return> - <argument index="0" name="id" type="int"> - </argument> - <argument index="1" name="shape_id" type="int"> + <argument index="0" name="source_id" type="int"> </argument> - <argument index="2" name="one_way" type="float"> + <argument index="1" name="arg1" type="int"> </argument> <description> </description> </method> - <method name="tile_set_shape_transform"> + <method name="set_terrain_color"> <return type="void"> </return> - <argument index="0" name="id" type="int"> + <argument index="0" name="terrain_set" type="int"> </argument> - <argument index="1" name="shape_id" type="int"> + <argument index="1" name="terrain_index" type="int"> </argument> - <argument index="2" name="shape_transform" type="Transform2D"> + <argument index="2" name="color" type="Color"> </argument> <description> - Sets a [Transform2D] on a tile's shape. </description> </method> - <method name="tile_set_shapes"> + <method name="set_terrain_name"> <return type="void"> </return> - <argument index="0" name="id" type="int"> + <argument index="0" name="terrain_set" type="int"> </argument> - <argument index="1" name="shapes" type="Array"> - </argument> - <description> - Sets an array of shapes for the tile, enabling collision. - </description> - </method> - <method name="tile_set_texture"> - <return type="void"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <argument index="1" name="texture" type="Texture2D"> - </argument> - <description> - Sets the tile's texture. - </description> - </method> - <method name="tile_set_texture_offset"> - <return type="void"> - </return> - <argument index="0" name="id" type="int"> + <argument index="1" name="terrain_index" type="int"> </argument> - <argument index="1" name="texture_offset" type="Vector2"> + <argument index="2" name="name" type="String"> </argument> <description> - Sets the tile's texture offset. </description> </method> - <method name="tile_set_tile_mode"> + <method name="set_terrain_set_mode"> <return type="void"> </return> - <argument index="0" name="id" type="int"> + <argument index="0" name="terrain_set" type="int"> </argument> - <argument index="1" name="tilemode" type="int" enum="TileSet.TileMode"> + <argument index="1" name="mode" type="int" enum="TileSet.TerrainMode"> </argument> <description> - Sets the tile's [enum TileMode]. </description> </method> - <method name="tile_set_z_index"> + <method name="set_terrains_count"> <return type="void"> </return> - <argument index="0" name="id" type="int"> + <argument index="0" name="terrain_set" type="int"> </argument> - <argument index="1" name="z_index" type="int"> + <argument index="1" name="terrains_count" type="int"> </argument> <description> - Sets the tile's drawing index. </description> </method> </methods> + <members> + <member name="custom_data_layers_count" type="int" setter="set_custom_data_layers_count" getter="get_custom_data_layers_count" default="0"> + </member> + <member name="navigation_layers_count" type="int" setter="set_navigation_layers_count" getter="get_navigation_layers_count" default="0"> + </member> + <member name="occlusion_layers_count" type="int" setter="set_occlusion_layers_count" getter="get_occlusion_layers_count" default="0"> + </member> + <member name="physics_layers_count" type="int" setter="set_physics_layers_count" getter="get_physics_layers_count" default="0"> + </member> + <member name="terrains_sets_count" type="int" setter="set_terrain_sets_count" getter="get_terrain_sets_count" default="0"> + </member> + <member name="tile_layout" type="int" setter="set_tile_layout" getter="get_tile_layout" enum="TileSet.TileLayout" default="0"> + </member> + <member name="tile_offset_axis" type="int" setter="set_tile_offset_axis" getter="get_tile_offset_axis" enum="TileSet.TileOffsetAxis" default="0"> + </member> + <member name="tile_shape" type="int" setter="set_tile_shape" getter="get_tile_shape" enum="TileSet.TileShape" default="0"> + </member> + <member name="tile_size" type="Vector2i" setter="set_tile_size" getter="get_tile_size" default="Vector2i( 16, 16 )"> + </member> + <member name="tile_skew" type="Vector2" setter="set_tile_skew" getter="get_tile_skew" default="Vector2( 0, 0 )"> + </member> + <member name="uv_clipping" type="bool" setter="set_uv_clipping" getter="is_uv_clipping" default="false"> + </member> + <member name="y_sorting" type="bool" setter="set_y_sorting" getter="is_y_sorting" default="false"> + </member> + </members> <constants> - <constant name="BITMASK_2X2" value="0" enum="BitmaskMode"> + <constant name="TILE_SHAPE_SQUARE" value="0" enum="TileShape"> + Orthogonal orientation mode. + </constant> + <constant name="TILE_SHAPE_ISOMETRIC" value="1" enum="TileShape"> + Isometric orientation mode. + </constant> + <constant name="TILE_SHAPE_HALF_OFFSET_SQUARE" value="2" enum="TileShape"> + </constant> + <constant name="TILE_SHAPE_HEXAGON" value="3" enum="TileShape"> + Hexagon orientation mode. + </constant> + <constant name="TILE_LAYOUT_STACKED" value="0" enum="TileLayout"> + </constant> + <constant name="TILE_LAYOUT_STACKED_OFFSET" value="1" enum="TileLayout"> + </constant> + <constant name="TILE_LAYOUT_STAIRS_RIGHT" value="2" enum="TileLayout"> + </constant> + <constant name="TILE_LAYOUT_STAIRS_DOWN" value="3" enum="TileLayout"> + </constant> + <constant name="TILE_LAYOUT_DIAMOND_RIGHT" value="4" enum="TileLayout"> + </constant> + <constant name="TILE_LAYOUT_DIAMOND_DOWN" value="5" enum="TileLayout"> + </constant> + <constant name="TILE_OFFSET_AXIS_HORIZONTAL" value="0" enum="TileOffsetAxis"> + </constant> + <constant name="TILE_OFFSET_AXIS_VERTICAL" value="1" enum="TileOffsetAxis"> + </constant> + <constant name="TileSet::CELL_NEIGHBOR_RIGHT_SIDE" value="0" enum="CellNeighbor"> + </constant> + <constant name="TileSet::CELL_NEIGHBOR_RIGHT_CORNER" value="1" enum="CellNeighbor"> + </constant> + <constant name="TileSet::CELL_NEIGHBOR_BOTTOM_RIGHT_SIDE" value="2" enum="CellNeighbor"> + </constant> + <constant name="TileSet::CELL_NEIGHBOR_BOTTOM_RIGHT_CORNER" value="3" enum="CellNeighbor"> + </constant> + <constant name="TileSet::CELL_NEIGHBOR_BOTTOM_SIDE" value="4" enum="CellNeighbor"> </constant> - <constant name="BITMASK_3X3_MINIMAL" value="1" enum="BitmaskMode"> + <constant name="TileSet::CELL_NEIGHBOR_BOTTOM_CORNER" value="5" enum="CellNeighbor"> </constant> - <constant name="BITMASK_3X3" value="2" enum="BitmaskMode"> + <constant name="TileSet::CELL_NEIGHBOR_BOTTOM_LEFT_SIDE" value="6" enum="CellNeighbor"> </constant> - <constant name="BIND_TOPLEFT" value="1" enum="AutotileBindings"> + <constant name="TileSet::CELL_NEIGHBOR_BOTTOM_LEFT_CORNER" value="7" enum="CellNeighbor"> </constant> - <constant name="BIND_TOP" value="2" enum="AutotileBindings"> + <constant name="TileSet::CELL_NEIGHBOR_LEFT_SIDE" value="8" enum="CellNeighbor"> </constant> - <constant name="BIND_TOPRIGHT" value="4" enum="AutotileBindings"> + <constant name="TileSet::CELL_NEIGHBOR_LEFT_CORNER" value="9" enum="CellNeighbor"> </constant> - <constant name="BIND_LEFT" value="8" enum="AutotileBindings"> + <constant name="TileSet::CELL_NEIGHBOR_TOP_LEFT_SIDE" value="10" enum="CellNeighbor"> </constant> - <constant name="BIND_CENTER" value="16" enum="AutotileBindings"> + <constant name="TileSet::CELL_NEIGHBOR_TOP_LEFT_CORNER" value="11" enum="CellNeighbor"> </constant> - <constant name="BIND_RIGHT" value="32" enum="AutotileBindings"> + <constant name="TileSet::CELL_NEIGHBOR_TOP_SIDE" value="12" enum="CellNeighbor"> </constant> - <constant name="BIND_BOTTOMLEFT" value="64" enum="AutotileBindings"> + <constant name="TileSet::CELL_NEIGHBOR_TOP_CORNER" value="13" enum="CellNeighbor"> </constant> - <constant name="BIND_BOTTOM" value="128" enum="AutotileBindings"> + <constant name="TileSet::CELL_NEIGHBOR_TOP_RIGHT_SIDE" value="14" enum="CellNeighbor"> </constant> - <constant name="BIND_BOTTOMRIGHT" value="256" enum="AutotileBindings"> + <constant name="TileSet::CELL_NEIGHBOR_TOP_RIGHT_CORNER" value="15" enum="CellNeighbor"> </constant> - <constant name="SINGLE_TILE" value="0" enum="TileMode"> + <constant name="TERRAIN_MODE_MATCH_CORNERS_AND_SIDES" value="0" enum="TerrainMode"> </constant> - <constant name="AUTO_TILE" value="1" enum="TileMode"> + <constant name="TERRAIN_MODE_MATCH_CORNERS" value="1" enum="TerrainMode"> </constant> - <constant name="ATLAS_TILE" value="2" enum="TileMode"> + <constant name="TERRAIN_MODE_MATCH_SIDES" value="2" enum="TerrainMode"> </constant> </constants> </class> diff --git a/doc/classes/TileSetAtlasSource.xml b/doc/classes/TileSetAtlasSource.xml new file mode 100644 index 0000000000..a7a304ca27 --- /dev/null +++ b/doc/classes/TileSetAtlasSource.xml @@ -0,0 +1,207 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="TileSetAtlasSource" inherits="TileSetSource" version="4.0"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + <method name="can_move_tile_in_atlas" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="atlas_coords" type="Vector2i"> + </argument> + <argument index="1" name="new_atlas_coords" type="Vector2i" default="Vector2i( -1, -1 )"> + </argument> + <argument index="2" name="new_size" type="Vector2i" default="Vector2i( -1, -1 )"> + </argument> + <description> + </description> + </method> + <method name="clear_tiles_outside_texture"> + <return type="void"> + </return> + <description> + </description> + </method> + <method name="create_alternative_tile"> + <return type="int"> + </return> + <argument index="0" name="atlas_coords" type="Vector2i"> + </argument> + <argument index="1" name="alternative_id_override" type="int" default="-1"> + </argument> + <description> + </description> + </method> + <method name="create_tile"> + <return type="void"> + </return> + <argument index="0" name="atlas_coords" type="Vector2i"> + </argument> + <argument index="1" name="size" type="Vector2i" default="Vector2i( 1, 1 )"> + </argument> + <description> + </description> + </method> + <method name="get_alternative_tile_id" qualifiers="const"> + <return type="int"> + </return> + <argument index="0" name="atlas_coords" type="Vector2i"> + </argument> + <argument index="1" name="index" type="int"> + </argument> + <description> + </description> + </method> + <method name="get_alternative_tiles_count" qualifiers="const"> + <return type="int"> + </return> + <argument index="0" name="atlas_coords" type="Vector2i"> + </argument> + <description> + </description> + </method> + <method name="get_atlas_grid_size" qualifiers="const"> + <return type="Vector2i"> + </return> + <description> + </description> + </method> + <method name="get_next_alternative_tile_id" qualifiers="const"> + <return type="int"> + </return> + <argument index="0" name="atlas_coords" type="Vector2i"> + </argument> + <description> + </description> + </method> + <method name="get_tile_at_coords" qualifiers="const"> + <return type="Vector2i"> + </return> + <argument index="0" name="atlas_coords" type="Vector2i"> + </argument> + <description> + </description> + </method> + <method name="get_tile_data" qualifiers="const"> + <return type="Object"> + </return> + <argument index="0" name="atlas_coords" type="Vector2i"> + </argument> + <argument index="1" name="index" type="int"> + </argument> + <description> + </description> + </method> + <method name="get_tile_id" qualifiers="const"> + <return type="Vector2i"> + </return> + <argument index="0" name="index" type="int"> + </argument> + <description> + </description> + </method> + <method name="get_tile_size_in_atlas" qualifiers="const"> + <return type="Vector2i"> + </return> + <argument index="0" name="atlas_coords" type="Vector2i"> + </argument> + <description> + </description> + </method> + <method name="get_tile_texture_region" qualifiers="const"> + <return type="Rect2i"> + </return> + <argument index="0" name="atlas_coords" type="Vector2i"> + </argument> + <description> + </description> + </method> + <method name="get_tiles_count" qualifiers="const"> + <return type="int"> + </return> + <description> + </description> + </method> + <method name="has_alternative_tile" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="atlas_coords" type="Vector2i"> + </argument> + <argument index="1" name="alternative_tile" type="int"> + </argument> + <description> + </description> + </method> + <method name="has_tile" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="atlas_coords" type="Vector2i"> + </argument> + <description> + </description> + </method> + <method name="has_tiles_outside_texture"> + <return type="bool"> + </return> + <description> + </description> + </method> + <method name="move_tile_in_atlas"> + <return type="void"> + </return> + <argument index="0" name="atlas_coords" type="Vector2i"> + </argument> + <argument index="1" name="new_atlas_coords" type="Vector2i" default="Vector2i( -1, -1 )"> + </argument> + <argument index="2" name="new_size" type="Vector2i" default="Vector2i( -1, -1 )"> + </argument> + <description> + </description> + </method> + <method name="remove_alternative_tile"> + <return type="void"> + </return> + <argument index="0" name="atlas_coords" type="Vector2i"> + </argument> + <argument index="1" name="alternative_tile" type="int"> + </argument> + <description> + </description> + </method> + <method name="remove_tile"> + <return type="void"> + </return> + <argument index="0" name="atlas_coords" type="Vector2i"> + </argument> + <description> + </description> + </method> + <method name="set_alternative_tile_id"> + <return type="void"> + </return> + <argument index="0" name="atlas_coords" type="Vector2i"> + </argument> + <argument index="1" name="alternative_tile" type="int"> + </argument> + <argument index="2" name="new_id" type="int"> + </argument> + <description> + </description> + </method> + </methods> + <members> + <member name="margins" type="Vector2i" setter="set_margins" getter="get_margins" default="Vector2i( 0, 0 )"> + </member> + <member name="separation" type="Vector2i" setter="set_separation" getter="get_separation" default="Vector2i( 0, 0 )"> + </member> + <member name="texture" type="Texture2D" setter="set_texture" getter="get_texture"> + </member> + <member name="tile_size" type="Vector2i" setter="set_texture_region_size" getter="get_texture_region_size" default="Vector2i( 16, 16 )"> + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/TileSetScenesCollectionSource.xml b/doc/classes/TileSetScenesCollectionSource.xml new file mode 100644 index 0000000000..1a00eb51c0 --- /dev/null +++ b/doc/classes/TileSetScenesCollectionSource.xml @@ -0,0 +1,155 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="TileSetScenesCollectionSource" inherits="TileSetSource" version="4.0"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + <method name="create_scene_tile"> + <return type="int"> + </return> + <argument index="0" name="packed_scene" type="PackedScene"> + </argument> + <argument index="1" name="id_override" type="int" default="-1"> + </argument> + <description> + </description> + </method> + <method name="get_alternative_tile_id" qualifiers="const"> + <return type="int"> + </return> + <argument index="0" name="atlas_coords" type="Vector2i"> + </argument> + <argument index="1" name="index" type="int"> + </argument> + <description> + </description> + </method> + <method name="get_alternative_tiles_count" qualifiers="const"> + <return type="int"> + </return> + <argument index="0" name="atlas_coords" type="Vector2i"> + </argument> + <description> + </description> + </method> + <method name="get_next_scene_tile_id" qualifiers="const"> + <return type="int"> + </return> + <description> + </description> + </method> + <method name="get_scene_tile_display_placeholder" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="id" type="int"> + </argument> + <description> + </description> + </method> + <method name="get_scene_tile_id"> + <return type="int"> + </return> + <argument index="0" name="index" type="int"> + </argument> + <description> + </description> + </method> + <method name="get_scene_tile_scene" qualifiers="const"> + <return type="PackedScene"> + </return> + <argument index="0" name="id" type="int"> + </argument> + <description> + </description> + </method> + <method name="get_scene_tiles_count"> + <return type="int"> + </return> + <description> + </description> + </method> + <method name="get_tile_id" qualifiers="const"> + <return type="Vector2i"> + </return> + <argument index="0" name="index" type="int"> + </argument> + <description> + </description> + </method> + <method name="get_tiles_count" qualifiers="const"> + <return type="int"> + </return> + <description> + </description> + </method> + <method name="has_alternative_tile" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="atlas_coords" type="Vector2i"> + </argument> + <argument index="1" name="alternative_tile" type="int"> + </argument> + <description> + </description> + </method> + <method name="has_scene_tile_id"> + <return type="bool"> + </return> + <argument index="0" name="id" type="int"> + </argument> + <description> + </description> + </method> + <method name="has_tile" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="atlas_coords" type="Vector2i"> + </argument> + <description> + </description> + </method> + <method name="remove_scene_tile"> + <return type="void"> + </return> + <argument index="0" name="id" type="int"> + </argument> + <description> + </description> + </method> + <method name="set_scene_tile_display_placeholder"> + <return type="void"> + </return> + <argument index="0" name="id" type="int"> + </argument> + <argument index="1" name="display_placeholder" type="bool"> + </argument> + <description> + </description> + </method> + <method name="set_scene_tile_id"> + <return type="void"> + </return> + <argument index="0" name="id" type="int"> + </argument> + <argument index="1" name="new_id" type="int"> + </argument> + <description> + </description> + </method> + <method name="set_scene_tile_scene"> + <return type="void"> + </return> + <argument index="0" name="id" type="int"> + </argument> + <argument index="1" name="packed_scene" type="PackedScene"> + </argument> + <description> + </description> + </method> + </methods> + <constants> + </constants> +</class> diff --git a/doc/classes/TileSetSource.xml b/doc/classes/TileSetSource.xml new file mode 100644 index 0000000000..6a3029bb3f --- /dev/null +++ b/doc/classes/TileSetSource.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="TileSetSource" inherits="Resource" version="4.0"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + </methods> + <constants> + </constants> +</class> diff --git a/doc/classes/Tree.xml b/doc/classes/Tree.xml index a09f1bf470..27b26801f3 100644 --- a/doc/classes/Tree.xml +++ b/doc/classes/Tree.xml @@ -30,7 +30,7 @@ } [/csharp] [/codeblocks] - To iterate over all the [TreeItem] objects in a [Tree] object, use [method TreeItem.get_next] and [method TreeItem.get_children] after getting the root through [method get_root]. You can use [method Object.free] on a [TreeItem] to remove it from the [Tree]. + To iterate over all the [TreeItem] objects in a [Tree] object, use [method TreeItem.get_next] and [method TreeItem.get_first_child] after getting the root through [method get_root]. You can use [method Object.free] on a [TreeItem] to remove it from the [Tree]. </description> <tutorials> </tutorials> diff --git a/doc/classes/TreeItem.xml b/doc/classes/TreeItem.xml index fd157e5eb9..7d37580504 100644 --- a/doc/classes/TreeItem.xml +++ b/doc/classes/TreeItem.xml @@ -63,6 +63,16 @@ Removes all OpenType features. </description> </method> + <method name="create_child"> + <return type="TreeItem"> + </return> + <argument index="0" name="idx" type="int" default="-1"> + </argument> + <description> + Creates an item and adds it as a child. + The new item will be inserted as position [code]idx[/code] (the default value [code]-1[/code] means the last position), or it will be the last child if [code]idx[/code] is higher than the child count. + </description> + </method> <method name="deselect"> <return type="void"> </return> @@ -123,11 +133,28 @@ Returns the column's cell mode. </description> </method> - <method name="get_children"> + <method name="get_child"> <return type="TreeItem"> </return> + <argument index="0" name="idx" type="int"> + </argument> + <description> + Returns a child item by its index (see [method get_child_count]). This method is often used for iterating all children of an item. + Negative indices access the children from the last one. + </description> + </method> + <method name="get_child_count"> + <return type="int"> + </return> + <description> + Returns the number of child items. + </description> + </method> + <method name="get_children"> + <return type="Array"> + </return> <description> - Returns the TreeItem's first child item or a null object if there is none. + Returns an array of references to the item's children. </description> </method> <method name="get_custom_bg_color" qualifiers="const"> @@ -157,6 +184,13 @@ Returns [code]true[/code] if [code]expand_right[/code] is set. </description> </method> + <method name="get_first_child"> + <return type="TreeItem"> + </return> + <description> + Returns the TreeItem's first child. + </description> + </method> <method name="get_icon" qualifiers="const"> <return type="Texture2D"> </return> @@ -193,6 +227,13 @@ Returns the icon [Texture2D] region as [Rect2]. </description> </method> + <method name="get_index"> + <return type="int"> + </return> + <description> + Returns the node's order in the tree. For example, if called on the first child item the position is [code]0[/code]. + </description> + </method> <method name="get_language" qualifiers="const"> <return type="String"> </return> @@ -342,6 +383,13 @@ Returns the given column's tooltip. </description> </method> + <method name="get_tree"> + <return type="Tree"> + </return> + <description> + Returns the [Tree] that owns this TreeItem. + </description> + </method> <method name="is_button_disabled" qualifiers="const"> <return type="bool"> </return> @@ -397,18 +445,24 @@ Returns [code]true[/code] if column [code]column[/code] is selected. </description> </method> - <method name="move_to_bottom"> + <method name="move_after"> <return type="void"> </return> + <argument index="0" name="item" type="Object"> + </argument> <description> - Moves this TreeItem to the bottom in the [Tree] hierarchy. + Moves this TreeItem right after the given [code]item[/code]. + [b]Note:[/b] You can't move to the root or move the root. </description> </method> - <method name="move_to_top"> + <method name="move_before"> <return type="void"> </return> + <argument index="0" name="item" type="Object"> + </argument> <description> - Moves this TreeItem to the top in the [Tree] hierarchy. + Moves this TreeItem right before the given [code]item[/code]. + [b]Note:[/b] You can't move to the root or move the root. </description> </method> <method name="remove_child"> @@ -741,6 +795,12 @@ Sets the given column's tooltip text. </description> </method> + <method name="uncollapse_tree"> + <return type="void"> + </return> + <description> + </description> + </method> </methods> <members> <member name="collapsed" type="bool" setter="set_collapsed" getter="is_collapsed"> diff --git a/doc/classes/TubeTrailMesh.xml b/doc/classes/TubeTrailMesh.xml new file mode 100644 index 0000000000..2782791a62 --- /dev/null +++ b/doc/classes/TubeTrailMesh.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="TubeTrailMesh" inherits="PrimitiveMesh" version="4.0"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + </methods> + <members> + <member name="curve" type="Curve" setter="set_curve" getter="get_curve"> + </member> + <member name="radial_steps" type="int" setter="set_radial_steps" getter="get_radial_steps" default="8"> + </member> + <member name="radius" type="float" setter="set_radius" getter="get_radius" default="1.0"> + </member> + <member name="section_length" type="float" setter="set_section_length" getter="get_section_length" default="0.2"> + </member> + <member name="section_rings" type="int" setter="set_section_rings" getter="get_section_rings" default="3"> + </member> + <member name="sections" type="int" setter="set_sections" getter="get_sections" default="5"> + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/UDPServer.xml b/doc/classes/UDPServer.xml index 0fc00f67f8..6f3ccb8a17 100644 --- a/doc/classes/UDPServer.xml +++ b/doc/classes/UDPServer.xml @@ -123,6 +123,13 @@ <tutorials> </tutorials> <methods> + <method name="get_local_port" qualifiers="const"> + <return type="int"> + </return> + <description> + Returns the local port this server is listening to. + </description> + </method> <method name="is_connection_available" qualifiers="const"> <return type="bool"> </return> @@ -145,7 +152,7 @@ <argument index="1" name="bind_address" type="String" default=""*""> </argument> <description> - Starts the server by opening a UDP socket listening on the given port. You can optionally specify a [code]bind_address[/code] to only listen for packets sent to that address. See also [method PacketPeerUDP.listen]. + Starts the server by opening a UDP socket listening on the given port. You can optionally specify a [code]bind_address[/code] to only listen for packets sent to that address. See also [method PacketPeerUDP.bind]. </description> </method> <method name="poll"> diff --git a/doc/classes/Vector2.xml b/doc/classes/Vector2.xml index b979425b85..94d4b1a903 100644 --- a/doc/classes/Vector2.xml +++ b/doc/classes/Vector2.xml @@ -229,7 +229,7 @@ <argument index="1" name="weight" type="float"> </argument> <description> - Returns the result of the linear interpolation between this vector and [code]b[/code] by amount [code]t[/code]. [code]t[/code] is on the range of 0.0 to 1.0, representing the amount of interpolation. + Returns the result of the linear interpolation between this vector and [code]to[/code] by amount [code]weight[/code]. [code]weight[/code] is on the range of 0.0 to 1.0, representing the amount of interpolation. </description> </method> <method name="move_toward" qualifiers="const"> @@ -464,7 +464,7 @@ <argument index="1" name="weight" type="float"> </argument> <description> - Returns the result of spherical linear interpolation between this vector and [code]b[/code], by amount [code]t[/code]. [code]t[/code] is on the range of 0.0 to 1.0, representing the amount of interpolation. + Returns the result of spherical linear interpolation between this vector and [code]to[/code], by amount [code]weight[/code]. [code]weight[/code] is on the range of 0.0 to 1.0, representing the amount of interpolation. [b]Note:[/b] Both vectors must be normalized. </description> </method> diff --git a/doc/classes/Vector3.xml b/doc/classes/Vector3.xml index bd568e01ec..0a86369506 100644 --- a/doc/classes/Vector3.xml +++ b/doc/classes/Vector3.xml @@ -204,7 +204,7 @@ <argument index="1" name="weight" type="float"> </argument> <description> - Returns the result of the linear interpolation between this vector and [code]b[/code] by amount [code]weight[/code]. [code]weight[/code] is on the range of 0.0 to 1.0, representing the amount of interpolation. + Returns the result of the linear interpolation between this vector and [code]to[/code] by amount [code]weight[/code]. [code]weight[/code] is on the range of 0.0 to 1.0, representing the amount of interpolation. </description> </method> <method name="max_axis" qualifiers="const"> @@ -484,7 +484,7 @@ <argument index="1" name="weight" type="float"> </argument> <description> - Returns the result of spherical linear interpolation between this vector and [code]b[/code], by amount [code]t[/code]. [code]t[/code] is on the range of 0.0 to 1.0, representing the amount of interpolation. + Returns the result of spherical linear interpolation between this vector and [code]to[/code], by amount [code]weight[/code]. [code]weight[/code] is on the range of 0.0 to 1.0, representing the amount of interpolation. [b]Note:[/b] Both vectors must be normalized. </description> </method> diff --git a/doc/classes/VideoPlayer.xml b/doc/classes/VideoPlayer.xml index b2ab356b0d..d905ce4054 100644 --- a/doc/classes/VideoPlayer.xml +++ b/doc/classes/VideoPlayer.xml @@ -74,6 +74,7 @@ </member> <member name="stream_position" type="float" setter="set_stream_position" getter="get_stream_position"> The current position of the stream, in seconds. + [b]Note:[/b] Changing this value won't have any effect as seeking is not implemented yet, except in video formats implemented by a GDNative add-on. </member> <member name="volume" type="float" setter="set_volume" getter="get_volume"> Audio volume as a linear value. diff --git a/doc/classes/Viewport.xml b/doc/classes/Viewport.xml index 8120ae539e..1c33274cb0 100644 --- a/doc/classes/Viewport.xml +++ b/doc/classes/Viewport.xml @@ -80,9 +80,9 @@ </return> <description> Returns the viewport's texture. - [b]Note:[/b] Due to the way OpenGL works, the resulting [ViewportTexture] is flipped vertically. You can use [method Image.flip_y] on the result of [method Texture2D.get_data] to flip it back, for example: + [b]Note:[/b] Due to the way OpenGL works, the resulting [ViewportTexture] is flipped vertically. You can use [method Image.flip_y] on the result of [method Texture2D.get_image] to flip it back, for example: [codeblock] - var img = get_viewport().get_texture().get_data() + var img = get_viewport().get_texture().get_image() img.flip_y() [/codeblock] </description> @@ -267,6 +267,11 @@ </member> <member name="use_debanding" type="bool" setter="set_use_debanding" getter="is_using_debanding" default="false"> </member> + <member name="use_occlusion_culling" type="bool" setter="set_use_occlusion_culling" getter="is_using_occlusion_culling" default="false"> + </member> + <member name="use_xr" type="bool" setter="set_use_xr" getter="is_using_xr" default="false"> + If [code]true[/code], the viewport will use the primary XR interface to render XR output. When applicable this can result in a stereoscopic image and the resulting render being output to a headset. + </member> <member name="world_2d" type="World2D" setter="set_world_2d" getter="get_world_2d"> The custom [World2D] which can be used as 2D environment source. </member> @@ -419,6 +424,8 @@ </constant> <constant name="DEBUG_DRAW_CLUSTER_REFLECTION_PROBES" value="22" enum="DebugDraw"> </constant> + <constant name="DEBUG_DRAW_OCCLUDERS" value="23" enum="DebugDraw"> + </constant> <constant name="DEFAULT_CANVAS_ITEM_TEXTURE_FILTER_NEAREST" value="0" enum="DefaultCanvasItemTextureFilter"> The texture filter reads from the nearest pixel only. The simplest and fastest method of filtering, but the texture will look pixelized. </constant> diff --git a/doc/classes/VisualShader.xml b/doc/classes/VisualShader.xml index c29c30289a..ff00a848b9 100644 --- a/doc/classes/VisualShader.xml +++ b/doc/classes/VisualShader.xml @@ -228,7 +228,9 @@ </constant> <constant name="TYPE_END" value="5" enum="Type"> </constant> - <constant name="TYPE_MAX" value="6" enum="Type"> + <constant name="TYPE_SKY" value="6" enum="Type"> + </constant> + <constant name="TYPE_MAX" value="7" enum="Type"> Represents the size of the [enum Type] enum. </constant> <constant name="NODE_ID_INVALID" value="-1"> diff --git a/doc/classes/VisualShaderNodeComment.xml b/doc/classes/VisualShaderNodeComment.xml new file mode 100644 index 0000000000..8970e2fabb --- /dev/null +++ b/doc/classes/VisualShaderNodeComment.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="VisualShaderNodeComment" inherits="VisualShaderNodeResizableBase" version="4.0"> + <brief_description> + A comment node to be placed on visual shader graph. + </brief_description> + <description> + A resizable rectangular area with changeable [member title] and [member description] used for better organizing of other visual shader nodes. + </description> + <tutorials> + </tutorials> + <methods> + </methods> + <members> + <member name="description" type="String" setter="set_description" getter="get_description" default=""""> + An additional description which placed below the title. + </member> + <member name="title" type="String" setter="set_title" getter="get_title" default=""Comment""> + A title of the node. + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/Window.xml b/doc/classes/Window.xml index b99a251a11..37709753bc 100644 --- a/doc/classes/Window.xml +++ b/doc/classes/Window.xml @@ -45,7 +45,7 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="StringName" default=""""> + <argument index="1" name="theme_type" type="StringName" default=""""> </argument> <description> </description> @@ -55,7 +55,7 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="StringName" default=""""> + <argument index="1" name="theme_type" type="StringName" default=""""> </argument> <description> </description> @@ -65,10 +65,10 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="StringName" default=""""> + <argument index="1" name="theme_type" type="StringName" default=""""> </argument> <description> - Returns the [Font] at [code]name[/code] if the theme has [code]type[/code]. + Returns the [Font] at [code]name[/code] if the theme has [code]theme_type[/code]. </description> </method> <method name="get_theme_font_size" qualifiers="const"> @@ -76,10 +76,10 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="StringName" default=""""> + <argument index="1" name="theme_type" type="StringName" default=""""> </argument> <description> - Returns the font size at [code]name[/code] if the theme has [code]type[/code]. + Returns the font size at [code]name[/code] if the theme has [code]theme_type[/code]. </description> </method> <method name="get_theme_icon" qualifiers="const"> @@ -87,7 +87,7 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="StringName" default=""""> + <argument index="1" name="theme_type" type="StringName" default=""""> </argument> <description> </description> @@ -97,7 +97,7 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="StringName" default=""""> + <argument index="1" name="theme_type" type="StringName" default=""""> </argument> <description> </description> @@ -119,7 +119,7 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="StringName" default=""""> + <argument index="1" name="theme_type" type="StringName" default=""""> </argument> <description> </description> @@ -129,7 +129,7 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="StringName" default=""""> + <argument index="1" name="theme_type" type="StringName" default=""""> </argument> <description> </description> @@ -139,11 +139,11 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="StringName" default=""""> + <argument index="1" name="theme_type" type="StringName" default=""""> </argument> <description> - Returns [code]true[/code] if [Font] with [code]name[/code] is in [code]type[/code]. - Returns [code]false[/code] if the theme does not have [code]type[/code]. + Returns [code]true[/code] if [Font] with [code]name[/code] is in [code]theme_type[/code]. + Returns [code]false[/code] if the theme does not have [code]theme_type[/code]. </description> </method> <method name="has_theme_font_size" qualifiers="const"> @@ -151,11 +151,11 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="StringName" default=""""> + <argument index="1" name="theme_type" type="StringName" default=""""> </argument> <description> - Returns [code]true[/code] if font size with [code]name[/code] is in [code]type[/code]. - Returns [code]false[/code] if the theme does not have [code]type[/code]. + Returns [code]true[/code] if font size with [code]name[/code] is in [code]theme_type[/code]. + Returns [code]false[/code] if the theme does not have [code]theme_type[/code]. </description> </method> <method name="has_theme_icon" qualifiers="const"> @@ -163,7 +163,7 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="StringName" default=""""> + <argument index="1" name="theme_type" type="StringName" default=""""> </argument> <description> </description> @@ -173,7 +173,7 @@ </return> <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="StringName" default=""""> + <argument index="1" name="theme_type" type="StringName" default=""""> </argument> <description> </description> @@ -340,6 +340,8 @@ </member> <member name="theme" type="Theme" setter="set_theme" getter="get_theme"> </member> + <member name="theme_custom_type" type="StringName" setter="set_theme_custom_type" getter="get_theme_custom_type" default="@"""> + </member> <member name="title" type="String" setter="set_title" getter="get_title" default=""""> </member> <member name="transient" type="bool" setter="set_transient" getter="is_transient" default="false"> diff --git a/doc/classes/XRController3D.xml b/doc/classes/XRController3D.xml index a4a86cc22a..5d8c23bd6f 100644 --- a/doc/classes/XRController3D.xml +++ b/doc/classes/XRController3D.xml @@ -62,7 +62,7 @@ <argument index="0" name="button" type="int"> </argument> <description> - Returns [code]true[/code] if the button at index [code]button[/code] is pressed. See [enum JoyButtonList]. + Returns [code]true[/code] if the button at index [code]button[/code] is pressed. See [enum JoyButton]. </description> </method> </methods> diff --git a/doc/classes/XRPositionalTracker.xml b/doc/classes/XRPositionalTracker.xml index 36cd6e2ea0..5274d952fd 100644 --- a/doc/classes/XRPositionalTracker.xml +++ b/doc/classes/XRPositionalTracker.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="XRPositionalTracker" inherits="Object" version="4.0"> +<class name="XRPositionalTracker" inherits="Reference" version="4.0"> <brief_description> A tracked object. </brief_description> diff --git a/doc/classes/XRServer.xml b/doc/classes/XRServer.xml index 75a05bef17..d0edf91fed 100644 --- a/doc/classes/XRServer.xml +++ b/doc/classes/XRServer.xml @@ -10,6 +10,24 @@ <link title="VR tutorial index">https://docs.godotengine.org/en/latest/tutorials/vr/index.html</link> </tutorials> <methods> + <method name="add_interface"> + <return type="void"> + </return> + <argument index="0" name="interface" type="XRInterface"> + </argument> + <description> + Registers an [XRInterface] object. + </description> + </method> + <method name="add_tracker"> + <return type="void"> + </return> + <argument index="0" name="tracker" type="XRPositionalTracker"> + </argument> + <description> + Registers a new [XRPositionalTracker] that tracks a spatial location in real space. + </description> + </method> <method name="center_on_hmd"> <return type="void"> </return> @@ -26,6 +44,15 @@ You should call this method after a few seconds have passed. For instance, when the user requests a realignment of the display holding a designated button on a controller for a short period of time, or when implementing a teleport mechanism. </description> </method> + <method name="clear_primary_interface_if"> + <return type="void"> + </return> + <argument index="0" name="interface" type="XRInterface"> + </argument> + <description> + Clears our current primary interface if it is set to the provided interface. + </description> + </method> <method name="find_interface" qualifiers="const"> <return type="XRInterface"> </return> @@ -109,6 +136,24 @@ Returns the number of trackers currently registered. </description> </method> + <method name="remove_interface"> + <return type="void"> + </return> + <argument index="0" name="interface" type="XRInterface"> + </argument> + <description> + Removes this interface. + </description> + </method> + <method name="remove_tracker"> + <return type="void"> + </return> + <argument index="0" name="tracker" type="XRPositionalTracker"> + </argument> + <description> + Removes this positional tracker. + </description> + </method> </methods> <members> <member name="primary_interface" type="XRInterface" setter="set_primary_interface" getter="get_primary_interface"> diff --git a/doc/classes/bool.xml b/doc/classes/bool.xml index 8da1eb3c88..48f336d58c 100644 --- a/doc/classes/bool.xml +++ b/doc/classes/bool.xml @@ -132,6 +132,7 @@ <argument index="0" name="right" type="bool"> </argument> <description> + Returns [code]true[/code] if two bools are different, i.e. one is [code]true[/code] and the other is [code]false[/code]. </description> </method> <method name="operator <" qualifiers="operator"> @@ -140,6 +141,7 @@ <argument index="0" name="right" type="bool"> </argument> <description> + Returns [code]true[/code] if left operand is [code]false[/code] and right operand is [code]true[/code]. </description> </method> <method name="operator ==" qualifiers="operator"> @@ -148,6 +150,7 @@ <argument index="0" name="right" type="bool"> </argument> <description> + Returns [code]true[/code] if two bools are equal, i.e. both are [code]true[/code] or both are [code]false[/code]. </description> </method> <method name="operator >" qualifiers="operator"> @@ -156,6 +159,7 @@ <argument index="0" name="right" type="bool"> </argument> <description> + Returns [code]true[/code] if left operand is [code]true[/code] and right operand is [code]false[/code]. </description> </method> </methods> diff --git a/doc/classes/float.xml b/doc/classes/float.xml index 85fe31eec8..11f6d91b05 100644 --- a/doc/classes/float.xml +++ b/doc/classes/float.xml @@ -49,6 +49,7 @@ <argument index="0" name="right" type="float"> </argument> <description> + Returns [code]true[/code] if two floats are different from each other. </description> </method> <method name="operator !=" qualifiers="operator"> @@ -57,6 +58,7 @@ <argument index="0" name="right" type="int"> </argument> <description> + Returns [code]true[/code] if the integer has different value than the float. </description> </method> <method name="operator *" qualifiers="operator"> @@ -65,6 +67,7 @@ <argument index="0" name="right" type="float"> </argument> <description> + Multiplies two [float]s. </description> </method> <method name="operator *" qualifiers="operator"> @@ -73,6 +76,10 @@ <argument index="0" name="right" type="Vector2"> </argument> <description> + Multiplies each component of the [Vector2] by the given [float]. + [codeblock] + print(2.5 * Vector2(1, 1)) # Vector2(2.5, 2.5) + [/codeblock] </description> </method> <method name="operator *" qualifiers="operator"> @@ -81,6 +88,10 @@ <argument index="0" name="right" type="Vector2i"> </argument> <description> + Multiplies each component of the [Vector2i] by the given [float]. + [codeblock] + print(2.0 * Vector2i(1, 1)) # Vector2i(2.0, 2.0) + [/codeblock] </description> </method> <method name="operator *" qualifiers="operator"> @@ -89,6 +100,7 @@ <argument index="0" name="right" type="Vector3"> </argument> <description> + Multiplies each component of the [Vector3] by the given [float]. </description> </method> <method name="operator *" qualifiers="operator"> @@ -97,6 +109,7 @@ <argument index="0" name="right" type="Vector3i"> </argument> <description> + Multiplies each component of the [Vector3i] by the given [float]. </description> </method> <method name="operator *" qualifiers="operator"> @@ -105,6 +118,7 @@ <argument index="0" name="right" type="Quat"> </argument> <description> + Multiplies each component of the [Quat] by the given [float]. </description> </method> <method name="operator *" qualifiers="operator"> @@ -113,6 +127,10 @@ <argument index="0" name="right" type="Color"> </argument> <description> + Multiplies each component of the [Color] by the given [float]. + [codeblock] + print(1.5 * Color(0.5, 0.5, 0.5)) # Color(0.75, 0.75, 0.75) + [/codeblock] </description> </method> <method name="operator *" qualifiers="operator"> @@ -121,12 +139,17 @@ <argument index="0" name="right" type="int"> </argument> <description> + Multiplies a [float] and an [int]. The result is a [float]. </description> </method> <method name="operator +" qualifiers="operator"> <return type="float"> </return> <description> + Unary plus operator. Doesn't have any effect. + [codeblock] + var a = +2.5 # a is 2.5. + [/codeblock] </description> </method> <method name="operator +" qualifiers="operator"> @@ -135,6 +158,7 @@ <argument index="0" name="right" type="float"> </argument> <description> + Adds two floats. </description> </method> <method name="operator +" qualifiers="operator"> @@ -143,12 +167,18 @@ <argument index="0" name="right" type="int"> </argument> <description> + Adds a [float] and an [int]. The result is a [float]. </description> </method> <method name="operator -" qualifiers="operator"> <return type="float"> </return> <description> + Unary minus operator. Negates the number. + [codeblock] + var a = -2.5 # a is -2.5. + print(-a) # 2.5 + [/codeblock] </description> </method> <method name="operator -" qualifiers="operator"> @@ -157,6 +187,7 @@ <argument index="0" name="right" type="float"> </argument> <description> + Subtracts a float from a float. </description> </method> <method name="operator -" qualifiers="operator"> @@ -165,6 +196,7 @@ <argument index="0" name="right" type="int"> </argument> <description> + Subtracts an [int] from a [float]. The result is a [float]. </description> </method> <method name="operator /" qualifiers="operator"> @@ -173,6 +205,7 @@ <argument index="0" name="right" type="float"> </argument> <description> + Divides two floats. </description> </method> <method name="operator /" qualifiers="operator"> @@ -181,6 +214,7 @@ <argument index="0" name="right" type="int"> </argument> <description> + Divides a [float] by an [int]. The result is a [float]. </description> </method> <method name="operator <" qualifiers="operator"> @@ -189,6 +223,7 @@ <argument index="0" name="right" type="float"> </argument> <description> + Returns [code]true[/code] the left float is less than the right one. </description> </method> <method name="operator <" qualifiers="operator"> @@ -197,6 +232,7 @@ <argument index="0" name="right" type="int"> </argument> <description> + Returns [code]true[/code] if this [float] is less than the given [int]. </description> </method> <method name="operator <=" qualifiers="operator"> @@ -205,6 +241,7 @@ <argument index="0" name="right" type="float"> </argument> <description> + Returns [code]true[/code] the left integer is less than or equal to the right one. </description> </method> <method name="operator <=" qualifiers="operator"> @@ -213,6 +250,7 @@ <argument index="0" name="right" type="int"> </argument> <description> + Returns [code]true[/code] if this [float] is less than or equal to the given [int]. </description> </method> <method name="operator ==" qualifiers="operator"> @@ -221,6 +259,8 @@ <argument index="0" name="right" type="float"> </argument> <description> + Returns [code]true[/code] if both floats are exactly equal. + [b]Note:[/b] Due to floating-point precision errors, consider using [method @GlobalScope.is_equal_approx] or [method @GlobalScope.is_zero_approx] instead, which are more reliable. </description> </method> <method name="operator ==" qualifiers="operator"> @@ -229,6 +269,7 @@ <argument index="0" name="right" type="int"> </argument> <description> + Returns [code]true[/code] if the [float] and the given [int] are equal. </description> </method> <method name="operator >" qualifiers="operator"> @@ -237,6 +278,7 @@ <argument index="0" name="right" type="float"> </argument> <description> + Returns [code]true[/code] the left float is greater than the right one. </description> </method> <method name="operator >" qualifiers="operator"> @@ -245,6 +287,7 @@ <argument index="0" name="right" type="int"> </argument> <description> + Returns [code]true[/code] if this [float] is greater than the given [int]. </description> </method> <method name="operator >=" qualifiers="operator"> @@ -253,6 +296,7 @@ <argument index="0" name="right" type="float"> </argument> <description> + Returns [code]true[/code] the left float is greater than or equal to the right one. </description> </method> <method name="operator >=" qualifiers="operator"> @@ -261,6 +305,7 @@ <argument index="0" name="right" type="int"> </argument> <description> + Returns [code]true[/code] if this [float] is greater than or equal to the given [int]. </description> </method> </methods> diff --git a/doc/classes/int.xml b/doc/classes/int.xml index a63c509937..119cdf8eeb 100644 --- a/doc/classes/int.xml +++ b/doc/classes/int.xml @@ -79,6 +79,7 @@ <argument index="0" name="right" type="float"> </argument> <description> + Returns [code]true[/code] if operands are different from each other. </description> </method> <method name="operator !=" qualifiers="operator"> @@ -87,6 +88,7 @@ <argument index="0" name="right" type="int"> </argument> <description> + Returns [code]true[/code] if operands are different from each other. </description> </method> <method name="operator %" qualifiers="operator"> @@ -95,6 +97,12 @@ <argument index="0" name="right" type="int"> </argument> <description> + Returns the result of the modulo operator for two integers, i.e. the remainder after dividing both numbers. + [codeblock] + print(5 % 2) # 1 + print(12 % 4) # 0 + print(12 % 2) # 2 + [/codeblock] </description> </method> <method name="operator &" qualifiers="operator"> @@ -103,6 +111,18 @@ <argument index="0" name="right" type="int"> </argument> <description> + Returns the result of bitwise [code]AND[/code] operation for two integers. + [codeblock] + print(3 & 1) # 1 + print(11 & 3) # 3 + [/codeblock] + It's useful to retrieve binary flags from a variable. + [codeblock] + var flags = 5 + # Do something if the first bit is enabled. + if flags & 1: + do_stuff() + [/codeblock] </description> </method> <method name="operator *" qualifiers="operator"> @@ -111,6 +131,7 @@ <argument index="0" name="right" type="float"> </argument> <description> + Multiplies an [int] and a [float]. The result is a [float]. </description> </method> <method name="operator *" qualifiers="operator"> @@ -119,6 +140,7 @@ <argument index="0" name="right" type="int"> </argument> <description> + Multiplies two [int]s. </description> </method> <method name="operator *" qualifiers="operator"> @@ -127,6 +149,10 @@ <argument index="0" name="right" type="Vector2"> </argument> <description> + Multiplies each component of the vector by the given integer. + [codeblock] + print(2 * Vector2(1, 1)) # Vector2(2, 2) + [/codeblock] </description> </method> <method name="operator *" qualifiers="operator"> @@ -135,6 +161,7 @@ <argument index="0" name="right" type="Vector2i"> </argument> <description> + Multiplies each component of the integer vector by the given integer. </description> </method> <method name="operator *" qualifiers="operator"> @@ -143,6 +170,7 @@ <argument index="0" name="right" type="Vector3"> </argument> <description> + Multiplies each component of the vector by the given integer. </description> </method> <method name="operator *" qualifiers="operator"> @@ -151,6 +179,7 @@ <argument index="0" name="right" type="Vector3i"> </argument> <description> + Multiplies each component of the integer vector by the given integer. </description> </method> <method name="operator *" qualifiers="operator"> @@ -159,6 +188,7 @@ <argument index="0" name="right" type="Quat"> </argument> <description> + Multiplies each component of the quaternion by the given integer. </description> </method> <method name="operator *" qualifiers="operator"> @@ -167,12 +197,20 @@ <argument index="0" name="right" type="Color"> </argument> <description> + Multiplies each component of the color by the given integer. + [codeblock] + print(2 * Color(0.5, 0.5, 0.5)) # Color(1, 1, 1) + [/codeblock] </description> </method> <method name="operator +" qualifiers="operator"> <return type="int"> </return> <description> + Unary plus operator. Doesn't have any effect. + [codeblock] + var a = +1 # a is 1. + [/codeblock] </description> </method> <method name="operator +" qualifiers="operator"> @@ -181,6 +219,7 @@ <argument index="0" name="right" type="float"> </argument> <description> + Adds an [int] to a [float]. The result is a [float]. </description> </method> <method name="operator +" qualifiers="operator"> @@ -189,12 +228,18 @@ <argument index="0" name="right" type="int"> </argument> <description> + Adds two integers. </description> </method> <method name="operator -" qualifiers="operator"> <return type="int"> </return> <description> + Unary minus operator. Negates the number. + [codeblock] + var a = -1 # a is -1. + print(-a) # 1 + [/codeblock] </description> </method> <method name="operator -" qualifiers="operator"> @@ -203,6 +248,7 @@ <argument index="0" name="right" type="float"> </argument> <description> + Subtracts a [float] from an [int]. The result is a [float]. </description> </method> <method name="operator -" qualifiers="operator"> @@ -211,6 +257,7 @@ <argument index="0" name="right" type="int"> </argument> <description> + Subtracts two integers. </description> </method> <method name="operator /" qualifiers="operator"> @@ -219,6 +266,10 @@ <argument index="0" name="right" type="float"> </argument> <description> + Divides an [int] by a [float]. The result is a [float]. + [codeblock] + print(10 / 3.0) # 3.333... + [/codeblock] </description> </method> <method name="operator /" qualifiers="operator"> @@ -227,6 +278,11 @@ <argument index="0" name="right" type="int"> </argument> <description> + Divides two integers. The decimal part of the result is discarded (truncated). + [codeblock] + print(10 / 2) # 5 + print(10 / 3) # 3 + [/codeblock] </description> </method> <method name="operator <" qualifiers="operator"> @@ -235,6 +291,7 @@ <argument index="0" name="right" type="float"> </argument> <description> + Returns [code]true[/code] if this [int] is less than the given [float]. </description> </method> <method name="operator <" qualifiers="operator"> @@ -243,6 +300,7 @@ <argument index="0" name="right" type="int"> </argument> <description> + Returns [code]true[/code] the left integer is less than the right one. </description> </method> <method name="operator <<" qualifiers="operator"> @@ -251,6 +309,11 @@ <argument index="0" name="right" type="int"> </argument> <description> + Performs bitwise shift left operation on the integer. Effectively the same as multiplying by a power of 2. + [codeblock] + print(10 << 1) # 20 + print(10 << 4) # 160 + [/codeblock] </description> </method> <method name="operator <=" qualifiers="operator"> @@ -259,6 +322,7 @@ <argument index="0" name="right" type="float"> </argument> <description> + Returns [code]true[/code] if this [int] is less than or equal to the given [float]. </description> </method> <method name="operator <=" qualifiers="operator"> @@ -267,6 +331,7 @@ <argument index="0" name="right" type="int"> </argument> <description> + Returns [code]true[/code] the left integer is less than or equal to the right one. </description> </method> <method name="operator ==" qualifiers="operator"> @@ -275,6 +340,7 @@ <argument index="0" name="right" type="float"> </argument> <description> + Returns [code]true[/code] if the integer is equal to the given [float]. </description> </method> <method name="operator ==" qualifiers="operator"> @@ -283,6 +349,7 @@ <argument index="0" name="right" type="int"> </argument> <description> + Returns [code]true[/code] if both integers are equal. </description> </method> <method name="operator >" qualifiers="operator"> @@ -291,6 +358,7 @@ <argument index="0" name="right" type="float"> </argument> <description> + Returns [code]true[/code] if this [int] is greater than the given [float]. </description> </method> <method name="operator >" qualifiers="operator"> @@ -299,6 +367,7 @@ <argument index="0" name="right" type="int"> </argument> <description> + Returns [code]true[/code] the left integer is greater than the right one. </description> </method> <method name="operator >=" qualifiers="operator"> @@ -307,6 +376,7 @@ <argument index="0" name="right" type="float"> </argument> <description> + Returns [code]true[/code] if this [int] is greater than or equal to the given [float]. </description> </method> <method name="operator >=" qualifiers="operator"> @@ -315,6 +385,7 @@ <argument index="0" name="right" type="int"> </argument> <description> + Returns [code]true[/code] the left integer is greater than or equal to the right one. </description> </method> <method name="operator >>" qualifiers="operator"> @@ -323,6 +394,11 @@ <argument index="0" name="right" type="int"> </argument> <description> + Performs bitwise shift right operation on the integer. Effectively the same as dividing by a power of 2. + [codeblock] + print(10 >> 1) # 5 + print(10 >> 2) # 2 + [/codeblock] </description> </method> <method name="operator ^" qualifiers="operator"> @@ -331,6 +407,11 @@ <argument index="0" name="right" type="int"> </argument> <description> + Returns the result of bitwise [code]XOR[/code] operation for two integers. + [codeblock] + print(5 ^ 1) # 4 + print(4 ^ 7) # 3 + [/codeblock] </description> </method> <method name="operator |" qualifiers="operator"> @@ -339,12 +420,29 @@ <argument index="0" name="right" type="int"> </argument> <description> + Returns the result of bitwise [code]OR[/code] operation for two integers. + [codeblock] + print(2 | 4) # 6 + print(1 | 3) # 3 + [/codeblock] + It's useful to store binary flags in a variable. + [codeblock] + var flags = 0 + # Turn first and third bit on. + flags |= 1 + flags |= 4 + [/codeblock] </description> </method> <method name="operator ~" qualifiers="operator"> <return type="int"> </return> <description> + Returns the result of bitwise [code]NOT[/code] operation for the integer. It's effectively equal to [code]-int + 1[/code]. + [codeblock] + print(~4) # -3 + print(~7) # -6 + [/codeblock] </description> </method> </methods> |