Procházet zdrojové kódy

Sync classref with current source, adds Enums

Rémi Verschelde před 7 roky
rodič
revize
4548bb71d5
100 změnil soubory, kde provedl 2000 přidání a 847 odebrání
  1. 6 2
      classes/[email protected]
  2. 278 199
      classes/[email protected]
  3. 23 8
      classes/class_animation.rst
  4. 8 3
      classes/class_animationplayer.rst
  5. 15 5
      classes/class_animationtreeplayer.rst
  6. 12 7
      classes/class_area.rst
  7. 12 7
      classes/class_area2d.rst
  8. 23 9
      classes/class_arraymesh.rst
  9. 22 7
      classes/class_arvrinterface.rst
  10. 7 2
      classes/class_arvrpositionaltracker.rst
  11. 15 5
      classes/class_arvrserver.rst
  12. 8 3
      classes/class_audioeffectdistortion.rst
  13. 8 3
      classes/class_audioeffectfilter.rst
  14. 7 2
      classes/class_audioserver.rst
  15. 8 3
      classes/class_audiostreamplayer.rst
  16. 25 10
      classes/class_audiostreamplayer3d.rst
  17. 17 7
      classes/class_audiostreamsample.rst
  18. 8 3
      classes/class_backbuffercopy.rst
  19. 21 6
      classes/class_bakedlightmap.rst
  20. 27 17
      classes/class_basebutton.rst
  21. 8 3
      classes/class_boxcontainer.rst
  22. 8 3
      classes/class_button.rst
  23. 23 8
      classes/class_camera.rst
  24. 8 3
      classes/class_camera2d.rst
  25. 14 5
      classes/class_canvasitem.rst
  26. 17 7
      classes/class_canvasitemmaterial.rst
  27. 8 3
      classes/class_collisionpolygon2d.rst
  28. 3 1
      classes/class_color.rst
  29. 7 2
      classes/class_conetwistjoint.rst
  30. 66 22
      classes/class_control.rst
  31. 22 7
      classes/class_cubemap.rst
  32. 7 2
      classes/class_curve.rst
  33. 16 6
      classes/class_directionallight.rst
  34. 7 2
      classes/class_dynamicfont.rst
  35. 25 10
      classes/class_editorfiledialog.rst
  36. 12 0
      classes/class_editorinterface.rst
  37. 22 12
      classes/class_editorplugin.rst
  38. 30 30
      classes/class_editorsettings.rst
  39. 42 12
      classes/class_environment.rst
  40. 16 6
      classes/class_file.rst
  41. 17 7
      classes/class_filedialog.rst
  42. 4 0
      classes/class_gdnativelibrary.rst
  43. 16 6
      classes/class_generic6dofjoint.rst
  44. 16 6
      classes/class_geometryinstance.rst
  45. 8 3
      classes/class_giprobe.rst
  46. 7 2
      classes/class_graphnode.rst
  47. 15 5
      classes/class_hingejoint.rst
  48. 27 12
      classes/class_httpclient.rst
  49. 7 2
      classes/class_httprequest.rst
  50. 42 16
      classes/class_image.rst
  51. 7 2
      classes/class_imagetexture.rst
  52. 12 2
      classes/class_input.rst
  53. 1 1
      classes/class_inputeventjoypadbutton.rst
  54. 16 2
      classes/class_ip.rst
  55. 14 4
      classes/class_itemlist.rst
  56. 1 1
      classes/class_jsonparseresult.rst
  57. 1 1
      classes/class_kinematicbody.rst
  58. 16 4
      classes/class_label.rst
  59. 16 6
      classes/class_light.rst
  60. 14 4
      classes/class_light2d.rst
  61. 24 9
      classes/class_line2d.rst
  62. 16 6
      classes/class_lineedit.rst
  63. 8 3
      classes/class_linkbutton.rst
  64. 39 19
      classes/class_mesh.rst
  65. 14 4
      classes/class_multimesh.rst
  66. 7 2
      classes/class_networkedmultiplayerenet.rst
  67. 16 2
      classes/class_networkedmultiplayerpeer.rst
  68. 9 4
      classes/class_ninepatchrect.rst
  69. 23 4
      classes/class_node.rst
  70. 9 0
      classes/class_object.rst
  71. 8 3
      classes/class_occluderpolygon2d.rst
  72. 16 6
      classes/class_omnilight.rst
  73. 47 22
      classes/class_os.rst
  74. 7 2
      classes/class_packedscene.rst
  75. 11 2
      classes/class_particles.rst
  76. 8 3
      classes/class_particles2d.rst
  77. 21 6
      classes/class_particlesmaterial.rst
  78. 7 2
      classes/class_pathfollow.rst
  79. 7 2
      classes/class_performance.rst
  80. 102 37
      classes/class_physics2dserver.rst
  81. 1 1
      classes/class_physicsbody.rst
  82. 170 80
      classes/class_physicsserver.rst
  83. 7 2
      classes/class_pinjoint.rst
  84. 8 3
      classes/class_proceduralsky.rst
  85. 8 3
      classes/class_reflectionprobe.rst
  86. 7 2
      classes/class_resourcesaver.rst
  87. 20 5
      classes/class_richtextlabel.rst
  88. 11 4
      classes/class_rigidbody.rst
  89. 18 8
      classes/class_rigidbody2d.rst
  90. 7 2
      classes/class_scenestate.rst
  91. 17 2
      classes/class_scenetree.rst
  92. 7 2
      classes/class_shader.rst
  93. 8 3
      classes/class_sky.rst
  94. 1 1
      classes/class_slider.rst
  95. 7 2
      classes/class_sliderjoint.rst
  96. 97 37
      classes/class_spatialmaterial.rst
  97. 8 3
      classes/class_splitcontainer.rst
  98. 17 7
      classes/class_spritebase3d.rst
  99. 7 2
      classes/class_streampeerssl.rst
  100. 7 2
      classes/class_streampeertcp.rst

+ 6 - 2
classes/[email protected]

@@ -219,11 +219,15 @@ Returns a 32 bit color with red, green, blue and alpha channels. Each channel ha
 
 - :ref:`Color<class_color>` **ColorN** **(** :ref:`String<class_string>` name, :ref:`float<class_float>` alpha **)**
 
-Returns color ``name`` with ``alpha`` ranging from 0 to 1. Note: ``name`` is defined in color_names.inc.
+Returns a color according to the standardised ``name`` with ``alpha`` ranging from 0 to 1.
 
 ::
 
-    red = ColorN('red')
+    red = ColorN("red", 1)
+
+Supported color names:
+
+"aliceblue", "antiquewhite", "aqua", "aquamarine", "azure", "beige", "bisque", "black", "blanchedalmond", "blue", "blueviolet", "brown", "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflower", "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", "darkgray", "darkgreen", "darkkhaki", "darkmagenta", "darkolivegreen", "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", "darkslateblue", "darkslategray", "darkturquoise", "darkviolet", "deeppink", "deepskyblue", "dimgray", "dodgerblue", "firebrick", "floralwhite", "forestgreen", "fuchsia", "gainsboro", "ghostwhite", "gold", "goldenrod", "gray", "webgray", "green", "webgreen", "greenyellow", "honeydew", "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", "lightcyan", "lightgoldenrod", "lightgray", "lightgreen", "lightpink", "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightsteelblue", "lightyellow", "lime", "limegreen", "linen", "magenta", "maroon", "webmaroon", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", "navajowhite", "navyblue", "oldlace", "olive", "olivedrab", "orange", "orangered", "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", "purple", "webpurple", "rebeccapurple", "red", "rosybrown", "royalblue", "saddlebrown", "salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue", "slateblue", "slategray", "snow", "springgreen", "steelblue", "tan", "teal", "thistle", "tomato", "turquoise", "violet", "wheat", "white", "whitesmoke", "yellow", "yellowgreen".
 
 .. _class_@GDScript_abs:
 

+ 278 - 199
classes/[email protected]

@@ -109,23 +109,262 @@ Member Variables
 Numeric Constants
 -----------------
 
-- **MARGIN_LEFT** = **0** --- Left margin, used usually for :ref:`Control<class_control>` or :ref:`StyleBox<class_stylebox>` derived classes.
-- **MARGIN_TOP** = **1** --- Top margin, used usually for :ref:`Control<class_control>` or :ref:`StyleBox<class_stylebox>` derived classes.
-- **MARGIN_RIGHT** = **2** --- Right margin, used usually for :ref:`Control<class_control>` or :ref:`StyleBox<class_stylebox>` derived classes.
-- **MARGIN_BOTTOM** = **3** --- Bottom margin, used usually for :ref:`Control<class_control>` or :ref:`StyleBox<class_stylebox>` derived classes.
-- **CORNER_TOP_LEFT** = **0**
-- **CORNER_TOP_RIGHT** = **1**
-- **CORNER_BOTTOM_RIGHT** = **2**
-- **CORNER_BOTTOM_LEFT** = **3**
+- **SPKEY** = **16777216** --- Scancodes with this bit applied are non printable.
+
+Enums
+-----
+
+  .. _enum_@GlobalScope_Variant.Operator:
+
+enum **Variant.Operator**
+
+- **OP_EQUAL** = **0**
+- **OP_NOT_EQUAL** = **1**
+- **OP_LESS** = **2**
+- **OP_LESS_EQUAL** = **3**
+- **OP_GREATER** = **4**
+- **OP_GREATER_EQUAL** = **5**
+- **OP_ADD** = **6**
+- **OP_SUBTRACT** = **7**
+- **OP_MULTIPLY** = **8**
+- **OP_DIVIDE** = **9**
+- **OP_NEGATE** = **10**
+- **OP_POSITIVE** = **11**
+- **OP_MODULE** = **12**
+- **OP_STRING_CONCAT** = **13**
+- **OP_SHIFT_LEFT** = **14**
+- **OP_SHIFT_RIGHT** = **15**
+- **OP_BIT_AND** = **16**
+- **OP_BIT_OR** = **17**
+- **OP_BIT_XOR** = **18**
+- **OP_BIT_NEGATE** = **19**
+- **OP_AND** = **20**
+- **OP_OR** = **21**
+- **OP_XOR** = **22**
+- **OP_NOT** = **23**
+- **OP_IN** = **24**
+- **OP_MAX** = **25**
+
+  .. _enum_@GlobalScope_MethodFlags:
+
+enum **MethodFlags**
+
+- **METHOD_FLAG_NORMAL** = **1** --- Flag for normal method
+- **METHOD_FLAG_EDITOR** = **2** --- Flag for editor method
+- **METHOD_FLAG_NOSCRIPT** = **4**
+- **METHOD_FLAG_CONST** = **8** --- Flag for constant method
+- **METHOD_FLAG_REVERSE** = **16**
+- **METHOD_FLAG_VIRTUAL** = **32** --- Flag for virtual method
+- **METHOD_FLAG_FROM_SCRIPT** = **64** --- Flag for method from script
+- **METHOD_FLAGS_DEFAULT** = **1** --- Default method flags
+
+  .. _enum_@GlobalScope_Orientation:
+
+enum **Orientation**
+
 - **VERTICAL** = **1** --- General vertical alignment, used usually for :ref:`Separator<class_separator>`, :ref:`ScrollBar<class_scrollbar>`, :ref:`Slider<class_slider>`, etc.
 - **HORIZONTAL** = **0** --- General horizontal alignment, used usually for :ref:`Separator<class_separator>`, :ref:`ScrollBar<class_scrollbar>`, :ref:`Slider<class_slider>`, etc.
+
+  .. _enum_@GlobalScope_PropertyUsageFlags:
+
+enum **PropertyUsageFlags**
+
+- **PROPERTY_USAGE_STORAGE** = **1** --- Property will be used as storage (default).
+- **PROPERTY_USAGE_EDITOR** = **2** --- Property will be visible in editor (default).
+- **PROPERTY_USAGE_NETWORK** = **4**
+- **PROPERTY_USAGE_EDITOR_HELPER** = **8**
+- **PROPERTY_USAGE_CHECKABLE** = **16**
+- **PROPERTY_USAGE_CHECKED** = **32**
+- **PROPERTY_USAGE_INTERNATIONALIZED** = **64**
+- **PROPERTY_USAGE_GROUP** = **128**
+- **PROPERTY_USAGE_CATEGORY** = **256**
+- **PROPERTY_USAGE_STORE_IF_NONZERO** = **512**
+- **PROPERTY_USAGE_STORE_IF_NONONE** = **1024**
+- **PROPERTY_USAGE_NO_INSTANCE_STATE** = **2048**
+- **PROPERTY_USAGE_RESTART_IF_CHANGED** = **4096**
+- **PROPERTY_USAGE_SCRIPT_VARIABLE** = **8192**
+- **PROPERTY_USAGE_DEFAULT** = **7** --- Default usage (storage and editor).
+- **PROPERTY_USAGE_DEFAULT_INTL** = **71**
+- **PROPERTY_USAGE_NOEDITOR** = **1048581**
+
+  .. _enum_@GlobalScope_JoystickList:
+
+enum **JoystickList**
+
+- **JOY_BUTTON_0** = **0** --- Joypad Button 0
+- **JOY_BUTTON_1** = **1** --- Joypad Button 1
+- **JOY_BUTTON_2** = **2** --- Joypad Button 2
+- **JOY_BUTTON_3** = **3** --- Joypad Button 3
+- **JOY_BUTTON_4** = **4** --- Joypad Button 4
+- **JOY_BUTTON_5** = **5** --- Joypad Button 5
+- **JOY_BUTTON_6** = **6** --- Joypad Button 6
+- **JOY_BUTTON_7** = **7** --- Joypad Button 7
+- **JOY_BUTTON_8** = **8** --- Joypad Button 8
+- **JOY_BUTTON_9** = **9** --- Joypad Button 9
+- **JOY_BUTTON_10** = **10** --- Joypad Button 10
+- **JOY_BUTTON_11** = **11** --- Joypad Button 11
+- **JOY_BUTTON_12** = **12** --- Joypad Button 12
+- **JOY_BUTTON_13** = **13** --- Joypad Button 13
+- **JOY_BUTTON_14** = **14** --- Joypad Button 14
+- **JOY_BUTTON_15** = **15** --- Joypad Button 15
+- **JOY_BUTTON_MAX** = **16** --- Joypad Button 16
+- **JOY_SONY_CIRCLE** = **1** --- DUALSHOCK circle button
+- **JOY_SONY_X** = **0** --- DUALSHOCK X button
+- **JOY_SONY_SQUARE** = **2** --- DUALSHOCK square button
+- **JOY_SONY_TRIANGLE** = **3** --- DUALSHOCK triangle button
+- **JOY_XBOX_B** = **1** --- XBOX controller B button
+- **JOY_XBOX_A** = **0** --- XBOX controller A button
+- **JOY_XBOX_X** = **2** --- XBOX controller X button
+- **JOY_XBOX_Y** = **3** --- XBOX controller Y button
+- **JOY_DS_A** = **1** --- DualShock controller A button
+- **JOY_DS_B** = **0** --- DualShock controller B button
+- **JOY_DS_X** = **3** --- DualShock controller X button
+- **JOY_DS_Y** = **2** --- DualShock controller Y button
+- **JOY_SELECT** = **10** --- Joypad Button Select
+- **JOY_START** = **11** --- Joypad Button Start
+- **JOY_DPAD_UP** = **12** --- Joypad DPad Up
+- **JOY_DPAD_DOWN** = **13** --- Joypad DPad Down
+- **JOY_DPAD_LEFT** = **14** --- Joypad DPad Left
+- **JOY_DPAD_RIGHT** = **15** --- Joypad DPad Right
+- **JOY_L** = **4** --- Joypad Left Shoulder Button
+- **JOY_L2** = **6** --- Joypad Left Trigger
+- **JOY_L3** = **8** --- Joypad Left Stick Click
+- **JOY_R** = **5** --- Joypad Right Shoulder Button
+- **JOY_R2** = **7** --- Joypad Right Trigger
+- **JOY_R3** = **9** --- Joypad Right Stick Click
+- **JOY_AXIS_0** = **0** --- Joypad Left Stick Horizontal Axis
+- **JOY_AXIS_1** = **1** --- Joypad Left Stick Vertical Axis
+- **JOY_AXIS_2** = **2** --- Joypad Right Stick Horizontal Axis
+- **JOY_AXIS_3** = **3** --- Joypad Right Stick Vertical Axis
+- **JOY_AXIS_4** = **4**
+- **JOY_AXIS_5** = **5**
+- **JOY_AXIS_6** = **6** --- Joypad Left Trigger Analog Axis
+- **JOY_AXIS_7** = **7** --- Joypad Right Trigger Analog Axis
+- **JOY_AXIS_8** = **8**
+- **JOY_AXIS_9** = **9**
+- **JOY_AXIS_MAX** = **10**
+- **JOY_ANALOG_LX** = **0** --- Joypad Left Stick Horizontal Axis
+- **JOY_ANALOG_LY** = **1** --- Joypad Left Stick Vertical Axis
+- **JOY_ANALOG_RX** = **2** --- Joypad Right Stick Horizontal Axis
+- **JOY_ANALOG_RY** = **3** --- Joypad Right Stick Vertical Axis
+- **JOY_ANALOG_L2** = **6** --- Joypad Left Analog Trigger
+- **JOY_ANALOG_R2** = **7** --- Joypad Right Analog Trigger
+
+  .. _enum_@GlobalScope_Error:
+
+enum **Error**
+
+- **OK** = **0** --- Functions that return Error return OK when no error occured. Most functions don't return errors and/or just print errors to STDOUT.
+- **FAILED** = **1** --- Generic error.
+- **ERR_UNAVAILABLE** = **2** --- Unavailable error
+- **ERR_UNCONFIGURED** = **3** --- Unconfigured error
+- **ERR_UNAUTHORIZED** = **4** --- Unauthorized error
+- **ERR_PARAMETER_RANGE_ERROR** = **5** --- Parameter range error
+- **ERR_OUT_OF_MEMORY** = **6** --- Out of memory (OOM) error
+- **ERR_FILE_NOT_FOUND** = **7** --- File: Not found error
+- **ERR_FILE_BAD_DRIVE** = **8** --- File: Bad drive error
+- **ERR_FILE_BAD_PATH** = **9** --- File: Bad path error
+- **ERR_FILE_NO_PERMISSION** = **10** --- File: No permission error
+- **ERR_FILE_ALREADY_IN_USE** = **11** --- File: Already in use error
+- **ERR_FILE_CANT_OPEN** = **12** --- File: Can't open error
+- **ERR_FILE_CANT_WRITE** = **13** --- File: Can't write error
+- **ERR_FILE_CANT_READ** = **14** --- File: Can't read error
+- **ERR_FILE_UNRECOGNIZED** = **15** --- File: Unrecognized error
+- **ERR_FILE_CORRUPT** = **16** --- File: Corrupt error
+- **ERR_FILE_MISSING_DEPENDENCIES** = **17** --- File: Missing dependencies error
+- **ERR_FILE_EOF** = **18** --- File: End of file (EOF) error
+- **ERR_CANT_OPEN** = **19** --- Can't open error
+- **ERR_CANT_CREATE** = **20** --- Can't create error
+- **ERR_PARSE_ERROR** = **43** --- Parse error
+- **ERR_QUERY_FAILED** = **21** --- Query failed error
+- **ERR_ALREADY_IN_USE** = **22** --- Already in use error
+- **ERR_LOCKED** = **23** --- Locked error
+- **ERR_TIMEOUT** = **24** --- Timeout error
+- **ERR_CANT_ACQUIRE_RESOURCE** = **28** --- Can't acquire resource error
+- **ERR_INVALID_DATA** = **30** --- Invalid data error
+- **ERR_INVALID_PARAMETER** = **31** --- Invalid parameter error
+- **ERR_ALREADY_EXISTS** = **32** --- Already exists error
+- **ERR_DOES_NOT_EXIST** = **33** --- Does not exist error
+- **ERR_DATABASE_CANT_READ** = **34** --- Database: Read error
+- **ERR_DATABASE_CANT_WRITE** = **35** --- Database: Write error
+- **ERR_COMPILATION_FAILED** = **36** --- Compilation failed error
+- **ERR_METHOD_NOT_FOUND** = **37** --- Method not found error
+- **ERR_LINK_FAILED** = **38** --- Linking failed error
+- **ERR_SCRIPT_FAILED** = **39** --- Script failed error
+- **ERR_CYCLIC_LINK** = **40** --- Cycling link (import cycle) error
+- **ERR_BUSY** = **44** --- Busy error
+- **ERR_HELP** = **46** --- Help error
+- **ERR_BUG** = **47** --- Bug error
+
+  .. _enum_@GlobalScope_KeyModifierMask:
+
+enum **KeyModifierMask**
+
+- **KEY_CODE_MASK** = **33554431** --- Key Code Mask
+- **KEY_MODIFIER_MASK** = **-16777216** --- Modifier Key Mask
+- **KEY_MASK_SHIFT** = **33554432** --- Shift Key Mask
+- **KEY_MASK_ALT** = **67108864** --- Alt Key Mask
+- **KEY_MASK_META** = **134217728** --- Meta Key Mask
+- **KEY_MASK_CTRL** = **268435456** --- CTRL Key Mask
+- **KEY_MASK_CMD** = **268435456** --- CMD Key Mask
+- **KEY_MASK_KPAD** = **536870912** --- Keypad Key Mask
+- **KEY_MASK_GROUP_SWITCH** = **1073741824** --- Group Switch Key Mask
+
+  .. _enum_@GlobalScope_HAlign:
+
+enum **HAlign**
+
 - **HALIGN_LEFT** = **0** --- Horizontal left alignment, usually for text-derived classes.
 - **HALIGN_CENTER** = **1** --- Horizontal center alignment, usually for text-derived classes.
 - **HALIGN_RIGHT** = **2** --- Horizontal right alignment, usually for text-derived classes.
+
+  .. _enum_@GlobalScope_VAlign:
+
+enum **VAlign**
+
 - **VALIGN_TOP** = **0** --- Vertical top alignment, usually for text-derived classes.
 - **VALIGN_CENTER** = **1** --- Vertical center alignment, usually for text-derived classes.
 - **VALIGN_BOTTOM** = **2** --- Vertical bottom alignment, usually for text-derived classes.
-- **SPKEY** = **16777216** --- Scancodes with this bit applied are non printable.
+
+  .. _enum_@GlobalScope_PropertyHint:
+
+enum **PropertyHint**
+
+- **PROPERTY_HINT_NONE** = **0** --- No hint for edited property.
+- **PROPERTY_HINT_RANGE** = **1** --- Hints that the string is a range, defined as "min,max" or "min,max,step". This is valid for integers and floats.
+- **PROPERTY_HINT_EXP_RANGE** = **2** --- Hints that the string is an exponential range, defined as "min,max" or "min,max,step". This is valid for integers and floats.
+- **PROPERTY_HINT_ENUM** = **3** --- Property hint for an enumerated value, like "Hello,Something,Else". This is valid for integer, float and string properties.
+- **PROPERTY_HINT_EXP_EASING** = **4**
+- **PROPERTY_HINT_LENGTH** = **5**
+- **PROPERTY_HINT_KEY_ACCEL** = **7**
+- **PROPERTY_HINT_FLAGS** = **8** --- Property hint for a bitmask description, for bits 0,1,2,3 and 5 the hint would be like "Bit0,Bit1,Bit2,Bit3,,Bit5". Valid only for integers.
+- **PROPERTY_HINT_LAYERS_2D_RENDER** = **9**
+- **PROPERTY_HINT_LAYERS_2D_PHYSICS** = **10**
+- **PROPERTY_HINT_LAYERS_3D_RENDER** = **11**
+- **PROPERTY_HINT_LAYERS_3D_PHYSICS** = **12**
+- **PROPERTY_HINT_FILE** = **13** --- String property is a file (so pop up a file dialog when edited). Hint string can be a set of wildcards like "\*.doc".
+- **PROPERTY_HINT_DIR** = **14** --- String property is a directory (so pop up a file dialog when edited).
+- **PROPERTY_HINT_GLOBAL_FILE** = **15**
+- **PROPERTY_HINT_GLOBAL_DIR** = **16**
+- **PROPERTY_HINT_RESOURCE_TYPE** = **17** --- String property is a resource, so open the resource popup menu when edited.
+- **PROPERTY_HINT_MULTILINE_TEXT** = **18**
+- **PROPERTY_HINT_COLOR_NO_ALPHA** = **19**
+- **PROPERTY_HINT_IMAGE_COMPRESS_LOSSY** = **20** --- Hints that the image is compressed using lossy compression.
+- **PROPERTY_HINT_IMAGE_COMPRESS_LOSSLESS** = **21** --- Hints that the image is compressed using lossless compression.
+
+  .. _enum_@GlobalScope_Corner:
+
+enum **Corner**
+
+- **CORNER_TOP_LEFT** = **0**
+- **CORNER_TOP_RIGHT** = **1**
+- **CORNER_BOTTOM_RIGHT** = **2**
+- **CORNER_BOTTOM_LEFT** = **3**
+
+  .. _enum_@GlobalScope_KeyList:
+
+enum **KeyList**
+
 - **KEY_ESCAPE** = **16777217** --- Escape Key
 - **KEY_TAB** = **16777218** --- Tab Key
 - **KEY_BACKTAB** = **16777219** --- Shift-Tab Key
@@ -368,170 +607,11 @@ Numeric Constants
 - **KEY_SSHARP** = **223** --- ß key
 - **KEY_DIVISION** = **247** --- ÷ key
 - **KEY_YDIAERESIS** = **255** --- ÿ key
-- **KEY_CODE_MASK** = **33554431** --- Key Code Mask
-- **KEY_MODIFIER_MASK** = **-16777216** --- Modifier Key Mask
-- **KEY_MASK_SHIFT** = **33554432** --- Shift Key Mask
-- **KEY_MASK_ALT** = **67108864** --- Alt Key Mask
-- **KEY_MASK_META** = **134217728** --- Meta Key Mask
-- **KEY_MASK_CTRL** = **268435456** --- CTRL Key Mask
-- **KEY_MASK_CMD** = **268435456** --- CMD Key Mask
-- **KEY_MASK_KPAD** = **536870912** --- Keypad Key Mask
-- **KEY_MASK_GROUP_SWITCH** = **1073741824** --- Group Switch Key Mask
-- **BUTTON_LEFT** = **1** --- Left Mouse Button
-- **BUTTON_RIGHT** = **2** --- Right Mouse Button
-- **BUTTON_MIDDLE** = **3** --- Middle Mouse Button
-- **BUTTON_WHEEL_UP** = **4** --- Mouse wheel up
-- **BUTTON_WHEEL_DOWN** = **5** --- Mouse wheel down
-- **BUTTON_WHEEL_LEFT** = **6** --- Mouse wheel left button
-- **BUTTON_WHEEL_RIGHT** = **7** --- Mouse wheel right button
-- **BUTTON_MASK_LEFT** = **1** --- Left Mouse Button Mask
-- **BUTTON_MASK_RIGHT** = **2** --- Right Mouse Button Mask
-- **BUTTON_MASK_MIDDLE** = **4** --- Middle Mouse Button Mask
-- **JOY_BUTTON_0** = **0** --- Joypad Button 0
-- **JOY_BUTTON_1** = **1** --- Joypad Button 1
-- **JOY_BUTTON_2** = **2** --- Joypad Button 2
-- **JOY_BUTTON_3** = **3** --- Joypad Button 3
-- **JOY_BUTTON_4** = **4** --- Joypad Button 4
-- **JOY_BUTTON_5** = **5** --- Joypad Button 5
-- **JOY_BUTTON_6** = **6** --- Joypad Button 6
-- **JOY_BUTTON_7** = **7** --- Joypad Button 7
-- **JOY_BUTTON_8** = **8** --- Joypad Button 8
-- **JOY_BUTTON_9** = **9** --- Joypad Button 9
-- **JOY_BUTTON_10** = **10** --- Joypad Button 10
-- **JOY_BUTTON_11** = **11** --- Joypad Button 11
-- **JOY_BUTTON_12** = **12** --- Joypad Button 12
-- **JOY_BUTTON_13** = **13** --- Joypad Button 13
-- **JOY_BUTTON_14** = **14** --- Joypad Button 14
-- **JOY_BUTTON_15** = **15** --- Joypad Button 15
-- **JOY_BUTTON_MAX** = **16** --- Joypad Button 16
-- **JOY_SONY_CIRCLE** = **1** --- DUALSHOCK circle button
-- **JOY_SONY_X** = **0** --- DUALSHOCK X button
-- **JOY_SONY_SQUARE** = **2** --- DUALSHOCK square button
-- **JOY_SONY_TRIANGLE** = **3** --- DUALSHOCK triangle button
-- **JOY_XBOX_B** = **1** --- XBOX controller B button
-- **JOY_XBOX_A** = **0** --- XBOX controller A button
-- **JOY_XBOX_X** = **2** --- XBOX controller X button
-- **JOY_XBOX_Y** = **3** --- XBOX controller Y button
-- **JOY_DS_A** = **1** --- DualShock controller A button
-- **JOY_DS_B** = **0** --- DualShock controller B button
-- **JOY_DS_X** = **3** --- DualShock controller X button
-- **JOY_DS_Y** = **2** --- DualShock controller Y button
-- **JOY_SELECT** = **10** --- Joypad Button Select
-- **JOY_START** = **11** --- Joypad Button Start
-- **JOY_DPAD_UP** = **12** --- Joypad DPad Up
-- **JOY_DPAD_DOWN** = **13** --- Joypad DPad Down
-- **JOY_DPAD_LEFT** = **14** --- Joypad DPad Left
-- **JOY_DPAD_RIGHT** = **15** --- Joypad DPad Right
-- **JOY_L** = **4** --- Joypad Left Shoulder Button
-- **JOY_L2** = **6** --- Joypad Left Trigger
-- **JOY_L3** = **8** --- Joypad Left Stick Click
-- **JOY_R** = **5** --- Joypad Right Shoulder Button
-- **JOY_R2** = **7** --- Joypad Right Trigger
-- **JOY_R3** = **9** --- Joypad Right Stick Click
-- **JOY_AXIS_0** = **0** --- Joypad Left Stick Horizontal Axis
-- **JOY_AXIS_1** = **1** --- Joypad Left Stick Vertical Axis
-- **JOY_AXIS_2** = **2** --- Joypad Right Stick Horizontal Axis
-- **JOY_AXIS_3** = **3** --- Joypad Right Stick Vertical Axis
-- **JOY_AXIS_4** = **4**
-- **JOY_AXIS_5** = **5**
-- **JOY_AXIS_6** = **6** --- Joypad Left Trigger Analog Axis
-- **JOY_AXIS_7** = **7** --- Joypad Right Trigger Analog Axis
-- **JOY_AXIS_8** = **8**
-- **JOY_AXIS_9** = **9**
-- **JOY_AXIS_MAX** = **10**
-- **JOY_ANALOG_LX** = **0** --- Joypad Left Stick Horizontal Axis
-- **JOY_ANALOG_LY** = **1** --- Joypad Left Stick Vertical Axis
-- **JOY_ANALOG_RX** = **2** --- Joypad Right Stick Horizontal Axis
-- **JOY_ANALOG_RY** = **3** --- Joypad Right Stick Vertical Axis
-- **JOY_ANALOG_L2** = **6** --- Joypad Left Analog Trigger
-- **JOY_ANALOG_R2** = **7** --- Joypad Right Analog Trigger
-- **OK** = **0** --- Functions that return Error return OK when no error occured. Most functions don't return errors and/or just print errors to STDOUT.
-- **FAILED** = **1** --- Generic error.
-- **ERR_UNAVAILABLE** = **2** --- Unavailable error
-- **ERR_UNCONFIGURED** = **3** --- Unconfigured error
-- **ERR_UNAUTHORIZED** = **4** --- Unauthorized error
-- **ERR_PARAMETER_RANGE_ERROR** = **5** --- Parameter range error
-- **ERR_OUT_OF_MEMORY** = **6** --- Out of memory (OOM) error
-- **ERR_FILE_NOT_FOUND** = **7** --- File: Not found error
-- **ERR_FILE_BAD_DRIVE** = **8** --- File: Bad drive error
-- **ERR_FILE_BAD_PATH** = **9** --- File: Bad path error
-- **ERR_FILE_NO_PERMISSION** = **10** --- File: No permission error
-- **ERR_FILE_ALREADY_IN_USE** = **11** --- File: Already in use error
-- **ERR_FILE_CANT_OPEN** = **12** --- File: Can't open error
-- **ERR_FILE_CANT_WRITE** = **13** --- File: Can't write error
-- **ERR_FILE_CANT_READ** = **14** --- File: Can't read error
-- **ERR_FILE_UNRECOGNIZED** = **15** --- File: Unrecognized error
-- **ERR_FILE_CORRUPT** = **16** --- File: Corrupt error
-- **ERR_FILE_MISSING_DEPENDENCIES** = **17** --- File: Missing dependencies error
-- **ERR_FILE_EOF** = **18** --- File: End of file (EOF) error
-- **ERR_CANT_OPEN** = **19** --- Can't open error
-- **ERR_CANT_CREATE** = **20** --- Can't create error
-- **ERR_PARSE_ERROR** = **43** --- Parse error
-- **ERR_QUERY_FAILED** = **21** --- Query failed error
-- **ERR_ALREADY_IN_USE** = **22** --- Already in use error
-- **ERR_LOCKED** = **23** --- Locked error
-- **ERR_TIMEOUT** = **24** --- Timeout error
-- **ERR_CANT_ACQUIRE_RESOURCE** = **28** --- Can't acquire resource error
-- **ERR_INVALID_DATA** = **30** --- Invalid data error
-- **ERR_INVALID_PARAMETER** = **31** --- Invalid parameter error
-- **ERR_ALREADY_EXISTS** = **32** --- Already exists error
-- **ERR_DOES_NOT_EXIST** = **33** --- Does not exist error
-- **ERR_DATABASE_CANT_READ** = **34** --- Database: Read error
-- **ERR_DATABASE_CANT_WRITE** = **35** --- Database: Write error
-- **ERR_COMPILATION_FAILED** = **36** --- Compilation failed error
-- **ERR_METHOD_NOT_FOUND** = **37** --- Method not found error
-- **ERR_LINK_FAILED** = **38** --- Linking failed error
-- **ERR_SCRIPT_FAILED** = **39** --- Script failed error
-- **ERR_CYCLIC_LINK** = **40** --- Cycling link (import cycle) error
-- **ERR_BUSY** = **44** --- Busy error
-- **ERR_HELP** = **46** --- Help error
-- **ERR_BUG** = **47** --- Bug error
-- **PROPERTY_HINT_NONE** = **0** --- No hint for edited property.
-- **PROPERTY_HINT_RANGE** = **1** --- Hints that the string is a range, defined as "min,max" or "min,max,step". This is valid for integers and floats.
-- **PROPERTY_HINT_EXP_RANGE** = **2** --- Hints that the string is an exponential range, defined as "min,max" or "min,max,step". This is valid for integers and floats.
-- **PROPERTY_HINT_ENUM** = **3** --- Property hint for an enumerated value, like "Hello,Something,Else". This is valid for integer, float and string properties.
-- **PROPERTY_HINT_EXP_EASING** = **4**
-- **PROPERTY_HINT_LENGTH** = **5**
-- **PROPERTY_HINT_KEY_ACCEL** = **7**
-- **PROPERTY_HINT_FLAGS** = **8** --- Property hint for a bitmask description, for bits 0,1,2,3 and 5 the hint would be like "Bit0,Bit1,Bit2,Bit3,,Bit5". Valid only for integers.
-- **PROPERTY_HINT_LAYERS_2D_RENDER** = **9**
-- **PROPERTY_HINT_LAYERS_2D_PHYSICS** = **10**
-- **PROPERTY_HINT_LAYERS_3D_RENDER** = **11**
-- **PROPERTY_HINT_LAYERS_3D_PHYSICS** = **12**
-- **PROPERTY_HINT_FILE** = **13** --- String property is a file (so pop up a file dialog when edited). Hint string can be a set of wildcards like "\*.doc".
-- **PROPERTY_HINT_DIR** = **14** --- String property is a directory (so pop up a file dialog when edited).
-- **PROPERTY_HINT_GLOBAL_FILE** = **15**
-- **PROPERTY_HINT_GLOBAL_DIR** = **16**
-- **PROPERTY_HINT_RESOURCE_TYPE** = **17** --- String property is a resource, so open the resource popup menu when edited.
-- **PROPERTY_HINT_MULTILINE_TEXT** = **18**
-- **PROPERTY_HINT_COLOR_NO_ALPHA** = **19**
-- **PROPERTY_HINT_IMAGE_COMPRESS_LOSSY** = **20** --- Hints that the image is compressed using lossy compression.
-- **PROPERTY_HINT_IMAGE_COMPRESS_LOSSLESS** = **21** --- Hints that the image is compressed using lossless compression.
-- **PROPERTY_USAGE_STORAGE** = **1** --- Property will be used as storage (default).
-- **PROPERTY_USAGE_EDITOR** = **2** --- Property will be visible in editor (default).
-- **PROPERTY_USAGE_NETWORK** = **4**
-- **PROPERTY_USAGE_EDITOR_HELPER** = **8**
-- **PROPERTY_USAGE_CHECKABLE** = **16**
-- **PROPERTY_USAGE_CHECKED** = **32**
-- **PROPERTY_USAGE_INTERNATIONALIZED** = **64**
-- **PROPERTY_USAGE_GROUP** = **128**
-- **PROPERTY_USAGE_CATEGORY** = **256**
-- **PROPERTY_USAGE_STORE_IF_NONZERO** = **512**
-- **PROPERTY_USAGE_STORE_IF_NONONE** = **1024**
-- **PROPERTY_USAGE_NO_INSTANCE_STATE** = **2048**
-- **PROPERTY_USAGE_RESTART_IF_CHANGED** = **4096**
-- **PROPERTY_USAGE_SCRIPT_VARIABLE** = **8192**
-- **PROPERTY_USAGE_DEFAULT** = **7** --- Default usage (storage and editor).
-- **PROPERTY_USAGE_DEFAULT_INTL** = **71**
-- **PROPERTY_USAGE_NOEDITOR** = **1048581**
-- **METHOD_FLAG_NORMAL** = **1** --- Flag for normal method
-- **METHOD_FLAG_EDITOR** = **2** --- Flag for editor method
-- **METHOD_FLAG_NOSCRIPT** = **4**
-- **METHOD_FLAG_CONST** = **8** --- Flag for constant method
-- **METHOD_FLAG_REVERSE** = **16**
-- **METHOD_FLAG_VIRTUAL** = **32** --- Flag for virtual method
-- **METHOD_FLAG_FROM_SCRIPT** = **64** --- Flag for method from script
-- **METHOD_FLAGS_DEFAULT** = **1** --- Default method flags
+
+  .. _enum_@GlobalScope_Variant.Type:
+
+enum **Variant.Type**
+
 - **TYPE_NIL** = **0** --- Variable is of type nil (only applied for null).
 - **TYPE_BOOL** = **1** --- Variable is of type :ref:`bool<class_bool>`.
 - **TYPE_INT** = **2** --- Variable is of type :ref:`int<class_int>`.
