Browse Source

Fix broken tables + some proofing

Rémi Verschelde 9 years ago
parent
commit
39c2fa95ba

+ 360 - 360
contributing/list_of_classes_and_documenters.rst

@@ -4,364 +4,364 @@ List of classes and documenters
 ===============================
 ===============================
 
 
 Status list : Not started, Started, Finished, Removed
 Status list : Not started, Started, Finished, Removed
+Class name - Assigned to - Status - Start date - Notes
 
 
-| \| Class name \| Assigned to \| Status \| Start date \| Notes \|
-| \| @GDScript \| \| \|
-| \| @Global Scope \| \| \|
-| \| AABB \| bojidar_bg \| Finished \|
-| \| AcceptDialog \| \| \|
-| \| AnimatedSprite \| \| \|
-| \| AnimatedSprite3D \| \| \|
-| \| Animation \| \| \|
-| \| AnimationPlayer \| \| \|
-| \| AnimationTreePlayer \| \| \|
-| \| Area \| \| \|
-| \| Area2D \| Ovnuniarchos \| Finished \| 2015/12/22 \| \|
-| \| Array \| vnen \| Started \| 10/10/2015 \|
-| \| AtlasTexture \| \| \|
-| \| AudioServer \| Akien \| Finished \|
-| \| AudioServerSW \| Akien \| Finished \|
-| \| AudioStream \| Akien \| Finished \|
-| \| AudioStreamMPC \| Akien \| Finished \|
-| \| AudioStreamOGGVorbis \| Akien \| Finished \|
-| \| AudioStreamPlayback \| Akien \| Finished \|
-| \| AudioStreamSpeex \| Akien \| Finished \|
-| \| BackBufferCopy \| \| \|
-| \| BakedLight \| \| \|
-| \| BakedLightInstance \| \| \|
-| \| BakedLightSampler \| \| \|
-| \| BaseButton \| \| \|
-| \| BitMap \| \| \|
-| \| BoneAttachment \| \| \|
-| \| BoxContainer \| \| \|
-| \| BoxShape \| \| \|
-| \| Button \| \| \|
-| \| ButtonArray \| \| \|
-| \| ButtonGroup \| \| \|
-| \| Camera \| \| \|
-| \| Camera2D \| \| \|
-| \| CanvasItem \| \| \|
-| \| CanvasItemMaterial \| \| \|
-| \| CanvasItemShader \| \| \|
-| \| CanvasItemShaderGraph \| \| \|
-| \| CanvasLayer \| \| \|
-| \| CanvasModulate \| \| \|
-| \| CapsuleShape \| \| \|
-| \| CapsuleShape2D \| Ovnuniarchos \| Finished \| \|
-| \| CenterContainer \| \| \|
-| \| CheckBox \| \| \|
-| \| CheckButton \| \| \|
-| \| CircleShape2D \| Ovnuniarchos \| Finished \| \|
-| \| CollisionObject \| \| \|
-| \| CollisionObject2D \| Ovnuniarchos \| Finished \| 2015/12/22 \| \|
-| \| CollisionPolygon \| \| \| \|
-| \| CollisionPolygon2D \| Ovnuniarchos \| Finished \| \|
-| \| CollisionShape \| \| \|
-| \| CollisionShape2D \| Ovnuniarchos \| Finished \| \|
-| \| Color \| \| \|
-| \| ColorArray \| \| \|
-| \| ColorPicker \| \| \|
-| \| ColorPickerButton \| \| \|
-| \| ColorRamp \| \| \|
-| \| ConcavePolygonShape \| \| \|
-| \| ConcavePolygonShape2D \| Ovnuniarchos \| Finished \| \|
-| \| ConeTwistJoint \| \| \|
-| \| ConfigFile \| \| \|
-| \| ConfirmationDialog \| \| \|
-| \| Container \| \| \|
-| \| Control \| \| \|
-| \| ConvexPolygonShape \| \| \|
-| \| ConvexPolygonShape2D \| Ovnuniarchos \| Finished \| \|
-| \| CubeMap \| \| \|
-| \| Curve2D \| Ovnuniarchos \| Finished \|
-| \| Curve3D \| Ovnuniarchos \| Finished \|
-| \| DampedSpringJoint2D \| \| \|
-| \| Dictionary \| \| \|
-| \| DirectionalLight \| \| \|
-| \| Directory \| vnen \| Started \| 11/10/2015 \|
-| \| EditorFileDialog \| \| \|
-| \| EditorImportPlugin \| \| \|
-| \| EditorPlugin \| \| \|
-| \| EditorScenePostImport \| \| \|
-| \| EditorScript \| \| \|
-| \| Environment \| \| \|
-| \| EventPlayer \| \| \|
-| \| EventStream \| \| \|
-| \| EventStreamChibi \| \| \|
-| \| File \| \| \|
-| \| FileDialog \| \| \|
-| \| FixedMaterial \| \| \|
-| \| Font \| \| \|
-| \| FuncRef \| \| \|
-| \| GDFunctionState \| \| \|
-| \| GDNativeClass \| \| \|
-| \| GDScript \| \| \|
-| \| Generic6DOFJoint \| \| \|
-| \| Geometry \| \| \|
-| \| GeometryInstance \| \| \|
-| \| Globals \| \| \|
-| \| GraphEdit \| StraToN \| Finished \| \| may need a tutorial. I'll
-  think about it. \|
-| \| GraphNode \| StraToN \| Finished \| \| may need a tutorial. I'll
-  think about it. \|
-| \| GridContainer \| \| \|
-| \| GridMap \| \| \|
-| \| GrooveJoint2D \| \| \|
-| \| HBoxContainer \| \| \|
-| \| HButtonArray \| \| \|
-| \| HScrollBar \| \| \|
-| \| HSeparator \| \| \|
-| \| HSlider \| \| \|
-| \| HSplitContainer \| \| \|
-| \| HTTPClient \| \| \|
-| \| HingeJoint \| \| \|
-| \| IP \| \| \|
-| \| IP_Unix \| \| \|
-| \| Image \| \| \|
-| \| ImageTexture \| \| \|
-| \| ImmediateGeometry \| \| \|
-| \| Input \| \| \|
-| \| InputDefault \| \| \|
-| \| InputEvent \| \| \|
-| \| InputEventAction \| \| \|
-| \| InputEventJoyButton \| \| \|
-| \| InputEventJoyMotion \| \| \|
-| \| InputEventKey \| \| \|
-| \| InputEventMouseButton \| \| \|
-| \| InputEventMouseMotion \| \| \|
-| \| InputEventScreenDrag \| \| \|
-| \| InputEventScreenTouch \| \| \|
-| \| InputMap \| \| \|
-| \| IntArray \| \| \|
-| \| InterpolatedCamera \| \| \|
-| \| ItemList \| \| \|
-| \| Joint \| \| \|
-| \| Joint2D \| \| \|
-| \| KinematicBody \| \| \|
-| \| KinematicBody2D \| Ovnuniarchos \| Started \| 2015/11/23 \| \|
-| \| Label \| \| \|
-| \| LargeTexture \| \| \|
-| \| Light \| \| \|
-| \| Light2D \| \| \|
-| \| LightOccluder2D \| \| \|
-| \| LineEdit \| \| \|
-| \| LineShape2D \| Ovnuniarchos \| Finished \| \|
-| \| MainLoop \| \| \|
-| \| MarginContainer \| \| \|
-| \| Marshalls \| \| \|
-| \| Material \| \| \|
-| \| MaterialShader \| \| \|
-| \| MaterialShaderGraph \| \| \|
-| \| Matrix3 \| \| \|
-| \| Matrix32 \| \| \|
-| \| MenuButton \| \| \|
-| \| Mesh \| \| \|
-| \| MeshDataTool \| \| \|
-| \| MeshInstance \| \| \|
-| \| MeshLibrary \| \| \|
-| \| MultiMesh \| \| \|
-| \| MultiMeshInstance \| \| \|
-| \| Mutex \| \| \|
-| \| Navigation \| \| \|
-| \| Navigation2D \| \| \|
-| \| NavigationMesh \| \| \|
-| \| NavigationMeshInstance \| \| \|
-| \| NavigationPolygon \| \| \|
-| \| NavigationPolygonInstance \| \| \|
-| \| Nil \| \| \|
-| \| Node \| \| \|
-| \| Node2D \| \| \|
-| \| NodePath \| \| \|
-| \| OS \| \| \|
-| \| Object \| \| \|
-| \| OccluderPolygon2D \| \| \|
-| \| OmniLight \| \| \|
-| \| OptionButton \| \| \|
-| \| PCKPacker \| \| \|
-| \| PHashTranslation \| \| \|
-| \| PackedDataContainer \| \| \|
-| \| PackedDataContainerRef \| \| \|
-| \| PackedScene \| \| \|
-| \| PacketPeer \| \| \|
-| \| PacketPeerStream \| \| \|
-| \| PacketPeerUDP \| \| \|
-| \| Panel \| \| \|
-| \| PanelContainer \| \| \|
-| \| ParallaxBackground \| \| \|
-| \| ParallaxLayer \| \| \|
-| \| ParticleAttractor2D \| \| \|
-| \| Particles \| \| \|
-| \| Particles2D \| \| \|
-| \| Patch9Frame \| \| \|
-| \| Path \| Ovnuniarchos \| Finished \|
-| \| Path2D \| Ovnuniarchos \| Finished \|
-| \| PathFollow \| Ovnuniarchos \| Finished \|
-| \| PathFollow2D \| Ovnuniarchos \| Finished \|
-| \| PathRemap \| \| \|
-| \| Performance \| \| \|
-| \| Physics2DDirectBodyState \| \| \|
-| \| Physics2DDirectBodyStateSW \| \| \|
-| \| Physics2DDirectSpaceState \| \| \|
-| \| Physics2DServer \| \| \|
-| \| Physics2DServerSW \| \| \|
-| \| Physics2DShapeQueryParameters \| \| \|
-| \| Physics2DShapeQueryResult \| \| \|
-| \| Physics2DTestMotionResult \| \| \|
-| \| PhysicsBody \| \| \|
-| \| PhysicsBody2D \| Ovnuniarchos \| Finished \| 2015/12/22 \| \|
-| \| PhysicsDirectBodyState \| \| \|
-| \| PhysicsDirectBodyStateSW \| \| \|
-| \| PhysicsDirectSpaceState \| \| \|
-| \| PhysicsServer \| \| \|
-| \| PhysicsServerSW \| \| \|
-| \| PhysicsShapeQueryParameters \| \| \|
-| \| PhysicsShapeQueryResult \| \| \|
-| \| PinJoint \| \| \|
-| \| PinJoint2D \| \| \|
-| \| Plane \| \| \|
-| \| PlaneShape \| \| \|
-| \| Polygon2D \| \| \|
-| \| PolygonPathFinder \| \| \|
-| \| Popup \| \| \|
-| \| PopupDialog \| \| \|
-| \| PopupMenu \| \| \|
-| \| PopupPanel \| \| \|
-| \| Portal \| \| \|
-| \| Position2D \| \| \|
-| \| Position3D \| \| \|
-| \| ProgressBar \| \| \|
-| \| ProximityGroup \| \| \|
-| \| Quad \| \| \|
-| \| Quat \| \| \|
-| \| RID \| \| \|
-| \| Range \| \| \|
-| \| RawArray \| \| \|
-| \| RayCast \| \| \|
-| \| RayCast2D \| eska \| Started \| 2015-10-16 \|
-| \| RayShape \| \| \|
-| \| RayShape2D \| Ovnuniarchos \| Finished \| \|
-| \| RealArray \| \| \|
-| \| Rect2 \| bojidar_bg \| Finished \|
-| \| RectangleShape2D \| Ovnuniarchos \| Finished \| \|
-| \| Reference \| \| \|
-| \| ReferenceFrame \| \| \|
-| \| RegEx \| Ovnuniarchos \| Finished \| 2015-11-03 \|
-| \| RemoteTransform2D \| eska \| Started \| 2015-10-16 \|
-| \| RenderTargetTexture \| \| \|
-| \| Resource \| \| \|
-| \| ResourceImportMetadata \| \| \|
-| \| ResourceInteractiveLoader \| \| \|
-| \| ResourceLoader \| \| \|
-| \| ResourcePreloader \| \| \|
-| \| ResourceSaver \| \| \|
-| \| RichTextLabel \| \| \|
-| \| RigidBody \| \| \|
-| \| RigidBody2D \| Ovnuniarchos \| Started \| 2015/11/23 \| \|
-| \| Room \| \| \|
-| \| RoomBounds \| \| \|
-| \| Sample \| Akien \| Finished \|
-| \| SampleLibrary \| Akien \| Finished \|
-| \| SamplePlayer \| Akien \| Finished \|
-| \| SamplePlayer2D \| Akien \| Finished \|
-| \| SceneTree \| \| \|
-| \| Script \| \| \|
-| \| ScrollBar \| \| \|
-| \| ScrollContainer \| \| \|
-| \| SegmentShape2D \| Ovnuniarchos \| Finished \| \|
-| \| Semaphore \| \| \|
-| \| Separator \| \| \|
-| \| Shader \| \| \|
-| \| ShaderGraph \| \| \|
-| \| ShaderMaterial \| \| \|
-| \| Shape \| \| \|
-| \| Shape2D \| Ovnuniarchos \| Finished \| \|
-| \| Skeleton \| \| \|
-| \| Slider \| \| \|
-| \| SliderJoint \| \| \|
-| \| SoundPlayer2D \| Akien \| Not started \|
-| \| SoundRoomParams \| Akien \| Not started \|
-| \| Spatial \| Akien \| Not started \|
-| \| SpatialPlayer \| Akien \| Not started \|
-| \| SpatialSamplePlayer \| Akien \| Not started \|
-| \| SpatialSound2DServer \| Akien \| Not started \|
-| \| SpatialSound2DServerSW \| Akien \| Not started \|
-| \| SpatialSoundServer \| Akien \| Not started \|
-| \| SpatialSoundServerSW \| Akien \| Not started \|
-| \| SpatialStreamPlayer \| Akien \| Not started \|
-| \| SphereShape \| \| \|
-| \| SpinBox \| \| \|
-| \| SplitContainer \| \| \|
-| \| SpotLight \| \| \|
-| \| Sprite \| \| \|
-| \| Sprite3D \| \| \|
-| \| SpriteBase3D \| \| \|
-| \| SpriteFrames \| \| \|
-| \| StaticBody \| \| \|
-| \| StaticBody2D \| Ovnuniarchos \| Started \| 2015/11/23 \| \|
-| \| StreamPeer \| \| \|
-| \| StreamPeerSSL \| \| \|
-| \| StreamPeerTCP \| \| \|
-| \| StreamPlayer \| \| \|
-| \| String \| \| \|
-| \| StringArray \| \| \|
-| \| StyleBox \| \| \|
-| \| StyleBoxEmpty \| \| \|
-| \| StyleBoxFlat \| \| \|
-| \| StyleBoxImageMask \| \| \|
-| \| StyleBoxTexture \| \| \|
-| \| SurfaceTool \| \| \|
-| \| TCP_Server \| \| \|
-| \| TabContainer \| \| \|
-| \| Tabs \| \| \|
-| \| TestCube \| \| \|
-| \| TextEdit \| \| \|
-| \| Texture \| \| \|
-| \| TextureButton \| \| \|
-| \| TextureFrame \| \| \|
-| \| TextureProgress \| \| \|
-| \| Theme \| \| \|
-| \| Thread \| \| \|
-| \| TileMap \| Akien \| Finished \|
-| \| TileSet \| Akien \| Finished \|
-| \| Timer \| Akien \| Finished \|
-| \| ToolButton \| \| \|
-| \| TouchScreenButton \| \| \|
-| \| Transform \| \| \|
-| \| Translation \| \| \|
-| \| TranslationServer \| \| \|
-| \| Tree \| \| \|
-| \| TreeItem \| \| \|
-| \| Tween \| \| \|
-| \| UndoRedo \| \| \|
-| \| VBoxContainer \| \| \|
-| \| VButtonArray \| \| \|
-| \| VScrollBar \| \| \|
-| \| VSeparator \| \| \|
-| \| VSlider \| \| \|
-| \| VSplitContainer \| \| \|
-| \| Vector2 \| bojidar_bg \| Finished \|
-| \| Vector2Array \| bojidar_bg \| Finished \|
-| \| Vector3 \| bojidar_bg \| Finished \|
-| \| Vector3Array \| bojidar_bg \| Finished \|
-| \| VehicleBody \| \| \|
-| \| VehicleWheel \| \| \|
-| \| VideoPlayer \| \| \|
-| \| VideoStream \| \| \|
-| \| Viewport \| \| \|
-| \| ViewportSprite \| \| \|
-| \| VisibilityEnabler \| \| \|
-| \| VisibilityEnabler2D \| \| \|
-| \| VisibilityNotifier \| \| \|
-| \| VisibilityNotifier2D \| \| \|
-| \| VisualInstance \| \| \|
-| \| VisualServer \| \| \|
-| \| WeakRef \| \| \|
-| \| WindowDialog \| \| \|
-| \| World \| \| \|
-| \| World2D \| \| \|
-| \| WorldEnvironment \| \| \|
-| \| XMLParser \| \| \|
-| \| YSort \| eska \| Started \| 2015-10-16 \|
-| \| bool \| \| \|
-| \| float \| \| \|
-| \| int \| \| \|
+-  @GDScript 
+-  @Global Scope 
+-  AABB - bojidar_bg - Finished -
+-  AcceptDialog 
+-  AnimatedSprite 
+-  AnimatedSprite3D 
+-  Animation 
+-  AnimationPlayer 
+-  AnimationTreePlayer 
+-  Area 
+-  Area2D - Ovnuniarchos - Finished - 2015/12/22 
+-  Array - vnen - Started - 10/10/2015 -
+-  AtlasTexture 
+-  AudioServer - Akien - Finished -
+-  AudioServerSW - Akien - Finished -
+-  AudioStream - Akien - Finished -
+-  AudioStreamMPC - Akien - Finished -
+-  AudioStreamOGGVorbis - Akien - Finished -
+-  AudioStreamPlayback - Akien - Finished -
+-  AudioStreamSpeex - Akien - Finished -
+-  BackBufferCopy 
+-  BakedLight 
+-  BakedLightInstance 
+-  BakedLightSampler 
+-  BaseButton 
+-  BitMap 
+-  BoneAttachment 
+-  BoxContainer 
+-  BoxShape 
+-  Button 
+-  ButtonArray 
+-  ButtonGroup 
+-  Camera 
+-  Camera2D 
+-  CanvasItem 
+-  CanvasItemMaterial 
+-  CanvasItemShader 
+-  CanvasItemShaderGraph 
+-  CanvasLayer 
+-  CanvasModulate 
+-  CapsuleShape 
+-  CapsuleShape2D - Ovnuniarchos - Finished 
+-  CenterContainer 
+-  CheckBox 
+-  CheckButton 
+-  CircleShape2D - Ovnuniarchos - Finished 
+-  CollisionObject 
+-  CollisionObject2D - Ovnuniarchos - Finished - 2015/12/22 
+-  CollisionPolygon  -
+-  CollisionPolygon2D - Ovnuniarchos - Finished 
+-  CollisionShape 
+-  CollisionShape2D - Ovnuniarchos - Finished 
+-  Color 
+-  ColorArray 
+-  ColorPicker 
+-  ColorPickerButton 
+-  ColorRamp 
+-  ConcavePolygonShape 
+-  ConcavePolygonShape2D - Ovnuniarchos - Finished 
+-  ConeTwistJoint 
+-  ConfigFile 
+-  ConfirmationDialog 
+-  Container 
+-  Control 
+-  ConvexPolygonShape 
+-  ConvexPolygonShape2D - Ovnuniarchos - Finished 
+-  CubeMap 
+-  Curve2D - Ovnuniarchos - Finished -
+-  Curve3D - Ovnuniarchos - Finished -
+-  DampedSpringJoint2D 
+-  Dictionary 
+-  DirectionalLight 
+-  Directory - vnen - Started - 11/10/2015 -
+-  EditorFileDialog 
+-  EditorImportPlugin 
+-  EditorPlugin 
+-  EditorScenePostImport 
+-  EditorScript 
+-  Environment 
+-  EventPlayer 
+-  EventStream 
+-  EventStreamChibi 
+-  File 
+-  FileDialog 
+-  FixedMaterial 
+-  Font 
+-  FuncRef 
+-  GDFunctionState 
+-  GDNativeClass 
+-  GDScript 
+-  Generic6DOFJoint 
+-  Geometry 
+-  GeometryInstance 
+-  Globals 
+-  GraphEdit - StraToN - Finished  may need a tutorial. I'll
+  think about it. -
+-  GraphNode - StraToN - Finished  may need a tutorial. I'll
+  think about it. -
+-  GridContainer 
+-  GridMap 
+-  GrooveJoint2D 
+-  HBoxContainer 
+-  HButtonArray 
+-  HScrollBar 
+-  HSeparator 
+-  HSlider 
+-  HSplitContainer 
+-  HTTPClient 
+-  HingeJoint 
+-  IP 
+-  IP_Unix 
+-  Image 
+-  ImageTexture 
+-  ImmediateGeometry 
+-  Input 
+-  InputDefault 
+-  InputEvent 
+-  InputEventAction 
+-  InputEventJoyButton 
+-  InputEventJoyMotion 
+-  InputEventKey 
+-  InputEventMouseButton 
+-  InputEventMouseMotion 
+-  InputEventScreenDrag 
+-  InputEventScreenTouch 
+-  InputMap 
+-  IntArray 
+-  InterpolatedCamera 
+-  ItemList 
+-  Joint 
+-  Joint2D 
+-  KinematicBody 
+-  KinematicBody2D - Ovnuniarchos - Started - 2015/11/23 
+-  Label 
+-  LargeTexture 
+-  Light 
+-  Light2D 
+-  LightOccluder2D 
+-  LineEdit 
+-  LineShape2D - Ovnuniarchos - Finished 
+-  MainLoop 
+-  MarginContainer 
+-  Marshalls 
+-  Material 
+-  MaterialShader 
+-  MaterialShaderGraph 
+-  Matrix3 
+-  Matrix32 
+-  MenuButton 
+-  Mesh 
+-  MeshDataTool 
+-  MeshInstance 
+-  MeshLibrary 
+-  MultiMesh 
+-  MultiMeshInstance 
+-  Mutex 
+-  Navigation 
+-  Navigation2D 
+-  NavigationMesh 
+-  NavigationMeshInstance 
+-  NavigationPolygon 
+-  NavigationPolygonInstance 
+-  Nil 
+-  Node 
+-  Node2D 
+-  NodePath 
+-  OS 
+-  Object 
+-  OccluderPolygon2D 
+-  OmniLight 
+-  OptionButton 
+-  PCKPacker 
+-  PHashTranslation 
+-  PackedDataContainer 
+-  PackedDataContainerRef 
+-  PackedScene 
+-  PacketPeer 
+-  PacketPeerStream 
+-  PacketPeerUDP 
+-  Panel 
+-  PanelContainer 
+-  ParallaxBackground 
+-  ParallaxLayer 
+-  ParticleAttractor2D 
+-  Particles 
+-  Particles2D 
+-  Patch9Frame 
+-  Path - Ovnuniarchos - Finished -
+-  Path2D - Ovnuniarchos - Finished -
+-  PathFollow - Ovnuniarchos - Finished -
+-  PathFollow2D - Ovnuniarchos - Finished -
+-  PathRemap 
+-  Performance 
+-  Physics2DDirectBodyState 
+-  Physics2DDirectBodyStateSW 
+-  Physics2DDirectSpaceState 
+-  Physics2DServer 
+-  Physics2DServerSW 
+-  Physics2DShapeQueryParameters 
+-  Physics2DShapeQueryResult 
+-  Physics2DTestMotionResult 
+-  PhysicsBody 
+-  PhysicsBody2D - Ovnuniarchos - Finished - 2015/12/22 
+-  PhysicsDirectBodyState 
+-  PhysicsDirectBodyStateSW 
+-  PhysicsDirectSpaceState 
+-  PhysicsServer 
+-  PhysicsServerSW 
+-  PhysicsShapeQueryParameters 
+-  PhysicsShapeQueryResult 
+-  PinJoint 
+-  PinJoint2D 
+-  Plane 
+-  PlaneShape 
+-  Polygon2D 
+-  PolygonPathFinder 
+-  Popup 
+-  PopupDialog 
+-  PopupMenu 
+-  PopupPanel 
+-  Portal 
+-  Position2D 
+-  Position3D 
+-  ProgressBar 
+-  ProximityGroup 
+-  Quad 
+-  Quat 
+-  RID 
+-  Range 
+-  RawArray 
+-  RayCast 
+-  RayCast2D - eska - Started - 2015-10-16 -
+-  RayShape 
+-  RayShape2D - Ovnuniarchos - Finished 
+-  RealArray 
+-  Rect2 - bojidar_bg - Finished -
+-  RectangleShape2D - Ovnuniarchos - Finished 
+-  Reference 
+-  ReferenceFrame 
+-  RegEx - Ovnuniarchos - Finished - 2015-11-03 -
+-  RemoteTransform2D - eska - Started - 2015-10-16 -
+-  RenderTargetTexture 
+-  Resource 
+-  ResourceImportMetadata 
+-  ResourceInteractiveLoader 
+-  ResourceLoader 
+-  ResourcePreloader 
+-  ResourceSaver 
+-  RichTextLabel 
+-  RigidBody 
+-  RigidBody2D - Ovnuniarchos - Started - 2015/11/23 
+-  Room 
+-  RoomBounds 
+-  Sample - Akien - Finished -
+-  SampleLibrary - Akien - Finished -
+-  SamplePlayer - Akien - Finished -
+-  SamplePlayer2D - Akien - Finished -
+-  SceneTree 
+-  Script 
+-  ScrollBar 
+-  ScrollContainer 
+-  SegmentShape2D - Ovnuniarchos - Finished 
+-  Semaphore 
+-  Separator 
+-  Shader 
+-  ShaderGraph 
+-  ShaderMaterial 
+-  Shape 
+-  Shape2D - Ovnuniarchos - Finished 
+-  Skeleton 
+-  Slider 
+-  SliderJoint 
+-  SoundPlayer2D - Akien - Not started -
+-  SoundRoomParams - Akien - Not started -
+-  Spatial - Akien - Not started -
+-  SpatialPlayer - Akien - Not started -
+-  SpatialSamplePlayer - Akien - Not started -
+-  SpatialSound2DServer - Akien - Not started -
+-  SpatialSound2DServerSW - Akien - Not started -
+-  SpatialSoundServer - Akien - Not started -
+-  SpatialSoundServerSW - Akien - Not started -
+-  SpatialStreamPlayer - Akien - Not started -
+-  SphereShape 
+-  SpinBox 
+-  SplitContainer 
+-  SpotLight 
+-  Sprite 
+-  Sprite3D 
+-  SpriteBase3D 
+-  SpriteFrames 
+-  StaticBody 
+-  StaticBody2D - Ovnuniarchos - Started - 2015/11/23 
+-  StreamPeer 
+-  StreamPeerSSL 
+-  StreamPeerTCP 
+-  StreamPlayer 
+-  String 
+-  StringArray 
+-  StyleBox 
+-  StyleBoxEmpty 
+-  StyleBoxFlat 
+-  StyleBoxImageMask 
+-  StyleBoxTexture 
+-  SurfaceTool 
+-  TCP_Server 
+-  TabContainer 
+-  Tabs 
+-  TestCube 
+-  TextEdit 
+-  Texture 
+-  TextureButton 
+-  TextureFrame 
+-  TextureProgress 
+-  Theme 
+-  Thread 
+-  TileMap - Akien - Finished -
+-  TileSet - Akien - Finished -
+-  Timer - Akien - Finished -
+-  ToolButton 
+-  TouchScreenButton 
+-  Transform 
+-  Translation 
+-  TranslationServer 
+-  Tree 
+-  TreeItem 
+-  Tween 
+-  UndoRedo 
+-  VBoxContainer 
+-  VButtonArray 
+-  VScrollBar 
+-  VSeparator 
+-  VSlider 
+-  VSplitContainer 
+-  Vector2 - bojidar_bg - Finished -
+-  Vector2Array - bojidar_bg - Finished -
+-  Vector3 - bojidar_bg - Finished -
+-  Vector3Array - bojidar_bg - Finished -
+-  VehicleBody 
+-  VehicleWheel 
+-  VideoPlayer 
+-  VideoStream 
+-  Viewport 
+-  ViewportSprite 
+-  VisibilityEnabler 
+-  VisibilityEnabler2D 
+-  VisibilityNotifier 
+-  VisibilityNotifier2D 
+-  VisualInstance 
+-  VisualServer 
+-  WeakRef 
+-  WindowDialog 
+-  World 
+-  World2D 
+-  WorldEnvironment 
+-  XMLParser 
+-  YSort - eska - Started - 2015-10-16 -
+-  bool 
+-  float 
+-  int 

