From 61eb037d5de92b75238b16083c66e489b43ea327 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= Date: Sat, 12 Dec 2015 20:53:57 +0100 Subject: [PATCH] Remove outdated documentation --- .gitignore | 8 +- doc/core_classes.xml | 2654 --- doc/deferred_format.txt | 33 - doc/demos.txt | 40 - doc/engine_classes.xml | 17940 ---------------- doc/examples/physics/script/test_base.sq | 295 - doc/examples/physics/script/test_fall.sq | 42 - doc/gdscript.lyx | 2531 --- doc/godot_splash.png | Bin 9801 -> 0 bytes doc/header.txt | 12 - doc/html/@GDScript.html | 93 - doc/html/@Global Scope.html | 459 - doc/html/@Squirrel.html | 2 - doc/html/main.css | 146 - ...ome_red_coding_godot_doc_math_position.png | Bin 1679 -> 0 bytes ...me_red_coding_godot_doc_math_direction.png | Bin 3600 -> 0 bytes ...home_red_coding_godot_doc_math_normals.png | Bin 2452 -> 0 bytes doc/html/tutorial01/tutorial.css | 128 - doc/html/tutorial01/tutorial.html | 902 - doc/html/tutorial01/tutorial0x.png | Bin 2056 -> 0 bytes doc/html/tutorial01/tutorial1x.png | Bin 4122 -> 0 bytes doc/html/tutorial01/tutorial2x.png | Bin 618 -> 0 bytes doc/html/tutorial01/tutorial3x.png | Bin 754 -> 0 bytes doc/html/tutorial01/tutorial4x.png | Bin 2961 -> 0 bytes doc/notes.txt | 20 - doc/phys_engine.png | Bin 29177 -> 0 bytes doc/squirrel.lyx | 984 - doc/todo.txt | 39 - doc/tutorial/01 Getting Started.lyx | 557 - doc/tutorial/editor.png | Bin 81238 -> 0 bytes doc/tutorial/pm.png | Bin 36586 -> 0 bytes doc/tutorial/pmc.png | Bin 22446 -> 0 bytes doc/tutorial/tute1_1.png | Bin 8719 -> 0 bytes doc/tutorial/tute1_2.png | Bin 12907 -> 0 bytes doc/tutorial/tute1_2b.png | Bin 3154 -> 0 bytes doc/tutorial/tute1_3a.png | Bin 6660 -> 0 bytes doc/tutorial/tute1_3b.png | Bin 27956 -> 0 bytes doc/tutorial/tute1_3c.png | Bin 3785 -> 0 bytes doc/tutorial/tute1_4a.png | Bin 17321 -> 0 bytes doc/tutorial/tute1_4b.png | Bin 5421 -> 0 bytes doc/tutorial/tute1_5a.png | Bin 25190 -> 0 bytes doc/tutorial/tute1_5b.png | Bin 47382 -> 0 bytes doc/tutorial/tute1_6.png | Bin 2555 -> 0 bytes doc/tutorial/tute1_7.png | Bin 1445 -> 0 bytes doc/undoredoapi.txt | 25 - 45 files changed, 3 insertions(+), 26907 deletions(-) delete mode 100644 doc/core_classes.xml delete mode 100644 doc/deferred_format.txt delete mode 100644 doc/demos.txt delete mode 100644 doc/engine_classes.xml delete mode 100644 doc/examples/physics/script/test_base.sq delete mode 100644 doc/examples/physics/script/test_fall.sq delete mode 100644 doc/gdscript.lyx delete mode 100644 doc/godot_splash.png delete mode 100644 doc/header.txt delete mode 100644 doc/html/@GDScript.html delete mode 100644 doc/html/@Global Scope.html delete mode 100644 doc/html/@Squirrel.html delete mode 100644 doc/html/main.css delete mode 100644 doc/html/tutorial01/0_home_red_coding_godot_doc_math_position.png delete mode 100644 doc/html/tutorial01/1_home_red_coding_godot_doc_math_direction.png delete mode 100644 doc/html/tutorial01/2_home_red_coding_godot_doc_math_normals.png delete mode 100644 doc/html/tutorial01/tutorial.css delete mode 100644 doc/html/tutorial01/tutorial.html delete mode 100644 doc/html/tutorial01/tutorial0x.png delete mode 100644 doc/html/tutorial01/tutorial1x.png delete mode 100644 doc/html/tutorial01/tutorial2x.png delete mode 100644 doc/html/tutorial01/tutorial3x.png delete mode 100644 doc/html/tutorial01/tutorial4x.png delete mode 100644 doc/notes.txt delete mode 100644 doc/phys_engine.png delete mode 100644 doc/squirrel.lyx delete mode 100644 doc/todo.txt delete mode 100644 doc/tutorial/01 Getting Started.lyx delete mode 100644 doc/tutorial/editor.png delete mode 100644 doc/tutorial/pm.png delete mode 100644 doc/tutorial/pmc.png delete mode 100644 doc/tutorial/tute1_1.png delete mode 100644 doc/tutorial/tute1_2.png delete mode 100644 doc/tutorial/tute1_2b.png delete mode 100644 doc/tutorial/tute1_3a.png delete mode 100644 doc/tutorial/tute1_3b.png delete mode 100644 doc/tutorial/tute1_3c.png delete mode 100644 doc/tutorial/tute1_4a.png delete mode 100644 doc/tutorial/tute1_4b.png delete mode 100644 doc/tutorial/tute1_5a.png delete mode 100644 doc/tutorial/tute1_5b.png delete mode 100644 doc/tutorial/tute1_6.png delete mode 100644 doc/tutorial/tute1_7.png delete mode 100644 doc/undoredoapi.txt diff --git a/.gitignore b/.gitignore index d9473065585..fc8f4137175 100644 --- a/.gitignore +++ b/.gitignore @@ -24,8 +24,9 @@ tools/editor/editor_icons.cpp make.bat log.txt -# Doxygen generated documentation -doc/doxygen/* +# Documentation generated by doxygen or scripts +doc/doxygen/ +doc/html/ # Javascript specific *.bc @@ -189,9 +190,6 @@ AutoTest.Net/ # Installshield output folder [Ee]xpress/ -# dumpdoc generated files -doc/html/class_list - # DocProject is a documentation generator add-in DocProject/buildhelp/ DocProject/Help/*.HxT diff --git a/doc/core_classes.xml b/doc/core_classes.xml deleted file mode 100644 index c37b50f1226..00000000000 --- a/doc/core_classes.xml +++ /dev/null @@ -1,2654 +0,0 @@ - - - - - Vector class, which performs basic 3D vector math operations. - - - Vector3 is one of the core classes of the engine, and includes several built-in helper functions to perform basic vecor math operations. - - - - - - - Sum. - - - Add two vectors. - - - - - - - Difference. - - - Substract two vectors. - - - - - - - Quotient. - - - Divide two vectors (component wise). - - - - - - - Product. - - - Multiply two vectors (components wise). - - - - - Axis Index. - - - Value. - - - Set an individual axis (0 is X, 1 is Y and 2 is Z). the enum constants Vector.AXIS_X, Vector.AXIS_Y, and Vector.AXIS_Z, are also valid. This is specially useful for for-loops. - - - - - Axis Index. - - - Value. - - - Set an individual axis (0 is X, 1 is Y and 2 is Z). the enum constants Vector.AXIS_X, Vector.AXIS_Y, and Vector.AXIS_Z, are also valid. This is specially useful for for-loops. - - - - - Length: sqrt(x^2+y^2+z^2) - - - Return the length of the vector. - - - - - Squared Length: x^2+y^2+z^2. - - - Return the length of the vector, without the square root step. - - - - - Normalize the vector to unit length. This is the same as v = v / v.length() - - - - - - - Return a copy of the normalized vector to unit length. This is the same as v / v.length() - - - - - Inverse: 1/v - - - Returns the inverse of the vector. this is the same as Vector3( 1.0 / v.x, 1.0 / v.y, 1.0 / v.z ) - - - - - Set x,y and z to 0. - - - - - - - Snap the vector in each axis the the lowest nearest multiple. ie: 4,5,7 snapped to 2 equals 4,4,6. - - - - - - - Snapped copy. - - - Return a copy of the vector, snapped to the lowest neared multiple. - - - - - - - - - - - Linearly interpolates the vector to a given one (b), by the given amount (i) - - - - - - - - - - - - - - - Perform a cubic interpolation between vectors a,b,c,d (b is current), by the given amount (i). - - - - - - - Cross product. - - - Return the cross product with b. - - - - - - - - - Return the dot product with b. - - - - - - - - - Return the distance to b. - - - - - - - - - Return the squared distance (distance minus the last square root) to b. - - - - - - - - - - - - - - - - - - - - - - - Axis-Aligned-Bounding-Box. - - - AABB stands for "Axis Aligned Bounding Box". It consits of a position and a size, which for an box that is always aligned to the x, y and z axis, which goes from "pos" to "pos+size". - - - - - - - Returns true if the AABB volume is empty (even if it has a surface). Holds true if size.x,y or z is 0. - - - - - - - Return true if size is 0,0,0. - - - - - - - Compute the volume of the AABB. - - - - - - - - - Returns true if this AABB shares a portion of space with b. - - - - - - - - - Returns true if this AABB completely encloses b. - - - - - - - Expand this AABB to also enclose the area of b. - - - - - - - - - Return the shared portion of space with b (empty if they don't intersect). - - - - - - - - - result (if they intersect) - - - normal (if they intersect) - - - - - Returns true if this AABB intersects segment "a" towards "b". Also, return the point and normal of intersection. - - - - - - - - - Returns true if this AABB intersects the plane b. - - - - - - - - - Return true if this AABB contains point "p". - - - - - Axis direction - - - Get the normal of the longest axis in this AABB. - - - - - - - Get the index of the longest axis in this AABB. - - - - - Get the length of the longest axis in this AABB. - - - - - - - - - - - Get one of the edges (0 to 11) of this AABB in "ra" and "rb". - - - - - - - Grow this AABB, by expanding its margin, by "s". - - - - - - - Expand this AABB to contain point "p". - - - - - - Position of the AABB. - - - Suze of the AABB (should always be positive). - - - - - - Plane in hessian form. - - - Plane represents a normalized plane equation. Basically, "normal" is the normal of the plane (a,b,c normalized), and "d" is the distance from the origin to the plane (in the direction of "normal"). "Over" or "Above" the plane is considered the side of the plane towards where the normal is pointing. - - - - - Normalize the plane (although it will be often normalized already). - - - - - - - Returns a copy of the plane, normalized. - - - - - - - - - Returns true if "p" is located above the plane. - - - - - - - - - Returns the orthogonal distance from "p" to the plane. If positive, "p" is above, if negative, "p" is below. - - - - - - - - - Returns true if "p" is inside the plane (by a very minimum treshold). - - - - - - - - - - - - - Returns true if this plane intersects with planes "a" and "b". The resulting intersectin is placed in "r". - - - - - - - - - - - - - Returns true if ray consiting of position "p" and direction normal "d" intersects this plane. If true, the result is placed in "r". - - - - - - - - - - - - - Returns true if segment from position "sa" to position "sb" intersects this plane. If true, the result is placed in "r". - - - - - - - - - - Returns the orthogonal projection of point "p" into a point in the plane. - - - - - - - - - Returns true if plane "b" is very similar to this one. - - - - - - Plane normal vector (a,c and d in the plane equation normalized). - - - Plane distance (d in the plane equation). - - - - - - Quaternion. - - - Quaternion is a 4 dimensional vector that is used to represet a rotation. It mainly exists to perform SLERP (spherical-linear interpolation) between to rotations obtained by a Matrix3 cheaply. Adding quaternions also cheaply adds the rotations, however quaternions need to be often normalized, or else they suffer from precision issues. - - - - - - - Returns the length of the quaternion. - - - - - - - Returns the length of the quaternion, minus the square root. - - - - - Normalize the quaternion to unit length. - - - - - - - Returns a copy of the quaternion, normalized to unit length. - - - - - - - Returns the inverse of the quaternion (applies to the inverse rotatio too). - - - - - - - - - Returns the dot product between two quaternions. - - - - - - - Create a quaternion from euler rotation "e", as yaw, pitch, roll. - - - - - - - - - - - Perform a spherical-linear interpolation with another quaternion. - - - - - - - - - Peform multiplication between two quaternions. - - - - - - x-axis - - - y-axis - - - z-axis - - - w-axis - - - - - - 3x3 Matrix. - - - Matrix represent a 3x3 (3 rows by 3 columns) transformation matrix. it is used mainly to represent and accumulate transformations such as rotation or scale when used as an OCS (oriented coordinate system). - - - - - Invert the matrix (transformations are reversed). - - - - - Transpose the matrix (transformations are reversed only for orthogonal matrices). - - - - - - - Returns the inverse of the matrix. - - - - - - - Returns the transposition of the matrix. - - - - - - - - - Rotates the matrix in normalized "axis" by amount "phi" in radians. (This is equivalent to glRotate from OpenGL). - - - - - - - Scale each axis of the rotated matrix by 's". - - - - - - - Get the scale of the matrix. - - - - - - - Create an orthogonal matrix from euler angles "e", as yaw, pitch, roll. - - - - - - - Computes and returns the euler engles for an orthogonal matrix, as yaw, pitch, roll. - - - - - - - - - Computes and returns a dot product with transposed axis x. - - - - - - - - - Computes and returns a dot product with transposed axis y. - - - - - - - - - Computes and returns a dot product with transposed axis z. - - - - - - - - - Transforms vector "v" by this matrix (as M x V) and returns the result. - - - - - - - - - Inverse-transforms vector "v" by this matrix (as V x M) and returns the result. - - - - - - - - - Get an axis of the OCS. (0 is X, 1 is Y and 2 is Z). The enum constants Vector.AXIS_X, Vector.AXIS_Y, and Vector.AXIS_Z, are also valid. This is equivalent to get_column(). - - - - - - - - - Set an axis of the OCS. (0 is X, 1 is Y and 2 is Z). The enum constants Vector.AXIS_X, Vector.AXIS_Y, and Vector.AXIS_Z, are also valid. This is equivalent to set_column() - - - - - - - - - Get a matrix row. - - - - - - - - - Set a matrix row. - - - - - - - - - Get a matrix column. This is equivalent to get_axis() - - - - - - - - Set a matrix column. This is equivalent to set_axis - - - - - - - - - - Perform a matrix multiplication (M x N) and return the result. - - - - - - - - - Perform a transposed-matrix multiplication (Mt x N) and return the result. - - - - - - - - - - - - - - - - - - - - - - - - - - - Transformation. - - - Transform is used to store transformations, including translations. It consists of a Matrix3 "basis" and Vector3 "origin". Transform is used to represent transformations of any object in space. It is similar to a 4x3 matrix. - - - - - Invert the transform. - - - - - - - - Returns the inverse of the transform. - - - - - - - - - Rotates the transform in normalized "axis" by amount "phi" in radians. (This is equivalent to glRotate from OpenGL). - - - - - - - Scales the whole transform by "s" (including the origin) - - - - - - - Get the basis. - - - - - - - Translate the transform by "v". - - - - - "Eye" Position. - - - "Target" Position. - - - "Up" Normal Vector. - - - Creates a transform positioned at "eye", looking towards "target". "up" represents the direction where "up" is. This function is useful for setting up cameras. - - - - - - - - - Transforms vector "v" by this transform. - - - - - - - - - Inverse-transforms vector "v" by this transform. - - - - - - - - - Transforms AABB "a" by this transform. The resulting aabb will often be larger, so succesive transforms are not recommended. - - - - - - - - - Inverse-transforms AABB "a" by this transform. The resulting aabb will often be larger, so succesive transforms are not recommended. - - - - - - - - - Transform plane "p" by this transform. - - - - - - - - - Inverse-transforms plane "p" by this transform. - - - - - - Transform "basis" or OCS. - - - Transform origin. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Vector used for 2D Math. - - - Vector class, which performs basic 2D vector math operations. - - - - - - - - - Add two vectors. - - - - - - - - - Substract two vectors. - - - - - - - - - Divide two vectors. - - - - - - - - - Multiply two vectors. - - - - - - - Returns the length of the vector. - - - - - - - Returns the squared length of the vector. - - - - - Normalizes the vector to unit length. - - - - - - - Returns a normalized vector to unit length. - - - - - Sets x and y to 0. - - - - - - - - - - - Returns the result of the linear interpolation between this vector and "b", by amount "i". - - - - - - - - - Returns the dot product with vector "b". - - - - - - - - - Returns the distance to vector "b". - - - - - - - Remove the fractional part of x and y. - - - - - - - - - - - - - - - Positioned rectangle in 2D. - - - Rect2 represets a positioned rectangle of position "pos" and "size". - - - - - - - Returns "true" if the rectangle has no area. - - - - - - - - - Returns true if v is contained within the rectangle. - - - - - - - Extend the rectangle to enclose "b". - - - - - - - - - Return the interection with rectangle "b" - - - - - - - Extend the rectangle margin by "m". - - - - - - Position of the rectangle. - - - Size of the rectangle. - - - - - - - - - - - - - - - Color in RGBA format. - - - A color is represented as red, green and blue (r,g,b) components. Additionally, "a" represents the alpha component, often used for transparency. - - - - - - - Convert the color to a 32 its integer (each byte represets a RGBA). - - - - - - - Convert the color to gray. - - - - - - - Compute the "hue" of the color. - - - - - - - Compute the "saturation" of the color. - - - - - - - Compute the "value" of the color. - - - - - - - - - - - Set the color from the HSV format. - - - - - Invert the color. - - - - - Contrast the color. - - - - - - - (0 to 1) - - - Linearly blend with color "c", by amount "i". - - - - - - Red. - - - Green. - - - Blue. - - - Alpha. - - - - - - Two Dimensional Image. - - - Image represents a two-dimensional representation of an image, composed by a color per pixel. - - - - - - - Returns the width of the image (in pixels). - - - - - - - Returns the height of the image (in pixels). - - - - - - - - - - - Get the color of the pixel at position (x,y). - - - - - - - - - - - Sets the color of the pixel at position (x,y). - - - - - - - Convert the image to a new format (valid values in the FORMAT_* enumeration). - - - - - - - Get the image format (valid values in the FORMAT_* enumeration). - - - - - - - - - Resize the image to a new pixel resolution given by width,height. - - - - - - - - - Crop the image to a new pixel resolution given by width,height. - - - - - Flip the X axis of the image. - - - - - Flip the Y axis of the image. - - - - - - - Create a mipmap from "source" image. - - - - - - - Create a normalmap from "height_scale" image. - - - - - - - - - - - Create a new image of size width, height and format. - - - - - - - - - - - - - Import an image from raw data, given a specific format. - - - - - - - Returns true if the image is empty. - - - - - - - - - Load an image from a file in "path". - - - - - - - - - - - - - - - - - - - - - - - Resource ID. - - - RID references a resource, typically created in a server. - - - - - - - Returns true if the resource is valid. - - - - - - - A struct containing information fron an input device. - - - A struct containing information fron an input event, such as mouse, keyboard, joystick, etc. Valid event types are:

- -
  • InputEvent.NONE
  • -
  • InputEvent.KEY
  • -
  • InputEvent.MOUSE_BUTTON
  • -
  • InputEvent.MOUSE_MOTION
  • -
  • InputEvent.JOYSTICK_MOTION
  • -
  • InputEvent.JOYSTICK_BUTTON
  • -
    - -
    - - - Event ID. Every event as a unique ID. - - - Event type (check description). - - - Device that originated the event. - - - Mouse x position (for mouse events). - - - Mouse y position (for mouse events). - - - State of the mouse buttons as a bitmask (for key and mouse events) - - - Global mouse x position (used in GUI Controls). - - - Global mouse y position (used in GUI Controls). - - - if MOUSE_BUTTON was a press, this value is true. - - - if MOUSE_BUTTON was a doubleclick, this value is true. - - - Index of the clicked button (mouse button event). - - - Relative x motion of the mouse (mouse motion event). - - - Relative y motion of the mouse (mouse motion event). - - - If ALT modifier is pressed, this is true (mouse and key events). - - - If SHIFT modifier is pressed, this is true (mouse and key events). - - - If CONTROL modifier is pressed, this is true (mouse and key events). - - - If META modifier (win/apple/etc keys) is pressed, this is true (mouse and key events). - - - if a KEY event originated from a keypress, this is true. - - - if a KEY event originated from an echo key, this is true. - - - Unicode value of a key pressed (key event). - - - Scancode of a key pressed (check the KEY_* enumeration) (key event). - - - Joystick button index (joy button event). - - - If joystick button was pressed, this is true (joy button event). - - - Index of the pressed/released joystick button. - - - Axis of a joystick (joy axis event). - - - Axis value a joystick, from -1 to 1 (joy axis event). - - - - - Empty input event. - - - Key pressed/released event. - - - Mouse button pressed/released event. - - - Joystick axis motion event. - - - Joystick button press/release event. - - - -
    - - - File Access Interface. - - - FileAccess provides access to files in the host platform (remote access to files in webserver in the web plugin, as web plugin does not access the local filesystem). - - - - - Path to a file - - - Open mode: FileAccess.READ, FileAccess.WRITE or FileAccess.READ_WRITE - - - Error value (check the ERR_ macro for the meaning of the values) - - - Open a file in a given path. Error is returned if the file can't be opened, is nt found, etc. - - - - - Closes a currently open file. - - - - - - - Returns true if a file is currently open. - - - - - - - Seek to a given position (in bytes) in the file. - - - - - - - Seek to a given position (in bytes) in the file, from the end of the file. - - - - - - - Get the current position in the file. - - - - - - - Get the open file size (in bytes). - - - - - - - Returns true if EOF was reached (read past end of file). - - - - - - - Read a byte from the file. - - - - - - - Read a 16-bits unsigned integer from the file, in little/big endian format. - - - - - - - Read a 32-bits unsigned integer from the file, in little/big endian format. - - - - - - - Change the endian mode for reading sizes larger than a byte (read big endian files). - - - - - - - Return the status of the endian swap. - - - - - - - Store a byte in the file. - - - - - - - Store a 16-bits integer in the file. - - - - - - - Store a 32 bits integer in the file. - - - - - - - - - Returns true if a given file (in path) exist. - - - - - - - - - - - - - - - - Directory Tree Access Interface. - - - Dir provides access to directories in the host platform (remote access to files in webserver in the web plugin, as web plugin does not access the local filesystem). - - - - - true if an error ocurred. - - - Begin a directory listing. This is done iteratively due to the positility of directories with a large amount of entries. - - - - - - - Get the next item. If the return value is empty (""), then the end of the directory has been reached. - - - - - - - Returns true if the current item is a directory (not a file). - - - - - End the directory listing. - - - - - - - Get the amount of drives (windows only, returns 0 on other platforms). - - - - - - - - - Get the string (or character) representing the drive (such as "C","D",etc). - - - - - - - - - Change the current directory of the dir access. "dir" can be either absolute or relative. - - - - - - - Get the full path of the current dir. - - - - - - - Get the string or character most commonly used as drive separator in the host OS. - - - - - - - true on error. - - - Create a new directory. "name" can be either absolute or relative. - - - - - - - - - Returns true if a file exist. "path" can be either absolute or relative. - - - - - - - Return the space left on the device, in kilobytes. - - - - - - - Video Mode structure. - - - Describes a video mode. - - - - - - - - "true" if the video mode is full scren. - - - "true" if the video mode can be resized to another video mode. - - - - - - Date structure. - - - Describes a date. - - - - year (integer) - - - day of the year - - - day of the week (0 to 6) - - - month of the year (0 to 11) - - - "true" if daylight savings is enabled. - - - - - - Current Time. - - - Describes the current time. - - - - (0 to 11) - - - (0 to 59) - - - (0 to 59) - - - - - - Operating System common functions. - - - OS provides access to common host OS functions. "OS" Must not be instanced. All members are static (called like OS.get_name() ). - - - - - - - Produce an alert. On OSs such as windows or mac, this may result in a popup dialog. - - - - - - - Determine the hardware cursor visibility (if available). - - - - - - - Capture the hardware cursor (if available). - - - - - - - Returns true if the application is capturing the hardware cursor. - - - - - - - Get the name of the host OS or Platform. - - - - - - - Change the current videomode (if available). - - - - - - - Get the current videomode. - - - - - - - Get the current date. - - - - - - - Get the current time. - - - - - - - Get the amount of milliseconds since the app started. - - - - - - - Suspend the calling thread for "usec" milliseconds - - - - - - - Common math functions. - - - Math provides implementations of commonly used math functions."Math" shouldt not be instanced since all members are static (called like Math.cos() ). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Degrees to Radians conversion. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Round to nearest (lowest) value in given step. - - - - - - - - - - - - - - - - - - - - - - - - - Returns the amount of decimals used by "s". - - - - - - - Returns a random number fro 0 to 1 - - - - - - - - - - - Returns a random number between "min" and "max" - - - - - - - - - - - - Shell Execution interface. - - - Shell allows the application to open a given URL in the host OS. It can be anything the host OS understands, from a web page to a media file. - - - - - - - Open any URL the host OS understands. - - - - - - - Resource Loader. - - - ResourceLoader loads resources from disk and returns a resource object. - - - - - - - null on failure. - - - Open a resource in the given path. - - - - - - - Scene Loader - - - SceneLoader loads scenes from disk and returns a scene node. - - - - - - - A scene node, null on error. - - - Load a scene from disk at given "path" and return a node object. - - - - - - - Base class for the Object Model. - - - Object is the building block of most of the high level engine interfaces. The "Object" interface contains a reference to an actual internal Object. - Usually, Object memory should not be managed by the API, as resources will be fred automatically when not in use and nodes are deleted by their parent nodes. - - - - - Free the Object reference. This should not be used with nodes inside a scene tree, as they are removed by their parent node. This function can also be used to unreference resources. - - - - - - - Get a string with the type name of the object. - - - - - - - Returns true if the Object datatype contains a reference to an actual object instance. - - - - - - - Return the instance ID of the object. Every Object has a unique instance ID. - - - - - - - - - Return true if the type of the object class (or any base clases) match "type. - - - - - - - - - Set a property "property", with any value "value. This function can be inherited with "_set" (but base class "_set" will still be called). - - - - - - - - - Return a property "property". This function can be inherited with "_get" (but base class "_get" will still be called). - - - - - - - - - Perform a notification. Notifications are quick ways to tell an Object that something happened or changed regarding it's state and surroundings. This function can be inherited with "_notification" (but base class "_notification" will still be called). - - - - - - - Set the script of the object. Any object can contain a script. Scripts behave as if they inherited the object they are set to - - - - - - - Return the script of the object. Any object can contain a script. Scripts behave as if they inherited the object they are set to - - - - - - - Set a meta property. Meta properties are just containers for setting and retrieving any custom data to an object. Metaproperties are also saved with the object. - - - - - - - Return a meta property. Meta properties are just containers for setting and retrieving any custom data to an object. Metaproperties are also saved with the object. - - - - - - - - - Return wether an object has a meta property. Meta properties are just containers for setting and retrieving any custom data to an object. Metaproperties are also saved with the object. - - - - - - - Return the list of meta properties in the object. Meta properties are just containers for setting and retrieving any custom data to an object. Metaproperties are also saved with the object. - - - - - - - Call any method in the object (syntax: call("method", .. arguments..). - - - - - - This notification is called right after the object is done initializing - - - This notification is called right before the object will e deleted. - - - - - - All Symbolic Key Names - - - Key is an enumaration containing the constants for all the symbolic key names. They are used directly (not with Key. prefix). This value is used in the "scancode" field of the "KEY" InputEvent. - - - Special Key Mask - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Property Hints. - - - PropertyHint hints editors on how to edit a property. In many cases, hint_string (in the PropertyInfo) will contain extra data. These constants are used globally ("PropertyHint" class doesn't exist"). - - - - Hint_string defined as "min,max,step - " - Values such as 0,1,2 are represented in hint_string as "A,B,C" - hint_string is the length of an array type. - Flags names are in hint_string from MSB to LSB as "flag8,fla7,flag6,,,,flag1" - Property is a path. - Property is a path to a file. - Property is a path to a dir. - hint_string contains the valid resource types the property accept (separated by ","). - - - - - Usage for an object property. - - - PropertyUsage defines a list of (inclusive) usages that can be ORed together to specify how the property will be treated in different scenarios. These constants are used globally ("PropertyUsage" class doesn't exist"). - - - Property is Saved/Loaded from disk. - Property is visible in editor (for editing). - Property can be syncronized on network. - Default usage. - - - - - Valid Data Types. - - - Type consists of a list of valid types. It is usually used for property type hinting. These constants are used globally ("Type" class doesn't exist"). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - List of generic errors. - - - Error is a list of generic errors - - - - Generic fail error - What is requested is unsupported/unavailable - The object being used hasnt been properly set up yet - Missing credentials for requested resource - Parameter given out of range - Out of memory - - - - - - - - - - - - Can't open a resource/socket/file - - - - resource is locked - - - Data passed is invalid - Parameter passed is invalid - When adding"> item already exists - When retrieving/erasing"> it item does not exist - database is full - database is full - - - - - - - user requested help!! - a bug in the software certainly happeneddue to a double check failing or unexpected behavior. - an impossible to trigger check due to paranoid programmer was triggered - - -
    - - diff --git a/doc/deferred_format.txt b/doc/deferred_format.txt deleted file mode 100644 index 76a158a3ce5..00000000000 --- a/doc/deferred_format.txt +++ /dev/null @@ -1,33 +0,0 @@ -deferred: - -ar ag ab gl - accumulation RGB + glow - -nx ny mx my? - normal, motion -dr dg db sm - diffuse, shademodel -sr sg sb sp - specular OR shadeparams - -ar ag ab gl -nx ny sp sp -dr dg db se -444 6 -se can be 6 bits, 2 for shade model - -shade models: - -0 - none -1 - wrap -2 - toon -3 - fresne - - - -sp: 2 bits what - 6 bits param - -16 - - - - - - - diff --git a/doc/demos.txt b/doc/demos.txt deleted file mode 100644 index cf56a5cbc61..00000000000 --- a/doc/demos.txt +++ /dev/null @@ -1,40 +0,0 @@ --Oceano --Portales --Grilla --Personaje --Auto (?) --Fisica --Fisica Idle --Low level APIS (Server) --Sonido Posicional --Custom Shaders --HDR --Trees Waving --luces --fixed material --shader material --synctoaudio speech and speex --particulas con gif animados para mostrar que es cada parametro --soporte de syntax hilight de gdscript para editores mas comunes --instanciar enemigos usando duplicate --simulated motion con animacion --animation player controla otro animation player (tipo camina de lugar a otro y saluda) --corutinas y loops con yield para animation, audio, etc --CCD (bullets) - --custom gizmos, editor plugins en script - -Clases que necesitan tutorial. - -Animation/AnimationPlayer -Area2D (space override, notifications) -custom container demo -custon drawing in a canvas item -ignore mouse on top of button -input in a game, with _unhandled_input -demo containers -Control, anchors e input event handling -lots of 2D physics examples -dictionary and array doc of passing by reference? - - diff --git a/doc/engine_classes.xml b/doc/engine_classes.xml deleted file mode 100644 index 43602e26e97..00000000000 --- a/doc/engine_classes.xml +++ /dev/null @@ -1,17940 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/examples/physics/script/test_base.sq b/doc/examples/physics/script/test_base.sq deleted file mode 100644 index 9d5451728fd..00000000000 --- a/doc/examples/physics/script/test_base.sq +++ /dev/null @@ -1,295 +0,0 @@ - -class PhysicsTestBase extends MainLoopScripted { - - - bodies=[] - type_mesh_map={} - type_shape_map={} - cameratr=Transform() - - - function body_changed_transform(p_transform, p_velocity, p_angular_velocity,p_sleeping, p_visual_instance) { - - VisualServer.instance_set_transform(p_visual_instance,p_transform); - } - - - function create_body(p_shape, p_body_mode, p_location, p_active=true) { - - local mesh_instance = VisualServer.instance_create( type_mesh_map[p_shape] ) - local body = PhysicsServer.body_create(RID(),p_body_mode,!p_active) - PhysicsServer.body_add_shape(body,type_shape_map[p_shape]) - - local query = PhysicsServer.query_create(this,"body_changed_transform",mesh_instance) - PhysicsServer.query_body_state(query, body) - - PhysicsServer.body_set_state( body, PhysicsServer.BODY_STATE_TRANSFORM, p_location ) - bodies.append( body ) - return body - - } - - - function create_static_plane(p_plane) { - - local plane_shape = PhysicsServer.shape_create(PhysicsServer.SHAPE_PLANE) - PhysicsServer.shape_set_data( plane_shape, p_plane ); - - local b = PhysicsServer.body_create(RID(), PhysicsServer.BODY_MODE_STATIC ); - PhysicsServer.body_add_shape(b, plane_shape); - return b; - } - - function configure_body( p_body, p_mass, p_friction, p_bounce) { - - PhysicsServer.body_set_param( p_body, PhysicsServer.BODY_PARAM_MASS, p_mass ); - PhysicsServer.body_set_param( p_body, PhysicsServer.BODY_PARAM_FRICTION, p_friction ); - PhysicsServer.body_set_param( p_body, PhysicsServer.BODY_PARAM_BOUNCE, p_bounce ); - - } - - function init_shapes() { - - - /* SPHERE SHAPE */ - local sphere_mesh = VisualServer.make_sphere_mesh(10,20,1.0); - local sphere_material = VisualServer.fixed_material_create(); - //VisualServer.material_set_flag( sphere_material, VisualServer.MATERIAL_FLAG_WIREFRAME, true ); - VisualServer.fixed_material_set_parameter( sphere_material, VisualServer.FIXED_MATERIAL_PARAM_DIFFUSE, Color(0.7,0.8,3.0) ); - VisualServer.mesh_surface_set_material( sphere_mesh, 0, sphere_material ); - type_mesh_map[PhysicsServer.SHAPE_SPHERE] <- sphere_mesh; - - local sphere_shape=PhysicsServer.shape_create(PhysicsServer.SHAPE_SPHERE); - PhysicsServer.shape_set_data( sphere_shape, 1.0 ); - type_shape_map[PhysicsServer.SHAPE_SPHERE] <- sphere_shape; - - /* BOX SHAPE */ - - local box_planes = GeometryUtils.build_box_planes(Vector3(0.5,0.5,0.5)); - local box_material = VisualServer.fixed_material_create(); - VisualServer.fixed_material_set_parameter( box_material, VisualServer.FIXED_MATERIAL_PARAM_DIFFUSE, Color(1.0,0.2,0.2) ); - local box_mesh = VisualServer.mesh_create(); - - VisualServer.mesh_add_surface_from_planes(box_mesh,box_planes); - VisualServer.mesh_surface_set_material( box_mesh, 0, box_material ); - type_mesh_map[PhysicsServer.SHAPE_BOX]<- box_mesh; - - local box_shape=PhysicsServer.shape_create(PhysicsServer.SHAPE_BOX); - PhysicsServer.shape_set_data( box_shape, Vector3(0.5,0.5,0.5) ); - type_shape_map[PhysicsServer.SHAPE_BOX]<- box_shape; - - /* CYLINDER SHAPE */ - - local cylinder_planes = GeometryUtils.build_cylinder_planes(0.5,1,12 - ,Vector3.AXIS_Z); - local cylinder_material = VisualServer.fixed_material_create(); - VisualServer.fixed_material_set_parameter( cylinder_material, VisualServer.FIXED_MATERIAL_PARAM_DIFFUSE, Color(0.3,0.4,1.0) ); - local cylinder_mesh = VisualServer.mesh_create(); - - VisualServer.mesh_add_surface_from_planes(cylinder_mesh,cylinder_planes); - VisualServer.mesh_surface_set_material( cylinder_mesh, 0, cylinder_material ); - type_mesh_map[PhysicsServer.SHAPE_CYLINDER]<- cylinder_mesh; - - local cylinder_shape=PhysicsServer.shape_create(PhysicsServer.SHAPE_CYLINDER); - local cylinder_params={} - cylinder_params["radius"]<- 0.5; - cylinder_params["height"]<- 2; - PhysicsServer.shape_set_data( cylinder_shape, cylinder_params ); - type_shape_map[PhysicsServer.SHAPE_CYLINDER]<- cylinder_shape; - - /* CAPSULE SHAPE */ - - local capsule_planes = GeometryUtils.build_capsule_planes(0.5,0.7,12,Vector3.AXIS_Z); - local capsule_material = VisualServer.fixed_material_create(); - VisualServer.fixed_material_set_parameter( capsule_material, VisualServer.FIXED_MATERIAL_PARAM_DIFFUSE, Color(0.3,0.4,1.0) ); - - local capsule_mesh = VisualServer.mesh_create(); - - VisualServer.mesh_add_surface_from_planes(capsule_mesh,capsule_planes); - VisualServer.mesh_surface_set_material( capsule_mesh, 0, capsule_material ); - type_mesh_map[PhysicsServer.SHAPE_CAPSULE]<-capsule_mesh; - - local capsule_shape=PhysicsServer.shape_create(PhysicsServer.SHAPE_CAPSULE); - local capsule_params={} - capsule_params["radius"]<- 0.5; - capsule_params["height"]<- 1.4; - PhysicsServer.shape_set_data( capsule_shape, capsule_params ); - type_shape_map[PhysicsServer.SHAPE_CAPSULE]<- capsule_shape; - - /* CONVEX SHAPE */ - - local convex_planes = GeometryUtils.build_cylinder_planes(0.5,0.7,5,Vector3.AXIS_Z); - local convex_material = VisualServer.fixed_material_create(); - VisualServer.fixed_material_set_parameter( convex_material, VisualServer.FIXED_MATERIAL_PARAM_DIFFUSE, Color(0.8,0.2,0.9)); - - local convex_mesh = VisualServer.mesh_create(); - VisualServer.mesh_add_surface_from_planes(convex_mesh,convex_planes); - VisualServer.mesh_surface_set_material( convex_mesh, 0, convex_material ); - type_mesh_map[PhysicsServer.SHAPE_CONVEX_POLYGON]<- convex_mesh; - - local convex_shape=PhysicsServer.shape_create(PhysicsServer.SHAPE_CONVEX_POLYGON); - PhysicsServer.shape_set_data( convex_shape, convex_planes ); - type_shape_map[PhysicsServer.SHAPE_CONVEX_POLYGON]<- convex_shape; - - } - - function make_trimesh(p_faces,p_xform=Transform()) { - - local trimesh_shape = PhysicsServer.shape_create(PhysicsServer.SHAPE_CONCAVE_POLYGON); - PhysicsServer.shape_set_data(trimesh_shape, p_faces); - p_faces=PhysicsServer.shape_get_data(trimesh_shape); // optimized one - normals=[] - - for (i=0;i 5: -\end_layout - -\begin_layout Plain Layout - - print(param2) -\end_layout - -\begin_layout Plain Layout - - else: -\end_layout - -\begin_layout Plain Layout - - print("fail!") -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - - for i in range(20): -\end_layout - -\begin_layout Plain Layout - - print(i) -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - - while(param2!=0): -\end_layout - -\begin_layout Plain Layout - - param2-=1 -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - - var local_var2 = param1+3 -\end_layout - -\begin_layout Plain Layout - - return local_var2 -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -#subclass -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -class Something: -\end_layout - -\begin_layout Plain Layout - - var a=10 -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -#constructor -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -func _init(): -\end_layout - -\begin_layout Plain Layout - - print("constructed!") -\end_layout - -\begin_layout Plain Layout - - var lv = Something.new() -\end_layout - -\begin_layout Plain Layout - - print(lv.a) -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Section -Language -\end_layout - -\begin_layout Subsection -Identifiers -\end_layout - -\begin_layout Standard -Any string that restricts itself to alphabetic characters ('a' to 'z' and - 'A' to 'Z'), digits ('0' to '9') and '_' qualifies as an identifier. - As an extra restriction, identifiers must not begin with a digit. - Identifiers are case-sensitive ('foo' is different to 'FOO'). -\end_layout - -\begin_layout Subsection -Keywords -\end_layout - -\begin_layout Standard -The following is the list of keywords supported by the language. - Since keywords are reserved words (tokens), they can't be used as identifiers. -\end_layout - -\begin_layout Subsection -Operators -\end_layout - -\begin_layout Standard -The following is the list of supported operators and their precedence (TODO, - change since this was made to reflect python operators) -\end_layout - -\begin_layout Standard -\begin_inset Tabular - - - - - - -\begin_inset Text - -\begin_layout Plain Layout -Operator -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Note -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout -x[index] -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Subscription, Highest Priority -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout -x.attribute -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Attribute Reference -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout -extends -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Instance Type Checker -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout -~ -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Bitwise NOT -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout --x -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Negative -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout -* / % -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Mult / Div / Remainder -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout -+ - -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Addition / Substraction -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout -<< >> -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Bit Shifting -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout -& -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Bitwise AND -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout -^ -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Bitwise XOR -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout -| -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Bitwise OR -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout -< > == != >= <= -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Comparisons -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout -in -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Content Test -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout -! not -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Boolean NOT -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout -and && -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Boolean AND -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout -or || -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Boolean OR -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout -= += -= *= /= ^= &= |= -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Assignment, Lowest Priority -\end_layout - -\end_inset - - - - -\end_inset - - -\end_layout - -\begin_layout Subsection -Literals -\end_layout - -\begin_layout Standard -\begin_inset Tabular - - - - - - -\begin_inset Text - -\begin_layout Plain Layout -Literal -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Name -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout -45 -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Base 10 Integer -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout -0x8F51 -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Base 16 (hex) Integer -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout -3.14, 58.1e-10 -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Floating Point Number (real) -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout -'Hello', -\begin_inset Quotes eld -\end_inset - -Hi -\begin_inset Quotes erd -\end_inset - - -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Strings -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout -@'Hello', @'Hi' -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -Internationalized Strings -\end_layout - -\end_inset - - - - -\end_inset - - -\end_layout - -\begin_layout Subsection -Comments -\end_layout - -\begin_layout Standard -Anything from a '#' to the end of the line is ignored and is considered - a comment. -\end_layout - -\begin_layout Standard -\begin_inset listings -lstparams "language=Python" -inline false -status open - -\begin_layout Plain Layout - -# This is a comment -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Section -Built-in Types -\end_layout - -\begin_layout Subsection -Basic Bult-In Types -\end_layout - -\begin_layout Standard -A variable in GDScript can be assigned many of several built-in types. - -\end_layout - -\begin_layout Subsubsection -null -\end_layout - -\begin_layout Standard -'null' is a data type that contains no information, nothing assigned, and - it's just empy. - It can only be set to one value: 'null'. -\end_layout - -\begin_layout Subsubsection -bool -\end_layout - -\begin_layout Standard -Boolean data type, can only contain 'true' or 'false'. -\end_layout - -\begin_layout Subsubsection -int -\end_layout - -\begin_layout Standard -Integer data type, can only contain integer numbers, negative and positive. -\end_layout - -\begin_layout Subsubsection -float -\end_layout - -\begin_layout Standard -contains a floating point value (real). -\end_layout - -\begin_layout Subsubsection -String -\end_layout - -\begin_layout Standard -Sequence of characters in unicode format. - Strings can contain the standard C escape sequences. -\end_layout - -\begin_layout Subsection -Vector Built-In Types -\end_layout - -\begin_layout Subsubsection -Vector2/Size2 -\end_layout - -\begin_layout Standard -2D vector type, containing x and y fields. - Can alternatively access fields as width and height for readability. - Can also be accessed as array. -\end_layout - -\begin_layout Subsubsection -Rect2 -\end_layout - -\begin_layout Standard -2D Rectangle type. - Contains 2 vectors fields, -\begin_inset Quotes eld -\end_inset - -pos -\begin_inset Quotes erd -\end_inset - - and size -\begin_inset Quotes erd -\end_inset - -. - Alternatively contains an -\begin_inset Quotes eld -\end_inset - -end -\begin_inset Quotes erd -\end_inset - - field which is -\begin_inset Quotes eld -\end_inset - -pos+size -\begin_inset Quotes erd -\end_inset - -. -\end_layout - -\begin_layout Subsubsection -Vector3 -\end_layout - -\begin_layout Standard -3D vector type. - Contains x, y and z fields. - Can also be accessed as array. -\end_layout - -\begin_layout Subsubsection -Matrix32 -\end_layout - -\begin_layout Standard -3x2 matrix used for 2D transforms. -\end_layout - -\begin_layout Subsubsection -Plane -\end_layout - -\begin_layout Standard -3D Plane type in normalized form. - Contains a -\begin_inset Quotes eld -\end_inset - -normal -\begin_inset Quotes erd -\end_inset - - vector field and a -\begin_inset Quotes eld -\end_inset - -d -\begin_inset Quotes erd -\end_inset - - scalar distance. -\end_layout - -\begin_layout Subsubsection -Quat -\end_layout - -\begin_layout Standard -Quaternion, datatype used for representing a 3D rotation. - It's useful for interpolating rotations. -\end_layout - -\begin_layout Subsubsection -AABB/Box3 -\end_layout - -\begin_layout Standard -Axis Aligned bounding box (or alternatively, 3D box). - Contains 2 vectors fields, -\begin_inset Quotes eld -\end_inset - -pos -\begin_inset Quotes erd -\end_inset - - and size -\begin_inset Quotes erd -\end_inset - -. - Alternatively contains an -\begin_inset Quotes eld -\end_inset - -end -\begin_inset Quotes erd -\end_inset - - field which is -\begin_inset Quotes eld -\end_inset - -pos+size -\begin_inset Quotes erd -\end_inset - -. -\end_layout - -\begin_layout Subsubsection -Matrix3 -\end_layout - -\begin_layout Standard -3x3 matrix used for 3D rotation and scale. - Contains 3 vector fields x,y and z. - Can also be accessed as array of 3D vectors. -\end_layout - -\begin_layout Subsubsection -Transform -\end_layout - -\begin_layout Standard -3D Transform, contains a Matrix3 field -\begin_inset Quotes eld -\end_inset - -basis -\begin_inset Quotes erd -\end_inset - - and a Vector3 field -\begin_inset Quotes eld -\end_inset - -origin -\begin_inset Quotes erd -\end_inset - -. -\end_layout - -\begin_layout Subsection -Engine Built-In Types -\end_layout - -\begin_layout Subsubsection -Color -\end_layout - -\begin_layout Standard -Color datatype, contains r,g,b,a fields. - Can also be accessed as h,s,v for hue/saturation/value. -\end_layout - -\begin_layout Subsubsection -Image -\end_layout - -\begin_layout Standard -Contains a 2D Image of custom format and allows direct access to the pixels. -\end_layout - -\begin_layout Subsubsection -NodePath -\end_layout - -\begin_layout Standard -Compiled path to a node, used mainly in the scene system. - Can be easily asigned from/to a String. -\end_layout - -\begin_layout Subsubsection -RID -\end_layout - -\begin_layout Standard -Resource ID (RID). - Servers use generic RIDs to reference opaque data. -\end_layout - -\begin_layout Subsubsection -Object -\end_layout - -\begin_layout Standard -Base class for anything not a built-in type. - -\end_layout - -\begin_layout Subsubsection -InputEvent -\end_layout - -\begin_layout Standard -Events from input devices are contained in very compact form in InputEvent - objects. - Due to fact they can be received in high amounts from frame to frame, they - are optimized in their own datatype. - -\end_layout - -\begin_layout Subsection -Container Built-In Types -\end_layout - -\begin_layout Subsubsection -Array -\end_layout - -\begin_layout Standard -Generic sequence of objects. - It's size can be changed to anything and starts from index 0. - -\end_layout - -\begin_layout Standard -\begin_inset listings -inline false -status open - -\begin_layout Plain Layout - -var arr=[] -\end_layout - -\begin_layout Plain Layout - -arr=[1,2,3] -\end_layout - -\begin_layout Plain Layout - -arr[0]="Hi!" -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Standard -Arrays are allocated linearly in memory, so they are fast, but very large - arrays (more than tens of thousands of elements) may cause fragmentation. - There are specialized arrays for some built-in datatypes which do not suffer - from this and use much less memory. -\end_layout - -\begin_layout Subsubsection -Dictionary -\end_layout - -\begin_layout Standard -Associative container which contains values referenced by unique keys. -\end_layout - -\begin_layout Standard -\begin_inset listings -inline false -status open - -\begin_layout Plain Layout - -var dict={4:5, "a key":"a value", 28:[1,2,3]} -\end_layout - -\begin_layout Plain Layout - -dict["Hi!"]=0 -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Subsubsection -ByteArray -\end_layout - -\begin_layout Standard -Array of bytes. - Can only contains bytes (integers from 0 to 255). - Optimized for memory usage, can't fragment the memory. -\end_layout - -\begin_layout Subsubsection -IntArray -\end_layout - -\begin_layout Standard -Array of integers. - Can only contain integers. - Optimized for memory usage, can't fragment the memory. -\end_layout - -\begin_layout Subsubsection -FloatArray -\end_layout - -\begin_layout Standard -Array of floats, can only contain floats. - Optimized for memory usage, can't fragment the memory. -\end_layout - -\begin_layout Subsubsection -StringArray -\end_layout - -\begin_layout Standard -Array of strings, can only contain strings. - Optimized for memory usage, can't fragment the memory. -\end_layout - -\begin_layout Subsubsection -Vector2Array -\end_layout - -\begin_layout Standard -Array of Vector2, can only contain 2D Vectors. - Optimized for memory usage, can't fragment the memory. -\end_layout - -\begin_layout Subsubsection -Vector3Array -\end_layout - -\begin_layout Standard -Array of Vector3, can only contain 3D Vectors. - Optimized for memory usage, can't fragment the memory. -\end_layout - -\begin_layout Subsubsection -ColorArray -\end_layout - -\begin_layout Standard -Array of Color, can only contains colors. - Optimized for memory usage, can't fragment the memory. -\end_layout - -\begin_layout Section -Data -\end_layout - -\begin_layout Subsection -Variables -\end_layout - -\begin_layout Standard -Variables can exist as class members or local to functions. - They are created with the -\begin_inset Quotes eld -\end_inset - -var -\begin_inset Quotes erd -\end_inset - - keyword and may be, optionally, be assigned a value upon initialization. -\end_layout - -\begin_layout Standard -\begin_inset listings -inline false -status open - -\begin_layout Plain Layout - -var a # datatype is null by default -\end_layout - -\begin_layout Plain Layout - -var b = 5 -\end_layout - -\begin_layout Plain Layout - -var c = 3.8 -\end_layout - -\begin_layout Plain Layout - -var d = b+c # variables are always initialized in order -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Subsection -Constants -\end_layout - -\begin_layout Standard -Constants are similar to variables, but must be constants or constant expression -s and must be assigned on initialization. -\end_layout - -\begin_layout Standard -\begin_inset listings -inline false -status open - -\begin_layout Plain Layout - -const a = 5 -\end_layout - -\begin_layout Plain Layout - -const b = Vector2(20,20) -\end_layout - -\begin_layout Plain Layout - -const c = 10+20 # constant expression -\end_layout - -\begin_layout Plain Layout - -const d = Vector2(20,30).x # constant expression: 20 -\end_layout - -\begin_layout Plain Layout - -const e = [1,2,3,4][0] # constant expression: 1 -\end_layout - -\begin_layout Plain Layout - -const f = sin(20) # sin() can be used in constant expression -\end_layout - -\begin_layout Plain Layout - -const g = x+20 # invalid, not a constant expression! -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Subsection -Functions -\end_layout - -\begin_layout Standard -Functions always belong to a class. - The scope priority for variable look-up is: local -> class member -> global. - -\begin_inset Quotes eld -\end_inset - -self -\begin_inset Quotes erd -\end_inset - - is provided as an option for accessing class members but is not required - always (and must -\emph on -not -\emph default - be defined as first parameter, like in Python). - For performance reasons, functions are not considered class members, so - they can't be referenced directly. - A function can return at any point. - The default return value is null. -\end_layout - -\begin_layout Standard -\begin_inset listings -inline false -status open - -\begin_layout Plain Layout - -func myfunction(a,b): -\end_layout - -\begin_layout Plain Layout - - print(a) -\end_layout - -\begin_layout Plain Layout - - print(b) -\end_layout - -\begin_layout Plain Layout - - return a+b # return is optional, otherwise null is returned -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Subsubsection -Statements and Control Flow -\end_layout - -\begin_layout Standard -Statements are standard, and can be assignments, function calls, control - flow structures, etc (see below). - -\begin_inset Quotes eld -\end_inset - -; -\begin_inset Quotes erd -\end_inset - - as separator is entirely optional. -\end_layout - -\begin_layout Subsubsection -if/else/elif -\end_layout - -\begin_layout Standard -Simple conditions are created by using the -\emph on -if/else/elif -\emph default - syntax. - Parenthesis around statements is allowed but not requiered. - Given the nature of the tab-based indentation, elif can be used instead - of else:/if: to mantain a level of indentation. -\end_layout - -\begin_layout Standard -\begin_inset listings -inline false -status open - -\begin_layout Plain Layout - -if [expression]: -\end_layout - -\begin_layout Plain Layout - - statement(s) -\end_layout - -\begin_layout Plain Layout - -elif [expression]: -\end_layout - -\begin_layout Plain Layout - - statement(s) -\end_layout - -\begin_layout Plain Layout - -else: -\end_layout - -\begin_layout Plain Layout - - statement(s) -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Subsubsection -while -\end_layout - -\begin_layout Standard -Simple loops are created by using -\emph on -while -\emph default - syntax. - Loops can be broken using -\emph on -break -\emph default -, or continued using -\emph on -continue -\emph default -: -\end_layout - -\begin_layout Standard -\begin_inset listings -inline false -status open - -\begin_layout Plain Layout - -while [expression]: -\end_layout - -\begin_layout Plain Layout - - statement(s) -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Subsubsection -for -\end_layout - -\begin_layout Standard -To iterate a range, array or table a -\emph on -for -\emph default - loop is used. - For loops store the index in the loop variable on each iteration. -\end_layout - -\begin_layout Standard -\begin_inset listings -inline false -status open - -\begin_layout Plain Layout - -for i in [0,1,2]: -\end_layout - -\begin_layout Plain Layout - - statement # loop iterates 3 times, i being 0,1 and 2 -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -var dict = {"a":0, "b":1, "c": 2} -\end_layout - -\begin_layout Plain Layout - -for i in dict: -\end_layout - -\begin_layout Plain Layout - - print(dict[i]) # loop iterates the keys, i being "a","b" and c". - It prints 0, 1 and 2. -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -for i in range(3): -\end_layout - -\begin_layout Plain Layout - - statement # similar to [0,1,2] but does not allocate an array -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -for i in range(1,3): -\end_layout - -\begin_layout Plain Layout - - statement # similar to [1,2] but does not allocate an array -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -for i in range(2,8,2): -\end_layout - -\begin_layout Plain Layout - - statement # similar to [2,4,6] but does not allocate an array -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Section -Classes -\end_layout - -\begin_layout Standard -By default, the body of a script file is an unnamed class, and it can only - be referenced externally as a resource or file. - Class syntax is meant to be very compact and can only contain member variables - or functions. - Static functions are allowed, but not static members (in the spirit of - thread safety, since scripts can be initialized in separate threads without - the user knowing). - In the same way, member variables (including arrays and dictionaries) are - initialized every time an instance is created. - -\end_layout - -\begin_layout Subsection -Class File Example -\end_layout - -\begin_layout Standard -Example of a class file, imagine it being stored in a file like myclass.gd. -\end_layout - -\begin_layout Standard -\begin_inset listings -inline false -status open - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -var a=5 -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -function print_value_of_a(): -\end_layout - -\begin_layout Plain Layout - - print(a) -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Subsection -Inheritance -\end_layout - -\begin_layout Standard -A class-file can inherit from a global class, another file or a subclass - inside another file. - Multiple inheritance is not allowed. - The -\begin_inset Quotes eld -\end_inset - -extends -\begin_inset Quotes erd -\end_inset - - syntax is used: -\end_layout - -\begin_layout Standard -\begin_inset listings -inline false -status open - -\begin_layout Plain Layout - -# extend from some class (global) -\end_layout - -\begin_layout Plain Layout - -extends SomeClass -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -# optionally, extend from another file -\end_layout - -\begin_layout Plain Layout - -extends "somefile.gd" -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -# extend from a subclass in another file -\end_layout - -\begin_layout Plain Layout - -extends "somefile.gd".Subclass -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Subsection -Inheritance Testing -\end_layout - -\begin_layout Standard -It is possible to check if an instance inherits from a given class. - For this the -\begin_inset Quotes eld -\end_inset - -extends -\begin_inset Quotes erd -\end_inset - - keyword can be used as an operator instead: -\end_layout - -\begin_layout Standard -\begin_inset listings -inline false -status open - -\begin_layout Plain Layout - -static var enemy_class = preload("enemy.gd") # cache the enemy class -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -[..] -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -if ( entity extends enemy_class ): -\end_layout - -\begin_layout Plain Layout - - entity.apply_damage() -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Subsection -Constructor -\end_layout - -\begin_layout Standard -A class can have an optional constructor, a function named -\begin_inset Quotes eld -\end_inset - -_init -\begin_inset Quotes erd -\end_inset - - that is called when the class is instanced. -\end_layout - -\begin_layout Subsection -Sub Classes -\end_layout - -\begin_layout Standard -A class file can have subclasses. - Syntax should be straightforward: -\end_layout - -\begin_layout Standard -\begin_inset listings -inline false -status open - -\begin_layout Plain Layout - -class SomeSubClass: -\end_layout - -\begin_layout Plain Layout - - var a=5 -\end_layout - -\begin_layout Plain Layout - - function print_value_of_a(): -\end_layout - -\begin_layout Plain Layout - - print(a) -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -function _init(): -\end_layout - -\begin_layout Plain Layout - - var sc = SomeSubClass.new() #instance by calling built-in new -\end_layout - -\begin_layout Plain Layout - - sc.print_value_of_a() -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Subsection -Classes as Objects -\end_layout - -\begin_layout Standard -It may be desired at some point to load a class from a file and then instance - it. - Since the global scope does not exist, classes must be loaded as a resource. - Instancing is done by calling the -\begin_inset Quotes eld -\end_inset - -new -\begin_inset Quotes erd -\end_inset - - function in a class object: -\end_layout - -\begin_layout Standard -\begin_inset listings -inline false -status open - -\begin_layout Plain Layout - -#load the class (loaded every time the script is instanced) -\end_layout - -\begin_layout Plain Layout - -var MyClass = load("myclass.gd") -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -#alternatively, using the preload() function preloads the class at compile - time -\end_layout - -\begin_layout Plain Layout - -var MyClass2 = preload("myclass.gd") -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -function _init(): -\end_layout - -\begin_layout Plain Layout - - var a = MyClass.new() -\end_layout - -\begin_layout Plain Layout - - a.somefunction() -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Subsection -Exports -\end_layout - -\begin_layout Standard -Class members can be exported. - This means their value gets saved along with a scene. - If class members have initializers to constant expressions, they will be - available for editing in the property editor. - Exporting is done by using the export keyword: -\end_layout - -\begin_layout Standard -\begin_inset listings -inline false -status open - -\begin_layout Plain Layout - -extends Button -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -export var data # value will be saved -\end_layout - -\begin_layout Plain Layout - -export var number=5 # also available to the property editor -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Standard -One of the fundamental benefits of exporting member variables is to have - them visible in the property editor. - This way artists and game designers can modify values that later influence - how the program runs. - For this, a special export syntax is provided for more detail in the exported - variables: -\end_layout - -\begin_layout Standard -\begin_inset listings -inline false -status open - -\begin_layout Plain Layout - -#if the exported value assigns a constant or constant expression, the type - will be infered and used in the editor -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -export var number=5 -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -#export can take a basic datatype as argument, which will be used in the - editor -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -export(int) var number -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -#export can also take a resource type as hint -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -export(Texture) var character_face -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -#integers and strings hint enumerated values -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -export(int,"Warrior","Magician","Thief") var character_class # (editor will - set them as 0,1 and 2) -\end_layout - -\begin_layout Plain Layout - -export(String,"Rebecca","Mary","Leah") var character_name -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -#strings as paths -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -export(String,FILE) var f # string is a path to a file -\end_layout - -\begin_layout Plain Layout - -export(String,DIR) var f # string is a path to a directory -\end_layout - -\begin_layout Plain Layout - -export(String,FILE,"*.txt") var f # string is a path to a file, custom filter - provided as hint -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -#integers and floats hint ranges -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -export(int,20) var i # 0 to 20 allowed -\end_layout - -\begin_layout Plain Layout - -export(int,-10,20) var j # -10 to 20 allowed -\end_layout - -\begin_layout Plain Layout - -export(float,-10,20,0.2) var k # -10 to 20 allowed, with stepping of 0.2 -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -#color can hint availability of alpha -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -export(Color,RGB) var col # Color is RGB -\end_layout - -\begin_layout Plain Layout - -export(Color,RGBA) var col # Color is RGBA -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Standard -It must be noted that even if the script is not being run while at the editor, - the exported properties are still editable (see below for -\begin_inset Quotes eld -\end_inset - -tool -\begin_inset Quotes erd -\end_inset - -). -\end_layout - -\begin_layout Subsection -Static Functions -\end_layout - -\begin_layout Standard -A function can be declared static. - When static, it has no access to the instance member variables or -\begin_inset Quotes eld -\end_inset - -self -\begin_inset Quotes erd -\end_inset - -. - This is mainly useful to make libraries of helper functions: -\end_layout - -\begin_layout Standard -\begin_inset listings -inline false -status open - -\begin_layout Plain Layout - -static func sum2(a,b): -\end_layout - -\begin_layout Plain Layout - - return a+b -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Subsection -Asserting -\end_layout - -\begin_layout Standard -It is possible to assert a condition, which will cause a debugger break - if false. - Just use the built-in 'assert' function. -\end_layout - -\begin_layout Standard -\begin_inset listings -inline false -status open - -\begin_layout Plain Layout - -assert(a==2) -\end_layout - -\begin_layout Plain Layout - -# if a is not 2, it will generate a debugger break -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Subsection -Tool Mode -\end_layout - -\begin_layout Standard -Scripts by default don't run inside the editor, and only the exported properties - can be changed. - In some cases it is desired that they do (as long as they don't execute - game code or manually avoid doing so). - For this, the -\begin_inset Quotes eld -\end_inset - -tool -\begin_inset Quotes erd -\end_inset - - keyword exists, and must be placed at the top of the file: -\end_layout - -\begin_layout Standard -\begin_inset listings -inline false -status open - -\begin_layout Plain Layout - -tool -\end_layout - -\begin_layout Plain Layout - -extends Button -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -func _init(): -\end_layout - -\begin_layout Plain Layout - - print("Hello") -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Subsection -Memory Management -\end_layout - -\begin_layout Standard -If a class inherits from -\emph on -Reference -\emph default -, then instances will be freed when no longer in use. - No garbage collector exists, just simple reference counting. - By default, all classes that don't define inheritance extend -\emph on -Reference -\emph default -. - If this is not desired, then a class must inherit -\emph on -Object -\emph default - manually and must call instance.free(). - To avoid reference cycles that can't be freed, a weakref() function is - provided for creating weak references. - -\end_layout - -\begin_layout Subsection -Function References -\end_layout - -\begin_layout Standard -Functions can't be referenced because they are not treated as class members. - There are two alternatives to this, though. - The -\begin_inset Quotes eld -\end_inset - -call -\begin_inset Quotes erd -\end_inset - - function or the funcref() helper. -\end_layout - -\begin_layout Standard -\begin_inset listings -inline false -status open - -\begin_layout Plain Layout - -instance.call("funcname",args) # call a function by bane -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -var fr = funcref(instance,"funcname") #create a function ref -\end_layout - -\begin_layout Plain Layout - -fr.exec(args) -\end_layout - -\end_inset - - -\end_layout - -\end_body -\end_document diff --git a/doc/godot_splash.png b/doc/godot_splash.png deleted file mode 100644 index da56fa15cc60268111881a91f116273a1f43a3eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9801 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 DCK`@i diff --git a/doc/header.txt b/doc/header.txt deleted file mode 100644 index 359949cc3b8..00000000000 --- a/doc/header.txt +++ /dev/null @@ -1,12 +0,0 @@ -/*************************************************/ -/* $filename */ -/*************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/*************************************************/ -/* Source code within this file is: */ -/* (c) 2007-2010 Juan Linietsky, Ariel Manzur */ -/* All Rights Reserved. */ -/*************************************************/ - - diff --git a/doc/html/@GDScript.html b/doc/html/@GDScript.html deleted file mode 100644 index 5d5d77ffbf9..00000000000 --- a/doc/html/@GDScript.html +++ /dev/null @@ -1,93 +0,0 @@ -
    IndexClassesCategoriesInheritance

    @GDScript

    - Built-in GDScript functions. -

    Category: Core

    Public Methods:

    real sin ( real s )
    real cos ( real s )
    real tan ( real s )
    real sinh ( real s )
    real cosh ( real s )
    real tanh ( real s )
    real asin ( real s )
    real acos ( real s )
    real atan ( real s )
    real atan2 ( real x, real y )
    real sqrt ( real s )
    real fmod ( real x, real y )
    real fposmod ( real x, real y )
    real floor ( real s )
    real ceil ( real s )
    real round ( real s )
    real abs ( real s )
    real sign ( real s )
    real pow ( real x, real y )
    real log ( real s )
    real exp ( real s )
    real isnan ( real s )
    real isinf ( real s )
    real ease ( real s, real curve )
    real decimals ( real step )
    real stepify ( real s, real step )
    int rand ()
    real randf ()
    real rand_range ( real from, real to )
    Array rand_seed ( real seed )
    real deg2rad ( real deg )
    real rad2deg ( real rad )
    real linear2db ( real nrg )
    real db2linear ( real db )
    real max ( real a, real b )
    real min ( real a, real b )
    real clamp ( real val, real min, real max )
    int nearest_po2 ( int val )
    Object weakref ( Object obj )
    Object convert ( var what, int type )
    String str ( var what, var ... )
    Nil print ( var what, var ... )
    Nil printerr ( var what, var ... )
    Nil printraw ( var what, var ... )
    Array range ( var ... )

    Description:

    - This contains the list of built-in gdscript functions. Mostly math functions and other utilities. Everything else is expanded by objects. -

    Method Documentation:

    - Standard sine function. -
    - Standard cosine function. -
    - Standard tangent function. -
    - Hyperbolic sine. -
    - Hyperbolic tangent. -
    - Arc-sine. -
    - Arc-cosine. -
    - Arc-tangent. -
    - Arc-tangent that takes a 2D vector as argument, retuns the full -pi to +pi range. -
    - Square root. -
    - Module (remainder of x/y). -
    - Module (remainder of x/y) that wraps equally in positive and negative. -
    - Floor (rounds down to nearest integer). -
    - Ceiling (rounds up to nearest integer). -
    - Round to nearest integer. -
    - Remove sign (works for integer and float). -
    - Return sign (-1 or +1). -
    - Power function, x elevate to y. -
    - Natural logarithm. -
    - Exponential logarithm. -
    - Return true if the float is not a number. -
    - Return true if the float is infinite. -
    - Easing function, based on exponent. 0 is constant, 1 is linear, 0 to 1 is ease-in, 1+ is ease out. Negative values are in-out/out in. -
    - Return the amount of decimals in the floating point value. -
    - Snap float value to a given step. -
    - Random value (integer). -
    - Random value (0 to 1 float). -
    - Random range. -
    - random from seed, pass a seed and an array with both number and new seed is returned. -
    - Convert from degrees to radians. -
    - Convert from radias to degrees. -
    - Convert from linear energy to decibels (audio). -
    - Convert from decibels to linear energy (audio). -
    - Return the maximum of two values. -
    - Return the minimum of two values. -
    - Clamp both values to a range. -
    - Return the nearest larger power of 2 for an integer. -
    - Return a weak reference to an object. -
    - Convert from a type to another in the best way possible. The "type" parameter uses the enum TYPE_* in Global Scope. -
    String @GDScript::str ( var what, var ... )
    - Convert one or more arguments to strings in the best way possible. -
    Nil @GDScript::print ( var what, var ... )
    - Print one or more arguments to strings in the best way possible to a console line. -
    Nil @GDScript::printerr ( var what, var ... )
    - Print one or more arguments to strings in the best way possible to standard error line. -
    Nil @GDScript::printraw ( var what, var ... )
    - Print one or more arguments to strings in the best way possible to console. No newline is added at the end. -
    - Return an array with the given range. Range can be 1 argument N (0 to N-1), two arguments (initial, final-1) or three arguments (initial,final-1,increment). -

    Copyright 2008-2010 Codenix SRL \ No newline at end of file diff --git a/doc/html/@Global Scope.html b/doc/html/@Global Scope.html deleted file mode 100644 index 3324383c3d8..00000000000 --- a/doc/html/@Global Scope.html +++ /dev/null @@ -1,459 +0,0 @@ -
    IndexClassesCategoriesInheritance

    @Global Scope

    - Global scope constants and variables. -

    Category: Core

    Public Variables:

  • Globals Globals -
  • IP IP -
  • Geometry Geometry -
  • ResourceLoader ResourceLoader -
  • ResourceSaver ResourceSaver -
  • PathRemap PathRemap -
  • OS OS -
  • TranslationServer TranslationServer -
  • SceneIO SceneIO -
  • VisualServer VisualServer -
  • AudioServer AudioServer -
  • PhysicsServer PhysicsServer -
  • Physics2DServer Physics2DServer -
  • SpatialSound2DServer SpatialSoundServer -
  • SpatialSound2DServer SpatialSound2DServer -
  • Constants:

  • MARGIN_LEFT = 0 -
  • MARGIN_TOP = 1 -
  • MARGIN_RIGHT = 2 -
  • MARGIN_BOTTOM = 3 -
  • VERTICAL = 1 -
  • HORIZONTAL = 0 -
  • HALIGN_LEFT = 0 -
  • HALIGN_CENTER = 1 -
  • HALIGN_RIGHT = 2 -
  • VALIGN_TOP = 0 -
  • VALIGN_CENTER = 1 -
  • VALIGN_BOTTOM = 2 -
  • SPKEY = 16777216 -
  • KEY_ESCAPE = 16777217 -
  • KEY_TAB = 16777218 -
  • KEY_BACKTAB = 16777219 -
  • KEY_BACKSPACE = 16777220 -
  • KEY_RETURN = 16777221 -
  • KEY_ENTER = 16777222 -
  • KEY_INSERT = 16777223 -
  • KEY_DELETE = 16777224 -
  • KEY_PAUSE = 16777225 -
  • KEY_PRINT = 16777226 -
  • KEY_SYSREQ = 16777227 -
  • KEY_CLEAR = 16777228 -
  • KEY_HOME = 16777229 -
  • KEY_END = 16777230 -
  • KEY_LEFT = 16777231 -
  • KEY_UP = 16777232 -
  • KEY_RIGHT = 16777233 -
  • KEY_DOWN = 16777234 -
  • KEY_PAGEUP = 16777235 -
  • KEY_PAGEDOWN = 16777236 -
  • KEY_SHIFT = 16777237 -
  • KEY_CONTROL = 16777238 -
  • KEY_META = 16777239 -
  • KEY_ALT = 16777240 -
  • KEY_CAPSLOCK = 16777241 -
  • KEY_NUMLOCK = 16777242 -
  • KEY_SCROLLLOCK = 16777243 -
  • KEY_F1 = 16777244 -
  • KEY_F2 = 16777245 -
  • KEY_F3 = 16777246 -
  • KEY_F4 = 16777247 -
  • KEY_F5 = 16777248 -
  • KEY_F6 = 16777249 -
  • KEY_F7 = 16777250 -
  • KEY_F8 = 16777251 -
  • KEY_F9 = 16777252 -
  • KEY_F10 = 16777253 -
  • KEY_F11 = 16777254 -
  • KEY_F12 = 16777255 -
  • KEY_F13 = 16777256 -
  • KEY_F14 = 16777257 -
  • KEY_F15 = 16777258 -
  • KEY_F16 = 16777259 -
  • KEY_KP_ENTER = 16777344 -
  • KEY_KP_MULTIPLY = 16777345 -
  • KEY_KP_DIVIDE = 16777346 -
  • KEY_KP_SUBSTRACT = 16777347 -
  • KEY_KP_PERIOD = 16777348 -
  • KEY_KP_ADD = 16777349 -
  • KEY_KP_0 = 16777350 -
  • KEY_KP_1 = 16777351 -
  • KEY_KP_2 = 16777352 -
  • KEY_KP_3 = 16777353 -
  • KEY_KP_4 = 16777354 -
  • KEY_KP_5 = 16777355 -
  • KEY_KP_6 = 16777356 -
  • KEY_KP_7 = 16777357 -
  • KEY_KP_8 = 16777358 -
  • KEY_KP_9 = 16777359 -
  • KEY_SUPER_L = 16777260 -
  • KEY_SUPER_R = 16777261 -
  • KEY_MENU = 16777262 -
  • KEY_HYPER_L = 16777263 -
  • KEY_HYPER_R = 16777264 -
  • KEY_HELP = 16777265 -
  • KEY_DIRECTION_L = 16777266 -
  • KEY_DIRECTION_R = 16777267 -
  • KEY_BACK = 16777280 -
  • KEY_FORWARD = 16777281 -
  • KEY_STOP = 16777282 -
  • KEY_REFRESH = 16777283 -
  • KEY_VOLUMEDOWN = 16777284 -
  • KEY_VOLUMEMUTE = 16777285 -
  • KEY_VOLUMEUP = 16777286 -
  • KEY_BASSBOOST = 16777287 -
  • KEY_BASSUP = 16777288 -
  • KEY_BASSDOWN = 16777289 -
  • KEY_TREBLEUP = 16777290 -
  • KEY_TREBLEDOWN = 16777291 -
  • KEY_MEDIAPLAY = 16777292 -
  • KEY_MEDIASTOP = 16777293 -
  • KEY_MEDIAPREVIOUS = 16777294 -
  • KEY_MEDIANEXT = 16777295 -
  • KEY_MEDIARECORD = 16777296 -
  • KEY_HOMEPAGE = 16777297 -
  • KEY_FAVORITES = 16777298 -
  • KEY_SEARCH = 16777299 -
  • KEY_STANDBY = 16777300 -
  • KEY_OPENURL = 16777301 -
  • KEY_LAUNCHMAIL = 16777302 -
  • KEY_LAUNCHMEDIA = 16777303 -
  • KEY_LAUNCH0 = 16777304 -
  • KEY_LAUNCH1 = 16777305 -
  • KEY_LAUNCH2 = 16777306 -
  • KEY_LAUNCH3 = 16777307 -
  • KEY_LAUNCH4 = 16777308 -
  • KEY_LAUNCH5 = 16777309 -
  • KEY_LAUNCH6 = 16777310 -
  • KEY_LAUNCH7 = 16777311 -
  • KEY_LAUNCH8 = 16777312 -
  • KEY_LAUNCH9 = 16777313 -
  • KEY_LAUNCHA = 16777314 -
  • KEY_LAUNCHB = 16777315 -
  • KEY_LAUNCHC = 16777316 -
  • KEY_LAUNCHD = 16777317 -
  • KEY_LAUNCHE = 16777318 -
  • KEY_LAUNCHF = 16777319 -
  • KEY_UNKNOWN = 33554431 -
  • KEY_SPACE = 32 -
  • KEY_EXCLAM = 33 -
  • KEY_QUOTEDBL = 34 -
  • KEY_NUMBERSIGN = 35 -
  • KEY_DOLLAR = 36 -
  • KEY_PERCENT = 37 -
  • KEY_AMPERSAND = 38 -
  • KEY_APOSTROPHE = 39 -
  • KEY_PARENLEFT = 40 -
  • KEY_PARENRIGHT = 41 -
  • KEY_ASTERISK = 42 -
  • KEY_PLUS = 43 -
  • KEY_COMMA = 44 -
  • KEY_MINUS = 45 -
  • KEY_PERIOD = 46 -
  • KEY_SLASH = 47 -
  • KEY_0 = 48 -
  • KEY_1 = 49 -
  • KEY_2 = 50 -
  • KEY_3 = 51 -
  • KEY_4 = 52 -
  • KEY_5 = 53 -
  • KEY_6 = 54 -
  • KEY_7 = 55 -
  • KEY_8 = 56 -
  • KEY_9 = 57 -
  • KEY_COLON = 58 -
  • KEY_SEMICOLON = 59 -
  • KEY_LESS = 60 -
  • KEY_EQUAL = 61 -
  • KEY_GREATER = 62 -
  • KEY_QUESTION = 63 -
  • KEY_AT = 64 -
  • KEY_A = 65 -
  • KEY_B = 66 -
  • KEY_C = 67 -
  • KEY_D = 68 -
  • KEY_E = 69 -
  • KEY_F = 70 -
  • KEY_G = 71 -
  • KEY_H = 72 -
  • KEY_I = 73 -
  • KEY_J = 74 -
  • KEY_K = 75 -
  • KEY_L = 76 -
  • KEY_M = 77 -
  • KEY_N = 78 -
  • KEY_O = 79 -
  • KEY_P = 80 -
  • KEY_Q = 81 -
  • KEY_R = 82 -
  • KEY_S = 83 -
  • KEY_T = 84 -
  • KEY_U = 85 -
  • KEY_V = 86 -
  • KEY_W = 87 -
  • KEY_X = 88 -
  • KEY_Y = 89 -
  • KEY_Z = 90 -
  • KEY_BRACKETLEFT = 91 -
  • KEY_BACKSLASH = 92 -
  • KEY_BRACKETRIGHT = 93 -
  • KEY_ASCIICIRCUM = 94 -
  • KEY_UNDERSCORE = 95 -
  • KEY_QUOTELEFT = 96 -
  • KEY_BRACELEFT = 123 -
  • KEY_BAR = 124 -
  • KEY_BRACERIGHT = 125 -
  • KEY_ASCIITILDE = 126 -
  • KEY_NOBREAKSPACE = 160 -
  • KEY_EXCLAMDOWN = 161 -
  • KEY_CENT = 162 -
  • KEY_STERLING = 163 -
  • KEY_CURRENCY = 164 -
  • KEY_YEN = 165 -
  • KEY_BROKENBAR = 166 -
  • KEY_SECTION = 167 -
  • KEY_DIAERESIS = 168 -
  • KEY_COPYRIGHT = 169 -
  • KEY_ORDFEMININE = 170 -
  • KEY_GUILLEMOTLEFT = 171 -
  • KEY_NOTSIGN = 172 -
  • KEY_HYPHEN = 173 -
  • KEY_REGISTERED = 174 -
  • KEY_MACRON = 175 -
  • KEY_DEGREE = 176 -
  • KEY_PLUSMINUS = 177 -
  • KEY_TWOSUPERIOR = 178 -
  • KEY_THREESUPERIOR = 179 -
  • KEY_ACUTE = 180 -
  • KEY_MU = 181 -
  • KEY_PARAGRAPH = 182 -
  • KEY_PERIODCENTERED = 183 -
  • KEY_CEDILLA = 184 -
  • KEY_ONESUPERIOR = 185 -
  • KEY_MASCULINE = 186 -
  • KEY_GUILLEMOTRIGHT = 187 -
  • KEY_ONEQUARTER = 188 -
  • KEY_ONEHALF = 189 -
  • KEY_THREEQUARTERS = 190 -
  • KEY_QUESTIONDOWN = 191 -
  • KEY_AGRAVE = 192 -
  • KEY_AACUTE = 193 -
  • KEY_ACIRCUMFLEX = 194 -
  • KEY_ATILDE = 195 -
  • KEY_ADIAERESIS = 196 -
  • KEY_ARING = 197 -
  • KEY_AE = 198 -
  • KEY_CCEDILLA = 199 -
  • KEY_EGRAVE = 200 -
  • KEY_EACUTE = 201 -
  • KEY_ECIRCUMFLEX = 202 -
  • KEY_EDIAERESIS = 203 -
  • KEY_IGRAVE = 204 -
  • KEY_IACUTE = 205 -
  • KEY_ICIRCUMFLEX = 206 -
  • KEY_IDIAERESIS = 207 -
  • KEY_ETH = 208 -
  • KEY_NTILDE = 209 -
  • KEY_OGRAVE = 210 -
  • KEY_OACUTE = 211 -
  • KEY_OCIRCUMFLEX = 212 -
  • KEY_OTILDE = 213 -
  • KEY_ODIAERESIS = 214 -
  • KEY_MULTIPLY = 215 -
  • KEY_OOBLIQUE = 216 -
  • KEY_UGRAVE = 217 -
  • KEY_UACUTE = 218 -
  • KEY_UCIRCUMFLEX = 219 -
  • KEY_UDIAERESIS = 220 -
  • KEY_YACUTE = 221 -
  • KEY_THORN = 222 -
  • KEY_SSHARP = 223 -
  • KEY_DIVISION = 247 -
  • KEY_YDIAERESIS = 255 -
  • KEY_CODE_MASK = 33554431 -
  • KEY_MODIFIER_MASK = -16777216 -
  • KEY_MASK_SHIFT = 33554432 -
  • KEY_MASK_ALT = 67108864 -
  • KEY_MASK_META = 134217728 -
  • KEY_MASK_CTRL = 268435456 -
  • KEY_MASK_KPAD = 536870912 -
  • KEY_MASK_GROUP_SWITCH = 1073741824 -
  • BUTTON_LEFT = 1 -
  • BUTTON_RIGHT = 2 -
  • BUTTON_MIDDLE = 3 -
  • BUTTON_WHEEL_UP = 4 -
  • BUTTON_WHEEL_DOWN = 5 -
  • BUTTON_MASK_LEFT = 1 -
  • BUTTON_MASK_RIGHT = 2 -
  • BUTTON_MASK_MIDDLE = 4 -
  • JOY_BUTTON_0 = 0 -
  • JOY_BUTTON_1 = 1 -
  • JOY_BUTTON_2 = 2 -
  • JOY_BUTTON_3 = 3 -
  • JOY_BUTTON_4 = 4 -
  • JOY_BUTTON_5 = 5 -
  • JOY_BUTTON_6 = 6 -
  • JOY_BUTTON_7 = 7 -
  • JOY_BUTTON_8 = 8 -
  • JOY_BUTTON_9 = 9 -
  • JOY_BUTTON_10 = 10 -
  • JOY_BUTTON_11 = 11 -
  • JOY_BUTTON_12 = 12 -
  • JOY_BUTTON_13 = 13 -
  • JOY_BUTTON_14 = 14 -
  • JOY_BUTTON_15 = 15 -
  • JOY_BUTTON_MAX = 16 -
  • JOY_SNES_A = 1 -
  • JOY_SNES_B = 0 -
  • JOY_SNES_X = 3 -
  • JOY_SNES_Y = 2 -
  • JOY_SONY_CIRCLE = 1 -
  • JOY_SONY_X = 0 -
  • JOY_SONY_SQUARE = 2 -
  • JOY_SONY_TRIANGLE = 3 -
  • JOY_SEGA_B = 1 -
  • JOY_SEGA_A = 0 -
  • JOY_SEGA_X = 2 -
  • JOY_SEGA_Y = 3 -
  • JOY_XBOX_B = 1 -
  • JOY_XBOX_A = 0 -
  • JOY_XBOX_X = 2 -
  • JOY_XBOX_Y = 3 -
  • JOY_DS_A = 1 -
  • JOY_DS_B = 0 -
  • JOY_DS_X = 3 -
  • JOY_DS_Y = 2 -
  • JOY_SELECT = 10 -
  • JOY_START = 11 -
  • JOY_DPAD_UP = 12 -
  • JOY_DPAD_DOWN = 13 -
  • JOY_DPAD_LEFT = 14 -
  • JOY_DPAD_RIGHT = 15 -
  • JOY_L = 4 -
  • JOY_L2 = 6 -
  • JOY_L3 = 8 -
  • JOY_R = 5 -
  • JOY_R2 = 7 -
  • JOY_R3 = 9 -
  • JOY_AXIS_0 = 0 -
  • JOY_AXIS_1 = 1 -
  • JOY_AXIS_2 = 2 -
  • JOY_AXIS_3 = 3 -
  • JOY_AXIS_4 = 4 -
  • JOY_AXIS_5 = 5 -
  • JOY_AXIS_6 = 6 -
  • JOY_AXIS_7 = 7 -
  • JOY_AXIS_MAX = 8 -
  • JOY_ANALOG_0_X = 0 -
  • JOY_ANALOG_0_Y = 1 -
  • JOY_ANALOG_1_X = 2 -
  • JOY_ANALOG_1_Y = 3 -
  • JOY_ANALOG_2_X = 4 -
  • JOY_ANALOG_2_Y = 5 -
  • OK = 0 -
  • FAILED = 1 -
  • ERR_UNAVAILABLE = 2 -
  • ERR_UNCONFIGURED = 3 -
  • ERR_UNAUTHORIZED = 4 -
  • ERR_PARAMETER_RANGE_ERROR = 5 -
  • ERR_OUT_OF_MEMORY = 6 -
  • ERR_FILE_NOT_FOUND = 7 -
  • ERR_FILE_BAD_DRIVE = 8 -
  • ERR_FILE_BAD_PATH = 9 -
  • ERR_FILE_NO_PERMISSION = 10 -
  • ERR_FILE_ALREADY_IN_USE = 11 -
  • ERR_FILE_CANT_OPEN = 12 -
  • ERR_FILE_CANT_WRITE = 13 -
  • ERR_FILE_CANT_READ = 14 -
  • ERR_FILE_UNRECOGNIZED = 15 -
  • ERR_FILE_CORRUPT = 16 -
  • ERR_FILE_EOF = 17 -
  • ERR_CANT_OPEN = 18 -
  • ERR_CANT_CREATE = 19 -
  • ERROR_QUERY_FAILED = 20 -
  • ERR_ALREADY_IN_USE = 21 -
  • ERR_LOCKED = 22 -
  • ERR_TIMEOUT = 23 -
  • ERR_CANT_AQUIRE_RESOURCE = 24 -
  • ERR_INVALID_DATA = 26 -
  • ERR_INVALID_PARAMETER = 27 -
  • ERR_ALREADY_EXISTS = 28 -
  • ERR_DOES_NOT_EXIST = 29 -
  • ERR_DATABASE_CANT_READ = 30 -
  • ERR_DATABASE_CANT_WRITE = 31 -
  • ERR_COMPILATION_FAILED = 32 -
  • ERR_METHOD_NOT_FOUND = 33 -
  • ERR_LINK_FAILED = 34 -
  • ERR_SCRIPT_FAILED = 35 -
  • ERR_CYCLIC_LINK = 36 -
  • ERR_BUSY = 40 -
  • ERR_HELP = 42 -
  • ERR_BUG = 43 -
  • ERR_WTF = 45 -
  • PROPERTY_HINT_NONE = 0 - No hint for edited property. -
  • PROPERTY_HINT_RANGE = 1 -
  • PROPERTY_HINT_EXP_RANGE = 2 - Hint string is an exponential range, defined as "min,max" or "min,max,step". This is valid for integers and floats. -
  • PROPERTY_HINT_ENUM = 3 - Property hint is an enumerated value, like "Hello,Something,Else". This is valid for integers, floats and strings properties. -
  • PROPERTY_HINT_LENGTH = 5 -
  • PROPERTY_HINT_FLAGS = 7 - Property hint is a bitmask description, for bits 0,1,2,3 abd 5 the hint would be like "Bit0,Bit1,Bit2,Bit3,,Bit5". Valid only for integers. -
  • PROPERTY_HINT_FILE = 8 - String property is a file (so pop up a file dialog when edited). Hint string can be a set of wildcards like "*.doc". -
  • PROPERTY_HINT_DIR = 9 - String property is a directory (so pop up a file dialog when edited). -
  • PROPERTY_HINT_RESOURCE_TYPE = 10 - String property is a resource, so open the resource popup menu when edited. -
  • PROPERTY_USAGE_STORAGE = 1 - Property will be used as storage (default). -
  • PROPERTY_USAGE_STORAGE = 1 - Property will be used as storage (default). -
  • PROPERTY_USAGE_EDITOR = 2 - Property will be visible in editor (default). -
  • PROPERTY_USAGE_NETWORK = 4 -
  • PROPERTY_USAGE_DEFAULT = 7 - Default usage (storage and editor). -
  • TYPE_NIL = 0 -
  • TYPE_BOOL = 1 -
  • TYPE_INT = 2 -
  • TYPE_REAL = 3 -
  • TYPE_STRING = 4 -
  • TYPE_VECTOR2 = 5 -
  • TYPE_RECT2 = 6 -
  • TYPE_VECTOR3 = 7 -
  • TYPE_MATRIX32 = 8 -
  • TYPE_PLANE = 9 -
  • TYPE_QUAT = 10 -
  • TYPE_AABB = 11 -
  • TYPE_MATRIX3 = 12 -
  • TYPE_TRANSFORM = 13 -
  • TYPE_COLOR = 14 -
  • TYPE_IMAGE = 15 -
  • TYPE_NODE_PATH = 16 -
  • TYPE_RID = 17 -
  • TYPE_OBJECT = 18 -
  • TYPE_INPUT_EVENT = 19 -
  • TYPE_DICTIONARY = 20 -
  • TYPE_ARRAY = 21 -
  • TYPE_RAW_ARRAY = 22 -
  • TYPE_INT_ARRAY = 23 -
  • TYPE_REAL_ARRAY = 24 -
  • TYPE_STRING_ARRAY = 25 -
  • TYPE_VECTOR2_ARRAY = 26 -
  • TYPE_VECTOR3_ARRAY = 27 -
  • TYPE_COLOR_ARRAY = 28 -
  • TYPE_MAX = 29 -
  • Description:

    - Global scope constants and variables. This is all that resides in the globals, constants regarding error codes, scancodes, property hints, etc. It's not much. - Singletons are also documented here, since they can be accessed from anywhere. -

    Method Documentation:


    Copyright 2008-2010 Codenix SRL \ No newline at end of file diff --git a/doc/html/@Squirrel.html b/doc/html/@Squirrel.html deleted file mode 100644 index ad4aaa49d83..00000000000 --- a/doc/html/@Squirrel.html +++ /dev/null @@ -1,2 +0,0 @@ -
    IndexClassesCategoriesInheritance

    @Squirrel

    -

    Category: Core

    Method Documentation:


    Copyright 2008-2010 Codenix SRL \ No newline at end of file diff --git a/doc/html/main.css b/doc/html/main.css deleted file mode 100644 index a76e6bbed89..00000000000 --- a/doc/html/main.css +++ /dev/null @@ -1,146 +0,0 @@ -BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV, SPAN { - font-family: Arial, Geneva, Helvetica, sans-serif; -} - -a { - - text-decoration: none; - -} - -a:hover { - - text-decoration: underline; -} - -td.top_table { - - padding: 5px; -} - -div.method_doc { - - padding-bottom: 30px; -} - -div.method_description { - margin-left: 30px; -} - -list.inh_class_list { - margin-left: 30px; - -} - -div.inh_class_list { - margin-left: 30px; - -} - -div.method_doc div.method { - - font-size: 12pt; - font-weight: bold; -} - -span.funcdecl { - - color: #202060; -} - -span.funcdef { - - color: #202060; -} - - -span.qualifier { - - font-weight: bold; -} - - -span.symbol { - - /*font-weight: bold;*/ - color: #471870; -} - - -span.datatype { - - color: #6a1533; -} - -tr.category_title { - - background-color: #333333; -} -a.category_title { - font-weight: bold; - color: #FFFFFF; -} - -div.method_list { - - margin-left: 30px; -} - -div.constant_list { - - margin-left: 30px; -} - -div.member_list { - - margin-left: 30px; -} - -div.description { - - margin-left: 30px; -} - -div.class_description { - - margin-left: 30px; -} - -div.method_list li div { - - display: inline; -} - -div.member_list li div.member { - - display: inline; -} - -div.constant_list li div.constant { - - display: inline; -} - -span.member_description { - - font-style: italic; - color: grey; -} - -span.constant_description { - - font-style: italic; - color: grey; -} - -span.identifier { - - font-weight: bold; -} - - -table.class_table td { - - vertical-align: top; -} - diff --git a/doc/html/tutorial01/0_home_red_coding_godot_doc_math_position.png b/doc/html/tutorial01/0_home_red_coding_godot_doc_math_position.png deleted file mode 100644 index df52c0546244e9b1f31b512806cbf54776985ebb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1679 zcmV;A25|X_P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iXb+ z7BnvDX@S51000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}000H*Nkl9qQio=hM0pjNHW10aD5QT*>F&2?A8Jh}IH)Hk@8$@FQ5wi(K!h+&3 zQzNKxn_*`A$HZjDIJzk~P$v^LC{Ua*jUr$ON-K1L(28e&IBF|cDs=5F{+@)SJ$>&v z_ui-Hy!Qp}l?fpPh-7fFHc+e8N;*y^lMRdGaN&2-NoNS55CFj9{h`m{{T!Di>6~gpl@aQjpV&%tCT(TU& z?BHo|a~p+{)0F^#hQ_;q5b*b#L?Mo1)u%D|;l~rk*|FlI`F0z-$6&w}mC7c4T~Vpf zV=!2Z8Q}~1;)3Z41zwpk0|4OeYSkmd*@Zpj<_+rxm#J(E} zovzJp`*)+f9McypFmBUaUk|^81a!8vpsJt%Zz+|1`fIMMgKvC1{%LALRYAdHY2(J> zW^pk_Po4VoL4}oQG#ZD-wYT3Fp>MAfcU#)}jkESpo^{+)xw)dpVCeJty~ajScJQFZ z{<=Fl#JT)@V}CscgE*C&YjIqsSh4`%VtFm1qh`a)^F@d6OUcfikjdqk86R)yi;io> z#qf=KwyQy>Na}a)v|?A@5hSl$V)wDfdU>Hsr!#AdOie{_LIP?F3!l2(wc=vDJb5xa zOqQoEoepEYyqr6!&t0$)ZZEiEN6umYlaa|odj3Lz9iA%sFGgs@U)rOry7l{%pi3Lz9iA%sFGgiy%yj0^yu zC?};EB7}f7KN^ij(s2NW#c^=SVh$k`G6XIkK8)PCbM1C-BZUk=%k}F>QmL>oGZTed zw+_0W#OxFtEio5*v_yp!X-ahIyB{|?%fn{|0z-WG%+~<{7USAmTEus8af9B!zph;s z(MgNNrK^=f2q7wJt3>R&rJ`AL$1ILB#0rEEDB89S@1&;>x{nDS-q@b<6~5e^fr?r+ z((|&gBXtYBJ;s~GJ@-#?u;$*zqU>x;4G+ib5fMWgD`dtjBqn^0&ob8FoAq1p=Cr=g zJ$deh^q%~jz`%a*-a4I|i}Aj`n6+$~O~%ve?m_M%$E~LNen02m)Gf4YwOX7zZ~y>s zA}b33u&SsCBSwuH)VRN$Da4VJ$FM(bC(`$2VbXXXgaw53Ss$6y?GUG~xgsK!?}>`q zDq~WQO8h`HG~Z@YcLW*VW@FWoPY~=I1ON#34MNJwwMgBu3HQ6Zm_zJMe#V|Y|8=rR z5sO8NSQdu-)d`^x3Lz9iA>@BYCWH{yR+>`A)6)|gjmG(nuu_*+9G5KS5JDjoLMVhn z2!&7xVWrMWos~K(b;2A%A%sFGgir{D5DHdYa8LMVh#2!#*|p%5Ys Z{slLpuk^SG{8s<~002ovPDHLkV1nbf4-NnT diff --git a/doc/html/tutorial01/1_home_red_coding_godot_doc_math_direction.png b/doc/html/tutorial01/1_home_red_coding_godot_doc_math_direction.png deleted file mode 100644 index 5b58274bcb82a3dc2a5e913905bccab24bfa34f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3600 zcmV+r4)5`aP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iXb+ z7CIQXP&wBC000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}000eZNklRJ5gy#|>0m11JVrg{Igkwkq!YfmLips6v+Fdf$Jjy7%1g zo>TAr&UfB(&v%dsf*>HlWFR-RU|Ct2Ntct!WTI$?TzV!4sfS3A2mxTx(zj`BY-)F` zR#i_#^s7`<)=Gr*H^z}|1-0rCySO4nIH&)p`v9VaWMWgUnQI&W^ORgJv*z@c_$|)luG5`XGAa% zN~Ll@%hlA>3Blp3g@2Y->MdtzQwF*n-C@uO!_GKCzN0uJgTrgqFk!)hKD*a;e}CQQ_1CZWKOv^{TJz(`NS;qg z=~OQGg%?n%)zqp~SUWlCy|%aOXK2~pyssHx&?u&?tgPS4wLRXp+;)F|6c!f5e(-_b zYkRYPhT81y-^FCQthU{R_H)PX;*D$9$W2Y>=ctXV5e@(oj>=Cq(Gr=?Mcg;W}u7I>37o5m-AoFmLnbz9B*y zWp(W-9Wiy~N~W${+50!#xznUbk%S>YOpHW`Ng+A8#Zz|f)EyeA6}F-$WO@9$?#XED zA@@mXY-pAU>38Ji!L@68yR0K$3T>IVri!Z2MxDZW;^EWP* zp)9Tk1opn4PVi%{1cf^zm&+bbrQTCz?da%8wlbGpsRt;pt7P_=h_01?axw%3F|>^! z)ndqy7BT=d8i9=TN*tZ+nLKSopSMGFUDlq9@ys1NoevjoW|;L*!(&Gq1V^~@^lD!` zyjtGhS5?%L_EQ11HBC|sF&2f@B}96KVrgc<46jh5$@GY`J*KrVhqAxp2y2aw(#6n>&Yq4C#O7LujZ(ait5%@b!7u*f4Haf zj;I(f>>VuoPlt#BcTV0Q_P0wZsZsKu$6M64m6;_UFMg|~!2bQPY?(o}zCV0hJAs1B za2vv-`!DrDG=vo2%;U9)=XBqHB@np*`1?JwXs!a@{r72+g^GjHU(wYfC$9?JfGP9pau`OingfbEun|sjF4fP_HKB zF?Zw&s3@zaFn0hZ7e!4-n|B<)hBL?WxOG!WX|W1(a|O*Bfx22X@qfEPVAyb7EYa>5 zv2AS%k@H4z?nEAD<_hL4_Mx;`McPk=0L=c44*|h$5+TM+k7#lB$2`uT%tw8HYNSEa zUXd5(R_Wck!^+x><*)crQ!XcN&kbfi;myBqo3iW5n{ z=)U^}Iy2nE4lCPcGA>tYz5wZYTeDX%EU+s~2aW`U3hcVu!I-hPg#dN>g& zPC|^(9Etlgks(7sV1%a~bAB@hTRRKN%F38LWfUbvH8{EG*Y>gw??+_v2Oo{eMcGwp zHAkBfls;TKQ%GTMHNyROA5Z+&4_mwTBP!Psw*6XtaT3xYcIfN>RW(fo?PZzNNqpMU`HlR^AQ(f6W;(<(>H7)0dIa%@8+)*ac zgqHaM5nyvz7y$ou;X=FPL#&7L#`9lcrm#SxX(Hp!86520@NgT4Ab?B;A01dtZsB#) zAjHru{!Cq|%VaXWu_EoK0*-#2t$##gE+;s`otX>0O{N{<7KT8`bPwD-Y&n*YO?hb@ zjSU(E0c`9n7#HA7RE(EN)mQX{0CM-(`_7@qHbIWCTrojZ}6nGyZ^>wTI^C(dDScMUdjD!ugfZC*%9V&3M>9DV!k z9^ZG>)>lY4(LPx<;Y1S4)~}?#v4OUtNfev5@PM1o{P%)zW$ zdge7Y?0l1VUwaEzN0)~;hUkMKxsAuRZpCZrR7OWcJkY%+KN`fUCx6GkZF-SEzxo#A zz5O2Upso+y97&~o}#$)DZ58-VZM zd=r2b$BtoUY1yOuCZ`-rsR`0!0UT^=E9!sJfwrkmtshNW6!4dJI!T1 zF(Za2X2gh77@C`#i$l1Ig%Eptdx;QJf}5M0M2IP2%$P9}A*O_h6DLZ9m=Y#W7RP?@ zqFMc3SXhX=yZhj0L@Y|ZsHjNV``x7aUb#4$A{s)(^8YbKLx@75kO+~wEQt`&Ln1^X zM1n+!0ob-S#UyNqMydBEc5S`Ri+}L%x9i$MG!%u6y zef%6z)f$(+EHt-H(Ug{`SQO}mxrKtDDZ@FI(2^K*ub_r+4`lJ}fvldzkRFc+j7$qQ z)!6{sRK}rCZvf!zHiT=b#RPy=Ir3!&&CLQ+qgwAVf2l7C zpWo!{@q6uJ$l_-n<-4zLksN;ujk?973?6-n<$Xw3<VZ;vf%1?(RqFro<96PQUT?DY`pTwBEAo*XD@Qf3)pk<5V;ja2ng(reMeUp?O*LNt?ggR^Z6t# zj)JNZJnUUr74j5b!#r3Xzm6xz&mlQ01sU+nq(w|072JCs(p%VbF`g*TQ09)0Ls8fcBjS>$0&usYklkr<>`seoSEit~}8Gs7#C zeOD57=VtnZBbUi})XAIb#@gPEA-x56J6BTgU1zSNqu!11jr9;i>;Wj`tqUARIk+>+ zXBuITOvKWxb?++=dpA!0a-K=U+7EvfGC37>RXA98UOhj;&V|!CX-pp#%&DAIJnUUt z)x4~4UM2M^AuEGp`S9GAd~^H9E@Mbv+j}W&8J}JLn$IpBrm0!2dk9vAEMa$A9ADml z%C!&1zzrWZ30000Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iXb+ z7d8g(C?Ssk000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}000Q@NklzQ;|^KAaxs z+PS`dyXV~NaQ>22$MMTO{^kEX=Q(fHD5VrizENPYG(^)h1w=^!Q9!)b{hNLXLh?nA zWwJS}@A)|{{x73|$kv^!m*c&ICyE|B^!^xn?q7==I-&}QZ2j;DoA8G>{{m}gaOA*W zv2AOQ3Rzz0Ti?6`kw_RvKKuj#keR)ebSfZTy5zMt4i((d_xJ-Use7qS8@_?h zznI1NsVSWJ=u>R$xmyA8Qo&#gp7{O-?0Vrfe7ie_V6a62@mh~=z85nym+;sl_o+I> z5Bl5KBsTP{!`E(VS3tbh`STa?>fU$J|IGImeWf1sePOt62O_N@{A%z=`1;bD7CjJc zu?)X!nuf*Dl%^b99E`;<7>lVK;uq~oCRI}R!UbPN1)J@H^Z7goA-JaN$Ykb+-y@Mo z(a!*&>pDWAkOJbCGX`TZ&_DqF$B!2tBZRQzU6RC0lR6;;gb?KO`KAKoJ0QD~N#yf+ z?7rt7{PgHi5JF&@X5ov}bsf5{BR~k++S&@Q%Vx7hKXV`)QYj$6!U_5@91%i5gF#SA z3jo65@B$YN#$sg?d?*wu`ogV%tZ@7W#us%+5eP~V3WXLxaI+5KpG63PrfG%G^8=Wm zA7B`UQ8$R1^!D4pi4zEI-;U6_bpRX3>W%4r9rSFM@`{(7L;U&6~x4@X3=vFbH&XICcWKTX;<)+bL2*mNj22*|P`Q z#f$70?d`y&OYE;%RLI)554hzPcI)T>dV3v{J`Z8hXjCecfEO^L(I~XGHsJQ#S@>ve z1-iS%eRyXl1HN)4Ff|1nJLdRw9>OT4(!*EK3mD;W7`XLTAejVKtYA;tx>ei-q|+>S z#N+IiNK||Yhax+CNpXm6PpYGXg^yLM*ll!F+yx|)Kv&oN&+&LwFS9yDmP-OM+(8II zC=@F0Nu52*{_X9ZkLRMGjE*|yj7m_#;c%fHO`X(jLzR<;hJe047W3Uo>Kt;NKx8NR zfb>x1q=5leGo;h*UBtu$(BRyP%+M8(9;&K=vU|6C7cxCvm*cz&T>;VV&~?4O>bk$* z)7)VvUDt)XB;YG|ShaH}%PAg*E7>jy_|6^HVy>&J{+<`lL!It!TM+FMVIiv_cW^b* z9WJds{M0U)KwP(Ty--{ZSHjyV3WzJ=s!=F{!j+7$B_w1Cv2|}R`>U^}MiCUQWQ48e zTDe$ljUqT)HBDhCWxS_SjUqT)iEgi}K!oIvT5A-+;YxHKaXn;-?iN<8QCzOhWw*0= z&pNT|dGU#;CRTGFK2r)sQn*q;DnYq&1s`nLA}w5rRM5?Xzao(cG)+S`o0Zy#_a1r( z58rkh_DxLSX^97!iD<8@GlrQ=29(mGRp`QXeO2O1`}gCeZQI!Vyd;;1Xm9g}tl?px zuMY>#oda??fKpbcxH;>na!8dL9c4+pvlAyTTwwP#ZGQQv$dxS30z}s84BMI`7GuLE ze3(U`TdeJLb62pdKx9mDIu?MX1!Fue%q`YYiE4HQKR)mzMvfdTdTiv#LGuulNYt~}NmM5|Og{See zZ9l=CD^@Qo4Bh^|_@)=W>O=^TO4}AVtaREQTs+R84iB?`9qJaIAFLZpdHqq(sP^oo z|Dq+(f`9!dC8w7qG>_CWG}70{zHldK0|V@S9l6EYPOF2QbaebUMh^cOZ@v6`ymRP} zICkozg-;R@;tj)~v$M0*G)?#3l*j)vvTce@u5o+)|@BPpHI{8JQb&> zCQnmJDLplLn)d8?n5Mt@cX2yJ05MII&dkiXo7^jWxwb$mKwO|i!v6WsK3jlg7zUl0 znW4E{uBOX>J8F@zp%d4NM5mg=ja*`vTX?5oXo%&l_3MFTQpyyy@Rf@VcY&`D9@Z^ukE_;s z7Jl7l&th(FuJQHCUJovEm(;y+vYMJhgi8SCl9elgWy^3)(-1g(Sjqwpp+Fkm=;GE4 zV684mr-Ae5fm8~Zo(44xm}}RHJ>cNFr0i4Y4ykE7SdClJDjq&l=hn7-K94JB&LFUS zxs-`FDf1yUhpt8wdAXcW?NU?=48t&Rb?H*^Yt3W=skjk8od%wN-n~R#PF-DWWl9Y& z+&CD=cR;FwV(n(Sk;t7~^6|%P;;PIXiB~YB0;ve4y`62)6up$EwG|i{Df<~-!jKNc z4oW7InLntqy`7zT(%;Vx8xt`&xoQ>roUyT@74rFf9+^zWQy88Au|nZP^~RDV%pKO_ zliWTm*&3pu&|0Cw=qjW+^Q zQ<$5aMDFIBT|3pTY3h(la^q0SS`NW<(&Na>)a6#{<`KY{Q(hg6eatZ>SmP|a0(_PZSbze4amkaBSB0F`q{vjAv{kX2Vh z)c>%fq<|`-LfG8;-N(zVqqNIQ{z5WkBnfj*( SC(4ch0000 - - - - - - - - - - -

    1 Introduction to 3D Math

    -

    -

    1.1 Introduction

    -

    There are many approaches to understanding the type of 3D math used in video -games, modelling, ray-tracing, etc. The usual is through vector algebra, matrices, and -linear transformations and, while they are not completely necesary to understand -most of the aspects of 3D game programming (from the theorical point of view), they -provide a common language to communicate with other programmers or -engineers. -

    This tutorial will focus on explaining all the basic concepts needed for a -programmer to understand how to develop 3D games without getting too deep into -algebra. Instead of a math-oriented language, code examples will be given instead -when possible. The reason for this is that. while programmers may have -different backgrounds or experience (be it scientific, engineering or self taught), -code is the most familiar language and the lowest common denominator for -understanding. -

    -

    1.2 Vectors

    -

    -

    1.2.1 Brief Introduction
    -

    When writing 2D games, interfaces and other applications, the typical convention is -to define coordinates as an x,y pair, x representing the horizontal offset and y the -vertical one. In most cases, the unit for both is pixels. This makes sense given the -screen is just a rectangle in two dimensions. -

    An x,y pair can be used for two purposes. It can be an absolute position (screen -cordinate in the previous case), or a relative direction, if we trace an arrow from the -origin (0,0 coordinates) to it’s position. -

    -

    - -

    - - - -
    PICPIC
    Position Direction
    -
    -

    When used as a direction, this pair is called a vector, and two properties can be -observed: The first is the magnitude or length , and the second is the direction. In -two dimensions, direction can be an angle. The magnitude or length can be computed -by simply using Pithagoras theorem: -

    -

    -

    - - -
    ∘x2-+-y2-∘x2-+-y2 +-z2
    2D 3D
    -
    -

    The direction can be an arbitrary angle from either the x or y axis, and could be -computed by using trigonometry, or just using the usual atan2 function present in -most math libraries. However, when dealing with 3D, the direction can’t be described -as an angle. To separate magnitude and direction, 3D uses the concept of normal -vectors. -

    -

    1.2.2 Implementation
    -

    Vectors are implemented in Godot Engine as a class named Vector3 for 3D, and as -both Vector2, Point2 or Size2 in 2D (they are all aliases). They are used for any -purpose where a pair of 2D or 3D values (described as x,y or x,y,z) is needed. This is -somewhat a standard in most libraries or engines. In the script API, they can be -instanced like this: - -

    a = Vector3() 
    a = Vector2( 2.0, 3.4 ) -
    - -

    Vectors also support the common operators +, -, / and * for addition, -substraction, multiplication and division. - -

    a = Vector3(1,2,3) 
    b = Vector3(4,5,6) 
    c = Vector3() 
     
    // writing 
     
    c = a + b 
     
    // is the same as writing 
     
    c.x = a.x + b.x 
    c.y = a.y + b.y 
    c.z = a.z + b.z 
     
    // both will result in a vector containing (5,7,9). 
    // the same happens for the rest of the operators. -
    -

    Vectors also can perform a wide variety of built-in functions, their most common -usages will be explored next. -

    -

    1.2.3 Normal Vectors
    -

    Two points ago, it was mentioned that 3D vectors can’t describe their direction as an -agle (as 2D vectors can). Because of this, normal vectors become important for -separating a vector between direction and magnitude. -

    A normal vector is a vector with a magnitude of 1. This means, no matter where -the vector is pointing to, it’s length is always 1. -

    - - -
    PIC
    Normal vectors aroud the origin.
    -
    -

    Normal vectors have endless uses in 3D graphics programming, so it’s -recommended to get familiar with them as much as possible. -

    -

    1.2.4 Normalization
    -

    Normalization is the process through which normal vectors are obtained -from regular vectors. In other words, normalization is used to reduce the -magnitude of any vector to 1. (except of course, unless the vector is (0,0,0) -). -

    To normalize a vector, it must be divided by its magnitude (which should be -greater than zero): - -

    // a custom vector is created 
    a = Vector3(4,5,6) 
    // l is a single real number (or scalar) containight the length 
    l = Math.sqrt( a.x*a.x + a.y*a.y + a.z*a.z ) 
    // the vector a is divided by its length, by performing scalar divide 
    a = a / l 
    // which is the same as 
    a.x = a.x / l 
    a.y = a.y / l 
    a.z = a.z / l - -
    -

    Vector3 contains two built in functions for normalization: - -

    a = Vector3(4,5,6) 
    a.normalize() // in-place normalization 
    b = a.normalized() // returns a copy of a, normalized -
    -

    -

    1.2.5 Dot Product
    -

    The dot product is, pheraps, the most useful operation that can be applied to 3D -vectors. In the surface, it’s multiple usages are not very obvious, but in depth it can -provide very useful information between two vectors (be it direction or just points in -space). -

    The dot product takes two vectors (a and b in the example) and returns a scalar -(single real number): -

    -

    -

    axbx + ayby + azbz -

    -

    The same expressed in code: - -

    a = Vector3(...) 
    b = Vector3(...) 
     
    c = a.x*b.x + a.y*b.y + a.z*b.z 
     
    // using built-in dot() function 
     
    c = a.dot(b) -
    -

    The dot product presents several useful properties: -

      -
    • If both a and b parameters to a dot product are direction vectors, dot - product will return positive if both point towards the same direction, - negative if both point towards opposite directions, and zero if they are - orthogonal (one is perpendicular to the other). -
    • -
    • If both a and b parameters to a dot product are normalized direction - vectors, then the dot product will return the cosine of the angle between - them (ranging from 1 if they are equal, 0 if they are orthogonal, and -1 if - they are opposed (a == -b)). -
    • -
    • If a is a normalized direction vector and b is a point, the dot product will - return the distance from b to the plane passing through the origin, with - normal a (see item about planes) - -
    • -
    • More uses will be presented later in this tutorial.
    -

    -

    1.2.6 Cross Product
    -

    The cross product also takes two vectors a and b, but returns another vector c that is -orthogonal to the two previous ones. -

    -

    -

    cx = axbz - azby -

    -
    -

    -

    cy = azbx - axbz -

    -
    -

    -

    cz = axby - aybx -

    -

    The same in code: - -

    a = Vector3(...) 
    b = Vector3(...) 
    c = Vector3(...) 
     
    c.x = a.x*b.z - a.z*b.y 
    c.y = a.z*b.x - a.x*b.z 
    c.z = a.x*b.y - a.y*b.x 
     
    // or using the built-in function 
     
    c = a.cross(b) -
    -

    The cross product also presents several useful properties: -

      -
    • As mentioned, the resulting vector c is orthogonal to the input vectors a - and b. -
    • -
    • Since the cross product is anticommutative, swapping a and b will result - in a negated vector c. - -
    • -
    • if a and b are taken from two of the segmets AB, BC or CA that form a - 3D triangle, the magnitude of the resulting vector divided by 2 is the area - of that triangle. -
    • -
    • The direction of the resulting vector c in the previous triangle example - determines wether the points A,B and C are arranged in clocwise or - counter-clockwise order.
    -

    -

    1.3 Plane

    -

    -

    1.3.1 Theory
    -

    A plane can be considered as an infinite, flat surface that splits space in two halves, -usually one named positive and one named negative. In regular mathematics, a plane -formula is described as: -

    -

    -

    ax + by + cz + d -

    -

    However, in 3D programming, this form alone is often of little use. For planes to -become useful, they must be in normalized form. -

    A normalized plane consists of a normal vector n and a distance d. To normalize -a plane, a vector n and distance d’ are created this way: -

    nx = a -

    ny = b -

    nz = c -

    d= d -

    Finally, both n and d’ are both divided by the magnitude of n. -

    In any case, normalizing planes is not often needed (this was mostly for -explanation purposes), and normalized planes are useful because they can be created -and used easily. -

    A normalized plane could be visualized as a plane pointing towards normal n, -offseted by d in the direction of n. -

    In other words, take n, multiply it by scalar d and the resulting point will be part -of the plane. This may need some thinking, so an example with a 2D normal vector -(z is 0, so plane is orthogonal to it) is provided: -

    Some operations can be done with normalized planes: - -

      -
    • Given any point p, the distance from it to a plane can be computed by - doing: n.dot(p) - d -
    • -
    • If the resulting distance in the previous point is negative, the point is - below the plane. -
    • -
    • Convex polygonal shapes can be defined by enclosing them in planes (the - physics engine uses this property)
    -

    -

    1.3.2 Implementation
    -

    Godot Engine implements normalized planes by using the Plane class. - -

    //creates a plane with normal (0,1,0) and distance 5 
    p = Plane( Vector3(0,1,0), 5 ) 
    // get the distance to a point 
    d = p.distance( Vector3(4,5,6) ) -
    -

    -

    1.4 Matrices, Quaternions and Coordinate Systems

    -

    It is very often needed to store the location/rotation of something. In 2D, it is often -enough to store an x,y location and maybe an angle as the rotation, as that should -be enough to represent any posible position. -

    In 3D this becomes a little more difficult, as there is nothing as simple as an angle -to store a 3-axis rotation. -

    The first think that may come to mind is to use 3 angles, one for x, one for y and -one for z. However this suffers from the problem that it becomes very cumbersome to -use, as the individual rotations in each axis need to be performed one after another -(they can’t be performed at the same time), leading to a problem called “gimbal -lock”. Also, it becomes impossible to accumulate rotations (add a rotation to an -existing one). -

    To solve this, there are two known diferent approaches that aid in solving -rotation, Quaternions and Oriented Coordinate Systems. -

    -

    1.4.1 Oriented Coordinate Systems
    -

    Oriented Coordinate Systems (OCS) are a way of representing a coordinate system -inside the cartesian coordinate system. They are mainly composed of 3 Vectors, one -for each axis. The first vector is the x axis, the second the y axis, and the third is the - -z axis. The OCS vectors can be rotated around freely as long as they are kept the -same length (as changing the length of an axis changes its cale), and as long as they -remain orthogonal to eachother (as in, the same as the default cartesian system, -with y pointing up, x pointing left and z pointing front, but all rotated -together). -

    Oriented Coordinate Systems are represented in 3D programming as a 3x3 matrix, -where each row (or column, depending on the implementation) contains one of the -axis vectors. Transforming a Vector by a rotated OCS Matrix results in the rotation -being applied to the resulting vector. OCS Matrices can also be multiplied to -accumulate their transformations. -

    Godot Engine implements OCS Matrices in the Matrix3 class: - -

    //create a 3x3 matrix 
    m = Matrix3() 
    //rotate the matrix in the y axis, by 45 degrees 
    m.rotate( Vector3(0,1,0), Math.deg2rad(45) ) 
    //transform a vector v (xform method is used) 
    v = Vector3(...) 
    result = m.xform( v ) -
    -

    However, in most usage cases, one wants to store a translation together with the -rotation. For this, an origin vector must be added to the OCS, thus transforming it -into a 3x4 (or 4x3, depending on preference) matrix. Godot engine implements this -functionality in the Transform class: - -

    t = Transform() 
    //rotate the transform in the y axis, by 45 degrees 
    t.rotate( Vector3(0,1,0), Math.deg2rad(45) ) 
    //translate the transform by 5 in the z axis 
    t.translate( Vector3( 0,0,5 ) ) 
    //transform a vector v (xform method is used) 
    v = Vector3(...) 
    result = t.xform( v ) -
    -

    Transform contains internally a Matrix3 “basis” and a Vector3 “origin” (which can -be modified individually). -

    -

    1.4.2 Transform Internals
    -

    Internally, the xform() process is quite simple, to apply a 3x3 transform to a vector, -the transposed axis vectors are used (as using the regular axis vectors will result on -an inverse of the desired transform): - -

    m = Matrix3(...) 
    v = Vector3(..) 
    result = Vector3(...) 
     
    x_axis = m.get_axis(0) 
    y_axis = m.get_axis(1) 
    z_axis = m.get_axis(2) 
     
    result.x = Vector3(x_axis.x, y_axis.x, z_axis.x).dot(v) 
    result.y = Vector3(x_axis.y, y_axis.y, z_axis.y).dot(v) 
    result.z = Vector3(x_axis.z, y_axis.z, z_axis.z).dot(v) 
     
    // is the same as doing 
     
    result = m.xform(v) 
     
    // if m this was a Transform(), the origin would be added 
    // like this: 
     
    result = result + t.get_origin() -
    -

    -

    1.4.3 Using The Transform
    -

    So, it is often desired apply sucessive operations to a transformation. For example, -let’s a assume that there is a turtle sitting at the origin (the turtle is a logo reference, - -for those familiar with it). The y axis is up, and the the turtle’s nose is pointing -towards the z axis. -

    The turtle (like many other animals, or vehicles!) can only walk towards the -direction it’s looking at. So, moving the turtle around a little should be something -like this: - -

    // turtle at the origin 
    turtle = Transform() 
    // turtle will walk 5 units in z axis 
    turtle.translate( Vector3(0,0,5) ) 
    // turtle eyes a lettuce 3 units away, will rotate 45 degrees right 
    turtle.rotate( Vector3(0,1,0), Math.deg2rad(45) ) 
    // turtle approaches the lettuce 
    turtle.translate( Vector3(0,0,5) ) 
    // happy turtle over lettuce is at 
    print(turtle.get_origin()) -
    -

    As can be seen, every new action the turtle takes is based on the previous one it -took. Had the order of actions been different and the turtle would have never reached -the lettuce. -

    Transforms are just that, a mean of “accumulating” rotation, translation, scale, -etc. -

    -

    1.4.4 A Warning about Numerical Precision
    -

    Performing several actions over a transform will slowly and gradually lead to -precision loss (objects that draw according to a transform may get jittery, bigger, -smaller, skewed, etc). This happens due to the nature of floating point numbers. if -transforms/matrices are created from other kind of values (like a position and -some angular rotation) this is not needed, but if has been accumulating -transformations and was never recreated, it can be normalized by calling the -.orthonormalize() built-in function. This function has little cost and calling it every -now and then will avoid the effects from precision loss to become visible. - - - - - diff --git a/doc/html/tutorial01/tutorial0x.png b/doc/html/tutorial01/tutorial0x.png deleted file mode 100644 index a0ed4f53ffad92647071b2a0f824e34963f24455..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2056 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 Yf8NNIVMF}U!vFvP07*qoM6N<$f~F_zasU7T diff --git a/doc/html/tutorial01/tutorial2x.png b/doc/html/tutorial01/tutorial2x.png deleted file mode 100644 index 76c502b6da06f82d305915112ee6be51ca1d7c05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 618 zcmV-w0+s!VP)-9+v6-ChoKh4oO2JBglAbKRHsG;|#DyKQ#sb&}aBuD31u(=iOP|e$v z;B8U_?Z6ZCo>TO8#RUE8jHWOF=xnwVv8wz?Sf~NNrReR7!B5a{(k5-d<2r%hTnSP| zlYQ+2TlSlDMrns8irF_Uda9-_uO4HRzz?FJ1VE+Vl=3IffFRyL;Mo;Hg)%HnA^Pizbm0hc=!dyt1Z*5uy@pZNIMJ$@z5Q(bs zt$LEV_0R}Lt&(&GLpGc|#h$g%$LqaXgrmcr6FVAW=mO8r5A3|A6aX|4tt4l z(*=_GxL=$rHgj*_Q!j$MBZ4kB8ztBks3+J3tAibCSvgYM+`vPeb;Zmd;X{z(Y+0Y` z#Bj^HX#7$mQ+AfHHZt(n4l&1P^r)2MKu1R>`it$yuN9Qk65`soXE~UCeiN69VSZBD zxw-LUKC0ePy+Px#07*qoM6N<$ Eg7D`jG5`Po diff --git a/doc/html/tutorial01/tutorial3x.png b/doc/html/tutorial01/tutorial3x.png deleted file mode 100644 index 8431e9d15c02a5951a7e123a42b9a7fadfdcd4cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 754 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 Hu0mjfxE+bp diff --git a/doc/notes.txt b/doc/notes.txt deleted file mode 100644 index 39c03ca4c54..00000000000 --- a/doc/notes.txt +++ /dev/null @@ -1,20 +0,0 @@ - -in FileDialog file_selected -> file_activated -focus script/shader editor when gaining focus -detect if errors in editor and don't allow play - - --tree of files (all recognized extensions) - -*export: *keep|export|bundle -*options: [make binary for xnl], then options for each filetype (texture compress method, etc) - - -config.h deberia teber varias cosas de plataforma - -_FORCE_INLINE_ -copymem -ftoi -defines de funciones matematicas - - diff --git a/doc/phys_engine.png b/doc/phys_engine.png deleted file mode 100644 index 15539d47d769985845c41a10f040d2ff0e692885..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29177 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 MRMS;0Qa%; -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Section -Documentation -\end_layout - -\begin_layout Standard -Godot utilizes Squirrel 2.2. - Documentation can be found at: -\begin_inset CommandInset href -LatexCommand href -target "http://squirrel-lang.org/#documentation" - -\end_inset - - -\end_layout - -\begin_layout Section -Class Files -\end_layout - -\begin_layout Standard -Unless writing a library, Godot expects a class for scripting an object. - Since a Squirrel source file can contain many classes, the main class must - be returned. - The following is an example of extending a button: -\end_layout - -\begin_layout Standard -\begin_inset listings -inline false -status open - -\begin_layout Plain Layout - -class MyButton extends Button { -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - - constructor() { -\end_layout - -\begin_layout Plain Layout - - // ALWAYS call parent constructor -\end_layout - -\begin_layout Plain Layout - - Button.constructor() -\end_layout - -\begin_layout Plain Layout - - } -\end_layout - -\begin_layout Plain Layout - -} -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -return MyButton // main class returned -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Standard -Additionally, classes are all copied to the root table, so all class names - in scripts must be different if they are attempted to be loaded simultaneously. - The same can be said for any other globals declared in the script. - -\end_layout - -\begin_layout Standard -Finally, squirrel scripts must be saved with the .nut or .sq extensions (both - are recognized). -\end_layout - -\begin_layout Section -Including Other Scripts -\end_layout - -\begin_layout Standard -Other scripts can be included with the include() directive. - Full and relative paths are supported. - When included, the classes and globals are moved to the root table, so - they become immediately available. - Constants, however, are only inlined in the current class on load, so Squirrel - does not make them available. - Example of including scripts: -\end_layout - -\begin_layout Standard -\begin_inset listings -inline false -status open - -\begin_layout Plain Layout - -include("my_button.nut") # // relative to current script, expected to be - in the same path -\end_layout - -\begin_layout Plain Layout - -include("res://buttons/my_button.nut") // using resource path -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Section -Built-In Types -\end_layout - -\begin_layout Standard -There are some small differences between the Built-In types in Godot and - the ones in Squirrel, so the documentation will not match. - The differences are documented here. -\end_layout - -\begin_layout Standard -An attempt will be made to document everything here,but if in doubt about - bindings on built-in types, you can always take a loot at the bindings - source file in script/squirrel/sq_bind_types.cpp. -\end_layout - -\begin_layout Standard -Built-In Types in Squirrel are passed by reference (unlike by value like - in GD). - They also don't need to be freed. -\end_layout - -\begin_layout Subsection -AABB -\end_layout - -\begin_layout Standard -\begin_inset Quotes eld -\end_inset - -pos -\begin_inset Quotes erd -\end_inset - -, -\begin_inset Quotes eld -\end_inset - -size -\begin_inset Quotes erd -\end_inset - - and -\begin_inset Quotes eld -\end_inset - -end -\begin_inset Quotes erd -\end_inset - - are not available Use get_pos()/set_pos and get_size()/set_size(). -\end_layout - -\begin_layout Subsection -InputEvent -\end_layout - -\begin_layout Standard -InputEvent is a single datatype and contains everything. - Use only the fields meant for the event type: -\end_layout - -\begin_layout Standard -\begin_inset listings -inline false -status open - -\begin_layout Plain Layout - -//for mouse motion and button -\end_layout - -\begin_layout Plain Layout - -int mouse_x -\end_layout - -\begin_layout Plain Layout - -int mouse_y -\end_layout - -\begin_layout Plain Layout - -int mouse_button_mask -\end_layout - -\begin_layout Plain Layout - -int mouse_global_x -\end_layout - -\begin_layout Plain Layout - -int mouse_global_y -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -//for mouse button -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -int mouse_button_index -\end_layout - -\begin_layout Plain Layout - -bool mouse_button_pressed -\end_layout - -\begin_layout Plain Layout - -bool mouse_button_doubleclick -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -//for mouse motion -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -int mouse_motion_x -\end_layout - -\begin_layout Plain Layout - -int mouse_motion_y -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -//for keyboard -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -int key_scancode -\end_layout - -\begin_layout Plain Layout - -int key_unicode -\end_layout - -\begin_layout Plain Layout - -bool key_pressed -\end_layout - -\begin_layout Plain Layout - -bool key_echo -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -//for keyboard and mouse -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -bool mod_alt -\end_layout - -\begin_layout Plain Layout - -bool mod_shift -\end_layout - -\begin_layout Plain Layout - -bool mod_meta -\end_layout - -\begin_layout Plain Layout - -bool mod_control -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -//joy button -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -int joy_button_index -\end_layout - -\begin_layout Plain Layout - -bool joy_button_pressed -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -//joy axis -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -int joy_axis -\end_layout - -\begin_layout Plain Layout - -float joy_axis_value -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -//screen drag and touch -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -int screen_index -\end_layout - -\begin_layout Plain Layout - -int screen_x -\end_layout - -\begin_layout Plain Layout - -int screen_y -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -//screen touch -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -int screen_index -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -//action -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -int action_id -\end_layout - -\begin_layout Plain Layout - -bool action_pressed -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Subsection -Matrix3 -\end_layout - -\begin_layout Standard -x,y,z member vectors are not available. - Use get_row() and set_row() instead. - Individual float values of the matrix are available as swizzle masks such - as xxy, xyz, zzx, etc. -\end_layout - -\begin_layout Standard -Additional in-place versions of some functions are available: transpose(), - invert(), rotate(), scale(), orthonormalize(). -\end_layout - -\begin_layout Subsection -Transform -\end_layout - -\begin_layout Standard -\begin_inset Quotes eld -\end_inset - -basis -\begin_inset Quotes erd -\end_inset - - and -\begin_inset Quotes eld -\end_inset - -origin -\begin_inset Quotes erd -\end_inset - - members are not available. - Use get_basis()/set_basis() and get_origin()/set_origin() instead. - Additional in-place versions of some functions are available: invert(), - affine_invert(), orthonormalize(), rotate(), translate(), scale(). -\end_layout - -\begin_layout Standard -Vector2 -\end_layout - -\begin_layout Subsection -Plane -\end_layout - -\begin_layout Standard -\begin_inset Quotes eld -\end_inset - -normal -\begin_inset Quotes erd -\end_inset - - member vector is not available. - Use get_normal(), set_normal() instead. -\end_layout - -\begin_layout Subsection -Rect2 -\end_layout - -\begin_layout Standard -\begin_inset Quotes eld -\end_inset - -pos -\begin_inset Quotes erd -\end_inset - -, -\begin_inset Quotes eld -\end_inset - -size -\begin_inset Quotes erd -\end_inset - - and -\begin_inset Quotes eld -\end_inset - -end -\begin_inset Quotes erd -\end_inset - - are not available Use get_pos()/set_pos and get_size()/set_size(). -\end_layout - -\begin_layout Subsection -Native Arrays -\end_layout - -\begin_layout Standard -Native arrays such as RawArray, IntArray,StringArray, etc are not supported. - Use regular squirrel arrays instead, since conversion to/from them will - happen automatically. -\end_layout - -\begin_layout Subsection -Math Functions -\end_layout - -\begin_layout Standard -Math functions are inside the Math namespace in Squirrel. - For example Math.sin , Math.PI, Math.atan2(). -\end_layout - -\begin_layout Subsection -Native Types -\end_layout - -\begin_layout Standard -Array, Dictionary and NodePath are not available. - Use a native array, table and string respectively. -\end_layout - -\begin_layout Section -_get , _set -\end_layout - -\begin_layout Standard -_get and _set are reserved in Squirrel, for overriding Godot Object property - getter/setter, use _get_property and _set_property. -\end_layout - -\begin_layout Section -Member Export -\end_layout - -\begin_layout Standard -Simple exporting of members (so far only integer, floating point and string - are supported) is supported by the @export extension. - It is used like this: -\end_layout - -\begin_layout Standard -\begin_inset listings -inline false -status open - -\begin_layout Plain Layout - -class MyButton extends Button { -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - - aprop=1 // @export -\end_layout - -\begin_layout Plain Layout - - bprop=2.0 // @export -\end_layout - -\begin_layout Plain Layout - - cprop="3" // @export -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - - //these will be available to the property editor, and will be loaded/saved - with the scene. -\end_layout - -\begin_layout Plain Layout - -} -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Section -Always Enabled Scripts -\end_layout - -\begin_layout Standard -Scripts are not enabled in the editor by default. - To enable a script always, add an @always_enabled comment. - Example: -\end_layout - -\begin_layout Standard -\begin_inset listings -inline false -status open - -\begin_layout Plain Layout - -//@always_enabled -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -class MyButton extends Button { -\end_layout - -\begin_layout Plain Layout - -\end_layout - -\begin_layout Plain Layout - -... -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Section -Threads -\end_layout - -\begin_layout Standard -Thread support in Squirrel is very poor. - This is because of the stack-based nature of the language implementation. - Since godot can run in multiple threads, it will forcibily lock the whole - VM when accessed from multiple threads, which will result in degraded performan -ce. - Creating user threads in Squirrel is definitely not recomended, as it may - completely lock the main thread. -\end_layout - -\begin_layout Section -References -\end_layout - -\begin_layout Standard -Godot has a built-in reference counted type used in conjunction with a template - (objects that inherit the -\begin_inset Quotes eld -\end_inset - -Reference -\begin_inset Quotes erd -\end_inset - - class). - Since Squirrel also uses reference counting, it becomes impossible for - such types in godot to contain a script, because it would result in an - un-breakable reference cycle. - To avoid this, a Ref() class was created in Squirrel. - -\end_layout - -\begin_layout Standard -When calling Godot API functions, returned references are wrapped inside - Ref() transparently, but the problem arises when creating a Reference-derived - object from the code. - In such cases, the reference must be wrapped manually like this: -\end_layout - -\begin_layout Standard -\begin_inset listings -inline false -status open - -\begin_layout Plain Layout - -local f = Ref( File() ) -\end_layout - -\begin_layout Plain Layout - -local err = f.open("hello.txt",File.READ) -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Standard -Anything not a reference that inherits from Object can be freed manually - by calling .free(), just like in GDScript. - Object classes are in itself weak references to engine objects, and their - validity can be checked by calling the -\begin_inset Quotes eld -\end_inset - -has_instance() -\begin_inset Quotes erd -\end_inset - - built-in method. -\end_layout - -\begin_layout Section -Unicode -\end_layout - -\begin_layout Standard -Squirrel source code is supposed to support Unicode, but the implementation - is very broken (Squirrel attempts to use 16 bit chars no matter what, making - it incompatible when the host OS is 32 bit, like Linux). - Squirrel source code is parsed as UTF-8, and strings also contain UTF-8. - Wide char access in strings is not supported. -\end_layout - -\begin_layout Section -Debugging -\end_layout - -\begin_layout Standard -Squirrel is well integrated into the Godot debugger. - To run the project in debug mode, execute the godot binary with the -debug - argument. - Godot will break on squirrel errors and allow the programmer to debug. -\end_layout - -\begin_layout Section -Utility Functions -\end_layout - -\begin_layout Standard -There are a few squirrel-only utility functions available: -\end_layout - -\begin_layout Subsection -print(value[,value]) -\end_layout - -\begin_layout Standard -Print stuff to stdout. -\end_layout - -\begin_layout Subsection -dofile(path) -\end_layout - -\begin_layout Standard -Execute a squirrel script file and return whatever the file returns. - Not recommended to use in production because it can't be optimized. -\end_layout - -\begin_layout Subsection -nativeref(var) -\end_layout - -\begin_layout Standard -Convert any squirrel type to an engine type. - When this type returns to squirrel, it's converted back. - This is useful to add to Godot callbacks to ensure that the datatype is - not converted. -\end_layout - -\begin_layout Subsection -unicode_split(string) -\end_layout - -\begin_layout Standard -Split an unicode string (utf8) into an array of widechars. - Useful since there is no wide char access from Squirrel. -\end_layout - -\begin_layout Subsection -breakpoint() -\end_layout - -\begin_layout Standard -Stop the debugger when reaches here (when run inside the debugger). -\end_layout - -\begin_layout Subsection -backtrace() -\end_layout - -\begin_layout Standard -Print a backtrace of the call stack. -\end_layout - -\begin_layout Subsection -tr(text) -\end_layout - -\begin_layout Standard -Translate text (use string lookup in Godot translation system). -\end_layout - -\begin_layout Subsection -printerr(text) -\end_layout - -\begin_layout Standard -Print a string to stderr. -\end_layout - -\end_body -\end_document diff --git a/doc/todo.txt b/doc/todo.txt deleted file mode 100644 index 511b5dbbe21..00000000000 --- a/doc/todo.txt +++ /dev/null @@ -1,39 +0,0 @@ --Fisica 2D - *terminar constraints - *terminar queries - *desactivar on suspend - -bugs supongo? - --Fisica 3D - -portar engine 2D a 3D mayoritariamente (si puedo esperar, mejor) - -hacer que skeletons se vuelvan ragdolls de alguna forma - -hacer bien lo de enganchar cosas a huesos de esqueleto - --GUI - - Tree necesita resizear desde los headers - --Escena 3D - -Deshabilitar 3D (Opcional en compilacion) - -Particulas 3D - -Heightmaps - -Arreglar fixed pipeline - -arreglar glow y ssao - --Editor codigo - -Editor de codigo (esta, pero esta lleno de bugs) - -Debugger (esta, pero hay que integrar bien) - --UI General - -Cambiar lugar el tema de resources porque es MUY poco intuitivo - -Tal vez arreglar un poquito el theme y la estetica (para release, low priority) - -Run deberia correr la escena main - -new script deberia dar opcion de crear en disco - -los scripts de deberian mantener abiertos al abrir otra escena - - - --Settings - -Hacer pantalla de optimizacion general del proyecto - --A futuro: - -Scripting Propio - -Portar a DX9/GL3 \ No newline at end of file diff --git a/doc/tutorial/01 Getting Started.lyx b/doc/tutorial/01 Getting Started.lyx deleted file mode 100644 index bdb4c7706d1..00000000000 --- a/doc/tutorial/01 Getting Started.lyx +++ /dev/null @@ -1,557 +0,0 @@ -#LyX 1.6.5 created this file. For more info see http://www.lyx.org/ -\lyxformat 345 -\begin_document -\begin_header -\textclass article -\use_default_options true -\language english -\inputencoding auto -\font_roman default -\font_sans default -\font_typewriter default -\font_default_family default -\font_sc false -\font_osf false -\font_sf_scale 100 -\font_tt_scale 100 - -\graphics default -\paperfontsize default -\use_hyperref false -\papersize default -\use_geometry false -\use_amsmath 1 -\use_esint 1 -\cite_engine basic -\use_bibtopic false -\paperorientation portrait -\secnumdepth 3 -\tocdepth 3 -\paragraph_separation indent -\defskip medskip -\quotes_language english -\papercolumns 1 -\papersides 1 -\paperpagestyle default -\tracking_changes false -\output_changes false -\author "" -\author "" -\end_header - -\begin_body - -\begin_layout Title -01. - Getting Started with Godot Engine -\end_layout - -\begin_layout Section* -Introduction: -\end_layout - -\begin_layout Standard -Godot Engine is designed to be useful. - This may sound rather vague and is difficult to explain without repeating - the same claims that every other engine does, but, as we progress through - this (and the next) tutorials, hopefully it will be made clear what -\begin_inset Quotes eld -\end_inset - -useful -\begin_inset Quotes erd -\end_inset - - means. -\end_layout - -\begin_layout Standard -Godot Engine has many components, both high and low level, and is usually - more abstract and complex than most other engines. - This is, however, to the advantage of the user as complexity is presented - in a way that it only needs to be discovered when more power needs to be - untapped. - This helps to provide an easy learning curve. -\end_layout - -\begin_layout Standard -Design wise, the whole API and set of components were created with a clear - goal in mind, which is to allow for smooth integration of design ideas, - code and assets. - This is achieved by defining the following rules: -\end_layout - -\begin_layout Itemize -Implementing a game feature should never be too many steps away from an - existing component. -\end_layout - -\begin_layout Itemize -More complex features should be leveraged by combining or extending existing - components. -\end_layout - -\begin_layout Itemize -If the above fails, creating custom components should be extremely simple. -\end_layout - -\begin_layout Standard -Ultimately, Godot Engine provides an editor and tools that allows everyone - to work with it: -\end_layout - -\begin_layout Itemize -Programmers can script and extend any component of the project. -\end_layout - -\begin_layout Itemize -Designers can tweak and animate any parameter from a friendly user interface. -\end_layout - -\begin_layout Itemize -Artists can import their art and models and tweak the look of everything - in realtime. -\end_layout - -\begin_layout Section* -Editor: -\end_layout - -\begin_layout Standard -As mentioned before, Godot Engine is very abstract so projects consist of - just a -\emph on -path -\emph default - (ie: C: -\backslash -games -\backslash -mygame5). - Projects don't have to be specifically created, and many can be placed - inside the same path (useful for not wasting folders on tests and experiments). - -\end_layout - -\begin_layout Standard -In any case, to ease the management of projects, a graphical util exists. -\end_layout - -\begin_layout Subsection* -Running From The Project Manager -\end_layout - -\begin_layout Standard -Godot Engine includes a built-in project manager. - This is installed by default on Windows and OSX and it allows for the creation - and removal projects that will be remembered at the next startup: -\end_layout - -\begin_layout Standard -\align center -\begin_inset Graphics - filename pm.png - -\end_inset - - -\end_layout - -\begin_layout Standard -To create a new project, the [Create] button must be pressed and a dialog - will appear, prompting for a path and project name. - Afterwards, the [Open] button will close the project manager and open the - desired project. -\end_layout - -\begin_layout Subsection* -Running From the Command Line -\end_layout - -\begin_layout Standard -To create and manage projects, it is perfectly possible to use the command - line. - Many users prefer this way of working with project data. -\end_layout - -\begin_layout Standard -\align center -\begin_inset Graphics - filename pmc.png - -\end_inset - - -\end_layout - -\begin_layout Standard -For ease of use, it is recommended that the -\begin_inset Quotes eld -\end_inset - -godot -\begin_inset Quotes erd -\end_inset - - binary exists in the path, so any project can be opened easily aywhere - just by changing location to the projec and executing the editor. -\end_layout - -\begin_layout Subsection* -Godot Editor -\end_layout - -\begin_layout Standard -Godot Editor should have been opened by now, if not please check the previous - steps again. -\end_layout - -\begin_layout Standard -Godot has a powerful buit-in editor. - It uses the graphics toolkint within itself to display the UI, so it runs - identical on any platform (even consoles or phones!). -\end_layout - -\begin_layout Standard -\align center -\begin_inset Graphics - filename editor.png - -\end_inset - - -\end_layout - -\begin_layout Standard -In the above screenshots, a few regions are labelled to be explained as - follows: -\end_layout - -\begin_layout Subsubsection* -Viewport -\end_layout - -\begin_layout Standard -The -\emph on -Viewport -\emph default - is the main space where the content is displayed. - Content includes 3D Nodes or Graphical User Interface (GUI) controls. - Other types of data spawn editors of their own when being edited. - The default viewport is the 3D viewport, which can be panned, zoomed, etc. -\end_layout - -\begin_layout Subsubsection* -Scene Tree -\end_layout - -\begin_layout Standard -The -\emph on -Scene Tree -\emph default - is a small dock that displays the tree of the current scene being edited. - A scene is a collection of nodes arranged in a tree-hierarchy (any node - can have several owned children-nodes). - The meaning of this ownership depends purely on the -\emph on -type -\emph default - of the node, but it will become clear after going through the examples. - In a -\emph on -MVC -\emph default - pattern, the scene tree could be considered the -\emph on -View -\emph default -. -\end_layout - -\begin_layout Subsubsection* -Property Editor -\end_layout - -\begin_layout Standard -The -\emph on -Property Editor -\emph default - is another small dock. - Every node contains a finite number of -\emph on -properties -\emph default -, which can be edited. - Properties can be of several types, such as integers, strings, images, - matrices, etc. - Usually, changes to properties are reflected in the -\emph on -viewport -\emph default - in real time. -\end_layout - -\begin_layout Section* -Examples: -\end_layout - -\begin_layout Standard -From now, a few, simple examples will be presented that will help understand - a little better how Godot Engine works. - -\end_layout - -\begin_layout Subsubsection* -Hello, World! -\end_layout - -\begin_layout Enumerate -Open the editor -\end_layout - -\begin_layout Enumerate -Click on -\begin_inset Quotes eld -\end_inset - -Node -\begin_inset Quotes erd -\end_inset - - (Node Menu), then on -\begin_inset Quotes eld -\end_inset - -Create Root -\begin_inset Quotes erd -\end_inset - - -\end_layout - -\begin_deeper -\begin_layout Standard -\align center -\begin_inset Graphics - filename tute1_1.png - -\end_inset - - -\end_layout - -\end_deeper -\begin_layout Enumerate -Create a node of type -\emph on -Label, -\emph default -then instruct the -\emph on -editor -\emph default -to switch to GUI editing mode. - A few red squares will appear on the top left corner, don't mind them yet. -\end_layout - -\begin_deeper -\begin_layout Standard -\align center -\begin_inset Graphics - filename tute1_2.png - -\end_inset - - -\end_layout - -\begin_layout Standard -\align center -\begin_inset Graphics - filename tute1_2b.png - -\end_inset - - -\end_layout - -\begin_layout Standard -\align center -\begin_inset Graphics - filename tute1_3c.png - -\end_inset - - -\end_layout - -\end_deeper -\begin_layout Enumerate -Select the -\emph on -Label -\emph default -node in the -\emph on -Scene Tree -\emph default - (if it's not selected yet), the properties of the selected node will appear - in the -\emph on -Property Editor -\end_layout - -\begin_deeper -\begin_layout Standard -\align center -\begin_inset Graphics - filename tute1_3a.png - -\end_inset - - -\end_layout - -\begin_layout Standard -\align center -\begin_inset Graphics - filename tute1_3b.png - -\end_inset - - -\end_layout - -\end_deeper -\begin_layout Enumerate -Look for the -\emph on -Text -\emph default - property in the -\emph on -Property Editor -\emph default - and click the right column, so it becomes editable. - Enter the text -\begin_inset Quotes eld -\end_inset - -Hello, World! -\begin_inset Quotes erd -\end_inset - -. - A red square containing -\begin_inset Quotes eld -\end_inset - -Hello World! -\begin_inset Quotes erd -\end_inset - - will appear at the top left, move it to the center. -\end_layout - -\begin_deeper -\begin_layout Standard -\align center -\begin_inset Graphics - filename tute1_4a.png - -\end_inset - - -\end_layout - -\begin_layout Standard -\align center -\begin_inset Graphics - filename tute1_4b.png - -\end_inset - - -\end_layout - -\end_deeper -\begin_layout Enumerate -Save the scene. -\end_layout - -\begin_deeper -\begin_layout Standard -\align center -\begin_inset Graphics - filename tute1_5a.png - -\end_inset - - -\end_layout - -\begin_layout Standard -\align center -\begin_inset Graphics - filename tute1_5b.png - -\end_inset - - -\end_layout - -\end_deeper -\begin_layout Enumerate -Press PLAY. - A new window will appear running the application. -\end_layout - -\begin_deeper -\begin_layout Standard -\align center -\begin_inset Graphics - filename tute1_6.png - -\end_inset - - -\end_layout - -\begin_layout Standard -\align center -\begin_inset Graphics - filename tute1_7.png - -\end_inset - - -\end_layout - -\end_deeper -\begin_layout Subsubsection* -Hello World 2 (a little more complex) -\end_layout - -\begin_layout Subsubsection* -A 3D Cube in Space -\end_layout - -\begin_layout Standard - -\end_layout - -\begin_layout Standard -In many cases, nodes and other types of engine objects need to express changes - in their state, such as a button being pressed, a scroll being dragged, - or a projectile colliding against a tank. - Godot Engine utilizes the concept of signals for this. - Different types of nodes and objects can emit signals, and any other node - or object can connect to them. - -\end_layout - -\end_body -\end_document diff --git a/doc/tutorial/editor.png b/doc/tutorial/editor.png deleted file mode 100644 index 92255a6f17cbc078b474bc5d09b4d57b9ada312c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81238 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%0DQY!fRwdAZOwUYn7?M+BwV!V?we21<9oX|Kl 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

    T1*ei!5D94#tv&*q}t>(7cxQSZ6GX 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νts=t88k2q|t#n3VQk~wgyoMBL;lArT1)JpvZ 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

    d)a`-ZX3-n{v%H1tJsiP0l9`3BjpBhWZB3l~ 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ٲVc1k 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�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

    Eaeo>p-y;CtGiqa?No7rC# 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 VtxV862i2~CqO7V+HOw^Z{{YsZmVW>M diff --git a/doc/tutorial/tute1_3c.png b/doc/tutorial/tute1_3c.png deleted file mode 100644 index 2c52ccd780b11a3df2c6a638880768e5087fd299..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3785 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 AO#lD@ diff --git a/doc/tutorial/tute1_4b.png b/doc/tutorial/tute1_4b.png deleted file mode 100644 index fff5f8d7234014e20a564f034760d33a030c6071..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5421 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 diff --git a/doc/tutorial/tute1_5b.png b/doc/tutorial/tute1_5b.png deleted file mode 100644 index df9a987ef3de2945ae073f4bb0fbf6725ea936e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47382 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�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 R#K`~v002ovPDHLkV1mGa`4IpB diff --git a/doc/tutorial/tute1_7.png b/doc/tutorial/tute1_7.png deleted file mode 100644 index 7653a89064ca5515018f8ef2ae0a515f99711253..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1445 zcmbtU`8(Tb5Kr5u%cj-C@>I&Es+6`WRI7+bT7rZoREq{lXp;y_qQp__s9LR{EUjkq zw4rruSXYb4c3qE@xPnEjo2sj%2pVyP{q~pr2ljoQdFP#Zp7}g8?`LM1E?5T@@JTQT z1X4kxkgkAk1;kBxKX4}qtZoBpU#P2t4XCV3YaTGZ4@TiaL7+p-Z?f-dTSqD2RAQhp zc1pwGL&voByQt<;zy)F0-C@|$gM!F32FNyq?8_jNv?Kf(RBZ<|#>FH4$O#bWpeh=9 z{dVN=;-D9*kFKF4_3N@d*Cl<(bu7R=A|xqUCOw{sw>kG60hMW1r$IvhivFQ?Rgi*? z2rC#@w)5!Qwf9FJMmn90L}>_hhW?(OTiwwN+S-8;c20+S$>xZ{y*-6@D;?IIEhjHe zjr+ll1Bv~2b|%Hv<#~B|%VRaHtSs5C;%5_A7nj!qk`Drbb<9@Pp2Eb$q_nh@$z)== zx2!~6UAtm%8L@$Y$1gH08)6lX$j;7Ab#?W=zCIe?tH2fVRG68Wxw5jt;c!m1{a(`I z2N@{C*M!WpH#Id4Rr-Zlj?K=__V%h)@5wEqz8aWzi$n%z01Q#!CH9Vx%jKF@4h6bH zW5b0@OEe12-~V)OVWC0!K!>QmzaPn1okml3rIR1h{SH;7dXy7PLZhQ=+emjQ35^fy zb_;A`*HtDbCtK1_r6(nA&`1FR0p8xD5g!P(k=K!liHXSPEEdYC< zp6H_8i?8VG>!YwK%@sVJ9=Q1J+u+d9HK4@Yw_q?hi5eMcjv5{v^-gbDn{IoSk#Rgn zwWPEZ@97z0t_8%JnYkZsuPE6`oQP42sw4Oh2!)T$!70hfzirAS11uO3s-;DuaIpM6 zgBw^Zfk-5JdDX;hhdVetX_`q+IVf7XmN2-$Jg2UsA&!&&bl?9PaC^C zn{omcyR*?ly2OD;q_Hb2D?L0svdW9E`P=zou-N227o0ticdrw`z(pgYWWis-llx7% z`T0KOaYZf-d24HHZfC< z6j#mTEgsd>(2z#e$(JW!Fj#p}(fj*Tk2_{6?ig~h9Dx0VgoOC|s!vl>dT3QXnLbgE zL7{>zIql63udCwS;l{?-kihh?jPMH!3$EY}>gDzI^?&;NeV31JKs$Vllb}uot}>Zy z#i(*f3j&#!L!E%}s4x`hqR(Hra3=TFD=i9CQ*#YYcXLxWO&Qk9-P($xEJ-9Inp0Ox zKfl}B-j+|?3kwfV{s<%14+ffz-c$5cc?Lar@ZP;x1sXoxn$g?ao0+M)@)B#2j)cq7 zH!+$>3Wb8hvF-C3g$h4CUES2Qv;~G`w3?KjoSJ&W(NQq>-%j~|4{4nI>KCOix3m#e Q@4g|S?Xbu)8=pu20x_Ykg#Z8m diff --git a/doc/undoredoapi.txt b/doc/undoredoapi.txt deleted file mode 100644 index eb73b8ccff4..00000000000 --- a/doc/undoredoapi.txt +++ /dev/null @@ -1,25 +0,0 @@ -undo/redo api proposal - - - -o o o o o o o o - - -undoredo.create_method(); -undoredo.add_do_method(node,"add_child",node_to_add); -undoredo.add_undo_method(node,"remove_child",node_to_add); -undoredo.add_add_data(node_to_add); -undoredo.commit() - -undoredo.create_method(); -undoredo.add_do_method(node,"remove_node",node_to_remove); -undoredo.add_undo_method(node,"add_node",node_to_remove); -undoredo.add_remove_data(node_to_remove); -undoredo.commit() - - -undoredo.create_property(); -undoredo.add_do_set(node,"property",value); -undoredo.add_undo_set(node,"property",previous_value); -undoredo.add_remove_data(node_to_remove); -undoredo.commit()