@@ -560,32 +640,31 @@ Numeric Constants
 - **TYPE_VECTOR3_ARRAY** = **25** --- Variable is of type :ref:`PoolVector3Array<class_poolvector3array>`.
 - **TYPE_COLOR_ARRAY** = **26** --- Variable is of type :ref:`PoolColorArray<class_poolcolorarray>`.
 - **TYPE_MAX** = **27** --- Marker for end of type constants.
-- **OP_EQUAL** = **0**
-- **OP_NOT_EQUAL** = **1**
-- **OP_LESS** = **2**
-- **OP_LESS_EQUAL** = **3**
-- **OP_GREATER** = **4**
-- **OP_GREATER_EQUAL** = **5**
-- **OP_ADD** = **6**
-- **OP_SUBTRACT** = **7**
-- **OP_MULTIPLY** = **8**
-- **OP_DIVIDE** = **9**
-- **OP_NEGATE** = **10**
-- **OP_POSITIVE** = **11**
-- **OP_MODULE** = **12**
-- **OP_STRING_CONCAT** = **13**
-- **OP_SHIFT_LEFT** = **14**
-- **OP_SHIFT_RIGHT** = **15**
-- **OP_BIT_AND** = **16**
-- **OP_BIT_OR** = **17**
-- **OP_BIT_XOR** = **18**
-- **OP_BIT_NEGATE** = **19**
-- **OP_AND** = **20**
-- **OP_OR** = **21**
-- **OP_XOR** = **22**
-- **OP_NOT** = **23**
-- **OP_IN** = **24**
-- **OP_MAX** = **25**
+
+  .. _enum_@GlobalScope_Margin:
+
+enum **Margin**
+
+- **MARGIN_LEFT** = **0** --- Left margin, used usually for :ref:`Control<class_control>` or :ref:`StyleBox<class_stylebox>` derived classes.
+- **MARGIN_TOP** = **1** --- Top margin, used usually for :ref:`Control<class_control>` or :ref:`StyleBox<class_stylebox>` derived classes.
+- **MARGIN_RIGHT** = **2** --- Right margin, used usually for :ref:`Control<class_control>` or :ref:`StyleBox<class_stylebox>` derived classes.
+- **MARGIN_BOTTOM** = **3** --- Bottom margin, used usually for :ref:`Control<class_control>` or :ref:`StyleBox<class_stylebox>` derived classes.
+
+  .. _enum_@GlobalScope_ButtonList:
+
+enum **ButtonList**
+
+- **BUTTON_LEFT** = **1** --- Left Mouse Button
+- **BUTTON_RIGHT** = **2** --- Right Mouse Button
+- **BUTTON_MIDDLE** = **3** --- Middle Mouse Button
+- **BUTTON_WHEEL_UP** = **4** --- Mouse wheel up
+- **BUTTON_WHEEL_DOWN** = **5** --- Mouse wheel down
+- **BUTTON_WHEEL_LEFT** = **6** --- Mouse wheel left button
+- **BUTTON_WHEEL_RIGHT** = **7** --- Mouse wheel right button
+- **BUTTON_MASK_LEFT** = **1** --- Left Mouse Button Mask
+- **BUTTON_MASK_RIGHT** = **2** --- Right Mouse Button Mask
+- **BUTTON_MASK_MIDDLE** = **4** --- Middle Mouse Button Mask
+
 
 Description
 -----------

+ 23 - 8
classes/class_animation.rst

@@ -107,19 +107,34 @@ Member Functions
 | void                                     | :ref:`value_track_set_update_mode<class_Animation_value_track_set_update_mode>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` mode **)**                                                                                                                  |
 +------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_Animation_UpdateMode:
+
+enum **UpdateMode**
 
-- **TYPE_VALUE** = **0** --- Value tracks set values in node properties, but only those which can be Interpolated.
-- **TYPE_TRANSFORM** = **1** --- Transform tracks are used to change node local transforms or skeleton pose bones. Transitions are Interpolated.
-- **TYPE_METHOD** = **2** --- Method tracks call functions with given arguments per key.
-- **INTERPOLATION_NEAREST** = **0** --- No interpolation (nearest value).
-- **INTERPOLATION_LINEAR** = **1** --- Linear interpolation.
-- **INTERPOLATION_CUBIC** = **2** --- Cubic interpolation.
 - **UPDATE_CONTINUOUS** = **0** --- Update between keyframes.
 - **UPDATE_DISCRETE** = **1** --- Update at the keyframes and hold the value.
 - **UPDATE_TRIGGER** = **2** --- Update at the keyframes.
 
+  .. _enum_Animation_InterpolationType:
+
+enum **InterpolationType**
+
+- **INTERPOLATION_NEAREST** = **0** --- No interpolation (nearest value).
+- **INTERPOLATION_LINEAR** = **1** --- Linear interpolation.
+- **INTERPOLATION_CUBIC** = **2** --- Cubic interpolation.
+
+  .. _enum_Animation_TrackType:
+
+enum **TrackType**
+
+- **TYPE_VALUE** = **0** --- Value tracks set values in node properties, but only those which can be Interpolated.
+- **TYPE_TRANSFORM** = **1** --- Transform tracks are used to change node local transforms or skeleton pose bones. Transitions are Interpolated.
+- **TYPE_METHOD** = **2** --- Method tracks call functions with given arguments per key.
+
+
 Description
 -----------
 

+ 8 - 3
classes/class_animationplayer.rst

@@ -112,19 +112,24 @@ Member Variables
 
   .. _class_AnimationPlayer_playback_process_mode:
 
-- :ref:`int<class_int>` **playback_process_mode** - The process notification in which to update animations. Default value: enum ANIMATION_PROCESS_IDLE.
+- :ref:`AnimationProcessMode<enum_animationplayer_animationprocessmode>` **playback_process_mode** - The process notification in which to update animations. Default value: enum ANIMATION_PROCESS_IDLE.
 
   .. _class_AnimationPlayer_root_node:
 
 - :ref:`NodePath<class_nodepath>` **root_node** - The node from which node path references will travel. Default value: ``".."``.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_AnimationPlayer_AnimationProcessMode:
+
+enum **AnimationProcessMode**
 
 - **ANIMATION_PROCESS_PHYSICS** = **0** --- Process animation during the physics process. This is especially useful when animating physics bodies.
 - **ANIMATION_PROCESS_IDLE** = **1** --- Process animation during the idle process.
 
+
 Description
 -----------
 

+ 15 - 5
classes/class_animationtreeplayer.rst

@@ -150,11 +150,22 @@ Member Variables
 
   .. _class_AnimationTreePlayer_playback_process_mode:
 
-- :ref:`int<class_int>` **playback_process_mode** - The thread in which to update animations. Default value: enum ANIMATION_PROCESS_IDLE.
+- :ref:`AnimationProcessMode<enum_animationtreeplayer_animationprocessmode>` **playback_process_mode** - The thread in which to update animations. Default value: enum ANIMATION_PROCESS_IDLE.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_AnimationTreePlayer_AnimationProcessMode:
+
+enum **AnimationProcessMode**
+
+- **ANIMATION_PROCESS_PHYSICS** = **0** --- Process animation during the physics process. This is especially useful when animating physics bodies.
+- **ANIMATION_PROCESS_IDLE** = **1** --- Process animation during the idle process.
+
+  .. _enum_AnimationTreePlayer_NodeType:
+
+enum **NodeType**
 
 - **NODE_OUTPUT** = **0** --- Output node.
 - **NODE_ANIMATION** = **1** --- Animation node.
@@ -166,8 +177,7 @@ Numeric Constants
 - **NODE_TIMESCALE** = **7** --- TimeScale node.
 - **NODE_TIMESEEK** = **8** --- TimeSeek node.
 - **NODE_TRANSITION** = **9** --- Transition node.
-- **ANIMATION_PROCESS_PHYSICS** = **0** --- Process animation during the physics process. This is especially useful when animating physics bodies.
-- **ANIMATION_PROCESS_IDLE** = **1** --- Process animation during the idle process.
+
 
 Description
 -----------

+ 12 - 7
classes/class_area.rst

@@ -162,11 +162,15 @@ Member Variables
 
   .. _class_Area_space_override:
 
-- :ref:`int<class_int>` **space_override** - Override mode for gravity and damping calculations within this area. See the SPACE_OVERRIDE\_\* constants for values.
+- :ref:`SpaceOverride<enum_area_spaceoverride>` **space_override** - Override mode for gravity and damping calculations within this area. See the SPACE_OVERRIDE\_\* constants for values.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_Area_SpaceOverride:
+
+enum **SpaceOverride**
 
 - **SPACE_OVERRIDE_DISABLED** = **0** --- This area does not affect gravity/damping.
 - **SPACE_OVERRIDE_COMBINE** = **1** --- This area adds its gravity/damping values to whatever has been calculated so far (in ``priority`` order).
@@ -174,6 +178,7 @@ Numeric Constants
 - **SPACE_OVERRIDE_REPLACE** = **3** --- This area replaces any gravity/damping, even the defaults, ignoring any lower priority areas.
 - **SPACE_OVERRIDE_REPLACE_COMBINE** = **4** --- This area replaces any gravity/damping calculated so far (in ``priority`` order), but keeps calculating the rest of the areas.
 
+
 Description
 -----------
 
@@ -198,25 +203,25 @@ Returns an individual bit on the collision mask.
 
 - :ref:`Array<class_array>` **get_overlapping_areas** **(** **)** const
 
-Returns a list of intersecting ``Area``\ s.
+Returns a list of intersecting ``Area``\ s. For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead.
 
 .. _class_Area_get_overlapping_bodies:
 
 - :ref:`Array<class_array>` **get_overlapping_bodies** **(** **)** const
 
-Returns a list of intersecting :ref:`PhysicsBody<class_physicsbody>`\ s.
+Returns a list of intersecting :ref:`PhysicsBody<class_physicsbody>`\ s. For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead.
 
 .. _class_Area_overlaps_area:
 
 - :ref:`bool<class_bool>` **overlaps_area** **(** :ref:`Node<class_node>` area **)** const
 
-If ``true`` the given area overlaps the Area.
+If ``true`` the given area overlaps the Area. Note that the result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
 
 .. _class_Area_overlaps_body:
 
 - :ref:`bool<class_bool>` **overlaps_body** **(** :ref:`Node<class_node>` body **)** const
 
-If ``true`` the given body overlaps the Area.
+If ``true`` the given body overlaps the Area. Note that the result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
 
 .. _class_Area_set_collision_layer_bit:
 

+ 12 - 7
classes/class_area2d.rst

@@ -146,11 +146,15 @@ Member Variables
 
   .. _class_Area2D_space_override:
 
-- :ref:`int<class_int>` **space_override** - Override mode for gravity and damping calculations within this area. See the SPACE_OVERRIDE\_\* constants for values.
+- :ref:`SpaceOverride<enum_area2d_spaceoverride>` **space_override** - Override mode for gravity and damping calculations within this area. See the SPACE_OVERRIDE\_\* constants for values.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_Area2D_SpaceOverride:
+
+enum **SpaceOverride**
 
 - **SPACE_OVERRIDE_DISABLED** = **0** --- This area does not affect gravity/damping.
 - **SPACE_OVERRIDE_COMBINE** = **1** --- This area adds its gravity/damping values to whatever has been calculated so far (in ``priority`` order).
@@ -158,6 +162,7 @@ Numeric Constants
 - **SPACE_OVERRIDE_REPLACE** = **3** --- This area replaces any gravity/damping, even the defaults, ignoring any lower priority areas.
 - **SPACE_OVERRIDE_REPLACE_COMBINE** = **4** --- This area replaces any gravity/damping calculated so far (in ``priority`` order), but keeps calculating the rest of the areas.
 
+
 Description
 -----------
 
@@ -182,25 +187,25 @@ Return an individual bit on the collision mask. Describes whether this area will
 
 - :ref:`Array<class_array>` **get_overlapping_areas** **(** **)** const
 
-Returns a list of intersecting ``Area2D``\ s.
+Returns a list of intersecting ``Area2D``\ s. For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead.
 
 .. _class_Area2D_get_overlapping_bodies:
 
 - :ref:`Array<class_array>` **get_overlapping_bodies** **(** **)** const
 
-Returns a list of intersecting :ref:`PhysicsBody2D<class_physicsbody2d>`\ s.
+Returns a list of intersecting :ref:`PhysicsBody2D<class_physicsbody2d>`\ s. For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead.
 
 .. _class_Area2D_overlaps_area:
 
 - :ref:`bool<class_bool>` **overlaps_area** **(** :ref:`Node<class_node>` area **)** const
 
-If ``true`` the given area overlaps the Area2D.
+If ``true`` the given area overlaps the Area2D. Note that the result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
 
 .. _class_Area2D_overlaps_body:
 
 - :ref:`bool<class_bool>` **overlaps_body** **(** :ref:`Node<class_node>` body **)** const
 
-If ``true`` the given body overlaps the Area2D.
+If ``true`` the given body overlaps the Area2D. Note that the result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
 
 .. _class_Area2D_set_collision_layer_bit:
 

+ 23 - 9
classes/class_arraymesh.rst

@@ -74,6 +74,28 @@ Numeric Constants
 
 - **NO_INDEX_ARRAY** = **-1** --- Default value used for index_array_len when no indices are present.
 - **ARRAY_WEIGHTS_SIZE** = **4** --- Amount of weights/bone indices per vertex (always 4).
+
+Enums
+-----
+
+  .. _enum_ArrayMesh_ArrayFormat:
+
+enum **ArrayFormat**
+
+- **ARRAY_FORMAT_VERTEX** = **1** --- Array format will include vertices (mandatory).
+- **ARRAY_FORMAT_NORMAL** = **2** --- Array format will include normals
+- **ARRAY_FORMAT_TANGENT** = **4** --- Array format will include tangents
+- **ARRAY_FORMAT_COLOR** = **8** --- Array format will include a color array.
+- **ARRAY_FORMAT_TEX_UV** = **16** --- Array format will include UVs.
+- **ARRAY_FORMAT_TEX_UV2** = **32** --- Array format will include another set of UVs.
+- **ARRAY_FORMAT_BONES** = **64** --- Array format will include bone indices.
+- **ARRAY_FORMAT_WEIGHTS** = **128** --- Array format will include bone weights.
+- **ARRAY_FORMAT_INDEX** = **256** --- Index array will be used.
+
+  .. _enum_ArrayMesh_ArrayType:
+
+enum **ArrayType**
+
 - **ARRAY_VERTEX** = **0** --- Vertex array (array of :ref:`Vector3<class_vector3>` vertices).
 - **ARRAY_NORMAL** = **1** --- Normal array (array of :ref:`Vector3<class_vector3>` normals).
 - **ARRAY_TANGENT** = **2** --- Tangent array, array of groups of 4 floats. first 3 floats determine the tangent, and the last the binormal direction as -1 or 1.
@@ -84,15 +106,7 @@ Numeric Constants
 - **ARRAY_WEIGHTS** = **7** --- Array of bone weights, as a float array. Each element in groups of 4 floats.
 - **ARRAY_INDEX** = **8** --- Array of integers, used as indices referencing vertices. No index can be beyond the vertex array size.
 - **ARRAY_MAX** = **9**
-- **ARRAY_FORMAT_VERTEX** = **1** --- Array format will include vertices (mandatory).
-- **ARRAY_FORMAT_NORMAL** = **2** --- Array format will include normals
-- **ARRAY_FORMAT_TANGENT** = **4** --- Array format will include tangents
-- **ARRAY_FORMAT_COLOR** = **8** --- Array format will include a color array.
-- **ARRAY_FORMAT_TEX_UV** = **16** --- Array format will include UVs.
-- **ARRAY_FORMAT_TEX_UV2** = **32** --- Array format will include another set of UVs.
-- **ARRAY_FORMAT_BONES** = **64** --- Array format will include bone indices.
-- **ARRAY_FORMAT_WEIGHTS** = **128** --- Array format will include bone weights.
-- **ARRAY_FORMAT_INDEX** = **256** --- Index array will be used.
+
 
 Member Function Description
 ---------------------------

+ 22 - 7
classes/class_arvrinterface.rst

@@ -53,23 +53,38 @@ Member Variables
 - :ref:`bool<class_bool>` **interface_is_primary** - Is this our primary interface?
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_ARVRInterface_Eyes:
+
+enum **Eyes**
 