+ 51 - 39
reference/binary_serialization_api.rst

@@ -387,9 +387,8 @@ Every name string is is padded to 4 bytes.
 | 4        | 4     | Integer   | val&0x7FFFFFFF = elements, val&0x80000000 = shared (bool)           |
 | 4        | 4     | Integer   | val&0x7FFFFFFF = elements, val&0x80000000 = shared (bool)           |
 +----------+-------+-----------+---------------------------------------------------------------------+
 +----------+-------+-----------+---------------------------------------------------------------------+
 
 
-| Then what follows is, for amount of "elements", pairs of key and
-  value, one after the other, using
-| this same format.
+Then what follows is, for amount of "elements", pairs of key and value,
+one after the other, using this same format.
 
 
 21: array
 21: array
 ~~~~~~~~~
 ~~~~~~~~~
@@ -400,9 +399,8 @@ Every name string is is padded to 4 bytes.
 | 4        | 4     | Integer   | val&0x7FFFFFFF = elements, val&0x80000000 = shared (bool)           |
 | 4        | 4     | Integer   | val&0x7FFFFFFF = elements, val&0x80000000 = shared (bool)           |
 +----------+-------+-----------+---------------------------------------------------------------------+
 +----------+-------+-----------+---------------------------------------------------------------------+
 
 
-| Then what follows is, for amount of "elements", values one after the
-  other, using
-| this same format.
+Then what follows is, for amount of "elements", values one after the
+other, using this same format.
 
 
 22: byte array
 22: byte array
 ~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~
@@ -420,18 +418,24 @@ The array data is padded to 4 bytes.
 23: int array
 23: int array
 ~~~~~~~~~~~~~
 ~~~~~~~~~~~~~
 
 
-| Offset \| Len \| Type \| Description
-| -- \| -- \| -- \| --
-| 4\|4\|Integer\| Array Length (Integers)
-| 8..8+length\*4\|4\|Integer\| 32 Bits Signed Integer
++------------------+-------+-----------+---------------------------+
+| Offset           | Len   | Type      | Description               |
++==================+=======+===========+===========================+
+| 4                | 4     | Integer   | Array Length (Integers)   |
++------------------+-------+-----------+---------------------------+
+| 8..8+length\*4   | 4     | Integer   | 32 Bits Signed Integer    |
++------------------+-------+-----------+---------------------------+
 
 
 24: float array
 24: float array
 ~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~
 
 
-| Offset \| Len \| Type \| Description
-| -- \| -- \| -- \| --
-| 4\|4\|Integer\| Array Length (Floats)
-| 8..8+length\*4\|4\|Integer\| 32 Bits IEE 754 Float
++------------------+-------+-----------+---------------------------+
+| Offset           | Len   | Type      | Description               |
++==================+=======+===========+===========================+
+| 4                | 4     |Integer    | Array Length (Floats)     |
++------------------+-------+-----------+---------------------------+
+| 8..8+length\*4   | 4     |Integer    | 32 Bits IEE 754 Float     |
++------------------+-------+-----------+---------------------------+
 
 
 25: string array
 25: string array
 ~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~
@@ -457,36 +461,44 @@ Every string is is padded to 4 bytes.
 26: vector2 array
 26: vector2 array
 ~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~
 
 
-+-------------------------------------------+-------+-----------+----------------+
-| Offset                                    | Len   | Type      | Description    |
-+===========================================+=======+===========+================+
-| 4                                         | 4     | Integer   | Array Length   |
-+-------------------------------------------+-------+-----------+----------------+
-| 8..8+length_8\|4\|Float\| X Coordinate    | 4     | Float     | Y Coordinate   |
-| 8..12+length_8                            |       |           |                |
-+-------------------------------------------+-------+-----------+----------------+
++-------------------+-------+-----------+----------------+
+| Offset            | Len   | Type      | Description    |
++===================+=======+===========+================+
+| 4                 | 4     | Integer   | Array Length   |
++-------------------+-------+-----------+----------------+
+| 8..8+length\*8    | 4     | Float     | X Coordinate   |
++-------------------+-------+-----------+----------------+
+| 8..12+length\*8   | 4     | Float     | Y Coordinate   |
++-------------------+-------+-----------+----------------+
 
 
 27: vector3 array
 27: vector3 array
 ~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~
 
 
-| Offset \| Len \| Type \| Description
-| -- \| -- \| -- \| --
-| 4\|4\|Integer\| Array Length
-| 8..8+length_12\|4\|Float\| X Coordinate
-| 8..12+length_12\|4\|Float\| Y Coordinate
-| 8..16+length\*12\|4\|Float\| Z Coordinate
++--------------------+-------+-----------+----------------+
+| Offset             | Len   | Type      | Description    |
++====================+=======+===========+================+
+| 4                  | 4     | Integer   | Array Length   |
++--------------------+-------+-----------+----------------+
+| 8..8+length\*12    | 4     | Float     | X Coordinate   |
++--------------------+-------+-----------+----------------+
+| 8..12+length\*12   | 4     | Float     | Y Coordinate   |
++--------------------+-------+-----------+----------------+
+| 8..16+length\*12   | 4     | Float     | Z Coordinate   |
++--------------------+-------+-----------+----------------+
 
 
 28: color array
 28: color array
 ~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~
 
 
-+--------------------------------------------+-------+-----------+----------------+
-| Offset                                     | Len   | Type      | Description    |
-+============================================+=======+===========+================+
-| 4                                          | 4     | Integer   | Array Length   |
-+--------------------------------------------+-------+-----------+----------------+
-| 8..8+length_16\|4\|Float\| Red (0..1)      | 4     | Float     | Green (0..1)   |
-| 8..12+length_16                            |       |           |                |
-+--------------------------------------------+-------+-----------+----------------+
-| 8..16+length_16\|4\|Float\| Blue (0..1)    | 4     | Float     | Alpha (0..1)   |
-| 8..20+length_16                            |       |           |                |
-+--------------------------------------------+-------+-----------+----------------+
++--------------------+-------+-----------+----------------+
+| Offset             | Len   | Type      | Description    |
++====================+=======+===========+================+
+| 4                  | 4     | Integer   | Array Length   |
++--------------------+-------+-----------+----------------+
+| 8..8+length\*16    | 4     | Float     | Red (0..1)     |
++--------------------+-------+-----------+----------------+
+| 8..12+length\*16   | 4     | Float     | Green (0..1)   |
++--------------------+-------+-----------+----------------+
+| 8..16+length\*16   | 4     | Float     | Blue (0..1)    |
++--------------------+-------+-----------+----------------+
+| 8..20+length\*16   | 4     | Float     | Alpha (0..1)   |
++--------------------+-------+-----------+----------------+

+ 253 - 170
reference/shading_language.rst

@@ -57,9 +57,8 @@ Data Types
 Syntax
 Syntax
 ~~~~~~
 ~~~~~~
 
 
-| The syntax is similar to C, with statements ending in ; , and comments
-  as // and /\* \*/.
-| Example:
+The syntax is similar to C, with statements ending with ``;`` and comments
+as ``//`` and ``/* */``. Example:
 
 
 ::
 ::
 
 
@@ -88,27 +87,27 @@ less if the element has more subindices, for example:
 
 
 ::
 ::
 
 
-    vec3 a = vec3( 1, vec2(2,3) );
-    vec3 b = vec3( a );
-    vec3 c = vec3( vec2(2,3), 1 );
-    vec4 d = vec4( a, 5 );
-    mat3 m = mat3( a,b,c );
+    vec3 a = vec3(1,vec2(2,3));
+    vec3 b = vec3(a);
+    vec3 c = vec3(vec2(2,3),1);
+    vec4 d = vec4(a,5);
+    mat3 m = mat3(a,b,c);
 
 
 Conditionals
 Conditionals
 ~~~~~~~~~~~~
 ~~~~~~~~~~~~
 
 
-For now, only the "if" conditional is supported. Example:
+For now, only the ``if`` conditional is supported. Example:
 
 
 ::
 ::
 
 
     if (a < b) {
     if (a < b) {
-       c = b;
+        c = b;
     }
     }
 
 
 Uniforms
 Uniforms
 ~~~~~~~~
 ~~~~~~~~
 
 
-A variable can be declared as uniform. In this case, it's value will
+A variable can be declared as uniform. In this case, its value will
 come from outside the shader (it will be the responsibility of the
 come from outside the shader (it will be the responsibility of the
 material or whatever using the shader to provide it).
 material or whatever using the shader to provide it).
 
 
@@ -127,65 +126,91 @@ uniforms or other shader variables.
 
 
 ::
 ::
 
 
-    vec3 addtwo( vec3 a, vec3 b) {
-
+    vec3 addtwo(vec3 a, vec3 b) {
         return a+b;
         return a+b;
     }
     }
 
 
-    vec3 c = addtwo(vec3(1,1,1)+vec3(2,2,2));
+    vec3 c = addtwo(vec3(1,1,1) + vec3(2,2,2));
 
 
-Built-In Functions
+Built-in functions
 ------------------
 ------------------
 
 
-Several Built-in functions are provided for convenience, listed as
+Several built-in functions are provided for convenience, listed as
 follows:
 follows:
 
 
-| \|\ *. Function \|*. Description \|
-| \| float *sin*\ ( float ) \| Sine \|
-| \| float *cos*\ ( float ) \| Cosine \|
-| \| float *tan*\ ( float ) \| Tangent \|
-| \| float *asin*\ ( float ) \| arc-Sine \|
-| \| float *acos*\ ( float ) \| arc-Cosine \|
-| \| float *atan*\ ( float ) \| arc-Tangent \|
-| \| vec_type *pow*\ ( vec_type, float ) \| Power \|
-| \| vec_type *pow*\ ( vec_type, vec_type ) \| Power (Vec. Exponent)
-  \|
-| \| vec_type *exp*\ ( vec_type ) \| Base-e Exponential \|
-| \| vec_type *log*\ ( vec_type ) \| Natural Logarithm \|
-| \| vec_type *sqrt*\ ( vec_type ) \| Square Root \|
-| \| vec_type *abs*\ ( vec_type ) \| Absolute \|
-| \| vec_type *sign*\ ( vec_type ) \| Sign \|
-| \| vec_type *floor*\ ( vec_type ) \| Floor \|
-| \| vec_type *trunc*\ ( vec_type ) \| Trunc \|
-| \| vec_type *ceil*\ ( vec_type ) \| Ceiling \|
-| \| vec_type *fract*\ ( vec_type ) \| Fractional \|
-| \| vec_type *mod*\ ( vec_type,vec_type ) \| Remainder \|
-| \| vec_type *min*\ ( vec_type,vec_type ) \| Minimum \|
-| \| vec_type *min*\ ( vec_type,vec_type ) \| Maximum \|
-| \| vec_type *clamp*\ ( vec_type value,vec_type min, vec_type max )
-  \| Clamp to Min-Max \|
-| \| vec_type *mix*\ ( vec_type a,vec_type b, float c ) \| Linear
-  Interpolate \|
-| \| vec_type *mix*\ ( vec_type a,vec_type b, vec_type c ) \| Linear
-  Interpolate (Vector Coef.)\|
-| \| vec_type *step*\ ( vec_type a,vec_type b) \| \` a[i] < b[i] ?
-  0.0 : 1.0\`\|
-| \| vec_type *smoothstep*\ ( vec_type a,vec_type b,vec_type c) \|
-  \|
-| \| float *length*\ ( vec_type ) \| Vector Length \|
-| \| float *distance*\ ( vec_type, vec_type ) \| Distance between
-  vector. \|
-| \| float *dot*\ ( vec_type, vec_type ) \| Dot Product \|
-| \| vec3 *dot*\ ( vec3, vec3 ) \| Cross Product \|
-| \| vec_type *normalize*\ ( vec_type ) \| Normalize to unit length \|
-| \| vec3 *reflect*\ ( vec3, vec3 ) \| Reflect \|
-| \| color *tex*\ ( texture, vec2 ) \| Read from a texture in
-  noormalized coords \|
-| \| color *texcube*\ ( texture, vec3 ) \| Read from a cubemap \|
-| \| color *texscreen*\ ( vec2 ) \| Read from screen (generates a copy)
-  \|
-
-Built-In Variables
++-----------------------------------------------------------------------+---------------------------------------------+
+| Function                                                              | Description                                 |
++=======================================================================+=============================================+
+| float *sin* ( float )                                                 | Sine                                        |
++-----------------------------------------------------------------------+---------------------------------------------+
+| float *cos* ( float )                                                 | Cosine                                      |
++-----------------------------------------------------------------------+---------------------------------------------+
+| float *tan* ( float )                                                 | Tangent                                     |
++-----------------------------------------------------------------------+---------------------------------------------+
+| float *asin* ( float )                                                | arc-Sine                                    |
++-----------------------------------------------------------------------+---------------------------------------------+
+| float *acos* ( float )                                                | arc-Cosine                                  |
++-----------------------------------------------------------------------+---------------------------------------------+
+| float *atan* ( float )                                                | arc-Tangent                                 |
++-----------------------------------------------------------------------+---------------------------------------------+
+| vec\_type *pow* ( vec\_type, float )                                  | Power                                       |
++-----------------------------------------------------------------------+---------------------------------------------+
+| vec\_type *pow* ( vec\_type, vec\_type )                              | Power (Vec. Exponent)                       |
++-----------------------------------------------------------------------+---------------------------------------------+
+| vec\_type *exp* ( vec\_type )                                         | Base-e Exponential                          |
++-----------------------------------------------------------------------+---------------------------------------------+
+| vec\_type *log* ( vec\_type )                                         | Natural Logarithm                           |
++-----------------------------------------------------------------------+---------------------------------------------+
+| vec\_type *sqrt* ( vec\_type )                                        | Square Root                                 |
++-----------------------------------------------------------------------+---------------------------------------------+
+| vec\_type *abs* ( vec\_type )                                         | Absolute                                    |
++-----------------------------------------------------------------------+---------------------------------------------+
+| vec\_type *sign* ( vec\_type )                                        | Sign                                        |
++-----------------------------------------------------------------------+---------------------------------------------+
+| vec\_type *floor* ( vec\_type )                                       | Floor                                       |
++-----------------------------------------------------------------------+---------------------------------------------+
+| vec\_type *trunc* ( vec\_type )                                       | Trunc                                       |
++-----------------------------------------------------------------------+---------------------------------------------+
+| vec\_type *ceil* ( vec\_type )                                        | Ceiling                                     |
++-----------------------------------------------------------------------+---------------------------------------------+
+| vec\_type *fract* ( vec\_type )                                       | Fractional                                  |
++-----------------------------------------------------------------------+---------------------------------------------+
+| vec\_type *mod* ( vec\_type,vec\_type )                               | Remainder                                   |
++-----------------------------------------------------------------------+---------------------------------------------+
+| vec\_type *min* ( vec\_type,vec\_type )                               | Minimum                                     |
++-----------------------------------------------------------------------+---------------------------------------------+
+| vec\_type *min* ( vec\_type,vec\_type )                               | Maximum                                     |
++-----------------------------------------------------------------------+---------------------------------------------+
+| vec\_type *clamp* ( vec\_type value,vec\_type min, vec\_type max )    | Clamp to Min-Max                            |
++-----------------------------------------------------------------------+---------------------------------------------+
+| vec\_type *mix* ( vec\_type a,vec\_type b, float c )                  | Linear Interpolate                          |
++-----------------------------------------------------------------------+---------------------------------------------+
+| vec\_type *mix* ( vec\_type a,vec\_type b, vec\_type c )              | Linear Interpolate (Vector Coef.)           |
++-----------------------------------------------------------------------+---------------------------------------------+
+| vec\_type *step* ( vec\_type a,vec\_type b)                           | \` a[i] < b[i] ? 0.0 : 1.0\`                |
++-----------------------------------------------------------------------+---------------------------------------------+
+| vec\_type *smoothstep* ( vec\_type a,vec\_type b,vec\_type c)         |                                             |
++-----------------------------------------------------------------------+---------------------------------------------+
+| float *length* ( vec\_type )                                          | Vector Length                               |
++-----------------------------------------------------------------------+---------------------------------------------+
+| float *distance* ( vec\_type, vec\_type )                             | Distance between vector.                    |
++-----------------------------------------------------------------------+---------------------------------------------+
+| float *dot* ( vec\_type, vec\_type )                                  | Dot Product                                 |
++-----------------------------------------------------------------------+---------------------------------------------+
+| vec3 *dot* ( vec3, vec3 )                                             | Cross Product                               |
++-----------------------------------------------------------------------+---------------------------------------------+
+| vec\_type *normalize* ( vec\_type )                                   | Normalize to unit length                    |
++-----------------------------------------------------------------------+---------------------------------------------+
+| vec3 *reflect* ( vec3, vec3 )                                         | Reflect                                     |
++-----------------------------------------------------------------------+---------------------------------------------+
+| color *tex* ( texture, vec2 )                                         | Read from a texture in noormalized coords   |
++-----------------------------------------------------------------------+---------------------------------------------+
+| color *texcube* ( texture, vec3 )                                     | Read from a cubemap                         |
++-----------------------------------------------------------------------+---------------------------------------------+
+| color *texscreen* ( vec2 )                                            | Read from screen (generates a copy)         |
++-----------------------------------------------------------------------+---------------------------------------------+
+
+Built-in variables
 ------------------
 ------------------
 
 
 Depending on the shader type, several built-in variables are available,
 Depending on the shader type, several built-in variables are available,
@@ -194,28 +219,51 @@ listed as follows:
 Material - VertexShader
 Material - VertexShader
 ~~~~~~~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~~~~~~~
 
 
-| \|\ *. Variable \|*. Description \|
-| \| const vec3 *SRC_VERTEX* \| Model-Space Vertex \|
-| \| const vec3 *SRC_NORMAL* \| Model-Space Normal \|
-| \| const vec3 *SRC_TANGENT* \| Model-Space Tangent \|
-| \| const float *SRC_BINORMALF* \| Direction to Compute Binormal \|
-| \| vec3 *VERTEX* \| View-Space Vertex \|
-| \| vec3 *NORMAL* \| View-Space Normal \|
-| \| vec3 *TANGENT* \| View-Space Tangent \|
-| \| vec3 *BINORMAL* \| View-Space Binormal \|
-| \| vec2 *UV* \| UV \|
-| \| vec2 *UV2* \| UV2 \|
-| \| color *COLOR* \| Vertex Color \|
-| \| out vec4 *VAR1* \| Varying 1 Output \|
-| \| out vec4 *VAR2* \| Varying 2 Output \|
-| \| out float *SPEC_EXP* \| Specular Exponent (for Vertex Lighting) \|
-| \| out float *POINT_SIZE* \| Point Size (for points) \|
-| \| const mat4 *WORLD_MATRIX* \| Object World Matrix \|
-| \| const mat4 *INV_CAMERA_MATRIX* \| Inverse Camera Matrix \|
-| \| const mat4 *PROJECTION_MATRIX* \| Projection Matrix \|
-| \| const mat4 *MODELVIEW_MATRIX* \| (InvCamera \* Projection) \|
-| \| const float *INSTANCE_ID* \| Instance ID (for multimesh)\|
-| \| const float *TIME* \| Time (in seconds) \|
++------------------------------------+-------------------------------------------+
+| Variable                           | Description                               |
++====================================+===========================================+
+| const vec3 *SRC\_VERTEX*           | Model-Space Vertex                        |
++------------------------------------+-------------------------------------------+
+| const vec3 *SRC\_NORMAL*           | Model-Space Normal                        |
++------------------------------------+-------------------------------------------+
+| const vec3 *SRC\_TANGENT*          | Model-Space Tangent                       |
++------------------------------------+-------------------------------------------+
+| const float *SRC\_BINORMALF*       | Direction to Compute Binormal             |
++------------------------------------+-------------------------------------------+
+| vec3 *VERTEX*                      | View-Space Vertex                         |
++------------------------------------+-------------------------------------------+
+| vec3 *NORMAL*                      | View-Space Normal                         |
++------------------------------------+-------------------------------------------+
+| vec3 *TANGENT*                     | View-Space Tangent                        |
++------------------------------------+-------------------------------------------+
+| vec3 *BINORMAL*                    | View-Space Binormal                       |
++------------------------------------+-------------------------------------------+
+| vec2 *UV*                          | UV                                        |
++------------------------------------+-------------------------------------------+
+| vec2 *UV2*                         | UV2                                       |
++------------------------------------+-------------------------------------------+
+| color *COLOR*                      | Vertex Color                              |
++------------------------------------+-------------------------------------------+
+| out vec4 *VAR1*                    | Varying 1 Output                          |
++------------------------------------+-------------------------------------------+
+| out vec4 *VAR2*                    | Varying 2 Output                          |
++------------------------------------+-------------------------------------------+
+| out float *SPEC\_EXP*              | Specular Exponent (for Vertex Lighting)   |
++------------------------------------+-------------------------------------------+
+| out float *POINT\_SIZE*            | Point Size (for points)                   |
++------------------------------------+-------------------------------------------+
+| const mat4 *WORLD\_MATRIX*         | Object World Matrix                       |
++------------------------------------+-------------------------------------------+
+| const mat4 *INV\_CAMERA\_MATRIX*   | Inverse Camera Matrix                     |
++------------------------------------+-------------------------------------------+
+| const mat4 *PROJECTION\_MATRIX*    | Projection Matrix                         |
++------------------------------------+-------------------------------------------+
+| const mat4 *MODELVIEW\_MATRIX*     | (InvCamera \* Projection)                 |
++------------------------------------+-------------------------------------------+
+| const float *INSTANCE\_ID*         | Instance ID (for multimesh)               |
++------------------------------------+-------------------------------------------+
+| const float *TIME*                 | Time (in seconds)                         |
++------------------------------------+-------------------------------------------+
 
 
 Material - FragmentShader
 Material - FragmentShader
 ~~~~~~~~~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -235,7 +283,7 @@ Material - FragmentShader
 +----------------------------------+----------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------+
 | const vec3 *NORMALMAP*           | Alternative to NORMAL, use for normal texture output.                            |
 | const vec3 *NORMALMAP*           | Alternative to NORMAL, use for normal texture output.                            |
 +----------------------------------+----------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------+
-| const vec3 *NORMALMAP_DEPTH*     | Complementary to the above, allows changing depth of normalmap.                  |
+| const vec3 *NORMALMAP\_DEPTH*    | Complementary to the above, allows changing depth of normalmap.                  |
 +----------------------------------+----------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------+
 | const vec2 *UV*                  | UV                                                                               |
 | const vec2 *UV*                  | UV                                                                               |
 +----------------------------------+----------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------+
@@ -247,25 +295,25 @@ Material - FragmentShader
 +----------------------------------+----------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------+
 | const vec4 *VAR2*                | Varying 2                                                                        |
 | const vec4 *VAR2*                | Varying 2                                                                        |
 +----------------------------------+----------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------+
-| const vec2 *SCREEN_UV*           | Screen Texture Coordinate (for using with texscreen)                             |
+| const vec2 *SCREEN\_UV*          | Screen Texture Coordinate (for using with texscreen)                             |
 +----------------------------------+----------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------+
 | const float *TIME*               | Time (in seconds)                                                                |
 | const float *TIME*               | Time (in seconds)                                                                |
 +----------------------------------+----------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------+
-| const vec2 *POINT_COORD*         | UV for point, when drawing point sprites.                                        |
+| const vec2 *POINT\_COORD*        | UV for point, when drawing point sprites.                                        |
 +----------------------------------+----------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------+
 | out vec3 *DIFFUSE*               | Diffuse Color                                                                    |
 | out vec3 *DIFFUSE*               | Diffuse Color                                                                    |
 +----------------------------------+----------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------+
-| out vec4 *DIFFUSE_ALPHA*         | Diffuse Color with Alpha (using this sends geometry to alpha pipeline)           |
+| out vec4 *DIFFUSE\_ALPHA*        | Diffuse Color with Alpha (using this sends geometry to alpha pipeline)           |
 +----------------------------------+----------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------+
 | out vec3 *SPECULAR*              | Specular Color                                                                   |
 | out vec3 *SPECULAR*              | Specular Color                                                                   |
 +----------------------------------+----------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------+
 | out vec3 *EMISSION*              | Emission Color                                                                   |
 | out vec3 *EMISSION*              | Emission Color                                                                   |
 +----------------------------------+----------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------+
-| out float *SPEC_EXP*             | Specular Exponent (Fragment Version)                                             |
+| out float *SPEC\_EXP*            | Specular Exponent (Fragment Version)                                             |
 +----------------------------------+----------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------+
 | out float *GLOW*                 | Glow                                                                             |
 | out float *GLOW*                 | Glow                                                                             |
 +----------------------------------+----------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------+
-| out mat4 *INV_CAMERA_MATRIX*     | Inverse camera matrix, can be used to obtain world coords (see example below).   |
+| out mat4 *INV\_CAMERA\_MATRIX*   | Inverse camera matrix, can be used to obtain world coords (see example below).   |
 +----------------------------------+----------------------------------------------------------------------------------+
 +----------------------------------+----------------------------------------------------------------------------------+
 
 
 Material - LightShader
 Material - LightShader
@@ -276,23 +324,23 @@ Material - LightShader
 +================================+===============================+
 +================================+===============================+
 | const vec3 *NORMAL*            | View-Space normal             |
 | const vec3 *NORMAL*            | View-Space normal             |
 +--------------------------------+-------------------------------+
 +--------------------------------+-------------------------------+
-| const vec3 *LIGHT_DIR*         | View-Space Light Direction    |
+| const vec3 *LIGHT\_DIR*        | View-Space Light Direction    |
 +--------------------------------+-------------------------------+
 +--------------------------------+-------------------------------+
-| const vec3 *EYE_VEC*           | View-Space Eye-Point Vector   |
+| const vec3 *EYE\_VEC*          | View-Space Eye-Point Vector   |
 +--------------------------------+-------------------------------+
 +--------------------------------+-------------------------------+
 | const vec3 *DIFFUSE*           | Material Diffuse Color        |
 | const vec3 *DIFFUSE*           | Material Diffuse Color        |
 +--------------------------------+-------------------------------+
 +--------------------------------+-------------------------------+
-| const vec3 *LIGHT_DIFFUSE*     | Light Diffuse Color           |
+| const vec3 *LIGHT\_DIFFUSE*    | Light Diffuse Color           |
 +--------------------------------+-------------------------------+
 +--------------------------------+-------------------------------+
 | const vec3 *SPECULAR*          | Material Specular Color       |
 | const vec3 *SPECULAR*          | Material Specular Color       |
 +--------------------------------+-------------------------------+
 +--------------------------------+-------------------------------+
-| const vec3 *LIGHT_SPECULAR*    | Light Specular Color          |
+| const vec3 *LIGHT\_SPECULAR*   | Light Specular Color          |
 +--------------------------------+-------------------------------+
 +--------------------------------+-------------------------------+
-| const float *SPECULAR_EXP*     | Specular Exponent             |
+| const float *SPECULAR\_EXP*    | Specular Exponent             |
 +--------------------------------+-------------------------------+
 +--------------------------------+-------------------------------+
-| const vec1 *SHADE_PARAM*       | Generic Shade Parameter       |
+| const vec1 *SHADE\_PARAM*      | Generic Shade Parameter       |
 +--------------------------------+-------------------------------+
 +--------------------------------+-------------------------------+
-| const vec2 *POINT_COORD*       | Current UV for Point Sprite   |
+| const vec2 *POINT\_COORD*      | Current UV for Point Sprite   |
 +--------------------------------+-------------------------------+
 +--------------------------------+-------------------------------+
 | out vec2 *LIGHT*               | Resulting Light               |
 | out vec2 *LIGHT*               | Resulting Light               |
 +--------------------------------+-------------------------------+
 +--------------------------------+-------------------------------+
@@ -302,70 +350,105 @@ Material - LightShader
 CanvasItem (2D) - VertexShader
 CanvasItem (2D) - VertexShader
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
-| \|\ *. Variable \|*. Description \|
-| \| const vec2 *SRC_VERTEX* \| CanvasItem space vertex. \|
-| \| vec2 *UV* \| UV \|
-| \| out vec2 *VERTEX* \| Output LocalSpace vertex. \|
-| \| out vec2 *WORLD_VERTEX* \| Output WorldSpace vertex. (use this or
-  the one above) \|
-| \| color *COLOR* \| Vertex Color \|
-| \| out vec4 *VAR1* \| Varying 1 Output \|
-| \| out vec4 *VAR2* \| Varying 2 Output \|
-| \| out float *POINT_SIZE* \| Point Size (for points) \|
-| \| const mat4 *WORLD_MATRIX* \| Object World Matrix \|
-| \| const mat4 *EXTRA_MATRIX* \| Extra (user supplied) matrix via
-  :ref:`CanvasItem.draw_set_transform() <class_CanvasItem_draw_set_transform>`.
-  Identity by default. \|
-| \| const mat4 *PROJECTION_MATRIX* \| Projection Matrix (model coords
-  to screen).\|
-| \| const float *TIME* \| Time (in seconds) \|
++-----------------------------------+--------------------------------------------------------------------------------------------+
+| Variable                          | Description                                                                                |
++===================================+============================================================================================+
+| const vec2 *SRC\_VERTEX*          | CanvasItem space vertex.                                                                   |
++-----------------------------------+--------------------------------------------------------------------------------------------+
+| vec2 *UV*                         | UV                                                                                         |
++-----------------------------------+--------------------------------------------------------------------------------------------+
+| out vec2 *VERTEX*                 | Output LocalSpace vertex.                                                                  |
++-----------------------------------+--------------------------------------------------------------------------------------------+
+| out vec2 *WORLD\_VERTEX*          | Output WorldSpace vertex. (use this or the one above)                                      |
++-----------------------------------+--------------------------------------------------------------------------------------------+
+| color *COLOR*                     | Vertex Color                                                                               |
++-----------------------------------+--------------------------------------------------------------------------------------------+
+| out vec4 *VAR1*                   | Varying 1 Output                                                                           |
++-----------------------------------+--------------------------------------------------------------------------------------------+
+| out vec4 *VAR2*                   | Varying 2 Output                                                                           |
++-----------------------------------+--------------------------------------------------------------------------------------------+
+| out float *POINT\_SIZE*           | Point Size (for points)                                                                    |
++-----------------------------------+--------------------------------------------------------------------------------------------+
+| const mat4 *WORLD\_MATRIX*        | Object World Matrix                                                                        |
++-----------------------------------+--------------------------------------------------------------------------------------------+
+| const mat4 *EXTRA\_MATRIX*        | Extra (user supplied) matrix via CanvasItem.draw\_set\_transform(). Identity by default.   |
++-----------------------------------+--------------------------------------------------------------------------------------------+
+| const mat4 *PROJECTION\_MATRIX*   | Projection Matrix (model coords to screen).                                                |
++-----------------------------------+--------------------------------------------------------------------------------------------+
+| const float *TIME*                | Time (in seconds)                                                                          |
++-----------------------------------+--------------------------------------------------------------------------------------------+
 
 
 CanvasItem (2D) - FragmentShader
 CanvasItem (2D) - FragmentShader
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
-| \|\ *. Variable \|*. Description \|
-| \| const vec4 *SRC_COLOR* \| Vertex color \|
-| \| const vec4 *POSITION* \| Screen Position \|
-| \| vec2 *UV* \| UV \|
-| \| out color *COLOR* \| Output Color \|
-| \| out vec3 *NORMAL* \| Optional Normal (used for 2D Lighting) \|
-| \| out vec3 *NORMALMAP* \| Optional Normal in standard normalmap
-  format (flipped y and Z from 0 to 1) \|
-| \| out float *NORMALMAP_DEPTH* \| Depth option for above normalmap
-  output, default value is 1.0 \|
-| \| const texture *TEXTURE* \| Current texture in use for CanvasItem \|
-| \| const vec2 *TEXTURE_PIXEL_SIZE* \| Pixel size for current 2D
-  texture \|
-| \| in vec4 *VAR1* \| Varying 1 Output \|
-| \| in vec4 *VAR2* \| Varying 2 Output \|
-| \| const vec2 *SCREEN_UV*\ \| Screen Texture Coordinate (for using
-  with texscreen) \|
-| \| const vec2 *POINT_COORD* \| Current UV for Point Sprite \|
-| \| const float *TIME*\ \| Time (in seconds) \|
++-------------------------------------+------------------------------------------------------------------------------+
+| Variable                            | Description                                                                  |
++=====================================+==============================================================================+
+| const vec4 *SRC\_COLOR*             | Vertex color                                                                 |
++-------------------------------------+------------------------------------------------------------------------------+
+| const vec4 *POSITION*               | Screen Position                                                              |
++-------------------------------------+------------------------------------------------------------------------------+
+| vec2 *UV*                           | UV                                                                           |
++-------------------------------------+------------------------------------------------------------------------------+
+| out color *COLOR*                   | Output Color                                                                 |
++-------------------------------------+------------------------------------------------------------------------------+
+| out vec3 *NORMAL*                   | Optional Normal (used for 2D Lighting)                                       |
++-------------------------------------+------------------------------------------------------------------------------+
+| out vec3 *NORMALMAP*                | Optional Normal in standard normalmap format (flipped y and Z from 0 to 1)   |
++-------------------------------------+------------------------------------------------------------------------------+
+| out float *NORMALMAP\_DEPTH*        | Depth option for above normalmap output, default value is 1.0                |
++-------------------------------------+------------------------------------------------------------------------------+
+| const texture *TEXTURE*             | Current texture in use for CanvasItem                                        |
++-------------------------------------+------------------------------------------------------------------------------+
+| const vec2 *TEXTURE\_PIXEL\_SIZE*   | Pixel size for current 2D texture                                            |
++-------------------------------------+------------------------------------------------------------------------------+
+| in vec4 *VAR1*                      | Varying 1 Output                                                             |
++-------------------------------------+------------------------------------------------------------------------------+
+| in vec4 *VAR2*                      | Varying 2 Output                                                             |
++-------------------------------------+------------------------------------------------------------------------------+
+| const vec2 *SCREEN\_UV*             | Screen Texture Coordinate (for using with texscreen)                         |
++-------------------------------------+------------------------------------------------------------------------------+
+| const vec2 *POINT\_COORD*           | Current UV for Point Sprite                                                  |
++-------------------------------------+------------------------------------------------------------------------------+
+| const float *TIME*                  | Time (in seconds)                                                            |
++-------------------------------------+------------------------------------------------------------------------------+
 
 
 CanvasItem (2D) - LightShader
 CanvasItem (2D) - LightShader
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
-| \|\ *. Variable \|*. Description \|
-| \| const vec4 *POSITION* \| Screen Position \|
-| \| in vec3 *NORMAL* \| Input Normal \|
-| \| in vec2 *UV* \| UV \|
-| \| in color *COLOR* \| Input Color \|
-| \| const texture *TEXTURE* \| Current texture in use for CanvasItem \|
-| \| const vec2 *TEXTURE_PIXEL_SIZE* \| Pixel size for current 2D
-  texture \|
-| \| in vec4 *VAR1* \| Varying 1 Output \|
-| \| in vec4 *VAR2* \| Varying 2 Output \|
-| \| const vec2 *SCREEN_UV*\ \| Screen Texture Coordinate (for using
-  with texscreen) \|
-| \| const vec2 *POINT_COORD* \| Current UV for Point Sprite \|
-| \| const float *TIME*\ \| Time (in seconds) \|
-| \| vec2 *LIGHT_VEC* \| Vector from light to fragment, can be modified
-  to alter shadow computation. \|
-| \| const float *LIGHT_HEIGHT* \| Height of Light \|
-| \| const color *LIGHT_COLOR* \| Color of Light \|
-| \| out vec4 *LIGHT* \| Light Ouput (shader is ignored if this is not
-  used) \|
++-------------------------------------+-------------------------------------------------------------------------------+
+| Variable                            | Description                                                                   |
++=====================================+===============================================================================+
+| const vec4 *POSITION*               | Screen Position                                                               |
++-------------------------------------+-------------------------------------------------------------------------------+
+| in vec3 *NORMAL*                    | Input Normal                                                                  |
++-------------------------------------+-------------------------------------------------------------------------------+
+| in vec2 *UV*                        | UV                                                                            |
++-------------------------------------+-------------------------------------------------------------------------------+
+| in color *COLOR*                    | Input Color                                                                   |
++-------------------------------------+-------------------------------------------------------------------------------+
+| const texture *TEXTURE*             | Current texture in use for CanvasItem                                         |
++-------------------------------------+-------------------------------------------------------------------------------+
+| const vec2 *TEXTURE\_PIXEL\_SIZE*   | Pixel size for current 2D texture                                             |
++-------------------------------------+-------------------------------------------------------------------------------+
+| in vec4 *VAR1*                      | Varying 1 Output                                                              |
++-------------------------------------+-------------------------------------------------------------------------------+
+| in vec4 *VAR2*                      | Varying 2 Output                                                              |
++-------------------------------------+-------------------------------------------------------------------------------+
+| const vec2 *SCREEN\_UV*             | Screen Texture Coordinate (for using with texscreen)                          |
++-------------------------------------+-------------------------------------------------------------------------------+
+| const vec2 *POINT\_COORD*           | Current UV for Point Sprite                                                   |
++-------------------------------------+-------------------------------------------------------------------------------+
+| const float *TIME*                  | Time (in seconds)                                                             |
++-------------------------------------+-------------------------------------------------------------------------------+
+| vec2 *LIGHT\_VEC*                   | Vector from light to fragment, can be modified to alter shadow computation.   |
++-------------------------------------+-------------------------------------------------------------------------------+
+| const float *LIGHT\_HEIGHT*         | Height of Light                                                               |
++-------------------------------------+-------------------------------------------------------------------------------+
+| const color *LIGHT\_COLOR*          | Color of Light                                                                |
++-------------------------------------+-------------------------------------------------------------------------------+
+| out vec4 *LIGHT*                    | Light Ouput (shader is ignored if this is not used)                           |
++-------------------------------------+-------------------------------------------------------------------------------+
 
 
 Examples
 Examples
 --------
 --------
@@ -378,45 +461,45 @@ program:
     uniform color modulate;
     uniform color modulate;
     uniform texture source;
     uniform texture source;
 
 
-    DIFFUSE = modulate.rgb * tex(source,UV).rgb;
+    DIFFUSE = modulate.rgb * tex(source, UV).rgb;
 
 
 Material that glows from red to white:
 Material that glows from red to white:
 
 
 ::
 ::
 
 
-    DIFFUSE = vec3(1,0,0) + vec(1,1,1)*mod(TIME,1.0);
+    DIFFUSE = vec3(1,0,0) + vec(1,1,1) * mod(TIME, 1.0);
 
 
 Standard Blinn Lighting Shader
 Standard Blinn Lighting Shader
 
 
 ::
 ::
 
 
-    float NdotL = max(0.0,dot( NORMAL, LIGHT_DIR ));
+    float NdotL = max(0.0, dot(NORMAL, LIGHT_DIR));
     vec3 half_vec = normalize(LIGHT_DIR + EYE_VEC);
     vec3 half_vec = normalize(LIGHT_DIR + EYE_VEC);
-    float eye_light = max(dot(NORMAL, half_vec),0.0);
+    float eye_light = max(dot(NORMAL, half_vec), 0.0);
     LIGHT = LIGHT_DIFFUSE + DIFFUSE + NdotL;
     LIGHT = LIGHT_DIFFUSE + DIFFUSE + NdotL;
     if (NdotL > 0.0) {
     if (NdotL > 0.0) {
-        LIGHT+=LIGHT_SPECULAR + SPECULAR + pow( eye_light, SPECULAR_EXP );
+        LIGHT += LIGHT_SPECULAR + SPECULAR + pow(eye_light, SPECULAR_EXP);
     };
     };
 
 
 Obtaining world-space normal and position in material fragment program:
 Obtaining world-space normal and position in material fragment program:
 
 
 ::
 ::
 
 
-    //use reverse multiply because INV_CAMERA_MATRIX is world2cam
+    // Use reverse multiply because INV_CAMERA_MATRIX is world2cam
 
 
     vec3 world_normal = NORMAL * mat3(INV_CAMERA_MATRIX);
     vec3 world_normal = NORMAL * mat3(INV_CAMERA_MATRIX);
-    vec3 world_pos = (VERTEX-INV_CAMERA_MATRIX.w.xyz) * mat3(INV_CAMERA_MATRIX);
+    vec3 world_pos = (VERTEX - INV_CAMERA_MATRIX.w.xyz) * mat3(INV_CAMERA_MATRIX);
 
 
 Notes
 Notes
 -----
 -----
 
 
-| \* **Do not** use DIFFUSE_ALPHA unless you really intend to use
-  transparency. Transparent materials must be sorted by depth and slow
-  down the rendering pipeline. For opaque materials, just use DIFFUSE.
-| \* **Do not** use DISCARD unless you really need it. Discard makes
-  rendering slower, specially on mobile devices.
-| \* TIME may reset after a while (may last an hour or so), it's meant
-  for effects that vary over time.
-| \* In general, every built-in variable not used results in less shader
-  code generated, so writing a single giant shader with a lot of code
-  and optional scenarios is often not a good idea.
+-  **Do not** use DIFFUSE_ALPHA unless you really intend to use
+   transparency. Transparent materials must be sorted by depth and slow
+   down the rendering pipeline. For opaque materials, just use DIFFUSE.
+-  **Do not** use DISCARD unless you really need it. Discard makes
+   rendering slower, specially on mobile devices.
+-  TIME may reset after a while (may last an hour or so), it's meant
+   for effects that vary over time.
+-  In general, every built-in variable not used results in less shader
+   code generated, so writing a single giant shader with a lot of code
+   and optional scenarios is often not a good idea.

+ 61 - 69
tutorials/2d/physics_introduction.rst

@@ -32,11 +32,11 @@ but they can be created via code easily. For example:
 
 
 ::
 ::
 
 
-    #create a circle
+    # Create a circle
     var c = CircleShape2D.new()
     var c = CircleShape2D.new()
     c.set_radius(20)
     c.set_radius(20)
 
 
-    #create a box
+    # Create a box
     var b = RectangleShape2D.new()
     var b = RectangleShape2D.new()
     b.set_extents(Vector2(20,10))
     b.set_extents(Vector2(20,10))
 
 
@@ -48,21 +48,20 @@ functions like:
 
 
 ::
 ::
 
 
-    #check if there is a collision between two shapes, each with a transform
-    if b.collide(b_xform,a,a_xform):
-       print("OMG Collision!")
+    # Check if there is a collision between two shapes, each with a transform
+    if b.collide(b_xform, a, a_xform):
+        print("OMG Collision!")
 
 
 Godot will return correct collision and collision info from the
 Godot will return correct collision and collision info from the
 different calls to the Shape2D api. Collision between all shapes and
 different calls to the Shape2D api. Collision between all shapes and
 transforms can be done this way, or even obtaining contact information,
 transforms can be done this way, or even obtaining contact information,
 motion casting, etc.
 motion casting, etc.
 
 
-Transforming Shapes
+Transforming shapes
 ~~~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~~~
 
 
 As seen before in the collide functions, 2D shapes in godot can be
 As seen before in the collide functions, 2D shapes in godot can be
-transformed by using a regular
-:ref:`Matrix32 <class_Matrix32>`
+transformed by using a regular :ref:`Matrix32 <class_Matrix32>`
 transform, meaning the can check collision while scaled, moved and
 transform, meaning the can check collision while scaled, moved and
 rotated. The only limitation to this is that shapes with curved sections
 rotated. The only limitation to this is that shapes with curved sections
 (such as circle and capsule) can only be scaled uniformly. This means
 (such as circle and capsule) can only be scaled uniformly. This means
@@ -73,14 +72,14 @@ scaled uniformly!
 
 
 .. image:: /img/shape_rules.png
 .. image:: /img/shape_rules.png
 
 
-But Problems Begin
-------------------
+When problems begin
+-------------------
 
 
 Even though this sounds good, reality is that collision detection alone
 Even though this sounds good, reality is that collision detection alone
 is usually not enough in most scenarios. Many problems start arising as
 is usually not enough in most scenarios. Many problems start arising as
 long as the development of the game is in progress:
 long as the development of the game is in progress:
 
 
-Too Many Combinations!
+Too many combinations!
 ~~~~~~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~~~~~~
 
 
 Games have several dozens, hundreds, thousands! of objects that can
 Games have several dozens, hundreds, thousands! of objects that can
@@ -91,14 +90,14 @@ against everything in two for loops like this:
 
 
     for i in colliders:
     for i in colliders:
         for j in colliders:
         for j in colliders:
-             if (i.collides(j)):
-                  do_collision_code()
+            if (i.collides(j)):
+                do_collision_code()
 
 
 But this scales really bad. Let's imagine there are only 100 objects in
 But this scales really bad. Let's imagine there are only 100 objects in
 the game. This means that 100\*100=10000 collisions will need to be
 the game. This means that 100\*100=10000 collisions will need to be
 tested each frame. This is a lot!
 tested each frame. This is a lot!
 
 
-Visual Aid
+Visual aid
 ~~~~~~~~~~
 ~~~~~~~~~~
 
 
 Most of the time, creating a shape via code is not enough. We need to
 Most of the time, creating a shape via code is not enough. We need to
@@ -106,7 +105,7 @@ visually place it over a sprite, draw a collision polygon, etc. It is
 obvious that we need nodes to create the proper collision shapes in a
 obvious that we need nodes to create the proper collision shapes in a
 scene.
 scene.
 
 
-Collision Resolution
+Collision resolution
 ~~~~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~~~~
 
 
 Imagine we solved the collision issue, we can tell easily and quickly
 Imagine we solved the collision issue, we can tell easily and quickly
@@ -114,28 +113,25 @@ which shapes overlap. If many of them are dynamic objects that move
 around, or move according to newtonian physics, solving a collision of
 around, or move according to newtonian physics, solving a collision of
 multiple objects can be really difficult code-wise.
 multiple objects can be really difficult code-wise.
 
 
-Introducing.. Godot's Physics Engine!
--------------------------------------
+Introducing... Godot's physics engine!
+--------------------------------------
 
 
 To solve all these problems, Godot has a physics and collision engine
 To solve all these problems, Godot has a physics and collision engine
 that is well integrated into the scene system, yet it allows different
 that is well integrated into the scene system, yet it allows different
 levels and layers of functionality. The built-in physics engine can be
 levels and layers of functionality. The built-in physics engine can be
 used for:
 used for:
 
 
--  Simple Collision Detection: See
-   :ref:`Shape2D <class_Shape2D>`
+-  Simple Collision Detection: See :ref:`Shape2D <class_Shape2D>`
    API.
    API.
 -  Scene Kinematics: Handle shapes, collisions, broadphase, etc as
 -  Scene Kinematics: Handle shapes, collisions, broadphase, etc as
-   nodes. See
-   :ref:`Area2D <class_Area2D>`.
+   nodes. See :ref:`Area2D <class_Area2D>`.
 -  Scene Physics: Rigid bodies and constraints as nodes. See
 -  Scene Physics: Rigid bodies and constraints as nodes. See
-   :ref:`RigidBody2D <class_RigidBody2D>`,
-   and the joint nodes.
+   :ref:`RigidBody2D <class_RigidBody2D>`, and the joint nodes.
 
 
-Units of Measure
+Units of measure
 ~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~
 
 
-It is often a problem when integrating a 2D Physics engine to a game
+It is often a problem when integrating a 2D physics engine to a game
 that such engines are optimized to work using meters as unit of measure.
 that such engines are optimized to work using meters as unit of measure.
 Godot uses a built-in custom 2D physics engine that is designed to
 Godot uses a built-in custom 2D physics engine that is designed to
 function properly in pixels, so all units and default values used for
 function properly in pixels, so all units and default values used for
@@ -177,8 +173,9 @@ CollisionShape2D
 ~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~
 
 
 This node is a helper node. It must be created as a direct children of a
 This node is a helper node. It must be created as a direct children of a
-CollisionObject2D derived node
-:ref:`Area2D <class_Area2D>`.
+CollisionObject2D derived node: :ref:`Area2D <class_Area2D>`,
+:ref:`StaticBody2D <class_StaticBody2D>`, :ref:`KinematicBody2D <class_KinematicBody2D>`,
+:ref:`RigidBody2D <class_RigidBody2D>`.
 
 
 By itself it does nothing, but when created as a child of the above
 By itself it does nothing, but when created as a child of the above
 mentioned nodes, it adds collision shapes to them. Any amount of
 mentioned nodes, it adds collision shapes to them. Any amount of
@@ -187,7 +184,7 @@ simply have more collision shapes. When added/deleted/moved/edited, it
 updates the list of shapes in the parent node.
 updates the list of shapes in the parent node.
 
 
 At run time, though, this node does not exist (can't be accessed with
 At run time, though, this node does not exist (can't be accessed with
-get_node() ), since it's only meant to be an editor helper. To access
+``get_node()``), since it's only meant to be an editor helper. To access
 the shapes created at runtime, use the CollisionObject2D API directly.
 the shapes created at runtime, use the CollisionObject2D API directly.
 
 
 As an example, here's the scene from the platformer, containing an
 As an example, here's the scene from the platformer, containing an
@@ -238,8 +235,7 @@ such a character or a rigidbody, these are the same as a staticbody).
 They have however, two main uses:
 They have however, two main uses:
 
 
 -  **Simulated Motion**: When these bodies are moved manually, either
 -  **Simulated Motion**: When these bodies are moved manually, either
-   from code or from an
-   :ref:`AnimationPlayer <class_AnimationPlayer>`
+   from code or from an :ref:`AnimationPlayer <class_AnimationPlayer>`
    (with process mode set to fixed!), the physics will automatically
    (with process mode set to fixed!), the physics will automatically
    compute an estimate of their linear and angular velocity. This makes
    compute an estimate of their linear and angular velocity. This makes
    them very useful for moving platforms or other
    them very useful for moving platforms or other
@@ -249,16 +245,15 @@ They have however, two main uses:
 -  **Kinematic Characters**: KinematicBody2D also has an api for moving
 -  **Kinematic Characters**: KinematicBody2D also has an api for moving
    objects (the move() function) while performing collision tests. This
    objects (the move() function) while performing collision tests. This
    makes them really useful to implement characters that collide against
    makes them really useful to implement characters that collide against
-   a world, but that don't require advanced physics. A special
-   :ref:`doc_kinematic_character_2d`.
+   a world, but that don't require advanced physics. There is a tutorial
+   about :ref:`doc_kinematic_character_2d`.
 
 
 RigidBody2D
 RigidBody2D
 ~~~~~~~~~~~
 ~~~~~~~~~~~
 
 
 This type of body simulates newtonian physics. It has mass, friction,
 This type of body simulates newtonian physics. It has mass, friction,
 bounce, and the 0,0 coordinates simulates the center of mass. When real
 bounce, and the 0,0 coordinates simulates the center of mass. When real
-physics are needed,
-:ref:`RigidBody2D <class_RigidBody2D>`
+physics are needed, :ref:`RigidBody2D <class_RigidBody2D>`
 is the node to use. The motion of this body is affected by gravity
 is the node to use. The motion of this body is affected by gravity
 and/or other bodies.
 and/or other bodies.
 
 
@@ -286,14 +281,13 @@ function must be overridden:
 ::
 ::
 
 
     func _integrate_forces(state):
     func _integrate_forces(state):
-       [use state to change the object]
+        [use state to change the object]
 
 
-The \`state\` parameter is of type
-:ref:`Physics2DDirectBodyState <class_Physics2DDirectBodyState>`.
+The "state" parameter is of type :ref:`Physics2DDirectBodyState <class_Physics2DDirectBodyState>`.
 Please do not use this object (state) outside the callback as it will
 Please do not use this object (state) outside the callback as it will
 result in an error.
 result in an error.
 
 
-Contact Reporting
+Contact reporting
 -----------------
 -----------------
 
 
 In general, RigidBody2D will not keep track of the contacts, because
 In general, RigidBody2D will not keep track of the contacts, because
@@ -326,22 +320,24 @@ signals emitted by this node:
 
 
 ::
 ::
 
 
-    #Simple, high level notification
+    # Simple, high level notification
     body_enter(body:PhysicsBody2D)
     body_enter(body:PhysicsBody2D)
     body_exit(body:PhysicsBody2D)
     body_exit(body:PhysicsBody2D)
     area_enter(area:Area2D)
     area_enter(area:Area2D)
     area_exit(body:Area2D)
     area_exit(body:Area2D)
 
 
-    #Low level shape-based notification
-    #notifies which shape specifically in both the body and area are in contact
+    # Low level shape-based notification
+    # Notifies which shape specifically in both the body and area are in contact
     body_enter_shape(body_id:int,body:PhysicsBody2D,body_shape_index:int,area_shape_index:idx)
     body_enter_shape(body_id:int,body:PhysicsBody2D,body_shape_index:int,area_shape_index:idx)
     body_exit_shape(body_id:int,body:PhysicsBody2D,body_shape_index:int,area_shape_index:idx)
     body_exit_shape(body_id:int,body:PhysicsBody2D,body_shape_index:int,area_shape_index:idx)
     area_enter_shape(area_id:int,area:Area2D,area_shape_index:int,self_shape_index:idx)
     area_enter_shape(area_id:int,area:Area2D,area_shape_index:int,self_shape_index:idx)
     area_exit_shape(area_id:int,area:Area2D,area_shape_index:int,self_shape_index:idx)
     area_exit_shape(area_id:int,area:Area2D,area_shape_index:int,self_shape_index:idx)
 
 
-    Areas also by default receive mouse/touchscreen input, providing a lower-level way than controls to implement this kind of input in a game. Bodies support this by it's disabled by default.
+Areas also by default receive mouse/touchscreen input, providing a
+lower-level way than controls to implement this kind of input in a game.
+Bodies support this by it's disabled by default.
 
 
-Physics Global Variables
+Physics global variables
 ------------------------
 ------------------------
 
 
 A few global variables can be tweaked in the project settings for
 A few global variables can be tweaked in the project settings for
@@ -361,7 +357,7 @@ small portion of the screen, it might be necessary to shrink that value
 few large colliders that span a huge map (of several screens of size),
 few large colliders that span a huge map (of several screens of size),
 increasing that value a bit might help save resources.
 increasing that value a bit might help save resources.
 
 
-Fixed Process Callback
+Fixed process callback
 ----------------------
 ----------------------
 
 
 The physics engine may spawn multiple threads to improve performance, so
 The physics engine may spawn multiple threads to improve performance, so
@@ -374,7 +370,7 @@ but it's called once per physics frame (by default 60 times per second).
 During this time, the physics engine is in *synchronization* state and
 During this time, the physics engine is in *synchronization* state and
 can be accessed directly and without delays.
 can be accessed directly and without delays.
 
 
-To enable a fixed process callback, use the set_fixed_process()
+To enable a fixed process callback, use the ``set_fixed_process()``
 function, example:
 function, example:
 
 
 ::
 ::
@@ -382,12 +378,12 @@ function, example:
     extends KinematicBody2D
     extends KinematicBody2D
 
 
     func _fixed_process(delta):
     func _fixed_process(delta):
-       move( direction * delta )
+        move(direction * delta)
 
 
     func _ready():
     func _ready():
-       set_fixed_process(true)
+        set_fixed_process(true)
 
 
-Casting Rays and Motion Queries
+Casting rays and motion queries
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
 It is very often desired to "explore" the world around from our code.
 It is very often desired to "explore" the world around from our code.
@@ -400,8 +396,8 @@ server must be used directly. For this, the
 :ref:`Physics2DDirectspaceState <class_Physics2DDirectspaceState>`
 :ref:`Physics2DDirectspaceState <class_Physics2DDirectspaceState>`
 class must be used. To obtain it, the following steps must be taken:
 class must be used. To obtain it, the following steps must be taken:
 
 
-1. It must be used inside the _fixed_process() callback, or at
-_integrate_forces()
+1. It must be used inside the ``_fixed_process()`` callback, or at
+``_integrate_forces()``
 
 
 2. The 2D RIDs for the space and physics server must be obtained.
 2. The 2D RIDs for the space and physics server must be obtained.
 
 
@@ -411,11 +407,11 @@ The following code should work:
 
 
     func _fixed_process(delta):
     func _fixed_process(delta):
         var space = get_world_2d().get_space()
         var space = get_world_2d().get_space()
-        var space_state = Physics2DServer.space_get_direct_state( space )
+        var space_state = Physics2DServer.space_get_direct_state(space)
 
 
 Enjoy doing space queries!
 Enjoy doing space queries!
 
 
-Contact Reporting
+Contact reporting
 ~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~
 
 
 Remember that not every combination of two bodies can "report" contacts.
 Remember that not every combination of two bodies can "report" contacts.
@@ -427,20 +423,16 @@ and with other areas. The following table should make it more visual:
 In case of overlap, who receives collision information?
 In case of overlap, who receives collision information?
 -------------------------------------------------------
 -------------------------------------------------------
 
 
-\|\ *. Type \|*. RigidBody \|\ *. CharacterBody \|*. KinematicBody
-\|\ *. StaticBody \|*. Area \|
-
-\| **RigidBody** \| Both \| Both \| Both \| Rigidbody \| Area \|
-
-\| **CharacterBody** \| Both \| Both \| Both \| CharacterBody \| Area
-\|
-
-\| **KinematicBody** \| Both \| Both \| None \| None \| Area \|
-
-\| **StaticBody** \| RigidBody \| CharacterBody \| None \| None \|
-None \|
-
-\| **Area** \| Area \| Area \| Area \| None \| Both \|
-
-
-
++-------------------+-------------+-----------------+-----------------+---------------+--------+
+| **Type**          | *RigidBody* | *CharacterBody* | *KinematicBody* | *StaticBody*  | *Area* |
++===================+=============+=================+=================+===============+========+
+| **RigidBody**     | Both        | Both            | Both            | Rigidbody     | Area   |
++-------------------+-------------+-----------------+-----------------+---------------+--------+
+| **CharacterBody** | Both        | Both            | Both            | CharacterBody | Area   |
++-------------------+-------------+-----------------+-----------------+---------------+--------+
+| **KinematicBody** | Both        | Both            | None            | None          | Area   |
++-------------------+-------------+-----------------+-----------------+---------------+--------+
+| **StaticBody**    | RigidBody   | CharacterBody   | None            | None          | None   |
++-------------------+-------------+-----------------+-----------------+---------------+--------+
+| **Area**          | Area        | Area            | Area            | None          | Both   |
++-------------------+-------------+-----------------+-----------------+---------------+--------+

+ 28 - 38
tutorials/2d/viewport_and_canvas_transforms.rst

@@ -1,6 +1,6 @@
 .. _doc_viewport_and_canvas_transforms:
 .. _doc_viewport_and_canvas_transforms:
 
 
-Viewport & Canvas Transforms
+Viewport & canvas transforms
 ============================
 ============================
 
 
 Introduction
 Introduction
@@ -11,46 +11,43 @@ users, and explains all the 2D transforms going on for nodes from the
 moment they draw their content locally to the time they are drawn into
 moment they draw their content locally to the time they are drawn into
 the screen.
 the screen.
 
 
-Canvas Transform
+Canvas transform
 ----------------
 ----------------
 
 
 As mentioned in the previous tutorial :ref:`doc_canvas_layers`, every
 As mentioned in the previous tutorial :ref:`doc_canvas_layers`, every
 CanvasItem node (remember that Node2D and Control based nodes use
 CanvasItem node (remember that Node2D and Control based nodes use
 CanvasItem as their common root) will reside in a *Canvas Layer*. Every
 CanvasItem as their common root) will reside in a *Canvas Layer*. Every
-canvas layer has a transform (translation, rotation, scale, etc) that
-can be accessed as a
-:ref:`Matrix32 <class_Matrix32>`.
+canvas layer has a transform (translation, rotation, scale, etc.) that
+can be accessed as a :ref:`Matrix32 <class_Matrix32>`.
 
 
 By default, nodes are drawn in Layer 0, in the built-in canvas. To put
 By default, nodes are drawn in Layer 0, in the built-in canvas. To put
-nodes in a different layer, a
-:ref:`CanvasLayer <class_CanvasLayer>`
+nodes in a different layer, a :ref:`CanvasLayer <class_CanvasLayer>`
 node can be used. This was covered in the previous tutorial anyway, just
 node can be used. This was covered in the previous tutorial anyway, just
 refreshing.
 refreshing.
 
 
-Global Canvas Transform
+Global canvas transform
 -----------------------
 -----------------------
 
 
 Viewports also have a Global Canvas transform (also a
 Viewports also have a Global Canvas transform (also a
-:ref:`Matrix32 <class_Matrix32>`
-). This is the master transform and affects all individual *Canvas
-Layer* transforms. Generally this transform is not of much use, but is
-used in the CanvasItem Editor in Godot's editor.
+:ref:`Matrix32 <class_Matrix32>`). This is the master transform and
+affects all individual *Canvas Layer* transforms. Generally this
+transform is not of much use, but is used in the CanvasItem Editor
+in Godot's editor.
 
 
-Stretch Transform
+Stretch transform
 -----------------
 -----------------
 
 
 Finally, viewports have a *Stretch Transform*, which is used when
 Finally, viewports have a *Stretch Transform*, which is used when
 resizing or stretching the screen. This transform is used internally by
 resizing or stretching the screen. This transform is used internally by
 the :ref:`doc_multiple_resolutions`, but can also be requested to the viewport.
 the :ref:`doc_multiple_resolutions`, but can also be requested to the viewport.
 
 
-Input events received in the
-:ref:`Node._input_event() <class_Node__input_event>`
+Input events received in the :ref:`Node._input_event() <class_Node__input_event>`
 callback are multiplied by this transform, but lack the ones above. To
 callback are multiplied by this transform, but lack the ones above. To
 convert InputEvent coordinates to local CanvasItem coordinates, the
 convert InputEvent coordinates to local CanvasItem coordinates, the
 :ref:`CanvasItem.make_input_local() <class_CanvasItem_make_input_local>`
 :ref:`CanvasItem.make_input_local() <class_CanvasItem_make_input_local>`
 function was added for convenience.
 function was added for convenience.
 
 
-Transform Order
+Transform order
 ---------------
 ---------------
 
 
 For a coordinate in CanvasItem local properties to become an actual
 For a coordinate in CanvasItem local properties to become an actual
@@ -58,24 +55,20 @@ screen coordinate, the following chain of transforms must be applied:
 
 
 .. image:: /img/viewport_transforms2.png
 .. image:: /img/viewport_transforms2.png
 
 
-Transform Functions
+Transform functions
 -------------------
 -------------------
 
 
 Obtaining each transform can be achieved with the following functions:
 Obtaining each transform can be achieved with the following functions:
 
 
-\|Type: \| Transform\|
-
-\|CanvasItem \|
-:ref:`CanvasItem.get_global_transform() <class_CanvasItem_get_global_transform>`
-\|
-
-\|CanvasLayer\|
-:ref:`CanvasItem.get_canvas_transform() <class_CanvasItem_get_canvas_transform>`
-\|
-
-\|CanvasLayer+GlobalCanvas+Stretch \|
-:ref:`CanvasItem.get_viewport_transform() <class_CanvasItem_get_viewport_transform>`
-\|
++----------------------------------+--------------------------------------------------------------------------------------+
+| Type                             | Transform                                                                            |
++==================================+======================================================================================+
+| CanvasItem                       | :ref:`CanvasItem.get_global_transform() <class_CanvasItem_get_global_transform>`     |
++----------------------------------+--------------------------------------------------------------------------------------+
+| CanvasLayer                      | :ref:`CanvasItem.get_canvas_transform() <class_CanvasItem_get_canvas_transform>`     |
++----------------------------------+--------------------------------------------------------------------------------------+
+| CanvasLayer+GlobalCanvas+Stretch | :ref:`CanvasItem.get_viewport_transform() <class_CanvasItem_get_viewport_transform>` |
++----------------------------------+--------------------------------------------------------------------------------------+
 
 
 Finally then, to convert a CanvasItem local coordinates to screen
 Finally then, to convert a CanvasItem local coordinates to screen
 coordinates, just multiply in the following order:
 coordinates, just multiply in the following order:
@@ -86,10 +79,10 @@ coordinates, just multiply in the following order:
 
 
 Keep in mind, however, that it is generally not desired to work with
 Keep in mind, however, that it is generally not desired to work with
 screen coordinates. The recommended approach is to simply work in Canvas
 screen coordinates. The recommended approach is to simply work in Canvas
-coordinates (CanvasItem.get_global_transform()), to allow automatic
+coordinates (``CanvasItem.get_global_transform()``), to allow automatic
 screen resolution resizing to work properly.
 screen resolution resizing to work properly.
 
 
-Feeding Custom Input Events
+Feeding custom input events
 ---------------------------
 ---------------------------
 
 
 It is often desired to feed custom input events to the scene tree. With
 It is often desired to feed custom input events to the scene tree. With
@@ -100,10 +93,7 @@ way:
 
 
     var local_pos = Vector2(10,20) # local to Control/Node2D
     var local_pos = Vector2(10,20) # local to Control/Node2D
     var ie = InputEvent()
     var ie = InputEvent()
-    ie.type=InputEvent.MOUSE_BUTTON
-    ie.button_index=1 #left click
-    ie.pos = get_viewport_transform() + ( get_global_transform() + local_pos )
+    ie.type = InputEvent.MOUSE_BUTTON
+    ie.button_index = BUTTON_LEFT
+    ie.pos = get_viewport_transform() + (get_global_transform() + local_pos)
     get_tree().input_event(ie)
     get_tree().input_event(ie)
-
-
-