-- **ARVR_NONE** = **0** --- No ARVR capabilities.
-- **ARVR_MONO** = **1** --- This interface can work with normal rendering output (non-HMD based AR).
-- **ARVR_STEREO** = **2** --- This interface supports stereoscopic rendering.
-- **ARVR_AR** = **4** --- This interface support AR (video background and real world tracking).
-- **ARVR_EXTERNAL** = **8** --- This interface outputs to an external device, if the main viewport is used the on screen output is an unmodified buffer of either the left or right eye (stretched if the viewport size is not changed to the same aspect ratio of get_render_targetsize. Using a seperate viewport node frees up the main viewport for other purposes.
 - **EYE_MONO** = **0** --- Mono output, this is mostly used internally when retrieving positioning information for our camera node or when stereo scopic rendering is not supported.
 - **EYE_LEFT** = **1** --- Left eye output, this is mostly used internally when rendering the image for the left eye and obtaining positioning and projection information.
 - **EYE_RIGHT** = **2** --- Right eye output, this is mostly used internally when rendering the image for the right eye and obtaining positioning and projection information.
+
+  .. _enum_ARVRInterface_Tracking_status:
+
+enum **Tracking_status**
+
 - **ARVR_NORMAL_TRACKING** = **0** --- Tracking is behaving as expected.
 - **ARVR_EXCESSIVE_MOTION** = **1** --- Tracking is hindered by excessive motion, player is moving faster then tracking can keep up.
 - **ARVR_INSUFFICIENT_FEATURES** = **2** --- Tracking is hindered by insufficient features, it's too dark (for camera based tracking), player is blocked, etc.
 - **ARVR_UNKNOWN_TRACKING** = **3** --- We don't know the status of the tracking or this interface does not provide feedback.
 - **ARVR_NOT_TRACKING** = **4** --- Tracking is not functional (camera not plugged in or obscured, lighthouses turned off, etc.)
 
+  .. _enum_ARVRInterface_Capabilities:
+
+enum **Capabilities**
+
+- **ARVR_NONE** = **0** --- No ARVR capabilities.
+- **ARVR_MONO** = **1** --- This interface can work with normal rendering output (non-HMD based AR).
+- **ARVR_STEREO** = **2** --- This interface supports stereoscopic rendering.
+- **ARVR_AR** = **4** --- This interface support AR (video background and real world tracking).
+- **ARVR_EXTERNAL** = **8** --- This interface outputs to an external device, if the main viewport is used the on screen output is an unmodified buffer of either the left or right eye (stretched if the viewport size is not changed to the same aspect ratio of get_render_targetsize. Using a seperate viewport node frees up the main viewport for other purposes.
+
+
 Description
 -----------
 

+ 7 - 2
classes/class_arvrpositionaltracker.rst

@@ -47,13 +47,18 @@ Member Variables
 - :ref:`float<class_float>` **rumble** - The degree to which the tracker rumbles. Ranges from ``0.0`` to ``1.0`` with precision ``.01``.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_ARVRPositionalTracker_TrackerHand:
+
+enum **TrackerHand**
 
 - **TRACKER_HAND_UNKNOWN** = **0** --- The hand this tracker is held in is unknown or not applicable.
 - **TRACKER_LEFT_HAND** = **1** --- This tracker is the left hand controller.
 - **TRACKER_RIGHT_HAND** = **2** --- This tracker is the right hand controller.
 
+
 Description
 -----------
 

+ 15 - 5
classes/class_arvrserver.rst

@@ -75,8 +75,20 @@ Member Variables
 - :ref:`float<class_float>` **world_scale** - Allows you to adjust the scale to your game's units. Most AR/VR platforms assume a scale of 1 game world unit = 1 meter in the real world.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_ARVRServer_RotationMode:
+
+enum **RotationMode**
+
+- **RESET_FULL_ROTATION** = **0** --- Fully reset the orientation of the HMD. Regardless of what direction the user is looking to in the real world. The user will look dead ahead in the virtual world.
+- **RESET_BUT_KEEP_TILT** = **1** --- Resets the orientation but keeps the tilt of the device. So if we're looking down, we keep looking down but heading will be reset.
+- **DONT_RESET_ROTATION** = **2** --- Does not reset the orientation of the HMD, only the position of the player gets centered.
+
+  .. _enum_ARVRServer_TrackerType:
+
+enum **TrackerType**
 
 - **TRACKER_CONTROLLER** = **1** --- Our tracker tracks the location of a controller.
 - **TRACKER_BASESTATION** = **2** --- Our tracker tracks the location of a base station.
@@ -84,9 +96,7 @@ Numeric Constants
 - **TRACKER_ANY_KNOWN** = **127** --- Used internally to filter trackers of any known type.
 - **TRACKER_UNKNOWN** = **128** --- Used internally if we haven't set the tracker type yet.
 - **TRACKER_ANY** = **255** --- Used internally to select all trackers.
-- **RESET_FULL_ROTATION** = **0** --- Fully reset the orientation of the HMD. Regardless of what direction the user is looking to in the real world. The user will look dead ahead in the virtual world.
-- **RESET_BUT_KEEP_TILT** = **1** --- Resets the orientation but keeps the tilt of the device. So if we're looking down, we keep looking down but heading will be reset.
-- **DONT_RESET_ROTATION** = **2** --- Does not reset the orientation of the HMD, only the position of the player gets centered.
+
 
 Description
 -----------

+ 8 - 3
classes/class_audioeffectdistortion.rst

@@ -31,7 +31,7 @@ Member Variables
 
   .. _class_AudioEffectDistortion_mode:
 
-- :ref:`int<class_int>` **mode** - Distortion type. Default value: ``MODE_CLIP``.
+- :ref:`Mode<enum_audioeffectdistortion_mode>` **mode** - Distortion type. Default value: ``MODE_CLIP``.
 
   .. _class_AudioEffectDistortion_post_gain:
 
@@ -42,8 +42,12 @@ Member Variables
 - :ref:`float<class_float>` **pre_gain** - Increases or decreases the volume before the effect. Value can range from -60 to 60. Default value: ``0``.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_AudioEffectDistortion_Mode:
+
+enum **Mode**
 
 - **MODE_CLIP** = **0** --- Digital distortion effect which cuts off peaks at the top and bottom of the waveform.
 - **MODE_ATAN** = **1**
@@ -51,6 +55,7 @@ Numeric Constants
 - **MODE_OVERDRIVE** = **3** --- Emulates the warm distortion produced by a field effect transistor, which is commonly used in solid-state musical instrument amplifiers.
 - **MODE_WAVESHAPE** = **4** --- Waveshaper distortions are used mainly by electronic musicians to achieve an extra-abrasive sound.
 
+
 Description
 -----------
 

+ 8 - 3
classes/class_audioeffectfilter.rst

@@ -27,7 +27,7 @@ Member Variables
 
   .. _class_AudioEffectFilter_db:
 
-- :ref:`int<class_int>` **db**
+- :ref:`FilterDB<enum_audioeffectfilter_filterdb>` **db**
 
   .. _class_AudioEffectFilter_gain:
 
@@ -38,14 +38,19 @@ Member Variables
 - :ref:`float<class_float>` **resonance** - Amount of boost in the overtones near the cutoff frequency.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_AudioEffectFilter_FilterDB:
+
+enum **FilterDB**
 
 - **FILTER_6DB** = **0**
 - **FILTER_12DB** = **1**
 - **FILTER_18DB** = **2**
 - **FILTER_24DB** = **3**
 
+
 Description
 -----------
 

+ 7 - 2
classes/class_audioserver.rst

@@ -97,13 +97,18 @@ Signals
 Emitted when the :ref:`AudioBusLayout<class_audiobuslayout>` changes.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_AudioServer_SpeakerMode:
+
+enum **SpeakerMode**
 
 - **SPEAKER_MODE_STEREO** = **0** --- Two or fewer speakers are detected.
 - **SPEAKER_SURROUND_51** = **2** --- A 5.1 channel surround setup detected.
 - **SPEAKER_SURROUND_71** = **3** --- A 7.1 channel surround setup detected.
 
+
 Description
 -----------
 

+ 8 - 3
classes/class_audiostreamplayer.rst

@@ -52,7 +52,7 @@ Member Variables
 
   .. _class_AudioStreamPlayer_mix_target:
 
-- :ref:`int<class_int>` **mix_target** - If the audio configuration has more than two speakers, this sets the target channels. See ``MIX_TARGET\_\*`` constants.
+- :ref:`MixTarget<enum_audiostreamplayer_mixtarget>` **mix_target** - If the audio configuration has more than two speakers, this sets the target channels. See ``MIX_TARGET\_\*`` constants.
 
   .. _class_AudioStreamPlayer_playing:
 
@@ -67,13 +67,18 @@ Member Variables
 - :ref:`float<class_float>` **volume_db** - Volume of sound, in dB.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_AudioStreamPlayer_MixTarget:
+
+enum **MixTarget**
 
 - **MIX_TARGET_STEREO** = **0** --- The audio will be played only on the first channel.
 - **MIX_TARGET_SURROUND** = **1** --- The audio will be played on all surround channels.
 - **MIX_TARGET_CENTER** = **2** --- The audio will be played on the second channel, which is usually the center.
 
+
 Description
 -----------
 

+ 25 - 10
classes/class_audiostreamplayer3d.rst

@@ -56,7 +56,7 @@ Member Variables
 
   .. _class_AudioStreamPlayer3D_attenuation_model:
 
-- :ref:`int<class_int>` **attenuation_model** - Decides if audio should get quieter with distance linearly, quadratically or logarithmically.
+- :ref:`AttenuationModel<enum_audiostreamplayer3d_attenuationmodel>` **attenuation_model** - Decides if audio should get quieter with distance linearly, quadratically or logarithmically.
 
   .. _class_AudioStreamPlayer3D_autoplay:
 
@@ -68,7 +68,7 @@ Member Variables
 
   .. _class_AudioStreamPlayer3D_doppler_tracking:
 
-- :ref:`int<class_int>` **doppler_tracking** - Decides in which step the Doppler effect should be calculated.
+- :ref:`DopplerTracking<enum_audiostreamplayer3d_dopplertracking>` **doppler_tracking** - Decides in which step the Doppler effect should be calculated.
 
   .. _class_AudioStreamPlayer3D_emission_angle_degrees:
 
@@ -92,7 +92,7 @@ Member Variables
 
   .. _class_AudioStreamPlayer3D_out_of_range_mode:
 
-- :ref:`int<class_int>` **out_of_range_mode** - Decides if audio should pause when source is outside of 'max_distance' range.
+- :ref:`OutOfRangeMode<enum_audiostreamplayer3d_outofrangemode>` **out_of_range_mode** - Decides if audio should pause when source is outside of 'max_distance' range.
 
   .. _class_AudioStreamPlayer3D_playing:
 
@@ -111,18 +111,33 @@ Member Variables
 - :ref:`float<class_float>` **unit_size** - Factor for the attenuation effect.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_AudioStreamPlayer3D_DopplerTracking:
+
+enum **DopplerTracking**
 
-- **ATTENUATION_INVERSE_DISTANCE** = **0** --- Linear dampening of loudness according to distance.
-- **ATTENUATION_INVERSE_SQUARE_DISTANCE** = **1** --- Squared dampening of loudness according to distance.
-- **ATTENUATION_LOGARITHMIC** = **2** --- Logarithmic dampening of loudness according to distance.
-- **OUT_OF_RANGE_MIX** = **0** --- Mix this audio in, even when it's out of range.
-- **OUT_OF_RANGE_PAUSE** = **1** --- Pause this audio when it gets out of range.
 - **DOPPLER_TRACKING_DISABLED** = **0** --- Disables doppler tracking.
 - **DOPPLER_TRACKING_IDLE_STEP** = **1** --- Executes doppler tracking in idle step.
 - **DOPPLER_TRACKING_PHYSICS_STEP** = **2** --- Executes doppler tracking in physics step.
 
+  .. _enum_AudioStreamPlayer3D_OutOfRangeMode:
+
+enum **OutOfRangeMode**
+
+- **OUT_OF_RANGE_MIX** = **0** --- Mix this audio in, even when it's out of range.
+- **OUT_OF_RANGE_PAUSE** = **1** --- Pause this audio when it gets out of range.
+
+  .. _enum_AudioStreamPlayer3D_AttenuationModel:
+
+enum **AttenuationModel**
+
+- **ATTENUATION_INVERSE_DISTANCE** = **0** --- Linear dampening of loudness according to distance.
+- **ATTENUATION_INVERSE_SQUARE_DISTANCE** = **1** --- Squared dampening of loudness according to distance.
+- **ATTENUATION_LOGARITHMIC** = **2** --- Logarithmic dampening of loudness according to distance.
+
+
 Description
 -----------
 

+ 17 - 7
classes/class_audiostreamsample.rst

@@ -30,7 +30,7 @@ Member Variables
 
   .. _class_AudioStreamSample_format:
 
-- :ref:`int<class_int>` **format** - Audio format. See FORMAT\_\* constants for values.
+- :ref:`Format<enum_audiostreamsample_format>` **format** - Audio format. See FORMAT\_\* constants for values.
 
   .. _class_AudioStreamSample_loop_begin:
 
@@ -42,7 +42,7 @@ Member Variables
 
   .. _class_AudioStreamSample_loop_mode:
 
-- :ref:`int<class_int>` **loop_mode** - Loop mode. See LOOP\_\* constants for values.
+- :ref:`LoopMode<enum_audiostreamsample_loopmode>` **loop_mode** - Loop mode. See LOOP\_\* constants for values.
 
   .. _class_AudioStreamSample_mix_rate:
 
@@ -53,16 +53,26 @@ Member Variables
 - :ref:`bool<class_bool>` **stereo** - If ``true``, audio is stereo. Default value: ``false``.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_AudioStreamSample_LoopMode:
+
+enum **LoopMode**
 
-- **FORMAT_8_BITS** = **0** --- Audio codec 8 bit.
-- **FORMAT_16_BITS** = **1** --- Audio codec 16 bit.
-- **FORMAT_IMA_ADPCM** = **2** --- Audio codec IMA ADPCM.
 - **LOOP_DISABLED** = **0** --- Audio does not loop.
 - **LOOP_FORWARD** = **1** --- Audio loops the data between loop_begin and loop_end playing forward only.
 - **LOOP_PING_PONG** = **2** --- Audio loops the data between loop_begin and loop_end playing back and forth.
 
+  .. _enum_AudioStreamSample_Format:
+
+enum **Format**
+
+- **FORMAT_8_BITS** = **0** --- Audio codec 8 bit.
+- **FORMAT_16_BITS** = **1** --- Audio codec 16 bit.
+- **FORMAT_IMA_ADPCM** = **2** --- Audio codec IMA ADPCM.
+
+
 Description
 -----------
 

+ 8 - 3
classes/class_backbuffercopy.rst

@@ -21,20 +21,25 @@ Member Variables
 
   .. _class_BackBufferCopy_copy_mode:
 
-- :ref:`int<class_int>` **copy_mode** - Buffer mode. See ``COPY_MODE\_\*`` constants.
+- :ref:`CopyMode<enum_backbuffercopy_copymode>` **copy_mode** - Buffer mode. See ``COPY_MODE\_\*`` constants.
 
   .. _class_BackBufferCopy_rect:
 
 - :ref:`Rect2<class_rect2>` **rect** - The area covered by the BackBufferCopy. Only used if ``copy_mode`` is ``COPY_MODE_RECT``.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_BackBufferCopy_CopyMode:
+
+enum **CopyMode**
 
 - **COPY_MODE_DISABLED** = **0** --- Disables the buffering mode. This means the BackBufferCopy node will directly use the portion of screen it covers.
 - **COPY_MODE_RECT** = **1** --- BackBufferCopy buffers a rectangular region.
 - **COPY_MODE_VIEWPORT** = **2** --- BackBufferCopy buffers the entire screen.
 
+
 Description
 -----------
 

+ 21 - 6
classes/class_bakedlightmap.rst

@@ -46,7 +46,7 @@ Member Variables
 
   .. _class_BakedLightmap_bake_mode:
 
-- :ref:`int<class_int>` **bake_mode**
+- :ref:`BakeMode<enum_bakedlightmap_bakemode>` **bake_mode**
 
   .. _class_BakedLightmap_bake_propagation:
 
@@ -54,7 +54,7 @@ Member Variables
 
   .. _class_BakedLightmap_bake_quality:
 
-- :ref:`int<class_int>` **bake_quality**
+- :ref:`BakeQuality<enum_bakedlightmap_bakequality>` **bake_quality**
 
   .. _class_BakedLightmap_capture_cell_size:
 
@@ -69,20 +69,35 @@ Member Variables
 - :ref:`BakedLightmapData<class_bakedlightmapdata>` **light_data**
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_BakedLightmap_BakeQuality:
+
+enum **BakeQuality**
 
 - **BAKE_QUALITY_LOW** = **0**
 - **BAKE_QUALITY_MEDIUM** = **1**
 - **BAKE_QUALITY_HIGH** = **2**
-- **BAKE_MODE_CONE_TRACE** = **0**
-- **BAKE_MODE_RAY_TRACE** = **1**
+
+  .. _enum_BakedLightmap_BakeError:
+
+enum **BakeError**
+
 - **BAKE_ERROR_OK** = **0**
 - **BAKE_ERROR_NO_SAVE_PATH** = **1**
 - **BAKE_ERROR_NO_MESHES** = **2**
 - **BAKE_ERROR_CANT_CREATE_IMAGE** = **3**
 - **BAKE_ERROR_USER_ABORTED** = **4**
 
+  .. _enum_BakedLightmap_BakeMode:
+
+enum **BakeMode**
+
+- **BAKE_MODE_CONE_TRACE** = **0**
+- **BAKE_MODE_RAY_TRACE** = **1**
+
+
 Member Function Description
 ---------------------------
 

+ 27 - 17
classes/class_basebutton.rst

@@ -21,15 +21,15 @@ Base class for different kinds of buttons.
 Member Functions
 ----------------
 
-+--------------------------+------------------------------------------------------------------------------------------------+
-| void                     | :ref:`_pressed<class_BaseButton__pressed>` **(** **)** virtual                                 |
-+--------------------------+------------------------------------------------------------------------------------------------+
-| void                     | :ref:`_toggled<class_BaseButton__toggled>` **(** :ref:`bool<class_bool>` pressed **)** virtual |
-+--------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`    | :ref:`get_draw_mode<class_BaseButton_get_draw_mode>` **(** **)** const                         |
-+--------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`  | :ref:`is_hovered<class_BaseButton_is_hovered>` **(** **)** const                               |
-+--------------------------+------------------------------------------------------------------------------------------------+
++--------------------------+-------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`_pressed<class_BaseButton__pressed>` **(** **)** virtual                                        |
++--------------------------+-------------------------------------------------------------------------------------------------------+
+| void                     | :ref:`_toggled<class_BaseButton__toggled>` **(** :ref:`bool<class_bool>` button_pressed **)** virtual |
++--------------------------+-------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`    | :ref:`get_draw_mode<class_BaseButton_get_draw_mode>` **(** **)** const                                |
++--------------------------+-------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`  | :ref:`is_hovered<class_BaseButton_is_hovered>` **(** **)** const                                      |
++--------------------------+-------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
@@ -54,7 +54,7 @@ This signal is emitted every time the button is toggled or pressed (i.e. activat
 
 .. _class_BaseButton_toggled:
 
-- **toggled** **(** :ref:`bool<class_bool>` pressed **)**
+- **toggled** **(** :ref:`bool<class_bool>` button_pressed **)**
 
 This signal is emitted when the button was just toggled between pressed and normal states (only if toggle_mode is active). The new state is contained in the *pressed* argument.
 
@@ -64,7 +64,7 @@ Member Variables
 
   .. _class_BaseButton_action_mode:
 
-- :ref:`int<class_int>` **action_mode** - Determines when the button is considered clicked, one of the ACTION_MODE\_\* constants.
+- :ref:`ActionMode<enum_basebutton_actionmode>` **action_mode** - Determines when the button is considered clicked, one of the ACTION_MODE\_\* constants.
 
   .. _class_BaseButton_disabled:
 
@@ -72,7 +72,7 @@ Member Variables
 
   .. _class_BaseButton_enabled_focus_mode:
 
-- :ref:`int<class_int>` **enabled_focus_mode** - Focus access mode to use when switching between enabled/disabled (see :ref:`Control.set_focus_mode<class_Control_set_focus_mode>` and :ref:`disabled<class_BaseButton_disabled>`).
+- :ref:`FocusMode<enum_control_focusmode>` **enabled_focus_mode** - Focus access mode to use when switching between enabled/disabled (see :ref:`Control.set_focus_mode<class_Control_set_focus_mode>` and :ref:`disabled<class_BaseButton_disabled>`).
 
   .. _class_BaseButton_group:
 
@@ -91,15 +91,25 @@ Member Variables
 - :ref:`bool<class_bool>` **toggle_mode** - If ``true`` the button is in toggle mode. Makes the button flip state between pressed and unpressed each time its area is clicked.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_BaseButton_ActionMode:
+
+enum **ActionMode**
+
+- **ACTION_MODE_BUTTON_PRESS** = **0** --- Require just a press to consider the button clicked.
+- **ACTION_MODE_BUTTON_RELEASE** = **1** --- Require a press and a subsequent release before considering the button clicked.
+
+  .. _enum_BaseButton_DrawMode:
+
+enum **DrawMode**
 
 - **DRAW_NORMAL** = **0** --- The normal state (i.e. not pressed, not hovered, not toggled and enabled) of buttons.
 - **DRAW_PRESSED** = **1** --- The state of buttons are pressed.
 - **DRAW_HOVER** = **2** --- The state of buttons are hovered.
 - **DRAW_DISABLED** = **3** --- The state of buttons are disabled.
-- **ACTION_MODE_BUTTON_PRESS** = **0** --- Require just a press to consider the button clicked.
-- **ACTION_MODE_BUTTON_RELEASE** = **1** --- Require a press and a subsequent release before considering the button clicked.
+
 
 Description
 -----------
@@ -117,7 +127,7 @@ Called when button is pressed.
 
 .. _class_BaseButton__toggled:
 
-- void **_toggled** **(** :ref:`bool<class_bool>` pressed **)** virtual
+- void **_toggled** **(** :ref:`bool<class_bool>` button_pressed **)** virtual
 
 Called when button is toggled (only if toggle_mode is active).
 

+ 8 - 3
classes/class_boxcontainer.rst

@@ -30,16 +30,21 @@ Member Variables
 
   .. _class_BoxContainer_alignment:
 
-- :ref:`int<class_int>` **alignment** - The alignment of the container's children (must be one of ALIGN_BEGIN, ALIGN_CENTER, or ALIGN_END).
+- :ref:`AlignMode<enum_boxcontainer_alignmode>` **alignment** - The alignment of the container's children (must be one of ALIGN_BEGIN, ALIGN_CENTER, or ALIGN_END).
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_BoxContainer_AlignMode:
+
+enum **AlignMode**
 
 - **ALIGN_BEGIN** = **0** --- Aligns children with the beginning of the container.
 - **ALIGN_CENTER** = **1** --- Aligns children with the center of the container.
 - **ALIGN_END** = **2** --- Aligns children with the end of the container.
 
+
 Description
 -----------
 

+ 8 - 3
classes/class_button.rst

@@ -23,7 +23,7 @@ Member Variables
 
   .. _class_Button_align:
 
-- :ref:`int<class_int>` **align** - Text alignment policy for the button's text, use one of the ALIGN\_\* constants.
+- :ref:`TextAlign<enum_button_textalign>` **align** - Text alignment policy for the button's text, use one of the ALIGN\_\* constants.
 
   .. _class_Button_clip_text:
 
@@ -42,13 +42,18 @@ Member Variables
 - :ref:`String<class_string>` **text** - The button's text that will be displayed inside the button's area.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_Button_TextAlign:
+
+enum **TextAlign**
 
 - **ALIGN_LEFT** = **0** --- Align the text to the left.
 - **ALIGN_CENTER** = **1** --- Align the text to the center.
 - **ALIGN_RIGHT** = **2** --- Align the text to the right.
 
+
 Description
 -----------
 

+ 23 - 8
classes/class_camera.rst

@@ -58,7 +58,7 @@ Member Variables
 
   .. _class_Camera_doppler_tracking:
 
-- :ref:`int<class_int>` **doppler_tracking** - If not ``DOPPLER_TRACKING_DISABLED`` this Camera will simulate the Doppler effect for objects changed in particular ``_process`` methods. Default value: ``DOPPLER_TRACKING_DISABLED``.
+- :ref:`DopplerTracking<enum_camera_dopplertracking>` **doppler_tracking** - If not ``DOPPLER_TRACKING_DISABLED`` this Camera will simulate the Doppler effect for objects changed in particular ``_process`` methods. Default value: ``DOPPLER_TRACKING_DISABLED``.
 
   .. _class_Camera_environment:
 
@@ -78,7 +78,7 @@ Member Variables
 
   .. _class_Camera_keep_aspect:
 
-- :ref:`int<class_int>` **keep_aspect** - The axis to lock during :ref:`fov<class_Camera_fov>`/:ref:`size<class_Camera_size>` adjustments.
+- :ref:`KeepAspect<enum_camera_keepaspect>` **keep_aspect** - The axis to lock during :ref:`fov<class_Camera_fov>`/:ref:`size<class_Camera_size>` adjustments.
 
   .. _class_Camera_near:
 
@@ -86,7 +86,7 @@ Member Variables
 
   .. _class_Camera_projection:
 
-- :ref:`int<class_int>` **projection** - The camera's projection mode. In ``PROJECTION_PERSPECTIVE`` mode, objects' z-distance from the camera's local space scales their perceived size.
+- :ref:`Projection<enum_camera_projection>` **projection** - The camera's projection mode. In ``PROJECTION_PERSPECTIVE`` mode, objects' z-distance from the camera's local space scales their perceived size.
 
   .. _class_Camera_size:
 
@@ -97,16 +97,31 @@ Member Variables
 - :ref:`float<class_float>` **v_offset** - The horizontal (Y) offset of the Camear viewport.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_Camera_DopplerTracking:
+
+enum **DopplerTracking**
+
+- **DOPPLER_TRACKING_DISABLED** = **0** --- Disable Doppler effect simulation (default).
+- **DOPPLER_TRACKING_IDLE_STEP** = **1** --- Simulate Doppler effect by tracking positions of objects that are changed in ``_process``. Changes in the relative velocity of this Camera compared to those objects affect how Audio is perceived (changing the Audio's ``pitch shift``).
+- **DOPPLER_TRACKING_PHYSICS_STEP** = **2** --- Simulate Doppler effect by tracking positions of objects that are changed in ``_physics_process``. Changes in the relative velocity of this Camera compared to those objects affect how Audio is perceived (changing the Audio's ``pitch shift``).
+
+  .. _enum_Camera_Projection:
+
+enum **Projection**
 
 - **PROJECTION_PERSPECTIVE** = **0** --- Perspective Projection (object's size on the screen becomes smaller when far away).
 - **PROJECTION_ORTHOGONAL** = **1** --- Orthogonal Projection (objects remain the same size on the screen no matter how far away they are).
+
+  .. _enum_Camera_KeepAspect:
+
+enum **KeepAspect**
+
 - **KEEP_WIDTH** = **0** --- Preserves the horizontal aspect ratio.
 - **KEEP_HEIGHT** = **1** --- Preserves the vertical aspect ratio.
-- **DOPPLER_TRACKING_DISABLED** = **0** --- Disable Doppler effect simulation (default).
-- **DOPPLER_TRACKING_IDLE_STEP** = **1** --- Simulate Doppler effect by tracking positions of objects that are changed in ``_process``. Changes in the relative velocity of this Camera compared to those objects affect how Audio is perceived (changing the Audio's ``pitch shift``).
-- **DOPPLER_TRACKING_PHYSICS_STEP** = **2** --- Simulate Doppler effect by tracking positions of objects that are changed in ``_physics_process``. Changes in the relative velocity of this Camera compared to those objects affect how Audio is perceived (changing the Audio's ``pitch shift``).
+
 
 Description
 -----------

+ 8 - 3
classes/class_camera2d.rst

@@ -52,7 +52,7 @@ Member Variables
 
   .. _class_Camera2D_anchor_mode:
 
-- :ref:`int<class_int>` **anchor_mode** - The Camera2D's anchor point. See ``ANCHOR_MODE\_\*`` constants.
+- :ref:`AnchorMode<enum_camera2d_anchormode>` **anchor_mode** - The Camera2D's anchor point. See ``ANCHOR_MODE\_\*`` constants.
 
   .. _class_Camera2D_current:
 
@@ -135,12 +135,17 @@ Member Variables
 - :ref:`Vector2<class_vector2>` **zoom** - The camera's zoom relative to the viewport. Values larger than ``Vector2(1, 1)`` zoom out and smaller values zoom in. For an example, use ``Vector2(0.5, 0.5)`` for a 2x zoom in, and ``Vector2(4, 4)`` for a 4x zoom out.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_Camera2D_AnchorMode:
+
+enum **AnchorMode**
 
 - **ANCHOR_MODE_FIXED_TOP_LEFT** = **0** --- The camera's position is fixed so that the top-left corner is always at the origin.
 - **ANCHOR_MODE_DRAG_CENTER** = **1** --- The camera's position takes into account vertical/horizontal offsets and the screen size.
 
+
 Description
 -----------
 

+ 14 - 5
classes/class_canvasitem.rst

@@ -174,17 +174,26 @@ Member Variables
 Numeric Constants
 -----------------
 
-- **BLEND_MODE_MIX** = **0** --- Mix blending mode. Colors are assumed to be independent of the alpha (opacity) value.
-- **BLEND_MODE_ADD** = **1** --- Additive blending mode.
-- **BLEND_MODE_SUB** = **2** --- Subtractive blending mode.
-- **BLEND_MODE_MUL** = **3** --- Multiplicative blending mode.
-- **BLEND_MODE_PREMULT_ALPHA** = **4** --- Mix blending mode. Colors are assumed to be premultiplied by the alpha (opacity) value.
 - **NOTIFICATION_TRANSFORM_CHANGED** = **29** --- Canvas item transform has changed. Only received if requested.
 - **NOTIFICATION_DRAW** = **30** --- CanvasItem is requested to draw.
 - **NOTIFICATION_VISIBILITY_CHANGED** = **31** --- Canvas item visibility has changed.
 - **NOTIFICATION_ENTER_CANVAS** = **32** --- Canvas item has entered the canvas.
 - **NOTIFICATION_EXIT_CANVAS** = **33** --- Canvas item has exited the canvas.
 
+Enums
+-----
+
+  .. _enum_CanvasItem_BlendMode:
+
+enum **BlendMode**
+
+- **BLEND_MODE_MIX** = **0** --- Mix blending mode. Colors are assumed to be independent of the alpha (opacity) value.
+- **BLEND_MODE_ADD** = **1** --- Additive blending mode.
+- **BLEND_MODE_SUB** = **2** --- Subtractive blending mode.
+- **BLEND_MODE_MUL** = **3** --- Multiplicative blending mode.
+- **BLEND_MODE_PREMULT_ALPHA** = **4** --- Mix blending mode. Colors are assumed to be premultiplied by the alpha (opacity) value.
+
+
 Description
 -----------
 

+ 17 - 7
classes/class_canvasitemmaterial.rst

@@ -21,24 +21,34 @@ Member Variables
 
   .. _class_CanvasItemMaterial_blend_mode:
 
-- :ref:`int<class_int>` **blend_mode** - The manner in which a material's rendering is applied to underlying textures.
+- :ref:`BlendMode<enum_canvasitemmaterial_blendmode>` **blend_mode** - The manner in which a material's rendering is applied to underlying textures.
 
   .. _class_CanvasItemMaterial_light_mode:
 
-- :ref:`int<class_int>` **light_mode** - The manner in which material reacts to lighting.
+- :ref:`LightMode<enum_canvasitemmaterial_lightmode>` **light_mode** - The manner in which material reacts to lighting.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_CanvasItemMaterial_LightMode:
+
+enum **LightMode**
+
+- **LIGHT_MODE_NORMAL** = **0** --- Render the material using both light and non-light sensitive material properties.
+- **LIGHT_MODE_UNSHADED** = **1** --- Render the material as if there were no light.
+- **LIGHT_MODE_LIGHT_ONLY** = **2** --- Render the material as if there were only light.
+
+  .. _enum_CanvasItemMaterial_BlendMode:
+
+enum **BlendMode**
 
 - **BLEND_MODE_MIX** = **0** --- Mix blending mode. Colors are assumed to be independent of the alpha (opacity) value.
 - **BLEND_MODE_ADD** = **1** --- Additive blending mode.
 - **BLEND_MODE_SUB** = **2** --- Subtractive blending mode.
 - **BLEND_MODE_MUL** = **3** --- Multiplicative blending mode.
 - **BLEND_MODE_PREMULT_ALPHA** = **4** --- Mix blending mode. Colors are assumed to be premultiplied by the alpha (opacity) value.
-- **LIGHT_MODE_NORMAL** = **0** --- Render the material using both light and non-light sensitive material properties.
-- **LIGHT_MODE_UNSHADED** = **1** --- Render the material as if there were no light.
-- **LIGHT_MODE_LIGHT_ONLY** = **2** --- Render the material as if there were only light.
+
 
 Description
 -----------

+ 8 - 3
classes/class_collisionpolygon2d.rst

@@ -21,7 +21,7 @@ Member Variables
 
   .. _class_CollisionPolygon2D_build_mode:
 
-- :ref:`int<class_int>` **build_mode** - Collision build mode. Use one of the ``BUILD\_\*`` constants. Default value: ``BUILD_SOLIDS``.
+- :ref:`BuildMode<enum_collisionpolygon2d_buildmode>` **build_mode** - Collision build mode. Use one of the ``BUILD\_\*`` constants. Default value: ``BUILD_SOLIDS``.
 
   .. _class_CollisionPolygon2D_disabled:
 
@@ -36,12 +36,17 @@ Member Variables
 - :ref:`PoolVector2Array<class_poolvector2array>` **polygon** - The polygon's list of vertices. The final point will be connected to the first.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_CollisionPolygon2D_BuildMode:
+
+enum **BuildMode**
 
 - **BUILD_SOLIDS** = **0** --- Collisions will include the polygon and its contained area.
 - **BUILD_SEGMENTS** = **1** --- Collisions will only include the polygon edges.
 
+
 Description
 -----------
 

+ 3 - 1
classes/class_color.rst

@@ -100,6 +100,8 @@ Description
 
 A color is represented as red, green and blue (r,g,b) components. Additionally, "a" represents the alpha component, often used for transparency. Values are in floating point and usually range from 0 to 1.  Some methods (such as set_modulate(color)) may accept values > 1.
 
+You can also create a color from standardised color names with :ref:`@GDScript.ColorN<class_@GDScript_ColorN>`.
+
 Member Function Description
 ---------------------------
 
@@ -137,7 +139,7 @@ Constructs a color from a 32-bit integer (each byte represents a component of th
 
 - :ref:`Color<class_color>` **Color** **(** :ref:`String<class_string>` from **)**
 
-Constructs a color from an HTML hexadecimal color string in ARGB or RGB format.
+Constructs a color from an HTML hexadecimal color string in ARGB or RGB format. See also :ref:`@GDScript.ColorN<class_@GDScript_ColorN>`.
 
 The following string formats are supported:
 

+ 7 - 2
classes/class_conetwistjoint.rst

@@ -50,8 +50,12 @@ If below 0.05, this behaviour is locked. Default value: ``PI/4``.
 Twist is locked if below 0.05.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_ConeTwistJoint_Param:
+
+enum **Param**
 
 - **PARAM_SWING_SPAN** = **0** --- Swing is rotation from side to side, around the axis perpendicular to the twist axis.
 
@@ -70,6 +74,7 @@ The higher, the faster.
 - **PARAM_RELAXATION** = **4** --- Defines, how fast the swing- and twist-speed-difference on both sides gets synced.
 - **PARAM_MAX** = **5** --- End flag of PARAM\_\* constants, used internally.
 
+
 Description
 -----------
 

+ 66 - 22
classes/class_control.rst

@@ -188,13 +188,13 @@ Emitted when a modal ``Control`` is closed. See :ref:`show_modal<class_Control_s
 
 - **mouse_entered** **(** **)**
 
-Emitted when the mouse enters the control's ``Rect`` area.
+Emitted when the mouse enters the control's ``Rect`` area, provided its :ref:`mouse_filter<class_Control_mouse_filter>` lets the event reach it.
 
 .. _class_Control_mouse_exited:
 
 - **mouse_exited** **(** **)**
 
-Emitted when the mouse leaves the control's ``Rect`` area.
+Emitted when the mouse leaves the control's ``Rect`` area, provided its :ref:`mouse_filter<class_Control_mouse_filter>` lets the event reach it.
 
 .. _class_Control_resized:
 
@@ -256,11 +256,11 @@ If the user presses Tab, Godot will give focus to the closest node to the right
 
   .. _class_Control_grow_horizontal:
 
-- :ref:`int<class_int>` **grow_horizontal**
+- :ref:`GrowDirection<enum_control_growdirection>` **grow_horizontal**
 
   .. _class_Control_grow_vertical:
 
-- :ref:`int<class_int>` **grow_vertical**
+- :ref:`GrowDirection<enum_control_growdirection>` **grow_vertical**
 
   .. _class_Control_hint_tooltip:
 
@@ -286,7 +286,7 @@ Margins are often controlled by one or multiple parent :ref:`Container<class_con
 
   .. _class_Control_mouse_filter:
 
-- :ref:`int<class_int>` **mouse_filter**
+- :ref:`MouseFilter<enum_control_mousefilter>` **mouse_filter** - Controls whether the control will be able to receive mouse button input events through :ref:`_gui_input<class_Control__gui_input>` and how these events should be handled. Use one of the ``MOUSE_FILTER\_\*`` constants. See the constants to learn what each does.
 
   .. _class_Control_rect_clip_content:
 
@@ -336,9 +336,6 @@ Margins are often controlled by one or multiple parent :ref:`Container<class_con
 Numeric Constants
 -----------------
 
-- **FOCUS_NONE** = **0** --- The node cannot grab focus. Use with :ref:`set_focus_mode<class_Control_set_focus_mode>`.
-- **FOCUS_CLICK** = **1** --- The node can only grab focus on mouse clicks. Use with :ref:`set_focus_mode<class_Control_set_focus_mode>`.
-- **FOCUS_ALL** = **2** --- The node can grab focus on mouse click or using the arrows and the Tab keys on the keyboard. Use with :ref:`set_focus_mode<class_Control_set_focus_mode>`.
 - **NOTIFICATION_RESIZED** = **40** --- Sent when the node changes size. Use :ref:`rect_size<class_Control_rect_size>` to get the new size.
 - **NOTIFICATION_MOUSE_ENTER** = **41** --- Sent when the mouse pointer enters the node's ``Rect`` area.
 - **NOTIFICATION_MOUSE_EXIT** = **42** --- Sent when the mouse pointer exits the node's ``Rect`` area.
@@ -346,6 +343,24 @@ Numeric Constants
 - **NOTIFICATION_FOCUS_EXIT** = **44** --- Sent when the node loses focus.
 - **NOTIFICATION_THEME_CHANGED** = **45** --- Sent when the node's :ref:`theme<class_Control_theme>` changes, right before Godot redraws the ``Control``. Happens when you call one of the ``add\_\*_override``
 - **NOTIFICATION_MODAL_CLOSE** = **46** --- Sent when an open modal dialog closes. See :ref:`show_modal<class_Control_show_modal>`.
+
+Enums
+-----
+
+  .. _enum_Control_SizeFlags:
+
+enum **SizeFlags**
+
+- **SIZE_FILL** = **1** --- Tells the parent :ref:`Container<class_container>` to expand the bounds of this node to fill all the available space without pushing any other node. Use with :ref:`size_flags_horizontal<class_Control_size_flags_horizontal>` and :ref:`size_flags_vertical<class_Control_size_flags_vertical>`.
+- **SIZE_EXPAND** = **2** --- Tells the parent :ref:`Container<class_container>` to let this node take all the available space on the axis you flag. If multiple neighboring nodes are set to expand, they'll share the space based on their stretch ratio. See :ref:`size_flags_stretch_ratio<class_Control_size_flags_stretch_ratio>`. Use with :ref:`size_flags_horizontal<class_Control_size_flags_horizontal>` and :ref:`size_flags_vertical<class_Control_size_flags_vertical>`.
+- **SIZE_EXPAND_FILL** = **3** --- Sets the node's size flags to both fill and expand. See the 2 constants above for more information.
+- **SIZE_SHRINK_CENTER** = **4** --- Tells the parent :ref:`Container<class_container>` to center the node in itself. It centers the ``Control`` based on its bounding box, so it doesn't work with the fill or expand size flags. Use with :ref:`size_flags_horizontal<class_Control_size_flags_horizontal>` and :ref:`size_flags_vertical<class_Control_size_flags_vertical>`.
+- **SIZE_SHRINK_END** = **8** --- Tells the parent :ref:`Container<class_container>` to align the node with its end, either the bottom or the right edge. It doesn't work with the fill or expand size flags. Use with :ref:`size_flags_horizontal<class_Control_size_flags_horizontal>` and :ref:`size_flags_vertical<class_Control_size_flags_vertical>`.
+
+  .. _enum_Control_CursorShape:
+
+enum **CursorShape**
+
 - **CURSOR_ARROW** = **0** --- Show the system's arrow mouse cursor when the user hovers the node. Use with :ref:`set_default_cursor_shape<class_Control_set_default_cursor_shape>`.
 - **CURSOR_IBEAM** = **1** --- Show the system's I-beam mouse cursor when the user hovers the node. The I-beam pointer has a shape similar to "I". It tells the user they can highlight or insert text.
 - **CURSOR_POINTING_HAND** = **2** --- Show the system's pointing hand mouse cursor when the user hovers the node.
@@ -363,6 +378,35 @@ Numeric Constants
 - **CURSOR_VSPLIT** = **14** --- Show the system's vertical split mouse cursor when the user hovers the node. On Windows, it's the same as ``CURSOR_VSIZE``.
 - **CURSOR_HSPLIT** = **15** --- Show the system's horizontal split mouse cursor when the user hovers the node. On Windows, it's the same as ``CURSOR_HSIZE``.
 - **CURSOR_HELP** = **16** --- Show the system's help mouse cursor when the user hovers the node, a question mark.
+
+  .. _enum_Control_FocusMode:
+
+enum **FocusMode**
+
+- **FOCUS_NONE** = **0** --- The node cannot grab focus. Use with :ref:`set_focus_mode<class_Control_set_focus_mode>`.
+- **FOCUS_CLICK** = **1** --- The node can only grab focus on mouse clicks. Use with :ref:`set_focus_mode<class_Control_set_focus_mode>`.
+- **FOCUS_ALL** = **2** --- The node can grab focus on mouse click or using the arrows and the Tab keys on the keyboard. Use with :ref:`set_focus_mode<class_Control_set_focus_mode>`.
+
+  .. _enum_Control_GrowDirection:
+
+enum **GrowDirection**
+
+- **GROW_DIRECTION_BEGIN** = **0**
+- **GROW_DIRECTION_END** = **1**
+
+  .. _enum_Control_LayoutPresetMode:
+
+enum **LayoutPresetMode**
+
+- **PRESET_MODE_MINSIZE** = **0**
+- **PRESET_MODE_KEEP_WIDTH** = **1**
+- **PRESET_MODE_KEEP_HEIGHT** = **2**
+- **PRESET_MODE_KEEP_SIZE** = **3**
+
+  .. _enum_Control_LayoutPreset:
+
+enum **LayoutPreset**
+
 - **PRESET_TOP_LEFT** = **0** --- Snap all 4 anchors to the top-left of the parent container's bounds. Use with :ref:`set_anchors_preset<class_Control_set_anchors_preset>`.
 - **PRESET_TOP_RIGHT** = **1** --- Snap all 4 anchors to the top-right of the parent container's bounds. Use with :ref:`set_anchors_preset<class_Control_set_anchors_preset>`.
 - **PRESET_BOTTOM_LEFT** = **2** --- Snap all 4 anchors to the bottom-left of the parent container's bounds. Use with :ref:`set_anchors_preset<class_Control_set_anchors_preset>`.
@@ -379,23 +423,23 @@ Numeric Constants
 - **PRESET_VCENTER_WIDE** = **13** --- Snap all 4 anchors to a vertical line that cuts the parent container in half. Use with :ref:`set_anchors_preset<class_Control_set_anchors_preset>`.
 - **PRESET_HCENTER_WIDE** = **14** --- Snap all 4 anchors to a horizontal line that cuts the parent container in half. Use with :ref:`set_anchors_preset<class_Control_set_anchors_preset>`.
 - **PRESET_WIDE** = **15** --- Snap all 4 anchors to the respective corners of the parent container. Set all 4 margins to 0 after you applied this preset and the ``Control`` will fit its parent container. Use with :ref:`set_anchors_preset<class_Control_set_anchors_preset>`.
-- **PRESET_MODE_MINSIZE** = **0**
-- **PRESET_MODE_KEEP_WIDTH** = **1**
-- **PRESET_MODE_KEEP_HEIGHT** = **2**
-- **PRESET_MODE_KEEP_SIZE** = **3**
-- **SIZE_FILL** = **1** --- Tells the parent :ref:`Container<class_container>` to expand the bounds of this node to fill all the available space without pushing any other node. Use with :ref:`size_flags_horizontal<class_Control_size_flags_horizontal>` and :ref:`size_flags_vertical<class_Control_size_flags_vertical>`.
-- **SIZE_EXPAND** = **2** --- Tells the parent :ref:`Container<class_container>` to let this node take all the available space on the axis you flag. If multiple neighboring nodes are set to expand, they'll share the space based on their stretch ratio. See :ref:`size_flags_stretch_ratio<class_Control_size_flags_stretch_ratio>`. Use with :ref:`size_flags_horizontal<class_Control_size_flags_horizontal>` and :ref:`size_flags_vertical<class_Control_size_flags_vertical>`.
-- **SIZE_EXPAND_FILL** = **3** --- Sets the node's size flags to both fill and expand. See the 2 constants above for more information.
-- **SIZE_SHRINK_CENTER** = **4** --- Tells the parent :ref:`Container<class_container>` to center the node in itself. It centers the ``Control`` based on its bounding box, so it doesn't work with the fill or expand size flags. Use with :ref:`size_flags_horizontal<class_Control_size_flags_horizontal>` and :ref:`size_flags_vertical<class_Control_size_flags_vertical>`.
-- **SIZE_SHRINK_END** = **8** --- Tells the parent :ref:`Container<class_container>` to align the node with its end, either the bottom or the right edge. It doesn't work with the fill or expand size flags. Use with :ref:`size_flags_horizontal<class_Control_size_flags_horizontal>` and :ref:`size_flags_vertical<class_Control_size_flags_vertical>`.
-- **MOUSE_FILTER_STOP** = **0**
-- **MOUSE_FILTER_PASS** = **1**
-- **MOUSE_FILTER_IGNORE** = **2**
-- **GROW_DIRECTION_BEGIN** = **0**
-- **GROW_DIRECTION_END** = **1**
+
+  .. _enum_Control_MouseFilter:
+
+enum **MouseFilter**
+
+- **MOUSE_FILTER_STOP** = **0** --- The control will receive mouse button input events through :ref:`_gui_input<class_Control__gui_input>` if clicked on. These events are automatically marked as handled and they will not propagate further to other controls.
+- **MOUSE_FILTER_PASS** = **1** --- The control will receive mouse button input events through :ref:`_gui_input<class_Control__gui_input>` if clicked on. If this control does not handle the event, the parent control (if any) will be considered for a mouse click, and so on until there is no more parent control to potentially handle it. Even if no control handled it at all, the event will still be handled automatically.
+- **MOUSE_FILTER_IGNORE** = **2** --- The control will not receive mouse button input events through :ref:`_gui_input<class_Control__gui_input>` and will not block other controls from receiving these events. These events will also not be handled automatically.
+
+  .. _enum_Control_Anchor:
+
+enum **Anchor**
+
 - **ANCHOR_BEGIN** = **0** --- Snaps one of the 4 anchor's sides to the origin of the node's ``Rect``, in the top left. Use it with one of the ``anchor\_\*`` member variables, like :ref:`anchor_left<class_Control_anchor_left>`. To change all 4 anchors at once, use :ref:`set_anchors_preset<class_Control_set_anchors_preset>`.
 - **ANCHOR_END** = **1** --- Snaps one of the 4 anchor's sides to the end of the node's ``Rect``, in the bottom right. Use it with one of the ``anchor\_\*`` member variables, like :ref:`anchor_left<class_Control_anchor_left>`. To change all 4 anchors at once, use :ref:`set_anchors_preset<class_Control_set_anchors_preset>`.
 
+
 Description
 -----------
 

+ 22 - 7
classes/class_cubemap.rst

@@ -42,25 +42,40 @@ Member Variables
 
   .. _class_CubeMap_storage_mode:
 
-- :ref:`int<class_int>` **storage_mode** - The ``CubeMap``'s storage mode. See ``STORAGE\_\*`` constants.
+- :ref:`Storage<enum_cubemap_storage>` **storage_mode** - The ``CubeMap``'s storage mode. See ``STORAGE\_\*`` constants.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_CubeMap_Flags:
+
+enum **Flags**
+
+- **FLAG_MIPMAPS** = **1** --- Generate mipmaps, to enable smooth zooming out of the texture.
+- **FLAG_REPEAT** = **2** --- Repeat (instead of clamp to edge).
+- **FLAG_FILTER** = **4** --- Turn on magnifying filter, to enable smooth zooming in of the texture.
+- **FLAGS_DEFAULT** = **7** --- Default flags. Generate mipmaps, repeat, and filter are enabled.
+
+  .. _enum_CubeMap_Storage:
+
+enum **Storage**
 
 - **STORAGE_RAW** = **0** --- Store the ``CubeMap`` without any compression.
 - **STORAGE_COMPRESS_LOSSY** = **1** --- Store the ``CubeMap`` with strong compression that reduces image quality.
 - **STORAGE_COMPRESS_LOSSLESS** = **2** --- Store the ``CubeMap`` with moderate compression that doesn't reduce image quality.
+
+  .. _enum_CubeMap_Side:
+
+enum **Side**
+
 - **SIDE_LEFT** = **0** --- Identifier for the left face of the ``CubeMap``.
 - **SIDE_RIGHT** = **1** --- Identifier for the right face of the ``CubeMap``.
 - **SIDE_BOTTOM** = **2** --- Identifier for the bottom face of the ``CubeMap``.
 - **SIDE_TOP** = **3** --- Identifier for the top face of the ``CubeMap``.
 - **SIDE_FRONT** = **4** --- Identifier for the front face of the ``CubeMap``.
 - **SIDE_BACK** = **5** --- Identifier for the back face of the ``CubeMap``.
-- **FLAG_MIPMAPS** = **1** --- Generate mipmaps, to enable smooth zooming out of the texture.
-- **FLAG_REPEAT** = **2** --- Repeat (instead of clamp to edge).
-- **FLAG_FILTER** = **4** --- Turn on magnifying filter, to enable smooth zooming in of the texture.
-- **FLAGS_DEFAULT** = **7** --- Default flags. Generate mipmaps, repeat, and filter are enabled.
+
 
 Description
 -----------

+ 7 - 2
classes/class_curve.rst

@@ -83,13 +83,18 @@ Member Variables
 - :ref:`float<class_float>` **min_value** - The minimum value the curve can reach. Default value: ``0``.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_Curve_TangentMode:
+
+enum **TangentMode**
 
 - **TANGENT_FREE** = **0** --- The tangent on this side of the point is user-defined.
 - **TANGENT_LINEAR** = **1** --- The curve calculates the tangent on this side of the point as the slope halfway towards the adjacent point.
 - **TANGENT_MODE_COUNT** = **2** --- The total number of available tangent modes.
 
+
 Description
 -----------
 

+ 16 - 6
classes/class_directionallight.rst

@@ -29,7 +29,7 @@ Member Variables
 
   .. _class_DirectionalLight_directional_shadow_depth_range:
 
-- :ref:`int<class_int>` **directional_shadow_depth_range**
+- :ref:`ShadowDepthRange<enum_directionallight_shadowdepthrange>` **directional_shadow_depth_range**
 
   .. _class_DirectionalLight_directional_shadow_max_distance:
 
@@ -37,7 +37,7 @@ Member Variables
 
   .. _class_DirectionalLight_directional_shadow_mode:
 
-- :ref:`int<class_int>` **directional_shadow_mode**
+- :ref:`ShadowMode<enum_directionallight_shadowmode>` **directional_shadow_mode**
 
   .. _class_DirectionalLight_directional_shadow_normal_bias:
 
@@ -56,14 +56,24 @@ Member Variables
 - :ref:`float<class_float>` **directional_shadow_split_3**
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_DirectionalLight_ShadowDepthRange:
+
+enum **ShadowDepthRange**
+
+- **SHADOW_DEPTH_RANGE_STABLE** = **0**
+- **SHADOW_DEPTH_RANGE_OPTIMIZED** = **1**
+
+  .. _enum_DirectionalLight_ShadowMode:
+
+enum **ShadowMode**
 
 - **SHADOW_ORTHOGONAL** = **0**
 - **SHADOW_PARALLEL_2_SPLITS** = **1**
 - **SHADOW_PARALLEL_4_SPLITS** = **2**
-- **SHADOW_DEPTH_RANGE_STABLE** = **0**
-- **SHADOW_DEPTH_RANGE_OPTIMIZED** = **1**
+
 
 Description
 -----------

+ 7 - 2
classes/class_dynamicfont.rst

@@ -67,14 +67,19 @@ Member Variables
 - :ref:`bool<class_bool>` **use_mipmaps** - If ``true`` mipmapping is used.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_DynamicFont_SpacingType:
+
+enum **SpacingType**
 
 - **SPACING_TOP** = **0** --- Spacing at the top.
 - **SPACING_BOTTOM** = **1** --- Spacing at the bottom.
 - **SPACING_CHAR** = **2** --- Character spacing.
 - **SPACING_SPACE** = **3** --- Space spacing.
 
+
 Description
 -----------
 

+ 25 - 10
classes/class_editorfiledialog.rst

@@ -56,7 +56,7 @@ Member Variables
 
   .. _class_EditorFileDialog_access:
 
-- :ref:`int<class_int>` **access** - The location from which the user may select a file, including ``res://``, ``user://``, and the local file system.
+- :ref:`Access<enum_editorfiledialog_access>` **access** - The location from which the user may select a file, including ``res://``, ``user://``, and the local file system.
 
   .. _class_EditorFileDialog_current_dir:
 
@@ -76,31 +76,46 @@ Member Variables
 
   .. _class_EditorFileDialog_display_mode:
 
-- :ref:`int<class_int>` **display_mode** - The view format in which the ``EditorFileDialog`` displays resources to the user.
+- :ref:`DisplayMode<enum_editorfiledialog_displaymode>` **display_mode** - The view format in which the ``EditorFileDialog`` displays resources to the user.
 
   .. _class_EditorFileDialog_mode:
 
-- :ref:`int<class_int>` **mode** - The purpose of the ``EditorFileDialog``. Changes allowed behaviors.
+- :ref:`Mode<enum_editorfiledialog_mode>` **mode** - The purpose of the ``EditorFileDialog``. Changes allowed behaviors.
 
   .. _class_EditorFileDialog_show_hidden_files:
 
 - :ref:`bool<class_bool>` **show_hidden_files** - If ``true`` hidden files and directories will be visible in the ``EditorFileDialog``.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_EditorFileDialog_Access:
+
+enum **Access**
 
-- **MODE_OPEN_FILE** = **0** --- The ``EditorFileDialog`` can select only one file. Accepting the window will open the file.
-- **MODE_OPEN_FILES** = **1** --- The ``EditorFileDialog`` can select multiple files. Accepting the window will open all files.
-- **MODE_OPEN_DIR** = **2** --- The ``EditorFileDialog`` can select only one directory. Accepting the window will open the directory.
-- **MODE_OPEN_ANY** = **3** --- The ``EditorFileDialog`` can select a file or directory. Accepting the window will open it.
-- **MODE_SAVE_FILE** = **4** --- The ``EditorFileDialog`` can select only one file. Accepting the window will save the file.
 - **ACCESS_RESOURCES** = **0** --- The ``EditorFileDialog`` can only view ``res://`` directory contents.
 - **ACCESS_USERDATA** = **1** --- The ``EditorFileDialog`` can only view ``user://`` directory contents.
 - **ACCESS_FILESYSTEM** = **2** --- The ``EditorFileDialog`` can view the entire local file system.
+
+  .. _enum_EditorFileDialog_DisplayMode:
+
+enum **DisplayMode**
+
 - **DISPLAY_THUMBNAILS** = **0** --- The ``EditorFileDialog`` displays resources as thumbnails.
 - **DISPLAY_LIST** = **1** --- The ``EditorFileDialog`` displays resources as a list of filenames.
 
+  .. _enum_EditorFileDialog_Mode:
+
+enum **Mode**
+
+- **MODE_OPEN_FILE** = **0** --- The ``EditorFileDialog`` can select only one file. Accepting the window will open the file.
+- **MODE_OPEN_FILES** = **1** --- The ``EditorFileDialog`` can select multiple files. Accepting the window will open all files.
+- **MODE_OPEN_DIR** = **2** --- The ``EditorFileDialog`` can select only one directory. Accepting the window will open the directory.
+- **MODE_OPEN_ANY** = **3** --- The ``EditorFileDialog`` can select a file or directory. Accepting the window will open it.
+- **MODE_SAVE_FILE** = **4** --- The ``EditorFileDialog`` can select only one file. Accepting the window will save the file.
+
+
 Member Function Description
 ---------------------------
 

+ 12 - 0
classes/class_editorinterface.rst

@@ -38,6 +38,8 @@ Member Functions
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`ScriptEditor<class_scripteditor>`                    | :ref:`get_script_editor<class_EditorInterface_get_script_editor>` **(** **)**                                                                           |
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                                | :ref:`get_selected_path<class_EditorInterface_get_selected_path>` **(** **)** const                                                                     |
++------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`EditorSelection<class_editorselection>`              | :ref:`get_selection<class_EditorInterface_get_selection>` **(** **)**                                                                                   |
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                       | :ref:`inspect_object<class_EditorInterface_inspect_object>` **(** :ref:`Object<class_object>` object, :ref:`String<class_string>` for_property="" **)** |
@@ -52,6 +54,8 @@ Member Functions
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                       | :ref:`save_scene_as<class_EditorInterface_save_scene_as>` **(** :ref:`String<class_string>` path, :ref:`bool<class_bool>` with_preview=true **)**       |
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                       | :ref:`select_file<class_EditorInterface_select_file>` **(** :ref:`String<class_string>` p_file **)**                                                    |
++------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Description
 -----------
@@ -115,6 +119,10 @@ Returns the :ref:`EditorResourcePreview<class_editorresourcepreview>`\ er.
 
 Returns the :ref:`ScriptEditor<class_scripteditor>`.
 
+.. _class_EditorInterface_get_selected_path:
+
+- :ref:`String<class_string>` **get_selected_path** **(** **)** const
+
 .. _class_EditorInterface_get_selection:
 
 - :ref:`EditorSelection<class_editorselection>` **get_selection** **(** **)**
@@ -157,4 +165,8 @@ Saves the scene. Returns either OK or ERR_CANT_CREATE. See :ref:`@GlobalScope<cl
 
 Saves the scene as a file at ``path``.
 
+.. _class_EditorInterface_select_file:
+
+- void **select_file** **(** :ref:`String<class_string>` p_file **)**
+
 

+ 22 - 12
classes/class_editorplugin.rst

@@ -44,7 +44,7 @@ Member Functions
 +------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                 | :ref:`edit<class_EditorPlugin_edit>` **(** :ref:`Object<class_object>` object **)** virtual                                                                                                                       |
 +------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                              | :ref:`forward_canvas_gui_input<class_EditorPlugin_forward_canvas_gui_input>` **(** :ref:`Transform2D<class_transform2d>` canvas_xform, :ref:`InputEvent<class_inputevent>` event **)** virtual                    |
+| :ref:`bool<class_bool>`                              | :ref:`forward_canvas_gui_input<class_EditorPlugin_forward_canvas_gui_input>` **(** :ref:`InputEvent<class_inputevent>` event **)** virtual                                                                        |
 +------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                 | :ref:`forward_draw_over_viewport<class_EditorPlugin_forward_draw_over_viewport>` **(** :ref:`Control<class_control>` overlay **)** virtual                                                                        |
 +------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -125,17 +125,13 @@ Emitted when user change scene. The argument is a root node of freshly opened sc
 Emitted when user close scene. The argument is file path to a closed scene.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_EditorPlugin_DockSlot:
+
+enum **DockSlot**
 
-- **CONTAINER_TOOLBAR** = **0**
-- **CONTAINER_SPATIAL_EDITOR_MENU** = **1**
-- **CONTAINER_SPATIAL_EDITOR_SIDE** = **2**
-- **CONTAINER_SPATIAL_EDITOR_BOTTOM** = **3**
-- **CONTAINER_CANVAS_EDITOR_MENU** = **4**
-- **CONTAINER_CANVAS_EDITOR_SIDE** = **5**
-- **CONTAINER_CANVAS_EDITOR_BOTTOM** = **6**
-- **CONTAINER_PROPERTY_EDITOR_BOTTOM** = **7**
 - **DOCK_SLOT_LEFT_UL** = **0**
 - **DOCK_SLOT_LEFT_BL** = **1**
 - **DOCK_SLOT_LEFT_UR** = **2**
@@ -146,6 +142,20 @@ Numeric Constants
 - **DOCK_SLOT_RIGHT_BR** = **7**
 - **DOCK_SLOT_MAX** = **8**
 
+  .. _enum_EditorPlugin_CustomControlContainer:
+
+enum **CustomControlContainer**
+
+- **CONTAINER_TOOLBAR** = **0**
+- **CONTAINER_SPATIAL_EDITOR_MENU** = **1**
+- **CONTAINER_SPATIAL_EDITOR_SIDE** = **2**
+- **CONTAINER_SPATIAL_EDITOR_BOTTOM** = **3**
+- **CONTAINER_CANVAS_EDITOR_MENU** = **4**
+- **CONTAINER_CANVAS_EDITOR_SIDE** = **5**
+- **CONTAINER_CANVAS_EDITOR_BOTTOM** = **6**
+- **CONTAINER_PROPERTY_EDITOR_BOTTOM** = **7**
+
+
 Description
 -----------
 
@@ -236,7 +246,7 @@ This function is used for plugins that edit specific object types (nodes or reso
 
 .. _class_EditorPlugin_forward_canvas_gui_input:
 
-- :ref:`bool<class_bool>` **forward_canvas_gui_input** **(** :ref:`Transform2D<class_transform2d>` canvas_xform, :ref:`InputEvent<class_inputevent>` event **)** virtual
+- :ref:`bool<class_bool>` **forward_canvas_gui_input** **(** :ref:`InputEvent<class_inputevent>` event **)** virtual
 
 .. _class_EditorPlugin_forward_draw_over_viewport:
 

+ 30 - 30
classes/class_editorsettings.rst

@@ -19,35 +19,35 @@ Object that holds the project-independent editor settings.
 Member Functions
 ----------------
 
-+------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                           | :ref:`add_property_info<class_EditorSettings_add_property_info>` **(** :ref:`Dictionary<class_dictionary>` info **)**                              |
-+------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                           | :ref:`erase<class_EditorSettings_erase>` **(** :ref:`String<class_string>` property **)**                                                          |
-+------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolStringArray<class_poolstringarray>`  | :ref:`get_favorite_dirs<class_EditorSettings_get_favorite_dirs>` **(** **)** const                                                                 |
-+------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`get_project_settings_dir<class_EditorSettings_get_project_settings_dir>` **(** **)** const                                                   |
-+------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolStringArray<class_poolstringarray>`  | :ref:`get_recent_dirs<class_EditorSettings_get_recent_dirs>` **(** **)** const                                                                     |
-+------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Variant<class_variant>`                  | :ref:`get_setting<class_EditorSettings_get_setting>` **(** :ref:`String<class_string>` name **)** const                                            |
-+------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`get_settings_dir<class_EditorSettings_get_settings_dir>` **(** **)** const                                                                   |
-+------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                        | :ref:`has_setting<class_EditorSettings_has_setting>` **(** :ref:`String<class_string>` name **)** const                                            |
-+------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                        | :ref:`property_can_revert<class_EditorSettings_property_can_revert>` **(** :ref:`String<class_string>` name **)**                                  |
-+------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Variant<class_variant>`                  | :ref:`property_get_revert<class_EditorSettings_property_get_revert>` **(** :ref:`String<class_string>` name **)**                                  |
-+------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                           | :ref:`set_favorite_dirs<class_EditorSettings_set_favorite_dirs>` **(** :ref:`PoolStringArray<class_poolstringarray>` dirs **)**                    |
-+------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                           | :ref:`set_initial_value<class_EditorSettings_set_initial_value>` **(** :ref:`String<class_string>` name, :ref:`Variant<class_variant>` value **)** |
-+------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                           | :ref:`set_recent_dirs<class_EditorSettings_set_recent_dirs>` **(** :ref:`PoolStringArray<class_poolstringarray>` dirs **)**                        |
-+------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                           | :ref:`set_setting<class_EditorSettings_set_setting>` **(** :ref:`String<class_string>` name, :ref:`Variant<class_variant>` value **)**             |
-+------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                           | :ref:`add_property_info<class_EditorSettings_add_property_info>` **(** :ref:`Dictionary<class_dictionary>` info **)**                                                                      |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                           | :ref:`erase<class_EditorSettings_erase>` **(** :ref:`String<class_string>` property **)**                                                                                                  |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolStringArray<class_poolstringarray>`  | :ref:`get_favorite_dirs<class_EditorSettings_get_favorite_dirs>` **(** **)** const                                                                                                         |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`get_project_settings_dir<class_EditorSettings_get_project_settings_dir>` **(** **)** const                                                                                           |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolStringArray<class_poolstringarray>`  | :ref:`get_recent_dirs<class_EditorSettings_get_recent_dirs>` **(** **)** const                                                                                                             |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_variant>`                  | :ref:`get_setting<class_EditorSettings_get_setting>` **(** :ref:`String<class_string>` name **)** const                                                                                    |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`get_settings_dir<class_EditorSettings_get_settings_dir>` **(** **)** const                                                                                                           |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                        | :ref:`has_setting<class_EditorSettings_has_setting>` **(** :ref:`String<class_string>` name **)** const                                                                                    |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                        | :ref:`property_can_revert<class_EditorSettings_property_can_revert>` **(** :ref:`String<class_string>` name **)**                                                                          |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_variant>`                  | :ref:`property_get_revert<class_EditorSettings_property_get_revert>` **(** :ref:`String<class_string>` name **)**                                                                          |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                           | :ref:`set_favorite_dirs<class_EditorSettings_set_favorite_dirs>` **(** :ref:`PoolStringArray<class_poolstringarray>` dirs **)**                                                            |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                           | :ref:`set_initial_value<class_EditorSettings_set_initial_value>` **(** :ref:`String<class_string>` name, :ref:`Variant<class_variant>` value, :ref:`bool<class_bool>` update_current **)** |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                           | :ref:`set_recent_dirs<class_EditorSettings_set_recent_dirs>` **(** :ref:`PoolStringArray<class_poolstringarray>` dirs **)**                                                                |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                           | :ref:`set_setting<class_EditorSettings_set_setting>` **(** :ref:`String<class_string>` name, :ref:`Variant<class_variant>` value **)**                                                     |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
@@ -152,7 +152,7 @@ Set the list of favorite directories for this project.
 
 .. _class_EditorSettings_set_initial_value:
 
-- void **set_initial_value** **(** :ref:`String<class_string>` name, :ref:`Variant<class_variant>` value **)**
+- void **set_initial_value** **(** :ref:`String<class_string>` name, :ref:`Variant<class_variant>` value, :ref:`bool<class_bool>` update_current **)**
 
 .. _class_EditorSettings_set_recent_dirs:
 

+ 42 - 12
classes/class_environment.rst

@@ -85,7 +85,7 @@ Member Variables
 
   .. _class_Environment_background_mode:
 
-- :ref:`int<class_int>` **background_mode** - Defines the mode of background.
+- :ref:`BGMode<enum_environment_bgmode>` **background_mode** - Defines the mode of background.
 
   .. _class_Environment_background_sky:
 
@@ -109,7 +109,7 @@ Member Variables
 
   .. _class_Environment_dof_blur_far_quality:
 
-- :ref:`int<class_int>` **dof_blur_far_quality** - Quality of the far blur quality.
+- :ref:`DOFBlurQuality<enum_environment_dofblurquality>` **dof_blur_far_quality** - Quality of the far blur quality.
 
   .. _class_Environment_dof_blur_far_transition:
 
@@ -129,7 +129,7 @@ Member Variables
 
   .. _class_Environment_dof_blur_near_quality:
 
-- :ref:`int<class_int>` **dof_blur_near_quality** - Quality of the near blur quality.
+- :ref:`DOFBlurQuality<enum_environment_dofblurquality>` **dof_blur_near_quality** - Quality of the near blur quality.
 
   .. _class_Environment_dof_blur_near_transition:
 
@@ -193,7 +193,7 @@ Member Variables
 
   .. _class_Environment_glow_blend_mode:
 
-- :ref:`int<class_int>` **glow_blend_mode** - Glow blending mode.
+- :ref:`GlowBlendMode<enum_environment_glowblendmode>` **glow_blend_mode** - Glow blending mode.
 
   .. _class_Environment_glow_bloom:
 
@@ -277,7 +277,7 @@ Member Variables
 
   .. _class_Environment_ssao_blur:
 
-- :ref:`int<class_int>` **ssao_blur**
+- :ref:`SSAOBlur<enum_environment_ssaoblur>` **ssao_blur**
 
   .. _class_Environment_ssao_color:
 
@@ -305,7 +305,7 @@ Member Variables
 
   .. _class_Environment_ssao_quality:
 
-- :ref:`int<class_int>` **ssao_quality**
+- :ref:`SSAOQuality<enum_environment_ssaoquality>` **ssao_quality**
 
   .. _class_Environment_ssao_radius:
 
@@ -321,15 +321,19 @@ Member Variables
 
   .. _class_Environment_tonemap_mode:
 
-- :ref:`int<class_int>` **tonemap_mode** - Tonemapping mode.
+- :ref:`ToneMapper<enum_environment_tonemapper>` **tonemap_mode** - Tonemapping mode.
 
   .. _class_Environment_tonemap_white:
 
 - :ref:`float<class_float>` **tonemap_white** - White reference value for tonemap.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_Environment_BGMode:
+
+enum **BGMode**
 
 - **BG_KEEP** = **5** --- Keep on screen every pixel drawn in the background.
 - **BG_CLEAR_COLOR** = **0** --- Clear the background using the project's clear color.
@@ -338,25 +342,51 @@ Numeric Constants
 - **BG_COLOR_SKY** = **3** --- Clear the background using a custom clear color and allows defining a sky for shading and reflection.
 - **BG_CANVAS** = **4** --- Display a :ref:`CanvasLayer<class_canvaslayer>` in the background.
 - **BG_MAX** = **6** --- Helper constant keeping track of the enum's size, has no direct usage in API calls.
+
+  .. _enum_Environment_DOFBlurQuality:
+
+enum **DOFBlurQuality**
+
+- **DOF_BLUR_QUALITY_LOW** = **0** --- Low depth-of-field blur quality.
+- **DOF_BLUR_QUALITY_MEDIUM** = **1** --- Medium depth-of-field blur quality.
+- **DOF_BLUR_QUALITY_HIGH** = **2** --- High depth-of-field blur quality.
+
+  .. _enum_Environment_GlowBlendMode:
+
+enum **GlowBlendMode**
+
 - **GLOW_BLEND_MODE_ADDITIVE** = **0** --- Additive glow blending mode. Mostly used for particles, glows (bloom), lens flare, bright sources.
 - **GLOW_BLEND_MODE_SCREEN** = **1** --- Screen glow blending mode. Increases brightness, used frequently with bloom.
 - **GLOW_BLEND_MODE_SOFTLIGHT** = **2** --- Softlight glow blending mode. Modifies contrast, exposes shadows and highlights, vivid bloom.
 - **GLOW_BLEND_MODE_REPLACE** = **3** --- Replace glow blending mode. Replaces all pixels' color by the glow value.
+
+  .. _enum_Environment_ToneMapper:
+
+enum **ToneMapper**
+
 - **TONE_MAPPER_LINEAR** = **0** --- Linear tonemapper operator. Reads the linear data and performs an exposure adjustment.
 - **TONE_MAPPER_REINHARDT** = **1** --- Reinhardt tonemapper operator. Performs a variation on rendered pixels' colors by this formula: color = color / (1 + color).
 - **TONE_MAPPER_FILMIC** = **2** --- Filmic tonemapper operator.
 - **TONE_MAPPER_ACES** = **3** --- Academy Color Encoding System tonemapper operator.
-- **DOF_BLUR_QUALITY_LOW** = **0** --- Low depth-of-field blur quality.
-- **DOF_BLUR_QUALITY_MEDIUM** = **1** --- Medium depth-of-field blur quality.
-- **DOF_BLUR_QUALITY_HIGH** = **2** --- High depth-of-field blur quality.
+
+  .. _enum_Environment_SSAOBlur:
+
+enum **SSAOBlur**
+
 - **SSAO_BLUR_DISABLED** = **0**
 - **SSAO_BLUR_1x1** = **1**
 - **SSAO_BLUR_2x2** = **2**
 - **SSAO_BLUR_3x3** = **3**
+
+  .. _enum_Environment_SSAOQuality:
+
+enum **SSAOQuality**
+
 - **SSAO_QUALITY_LOW** = **0**
 - **SSAO_QUALITY_MEDIUM** = **1**
 - **SSAO_QUALITY_HIGH** = **2**
 
+
 Description
 -----------
 

+ 16 - 6
classes/class_file.rst

@@ -107,18 +107,28 @@ Member Functions
 | void                                           | :ref:`store_var<class_File_store_var>` **(** :ref:`Variant<class_variant>` value **)**                                                                                                |
 +------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_File_CompressionMode:
+
+enum **CompressionMode**
 
-- **READ** = **1** --- Opens the file for read operations.
-- **WRITE** = **2** --- Opens the file for write operations. Create it if the file does not exist and truncate if it exists.
-- **READ_WRITE** = **3** --- Opens the file for read and write operations. Does not truncate the file.
-- **WRITE_READ** = **7** --- Opens the file for read and write operations. Create it if the file does not exist and truncate if it exists.
 - **COMPRESSION_FASTLZ** = **0** --- Uses the FastLZ compression method.
 - **COMPRESSION_DEFLATE** = **1** --- Uses the Deflate compression method.
 - **COMPRESSION_ZSTD** = **2** --- Uses the Zstd compression method.
 - **COMPRESSION_GZIP** = **3** --- Uses the gzip compression method.
 
+  .. _enum_File_ModeFlags:
+
+enum **ModeFlags**
+
+- **READ** = **1** --- Opens the file for read operations.
+- **WRITE** = **2** --- Opens the file for write operations. Create it if the file does not exist and truncate if it exists.
+- **READ_WRITE** = **3** --- Opens the file for read and write operations. Does not truncate the file.
+- **WRITE_READ** = **7** --- Opens the file for read and write operations. Create it if the file does not exist and truncate if it exists.
+
+
 Description
 -----------
 

+ 17 - 7
classes/class_filedialog.rst

@@ -70,7 +70,7 @@ Member Variables
 
   .. _class_FileDialog_access:
 
-- :ref:`int<class_int>` **access**
+- :ref:`Access<enum_filedialog_access>` **access**
 
   .. _class_FileDialog_filters:
 
@@ -78,7 +78,7 @@ Member Variables
 
   .. _class_FileDialog_mode:
 
-- :ref:`int<class_int>` **mode**
+- :ref:`Mode<enum_filedialog_mode>` **mode**
 
   .. _class_FileDialog_mode_overrides_title:
 
@@ -89,17 +89,27 @@ Member Variables
 - :ref:`bool<class_bool>` **show_hidden_files**
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_FileDialog_Access:
+
+enum **Access**
+
+- **ACCESS_RESOURCES** = **0** --- The dialog allows the selection of file and directory.
+- **ACCESS_USERDATA** = **1** --- The dialog allows access files under :ref:`Resource<class_resource>` path(res://) .
+- **ACCESS_FILESYSTEM** = **2** --- The dialog allows access files in whole file system.
+
+  .. _enum_FileDialog_Mode:
+
+enum **Mode**
 
 - **MODE_OPEN_FILE** = **0** --- The dialog allows the selection of one, and only one file.
 - **MODE_OPEN_FILES** = **1** --- The dialog allows the selection of multiple files.
 - **MODE_OPEN_DIR** = **2** --- The dialog functions as a folder selector, disallowing the selection of any file.
 - **MODE_OPEN_ANY** = **3** --- The dialog allows the selection of a file or a directory.
 - **MODE_SAVE_FILE** = **4** --- The dialog will warn when a file exists.
-- **ACCESS_RESOURCES** = **0** --- The dialog allows the selection of file and directory.
-- **ACCESS_USERDATA** = **1** --- The dialog allows access files under :ref:`Resource<class_resource>` path(res://) .
-- **ACCESS_FILESYSTEM** = **2** --- The dialog allows access files in whole file system.
+
 
 Description
 -----------

+ 4 - 0
classes/class_gdnativelibrary.rst

@@ -34,6 +34,10 @@ Member Variables
 
 - :ref:`bool<class_bool>` **load_once**
 
+  .. _class_GDNativeLibrary_reloadable:
+
+- :ref:`bool<class_bool>` **reloadable**
+
   .. _class_GDNativeLibrary_singleton:
 
 - :ref:`bool<class_bool>` **singleton**

+ 16 - 6
classes/class_generic6dofjoint.rst

@@ -226,8 +226,21 @@ The lower, the longer an impulse from one side takes to travel to the other side
 - :ref:`float<class_float>` **linear_limit_z/upper_distance** - The maximum difference between the pivot points' z-axis.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_Generic6DOFJoint_Flag:
+
+enum **Flag**
+
+- **FLAG_ENABLE_LINEAR_LIMIT** = **0** --- If ``set`` there is linear motion possible within the given limits.
+- **FLAG_ENABLE_ANGULAR_LIMIT** = **1** --- If ``set`` there is rotational motion possible.
+- **FLAG_ENABLE_MOTOR** = **2** --- If ``set`` there is a rotational motor across these axes.
+- **FLAG_MAX** = **3** --- End flag of FLAG\_\* constants, used internally.
+
+  .. _enum_Generic6DOFJoint_Param:
+
+enum **Param**
 
 - **PARAM_LINEAR_LOWER_LIMIT** = **0** --- The minimum difference between the pivot points' axes.
 - **PARAM_LINEAR_UPPER_LIMIT** = **1** --- The maximum difference between the pivot points' axes.
@@ -244,10 +257,7 @@ Numeric Constants
 - **PARAM_ANGULAR_MOTOR_TARGET_VELOCITY** = **12** --- Target speed for the motor at the axes.
 - **PARAM_ANGULAR_MOTOR_FORCE_LIMIT** = **13** --- Maximum acceleration for the motor at the axes.
 - **PARAM_MAX** = **14** --- End flag of PARAM\_\* constants, used internally.
-- **FLAG_ENABLE_LINEAR_LIMIT** = **0** --- If ``set`` there is linear motion possible within the given limits.
-- **FLAG_ENABLE_ANGULAR_LIMIT** = **1** --- If ``set`` there is rotational motion possible.
-- **FLAG_ENABLE_MOTOR** = **2** --- If ``set`` there is a rotational motor across these axes.
-- **FLAG_MAX** = **3** --- End flag of FLAG\_\* constants, used internally.
+
 
 Description
 -----------

+ 16 - 6
classes/class_geometryinstance.rst

@@ -23,7 +23,7 @@ Member Variables
 
   .. _class_GeometryInstance_cast_shadow:
 
-- :ref:`int<class_int>` **cast_shadow** - The selected shadow casting flag. See SHADOW_CASTING_SETTING\_\* constants for values.
+- :ref:`ShadowCastingSetting<enum_geometryinstance_shadowcastingsetting>` **cast_shadow** - The selected shadow casting flag. See SHADOW_CASTING_SETTING\_\* constants for values.
 
   .. _class_GeometryInstance_extra_cull_margin:
 
@@ -56,8 +56,21 @@ If there is a material in material_override, it will be used instead of any mate
 - :ref:`bool<class_bool>` **use_in_baked_light** - If ``true`` this GeometryInstance will be used when baking lights using a :ref:`GIProbe<class_giprobe>` and/or any other form of baked lighting.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_GeometryInstance_Flags:
+
+enum **Flags**
+
+- **FLAG_USE_BAKED_LIGHT** = **0** --- Will allow the GeometryInstance to be used when baking lights using a :ref:`GIProbe<class_giprobe>` and/or any other form of baked lighting.
+
+Added documentation for GeometryInstance and VisualInstance
+- **FLAG_MAX** = **1**
+
+  .. _enum_GeometryInstance_ShadowCastingSetting:
+
+enum **ShadowCastingSetting**
 
 - **SHADOW_CASTING_SETTING_OFF** = **0** --- Will not cast any shadows.
 - **SHADOW_CASTING_SETTING_ON** = **1** --- Will cast shadows from all visible faces in the GeometryInstance.
@@ -69,10 +82,7 @@ Will not take culling into account, so all faces will be taken into account when
 - **SHADOW_CASTING_SETTING_SHADOWS_ONLY** = **3** --- Will only show the shadows casted from this object.
 
 In other words: The actual mesh will not be visible, only the shadows casted from the mesh.
-- **FLAG_USE_BAKED_LIGHT** = **0** --- Will allow the GeometryInstance to be used when baking lights using a :ref:`GIProbe<class_giprobe>` and/or any other form of baked lighting.
 
-Added documentation for GeometryInstance and VisualInstance
-- **FLAG_MAX** = **1**
 
 Description
 -----------

+ 8 - 3
classes/class_giprobe.rst

@@ -66,11 +66,15 @@ Member Variables
 
   .. _class_GIProbe_subdiv:
 
-- :ref:`int<class_int>` **subdiv**
+- :ref:`Subdiv<enum_giprobe_subdiv>` **subdiv**
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_GIProbe_Subdiv:
+
+enum **Subdiv**
 
 - **SUBDIV_64** = **0**
 - **SUBDIV_128** = **1**
@@ -78,6 +82,7 @@ Numeric Constants
 - **SUBDIV_512** = **3**
 - **SUBDIV_MAX** = **4**
 
+
 Member Function Description
 ---------------------------
 

+ 7 - 2
classes/class_graphnode.rst

@@ -119,13 +119,18 @@ Member Variables
 - :ref:`String<class_string>` **title**
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_GraphNode_Overlay:
+
+enum **Overlay**
 
 - **OVERLAY_DISABLED** = **0**
 - **OVERLAY_BREAKPOINT** = **1**
 - **OVERLAY_POSITION** = **2**
 
+
 Description
 -----------
 

+ 15 - 5
classes/class_hingejoint.rst

@@ -60,8 +60,20 @@ Member Variables
 - :ref:`float<class_float>` **params/bias** - The speed with wich the two bodies get pulled together when they move in different directions.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_HingeJoint_Flag:
+
+enum **Flag**
+
+- **FLAG_USE_LIMIT** = **0** --- If ``true`` the hinges maximum and minimum rotation, defined by :ref:`angular_limit/lower<class_HingeJoint_angular_limit/lower>` and :ref:`angular_limit/upper<class_HingeJoint_angular_limit/upper>` has effects.
+- **FLAG_ENABLE_MOTOR** = **1** --- When activated, a motor turns the hinge.
+- **FLAG_MAX** = **2** --- End flag of FLAG\_\* constants, used internally.
+
+  .. _enum_HingeJoint_Param:
+
+enum **Param**
 
 - **PARAM_BIAS** = **0** --- The speed with wich the two bodies get pulled together when they move in different directions.
 - **PARAM_LIMIT_UPPER** = **1** --- The maximum rotation. only active if :ref:`angular_limit/enable<class_HingeJoint_angular_limit/enable>` is ``true``.
@@ -72,9 +84,7 @@ Numeric Constants
 - **PARAM_MOTOR_TARGET_VELOCITY** = **6** --- Target speed for the motor.
 - **PARAM_MOTOR_MAX_IMPULSE** = **7** --- Maximum acceleration for the motor.
 - **PARAM_MAX** = **8** --- End flag of PARAM\_\* constants, used internally.
-- **FLAG_USE_LIMIT** = **0** --- If ``true`` the hinges maximum and minimum rotation, defined by :ref:`angular_limit/lower<class_HingeJoint_angular_limit/lower>` and :ref:`angular_limit/upper<class_HingeJoint_angular_limit/upper>` has effects.
-- **FLAG_ENABLE_MOTOR** = **1** --- When activated, a motor turns the hinge.
-- **FLAG_MAX** = **2** --- End flag of FLAG\_\* constants, used internally.
+
 
 Description
 -----------

+ 27 - 12
classes/class_httpclient.rst

@@ -59,19 +59,13 @@ Member Functions
 | void                                           | :ref:`set_read_chunk_size<class_HTTPClient_set_read_chunk_size>` **(** :ref:`int<class_int>` bytes **)**                                                                                                                          |
 +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_HTTPClient_Status:
+
+enum **Status**
 
-- **METHOD_GET** = **0** --- HTTP GET method. The GET method requests a representation of the specified resource. Requests using GET should only retrieve data.
-- **METHOD_HEAD** = **1** --- HTTP HEAD method. The HEAD method asks for a response identical to that of a GET request, but without the response body. This is useful to request metadata like HTTP headers or to check if a resource exists.
-- **METHOD_POST** = **2** --- HTTP POST method. The POST method is used to submit an entity to the specified resource, often causing a change in state or side effects on the server. This is often used for forms and submitting data or uploading files.
-- **METHOD_PUT** = **3** --- HTTP PUT method. The PUT method asks to replace all current representations of the target resource with the request payload. (You can think of ``POST`` as "create or update" and ``PUT`` as "update", although many services tend to not make a clear distinction or change their meaning).
-- **METHOD_DELETE** = **4** --- HTTP DELETE method. The DELETE method requests to delete the specified resource.
-- **METHOD_OPTIONS** = **5** --- HTTP OPTIONS method. The OPTIONS method asks for a description of the communication options for the target resource. Rarely used.
-- **METHOD_TRACE** = **6** --- HTTP TRACE method. The TRACE method performs a message loop-back test along the path to the target resource. Returns the entire HTTP request received in the response body. Rarely used.
-- **METHOD_CONNECT** = **7** --- HTTP CONNECT method. The CONNECT method establishes a tunnel to the server identified by the target resource. Rarely used.
-- **METHOD_PATCH** = **8** --- HTTP PATCH method. The PATCH method is used to apply partial modifications to a resource.
-- **METHOD_MAX** = **9** --- Marker for end of ``METHOD\_\*`` enum. Not used.
 - **STATUS_DISCONNECTED** = **0** --- Status: Disconnected from the server.
 - **STATUS_RESOLVING** = **1** --- Status: Currently resolving the hostname for the given URL into an IP.
 - **STATUS_CANT_RESOLVE** = **2** --- Status: DNS failure: Can't resolve the hostname for the given URL.
@@ -82,6 +76,26 @@ Numeric Constants
 - **STATUS_BODY** = **7** --- Status: HTTP body received.
 - **STATUS_CONNECTION_ERROR** = **8** --- Status: Error in HTTP connection.
 - **STATUS_SSL_HANDSHAKE_ERROR** = **9** --- Status: Error in SSL handshake.
+
+  .. _enum_HTTPClient_Method:
+
+enum **Method**
+
+- **METHOD_GET** = **0** --- HTTP GET method. The GET method requests a representation of the specified resource. Requests using GET should only retrieve data.
+- **METHOD_HEAD** = **1** --- HTTP HEAD method. The HEAD method asks for a response identical to that of a GET request, but without the response body. This is useful to request metadata like HTTP headers or to check if a resource exists.
+- **METHOD_POST** = **2** --- HTTP POST method. The POST method is used to submit an entity to the specified resource, often causing a change in state or side effects on the server. This is often used for forms and submitting data or uploading files.
+- **METHOD_PUT** = **3** --- HTTP PUT method. The PUT method asks to replace all current representations of the target resource with the request payload. (You can think of ``POST`` as "create or update" and ``PUT`` as "update", although many services tend to not make a clear distinction or change their meaning).
+- **METHOD_DELETE** = **4** --- HTTP DELETE method. The DELETE method requests to delete the specified resource.
+- **METHOD_OPTIONS** = **5** --- HTTP OPTIONS method. The OPTIONS method asks for a description of the communication options for the target resource. Rarely used.
+- **METHOD_TRACE** = **6** --- HTTP TRACE method. The TRACE method performs a message loop-back test along the path to the target resource. Returns the entire HTTP request received in the response body. Rarely used.
+- **METHOD_CONNECT** = **7** --- HTTP CONNECT method. The CONNECT method establishes a tunnel to the server identified by the target resource. Rarely used.
+- **METHOD_PATCH** = **8** --- HTTP PATCH method. The PATCH method is used to apply partial modifications to a resource.
+- **METHOD_MAX** = **9** --- Marker for end of ``METHOD\_\*`` enum. Not used.
+
+  .. _enum_HTTPClient_ResponseCode:
+
+enum **ResponseCode**
+
 - **RESPONSE_CONTINUE** = **100** --- HTTP status code ``100 Continue``. Interim response that indicates everything so far is OK and that the client should continue with the request (or ignore this status if already finished).
 - **RESPONSE_SWITCHING_PROTOCOLS** = **101** --- HTTP status code ``101 Switching Protocol``. Sent in response to an ``Upgrade`` request header by the client. Indicates the protocol the server is switching to.
 - **RESPONSE_PROCESSING** = **102** --- HTTP status code ``102 Processing`` (WebDAV). Indicates that the server has received and is processing the request, but no response is available yet.
@@ -144,6 +158,7 @@ Numeric Constants
 - **RESPONSE_NOT_EXTENDED** = **510** --- HTTP status code ``510 Not Extended``. The policy for accessing the resource has not been met in the request. The server should send back all the information necessary for the client to issue an extended request.
 - **RESPONSE_NETWORK_AUTH_REQUIRED** = **511** --- HTTP status code ``511 Network Authentication Required``. The client needs to authenticate to gain network access.
 
+
 Description
 -----------
 

+ 7 - 2
classes/class_httprequest.rst

@@ -61,8 +61,12 @@ Member Variables
 - :ref:`bool<class_bool>` **use_threads** - If ``true`` multithreading is used to improve performance.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_HTTPRequest_Result:
+
+enum **Result**
 
 - **RESULT_SUCCESS** = **0** --- Request successful.
 - **RESULT_CHUNKED_BODY_SIZE_MISMATCH** = **1**
@@ -77,6 +81,7 @@ Numeric Constants
 - **RESULT_DOWNLOAD_FILE_WRITE_ERROR** = **10** --- HTTPRequest couldn't write to the download file.
 - **RESULT_REDIRECT_LIMIT_REACHED** = **11** --- Request reached its maximum redirect limit, see :ref:`set_max_redirects<class_HTTPRequest_set_max_redirects>`.
 
+
 Description
 -----------
 

+ 42 - 16
classes/class_image.rst

@@ -119,8 +119,46 @@ Member Variables
 - :ref:`Dictionary<class_dictionary>` **data** - Holds all of the image's color data in a given format. See ``FORMAT\_\*`` constants.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_Image_CompressMode:
+
+enum **CompressMode**
+
+- **COMPRESS_S3TC** = **0**
+- **COMPRESS_PVRTC2** = **1**
+- **COMPRESS_PVRTC4** = **2**
+- **COMPRESS_ETC** = **3**
+- **COMPRESS_ETC2** = **4**
+
+  .. _enum_Image_Interpolation:
+
+enum **Interpolation**
+
+- **INTERPOLATE_NEAREST** = **0**
+- **INTERPOLATE_BILINEAR** = **1**
+- **INTERPOLATE_CUBIC** = **2**
+
+  .. _enum_Image_AlphaMode:
+
+enum **AlphaMode**
+
+- **ALPHA_NONE** = **0**
+- **ALPHA_BIT** = **1**
+- **ALPHA_BLEND** = **2**
+
+  .. _enum_Image_CompressSource:
+
+enum **CompressSource**
+
+- **COMPRESS_SOURCE_GENERIC** = **0**
+- **COMPRESS_SOURCE_SRGB** = **1**
+- **COMPRESS_SOURCE_NORMAL** = **2**
+
+  .. _enum_Image_Format:
+
+enum **Format**
 
 - **FORMAT_L8** = **0**
 - **FORMAT_LA8** = **1**
@@ -160,20 +198,7 @@ Numeric Constants
 - **FORMAT_ETC2_RGBA8** = **35**
 - **FORMAT_ETC2_RGB8A1** = **36**
 - **FORMAT_MAX** = **37**
-- **INTERPOLATE_NEAREST** = **0**
-- **INTERPOLATE_BILINEAR** = **1**
-- **INTERPOLATE_CUBIC** = **2**
-- **ALPHA_NONE** = **0**
-- **ALPHA_BIT** = **1**
-- **ALPHA_BLEND** = **2**
-- **COMPRESS_S3TC** = **0**
-- **COMPRESS_PVRTC2** = **1**
-- **COMPRESS_PVRTC4** = **2**
-- **COMPRESS_ETC** = **3**
-- **COMPRESS_ETC2** = **4**
-- **COMPRESS_SOURCE_GENERIC** = **0**
-- **COMPRESS_SOURCE_SRGB** = **1**
-- **COMPRESS_SOURCE_NORMAL** = **2**
+
 
 Description
 -----------
@@ -434,6 +459,7 @@ Sets the :ref:`Color<class_color>` of the pixel at ``(x, y)`` if the image is lo
 ::
 
     var img = Image.new()
+    img.create(img_width, img_height, false, Image.FORMAT_RGBA8)
     img.lock()
     img.set_pixel(x, y, color) # Works
     img.unlock()

+ 7 - 2
classes/class_imagetexture.rst

@@ -41,13 +41,18 @@ Member Functions
 | void                       | :ref:`set_storage<class_ImageTexture_set_storage>` **(** :ref:`int<class_int>` mode **)**                                                                                   |
 +----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_ImageTexture_Storage:
+
+enum **Storage**
 
 - **STORAGE_RAW** = **0** --- :ref:`Image<class_image>` data is stored raw and unaltered.
 - **STORAGE_COMPRESS_LOSSY** = **1** --- :ref:`Image<class_image>` data is compressed with a lossy algorithm. You can set the storage quality with :ref:`set_lossy_storage_quality<class_ImageTexture_set_lossy_storage_quality>`.
 - **STORAGE_COMPRESS_LOSSLESS** = **2** --- :ref:`Image<class_image>` data is compressed with a lossless algorithm.
 
+
 Description
 -----------
 

+ 12 - 2
classes/class_input.rst

@@ -103,13 +103,22 @@ Signals
 Emitted when a joypad device has been connected or disconnected
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_Input_MouseMode:
+
+enum **MouseMode**
 
 - **MOUSE_MODE_VISIBLE** = **0** --- Makes the mouse cursor visible if it is hidden.
 - **MOUSE_MODE_HIDDEN** = **1** --- Makes the mouse cursor hidden if it is visible.
 - **MOUSE_MODE_CAPTURED** = **2** --- Captures the mouse. The mouse will be hidden and unable to leave the game window. But it will still register movement and mouse button presses.
 - **MOUSE_MODE_CONFINED** = **3**
+
+  .. _enum_Input_CursorShape:
+
+enum **CursorShape**
+
 - **CURSOR_ARROW** = **0**
 - **CURSOR_IBEAM** = **1**
 - **CURSOR_POINTING_HAND** = **2**
@@ -128,6 +137,7 @@ Numeric Constants
 - **CURSOR_HSPLIT** = **15**
 - **CURSOR_HELP** = **16**
 
+
 Description
 -----------
 

+ 1 - 1
classes/class_inputeventjoypadbutton.rst

@@ -29,7 +29,7 @@ Member Variables
 
   .. _class_InputEventJoypadButton_pressure:
 
-- :ref:`float<class_float>` **pressure** - Represents the pressure the user puts on the button with their finger, if the controller supports it. Ranges from ``0`` to ``1``.
+- :ref:`float<class_float>` **pressure** - Represents the pressure the user puts on the button with his finger, if the controller supports it. Ranges from ``0`` to ``1``.
 
 
 Description

+ 16 - 2
classes/class_ip.rst

@@ -40,17 +40,31 @@ Member Functions
 Numeric Constants
 -----------------
 
+- **RESOLVER_MAX_QUERIES** = **32** --- Maximum number of concurrent DNS resolver queries allowed, ``RESOLVER_INVALID_ID`` is returned if exceeded.
+- **RESOLVER_INVALID_ID** = **-1** --- Invalid ID constant. Returned if ``RESOLVER_MAX_QUERIES`` is exceeded.
+
+Enums
+-----
+
+  .. _enum_IP_ResolverStatus:
+
+enum **ResolverStatus**
+
 - **RESOLVER_STATUS_NONE** = **0** --- DNS hostname resolver status: No status.
 - **RESOLVER_STATUS_WAITING** = **1** --- DNS hostname resolver status: Waiting.
 - **RESOLVER_STATUS_DONE** = **2** --- DNS hostname resolver status: Done.
 - **RESOLVER_STATUS_ERROR** = **3** --- DNS hostname resolver status: Error.
-- **RESOLVER_MAX_QUERIES** = **32** --- Maximum number of concurrent DNS resolver queries allowed, ``RESOLVER_INVALID_ID`` is returned if exceeded.
-- **RESOLVER_INVALID_ID** = **-1** --- Invalid ID constant. Returned if ``RESOLVER_MAX_QUERIES`` is exceeded.
+
+  .. _enum_IP_Type:
+
+enum **Type**
+
 - **TYPE_NONE** = **0** --- Address type: None.
 - **TYPE_IPV4** = **1** --- Address type: Internet protocol version 4 (IPv4).
 - **TYPE_IPV6** = **2** --- Address type: Internet protocol version 6 (IPv6).
 - **TYPE_ANY** = **3** --- Address type: Any.
 
+
 Description
 -----------
 

+ 14 - 4
classes/class_itemlist.rst

@@ -144,7 +144,7 @@ Member Variables
 
   .. _class_ItemList_icon_mode:
 
-- :ref:`int<class_int>` **icon_mode**
+- :ref:`IconMode<enum_itemlist_iconmode>` **icon_mode**
 
   .. _class_ItemList_icon_scale:
 
@@ -164,17 +164,27 @@ Member Variables
 
   .. _class_ItemList_select_mode:
 
-- :ref:`int<class_int>` **select_mode**
+- :ref:`SelectMode<enum_itemlist_selectmode>` **select_mode**
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_ItemList_IconMode:
+
+enum **IconMode**
 
 - **ICON_MODE_TOP** = **0**
 - **ICON_MODE_LEFT** = **1**
+
+  .. _enum_ItemList_SelectMode:
+
+enum **SelectMode**
+
 - **SELECT_SINGLE** = **0**
 - **SELECT_MULTI** = **1**
 
+
 Description
 -----------
 

+ 1 - 1
classes/class_jsonparseresult.rst

@@ -21,7 +21,7 @@ Member Variables
 
   .. _class_JSONParseResult_error:
 
-- :ref:`int<class_int>` **error** - The error type if JSON source was not successfully parsed. See :ref:`@GlobalScope<class_@globalscope>` ERR\_\* constants.
+- Error **error** - The error type if JSON source was not successfully parsed. See :ref:`@GlobalScope<class_@globalscope>` ERR\_\* constants.
 
   .. _class_JSONParseResult_error_line:
 

+ 1 - 1
classes/class_kinematicbody.rst

@@ -133,7 +133,7 @@ Moves the body along a vector. If the body collides with another, it will slide
 
 ``linear_velocity`` is a value in pixels per second. Unlike in for example :ref:`move_and_collide<class_KinematicBody_move_and_collide>`, you should *not* multiply it with ``delta`` — this is done by the method.
 
-``floor_normal`` is the up direction, used to determine what is a wall and what is a floor or a ceiling. If set to the default value of ``Vector2(0, 0)``, everything is considered a wall. This is useful for topdown games.
+``floor_normal`` is the up direction, used to determine what is a wall and what is a floor or a ceiling. If set to the default value of ``Vector3(0, 0, 0)``, everything is considered a wall. This is useful for topdown games.
 
 If the body is standing on a slope and the horizontal speed (relative to the floor's speed) goes below ``slope_stop_min_velocity``, the body will stop completely. This prevents the body from sliding down slopes when you include gravity in ``linear_velocity``. When set to lower values, the body will not be able to stand still on steep slopes.
 

+ 16 - 4
classes/class_label.rst

@@ -38,7 +38,7 @@ Member Variables
 
   .. _class_Label_align:
 
-- :ref:`int<class_int>` **align** - Controls the text's horizontal align. Supports left, center, right, and fill, or justify. Set it to one of the ``ALIGN\_\*`` constants.
+- :ref:`Align<enum_label_align>` **align** - Controls the text's horizontal align. Supports left, center, right, and fill, or justify. Set it to one of the ``ALIGN\_\*`` constants.
 
   .. _class_Label_autowrap:
 
@@ -70,26 +70,38 @@ Member Variables
 
   .. _class_Label_valign:
 
-- :ref:`int<class_int>` **valign** - Controls the text's vertical align. Supports top, center, bottom, and fill. Set it to one of the ``VALIGN\_\*`` constants.
+- :ref:`VAlign<enum_label_valign>` **valign** - Controls the text's vertical align. Supports top, center, bottom, and fill. Set it to one of the ``VALIGN\_\*`` constants.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_Label_Align:
+
+enum **Align**
 
 - **ALIGN_LEFT** = **0** --- Align rows to the left (default).
 - **ALIGN_CENTER** = **1** --- Align rows centered.
 - **ALIGN_RIGHT** = **2** --- Align rows to the right (default).
 - **ALIGN_FILL** = **3** --- Expand row whitespaces to fit the width.
+
+  .. _enum_Label_VAlign:
+
+enum **VAlign**
+
 - **VALIGN_TOP** = **0** --- Align the whole text to the top.
 - **VALIGN_CENTER** = **1** --- Align the whole text to the center.
 - **VALIGN_BOTTOM** = **2** --- Align the whole text to the bottom.
 - **VALIGN_FILL** = **3** --- Align the whole text by spreading the rows.
 
+
 Description
 -----------
 
 Label displays plain text on the screen. It gives you control over the horizontal and vertical alignment, and can wrap the text inside the node's bounding rectangle. It doesn't support bold, italics or other formatting. For that, use :ref:`RichTextLabel<class_richtextlabel>` instead.
 
+Note that contrarily to most other :ref:`Control<class_control>`\ s, Label's :ref:`Control.mouse_filter<class_Control_mouse_filter>` defaults to MOUSE_FILTER_IGNORE (i.e. it doesn't react to mouse input events).
+
 Member Function Description
 ---------------------------
 

+ 16 - 6
classes/class_light.rst

@@ -27,7 +27,7 @@ Member Variables
 
   .. _class_Light_light_bake_mode:
 
-- :ref:`int<class_int>` **light_bake_mode**
+- :ref:`BakeMode<enum_light_bakemode>` **light_bake_mode**
 
   .. _class_Light_light_color:
 
@@ -74,8 +74,20 @@ Member Variables
 - :ref:`bool<class_bool>` **shadow_reverse_cull_face**
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_Light_BakeMode:
+
+enum **BakeMode**
+
+- **BAKE_DISABLED** = **0**
+- **BAKE_INDIRECT** = **1**
+- **BAKE_ALL** = **2**
+
+  .. _enum_Light_Param:
+
+enum **Param**
 
 - **PARAM_ENERGY** = **0**
 - **PARAM_INDIRECT_ENERGY** = **1**
@@ -93,9 +105,7 @@ Numeric Constants
 - **PARAM_SHADOW_BIAS** = **13**
 - **PARAM_SHADOW_BIAS_SPLIT_SCALE** = **14**
 - **PARAM_MAX** = **15**
-- **BAKE_DISABLED** = **0**
-- **BAKE_INDIRECT** = **1**
-- **BAKE_ALL** = **2**
+
 
 Description
 -----------

+ 14 - 4
classes/class_light2d.rst

@@ -37,7 +37,7 @@ Member Variables
 
   .. _class_Light2D_mode:
 
-- :ref:`int<class_int>` **mode** - The Light2D's mode. See MODE\_\* constants for values.
+- :ref:`Mode<enum_light2d_mode>` **mode** - The Light2D's mode. See MODE\_\* constants for values.
 
   .. _class_Light2D_offset:
 
@@ -81,7 +81,7 @@ Member Variables
 
   .. _class_Light2D_shadow_filter:
 
-- :ref:`int<class_int>` **shadow_filter** - Shadow filter type. Use SHADOW_FILTER\_\* constants to set ``shadow_filter``. Default value: ``None``.
+- :ref:`ShadowFilter<enum_light2d_shadowfilter>` **shadow_filter** - Shadow filter type. Use SHADOW_FILTER\_\* constants to set ``shadow_filter``. Default value: ``None``.
 
   .. _class_Light2D_shadow_filter_smooth:
 
@@ -104,13 +104,22 @@ Member Variables
 - :ref:`float<class_float>` **texture_scale** - The ``texture``'s scale factor.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_Light2D_Mode:
+
+enum **Mode**
 
 - **MODE_ADD** = **0** --- Adds the value of pixels corresponding to the Light2D to the values of pixels under it. This is the common behaviour of a light.
 - **MODE_SUB** = **1** --- Subtracts the value of pixels corresponding to the Light2D to the values of pixels under it, resulting in inversed light effect.
 - **MODE_MIX** = **2** --- Mix the value of pixels corresponding to the Light2D to the values of pixels under it by linear interpolation.
 - **MODE_MASK** = **3** --- The light texture of the Light2D is used as a mask, hiding or revealing parts of the screen underneath depending on the value of each pixel of the light (mask) texture.
+
+  .. _enum_Light2D_ShadowFilter:
+
+enum **ShadowFilter**
+
 - **SHADOW_FILTER_NONE** = **0** --- No filter applies to the shadow map. See :ref:`shadow_filter<class_Light2D_shadow_filter>`.
 - **SHADOW_FILTER_PCF3** = **1** --- Percentage closer filtering (3 samples) applies to the shadow map. See :ref:`shadow_filter<class_Light2D_shadow_filter>`.
 - **SHADOW_FILTER_PCF5** = **2** --- Percentage closer filtering (5 samples) applies to the shadow map. See :ref:`shadow_filter<class_Light2D_shadow_filter>`.
@@ -118,6 +127,7 @@ Numeric Constants
 - **SHADOW_FILTER_PCF9** = **4** --- Percentage closer filtering (9 samples) applies to the shadow map. See :ref:`shadow_filter<class_Light2D_shadow_filter>`.
 - **SHADOW_FILTER_PCF13** = **5** --- Percentage closer filtering (13 samples) applies to the shadow map. See :ref:`shadow_filter<class_Light2D_shadow_filter>`.
 
+
 Description
 -----------
 

+ 24 - 9
classes/class_line2d.rst

@@ -36,7 +36,7 @@ Member Variables
 
   .. _class_Line2D_begin_cap_mode:
 
-- :ref:`int<class_int>` **begin_cap_mode** - Controls the style of the line's first point. Use ``LINE_CAP\_\*`` constants. Default value: ``LINE_CAP_NONE``.
+- :ref:`LineCapMode<enum_line2d_linecapmode>` **begin_cap_mode** - Controls the style of the line's first point. Use ``LINE_CAP\_\*`` constants. Default value: ``LINE_CAP_NONE``.
 
   .. _class_Line2D_default_color:
 
@@ -44,7 +44,7 @@ Member Variables
 
   .. _class_Line2D_end_cap_mode:
 
-- :ref:`int<class_int>` **end_cap_mode** - Controls the style of the line's last point. Use ``LINE_CAP\_\*`` constants. Default value: ``LINE_CAP_NONE``.
+- :ref:`LineCapMode<enum_line2d_linecapmode>` **end_cap_mode** - Controls the style of the line's last point. Use ``LINE_CAP\_\*`` constants. Default value: ``LINE_CAP_NONE``.
 
   .. _class_Line2D_gradient:
 
@@ -52,7 +52,7 @@ Member Variables
 
   .. _class_Line2D_joint_mode:
 
-- :ref:`int<class_int>` **joint_mode** - The style for the points inbetween the start and the end.
+- :ref:`LineJointMode<enum_line2d_linejointmode>` **joint_mode** - The style for the points inbetween the start and the end.
 
   .. _class_Line2D_points:
 
@@ -72,25 +72,40 @@ Member Variables
 
   .. _class_Line2D_texture_mode:
 
-- :ref:`int<class_int>` **texture_mode** - The style to render the ``texture`` on the line. Use ``LINE_TEXTURE\_\*`` constants. Default value: ``LINE_TEXTURE_NONE``.
+- :ref:`LineTextureMode<enum_line2d_linetexturemode>` **texture_mode** - The style to render the ``texture`` on the line. Use ``LINE_TEXTURE\_\*`` constants. Default value: ``LINE_TEXTURE_NONE``.
 
   .. _class_Line2D_width:
 
 - :ref:`float<class_float>` **width** - The line's width.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_Line2D_LineCapMode:
+
+enum **LineCapMode**
 
-- **LINE_JOINT_SHARP** = **0** --- The line's joints will be pointy. If ``sharp_limit`` is greater than the rotation of a joint, it becomes a bevel joint instead.
-- **LINE_JOINT_BEVEL** = **1** --- The line's joints will be bevelled/chamfered.
-- **LINE_JOINT_ROUND** = **2** --- The line's joints will be rounded.
 - **LINE_CAP_NONE** = **0** --- Don't have a line cap.
 - **LINE_CAP_BOX** = **1** --- Draws the line cap as a box.
 - **LINE_CAP_ROUND** = **2** --- Draws the line cap as a circle.
+
+  .. _enum_Line2D_LineTextureMode:
+
+enum **LineTextureMode**
+
 - **LINE_TEXTURE_NONE** = **0** --- Takes the left pixels of the texture and renders it over the whole line.
 - **LINE_TEXTURE_TILE** = **1** --- Tiles the texture over the line. The texture need to be imported with Repeat Enabled for it to work properly.
 
+  .. _enum_Line2D_LineJointMode:
+
+enum **LineJointMode**
+
+- **LINE_JOINT_SHARP** = **0** --- The line's joints will be pointy. If ``sharp_limit`` is greater than the rotation of a joint, it becomes a bevel joint instead.
+- **LINE_JOINT_BEVEL** = **1** --- The line's joints will be bevelled/chamfered.
+- **LINE_JOINT_ROUND** = **2** --- The line's joints will be rounded.
+
+
 Description
 -----------
 

+ 16 - 6
classes/class_lineedit.rst

@@ -44,13 +44,13 @@ Signals
 
 .. _class_LineEdit_text_changed:
 
-- **text_changed** **(** :ref:`String<class_string>` text **)**
+- **text_changed** **(** :ref:`String<class_string>` new_text **)**
 
 Emitted when the text changes.
 
 .. _class_LineEdit_text_entered:
 
-- **text_entered** **(** :ref:`String<class_string>` text **)**
+- **text_entered** **(** :ref:`String<class_string>` new_text **)**
 
 Emitted when the user presses KEY_ENTER on the ``LineEdit``.
 
@@ -60,7 +60,7 @@ Member Variables
 
   .. _class_LineEdit_align:
 
-- :ref:`int<class_int>` **align** - Text alignment as defined in the ALIGN\_\* enum.
+- :ref:`Align<enum_lineedit_align>` **align** - Text alignment as defined in the ALIGN\_\* enum.
 
   .. _class_LineEdit_caret_blink:
 
@@ -84,7 +84,7 @@ Member Variables
 
   .. _class_LineEdit_focus_mode:
 
-- :ref:`int<class_int>` **focus_mode** - Defines how the :ref:`LineEdit<class_lineedit>` can grab focus (Keyboard and mouse, only keyboard, or none). See ``enum FocusMode`` in :ref:`Control<class_control>` for details.
+- :ref:`FocusMode<enum_control_focusmode>` **focus_mode** - Defines how the :ref:`LineEdit<class_lineedit>` can grab focus (Keyboard and mouse, only keyboard, or none). See ``enum FocusMode`` in :ref:`Control<class_control>` for details.
 
   .. _class_LineEdit_max_length:
 
@@ -107,13 +107,22 @@ Member Variables
 - :ref:`String<class_string>` **text** - String value of the :ref:`LineEdit<class_lineedit>`.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_LineEdit_Align:
+
+enum **Align**
 
 - **ALIGN_LEFT** = **0** --- Aligns the text on the left hand side of the :ref:`LineEdit<class_lineedit>`.
 - **ALIGN_CENTER** = **1** --- Centers the text in the middle of the :ref:`LineEdit<class_lineedit>`.
 - **ALIGN_RIGHT** = **2** --- Aligns the text on the right hand side of the :ref:`LineEdit<class_lineedit>`.
 - **ALIGN_FILL** = **3** --- Stretches whitespaces to fit the :ref:`LineEdit<class_lineedit>`'s width.
+
+  .. _enum_LineEdit_MenuItems:
+
+enum **MenuItems**
+
 - **MENU_CUT** = **0** --- Cuts (Copies and clears) the selected text.
 - **MENU_COPY** = **1** --- Copies the selected text.
 - **MENU_PASTE** = **2** --- Pastes the clipboard text over the selected text (or at the cursor's position).
@@ -123,6 +132,7 @@ Numeric Constants
 - **MENU_REDO** = **6**
 - **MENU_MAX** = **7**
 
+
 Description
 -----------
 

+ 8 - 3
classes/class_linkbutton.rst

@@ -25,16 +25,21 @@ Member Variables
 
   .. _class_LinkButton_underline:
 
-- :ref:`int<class_int>` **underline**
+- :ref:`UnderlineMode<enum_linkbutton_underlinemode>` **underline**
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_LinkButton_UnderlineMode:
+
+enum **UnderlineMode**
 
 - **UNDERLINE_MODE_ALWAYS** = **0** --- The LinkButton will always show an underline at the bottom of its text
 - **UNDERLINE_MODE_ON_HOVER** = **1** --- The LinkButton will show an underline at the bottom of its text when the mouse cursor is over it.
 - **UNDERLINE_MODE_NEVER** = **2** --- The LinkButton will never show an underline at the bottom of its text.
 
+
 Description
 -----------
 

+ 39 - 19
classes/class_mesh.rst

@@ -41,18 +41,35 @@ Member Variables
 - :ref:`Vector2<class_vector2>` **lightmap_size_hint**
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_Mesh_BlendShapeMode:
+
+enum **BlendShapeMode**
 
-- **PRIMITIVE_POINTS** = **0** --- Render array as points (one vertex equals one point).
-- **PRIMITIVE_LINES** = **1** --- Render array as lines (every two vertices a line is created).
-- **PRIMITIVE_LINE_STRIP** = **2** --- Render array as line strip.
-- **PRIMITIVE_LINE_LOOP** = **3** --- Render array as line loop (like line strip, but closed).
-- **PRIMITIVE_TRIANGLES** = **4** --- Render array as triangles (every three vertices a triangle is created).
-- **PRIMITIVE_TRIANGLE_STRIP** = **5** --- Render array as triangle strips.
-- **PRIMITIVE_TRIANGLE_FAN** = **6** --- Render array as triangle fans.
 - **BLEND_SHAPE_MODE_NORMALIZED** = **0**
 - **BLEND_SHAPE_MODE_RELATIVE** = **1**
+
+  .. _enum_Mesh_ArrayType:
+
+enum **ArrayType**
+
+- **ARRAY_VERTEX** = **0**
+- **ARRAY_NORMAL** = **1**
+- **ARRAY_TANGENT** = **2**
+- **ARRAY_COLOR** = **3**
+- **ARRAY_TEX_UV** = **4**
+- **ARRAY_TEX_UV2** = **5**
+- **ARRAY_BONES** = **6**
+- **ARRAY_WEIGHTS** = **7**
+- **ARRAY_INDEX** = **8**
+- **ARRAY_MAX** = **9**
+
+  .. _enum_Mesh_ArrayFormat:
+
+enum **ArrayFormat**
+
 - **ARRAY_FORMAT_VERTEX** = **1**
 - **ARRAY_FORMAT_NORMAL** = **2**
 - **ARRAY_FORMAT_TANGENT** = **4**
@@ -75,16 +92,19 @@ Numeric Constants
 - **ARRAY_FLAG_USE_2D_VERTICES** = **262144**
 - **ARRAY_FLAG_USE_16_BIT_BONES** = **524288**
 - **ARRAY_COMPRESS_DEFAULT** = **97792**
-- **ARRAY_VERTEX** = **0**
-- **ARRAY_NORMAL** = **1**
-- **ARRAY_TANGENT** = **2**
-- **ARRAY_COLOR** = **3**
-- **ARRAY_TEX_UV** = **4**
-- **ARRAY_TEX_UV2** = **5**
-- **ARRAY_BONES** = **6**
-- **ARRAY_WEIGHTS** = **7**
-- **ARRAY_INDEX** = **8**
-- **ARRAY_MAX** = **9**
+
+  .. _enum_Mesh_PrimitiveType:
+
+enum **PrimitiveType**
+
+- **PRIMITIVE_POINTS** = **0** --- Render array as points (one vertex equals one point).
+- **PRIMITIVE_LINES** = **1** --- Render array as lines (every two vertices a line is created).
+- **PRIMITIVE_LINE_STRIP** = **2** --- Render array as line strip.
+- **PRIMITIVE_LINE_LOOP** = **3** --- Render array as line loop (like line strip, but closed).
+- **PRIMITIVE_TRIANGLES** = **4** --- Render array as triangles (every three vertices a triangle is created).
+- **PRIMITIVE_TRIANGLE_STRIP** = **5** --- Render array as triangle strips.
+- **PRIMITIVE_TRIANGLE_FAN** = **6** --- Render array as triangle fans.
+
 
 Description
 -----------

+ 14 - 4
classes/class_multimesh.rst

@@ -36,7 +36,7 @@ Member Variables
 
   .. _class_MultiMesh_color_format:
 
-- :ref:`int<class_int>` **color_format**
+- :ref:`ColorFormat<enum_multimesh_colorformat>` **color_format**
 
   .. _class_MultiMesh_instance_count:
 
@@ -48,18 +48,28 @@ Member Variables
 
   .. _class_MultiMesh_transform_format:
 
-- :ref:`int<class_int>` **transform_format**
+- :ref:`TransformFormat<enum_multimesh_transformformat>` **transform_format**
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_MultiMesh_TransformFormat:
+
+enum **TransformFormat**
 
 - **TRANSFORM_2D** = **0**
 - **TRANSFORM_3D** = **1**
+
+  .. _enum_MultiMesh_ColorFormat:
+
+enum **ColorFormat**
+
 - **COLOR_NONE** = **0**
 - **COLOR_8BIT** = **1**
 - **COLOR_FLOAT** = **2**
 
+
 Description
 -----------
 

+ 7 - 2
classes/class_networkedmultiplayerenet.rst

@@ -33,8 +33,12 @@ Member Functions
 | void                   | :ref:`set_compression_mode<class_NetworkedMultiplayerENet_set_compression_mode>` **(** :ref:`int<class_int>` mode **)**                                                                                                      |
 +------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_NetworkedMultiplayerENet_CompressionMode:
+
+enum **CompressionMode**
 
 - **COMPRESS_NONE** = **0**
 - **COMPRESS_RANGE_CODER** = **1**
@@ -42,6 +46,7 @@ Numeric Constants
 - **COMPRESS_ZLIB** = **3**
 - **COMPRESS_ZSTD** = **4**
 
+
 Description
 -----------
 

+ 16 - 2
classes/class_networkedmultiplayerpeer.rst

@@ -76,14 +76,28 @@ Emitted by clients when the server disconnects.
 Numeric Constants
 -----------------
 
+- **TARGET_PEER_BROADCAST** = **0** --- Packets are sent to the server and then redistributed to other peers.
+- **TARGET_PEER_SERVER** = **1** --- Packets are sent to the server alone.
+
+Enums
+-----
+
+  .. _enum_NetworkedMultiplayerPeer_TransferMode:
+
+enum **TransferMode**
+
 - **TRANSFER_MODE_UNRELIABLE** = **0** --- Packets are sent via unordered UDP packets.
 - **TRANSFER_MODE_UNRELIABLE_ORDERED** = **1** --- Packets are sent via ordered UDP packets.
 - **TRANSFER_MODE_RELIABLE** = **2** --- Packets are sent via TCP packets.
+
+  .. _enum_NetworkedMultiplayerPeer_ConnectionStatus:
+
+enum **ConnectionStatus**
+
 - **CONNECTION_DISCONNECTED** = **0** --- The ongoing connection disconnected.
 - **CONNECTION_CONNECTING** = **1** --- A connection attempt is ongoing.
 - **CONNECTION_CONNECTED** = **2** --- The connection attempt succeeded.
-- **TARGET_PEER_BROADCAST** = **0** --- Packets are sent to the server and then redistributed to other peers.
-- **TARGET_PEER_SERVER** = **1** --- Packets are sent to the server alone.
+
 
 Description
 -----------

+ 9 - 4
classes/class_ninepatchrect.rst

@@ -31,11 +31,11 @@ Member Variables
 
   .. _class_NinePatchRect_axis_stretch_horizontal:
 
-- :ref:`int<class_int>` **axis_stretch_horizontal** - Doesn't do anything at the time of writing.
+- :ref:`AxisStretchMode<enum_ninepatchrect_axisstretchmode>` **axis_stretch_horizontal** - Doesn't do anything at the time of writing.
 
   .. _class_NinePatchRect_axis_stretch_vertical:
 
-- :ref:`int<class_int>` **axis_stretch_vertical** - Doesn't do anything at the time of writing.
+- :ref:`AxisStretchMode<enum_ninepatchrect_axisstretchmode>` **axis_stretch_vertical** - Doesn't do anything at the time of writing.
 
   .. _class_NinePatchRect_draw_center:
 
@@ -66,13 +66,18 @@ Member Variables
 - :ref:`Texture<class_texture>` **texture** - The node's texture resource.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_NinePatchRect_AxisStretchMode:
+
+enum **AxisStretchMode**
 
 - **AXIS_STRETCH_MODE_STRETCH** = **0** --- Doesn't do anything at the time of writing. Default value for ``axis_stretch_horizontal`` and ``axis_stretch_vertical``.
 - **AXIS_STRETCH_MODE_TILE** = **1** --- Doesn't do anything at the time of writing.
 - **AXIS_STRETCH_MODE_TILE_FIT** = **2** --- Doesn't do anything at the time of writing.
 
+
 Description
 -----------
 

+ 23 - 4
classes/class_node.rst

@@ -218,7 +218,7 @@ Member Variables
 
   .. _class_Node_pause_mode:
 
-- :ref:`int<class_int>` **pause_mode**
+- :ref:`PauseMode<enum_node_pausemode>` **pause_mode**
 
 
 Numeric Constants
@@ -241,19 +241,38 @@ Numeric Constants
 - **NOTIFICATION_TRANSLATION_CHANGED** = **24**
 - **NOTIFICATION_INTERNAL_PROCESS** = **25**
 - **NOTIFICATION_INTERNAL_PHYSICS_PROCESS** = **26**
+
+Enums
+-----
+
+  .. _enum_Node_PauseMode:
+
+enum **PauseMode**
+
+- **PAUSE_MODE_INHERIT** = **0** --- Inherits pause mode from parent. For root node, it is equivalent to PAUSE_MODE_STOP.
+- **PAUSE_MODE_STOP** = **1** --- Stop processing when SceneTree is paused.
+- **PAUSE_MODE_PROCESS** = **2** --- Continue to process regardless of SceneTree pause state.
+
+  .. _enum_Node_RPCMode:
+
+enum **RPCMode**
+
 - **RPC_MODE_DISABLED** = **0**
 - **RPC_MODE_REMOTE** = **1** --- Call a method remotely.
 - **RPC_MODE_SYNC** = **2** --- Call a method both remotely and locally.
 - **RPC_MODE_MASTER** = **3** --- Call a method if the Node is Master.
 - **RPC_MODE_SLAVE** = **4** --- Call a method if the Node is Slave.
-- **PAUSE_MODE_INHERIT** = **0** --- Inherits pause mode from parent. For root node, it is equivalent to PAUSE_MODE_STOP.
-- **PAUSE_MODE_STOP** = **1** --- Stop processing when SceneTree is paused.
-- **PAUSE_MODE_PROCESS** = **2** --- Continue to process regardless of SceneTree pause state.
+
+  .. _enum_Node_DuplicateFlags:
+
+enum **DuplicateFlags**
+
 - **DUPLICATE_SIGNALS** = **1** --- Duplicate the node's signals.
 - **DUPLICATE_GROUPS** = **2** --- Duplicate the node's groups.
 - **DUPLICATE_SCRIPTS** = **4** --- Duplicate the node's scripts.
 - **DUPLICATE_USE_INSTANCING** = **8** --- Duplicate using instancing.
 
+
 Description
 -----------
 

+ 9 - 0
classes/class_object.rst

@@ -118,10 +118,19 @@ Numeric Constants
 
 - **NOTIFICATION_POSTINITIALIZE** = **0** --- Called right when the object is initialized. Not available in script.
 - **NOTIFICATION_PREDELETE** = **1** --- Called before the object is about to be deleted.
+
+Enums
+-----
+
+  .. _enum_Object_ConnectFlags:
+
+enum **ConnectFlags**
+
 - **CONNECT_DEFERRED** = **1** --- Connect a signal in deferred mode. This way, signal emissions are stored in a queue, then set on idle time.
 - **CONNECT_PERSIST** = **2** --- Persisting connections are saved when the object is serialized to file.
 - **CONNECT_ONESHOT** = **4** --- One shot connections disconnect themselves after emission.
 
+
 Description
 -----------
 

+ 8 - 3
classes/class_occluderpolygon2d.rst

@@ -25,20 +25,25 @@ Member Variables
 
   .. _class_OccluderPolygon2D_cull_mode:
 
-- :ref:`int<class_int>` **cull_mode** - Set the direction of the occlusion culling when not ``CULL_DISABLED``. Default value ``DISABLED``.
+- :ref:`CullMode<enum_occluderpolygon2d_cullmode>` **cull_mode** - Set the direction of the occlusion culling when not ``CULL_DISABLED``. Default value ``DISABLED``.
 
   .. _class_OccluderPolygon2D_polygon:
 
 - :ref:`PoolVector2Array<class_poolvector2array>` **polygon** - A :ref:`Vector2<class_vector2>` array with the index for polygon's vertices positions.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_OccluderPolygon2D_CullMode:
+
+enum **CullMode**
 
 - **CULL_DISABLED** = **0** --- Culling mode for the occlusion. Disabled means no culling. See :ref:`cull_mode<class_OccluderPolygon2D_cull_mode>`.
 - **CULL_CLOCKWISE** = **1** --- Culling mode for the occlusion. Sets the culling to be in clockwise direction. See :ref:`cull_mode<class_OccluderPolygon2D_cull_mode>`.
 - **CULL_COUNTER_CLOCKWISE** = **2** --- Culling mode for the occlusion. Sets the culling to be in counter clockwise direction. See :ref:`cull_mode<class_OccluderPolygon2D_cull_mode>`.
 
+
 Description
 -----------
 

+ 16 - 6
classes/class_omnilight.rst

@@ -29,21 +29,31 @@ Member Variables
 
   .. _class_OmniLight_omni_shadow_detail:
 
-- :ref:`int<class_int>` **omni_shadow_detail**
+- :ref:`ShadowDetail<enum_omnilight_shadowdetail>` **omni_shadow_detail**
 
   .. _class_OmniLight_omni_shadow_mode:
 
-- :ref:`int<class_int>` **omni_shadow_mode**
+- :ref:`ShadowMode<enum_omnilight_shadowmode>` **omni_shadow_mode**
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_OmniLight_ShadowDetail:
+
+enum **ShadowDetail**
 
-- **SHADOW_DUAL_PARABOLOID** = **0**
-- **SHADOW_CUBE** = **1**
 - **SHADOW_DETAIL_VERTICAL** = **0**
 - **SHADOW_DETAIL_HORIZONTAL** = **1**
 
+  .. _enum_OmniLight_ShadowMode:
+
+enum **ShadowMode**
+
+- **SHADOW_DUAL_PARABOLOID** = **0**
+- **SHADOW_CUBE** = **1**
+
+
 Description
 -----------
 

+ 47 - 22
classes/class_os.rst

@@ -219,8 +219,47 @@ Member Functions
 | void                                           | :ref:`show_virtual_keyboard<class_OS_show_virtual_keyboard>` **(** :ref:`String<class_string>` existing_text="" **)**                                                                                                    |
 +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_OS_SystemDir:
+
+enum **SystemDir**
+
+- **SYSTEM_DIR_DESKTOP** = **0**
+- **SYSTEM_DIR_DCIM** = **1**
+- **SYSTEM_DIR_DOCUMENTS** = **2**
+- **SYSTEM_DIR_DOWNLOADS** = **3**
+- **SYSTEM_DIR_MOVIES** = **4**
+- **SYSTEM_DIR_MUSIC** = **5**
+- **SYSTEM_DIR_PICTURES** = **6**
+- **SYSTEM_DIR_RINGTONES** = **7**
+
+  .. _enum_OS_ScreenOrientation:
+
+enum **ScreenOrientation**
+
+- **SCREEN_ORIENTATION_LANDSCAPE** = **0**
+- **SCREEN_ORIENTATION_PORTRAIT** = **1**
+- **SCREEN_ORIENTATION_REVERSE_LANDSCAPE** = **2**
+- **SCREEN_ORIENTATION_REVERSE_PORTRAIT** = **3**
+- **SCREEN_ORIENTATION_SENSOR_LANDSCAPE** = **4**
+- **SCREEN_ORIENTATION_SENSOR_PORTRAIT** = **5**
+- **SCREEN_ORIENTATION_SENSOR** = **6**
+
+  .. _enum_OS_PowerState:
+
+enum **PowerState**
+
+- **POWERSTATE_UNKNOWN** = **0**
+- **POWERSTATE_ON_BATTERY** = **1**
+- **POWERSTATE_NO_BATTERY** = **2**
+- **POWERSTATE_CHARGING** = **3**
+- **POWERSTATE_CHARGED** = **4**
+
+  .. _enum_OS_Weekday:
+
+enum **Weekday**
 
 - **DAY_SUNDAY** = **0**
 - **DAY_MONDAY** = **1**
@@ -229,6 +268,11 @@ Numeric Constants
 - **DAY_THURSDAY** = **4**
 - **DAY_FRIDAY** = **5**
 - **DAY_SATURDAY** = **6**
+
+  .. _enum_OS_Month:
+
+enum **Month**
+
 - **MONTH_JANUARY** = **1**
 - **MONTH_FEBRUARY** = **2**
 - **MONTH_MARCH** = **3**
@@ -241,26 +285,7 @@ Numeric Constants
 - **MONTH_OCTOBER** = **10**
 - **MONTH_NOVEMBER** = **11**
 - **MONTH_DECEMBER** = **12**
-- **SCREEN_ORIENTATION_LANDSCAPE** = **0**
-- **SCREEN_ORIENTATION_PORTRAIT** = **1**
-- **SCREEN_ORIENTATION_REVERSE_LANDSCAPE** = **2**
-- **SCREEN_ORIENTATION_REVERSE_PORTRAIT** = **3**
-- **SCREEN_ORIENTATION_SENSOR_LANDSCAPE** = **4**
-- **SCREEN_ORIENTATION_SENSOR_PORTRAIT** = **5**
-- **SCREEN_ORIENTATION_SENSOR** = **6**
-- **SYSTEM_DIR_DESKTOP** = **0**
-- **SYSTEM_DIR_DCIM** = **1**
-- **SYSTEM_DIR_DOCUMENTS** = **2**
-- **SYSTEM_DIR_DOWNLOADS** = **3**
-- **SYSTEM_DIR_MOVIES** = **4**
-- **SYSTEM_DIR_MUSIC** = **5**
-- **SYSTEM_DIR_PICTURES** = **6**
-- **SYSTEM_DIR_RINGTONES** = **7**
-- **POWERSTATE_UNKNOWN** = **0**
-- **POWERSTATE_ON_BATTERY** = **1**
-- **POWERSTATE_NO_BATTERY** = **2**
-- **POWERSTATE_CHARGING** = **3**
-- **POWERSTATE_CHARGED** = **4**
+
 
 Description
 -----------

+ 7 - 2
classes/class_packedscene.rst

@@ -39,13 +39,18 @@ Member Variables
 Available keys include "rnames" and "variants" for resources, "node_count", "nodes", "node_paths" for nodes, "editable_instances" for base scene children overrides, "conn_count" and "conns" for signal connections, and "version" for the format style of the PackedScene.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_PackedScene_GenEditState:
+
+enum **GenEditState**
 
 - **GEN_EDIT_STATE_DISABLED** = **0** --- If passed to :ref:`instance<class_PackedScene_instance>`, blocks edits to the scene state.
 - **GEN_EDIT_STATE_INSTANCE** = **1** --- If passed to :ref:`instance<class_PackedScene_instance>`, provides local scene resources to the local scene. Requires tools compiled.
 - **GEN_EDIT_STATE_MAIN** = **2** --- If passed to :ref:`instance<class_PackedScene_instance>`, provides local scene resources to the local scene. Only the main scene should receive the main edit state. Requires tools compiled.
 
+
 Description
 -----------
 

+ 11 - 2
classes/class_particles.rst

@@ -34,7 +34,7 @@ Member Variables
 
   .. _class_Particles_draw_order:
 
-- :ref:`int<class_int>` **draw_order** - Particle draw order. Uses ``DRAW_ORDER\_\*`` values. Default value: ``DRAW_ORDER_INDEX``.
+- :ref:`DrawOrder<enum_particles_draworder>` **draw_order** - Particle draw order. Uses ``DRAW_ORDER\_\*`` values. Default value: ``DRAW_ORDER_INDEX``.
 
   .. _class_Particles_draw_pass_1:
 
@@ -108,10 +108,19 @@ Member Variables
 Numeric Constants
 -----------------
 
+- **MAX_DRAW_PASSES** = **4**
+
+Enums
+-----
+
+  .. _enum_Particles_DrawOrder:
+
+enum **DrawOrder**
+
 - **DRAW_ORDER_INDEX** = **0** --- Particles are drawn in the order emitted.
 - **DRAW_ORDER_LIFETIME** = **1** --- Particles are drawn in order of remaining lifetime.
 - **DRAW_ORDER_VIEW_DEPTH** = **2** --- Particles are drawn in order of depth.
-- **MAX_DRAW_PASSES** = **4**
+
 
 Description
 -----------

+ 8 - 3
classes/class_particles2d.rst

@@ -34,7 +34,7 @@ Member Variables
 
   .. _class_Particles2D_draw_order:
 
-- :ref:`int<class_int>` **draw_order** - Particle draw order. Uses ``DRAW_ORDER\_\*`` values. Default value: ``DRAW_ORDER_INDEX``.
+- :ref:`DrawOrder<enum_particles2d_draworder>` **draw_order** - Particle draw order. Uses ``DRAW_ORDER\_\*`` values. Default value: ``DRAW_ORDER_INDEX``.
 
   .. _class_Particles2D_emitting:
 
@@ -101,12 +101,17 @@ Member Variables
 - :ref:`Rect2<class_rect2>` **visibility_rect** - Editor visibility helper.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_Particles2D_DrawOrder:
+
+enum **DrawOrder**
 
 - **DRAW_ORDER_INDEX** = **0** --- Particles are drawn in the order emitted.
 - **DRAW_ORDER_LIFETIME** = **1** --- Particles are drawn in order of remaining lifetime.
 
+
 Description
 -----------
 

+ 21 - 6
classes/class_particlesmaterial.rst

@@ -113,7 +113,7 @@ Member Variables
 
   .. _class_ParticlesMaterial_emission_shape:
 
-- :ref:`int<class_int>` **emission_shape** - Particles will be emitted inside this region. Use ``EMISSION_SHAPE\_\*`` constants for values. Default value: ``EMISSION_SHAPE_POINT``.
+- :ref:`EmissionShape<enum_particlesmaterial_emissionshape>` **emission_shape** - Particles will be emitted inside this region. Use ``EMISSION_SHAPE\_\*`` constants for values. Default value: ``EMISSION_SHAPE_POINT``.
 
   .. _class_ParticlesMaterial_emission_sphere_radius:
 
@@ -236,8 +236,20 @@ Member Variables
 - :ref:`CurveTexture<class_curvetexture>` **trail_size_modifier** - Trail particles' size will vary along this :ref:`CurveTexture<class_curvetexture>`.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_ParticlesMaterial_Flags:
+
+enum **Flags**
+
+- **FLAG_ALIGN_Y_TO_VELOCITY** = **0** --- Use with :ref:`set_flag<class_ParticlesMaterial_set_flag>` to set :ref:`flag_align_y<class_ParticlesMaterial_flag_align_y>`.
+- **FLAG_ROTATE_Y** = **1** --- Use with :ref:`set_flag<class_ParticlesMaterial_set_flag>` to set :ref:`flag_rotate_y<class_ParticlesMaterial_flag_rotate_y>`
+- **FLAG_MAX** = **4**
+
+  .. _enum_ParticlesMaterial_Parameter:
+
+enum **Parameter**
 
 - **PARAM_INITIAL_LINEAR_VELOCITY** = **0** --- Use with :ref:`set_param<class_ParticlesMaterial_set_param>`, :ref:`set_param_randomness<class_ParticlesMaterial_set_param_randomness>`, and :ref:`set_param_texture<class_ParticlesMaterial_set_param_texture>` to set initial velocity properties.
 - **PARAM_ANGULAR_VELOCITY** = **1** --- Use with :ref:`set_param<class_ParticlesMaterial_set_param>`, :ref:`set_param_randomness<class_ParticlesMaterial_set_param_randomness>`, and :ref:`set_param_texture<class_ParticlesMaterial_set_param_texture>` to set angular velocity properties.
@@ -252,15 +264,18 @@ Numeric Constants
 - **PARAM_ANIM_SPEED** = **10** --- Use with :ref:`set_param<class_ParticlesMaterial_set_param>`, :ref:`set_param_randomness<class_ParticlesMaterial_set_param_randomness>`, and :ref:`set_param_texture<class_ParticlesMaterial_set_param_texture>` to set animation speed properties.
 - **PARAM_ANIM_OFFSET** = **11** --- Use with :ref:`set_param<class_ParticlesMaterial_set_param>`, :ref:`set_param_randomness<class_ParticlesMaterial_set_param_randomness>`, and :ref:`set_param_texture<class_ParticlesMaterial_set_param_texture>` to set animation offset properties.
 - **PARAM_MAX** = **12**
-- **FLAG_ALIGN_Y_TO_VELOCITY** = **0** --- Use with :ref:`set_flag<class_ParticlesMaterial_set_flag>` to set :ref:`flag_align_y<class_ParticlesMaterial_flag_align_y>`.
-- **FLAG_ROTATE_Y** = **1** --- Use with :ref:`set_flag<class_ParticlesMaterial_set_flag>` to set :ref:`flag_rotate_y<class_ParticlesMaterial_flag_rotate_y>`
-- **FLAG_MAX** = **4**
+
+  .. _enum_ParticlesMaterial_EmissionShape:
+
+enum **EmissionShape**
+
 - **EMISSION_SHAPE_POINT** = **0** --- All particles will be emitted from a single point.
 - **EMISSION_SHAPE_SPHERE** = **1** --- Particles will be emitted in the volume of a sphere.
 - **EMISSION_SHAPE_BOX** = **2** --- Particles will be emitted in the volume of a box.
 - **EMISSION_SHAPE_POINTS** = **3**
 - **EMISSION_SHAPE_DIRECTED_POINTS** = **4**
 
+
 Description
 -----------
 

+ 7 - 2
classes/class_pathfollow.rst

@@ -49,14 +49,19 @@ Member Functions
 | void                       | :ref:`set_v_offset<class_PathFollow_set_v_offset>` **(** :ref:`float<class_float>` v_offset **)**                   |
 +----------------------------+---------------------------------------------------------------------------------------------------------------------+
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_PathFollow_RotationMode:
+
+enum **RotationMode**
 
 - **ROTATION_NONE** = **0** --- Forbids the PathFollow to rotate.
 - **ROTATION_Y** = **1** --- Allows the PathFollow to rotate in the Y axis only.
 - **ROTATION_XY** = **2** --- Allows the PathFollow to rotate in both the X, and Y axes.
 - **ROTATION_XYZ** = **3** --- Allows the PathFollow to rotate in any axis.
 
+
 Description
 -----------
 

+ 7 - 2
classes/class_performance.rst

@@ -23,8 +23,12 @@ Member Functions
 | :ref:`float<class_float>`  | :ref:`get_monitor<class_Performance_get_monitor>` **(** :ref:`int<class_int>` monitor **)** const |
 +----------------------------+---------------------------------------------------------------------------------------------------+
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_Performance_Monitor:
+
+enum **Monitor**
 
 - **TIME_FPS** = **0** --- Frames per second.
 - **TIME_PROCESS** = **1** --- Time it took to complete one frame.
@@ -55,6 +59,7 @@ Numeric Constants
 - **PHYSICS_3D_ISLAND_COUNT** = **26** --- Number of islands in the 3D physics engine.
 - **MONITOR_MAX** = **27**
 
+
 Description
 -----------
 

+ 102 - 37
classes/class_physics2dserver.rst

@@ -207,16 +207,47 @@ Member Functions
 | void                                                               | :ref:`space_set_param<class_Physics2DServer_space_set_param>` **(** :ref:`RID<class_rid>` space, :ref:`int<class_int>` param, :ref:`float<class_float>` value **)**                                                                                                                                            |
 +--------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_Physics2DServer_CCDMode:
+
+enum **CCDMode**
+
+- **CCD_MODE_DISABLED** = **0** --- Disables continuous collision detection. This is the fastest way to detect body collisions, but can miss small, fast-moving objects.
+- **CCD_MODE_CAST_RAY** = **1** --- Enables continuous collision detection by raycasting. It is faster than shapecasting, but less precise.
+- **CCD_MODE_CAST_SHAPE** = **2** --- Enables continuous collision detection by shapecasting. It is the slowest CCD method, and the most precise.
+
+  .. _enum_Physics2DServer_BodyState:
+
+enum **BodyState**
+
+- **BODY_STATE_TRANSFORM** = **0** --- Constant to set/get the current transform matrix of the body.
+- **BODY_STATE_LINEAR_VELOCITY** = **1** --- Constant to set/get the current linear velocity of the body.
+- **BODY_STATE_ANGULAR_VELOCITY** = **2** --- Constant to set/get the current angular velocity of the body.
+- **BODY_STATE_SLEEPING** = **3** --- Constant to sleep/wake up a body, or to get whether it is sleeping.
+- **BODY_STATE_CAN_SLEEP** = **4** --- Constant to set/get whether the body can sleep.
+
+  .. _enum_Physics2DServer_ProcessInfo:
+
+enum **ProcessInfo**
+
+- **INFO_ACTIVE_OBJECTS** = **0** --- Constant to get the number of objects that are not sleeping.
+- **INFO_COLLISION_PAIRS** = **1** --- Constant to get the number of possible collisions.
+- **INFO_ISLAND_COUNT** = **2** --- Constant to get the number of space regions where a collision could occur.
+
+  .. _enum_Physics2DServer_JointParam:
+
+enum **JointParam**
+
+- **JOINT_PARAM_BIAS** = **0**
+- **JOINT_PARAM_MAX_BIAS** = **1**
+- **JOINT_PARAM_MAX_FORCE** = **2**
+
+  .. _enum_Physics2DServer_ShapeType:
+
+enum **ShapeType**
 
-- **SPACE_PARAM_CONTACT_RECYCLE_RADIUS** = **0** --- Constant to set/get the maximum distance a pair of bodies has to move before their collision status has to be recalculated.
-- **SPACE_PARAM_CONTACT_MAX_SEPARATION** = **1** --- Constant to set/get the maximum distance a shape can be from another before they are considered separated.
-- **SPACE_PARAM_BODY_MAX_ALLOWED_PENETRATION** = **2** --- Constant to set/get the maximum distance a shape can penetrate another shape before it is considered a collision.
-- **SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD** = **3** --- Constant to set/get the threshold linear velocity of activity. A body marked as potentially inactive for both linear and angular velocity will be put to sleep after the time given.
-- **SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD** = **4** --- Constant to set/get the threshold angular velocity of activity. A body marked as potentially inactive for both linear and angular velocity will be put to sleep after the time given.
-- **SPACE_PARAM_BODY_TIME_TO_SLEEP** = **5** --- Constant to set/get the maximum time of activity. A body marked as potentially inactive for both linear and angular velocity will be put to sleep after this time.
-- **SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS** = **6** --- Constant to set/get the default solver bias for all physics constraints. A solver bias is a factor controlling how much two objects "rebound", after violating a constraint, to avoid leaving them in that state because of numerical imprecision.
 - **SHAPE_LINE** = **0** --- This is the constant for creating line shapes. A line shape is an infinite line with an origin point, and a normal. Thus, it can be used for front/behind checks.
 - **SHAPE_RAY** = **1**
 - **SHAPE_SEGMENT** = **2** --- This is the constant for creating segment shapes. A segment shape is a line from a point A to a point B. It can be checked for intersections.
@@ -226,6 +257,11 @@ Numeric Constants
 - **SHAPE_CONVEX_POLYGON** = **6** --- This is the constant for creating convex polygon shapes. A polygon is defined by a list of points. It can be used for intersections and inside/outside checks. Unlike the method :ref:`CollisionPolygon2D.set_polygon<class_CollisionPolygon2D_set_polygon>`, polygons modified with :ref:`shape_set_data<class_Physics2DServer_shape_set_data>` do not verify that the points supplied form is a convex polygon.
 - **SHAPE_CONCAVE_POLYGON** = **7** --- This is the constant for creating concave polygon shapes. A polygon is defined by a list of points. It can be used for intersections checks, but not for inside/outside checks.
 - **SHAPE_CUSTOM** = **8** --- This constant is used internally by the engine. Any attempt to create this kind of shape results in an error.
+
+  .. _enum_Physics2DServer_AreaParameter:
+
+enum **AreaParameter**
+
 - **AREA_PARAM_GRAVITY** = **0** --- Constant to set/get gravity strength in an area.
 - **AREA_PARAM_GRAVITY_VECTOR** = **1** --- Constant to set/get gravity vector/center in an area.
 - **AREA_PARAM_GRAVITY_IS_POINT** = **2** --- Constant to set/get whether the gravity vector of an area is a direction, or a center point.
@@ -234,15 +270,18 @@ Numeric Constants
 - **AREA_PARAM_LINEAR_DAMP** = **5** --- Constant to set/get the linear dampening factor of an area.
 - **AREA_PARAM_ANGULAR_DAMP** = **6** --- Constant to set/get the angular dampening factor of an area.
 - **AREA_PARAM_PRIORITY** = **7** --- Constant to set/get the priority (order of processing) of an area.
-- **AREA_SPACE_OVERRIDE_DISABLED** = **0** --- This area does not affect gravity/damp. These are generally areas that exist only to detect collisions, and objects entering or exiting them.
-- **AREA_SPACE_OVERRIDE_COMBINE** = **1** --- This area adds its gravity/damp values to whatever has been calculated so far. This way, many overlapping areas can combine their physics to make interesting effects.
-- **AREA_SPACE_OVERRIDE_COMBINE_REPLACE** = **2** --- This area adds its gravity/damp values to whatever has been calculated so far. Then stops taking into account the rest of the areas, even the default one.
-- **AREA_SPACE_OVERRIDE_REPLACE** = **3** --- This area replaces any gravity/damp, even the default one, and stops taking into account the rest of the areas.
-- **AREA_SPACE_OVERRIDE_REPLACE_COMBINE** = **4** --- This area replaces any gravity/damp calculated so far, but keeps calculating the rest of the areas, down to the default one.
-- **BODY_MODE_STATIC** = **0** --- Constant for static bodies.
-- **BODY_MODE_KINEMATIC** = **1** --- Constant for kinematic bodies.
-- **BODY_MODE_RIGID** = **2** --- Constant for rigid bodies.
-- **BODY_MODE_CHARACTER** = **3** --- Constant for rigid bodies in character mode. In this mode, a body can not rotate, and only its linear velocity is affected by physics.
+
+  .. _enum_Physics2DServer_AreaBodyStatus:
+
+enum **AreaBodyStatus**
+
+- **AREA_BODY_ADDED** = **0** --- The value of the first parameter and area callback function receives, when an object enters one of its shapes.
+- **AREA_BODY_REMOVED** = **1** --- The value of the first parameter and area callback function receives, when an object exits one of its shapes.
+
+  .. _enum_Physics2DServer_BodyParameter:
+
+enum **BodyParameter**
+
 - **BODY_PARAM_BOUNCE** = **0** --- Constant to set/get a body's bounce factor.
 - **BODY_PARAM_FRICTION** = **1** --- Constant to set/get a body's friction.
 - **BODY_PARAM_MASS** = **2** --- Constant to set/get a body's mass.
@@ -251,28 +290,54 @@ Numeric Constants
 - **BODY_PARAM_LINEAR_DAMP** = **5** --- Constant to set/get a body's linear dampening factor.
 - **BODY_PARAM_ANGULAR_DAMP** = **6** --- Constant to set/get a body's angular dampening factor.
 - **BODY_PARAM_MAX** = **7** --- This is the last ID for body parameters. Any attempt to set this property is ignored. Any attempt to get it returns 0.
-- **BODY_STATE_TRANSFORM** = **0** --- Constant to set/get the current transform matrix of the body.
-- **BODY_STATE_LINEAR_VELOCITY** = **1** --- Constant to set/get the current linear velocity of the body.
-- **BODY_STATE_ANGULAR_VELOCITY** = **2** --- Constant to set/get the current angular velocity of the body.
-- **BODY_STATE_SLEEPING** = **3** --- Constant to sleep/wake up a body, or to get whether it is sleeping.
-- **BODY_STATE_CAN_SLEEP** = **4** --- Constant to set/get whether the body can sleep.
-- **JOINT_PIN** = **0** --- Constant to create pin joints.
-- **JOINT_GROOVE** = **1** --- Constant to create groove joints.
-- **JOINT_DAMPED_SPRING** = **2** --- Constant to create damped spring joints.
-- **JOINT_PARAM_BIAS** = **0**
-- **JOINT_PARAM_MAX_BIAS** = **1**
-- **JOINT_PARAM_MAX_FORCE** = **2**
+
+  .. _enum_Physics2DServer_BodyMode:
+
+enum **BodyMode**
+
+- **BODY_MODE_STATIC** = **0** --- Constant for static bodies.
+- **BODY_MODE_KINEMATIC** = **1** --- Constant for kinematic bodies.
+- **BODY_MODE_RIGID** = **2** --- Constant for rigid bodies.
+- **BODY_MODE_CHARACTER** = **3** --- Constant for rigid bodies in character mode. In this mode, a body can not rotate, and only its linear velocity is affected by physics.
+
+  .. _enum_Physics2DServer_DampedStringParam:
+
+enum **DampedStringParam**
+
 - **DAMPED_STRING_REST_LENGTH** = **0** --- Set the resting length of the spring joint. The joint will always try to go to back this length when pulled apart.
 - **DAMPED_STRING_STIFFNESS** = **1** --- Set the stiffness of the spring joint. The joint applies a force equal to the stiffness times the distance from its resting length.
 - **DAMPED_STRING_DAMPING** = **2** --- Set the damping ratio of the spring joint. A value of 0 indicates an undamped spring, while 1 causes the system to reach equilibrium as fast as possible (critical damping).
-- **CCD_MODE_DISABLED** = **0** --- Disables continuous collision detection. This is the fastest way to detect body collisions, but can miss small, fast-moving objects.
-- **CCD_MODE_CAST_RAY** = **1** --- Enables continuous collision detection by raycasting. It is faster than shapecasting, but less precise.
-- **CCD_MODE_CAST_SHAPE** = **2** --- Enables continuous collision detection by shapecasting. It is the slowest CCD method, and the most precise.
-- **AREA_BODY_ADDED** = **0** --- The value of the first parameter and area callback function receives, when an object enters one of its shapes.
-- **AREA_BODY_REMOVED** = **1** --- The value of the first parameter and area callback function receives, when an object exits one of its shapes.
-- **INFO_ACTIVE_OBJECTS** = **0** --- Constant to get the number of objects that are not sleeping.
-- **INFO_COLLISION_PAIRS** = **1** --- Constant to get the number of possible collisions.
-- **INFO_ISLAND_COUNT** = **2** --- Constant to get the number of space regions where a collision could occur.
+
+  .. _enum_Physics2DServer_SpaceParameter:
+
+enum **SpaceParameter**
+
+- **SPACE_PARAM_CONTACT_RECYCLE_RADIUS** = **0** --- Constant to set/get the maximum distance a pair of bodies has to move before their collision status has to be recalculated.
+- **SPACE_PARAM_CONTACT_MAX_SEPARATION** = **1** --- Constant to set/get the maximum distance a shape can be from another before they are considered separated.
+- **SPACE_PARAM_BODY_MAX_ALLOWED_PENETRATION** = **2** --- Constant to set/get the maximum distance a shape can penetrate another shape before it is considered a collision.
+- **SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD** = **3** --- Constant to set/get the threshold linear velocity of activity. A body marked as potentially inactive for both linear and angular velocity will be put to sleep after the time given.
+- **SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD** = **4** --- Constant to set/get the threshold angular velocity of activity. A body marked as potentially inactive for both linear and angular velocity will be put to sleep after the time given.
+- **SPACE_PARAM_BODY_TIME_TO_SLEEP** = **5** --- Constant to set/get the maximum time of activity. A body marked as potentially inactive for both linear and angular velocity will be put to sleep after this time.
+- **SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS** = **6** --- Constant to set/get the default solver bias for all physics constraints. A solver bias is a factor controlling how much two objects "rebound", after violating a constraint, to avoid leaving them in that state because of numerical imprecision.
+
+  .. _enum_Physics2DServer_AreaSpaceOverrideMode:
+
+enum **AreaSpaceOverrideMode**
+
+- **AREA_SPACE_OVERRIDE_DISABLED** = **0** --- This area does not affect gravity/damp. These are generally areas that exist only to detect collisions, and objects entering or exiting them.
+- **AREA_SPACE_OVERRIDE_COMBINE** = **1** --- This area adds its gravity/damp values to whatever has been calculated so far. This way, many overlapping areas can combine their physics to make interesting effects.
+- **AREA_SPACE_OVERRIDE_COMBINE_REPLACE** = **2** --- This area adds its gravity/damp values to whatever has been calculated so far. Then stops taking into account the rest of the areas, even the default one.
+- **AREA_SPACE_OVERRIDE_REPLACE** = **3** --- This area replaces any gravity/damp, even the default one, and stops taking into account the rest of the areas.
+- **AREA_SPACE_OVERRIDE_REPLACE_COMBINE** = **4** --- This area replaces any gravity/damp calculated so far, but keeps calculating the rest of the areas, down to the default one.
+
+  .. _enum_Physics2DServer_JointType:
+
+enum **JointType**
+
+- **JOINT_PIN** = **0** --- Constant to create pin joints.
+- **JOINT_GROOVE** = **1** --- Constant to create groove joints.
+- **JOINT_DAMPED_SPRING** = **2** --- Constant to create damped spring joints.
+
 
 Description
 -----------

+ 1 - 1
classes/class_physicsbody.rst

@@ -9,7 +9,7 @@ PhysicsBody
 
 **Inherits:** :ref:`CollisionObject<class_collisionobject>` **<** :ref:`Spatial<class_spatial>` **<** :ref:`Node<class_node>` **<** :ref:`Object<class_object>`
 
-**Inherited By:** :ref:`VehicleBody<class_vehiclebody>`, :ref:`StaticBody<class_staticbody>`, :ref:`KinematicBody<class_kinematicbody>`, :ref:`RigidBody<class_rigidbody>`
+**Inherited By:** :ref:`StaticBody<class_staticbody>`, :ref:`KinematicBody<class_kinematicbody>`, :ref:`RigidBody<class_rigidbody>`
 
 **Category:** Core
 

+ 170 - 80
classes/class_physicsserver.rst

@@ -233,69 +233,23 @@ Member Functions
 | void                                                           | :ref:`space_set_param<class_PhysicsServer_space_set_param>` **(** :ref:`RID<class_rid>` space, :ref:`int<class_int>` param, :ref:`float<class_float>` value **)**                                                                                                 |
 +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
-Numeric Constants
------------------
+Enums
+-----
 
-- **JOINT_PIN** = **0** --- The :ref:`Joint<class_joint>` is a :ref:`PinJoint<class_pinjoint>`.
-- **JOINT_HINGE** = **1** --- The :ref:`Joint<class_joint>` is a :ref:`HingeJoint<class_hingejoint>`.
-- **JOINT_SLIDER** = **2** --- The :ref:`Joint<class_joint>` is a :ref:`SliderJoint<class_sliderjoint>`.
-- **JOINT_CONE_TWIST** = **3** --- The :ref:`Joint<class_joint>` is a :ref:`ConeTwistJoint<class_conetwistjoint>`.
-- **JOINT_6DOF** = **4** --- The :ref:`Joint<class_joint>` is a :ref:`Generic6DOFJoint<class_generic6dofjoint>`.
-- **PIN_JOINT_BIAS** = **0** --- The strength with which the pinned objects try to stay in positional relation to each other.
+  .. _enum_PhysicsServer_BodyState:
 
-The higher, the stronger.
-- **PIN_JOINT_DAMPING** = **1** --- The strength with which the pinned objects try to stay in velocity relation to each other.
+enum **BodyState**
 
-The higher, the stronger.
-- **PIN_JOINT_IMPULSE_CLAMP** = **2** --- If above 0, this value is the maximum value for an impulse that this Joint puts on it's ends.
-- **HINGE_JOINT_BIAS** = **0** --- The speed with wich the two bodies get pulled together when they move in different directions.
-- **HINGE_JOINT_LIMIT_UPPER** = **1** --- The maximum rotation across the Hinge.
-- **HINGE_JOINT_LIMIT_LOWER** = **2** --- The minimum rotation across the Hinge.
-- **HINGE_JOINT_LIMIT_BIAS** = **3** --- The speed with which the rotation across the axis perpendicular to the hinge gets corrected.
-- **HINGE_JOINT_LIMIT_SOFTNESS** = **4**
-- **HINGE_JOINT_LIMIT_RELAXATION** = **5** --- The lower this value, the more the rotation gets slowed down.
-- **HINGE_JOINT_MOTOR_TARGET_VELOCITY** = **6** --- Target speed for the motor.
-- **HINGE_JOINT_MOTOR_MAX_IMPULSE** = **7** --- Maximum acceleration for the motor.
-- **HINGE_JOINT_FLAG_USE_LIMIT** = **0** --- If ``true`` the Hinge has a maximum and a minimum rotation.
-- **HINGE_JOINT_FLAG_ENABLE_MOTOR** = **1** --- If ``true`` a motor turns the Hinge
-- **SLIDER_JOINT_LINEAR_LIMIT_UPPER** = **0** --- The maximum difference between the pivot points on their x-axis before damping happens.
-- **SLIDER_JOINT_LINEAR_LIMIT_LOWER** = **1** --- The minimum difference between the pivot points on their x-axis before damping happens.
-- **SLIDER_JOINT_LINEAR_LIMIT_SOFTNESS** = **2** --- A factor applied to the movement accross the slider axis once the limits get surpassed. The lower, the slower the movement.
-- **SLIDER_JOINT_LINEAR_LIMIT_RESTITUTION** = **3** --- The amount of restitution once the limits are surpassed. The lower, the more velocityenergy gets lost.
-- **SLIDER_JOINT_LINEAR_LIMIT_DAMPING** = **4** --- The amount of damping once the slider limits are surpassed.
-- **SLIDER_JOINT_LINEAR_MOTION_SOFTNESS** = **5** --- A factor applied to the movement accross the slider axis as long as the slider is in the limits. The lower, the slower the movement.
-- **SLIDER_JOINT_LINEAR_MOTION_RESTITUTION** = **6** --- The amount of restitution inside the slider limits.
-- **SLIDER_JOINT_LINEAR_MOTION_DAMPING** = **7** --- The amount of damping inside the slider limits.
-- **SLIDER_JOINT_LINEAR_ORTHOGONAL_SOFTNESS** = **8** --- A factor applied to the movement accross axes orthogonal to the slider.
-- **SLIDER_JOINT_LINEAR_ORTHOGONAL_RESTITUTION** = **9** --- The amount of restitution when movement is accross axes orthogonal to the slider.
-- **SLIDER_JOINT_LINEAR_ORTHOGONAL_DAMPING** = **10** --- The amount of damping when movement is accross axes orthogonal to the slider.
-- **SLIDER_JOINT_ANGULAR_LIMIT_UPPER** = **11** --- The upper limit of rotation in the slider.
-- **SLIDER_JOINT_ANGULAR_LIMIT_LOWER** = **12** --- The lower limit of rotation in the slider.
-- **SLIDER_JOINT_ANGULAR_LIMIT_SOFTNESS** = **13** --- A factor applied to the all rotation once the limit is surpassed.
-- **SLIDER_JOINT_ANGULAR_LIMIT_RESTITUTION** = **14** --- The amount of restitution of the rotation when the limit is surpassed.
-- **SLIDER_JOINT_ANGULAR_LIMIT_DAMPING** = **15** --- The amount of damping of the rotation when the limit is surpassed.
-- **SLIDER_JOINT_ANGULAR_MOTION_SOFTNESS** = **16** --- A factor that gets applied to the all rotation in the limits.
-- **SLIDER_JOINT_ANGULAR_MOTION_RESTITUTION** = **17** --- The amount of restitution of the rotation in the limits.
-- **SLIDER_JOINT_ANGULAR_MOTION_DAMPING** = **18** --- The amount of damping of the rotation in the limits.
-- **SLIDER_JOINT_ANGULAR_ORTHOGONAL_SOFTNESS** = **19** --- A factor that gets applied to the all rotation across axes orthogonal to the slider.
-- **SLIDER_JOINT_ANGULAR_ORTHOGONAL_RESTITUTION** = **20** --- The amount of restitution of the rotation across axes orthogonal to the slider.
-- **SLIDER_JOINT_ANGULAR_ORTHOGONAL_DAMPING** = **21** --- The amount of damping of the rotation across axes orthogonal to the slider.
-- **SLIDER_JOINT_MAX** = **22** --- End flag of SLIDER_JOINT\_\* constants, used internally.
-- **CONE_TWIST_JOINT_SWING_SPAN** = **0** --- Swing is rotation from side to side, around the axis perpendicular to the twist axis.
-
-The swing span defines, how much rotation will not get corrected allong the swing axis.
-
-Could be defined as looseness in the :ref:`ConeTwistJoint<class_conetwistjoint>`.
+- **BODY_STATE_TRANSFORM** = **0** --- Constant to set/get the current transform matrix of the body.
+- **BODY_STATE_LINEAR_VELOCITY** = **1** --- Constant to set/get the current linear velocity of the body.
+- **BODY_STATE_ANGULAR_VELOCITY** = **2** --- Constant to set/get the current angular velocity of the body.
+- **BODY_STATE_SLEEPING** = **3** --- Constant to sleep/wake up a body, or to get whether it is sleeping.
+- **BODY_STATE_CAN_SLEEP** = **4** --- Constant to set/get whether the body can sleep.
 
-If below 0.05, this behaviour is locked. Default value: ``PI/4``.
-- **CONE_TWIST_JOINT_TWIST_SPAN** = **1** --- Twist is the rotation around the twist axis, this value defined how far the joint can twist.
+  .. _enum_PhysicsServer_G6DOFJointAxisParam:
 
-Twist is locked if below 0.05.
-- **CONE_TWIST_JOINT_BIAS** = **2** --- The speed with which the swing or twist will take place.
+enum **G6DOFJointAxisParam**
 
-The higher, the faster.
-- **CONE_TWIST_JOINT_SOFTNESS** = **3** --- The ease with which the Joint twists, if it's too low, it takes more force to twist the joint.
-- **CONE_TWIST_JOINT_RELAXATION** = **4** --- Defines, how fast the swing- and twist-speed-difference on both sides gets synced.
 - **G6DOF_JOINT_LINEAR_LOWER_LIMIT** = **0** --- The minimum difference between the pivot points' axes.
 - **G6DOF_JOINT_LINEAR_UPPER_LIMIT** = **1** --- The maximum difference between the pivot points' axes.
 - **G6DOF_JOINT_LINEAR_LIMIT_SOFTNESS** = **2** --- A factor that gets applied to the movement accross the axes. The lower, the slower the movement.
@@ -310,9 +264,19 @@ The higher, the faster.
 - **G6DOF_JOINT_ANGULAR_ERP** = **11** --- When correcting the crossing of limits in rotation accross the axes, this error tolerance factor defines how much the correction gets slowed down. The lower, the slower.
 - **G6DOF_JOINT_ANGULAR_MOTOR_TARGET_VELOCITY** = **12** --- Target speed for the motor at the axes.
 - **G6DOF_JOINT_ANGULAR_MOTOR_FORCE_LIMIT** = **13** --- Maximum acceleration for the motor at the axes.
-- **G6DOF_JOINT_FLAG_ENABLE_LINEAR_LIMIT** = **0** --- If ``set`` there is linear motion possible within the given limits.
-- **G6DOF_JOINT_FLAG_ENABLE_ANGULAR_LIMIT** = **1** --- If ``set`` there is rotational motion possible.
-- **G6DOF_JOINT_FLAG_ENABLE_MOTOR** = **2** --- If ``set`` there is a rotational motor across these axes.
+
+  .. _enum_PhysicsServer_ProcessInfo:
+
+enum **ProcessInfo**
+
+- **INFO_ACTIVE_OBJECTS** = **0** --- Constant to get the number of objects that are not sleeping.
+- **INFO_COLLISION_PAIRS** = **1** --- Constant to get the number of possible collisions.
+- **INFO_ISLAND_COUNT** = **2** --- Constant to get the number of space regions where a collision could occur.
+
+  .. _enum_PhysicsServer_ShapeType:
+
+enum **ShapeType**
+
 - **SHAPE_PLANE** = **0** --- The :ref:`Shape<class_shape>` is a :ref:`PlaneShape<class_planeshape>`.
 - **SHAPE_RAY** = **1** --- The :ref:`Shape<class_shape>` is a :ref:`RayShape<class_rayshape>`.
 - **SHAPE_SPHERE** = **2** --- The :ref:`Shape<class_shape>` is a :ref:`SphereShape<class_sphereshape>`.
@@ -322,6 +286,18 @@ The higher, the faster.
 - **SHAPE_CONCAVE_POLYGON** = **6** --- The :ref:`Shape<class_shape>` is a :ref:`ConcavePolygonShape<class_concavepolygonshape>`.
 - **SHAPE_HEIGHTMAP** = **7** --- The :ref:`Shape<class_shape>` is a HeightMapShape.
 - **SHAPE_CUSTOM** = **8** --- This constant is used internally by the engine. Any attempt to create this kind of shape results in an error.
+
+  .. _enum_PhysicsServer_HingeJointFlag:
+
+enum **HingeJointFlag**
+
+- **HINGE_JOINT_FLAG_USE_LIMIT** = **0** --- If ``true`` the Hinge has a maximum and a minimum rotation.
+- **HINGE_JOINT_FLAG_ENABLE_MOTOR** = **1** --- If ``true`` a motor turns the Hinge
+
+  .. _enum_PhysicsServer_AreaParameter:
+
+enum **AreaParameter**
+
 - **AREA_PARAM_GRAVITY** = **0** --- Constant to set/get gravity strength in an area.
 - **AREA_PARAM_GRAVITY_VECTOR** = **1** --- Constant to set/get gravity vector/center in an area.
 - **AREA_PARAM_GRAVITY_IS_POINT** = **2** --- Constant to set/get whether the gravity vector of an area is a direction, or a center point.
@@ -330,16 +306,23 @@ The higher, the faster.
 - **AREA_PARAM_LINEAR_DAMP** = **5** --- Constant to set/get the linear dampening factor of an area.
 - **AREA_PARAM_ANGULAR_DAMP** = **6** --- Constant to set/get the angular dampening factor of an area.
 - **AREA_PARAM_PRIORITY** = **7** --- Constant to set/get the priority (order of processing) of an area.
-- **AREA_SPACE_OVERRIDE_DISABLED** = **0** --- This area does not affect gravity/damp. These are generally areas that exist only to detect collisions, and objects entering or exiting them.
-- **AREA_SPACE_OVERRIDE_COMBINE** = **1** --- This area adds its gravity/damp values to whatever has been calculated so far. This way, many overlapping areas can combine their physics to make interesting effects.
-- **AREA_SPACE_OVERRIDE_COMBINE_REPLACE** = **2** --- This area adds its gravity/damp values to whatever has been calculated so far. Then stops taking into account the rest of the areas, even the default one.
-- **AREA_SPACE_OVERRIDE_REPLACE** = **3** --- This area replaces any gravity/damp, even the default one, and stops taking into account the rest of the areas.
-- **AREA_SPACE_OVERRIDE_REPLACE_COMBINE** = **4** --- This area replaces any gravity/damp calculated so far, but keeps calculating the rest of the areas, down to the default one.
-- **BODY_MODE_STATIC** = **0** --- Constant for static bodies.
-- **BODY_MODE_KINEMATIC** = **1** --- Constant for kinematic bodies.
-- **BODY_MODE_RIGID** = **2** --- Constant for rigid bodies.
-- **BODY_MODE_SOFT** = **3**
-- **BODY_MODE_CHARACTER** = **4** --- Constant for rigid bodies in character mode. In this mode, a body can not rotate, and only its linear velocity is affected by physics.
+
+  .. _enum_PhysicsServer_PinJointParam:
+
+enum **PinJointParam**
+
+- **PIN_JOINT_BIAS** = **0** --- The strength with which the pinned objects try to stay in positional relation to each other.
+
+The higher, the stronger.
+- **PIN_JOINT_DAMPING** = **1** --- The strength with which the pinned objects try to stay in velocity relation to each other.
+
+The higher, the stronger.
+- **PIN_JOINT_IMPULSE_CLAMP** = **2** --- If above 0, this value is the maximum value for an impulse that this Joint puts on it's ends.
+
+  .. _enum_PhysicsServer_BodyParameter:
+
+enum **BodyParameter**
+
 - **BODY_PARAM_BOUNCE** = **0** --- Constant to set/get a body's bounce factor.
 - **BODY_PARAM_FRICTION** = **1** --- Constant to set/get a body's friction.
 - **BODY_PARAM_MASS** = **2** --- Constant to set/get a body's mass.
@@ -347,16 +330,21 @@ The higher, the faster.
 - **BODY_PARAM_LINEAR_DAMP** = **4** --- Constant to set/get a body's linear dampening factor.
 - **BODY_PARAM_ANGULAR_DAMP** = **5** --- Constant to set/get a body's angular dampening factor.
 - **BODY_PARAM_MAX** = **6** --- This is the last ID for body parameters. Any attempt to set this property is ignored. Any attempt to get it returns 0.
-- **BODY_STATE_TRANSFORM** = **0** --- Constant to set/get the current transform matrix of the body.
-- **BODY_STATE_LINEAR_VELOCITY** = **1** --- Constant to set/get the current linear velocity of the body.
-- **BODY_STATE_ANGULAR_VELOCITY** = **2** --- Constant to set/get the current angular velocity of the body.
-- **BODY_STATE_SLEEPING** = **3** --- Constant to sleep/wake up a body, or to get whether it is sleeping.
-- **BODY_STATE_CAN_SLEEP** = **4** --- Constant to set/get whether the body can sleep.
-- **AREA_BODY_ADDED** = **0** --- The value of the first parameter and area callback function receives, when an object enters one of its shapes.
-- **AREA_BODY_REMOVED** = **1** --- The value of the first parameter and area callback function receives, when an object exits one of its shapes.
-- **INFO_ACTIVE_OBJECTS** = **0** --- Constant to get the number of objects that are not sleeping.
-- **INFO_COLLISION_PAIRS** = **1** --- Constant to get the number of possible collisions.
-- **INFO_ISLAND_COUNT** = **2** --- Constant to get the number of space regions where a collision could occur.
+
+  .. _enum_PhysicsServer_BodyMode:
+
+enum **BodyMode**
+
+- **BODY_MODE_STATIC** = **0** --- Constant for static bodies.
+- **BODY_MODE_KINEMATIC** = **1** --- Constant for kinematic bodies.
+- **BODY_MODE_RIGID** = **2** --- Constant for rigid bodies.
+- **BODY_MODE_SOFT** = **3**
+- **BODY_MODE_CHARACTER** = **4** --- Constant for rigid bodies in character mode. In this mode, a body can not rotate, and only its linear velocity is affected by physics.
+
+  .. _enum_PhysicsServer_SpaceParameter:
+
+enum **SpaceParameter**
+
 - **SPACE_PARAM_CONTACT_RECYCLE_RADIUS** = **0** --- Constant to set/get the maximum distance a pair of bodies has to move before their collision status has to be recalculated.
 - **SPACE_PARAM_CONTACT_MAX_SEPARATION** = **1** --- Constant to set/get the maximum distance a shape can be from another before they are considered separated.
 - **SPACE_PARAM_BODY_MAX_ALLOWED_PENETRATION** = **2** --- Constant to set/get the maximum distance a shape can penetrate another shape before it is considered a collision.
@@ -365,6 +353,18 @@ The higher, the faster.
 - **SPACE_PARAM_BODY_TIME_TO_SLEEP** = **5** --- Constant to set/get the maximum time of activity. A body marked as potentially inactive for both linear and angular velocity will be put to sleep after this time.
 - **SPACE_PARAM_BODY_ANGULAR_VELOCITY_DAMP_RATIO** = **6**
 - **SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS** = **7** --- Constant to set/get the default solver bias for all physics constraints. A solver bias is a factor controlling how much two objects "rebound", after violating a constraint, to avoid leaving them in that state because of numerical imprecision.
+
+  .. _enum_PhysicsServer_AreaBodyStatus:
+
+enum **AreaBodyStatus**
+
+- **AREA_BODY_ADDED** = **0** --- The value of the first parameter and area callback function receives, when an object enters one of its shapes.
+- **AREA_BODY_REMOVED** = **1** --- The value of the first parameter and area callback function receives, when an object exits one of its shapes.
+
+  .. _enum_PhysicsServer_BodyAxis:
+
+enum **BodyAxis**
+
 - **BODY_AXIS_LINEAR_X** = **1**
 - **BODY_AXIS_LINEAR_Y** = **2**
 - **BODY_AXIS_LINEAR_Z** = **4**
@@ -372,6 +372,96 @@ The higher, the faster.
 - **BODY_AXIS_ANGULAR_Y** = **16**
 - **BODY_AXIS_ANGULAR_Z** = **32**
 
+  .. _enum_PhysicsServer_JointType:
+
+enum **JointType**
+
+- **JOINT_PIN** = **0** --- The :ref:`Joint<class_joint>` is a :ref:`PinJoint<class_pinjoint>`.
+- **JOINT_HINGE** = **1** --- The :ref:`Joint<class_joint>` is a :ref:`HingeJoint<class_hingejoint>`.
+- **JOINT_SLIDER** = **2** --- The :ref:`Joint<class_joint>` is a :ref:`SliderJoint<class_sliderjoint>`.
+- **JOINT_CONE_TWIST** = **3** --- The :ref:`Joint<class_joint>` is a :ref:`ConeTwistJoint<class_conetwistjoint>`.
+- **JOINT_6DOF** = **4** --- The :ref:`Joint<class_joint>` is a :ref:`Generic6DOFJoint<class_generic6dofjoint>`.
+
+  .. _enum_PhysicsServer_AreaSpaceOverrideMode:
+
+enum **AreaSpaceOverrideMode**
+
+- **AREA_SPACE_OVERRIDE_DISABLED** = **0** --- This area does not affect gravity/damp. These are generally areas that exist only to detect collisions, and objects entering or exiting them.
+- **AREA_SPACE_OVERRIDE_COMBINE** = **1** --- This area adds its gravity/damp values to whatever has been calculated so far. This way, many overlapping areas can combine their physics to make interesting effects.
+- **AREA_SPACE_OVERRIDE_COMBINE_REPLACE** = **2** --- This area adds its gravity/damp values to whatever has been calculated so far. Then stops taking into account the rest of the areas, even the default one.
+- **AREA_SPACE_OVERRIDE_REPLACE** = **3** --- This area replaces any gravity/damp, even the default one, and stops taking into account the rest of the areas.
+- **AREA_SPACE_OVERRIDE_REPLACE_COMBINE** = **4** --- This area replaces any gravity/damp calculated so far, but keeps calculating the rest of the areas, down to the default one.
+
+  .. _enum_PhysicsServer_G6DOFJointAxisFlag:
+
+enum **G6DOFJointAxisFlag**
+
+- **G6DOF_JOINT_FLAG_ENABLE_LINEAR_LIMIT** = **0** --- If ``set`` there is linear motion possible within the given limits.
+- **G6DOF_JOINT_FLAG_ENABLE_ANGULAR_LIMIT** = **1** --- If ``set`` there is rotational motion possible.
+- **G6DOF_JOINT_FLAG_ENABLE_MOTOR** = **2** --- If ``set`` there is a rotational motor across these axes.
+
+  .. _enum_PhysicsServer_SliderJointParam:
+
+enum **SliderJointParam**
+
+- **SLIDER_JOINT_LINEAR_LIMIT_UPPER** = **0** --- The maximum difference between the pivot points on their x-axis before damping happens.
+- **SLIDER_JOINT_LINEAR_LIMIT_LOWER** = **1** --- The minimum difference between the pivot points on their x-axis before damping happens.
+- **SLIDER_JOINT_LINEAR_LIMIT_SOFTNESS** = **2** --- A factor applied to the movement accross the slider axis once the limits get surpassed. The lower, the slower the movement.
+- **SLIDER_JOINT_LINEAR_LIMIT_RESTITUTION** = **3** --- The amount of restitution once the limits are surpassed. The lower, the more velocityenergy gets lost.
+- **SLIDER_JOINT_LINEAR_LIMIT_DAMPING** = **4** --- The amount of damping once the slider limits are surpassed.
+- **SLIDER_JOINT_LINEAR_MOTION_SOFTNESS** = **5** --- A factor applied to the movement accross the slider axis as long as the slider is in the limits. The lower, the slower the movement.
+- **SLIDER_JOINT_LINEAR_MOTION_RESTITUTION** = **6** --- The amount of restitution inside the slider limits.
+- **SLIDER_JOINT_LINEAR_MOTION_DAMPING** = **7** --- The amount of damping inside the slider limits.
+- **SLIDER_JOINT_LINEAR_ORTHOGONAL_SOFTNESS** = **8** --- A factor applied to the movement accross axes orthogonal to the slider.
+- **SLIDER_JOINT_LINEAR_ORTHOGONAL_RESTITUTION** = **9** --- The amount of restitution when movement is accross axes orthogonal to the slider.
+- **SLIDER_JOINT_LINEAR_ORTHOGONAL_DAMPING** = **10** --- The amount of damping when movement is accross axes orthogonal to the slider.
+- **SLIDER_JOINT_ANGULAR_LIMIT_UPPER** = **11** --- The upper limit of rotation in the slider.
+- **SLIDER_JOINT_ANGULAR_LIMIT_LOWER** = **12** --- The lower limit of rotation in the slider.
+- **SLIDER_JOINT_ANGULAR_LIMIT_SOFTNESS** = **13** --- A factor applied to the all rotation once the limit is surpassed.
+- **SLIDER_JOINT_ANGULAR_LIMIT_RESTITUTION** = **14** --- The amount of restitution of the rotation when the limit is surpassed.
+- **SLIDER_JOINT_ANGULAR_LIMIT_DAMPING** = **15** --- The amount of damping of the rotation when the limit is surpassed.
+- **SLIDER_JOINT_ANGULAR_MOTION_SOFTNESS** = **16** --- A factor that gets applied to the all rotation in the limits.
+- **SLIDER_JOINT_ANGULAR_MOTION_RESTITUTION** = **17** --- The amount of restitution of the rotation in the limits.
+- **SLIDER_JOINT_ANGULAR_MOTION_DAMPING** = **18** --- The amount of damping of the rotation in the limits.
+- **SLIDER_JOINT_ANGULAR_ORTHOGONAL_SOFTNESS** = **19** --- A factor that gets applied to the all rotation across axes orthogonal to the slider.
+- **SLIDER_JOINT_ANGULAR_ORTHOGONAL_RESTITUTION** = **20** --- The amount of restitution of the rotation across axes orthogonal to the slider.
+- **SLIDER_JOINT_ANGULAR_ORTHOGONAL_DAMPING** = **21** --- The amount of damping of the rotation across axes orthogonal to the slider.
+- **SLIDER_JOINT_MAX** = **22** --- End flag of SLIDER_JOINT\_\* constants, used internally.
+
+  .. _enum_PhysicsServer_ConeTwistJointParam:
+
+enum **ConeTwistJointParam**
+
+- **CONE_TWIST_JOINT_SWING_SPAN** = **0** --- Swing is rotation from side to side, around the axis perpendicular to the twist axis.
+
+The swing span defines, how much rotation will not get corrected allong the swing axis.
+
+Could be defined as looseness in the :ref:`ConeTwistJoint<class_conetwistjoint>`.
+
+If below 0.05, this behaviour is locked. Default value: ``PI/4``.
+- **CONE_TWIST_JOINT_TWIST_SPAN** = **1** --- Twist is the rotation around the twist axis, this value defined how far the joint can twist.
+
+Twist is locked if below 0.05.
+- **CONE_TWIST_JOINT_BIAS** = **2** --- The speed with which the swing or twist will take place.
+
+The higher, the faster.
+- **CONE_TWIST_JOINT_SOFTNESS** = **3** --- The ease with which the Joint twists, if it's too low, it takes more force to twist the joint.
+- **CONE_TWIST_JOINT_RELAXATION** = **4** --- Defines, how fast the swing- and twist-speed-difference on both sides gets synced.
+
+  .. _enum_PhysicsServer_HingeJointParam:
+
+enum **HingeJointParam**
+
+- **HINGE_JOINT_BIAS** = **0** --- The speed with wich the two bodies get pulled together when they move in different directions.
+- **HINGE_JOINT_LIMIT_UPPER** = **1** --- The maximum rotation across the Hinge.
+- **HINGE_JOINT_LIMIT_LOWER** = **2** --- The minimum rotation across the Hinge.
+- **HINGE_JOINT_LIMIT_BIAS** = **3** --- The speed with which the rotation across the axis perpendicular to the hinge gets corrected.
+- **HINGE_JOINT_LIMIT_SOFTNESS** = **4**
+- **HINGE_JOINT_LIMIT_RELAXATION** = **5** --- The lower this value, the more the rotation gets slowed down.
+- **HINGE_JOINT_MOTOR_TARGET_VELOCITY** = **6** --- Target speed for the motor.
+- **HINGE_JOINT_MOTOR_MAX_IMPULSE** = **7** --- Maximum acceleration for the motor.
+
+
 Description
 -----------
 

+ 7 - 2
classes/class_pinjoint.rst

@@ -36,8 +36,12 @@ The higher, the stronger.
 - :ref:`float<class_float>` **params/impulse_clamp** - If above 0, this value is the maximum value for an impulse that this Joint produces.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_PinJoint_Param:
+
+enum **Param**
 
 - **PARAM_BIAS** = **0** --- The force with wich the pinned objects stay in positional relation to each other.
 
@@ -47,6 +51,7 @@ The higher, the stronger.
 The higher, the stronger.
 - **PARAM_IMPULSE_CLAMP** = **2** --- If above 0, this value is the maximum value for an impulse that this Joint produces.
 
+
 Description
 -----------
 

+ 8 - 3
classes/class_proceduralsky.rst

@@ -81,11 +81,15 @@ Member Variables
 
   .. _class_ProceduralSky_texture_size:
 
-- :ref:`int<class_int>` **texture_size**
+- :ref:`TextureSize<enum_proceduralsky_texturesize>` **texture_size**
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_ProceduralSky_TextureSize:
+
+enum **TextureSize**
 
 - **TEXTURE_SIZE_256** = **0**
 - **TEXTURE_SIZE_512** = **1**
@@ -94,3 +98,4 @@ Numeric Constants
 - **TEXTURE_SIZE_4096** = **4**
 - **TEXTURE_SIZE_MAX** = **5**
 
+

+ 8 - 3
classes/class_reflectionprobe.rst

@@ -65,12 +65,17 @@ Member Variables
 
   .. _class_ReflectionProbe_update_mode:
 
-- :ref:`int<class_int>` **update_mode**
+- :ref:`UpdateMode<enum_reflectionprobe_updatemode>` **update_mode**
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_ReflectionProbe_UpdateMode:
+
+enum **UpdateMode**
 
 - **UPDATE_ONCE** = **0**
 - **UPDATE_ALWAYS** = **1**
 
+

+ 7 - 2
classes/class_resourcesaver.rst

@@ -25,8 +25,12 @@ Member Functions
 | :ref:`int<class_int>`                          | :ref:`save<class_ResourceSaver_save>` **(** :ref:`String<class_string>` path, :ref:`Resource<class_resource>` resource, :ref:`int<class_int>` flags=0 **)** |
 +------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_ResourceSaver_SaverFlags:
+
+enum **SaverFlags**
 
 - **FLAG_RELATIVE_PATHS** = **1**
 - **FLAG_BUNDLE_RESOURCES** = **2**
@@ -35,6 +39,7 @@ Numeric Constants
 - **FLAG_SAVE_BIG_ENDIAN** = **16**
 - **FLAG_COMPRESS** = **32**
 
+
 Description
 -----------
 

+ 20 - 5
classes/class_richtextlabel.rst

@@ -137,16 +137,30 @@ Member Variables
 - :ref:`int<class_int>` **visible_characters** - The restricted number of characters to display in the label.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_RichTextLabel_ListType:
+
+enum **ListType**
+
+- **LIST_NUMBERS** = **0**
+- **LIST_LETTERS** = **1**
+- **LIST_DOTS** = **2**
+
+  .. _enum_RichTextLabel_Align:
+
+enum **Align**
 
 - **ALIGN_LEFT** = **0**
 - **ALIGN_CENTER** = **1**
 - **ALIGN_RIGHT** = **2**
 - **ALIGN_FILL** = **3**
-- **LIST_NUMBERS** = **0**
-- **LIST_LETTERS** = **1**
-- **LIST_DOTS** = **2**
+
+  .. _enum_RichTextLabel_ItemType:
+
+enum **ItemType**
+
 - **ITEM_FRAME** = **0**
 - **ITEM_TEXT** = **1**
 - **ITEM_IMAGE** = **2**
@@ -160,6 +174,7 @@ Numeric Constants
 - **ITEM_TABLE** = **10**
 - **ITEM_META** = **11**
 
+
 Description
 -----------
 

+ 11 - 4
classes/class_rigidbody.rst

@@ -9,6 +9,8 @@ RigidBody
 
 **Inherits:** :ref:`PhysicsBody<class_physicsbody>` **<** :ref:`CollisionObject<class_collisionobject>` **<** :ref:`Spatial<class_spatial>` **<** :ref:`Node<class_node>` **<** :ref:`Object<class_object>`
 
+**Inherited By:** :ref:`VehicleBody<class_vehiclebody>`
+
 **Category:** Core
 
 Brief Description
@@ -150,7 +152,7 @@ Continuous collision detection tries to predict where a moving body will collide
 
   .. _class_RigidBody_mode:
 
-- :ref:`int<class_int>` **mode** - The body mode from the MODE\_\* enum. Modes include: MODE_STATIC, MODE_KINEMATIC, MODE_RIGID, and MODE_CHARACTER.
+- :ref:`Mode<enum_rigidbody_mode>` **mode** - The body mode from the MODE\_\* enum. Modes include: MODE_STATIC, MODE_KINEMATIC, MODE_RIGID, and MODE_CHARACTER.
 
   .. _class_RigidBody_sleeping:
 
@@ -161,14 +163,19 @@ Continuous collision detection tries to predict where a moving body will collide
 - :ref:`float<class_float>` **weight** - RigidBody's weight based on its mass and the global 3D gravity. Global values are set in "Project > Project Settings > Physics > 3d".
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_RigidBody_Mode:
+
+enum **Mode**
 
 - **MODE_RIGID** = **0** --- Rigid body. This is the "natural" state of a rigid body. It is affected by forces, and can move, rotate, and be affected by user code.
 - **MODE_STATIC** = **1** --- Static mode. The body behaves like a :ref:`StaticBody<class_staticbody>`, and can only move by user code.
 - **MODE_CHARACTER** = **2** --- Character body. This behaves like a rigid body, but can not rotate.
 - **MODE_KINEMATIC** = **3** --- Kinematic body. The body behaves like a :ref:`KinematicBody<class_kinematicbody>`, and can only move by user code.
 
+
 Description
 -----------
 
@@ -201,7 +208,7 @@ Apply a positioned impulse (which will be affected by the body mass and shape).
 
 - :ref:`Array<class_array>` **get_colliding_bodies** **(** **)** const
 
-Return a list of the bodies colliding with this one. By default, number of max contacts reported is at 0 , see :ref:`set_max_contacts_reported<class_RigidBody_set_max_contacts_reported>` to increase it.
+Return a list of the bodies colliding with this one. By default, number of max contacts reported is at 0 , see :ref:`set_max_contacts_reported<class_RigidBody_set_max_contacts_reported>` to increase it.  Note that the result of this test is not immediate after moving objects. For performance, list of collisions is updated once per frame and before the physics step. Consider using signals instead.
 
 .. _class_RigidBody_set_axis_velocity:
 

+ 18 - 8
classes/class_rigidbody2d.rst

@@ -108,7 +108,7 @@ Member Variables
 
   .. _class_RigidBody2D_continuous_cd:
 
-- :ref:`int<class_int>` **continuous_cd** - Continuous collision detection mode. Default value: ``CCD_MODE_DISABLED``.
+- :ref:`CCDMode<enum_rigidbody2d_ccdmode>` **continuous_cd** - Continuous collision detection mode. Default value: ``CCD_MODE_DISABLED``.
 
 Continuous collision detection tries to predict where a moving body will collide instead of moving it and correcting its movement after collision. Continuous collision detection is slower, but more precise and misses fewer collisions with small, fast-moving objects. Raycasting and shapecasting methods are available. See ``CCD_MODE\_`` constants for details.
 
@@ -138,7 +138,7 @@ Continuous collision detection tries to predict where a moving body will collide
 
   .. _class_RigidBody2D_mode:
 
-- :ref:`int<class_int>` **mode** - The body's mode. See ``MODE\_\*`` constants. Default value: ``MODE_RIGID``.
+- :ref:`Mode<enum_rigidbody2d_mode>` **mode** - The body's mode. See ``MODE\_\*`` constants. Default value: ``MODE_RIGID``.
 
   .. _class_RigidBody2D_sleeping:
 
@@ -149,16 +149,26 @@ Continuous collision detection tries to predict where a moving body will collide
 - :ref:`float<class_float>` **weight** - The body's weight based on its mass and the "Default Gravity" value in "Project > Project Settings > Physics > 2d".
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_RigidBody2D_CCDMode:
+
+enum **CCDMode**
+
+- **CCD_MODE_DISABLED** = **0** --- Continuous collision detection disabled. This is the fastest way to detect body collisions, but can miss small, fast-moving objects.
+- **CCD_MODE_CAST_RAY** = **1** --- Continuous collision detection enabled using raycasting. This is faster than shapecasting but less precise.
+- **CCD_MODE_CAST_SHAPE** = **2** --- Continuous collision detection enabled using shapecasting. This is the slowest CCD method and the most precise.
+
+  .. _enum_RigidBody2D_Mode:
+
+enum **Mode**
 
 - **MODE_RIGID** = **0** --- Rigid mode. The body behaves as a physical object. It collides with other bodies and responds to forces applied to it. This is the default mode.
 - **MODE_STATIC** = **1** --- Static mode. The body behaves like a :ref:`StaticBody2D<class_staticbody2d>` and does not move.
 - **MODE_CHARACTER** = **2** --- Character mode. Similar to ``MODE_RIGID``, but the body can not rotate.
 - **MODE_KINEMATIC** = **3** --- Kinematic mode. The body behaves like a :ref:`KinematicBody2D<class_kinematicbody2d>`, and must be moved by code.
-- **CCD_MODE_DISABLED** = **0** --- Continuous collision detection disabled. This is the fastest way to detect body collisions, but can miss small, fast-moving objects.
-- **CCD_MODE_CAST_RAY** = **1** --- Continuous collision detection enabled using raycasting. This is faster than shapecasting but less precise.
-- **CCD_MODE_CAST_SHAPE** = **2** --- Continuous collision detection enabled using shapecasting. This is the slowest CCD method and the most precise.
+
 
 Description
 -----------
@@ -216,7 +226,7 @@ Returns the body's total applied torque.
 
 - :ref:`Array<class_array>` **get_colliding_bodies** **(** **)** const
 
-Returns a list of the bodies colliding with this one. Use :ref:`contacts_reported<class_RigidBody2D_contacts_reported>` to set the maximum number reported. You must also set :ref:`contact_monitor<class_RigidBody2D_contact_monitor>` to ``true``.
+Returns a list of the bodies colliding with this one. Use :ref:`contacts_reported<class_RigidBody2D_contacts_reported>` to set the maximum number reported. You must also set :ref:`contact_monitor<class_RigidBody2D_contact_monitor>` to ``true``. Note that the result of this test is not immediate after moving objects. For performance, list of collisions is updated once per frame and before the physics step. Consider using signals instead.
 
 .. _class_RigidBody2D_get_inertia:
 

+ 7 - 2
classes/class_scenestate.rst

@@ -61,13 +61,18 @@ Member Functions
 | :ref:`bool<class_bool>`                        | :ref:`is_node_instance_placeholder<class_SceneState_is_node_instance_placeholder>` **(** :ref:`int<class_int>` idx **)** const                       |
 +------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_SceneState_GenEditState:
+
+enum **GenEditState**
 
 - **GEN_EDIT_STATE_DISABLED** = **0** --- If passed to :ref:`PackedScene.instance<class_PackedScene_instance>`, blocks edits to the scene state.
 - **GEN_EDIT_STATE_INSTANCE** = **1** --- If passed to :ref:`PackedScene.instance<class_PackedScene_instance>`, provides inherited scene resources to the local scene. Requires tools compiled.
 - **GEN_EDIT_STATE_MAIN** = **2** --- If passed to :ref:`PackedScene.instance<class_PackedScene_instance>`, provides local scene resources to the local scene. Only the main scene should receive the main edit state. Requires tools compiled.
 
+
 Description
 -----------
 

+ 17 - 2
classes/class_scenetree.rst

@@ -161,22 +161,37 @@ Signals
 - **tree_changed** **(** **)**
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_SceneTree_GroupCallFlags:
+
+enum **GroupCallFlags**
 
 - **GROUP_CALL_DEFAULT** = **0**
 - **GROUP_CALL_REVERSE** = **1**
 - **GROUP_CALL_REALTIME** = **2**
 - **GROUP_CALL_UNIQUE** = **4**
+
+  .. _enum_SceneTree_StretchMode:
+
+enum **StretchMode**
+
 - **STRETCH_MODE_DISABLED** = **0**
 - **STRETCH_MODE_2D** = **1**
 - **STRETCH_MODE_VIEWPORT** = **2**
+
+  .. _enum_SceneTree_StretchAspect:
+
+enum **StretchAspect**
+
 - **STRETCH_ASPECT_IGNORE** = **0**
 - **STRETCH_ASPECT_KEEP** = **1**
 - **STRETCH_ASPECT_KEEP_WIDTH** = **2**
 - **STRETCH_ASPECT_KEEP_HEIGHT** = **3**
 - **STRETCH_ASPECT_EXPAND** = **4**
 
+
 Member Function Description
 ---------------------------
 

+ 7 - 2
classes/class_shader.rst

@@ -33,13 +33,18 @@ Member Functions
 | void                           | :ref:`set_default_texture_param<class_Shader_set_default_texture_param>` **(** :ref:`String<class_string>` param, :ref:`Texture<class_texture>` texture **)** |
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_Shader_Mode:
+
+enum **Mode**
 
 - **MODE_SPATIAL** = **0**
 - **MODE_CANVAS_ITEM** = **1**
 - **MODE_PARTICLES** = **2**
 
+
 Description
 -----------
 

+ 8 - 3
classes/class_sky.rst

@@ -23,15 +23,19 @@ Member Variables
 
   .. _class_Sky_radiance_size:
 
-- :ref:`int<class_int>` **radiance_size** - The Sky's radiance map size.
+- :ref:`RadianceSize<enum_sky_radiancesize>` **radiance_size** - The Sky's radiance map size.
 
 The higher the radiance map size, the more detailed the lighting from the Sky will be.
 
 See RADIANCE_SIZE\_\* constants for values. Default size is RADIANCE_SIZE_512.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_Sky_RadianceSize:
+
+enum **RadianceSize**
 
 - **RADIANCE_SIZE_32** = **0** --- Radiance texture size is 32x32 pixels.
 - **RADIANCE_SIZE_64** = **1** --- Radiance texture size is 64x64 pixels.
@@ -42,6 +46,7 @@ Numeric Constants
 - **RADIANCE_SIZE_2048** = **6** --- Radiance texture size is 2048x2048 pixels.
 - **RADIANCE_SIZE_MAX** = **7** --- Radiance texture size is the largest size it can be.
 
+
 Description
 -----------
 

+ 1 - 1
classes/class_slider.rst

@@ -27,7 +27,7 @@ Member Variables
 
   .. _class_Slider_focus_mode:
 
-- :ref:`int<class_int>` **focus_mode**
+- :ref:`FocusMode<enum_control_focusmode>` **focus_mode**
 
   .. _class_Slider_tick_count:
 

+ 7 - 2
classes/class_sliderjoint.rst

@@ -114,8 +114,12 @@ Makes all rotation slower when between 0 and 1.
 - :ref:`float<class_float>` **linear_ortho/softness** - A factor applied to the movement accross axes orthogonal to the slider.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_SliderJoint_Param:
+
+enum **Param**
 
 - **PARAM_LINEAR_LIMIT_UPPER** = **0** --- The maximum difference between the pivot points on their x-axis before damping happens.
 - **PARAM_LINEAR_LIMIT_LOWER** = **1** --- The minimum difference between the pivot points on their x-axis before damping happens.
@@ -141,6 +145,7 @@ Numeric Constants
 - **PARAM_ANGULAR_ORTHOGONAL_DAMPING** = **21** --- The amount of damping of the rotation across axes orthogonal to the slider.
 - **PARAM_MAX** = **22** --- End flag of PARAM\_\* constants, used internally.
 
+
 Description
 -----------
 

+ 97 - 37
classes/class_spatialmaterial.rst

@@ -57,7 +57,7 @@ Member Variables
 
   .. _class_SpatialMaterial_ao_texture_channel:
 
-- :ref:`int<class_int>` **ao_texture_channel**
+- :ref:`TextureChannel<enum_spatialmaterial_texturechannel>` **ao_texture_channel**
 
   .. _class_SpatialMaterial_clearcoat:
 
@@ -105,7 +105,7 @@ Member Variables
 
   .. _class_SpatialMaterial_detail_blend_mode:
 
-- :ref:`int<class_int>` **detail_blend_mode**
+- :ref:`BlendMode<enum_spatialmaterial_blendmode>` **detail_blend_mode**
 
   .. _class_SpatialMaterial_detail_enabled:
 
@@ -121,7 +121,7 @@ Member Variables
 
   .. _class_SpatialMaterial_detail_uv_layer:
 
-- :ref:`int<class_int>` **detail_uv_layer**
+- :ref:`DetailUV<enum_spatialmaterial_detailuv>` **detail_uv_layer**
 
   .. _class_SpatialMaterial_distance_fade_enable:
 
@@ -153,7 +153,7 @@ Member Variables
 
   .. _class_SpatialMaterial_emission_operator:
 
-- :ref:`int<class_int>` **emission_operator**
+- :ref:`EmissionOperator<enum_spatialmaterial_emissionoperator>` **emission_operator**
 
   .. _class_SpatialMaterial_emission_texture:
 
@@ -205,7 +205,7 @@ Member Variables
 
   .. _class_SpatialMaterial_metallic_texture_channel:
 
-- :ref:`int<class_int>` **metallic_texture_channel**
+- :ref:`TextureChannel<enum_spatialmaterial_texturechannel>` **metallic_texture_channel**
 
   .. _class_SpatialMaterial_normal_enabled:
 
@@ -225,23 +225,23 @@ Member Variables
 
   .. _class_SpatialMaterial_params_billboard_mode:
 
-- :ref:`int<class_int>` **params_billboard_mode**
+- :ref:`BillboardMode<enum_spatialmaterial_billboardmode>` **params_billboard_mode**
 
   .. _class_SpatialMaterial_params_blend_mode:
 
-- :ref:`int<class_int>` **params_blend_mode**
+- :ref:`BlendMode<enum_spatialmaterial_blendmode>` **params_blend_mode**
 
   .. _class_SpatialMaterial_params_cull_mode:
 
-- :ref:`int<class_int>` **params_cull_mode**
+- :ref:`CullMode<enum_spatialmaterial_cullmode>` **params_cull_mode**
 
   .. _class_SpatialMaterial_params_depth_draw_mode:
 
-- :ref:`int<class_int>` **params_depth_draw_mode**
+- :ref:`DepthDrawMode<enum_spatialmaterial_depthdrawmode>` **params_depth_draw_mode**
 
   .. _class_SpatialMaterial_params_diffuse_mode:
 
-- :ref:`int<class_int>` **params_diffuse_mode**
+- :ref:`DiffuseMode<enum_spatialmaterial_diffusemode>` **params_diffuse_mode**
 
   .. _class_SpatialMaterial_params_grow:
 
@@ -261,7 +261,7 @@ Member Variables
 
   .. _class_SpatialMaterial_params_specular_mode:
 
-- :ref:`int<class_int>` **params_specular_mode**
+- :ref:`SpecularMode<enum_spatialmaterial_specularmode>` **params_specular_mode**
 
   .. _class_SpatialMaterial_params_use_alpha_scissor:
 
@@ -301,7 +301,7 @@ Member Variables
 
   .. _class_SpatialMaterial_refraction_texture_channel:
 
-- :ref:`int<class_int>` **refraction_texture_channel**
+- :ref:`TextureChannel<enum_spatialmaterial_texturechannel>` **refraction_texture_channel**
 
   .. _class_SpatialMaterial_rim:
 
@@ -329,7 +329,7 @@ Member Variables
 
   .. _class_SpatialMaterial_roughness_texture_channel:
 
-- :ref:`int<class_int>` **roughness_texture_channel**
+- :ref:`TextureChannel<enum_spatialmaterial_texturechannel>` **roughness_texture_channel**
 
   .. _class_SpatialMaterial_subsurf_scatter_enabled:
 
@@ -396,8 +396,19 @@ Member Variables
 - :ref:`bool<class_bool>` **vertex_color_use_as_albedo**
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_SpatialMaterial_DetailUV:
+
+enum **DetailUV**
+
+- **DETAIL_UV_1** = **0**
+- **DETAIL_UV_2** = **1**
+
+  .. _enum_SpatialMaterial_TextureParam:
+
+enum **TextureParam**
 
 - **TEXTURE_ALBEDO** = **0**
 - **TEXTURE_METALLIC** = **1**
@@ -416,8 +427,38 @@ Numeric Constants
 - **TEXTURE_DETAIL_ALBEDO** = **14**
 - **TEXTURE_DETAIL_NORMAL** = **15**
 - **TEXTURE_MAX** = **16**
-- **DETAIL_UV_1** = **0**
-- **DETAIL_UV_2** = **1**
+
+  .. _enum_SpatialMaterial_DepthDrawMode:
+
+enum **DepthDrawMode**
+
+- **DEPTH_DRAW_OPAQUE_ONLY** = **0**
+- **DEPTH_DRAW_ALWAYS** = **1**
+- **DEPTH_DRAW_DISABLED** = **2**
+- **DEPTH_DRAW_ALPHA_OPAQUE_PREPASS** = **3**
+
+  .. _enum_SpatialMaterial_DiffuseMode:
+
+enum **DiffuseMode**
+
+- **DIFFUSE_BURLEY** = **0**
+- **DIFFUSE_LAMBERT** = **1**
+- **DIFFUSE_LAMBERT_WRAP** = **2**
+- **DIFFUSE_OREN_NAYAR** = **3**
+- **DIFFUSE_TOON** = **4**
+
+  .. _enum_SpatialMaterial_CullMode:
+
+enum **CullMode**
+
+- **CULL_BACK** = **0**
+- **CULL_FRONT** = **1**
+- **CULL_DISABLED** = **2**
+
+  .. _enum_SpatialMaterial_Feature:
+
+enum **Feature**
+
 - **FEATURE_TRANSPARENT** = **0**
 - **FEATURE_EMISSION** = **1**
 - **FEATURE_NORMAL_MAPPING** = **2**
@@ -431,17 +472,11 @@ Numeric Constants
 - **FEATURE_REFRACTION** = **10**
 - **FEATURE_DETAIL** = **11**
 - **FEATURE_MAX** = **12**
-- **BLEND_MODE_MIX** = **0**
-- **BLEND_MODE_ADD** = **1**
-- **BLEND_MODE_SUB** = **2**
-- **BLEND_MODE_MUL** = **3**
-- **DEPTH_DRAW_OPAQUE_ONLY** = **0**
-- **DEPTH_DRAW_ALWAYS** = **1**
-- **DEPTH_DRAW_DISABLED** = **2**
-- **DEPTH_DRAW_ALPHA_OPAQUE_PREPASS** = **3**
-- **CULL_BACK** = **0**
-- **CULL_FRONT** = **1**
-- **CULL_DISABLED** = **2**
+
+  .. _enum_SpatialMaterial_Flags:
+
+enum **Flags**
+
 - **FLAG_UNSHADED** = **0**
 - **FLAG_USE_VERTEX_LIGHTING** = **1**
 - **FLAG_DISABLE_DEPTH_TEST** = **2**
@@ -457,25 +492,50 @@ Numeric Constants
 - **FLAG_TRIPLANAR_USE_WORLD** = **9**
 - **FLAG_ALBEDO_TEXTURE_FORCE_SRGB** = **13**
 - **FLAG_MAX** = **14**
-- **DIFFUSE_BURLEY** = **0**
-- **DIFFUSE_LAMBERT** = **1**
-- **DIFFUSE_LAMBERT_WRAP** = **2**
-- **DIFFUSE_OREN_NAYAR** = **3**
-- **DIFFUSE_TOON** = **4**
+
+  .. _enum_SpatialMaterial_BlendMode:
+
+enum **BlendMode**
+
+- **BLEND_MODE_MIX** = **0**
+- **BLEND_MODE_ADD** = **1**
+- **BLEND_MODE_SUB** = **2**
+- **BLEND_MODE_MUL** = **3**
+
+  .. _enum_SpatialMaterial_SpecularMode:
+
+enum **SpecularMode**
+
 - **SPECULAR_SCHLICK_GGX** = **0**
 - **SPECULAR_BLINN** = **1**
 - **SPECULAR_PHONG** = **2**
 - **SPECULAR_TOON** = **3**
 - **SPECULAR_DISABLED** = **4**
-- **BILLBOARD_DISABLED** = **0**
-- **BILLBOARD_ENABLED** = **1**
-- **BILLBOARD_FIXED_Y** = **2**
-- **BILLBOARD_PARTICLES** = **3**
+
+  .. _enum_SpatialMaterial_TextureChannel:
+
+enum **TextureChannel**
+
 - **TEXTURE_CHANNEL_RED** = **0**
 - **TEXTURE_CHANNEL_GREEN** = **1**
 - **TEXTURE_CHANNEL_BLUE** = **2**
 - **TEXTURE_CHANNEL_ALPHA** = **3**
 - **TEXTURE_CHANNEL_GRAYSCALE** = **4**
+
+  .. _enum_SpatialMaterial_BillboardMode:
+
+enum **BillboardMode**
+
+- **BILLBOARD_DISABLED** = **0**
+- **BILLBOARD_ENABLED** = **1**
+- **BILLBOARD_FIXED_Y** = **2**
+- **BILLBOARD_PARTICLES** = **3**
+
+  .. _enum_SpatialMaterial_EmissionOperator:
+
+enum **EmissionOperator**
+
 - **EMISSION_OP_ADD** = **0**
 - **EMISSION_OP_MULTIPLY** = **1**
 
+

+ 8 - 3
classes/class_splitcontainer.rst

@@ -37,20 +37,25 @@ Member Variables
 
   .. _class_SplitContainer_dragger_visibility:
 
-- :ref:`int<class_int>` **dragger_visibility**
+- :ref:`DraggerVisibility<enum_splitcontainer_draggervisibility>` **dragger_visibility**
 
   .. _class_SplitContainer_split_offset:
 
 - :ref:`int<class_int>` **split_offset**
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_SplitContainer_DraggerVisibility:
+
+enum **DraggerVisibility**
 
 - **DRAGGER_VISIBLE** = **0** --- The split dragger is visible.
 - **DRAGGER_HIDDEN** = **1** --- The split dragger is invisible.
 - **DRAGGER_HIDDEN_COLLAPSED** = **2** --- The split dragger is invisible and collapsed.
 
+
 Description
 -----------
 

+ 17 - 7
classes/class_spritebase3d.rst

@@ -30,11 +30,11 @@ Member Variables
 
   .. _class_SpriteBase3D_alpha_cut:
 
-- :ref:`int<class_int>` **alpha_cut**
+- :ref:`AlphaCutMode<enum_spritebase3d_alphacutmode>` **alpha_cut**
 
   .. _class_SpriteBase3D_axis:
 
-- :ref:`int<class_int>` **axis** - The direction in which the front of the texture faces.
+- :ref:`Axis<enum_vector3_axis>` **axis** - The direction in which the front of the texture faces.
 
   .. _class_SpriteBase3D_centered:
 
@@ -77,16 +77,26 @@ Member Variables
 - :ref:`bool<class_bool>` **transparent** - If ``true`` the texture's transparency and the opacity are used to make those parts of the Sprite invisible. Default value: ``true``.
 
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_SpriteBase3D_AlphaCutMode:
+
+enum **AlphaCutMode**
+
+- **ALPHA_CUT_DISABLED** = **0**
+- **ALPHA_CUT_DISCARD** = **1**
+- **ALPHA_CUT_OPAQUE_PREPASS** = **2**
+
+  .. _enum_SpriteBase3D_DrawFlags:
+
+enum **DrawFlags**
 
 - **FLAG_TRANSPARENT** = **0** --- If set, the texture's transparency and the opacity are used to make those parts of the Sprite invisible.
 - **FLAG_SHADED** = **1** --- If set, the Light in the Environment has effects on the Sprite.
 - **FLAG_DOUBLE_SIDED** = **2** --- If set, texture can be seen from the back as well, if not, it is invisible when looking at it from behind.
 - **FLAG_MAX** = **3** --- Used internally to mark the end of the Flags section.
-- **ALPHA_CUT_DISABLED** = **0**
-- **ALPHA_CUT_DISCARD** = **1**
-- **ALPHA_CUT_OPAQUE_PREPASS** = **2**
+
 
 Description
 -----------

+ 7 - 2
classes/class_streampeerssl.rst

@@ -29,14 +29,19 @@ Member Functions
 | :ref:`int<class_int>`  | :ref:`get_status<class_StreamPeerSSL_get_status>` **(** **)** const                                                                                                                                               |
 +------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_StreamPeerSSL_Status:
+
+enum **Status**
 
 - **STATUS_DISCONNECTED** = **0** --- A status representing a ``StreamPeerSSL`` that is disconnected.
 - **STATUS_CONNECTED** = **1** --- A status representing a ``StreamPeerSSL`` that is connected to a host.
 - **STATUS_ERROR_NO_CERTIFICATE** = **2** --- An errot status that shows the peer did not present a SSL certificate and validation was requested.
 - **STATUS_ERROR_HOSTNAME_MISMATCH** = **3** --- An error status that shows a mismatch in the SSL certificate domain presented by the host and the domain requested for validation.
 
+
 Description
 -----------
 

+ 7 - 2
classes/class_streampeertcp.rst

@@ -33,14 +33,19 @@ Member Functions
 | :ref:`bool<class_bool>`      | :ref:`is_connected_to_host<class_StreamPeerTCP_is_connected_to_host>` **(** **)** const                                              |
 +------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+
 
-Numeric Constants
------------------
+Enums
+-----
+
+  .. _enum_StreamPeerTCP_Status:
+
+enum **Status**
 
 - **STATUS_NONE** = **0** --- The initial status of the ``StreamPeerTCP``, also the status after a disconnect.
 - **STATUS_CONNECTING** = **1** --- A status representing a ``StreamPeerTCP`` that is connecting to a host.
 - **STATUS_CONNECTED** = **2** --- A status representing a ``StreamPeerTCP`` that is connected to a host.
 - **STATUS_ERROR** = **3** --- A staus representing a ``StreamPeerTCP`` in error state.
 
+
 Description
 -----------
 

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů