diff --git a/doc/bu/files/abs.txt b/doc/bu/files/abs.txt
new file mode 100644
index 0000000..2e9aecd
--- /dev/null
+++ b/doc/bu/files/abs.txt
@@ -0,0 +1,4 @@
+#title Abs [RCBasic Doc]
+#header function Abs(n)
+
+Returns the absolute value of n
diff --git a/doc/bu/files/accelname.txt b/doc/bu/files/accelname.txt
new file mode 100644
index 0000000..9acdb1e
--- /dev/null
+++ b/doc/bu/files/accelname.txt
@@ -0,0 +1,6 @@
+#title AccelName$ [RCBasic Doc]
+#header function AccelName$(accel_num)
+
+
+Returns the name of an accelerometer
+
diff --git a/doc/bu/files/acos.txt b/doc/bu/files/acos.txt
new file mode 100644
index 0000000..0553ead
--- /dev/null
+++ b/doc/bu/files/acos.txt
@@ -0,0 +1,4 @@
+#title Acos [RCBasic Doc]
+#header function Acos(n)
+
+Returns the Arcosine of n
diff --git a/doc/bu/files/activecanvas.txt b/doc/bu/files/activecanvas.txt
new file mode 100644
index 0000000..11e416b
--- /dev/null
+++ b/doc/bu/files/activecanvas.txt
@@ -0,0 +1,22 @@
+#title ActiveCanvas [RCBasic Doc]
+#header function ActiveCanvas()
+
+
+Returns the canvas that drawing commands are currently applied to
+
+#code
+c1 = OpenCanvas(640, 480, 0, 0, 640, 480, 0)
+c2 = OpenCanvas(640, 480, 0, 0, 640, 480, 0)
+
+Canvas(c1)
+
+If ActiveCanvas() = c1 Then
+ Print "Active canvas is c1"
+End If
+
+Canvas(c2)
+
+If ActiveCanvas() = c2 Then
+ Print "Active canvas is now c2"
+End If
+#/code
diff --git a/doc/bu/files/actoranimationislooped.txt b/doc/bu/files/actoranimationislooped.txt
new file mode 100644
index 0000000..b583e76
--- /dev/null
+++ b/doc/bu/files/actoranimationislooped.txt
@@ -0,0 +1,8 @@
+#title actorAnimationIsLooped [RCBasic Doc]
+#header function actorAnimationIsLooped( actor )
+
+Returns true if an actors animation is set to looped.
+
+Note: Actor animation is set to looped with the loopActorAnimation() function.
+
+#ref loopActorAnimation
diff --git a/doc/bu/files/actorisintransition.txt b/doc/bu/files/actorisintransition.txt
new file mode 100644
index 0000000..6839ff7
--- /dev/null
+++ b/doc/bu/files/actorisintransition.txt
@@ -0,0 +1,6 @@
+#title ActorIsInTransition [RCBasic Doc]
+#header function ActorIsInTransition( actor )
+
+Returns true if actor is in a transition from its current frame to the frame set in the StartActorTransition() function
+
+#ref StartActorTransition StopActorTransition GetActorTransitionTime
diff --git a/doc/bu/files/actorissolid.txt b/doc/bu/files/actorissolid.txt
new file mode 100644
index 0000000..8233454
--- /dev/null
+++ b/doc/bu/files/actorissolid.txt
@@ -0,0 +1,15 @@
+#title ActorIsSolid [RCBasic Doc]
+#header function ActorIsSolid(actor)
+
+Returns true or false depending on if physics and collision response applies to an actor.
+
+Note: Collision is still able to be checked on an actor but the actor will be like a ghost able to go through wall and other objects.
+
+#code
+SetActorSolid(actor, true)
+Print "Actor solid state: "; ActorIsSolid(actor) 'This will output 1
+SetActorSolid(actor, false)
+Print "Actor solid state: "; ActorIsSolid(actor) 'This will output 0
+#/end
+
+#ref SetActorSolid
diff --git a/doc/bu/files/actorisvisible.txt b/doc/bu/files/actorisvisible.txt
new file mode 100644
index 0000000..3b85c29
--- /dev/null
+++ b/doc/bu/files/actorisvisible.txt
@@ -0,0 +1,13 @@
+#title ActorIsVisible [RCBasic Doc]
+#header function ActorIsVisible( actor )
+
+Returns true if an actor is visible
+
+#code
+SetActorVisible(actor, true)
+Print "Actor solid state: "; ActorIsVisible(actor) 'Outputs 1
+SetActorSolid(actor, false)
+Print "Actor solid state: "; ActorIsSolid(actor) 'Outputs 0
+#/code
+
+#ref SetActorVisible
diff --git a/doc/bu/files/addactorshadow.txt b/doc/bu/files/addactorshadow.txt
new file mode 100644
index 0000000..4680595
--- /dev/null
+++ b/doc/bu/files/addactorshadow.txt
@@ -0,0 +1,9 @@
+#title AddActorShadow [RCBasic Doc]
+#header sub AddActorShadow( actor )
+
+Cast a shadow on an actor during lighting calculations
+
+Note: Also check the section on lights for more info
+
+
+#ref RemoveActorShadow
diff --git a/doc/bu/files/addmatrix.txt b/doc/bu/files/addmatrix.txt
new file mode 100644
index 0000000..dd6365e
--- /dev/null
+++ b/doc/bu/files/addmatrix.txt
@@ -0,0 +1,4 @@
+#title AddMatrix [RCBasic Doc]
+#header function AddMatrix(mA, mB, mC)
+
+Adds matrix mA to matrix mB and stores the results in mC
diff --git a/doc/bu/files/addmeshbuffer.txt b/doc/bu/files/addmeshbuffer.txt
new file mode 100644
index 0000000..c9f8296
--- /dev/null
+++ b/doc/bu/files/addmeshbuffer.txt
@@ -0,0 +1,6 @@
+#title AddMeshBuffer [RCBasic Doc]
+#header sub AddMeshBuffer( mesh, vertex_count, ByRef vertex_data, ByRef normal_data, ByRef uv_data, index_count, ByRef index_data )
+
+Sets the vertices, normals, and texture coordinates for a mesh
+
+#ref CreateMesh
diff --git a/doc/bu/files/addsceneskybox.txt b/doc/bu/files/addsceneskybox.txt
new file mode 100644
index 0000000..dcb6afd
--- /dev/null
+++ b/doc/bu/files/addsceneskybox.txt
@@ -0,0 +1,6 @@
+#title AddSceneSkyBox [RCBasic Doc]
+#header sub AddSceneSkyBox( img_top, img_bottom, img_left, img_right, img_front, img_back)
+
+Generates a skybox based on the provided images.
+
+#ref AddSceneSkyDome AddSceneSkyDomeEx
diff --git a/doc/bu/files/addsceneskydome.txt b/doc/bu/files/addsceneskydome.txt
new file mode 100644
index 0000000..7f29b40
--- /dev/null
+++ b/doc/bu/files/addsceneskydome.txt
@@ -0,0 +1,6 @@
+#title AddSceneSkyDome [RCBasic Doc]
+#header sub AddSceneSkyDome( img )
+
+Adds a sky dome to the scene
+
+#ref AddSceneSkyDomeEx
diff --git a/doc/bu/files/addsceneskydomeex.txt b/doc/bu/files/addsceneskydomeex.txt
new file mode 100644
index 0000000..170e06c
--- /dev/null
+++ b/doc/bu/files/addsceneskydomeex.txt
@@ -0,0 +1,15 @@
+#title AddSceneSkyDomeEx [RCBasic Doc]
+#header sub AddSceneSkyDomeEx( img, horiRes, vertRes, txPercentage, spherePercentage, radius)
+
+Adds a sky dome to the scene
+
+#list
+#li img - The texture for the sky dome
+#li horiRes - Number of vertices of a horizontal layer of the sphere.
+#li vertRes - Number of vertices of a vertical layer of the sphere.
+#li txPercentage - How much of the height of the texture is used. Should be between 0 and 1.
+#li spherePercentage - How much of the sphere is drawn. Value should be between 0 and 2, where 1 is an exact half-sphere and 2 is a full sphere.
+#li radius - The Radius of the sphere
+#/list
+
+#ref AddSceneSkyBox AddSceneSkyDome
diff --git a/doc/bu/files/adjointmatrix.txt b/doc/bu/files/adjointmatrix.txt
new file mode 100644
index 0000000..1291a51
--- /dev/null
+++ b/doc/bu/files/adjointmatrix.txt
@@ -0,0 +1,4 @@
+#title AdjointMatrix [RCBasic Doc]
+#header function AdjointMatrix(mA, mB)
+
+Stores the adjoint matrix of mA in mB
diff --git a/doc/bu/files/andbit.txt b/doc/bu/files/andbit.txt
new file mode 100644
index 0000000..bd9085d
--- /dev/null
+++ b/doc/bu/files/andbit.txt
@@ -0,0 +1,4 @@
+#title AndBit [RCBasic Doc]
+#header function AndBit(a,b)
+
+Returns the bitwise AND operation of 2 numbers
diff --git a/doc/bu/files/android_getexternalstoragepath.txt b/doc/bu/files/android_getexternalstoragepath.txt
new file mode 100644
index 0000000..7ea51de
--- /dev/null
+++ b/doc/bu/files/android_getexternalstoragepath.txt
@@ -0,0 +1,6 @@
+#title Android_GetExternalStoragePath$ [RCBasic Doc]
+#header function Android_GetExternalStoragePath$()
+
+Returns the designated external storage path
+
+#ref Android_GetExternalStorageState Android_GetInternalStoragePath$
diff --git a/doc/bu/files/android_getexternalstoragestate.txt b/doc/bu/files/android_getexternalstoragestate.txt
new file mode 100644
index 0000000..2b31fa4
--- /dev/null
+++ b/doc/bu/files/android_getexternalstoragestate.txt
@@ -0,0 +1,16 @@
+#title Android_GetExternalStorageState [RCBasic Doc]
+#header function Android_GetExternalStorageState()
+
+Returns a bitmask of these values:
+#list
+#li ANDROID_EXTERNAL_STORAGE_READ
+#li ANDROID_EXTERNAL_STORAGE_WRITE
+#/list
+
+#code
+If AndBit( Android_GetExternalStorageState(), ANDROID_EXTERNAL_STORAGE_READ ) Then
+ Print "Can read from external storage"
+End If
+#/code
+
+#ref Android_GetExternalStoragePath$ Android_GetInternalStoragePath$
diff --git a/doc/bu/files/android_getinternalstoragepath.txt b/doc/bu/files/android_getinternalstoragepath.txt
new file mode 100644
index 0000000..abeb531
--- /dev/null
+++ b/doc/bu/files/android_getinternalstoragepath.txt
@@ -0,0 +1,6 @@
+#title Android_GetInternalStoragePath$ [RCBasic Doc]
+#header function Android_GetInternalStoragePath$()
+
+Returns the internal storage path
+
+#ref Android_GetExternalStorageState Android_GetExternalStoragePath$
diff --git a/doc/bu/files/android_jni_message.txt b/doc/bu/files/android_jni_message.txt
new file mode 100644
index 0000000..f44ab82
--- /dev/null
+++ b/doc/bu/files/android_jni_message.txt
@@ -0,0 +1,6 @@
+#title Android_JNI_Message$ [RCBasic Doc]
+#header function Android_JNI_Message$(arg$)
+
+Passes arg$ to the rcbasic_android_interface() method in the java code for your android app. The java method returns a string.
+
+#ref Runtime_Utility_Message$
diff --git a/doc/bu/files/applyactorcentralforcelocal.txt b/doc/bu/files/applyactorcentralforcelocal.txt
new file mode 100644
index 0000000..94abf73
--- /dev/null
+++ b/doc/bu/files/applyactorcentralforcelocal.txt
@@ -0,0 +1,10 @@
+#title ApplyActorCentralForceLocal [RCBasic Doc]
+#header sub ApplyActorCentralForceLocal( actor, x, y, z)
+
+Applies a force to the center of mass of an actor in local coordinate space. This force impacts the linear velocity of the object without affecting its rotation.
+
+#list
+#li x,y,z - direction of the force
+#/list
+
+#ref ApplyActorCentralForceWorld ApplyActorCentralImpulseLocal ApplyActorCentralImpulseWorld
diff --git a/doc/bu/files/applyactorcentralforceworld.txt b/doc/bu/files/applyactorcentralforceworld.txt
new file mode 100644
index 0000000..30d917a
--- /dev/null
+++ b/doc/bu/files/applyactorcentralforceworld.txt
@@ -0,0 +1,10 @@
+#title ApplyActorCentralForceWorld [RCBasic Doc]
+#header sub ApplyActorCentralForceWorld( actor, x, y, z)
+
+Applies a force to the center of mass of an actor in world coordinate space. This force impacts the linear velocity of the object without affecting its rotation.
+
+#list
+#li x,y,z - direction of the force
+#/list
+
+#ref ApplyActorCentralForceLocal ApplyActorCentralImpulseLocal ApplyActorCentralImpulseWorld
diff --git a/doc/bu/files/applyactorcentralimpulselocal.txt b/doc/bu/files/applyactorcentralimpulselocal.txt
new file mode 100644
index 0000000..8c992f1
--- /dev/null
+++ b/doc/bu/files/applyactorcentralimpulselocal.txt
@@ -0,0 +1,10 @@
+#title ApplyActorCentralImpulseLocal [RCBasic Doc]
+#header sub ApplyActorCentralImpulseLocal( actor, x, y, z)
+
+Applies an impulse directly to the center of mass of an actor. An impulse differs from a continuous force in that it applies an immediate, short-duration change to the velocity of the actor. It affects the linear velocity but does not generate rotational effects (since it's applied to the center of mass).
+
+#list
+#li x,y,z - direction of the impulse
+#/list
+
+#ref ApplyActorCentralForceLocal ApplyActorCentralForceWorld ApplyActorCentralImpulseWorld
diff --git a/doc/bu/files/applyactorcentralimpulseworld.txt b/doc/bu/files/applyactorcentralimpulseworld.txt
new file mode 100644
index 0000000..388714d
--- /dev/null
+++ b/doc/bu/files/applyactorcentralimpulseworld.txt
@@ -0,0 +1,11 @@
+#title ApplyActorCentralImpulseWorld [RCBasic Doc]
+#header sub ApplyActorCentralImpulseWorld( actor, x, y, z)
+
+Applies an impulse directly to the center of mass of an actor. An impulse differs from a continuous force in that it applies an immediate, short-duration change to the velocity of the actor. It affects the linear velocity but does not generate rotational effects (since it's applied to the center of mass).
+
+#list
+#li x,y,z - direction of the impulse
+#/list
+
+#ref ApplyActorCentralForceLocal ApplyActorCentralForceWorld ApplyActorCentralImpulseLocal
+
diff --git a/doc/bu/files/applyactordamping.txt b/doc/bu/files/applyactordamping.txt
new file mode 100644
index 0000000..525881c
--- /dev/null
+++ b/doc/bu/files/applyactordamping.txt
@@ -0,0 +1,22 @@
+#title ApplyActorDamping [RCBasic Doc]
+#header sub ApplyActorDamping( actor, timeStep)
+
+Reduces the velocity of an actor over time, simulating the effect of friction or air resistance.
+
+This function applies the linear and angular damping values set with the SetActorDamping() function.
+
+#code
+init_damping = False
+SetActorDamping(actor, 0.1, 0.5)
+ApplyActorCentralImpulse(actor, 300, 0, 0)
+
+While True
+ If Not init_damping Then
+ ApplyActorDamping(actor, 5.0) 'Will apply the damping effect for 5 seconds
+ init_damping = True
+ End If
+ Update()
+Wend
+#/code
+
+#ref setActorDamping getActorLinearDamping getActorAngularDamping
diff --git a/doc/bu/files/applyactorforcelocal.txt b/doc/bu/files/applyactorforcelocal.txt
new file mode 100644
index 0000000..a7e104f
--- /dev/null
+++ b/doc/bu/files/applyactorforcelocal.txt
@@ -0,0 +1,11 @@
+#title ApplyActorForceLocal [RCBasic Doc]
+#header sub ApplyActorForceLocal( actor, x, y, z, rel_x, rel_y, rel_z)
+
+Applies a force to an actor at a specific point. Unlike ApplyActorCentralForce(local/world), which applies force only at the center of mass (affecting linear velocity), this can generate both linear motion and rotation (torque), depending on where the force is applied relative to the center of mass.
+
+#list
+#li x,y,z - direction of the force
+#li rel_x, rel_y, rel_z - position to apply the force to relative to the center of mass
+#/list
+
+#ref ApplyActorForceWorld ApplyActorCentralForceLocal ApplyActorCentralForceWorld
diff --git a/doc/bu/files/applyactorforceworld.txt b/doc/bu/files/applyactorforceworld.txt
new file mode 100644
index 0000000..65462be
--- /dev/null
+++ b/doc/bu/files/applyactorforceworld.txt
@@ -0,0 +1,11 @@
+#title ApplyActorForceWorld [RCBasic Doc]
+#header sub ApplyActorForceWorld( actor, x, y, z, rel_x, rel_y, rel_z)
+
+Applies a force to an actor at a specific point. Unlike ApplyActorCentralForce(local/world), which applies force only at the center of mass (affecting linear velocity), this can generate both linear motion and rotation (torque), depending on where the force is applied relative to the center of mass.
+
+#list
+#li x,y,z - direction of the force
+#li rel_x, rel_y, rel_z - position to apply the force to relative to the center of mass
+#/list
+
+#ref ApplyActorForceLocal ApplyActorCentralForceLocal ApplyActorCentralForceWorld
diff --git a/doc/bu/files/applyactorimpulselocal.txt b/doc/bu/files/applyactorimpulselocal.txt
new file mode 100644
index 0000000..03e8898
--- /dev/null
+++ b/doc/bu/files/applyactorimpulselocal.txt
@@ -0,0 +1,12 @@
+#title ApplyActorImpulseLocal [RCBasic Doc]
+#header sub ApplyActorImpulseLocal( actor, x, y, z, rel_x, rel_y, rel_z)
+
+Applies an impulse to an actor at a specific point. Unlike ApplyActorCentralImpulse(local/world), which applies impulse only at the center of mass (affecting linear velocity), this can generate both linear motion and rotation (torque), depending on where the force is applied relative to the center of mass.
+
+#list
+#li x,y,z - direction of the impulse
+#li rel_x, rel_y, rel_z - position to apply the force to relative to the center of mass
+#/list
+
+#ref ApplyActorImpulseWorld ApplyActorForceLocal ApplyActorForceWorld
+
diff --git a/doc/bu/files/applyactorimpulseworld.txt b/doc/bu/files/applyactorimpulseworld.txt
new file mode 100644
index 0000000..8ab74b3
--- /dev/null
+++ b/doc/bu/files/applyactorimpulseworld.txt
@@ -0,0 +1,11 @@
+#title applyActorImpulseWorld [RCBasic Doc]
+#header sub applyActorImpulseWorld( actor, x, y, z, rel_x, rel_y, rel_z)
+
+Applies an impulse to an actor at a specific point. Unlike ApplyActorCentralImpulse(local/world), which applies impulse only at the center of mass (affecting linear velocity), this can generate both linear motion and rotation (torque), depending on where the force is applied relative to the center of mass.
+
+#list
+#li x,y,z - direction of the impulse
+#li rel_x, rel_y, rel_z - position to apply the force to relative to the center of mass
+#/list
+
+#ref ApplyActorImpulseLocal ApplyActorForceLocal ApplyActorForceWorld
diff --git a/doc/bu/files/applyactortorqueimpulselocal.txt b/doc/bu/files/applyactortorqueimpulselocal.txt
new file mode 100644
index 0000000..819c097
--- /dev/null
+++ b/doc/bu/files/applyactortorqueimpulselocal.txt
@@ -0,0 +1,10 @@
+#title applyActorTorqueImpulseLocal [RCBasic Doc]
+#header sub applyActorTorqueImpulseLocal( actor, x, y, z)
+
+Applies an impulse that directly affects the angular velocity of an actor, causing it to rotate. This is similar to applying an impulse, but instead of changing the linear velocity (which applyActorCentralImpulse does), it alters the body's rotational motion (angular velocity) instantaneously.
+
+#list ul
+#li x, y, z - Direction of rotation
+#/list
+
+#ref ApplyActorTorque ApplyActorTorqueImpulseWorld
diff --git a/doc/bu/files/applyactortorqueimpulseworld.txt b/doc/bu/files/applyactortorqueimpulseworld.txt
new file mode 100644
index 0000000..d6d4ede
--- /dev/null
+++ b/doc/bu/files/applyactortorqueimpulseworld.txt
@@ -0,0 +1,10 @@
+#title applyActorTorqueImpulseWorld [RCBasic Doc]
+#header sub applyActorTorqueImpulseWorld( actor, x, y, z)
+
+Applies an impulse that directly affects the angular velocity of an actor, causing it to rotate. This is similar to applying an impulse, but instead of changing the linear velocity (which applyActorCentralImpulse does), it alters the body's rotational motion (angular velocity) instantaneously.
+
+#list ul
+#li x, y, z - Direction of rotation
+#/list
+
+#ref ApplyActorTorque ApplyActorTorqueImpulseLocal
diff --git a/doc/bu/files/applyactortorquelocal.txt b/doc/bu/files/applyactortorquelocal.txt
new file mode 100644
index 0000000..c931a18
--- /dev/null
+++ b/doc/bu/files/applyactortorquelocal.txt
@@ -0,0 +1,10 @@
+#title applyActorTorqueLocal [RCBasic Doc]
+#header sub applyActorTorqueLocal( actor, x, y, z)
+
+Applies a continuous torque to an actor, causing it to accelerate its rotational motion over time. Unlike applyActorTorqueImpulse, which causes an immediate change in angular velocity, this applies a torque force gradually, leading to a continuous rotational effect, similar to applying a force to linear motion.
+
+#list
+#li x, y, z - direction of rotation
+#/list
+
+#ref ApplyActorTorqueWorld ApplyActorTorqueImpulseLocal ApplyActorTorqueImpulseWorld
diff --git a/doc/bu/files/applyactortorqueworld.txt b/doc/bu/files/applyactortorqueworld.txt
new file mode 100644
index 0000000..5dd6b8c
--- /dev/null
+++ b/doc/bu/files/applyactortorqueworld.txt
@@ -0,0 +1,11 @@
+#title applyActorTorqueWorld [RCBasic Doc]
+#header sub applyActorTorqueWorld( actor, x, y, z)
+
+Applies a continuous torque to an actor, causing it to accelerate its rotational motion over time. Unlike applyActorTorqueImpulse, which causes an immediate change in angular velocity, this applies a torque force gradually, leading to a continuous rotational effect, similar to applying a force to linear motion.
+
+#list
+#li x, y, z - direction of rotation
+#/list
+
+#ref ApplyActorTorqueLocal ApplyActorTorqueImpulseLocal ApplyActorTorqueImpulseWorld
+
diff --git a/doc/bu/files/arraycopy.txt b/doc/bu/files/arraycopy.txt
new file mode 100644
index 0000000..9e28c4a
--- /dev/null
+++ b/doc/bu/files/arraycopy.txt
@@ -0,0 +1,8 @@
+#title ArrayCopy [RCBasic Doc]
+#header sub ArrayCopy(ByRef src, ByRef dst)
+
+Copies the contents of src array to dst array
+
+Note: This function is a special case in that it can take any type for src or dst
+
+#ref ArrayDim ArraySize ArrayFill
diff --git a/doc/bu/files/arraydim.txt b/doc/bu/files/arraydim.txt
new file mode 100644
index 0000000..4cba66b
--- /dev/null
+++ b/doc/bu/files/arraydim.txt
@@ -0,0 +1,6 @@
+#title ArrayDim [RCBasic Doc]
+#header function ArrayDim(Byref id)
+
+Returns the number of dimensions in an array
+
+#ref ArrayCopy ArrayFill ArraySize
diff --git a/doc/bu/files/arrayfill.txt b/doc/bu/files/arrayfill.txt
new file mode 100644
index 0000000..254fd76
--- /dev/null
+++ b/doc/bu/files/arrayfill.txt
@@ -0,0 +1,6 @@
+#title ArrayFill [RCBasic Doc]
+#header sub ArrayFill(ByRef src, fdata)
+
+Fills all the elements in an array with the value in fdata
+
+#ref ArrayCopy ArrayDim ArraySize
diff --git a/doc/bu/files/arraysize.txt b/doc/bu/files/arraysize.txt
new file mode 100644
index 0000000..d4ca82d
--- /dev/null
+++ b/doc/bu/files/arraysize.txt
@@ -0,0 +1,6 @@
+#title ArraySize [RCBasic Doc]
+#header function ArraySize(Byref id, array_dim)
+
+Returns the number of elements in the given dimension of an array
+
+#ref ArrayDim ArrayCopy ArrayFill
diff --git a/doc/bu/files/asc.txt b/doc/bu/files/asc.txt
new file mode 100644
index 0000000..84a418d
--- /dev/null
+++ b/doc/bu/files/asc.txt
@@ -0,0 +1,4 @@
+#title Asc [RCBasic Doc]
+#header function Asc(c$)
+
+Returns the ASCII value of a character.
diff --git a/doc/bu/files/asin.txt b/doc/bu/files/asin.txt
new file mode 100644
index 0000000..fb1fe18
--- /dev/null
+++ b/doc/bu/files/asin.txt
@@ -0,0 +1,4 @@
+#title Asin [RCBasic Doc]
+#header function Asin(n)
+
+Returns the ArcSine of a number.
diff --git a/doc/bu/files/atan.txt b/doc/bu/files/atan.txt
new file mode 100644
index 0000000..d1761ed
--- /dev/null
+++ b/doc/bu/files/atan.txt
@@ -0,0 +1,4 @@
+#title Atan [RCBasic Doc]
+#header function Atan(n)
+
+Returns the ArcTangent of a number.
diff --git a/doc/bu/files/atan2.txt b/doc/bu/files/atan2.txt
new file mode 100644
index 0000000..fd37713
--- /dev/null
+++ b/doc/bu/files/atan2.txt
@@ -0,0 +1,4 @@
+#title ATan2 [RCBasic Doc]
+#header Function ATan2(y, x)
+
+Returns the ArcTangent of x and y
diff --git a/doc/bu/files/augmentmatrix.txt b/doc/bu/files/augmentmatrix.txt
new file mode 100644
index 0000000..2a0e4c5
--- /dev/null
+++ b/doc/bu/files/augmentmatrix.txt
@@ -0,0 +1,6 @@
+#title AugmentMatrix [RCBasic Doc]
+#header function AugmentMatrix(mA, mB, mC)
+
+Appends the columns of matrix mB onto matrix mA and stores the result in mC.
+
+NOTE: Must mA and mB must be the same number of rows.
diff --git a/doc/bu/files/bin.txt b/doc/bu/files/bin.txt
new file mode 100644
index 0000000..7b40444
--- /dev/null
+++ b/doc/bu/files/bin.txt
@@ -0,0 +1,4 @@
+#title Bin$ [RCBasic Doc]
+#header function Bin$(n)
+
+Returns the binary representation of a number.
diff --git a/doc/files/getimagebuffer.txt b/doc/bu/files/bufferfromimage.txt
similarity index 57%
rename from doc/files/getimagebuffer.txt
rename to doc/bu/files/bufferfromimage.txt
index 89f0571..02a4cd2 100644
--- a/doc/files/getimagebuffer.txt
+++ b/doc/bu/files/bufferfromimage.txt
@@ -1,4 +1,4 @@
-#title getImageBuffer [RCBasic Doc]
+#title BufferFromImage [RCBasic Doc]
#header sub BufferFromImage(slot, byref buffer)
diff --git a/doc/bu/files/bufferfrommatrix.txt b/doc/bu/files/bufferfrommatrix.txt
new file mode 100644
index 0000000..fbadd93
--- /dev/null
+++ b/doc/bu/files/bufferfrommatrix.txt
@@ -0,0 +1,8 @@
+#title BufferFromMatrix [RCBasic Doc]
+#header sub BufferFromMatrix(ByRef buffer, mA)
+
+Saves the matrix mA in an array
+
+NOTE: buffer must have the same number of dimensions as the desired matrix for the structure to remain intact.
+
+#ref MatrixFromBuffer
diff --git a/doc/bu/files/bufferfromstring.txt b/doc/bu/files/bufferfromstring.txt
new file mode 100644
index 0000000..f249035
--- /dev/null
+++ b/doc/bu/files/bufferfromstring.txt
@@ -0,0 +1,6 @@
+#title BufferFromString [RCBasic Doc]
+#header function BufferFromString(s$, ByRef buffer)
+
+Stores the byte value of a string into a number buffer
+
+#ref StringFromBuffer$
diff --git a/doc/bu/files/canvas.txt b/doc/bu/files/canvas.txt
new file mode 100644
index 0000000..49cd21d
--- /dev/null
+++ b/doc/bu/files/canvas.txt
@@ -0,0 +1,6 @@
+#title Canvas [RCBasic Doc]
+#header sub Canvas(c_num)
+
+Sets the active canvas for drawing commands to use
+
+#ref ActiveCanvas
diff --git a/doc/bu/files/canvasclip.txt b/doc/bu/files/canvasclip.txt
new file mode 100644
index 0000000..7391245
--- /dev/null
+++ b/doc/bu/files/canvasclip.txt
@@ -0,0 +1,6 @@
+#title CanvasClip [RCBasic Doc]
+#header function CanvasClip(x, y, w, h)
+
+Returns an image id with a selected portion of the active drawing canvas saved
+
+#ref WindowClip
diff --git a/doc/bu/files/canvasisvisible.txt b/doc/bu/files/canvasisvisible.txt
new file mode 100644
index 0000000..8e4c4e4
--- /dev/null
+++ b/doc/bu/files/canvasisvisible.txt
@@ -0,0 +1,6 @@
+#title CanvasIsVisible [RCBasic Doc]
+#header function CanvasIsVisible(c_num)
+
+Returns true if a canvas is shown in the Window
+
+#ref SetCanvasVisible
diff --git a/doc/bu/files/changedir.txt b/doc/bu/files/changedir.txt
new file mode 100644
index 0000000..4b894a5
--- /dev/null
+++ b/doc/bu/files/changedir.txt
@@ -0,0 +1,4 @@
+#title ChangeDir [RCBasic Doc]
+#header sub ChangeDir(p$)
+
+Sets the working directory that the directory commands use
diff --git a/doc/bu/files/channelispaused.txt b/doc/bu/files/channelispaused.txt
new file mode 100644
index 0000000..39ea742
--- /dev/null
+++ b/doc/bu/files/channelispaused.txt
@@ -0,0 +1,6 @@
+#title ChannelIsPaused [RCBasic Doc]
+#header function ChannelIsPaused(channel)
+
+Returns true if an audio channel is currently paused
+
+#ref PauseSound
diff --git a/doc/bu/files/channelisplaying.txt b/doc/bu/files/channelisplaying.txt
new file mode 100644
index 0000000..73fdfc7
--- /dev/null
+++ b/doc/bu/files/channelisplaying.txt
@@ -0,0 +1,6 @@
+#title ChannelIsPlaying [RCBasic Doc]
+#header function ChannelIsPlaying(channel)
+
+Returns true if an audio channel is playing
+
+#ref ChannelIsPaused PlaySound PlaySoundTimed
diff --git a/doc/bu/files/checksockets.txt b/doc/bu/files/checksockets.txt
new file mode 100644
index 0000000..efdfd03
--- /dev/null
+++ b/doc/bu/files/checksockets.txt
@@ -0,0 +1,7 @@
+#title CheckSockets [RCBasic Doc]
+#header function CheckSockets(timeout_ms)
+
+Checks all connected sockets for activity. If timeout_ms is greater than 0 than it will wait that many milliseconds. If less than 0
+it will wait for over 49 days (hint: there is no reason what so ever to set this less than 0).
+
+Returns the number of sockets that have activity (ie. a connection was made or data was sent)
diff --git a/doc/bu/files/chr.txt b/doc/bu/files/chr.txt
new file mode 100644
index 0000000..81ec84c
--- /dev/null
+++ b/doc/bu/files/chr.txt
@@ -0,0 +1,4 @@
+#title Chr$ [RCBasic Doc]
+#header function Chr$(n)
+
+Returns the character with the matching ASCII value n.
diff --git a/doc/bu/files/cint32.txt b/doc/bu/files/cint32.txt
new file mode 100644
index 0000000..f70a19b
--- /dev/null
+++ b/doc/bu/files/cint32.txt
@@ -0,0 +1,4 @@
+#title CInt32 [RCBasic Doc]
+#header function CInt32(i)
+
+Returns a 32-bit signed integer.
diff --git a/doc/bu/files/cint64.txt b/doc/bu/files/cint64.txt
new file mode 100644
index 0000000..63e5915
--- /dev/null
+++ b/doc/bu/files/cint64.txt
@@ -0,0 +1,4 @@
+#title CInt64 [RCBasic Doc]
+#header function CInt64(i)
+
+Returns a 64-bit signed integer.
diff --git a/doc/bu/files/circle.txt b/doc/bu/files/circle.txt
new file mode 100644
index 0000000..65abcfe
--- /dev/null
+++ b/doc/bu/files/circle.txt
@@ -0,0 +1,4 @@
+#title Circle [RCBasic Doc]
+#header sub Circle(x,y,radius)
+
+Draws a circle on the current canvas.
diff --git a/doc/bu/files/circlefill.txt b/doc/bu/files/circlefill.txt
new file mode 100644
index 0000000..88e6ff3
--- /dev/null
+++ b/doc/bu/files/circlefill.txt
@@ -0,0 +1,4 @@
+#title CircleFill [RCBasic Doc]
+#header sub CircleFill(x,y,radius)
+
+Draws a filled circle on the current canvas.
diff --git a/doc/bu/files/clearactorforces.txt b/doc/bu/files/clearactorforces.txt
new file mode 100644
index 0000000..cbfeb71
--- /dev/null
+++ b/doc/bu/files/clearactorforces.txt
@@ -0,0 +1,11 @@
+#title clearActorForces [RCBasic Doc]
+#header sub clearActorForces( actor)
+
+Resets or clears all the forces and torques that have been applied to a rigid body in the current simulation step. This ensures that any forces, including linear forces and torques, do not accumulate from one simulation step to the next.
+
+Notes:
+#list
+#li Resets Forces: It removes all linear forces (like those applied by applyActorForce or applyActorCentralForce) and torques (like those applied by applyActorTorque).
+#li Does Not Affect Velocity: It clears only the applied forces and torques, but the current velocity (linear and angular) of the actor remains unchanged.
+#li Typically Used in Each Simulation Step: Used to reset forces after each step, so that only new forces applied in the next step will affect the body.
+#/list
diff --git a/doc/bu/files/clearcanvas.txt b/doc/bu/files/clearcanvas.txt
new file mode 100644
index 0000000..e952865
--- /dev/null
+++ b/doc/bu/files/clearcanvas.txt
@@ -0,0 +1,4 @@
+#title ClearCanvas [RCBasic Doc]
+#header sub ClearCanvas()
+
+Clears the active drawing canvas
diff --git a/doc/bu/files/clearmatrix.txt b/doc/bu/files/clearmatrix.txt
new file mode 100644
index 0000000..53b23d6
--- /dev/null
+++ b/doc/bu/files/clearmatrix.txt
@@ -0,0 +1,4 @@
+#title ClearMatrix [RCBasic Doc]
+#header sub ClearMatrix(mA)
+
+Sets all elements in a matrix to zero
diff --git a/doc/bu/files/clearmatrixcolumns.txt b/doc/bu/files/clearmatrixcolumns.txt
new file mode 100644
index 0000000..4cae668
--- /dev/null
+++ b/doc/bu/files/clearmatrixcolumns.txt
@@ -0,0 +1,6 @@
+#title ClearMatrixColumns [RCBasic Doc]
+#header function ClearMatrixColumns(mA, c, num_cols)
+
+Sets all elements in the matrix columns specified to zero.
+
+#ref ClearMatrix ClearMatrixRows
diff --git a/doc/bu/files/clearmatrixrows.txt b/doc/bu/files/clearmatrixrows.txt
new file mode 100644
index 0000000..cc1d416
--- /dev/null
+++ b/doc/bu/files/clearmatrixrows.txt
@@ -0,0 +1,6 @@
+#title ClearMatrixRows [RCBasic Doc]
+#header function ClearMatrixRows(mA, r, num_rows)
+
+Sets all elements in the matrix rows specified to zero.
+
+#ref ClearMatrix ClearMatrixColumns
diff --git a/doc/bu/files/clearmousezone.txt b/doc/bu/files/clearmousezone.txt
new file mode 100644
index 0000000..953683a
--- /dev/null
+++ b/doc/bu/files/clearmousezone.txt
@@ -0,0 +1,4 @@
+#title ClearMouseZone [RCBasic Doc]
+#header sub ClearMouseZone()
+
+Removes the previously set mouse zone from the window
diff --git a/doc/bu/files/clearstack_n.txt b/doc/bu/files/clearstack_n.txt
new file mode 100644
index 0000000..60dc4dc
--- /dev/null
+++ b/doc/bu/files/clearstack_n.txt
@@ -0,0 +1,6 @@
+#title ClearStack_N [RCBasic Doc]
+#header sub ClearStack_N( num_stack )
+
+Removes all elements from the stack
+
+#ref ClearStack_S
diff --git a/doc/bu/files/clearstack_s.txt b/doc/bu/files/clearstack_s.txt
new file mode 100644
index 0000000..020ce91
--- /dev/null
+++ b/doc/bu/files/clearstack_s.txt
@@ -0,0 +1,6 @@
+#title ClearStack_S [RCBasic Doc]
+#header sub ClearStack_S( str_stack )
+
+Removes all elements from the stack
+
+#ref ClearStack_N
diff --git a/doc/bu/files/clipmatrix.txt b/doc/bu/files/clipmatrix.txt
new file mode 100644
index 0000000..001e5c2
--- /dev/null
+++ b/doc/bu/files/clipmatrix.txt
@@ -0,0 +1,4 @@
+#title ClipMatrix [RCBasic Doc]
+#header sub ClipMatrix(mA, r, c, num_rows, num_cols, mB)
+
+Copies the specified portion of matrix mA into matrix mB
diff --git a/doc/bu/files/clonecanvas.txt b/doc/bu/files/clonecanvas.txt
new file mode 100644
index 0000000..8910bca
--- /dev/null
+++ b/doc/bu/files/clonecanvas.txt
@@ -0,0 +1,9 @@
+#title CloneCanvas [RCBasic Doc]
+#header function CloneCanvas(c_num, mode)
+
+Returns a clone of a canvas. Clone canvases are mirrors of the original canvas so when you draw to one it will also be on the other. This is useful for a splitscreen 2d game.
+
+Mode is a canvas render mode like the one passed to OpenCanvas()
+
+
+#ref OpenCanvas
diff --git a/doc/bu/files/closecanvas.txt b/doc/bu/files/closecanvas.txt
new file mode 100644
index 0000000..c78af01
--- /dev/null
+++ b/doc/bu/files/closecanvas.txt
@@ -0,0 +1,6 @@
+#title CloseCanvas [RCBasic Doc]
+#header Sub CloseCanvas(c_num)
+
+Closes a canvas
+
+#ref OpenCanvas
diff --git a/doc/bu/files/closefile.txt b/doc/bu/files/closefile.txt
new file mode 100644
index 0000000..21efc01
--- /dev/null
+++ b/doc/bu/files/closefile.txt
@@ -0,0 +1,6 @@
+#title CloseFile [RCBasic Doc]
+#header sub CloseFile( stream )
+
+Closes a file
+
+#ref OpenFile
diff --git a/doc/bu/files/closewindow.txt b/doc/bu/files/closewindow.txt
new file mode 100644
index 0000000..05c9656
--- /dev/null
+++ b/doc/bu/files/closewindow.txt
@@ -0,0 +1,6 @@
+#title CloseWindow [RCBasic Doc]
+#header sub CloseWindow( )
+
+Closes the graphics window
+
+#ref OpenWindow
diff --git a/doc/bu/files/cls.txt b/doc/bu/files/cls.txt
new file mode 100644
index 0000000..eaedc84
--- /dev/null
+++ b/doc/bu/files/cls.txt
@@ -0,0 +1,4 @@
+#title Cls [RCBasic Doc]
+#header sub Cls()
+
+Clears the back buffer on the window
diff --git a/doc/bu/files/cofactormatrix.txt b/doc/bu/files/cofactormatrix.txt
new file mode 100644
index 0000000..19a1431
--- /dev/null
+++ b/doc/bu/files/cofactormatrix.txt
@@ -0,0 +1,6 @@
+#title CofactorMatrix [RCBasic Doc]
+#header sub CofactorMatrix(mA, r, c)
+
+Sets matrix mA to a cofactor. This will change the original matrix so it is recommended to copy the matrix if you still need the original matrix.
+
+#ref CopyMatrix
diff --git a/doc/bu/files/colorkey.txt b/doc/bu/files/colorkey.txt
new file mode 100644
index 0000000..1d00863
--- /dev/null
+++ b/doc/bu/files/colorkey.txt
@@ -0,0 +1,4 @@
+#title ColorKey [RCBasic Doc]
+#header sub ColorKey(img_id, c)
+
+Sets the color key for an image
diff --git a/doc/bu/files/command.txt b/doc/bu/files/command.txt
new file mode 100644
index 0000000..9b71e89
--- /dev/null
+++ b/doc/bu/files/command.txt
@@ -0,0 +1,8 @@
+#title Command$ [RCBasic Doc]
+#header function Command$(arg)
+
+Returns command line arguments passed to a program.
+
+Note: Command$(0) will always be the program being executed ( your_program.cbc )
+
+#ref NumCommands
diff --git a/doc/bu/files/computeactorangularimpulsedenominator.txt b/doc/bu/files/computeactorangularimpulsedenominator.txt
new file mode 100644
index 0000000..1a66853
--- /dev/null
+++ b/doc/bu/files/computeactorangularimpulsedenominator.txt
@@ -0,0 +1,6 @@
+#title ComputeActorAngularImpulseDenominator [RCBasic Doc]
+#header function ComputeActorAngularImpulseDenominator( actor, x, y, z)
+
+Computes a scalar value that represents how an actor will respond to an angular impulse at a given point, taking into account the actor's inertia tensor (which governs how the object resists rotation). This function is particularly useful in calculating the actor's rotational response to an impulse, typically during collision resolution or constraints involving rotation.
+
+#ref ComputeActorImpulseDenominator
diff --git a/doc/bu/files/computeactorgyroimpulselocal.txt b/doc/bu/files/computeactorgyroimpulselocal.txt
new file mode 100644
index 0000000..4f91f63
--- /dev/null
+++ b/doc/bu/files/computeactorgyroimpulselocal.txt
@@ -0,0 +1,6 @@
+#title ComputeActorGyroImpulseLocal [RCBasic Doc]
+#header sub ComputeActorGyroImpulseLocal( actor, dt, ByRef x, ByRef y, ByRef z)
+
+Computes the gyroscopic impulse for an actor in an implicit manner, based on the actor's current angular velocity and inertia. This function is used to simulate the gyroscopic effect—also known as gyroscopic precession—which occurs when a rotating object experiences a torque that causes its axis of rotation to change.
+
+#ref ComputeActorGyroImpulseWorld
diff --git a/doc/bu/files/computeactorgyroimpulseworld.txt b/doc/bu/files/computeactorgyroimpulseworld.txt
new file mode 100644
index 0000000..cb04f05
--- /dev/null
+++ b/doc/bu/files/computeactorgyroimpulseworld.txt
@@ -0,0 +1,6 @@
+#title ComputeActorGyroImpulseWorld [RCBasic Doc]
+#header sub ComputeActorGyroImpulseWorld( actor, dt, ByRef x, ByRef y, ByRef z)
+
+Computes the gyroscopic impulse for an actor in an implicit manner, but in this case, it performs the calculation relative to the world frame of reference, rather than the actor’s local frame. This function is used to handle the gyroscopic effects (i.e., gyroscopic precession) of a rotating object when a torque is applied, affecting its axis of rotation.
+
+#ref ComputeActorGyroImpulseLocal
diff --git a/doc/bu/files/computeactorimpulsedenominator.txt b/doc/bu/files/computeactorimpulsedenominator.txt
new file mode 100644
index 0000000..53250fe
--- /dev/null
+++ b/doc/bu/files/computeactorimpulsedenominator.txt
@@ -0,0 +1,6 @@
+#title ComputeActorImpulseDenominator [RCBasic Doc]
+#header function ComputeActorImpulseDenominator( actor, pos_x, pos_y, pos_z, normal_x, normal_y, normal_z)
+
+Computes a scalar value related to how a rigid body will respond to an applied impulse at a given point. It’s primarily used internally in the physics engine to calculate how an object’s mass, inertia, and shape will affect the outcome of impulses, particularly in collisions or constraints like contact points between objects.
+
+#ref ComputeActorAngularImpulseDenominator
diff --git a/doc/bu/files/copyactormaterial.txt b/doc/bu/files/copyactormaterial.txt
new file mode 100644
index 0000000..6fc5ce6
--- /dev/null
+++ b/doc/bu/files/copyactormaterial.txt
@@ -0,0 +1,4 @@
+#title copyActorMaterial [RCBasic Doc]
+#header function copyActorMaterial( actor, material_num)
+
+Returns a material id for a copy of an actor's material
diff --git a/doc/bu/files/copyfile.txt b/doc/bu/files/copyfile.txt
new file mode 100644
index 0000000..af5b3a4
--- /dev/null
+++ b/doc/bu/files/copyfile.txt
@@ -0,0 +1,4 @@
+#title CopyFile [RCBasic Doc]
+#header sub CopyFile(src$, dst$)
+
+Copies the contents of src$ file to a new dst$ file
diff --git a/doc/bu/files/copyimage.txt b/doc/bu/files/copyimage.txt
new file mode 100644
index 0000000..19d0008
--- /dev/null
+++ b/doc/bu/files/copyimage.txt
@@ -0,0 +1,4 @@
+#title CopyImage [RCBasic Doc]
+#header function CopyImage( img_id )
+
+Returns a copy of an image
diff --git a/doc/bu/files/copymaterial.txt b/doc/bu/files/copymaterial.txt
new file mode 100644
index 0000000..ec68fbe
--- /dev/null
+++ b/doc/bu/files/copymaterial.txt
@@ -0,0 +1,4 @@
+#title copyMaterial [RCBasic Doc]
+#header function copyMaterial( smaterial_id)
+
+Returns a copy of a material
diff --git a/doc/bu/files/copymatrix.txt b/doc/bu/files/copymatrix.txt
new file mode 100644
index 0000000..ffd1295
--- /dev/null
+++ b/doc/bu/files/copymatrix.txt
@@ -0,0 +1,4 @@
+#title CopyMatrix [RCBasic Doc]
+#header sub CopyMatrix(mA, mB)
+
+Copies matrix mA to matrix mB
diff --git a/doc/bu/files/copymatrixcolumns.txt b/doc/bu/files/copymatrixcolumns.txt
new file mode 100644
index 0000000..be6d2d9
--- /dev/null
+++ b/doc/bu/files/copymatrixcolumns.txt
@@ -0,0 +1,6 @@
+#title CopyMatrixColumns [RCBasic Doc]
+#header function CopyMatrixColumns(mA, mB, c, num_cols)
+
+Copies the specified matrix columns from matrix mA to matrix mB.
+
+Note: Matrix mB will be redimensioned to the size of the copied columns.
diff --git a/doc/bu/files/copymatrixrows.txt b/doc/bu/files/copymatrixrows.txt
new file mode 100644
index 0000000..b580326
--- /dev/null
+++ b/doc/bu/files/copymatrixrows.txt
@@ -0,0 +1,7 @@
+#title CopyMatrixRows [RCBasic Doc]
+#header function CopyMatrixRows(mA, mB, r, num_rows)
+
+Copies the specified matrix rows from matrix mA to matrix mB.
+
+Note: Matrix mB will be redimensioned to the size of the copied rows.
+
diff --git a/doc/bu/files/cos.txt b/doc/bu/files/cos.txt
new file mode 100644
index 0000000..5cf7b8d
--- /dev/null
+++ b/doc/bu/files/cos.txt
@@ -0,0 +1,4 @@
+#title Cos [RCBasic Doc]
+#header function Cos(n)
+
+Returns the Cosine of an angle
diff --git a/doc/bu/files/createbillboardactor.txt b/doc/bu/files/createbillboardactor.txt
new file mode 100644
index 0000000..6966c4f
--- /dev/null
+++ b/doc/bu/files/createbillboardactor.txt
@@ -0,0 +1,6 @@
+#title CreateBillboardActor [RCBasic Doc]
+#header function CreateBillboardActor( )
+
+Returns a billboard actor
+
+Billboard actors are flat textured planes that are always facing the camera.
diff --git a/doc/bu/files/createconeconstraint.txt b/doc/bu/files/createconeconstraint.txt
new file mode 100644
index 0000000..4a9c9b7
--- /dev/null
+++ b/doc/bu/files/createconeconstraint.txt
@@ -0,0 +1,19 @@
+#title CreateConeConstraint [RCBasic Doc]
+#header function CreateConeConstraint( actorA, rbAFrame_matrix)
+
+The Cone Constraint is a type of joint constraint used to simulate realistic rotational movement between two actors (or between an actor and the world) with specific angular limits. This constraint is especially useful for simulating ball-and-socket joints with some twisting freedom but restricted cone-like movement, such as human shoulders or robotic arms.
+
+#code
+actorA = CreateCubeActor(100)
+
+rbA = DimMatrix(4, 4) 'A transform matrix should be a 4x4 matrix
+SetIdentityMatrix(rbA, 4) 'This will set rbA to a 4x4 identity matrix
+SetMatrixTranslation(rbA, 0, 40, 0) 'Set the point where the constraint connects to actorA to 1 unit above its origin
+SetMatrixRotation(rbA, 0, 0, 0) 'Sets the angle the constraint is attached at to 0 on all axes
+
+test_cone = CreateConeConstraint( actorA, rbA )
+#/code
+
+Note: It is recommended to use CreateConeConstraintEx() in most cases
+
+#ref CreateConeConstraintEx SetIdentityMatrix SetMatrixTranslation SetMatrixRotation
diff --git a/doc/bu/files/createconeconstraintex.txt b/doc/bu/files/createconeconstraintex.txt
new file mode 100644
index 0000000..f742059
--- /dev/null
+++ b/doc/bu/files/createconeconstraintex.txt
@@ -0,0 +1,23 @@
+#title createConeConstraintEx [RCBasic Doc]
+#header function createConeConstraintEx( actorA, actorB, rbAFrame_matrix, rbBFrame_matrix)
+
+The Cone Constraint is a type of joint constraint used to simulate realistic rotational movement between two actors (or between an actor and the world) with specific angular limits. This constraint is especially useful for simulating ball-and-socket joints with some twisting freedom but restricted cone-like movement, such as human shoulders or robotic arms.
+
+#code
+actorA = CreateCubeActor(100)
+actorB = CreateCubeActor(100)
+
+rbA = DimMatrix(4, 4) 'A transform matrix should be a 4x4 matrix
+SetIdentityMatrix(rbA, 4) 'This will set rbA to a 4x4 identity matrix
+SetMatrixTranslation(rbA, 0, 40, 0) 'Set the point where the constraint connects to actorA to 1 unit above its origin
+SetMatrixRotation(rbA, 0, 0, 0) 'Sets the angle the constraint is attached at to 0 on all axes
+
+rbB = DimMatrix(4, 4) 'A transform matrix should be a 4x4 matrix
+SetIdentityMatrix(rbB, 4) 'This will set rbA to a 4x4 identity matrix
+SetMatrixTranslation(rbB, 0, 40, 0) 'Set the point where the constraint connects to actorA to 1 unit above its origin
+SetMatrixRotation(rbB, 0, 0, 0) 'Sets the angle the constraint is attached at to 0 on all axes
+
+test_cone = CreateConeConstraint( actorA, rbA )
+#/code
+
+#ref CreateConeConstraint SetIdentityMatrix SetMatrixTranslation SetMatrixRotation
diff --git a/doc/bu/files/createcubeactor.txt b/doc/bu/files/createcubeactor.txt
new file mode 100644
index 0000000..921c283
--- /dev/null
+++ b/doc/bu/files/createcubeactor.txt
@@ -0,0 +1,6 @@
+#title CreateCubeActor [RCBasic Doc]
+#header function CreateCubeActor( cube_size )
+
+Returns an actor with a cube mesh of the specified size ( cube_size x cube_size x cube_size )
+
+#ref CreateMeshActor CreateMeshOctreeActor CreateSphereActor CreateWaterPlaneActor CreateLightActor CreateBillboardActor CreateTerrainActor
diff --git a/doc/bu/files/createhingeconstraint.txt b/doc/bu/files/createhingeconstraint.txt
new file mode 100644
index 0000000..0fc595e
--- /dev/null
+++ b/doc/bu/files/createhingeconstraint.txt
@@ -0,0 +1,17 @@
+#title createHingeConstraint [RCBasic Doc]
+#header function createHingeConstraint( actorA, frameA, useReferenceFrameA )
+
+Simulates a hinge joint, which allows two actors (or an actor and the world) to rotate around a single axis while restricting movement along the other axes. This is similar to the way a door swings on its hinges or how an elbow joint functions in the human body.
+
+#code
+actorA = CreateCubeActor(100) 'Creates a cube actor
+frameA = DimMatrix(4, 4) 'A transform matrix must be a 4x4 matrix
+SetIdentityMatrix(frameA, 4) 'Sets frameB to a 4x4 identity matrix
+SetMatrixTranslation(frameA, 0, 1, 0) 'Sets the attach point of the constraint to the top of the cube
+hinge = CreateHingeConstraint(actorA, frameA, true)
+#/code
+
+Note: It is recommended to use CreateSlideConstraintEx() in most cases
+
+#ref CreateHingeConstraintEx SetIdentityMatrix SetMatrixTranslation SetMatrixRotation
+
diff --git a/doc/bu/files/createhingeconstraintex.txt b/doc/bu/files/createhingeconstraintex.txt
new file mode 100644
index 0000000..d68b2e6
--- /dev/null
+++ b/doc/bu/files/createhingeconstraintex.txt
@@ -0,0 +1,23 @@
+#title createHingeConstraintEx [RCBasic Doc]
+#header function createHingeConstraintEx( actorA, actorB, frameA, frameB, useReferenceFrameA)
+
+Simulates a hinge joint, which allows two actors (or an actor and the world) to rotate around a single axis while restricting movement along the other axes. This is similar to the way a door swings on its hinges or how an elbow joint functions in the human body.
+
+#code
+actorA = CreateCubeActor(100) 'Creates a cube actor
+frameA = DimMatrix(4, 4) 'A transform matrix must be a 4x4 matrix
+SetIdentityMatrix(frameA, 4) 'Sets frameB to a 4x4 identity matrix
+SetMatrixTranslation(frameA, 0, 1, 0) 'Sets the attach point of the constraint to the top of the cube
+
+actorB = CreateCubeActor(100) 'Creates a cube actor
+frameB = DimMatrix(4, 4) 'A transform matrix must be a 4x4 matrix
+SetIdentityMatrix(frameB, 4) 'Sets frameB to a 4x4 identity matrix
+SetMatrixTranslation(frameB, 0, 1, 0) 'Sets the attach point of the constraint to the top of the cube
+
+hinge = CreateHingeConstraint(actorA, actorB, frameA, frameB, true)
+#/code
+
+Note: It is recommended to use CreateHingeConstraintEx() in most cases
+
+#ref CreateHingeConstraint SetIdentityMatrix SetMatrixTranslation SetMatrixRotation
+
diff --git a/doc/bu/files/createimage.txt b/doc/bu/files/createimage.txt
new file mode 100644
index 0000000..116ffba
--- /dev/null
+++ b/doc/bu/files/createimage.txt
@@ -0,0 +1,6 @@
+#title CreateImage [RCBasic Doc]
+#header function CreateImage(w, h, byref buffer)
+
+Returns an image created from the buffer provided
+
+#ref CreateImageEx LoadImage
diff --git a/doc/bu/files/createimageex.txt b/doc/bu/files/createimageex.txt
new file mode 100644
index 0000000..11f34fe
--- /dev/null
+++ b/doc/bu/files/createimageex.txt
@@ -0,0 +1,9 @@
+#title createImageEx [RCBasic Doc]
+#header function createImageEx(w, h, byref buffer, color)
+
+Returns an image created from the buffer provided
+
+The color parameter is a color key value to apply
+
+#ref CreateImage LoadImage
+
diff --git a/doc/bu/files/createlightactor.txt b/doc/bu/files/createlightactor.txt
new file mode 100644
index 0000000..c0c24d4
--- /dev/null
+++ b/doc/bu/files/createlightactor.txt
@@ -0,0 +1,6 @@
+#title CreateLightActor [RCBasic Doc]
+#header function CreateLightActor( )
+
+Returns a new light in the scene
+
+#ref CreateMeshActor CreateMeshOctreeActor CreateCubeActor CreateSphereActor CreateWaterPlaneActor CreateBillboardActor CreateTerrainActor
diff --git a/doc/bu/files/creatematerial.txt b/doc/bu/files/creatematerial.txt
new file mode 100644
index 0000000..4cd5875
--- /dev/null
+++ b/doc/bu/files/creatematerial.txt
@@ -0,0 +1,4 @@
+#title createMaterial [RCBasic Doc]
+#header function createMaterial()
+
+Returns a new material
diff --git a/doc/bu/files/createmesh.txt b/doc/bu/files/createmesh.txt
new file mode 100644
index 0000000..3f258eb
--- /dev/null
+++ b/doc/bu/files/createmesh.txt
@@ -0,0 +1,4 @@
+#title CreateMesh [RCBasic Doc]
+#header function CreateMesh( )
+
+Returns a new mesh
diff --git a/doc/bu/files/createmeshactor.txt b/doc/bu/files/createmeshactor.txt
new file mode 100644
index 0000000..a25428d
--- /dev/null
+++ b/doc/bu/files/createmeshactor.txt
@@ -0,0 +1,10 @@
+#title CreateMeshActor [RCBasic Doc]
+#header function CreateMeshActor( mesh )
+
+Returns a new actor composed of a mesh
+
+The mesh can either be created using CreateMesh() or Loaded using LoadMesh()
+
+#ref CreateMesh LoadMesh
+
+#ref CreateMeshOctreeActor CreateCubeActor CreateSphereActor CreateWaterPlaneActor CreateLightActor CreateBillboardActor CreateTerrainActor
diff --git a/doc/bu/files/createmeshoctreeactor.txt b/doc/bu/files/createmeshoctreeactor.txt
new file mode 100644
index 0000000..633ffe8
--- /dev/null
+++ b/doc/bu/files/createmeshoctreeactor.txt
@@ -0,0 +1,8 @@
+#title CreateMeshOctreeActor [RCBasic Doc]
+#header function CreateMeshOctreeActor( mesh )
+
+Returns a mesh actor optimized for large objects (such as levels)
+
+#ref CreateMesh LoadMesh
+
+#ref CreateMeshActor CreateCubeActor CreateSphereActor CreateWaterPlaneActor CreateLightActor CreateBillboardActor CreateTerrainActor
diff --git a/doc/bu/files/createpointconstraint.txt b/doc/bu/files/createpointconstraint.txt
new file mode 100644
index 0000000..b1376a9
--- /dev/null
+++ b/doc/bu/files/createpointconstraint.txt
@@ -0,0 +1,6 @@
+#title createPointConstraint [RCBasic Doc]
+#header function createPointConstraint( actorA, pxA, pyA, pzA)
+
+A type of constraint that allows two actors (or an actor and the world) to move freely relative to each other while ensuring that one point on each body remains coincident. Essentially, it ensures that the two actors stay connected at a single point, but without restricting their relative rotations. This kind of constraint is useful when you need a connection that allows full rotation in all directions, such as a pendulum, ball joint, or even some suspension systems.
+
+#ref CreatePointConstraintEx
diff --git a/doc/bu/files/createpointconstraintex.txt b/doc/bu/files/createpointconstraintex.txt
new file mode 100644
index 0000000..f17b183
--- /dev/null
+++ b/doc/bu/files/createpointconstraintex.txt
@@ -0,0 +1,7 @@
+#title createPointConstraintEx [RCBasic Doc]
+#header function createPointConstraintEx( actorA, actorB, pxA, pyA, pzA, pxB, pyB, pzB)
+
+A type of constraint that allows two actors (or an actor and the world) to move freely relative to each other while ensuring that one point on each body remains coincident. Essentially, it ensures that the two actors stay connected at a single point, but without restricting their relative rotations. This kind of constraint is useful when you need a connection that allows full rotation in all directions, such as a pendulum, ball joint, or even some suspension systems.
+
+#ref CreatePointConstraint
+
diff --git a/doc/bu/files/createslideconstraint.txt b/doc/bu/files/createslideconstraint.txt
new file mode 100644
index 0000000..5063718
--- /dev/null
+++ b/doc/bu/files/createslideconstraint.txt
@@ -0,0 +1,17 @@
+#title createSlideConstraint [RCBasic Doc]
+#header function createSlideConstraint( actorA, frameInB_matrix, useLinearReferenceFrameA)
+
+A type of constraint that restricts the motion between two actors (or between an actor and the world) in such a way that they can slide along a specific axis and rotate around the same axis, while limiting or allowing movement along other axes. This constraint is similar to a prismatic joint with added rotational freedom, making it useful for simulating objects like pistons, sliding doors, or rail systems.
+
+#code
+actorA = CreateCubeActor(100) 'Creates a cube actor
+frameB = DimMatrix(4, 4) 'A transform matrix must be a 4x4 matrix
+SetIdentityMatrix(frameB, 4) 'Sets frameB to a 4x4 identity matrix
+SetMatrixTranslation(frameB, 0, 50, 0) 'Sets the attach point of the constraint to the top of the cube
+SetMatrixRotation(frameB, 0, 90, 0) 'Rotates the constraint axis by 90 degrees around y
+slide = CreateSlideConstraint(actorA, frameB, true)
+#/code
+
+Note: It is recommended to use CreateSlideConstraintEx() in most cases
+
+#ref CreateSlideConstraintEx SetIdentityMatrix SetMatrixTranslation SetMatrixRotation
diff --git a/doc/bu/files/createslideconstraintex.txt b/doc/bu/files/createslideconstraintex.txt
new file mode 100644
index 0000000..9aeeebe
--- /dev/null
+++ b/doc/bu/files/createslideconstraintex.txt
@@ -0,0 +1,24 @@
+#title createSlideConstraintEx [RCBasic Doc]
+#header function createSlideConstraintEx( actorA, actorB, frameInA_matrix, frameInB_matrix, useLinearReferenceFrameA)
+
+A type of constraint that restricts the motion between two actors (or between an actor and the world) in such a way that they can slide along a specific axis and rotate around the same axis, while limiting or allowing movement along other axes. This constraint is similar to a prismatic joint with added rotational freedom, making it useful for simulating objects like pistons, sliding doors, or rail systems.
+
+#code
+actorA = CreateCubeActor(100) 'Creates a cube actor
+frameA = DimMatrix(4, 4) 'A transform matrix must be a 4x4 matrix
+SetIdentityMatrix(frameA, 4) 'Sets frameB to a 4x4 identity matrix
+SetMatrixTranslation(frameA, 0, 0, 0) 'Sets the attach point of the constraint to center of the cube
+SetMatrixRotation(frameA, 0, 90, 0) 'Rotates the constraint axis by 90 degrees around y
+
+actorB = CreateCubeActor(100) 'Creates a cube actor
+frameB = DimMatrix(4, 4) 'A transform matrix must be a 4x4 matrix
+SetIdentityMatrix(frameB, 4) 'Sets frameB to a 4x4 identity matrix
+SetMatrixTranslation(frameB, 0, 50, 0) 'Sets the attach point of the constraint to the top of the cube
+SetMatrixRotation(frameB, 0, 90, 0) 'Rotates the constraint axis by 90 degrees around y
+slide = CreateSlideConstraintEx(actorA, actorB, frameA, frameB, true)
+#/code
+
+Note: It is recommended to use CreateSlideConstraintEx() in most cases
+
+#ref CreateSlideConstraint SetIdentityMatrix SetMatrixTranslation SetMatrixRotation
+
diff --git a/doc/bu/files/createsound.txt b/doc/bu/files/createsound.txt
new file mode 100644
index 0000000..f5fc41c
--- /dev/null
+++ b/doc/bu/files/createsound.txt
@@ -0,0 +1,4 @@
+#title CreateSound [RCBasic Doc]
+#header function CreateSound(byref buffer, buffer_size, vol)
+
+Returns a new sound from a buffer of raw audio data
diff --git a/doc/bu/files/createsphereactor.txt b/doc/bu/files/createsphereactor.txt
new file mode 100644
index 0000000..8894b23
--- /dev/null
+++ b/doc/bu/files/createsphereactor.txt
@@ -0,0 +1,6 @@
+#title CreateSphereActor [RCBasic Doc]
+#header function CreateSphereActor( radius )
+
+Returns an actor composed of a sphere mesh
+
+#ref CreateMeshActor CreateMeshOctreeActor CreateCubeActor CreateWaterPlaneActor CreateLightActor CreateBillboardActor CreateTerrainActor
diff --git a/doc/bu/files/createsprite.txt b/doc/bu/files/createsprite.txt
new file mode 100644
index 0000000..bc7fbf1
--- /dev/null
+++ b/doc/bu/files/createsprite.txt
@@ -0,0 +1,4 @@
+#title CreateSprite [RCBasic Doc]
+#header function CreateSprite( img )
+
+Returns new sprite
diff --git a/doc/bu/files/createstack_n.txt b/doc/bu/files/createstack_n.txt
new file mode 100644
index 0000000..2a1f8d3
--- /dev/null
+++ b/doc/bu/files/createstack_n.txt
@@ -0,0 +1,5 @@
+#title CreateStack_N [RCBasic Doc]
+#header function CreateStack_N( )
+
+Returns a new number stack
+
diff --git a/doc/bu/files/createstack_s.txt b/doc/bu/files/createstack_s.txt
new file mode 100644
index 0000000..48bbc15
--- /dev/null
+++ b/doc/bu/files/createstack_s.txt
@@ -0,0 +1,5 @@
+#title CreateStack_S [RCBasic Doc]
+#header function CreateStack_S()
+
+Returns a new string stack
+
diff --git a/doc/bu/files/createterrainactor.txt b/doc/bu/files/createterrainactor.txt
new file mode 100644
index 0000000..b8ba9f9
--- /dev/null
+++ b/doc/bu/files/createterrainactor.txt
@@ -0,0 +1,8 @@
+#title CreateTerrainActor [RCBasic Doc]
+#header function CreateTerrainActor( hmap_file$ )
+
+Returns terrain generated from a height map
+
+Note: Height Maps can be any supported image format
+
+#ref CreateMeshActor CreateMeshOctreeActor CreateCubeActor CreateSphereActor CreateWaterPlaneActor CreateLightActor CreateBillboardActor
diff --git a/doc/bu/files/createwaterplaneactor.txt b/doc/bu/files/createwaterplaneactor.txt
new file mode 100644
index 0000000..ed1f97f
--- /dev/null
+++ b/doc/bu/files/createwaterplaneactor.txt
@@ -0,0 +1,6 @@
+#title CreateWaterPlaneActor [RCBasic Doc]
+#header function CreateWaterPlaneActor( w, h )
+
+Returns a water plane actor
+
+#ref CreateMeshActor CreateMeshOctreeActor CreateCubeActor CreateSphereActor CreateLightActor CreateBillboardActor CreateTerrainActor
diff --git a/doc/bu/files/cubematrix.txt b/doc/bu/files/cubematrix.txt
new file mode 100644
index 0000000..e949679
--- /dev/null
+++ b/doc/bu/files/cubematrix.txt
@@ -0,0 +1,4 @@
+#title CubeMatrix [RCBasic Doc]
+#header function CubeMatrix(mA, mB)
+
+Returns matrix mA raised to the 3rd power
diff --git a/doc/bu/files/date.txt b/doc/bu/files/date.txt
new file mode 100644
index 0000000..672d718
--- /dev/null
+++ b/doc/bu/files/date.txt
@@ -0,0 +1,4 @@
+#title Date$ [RCBasic Doc]
+#header function Date$()
+
+Returns the date in "MM-DD-YYYY" format
diff --git a/doc/bu/files/degrees.txt b/doc/bu/files/degrees.txt
new file mode 100644
index 0000000..96d0046
--- /dev/null
+++ b/doc/bu/files/degrees.txt
@@ -0,0 +1,4 @@
+#title Degrees [RCBasic Doc]
+#header function Degrees(r)
+
+Returns angle converted from radians to degrees
diff --git a/doc/bu/files/deleteactor.txt b/doc/bu/files/deleteactor.txt
new file mode 100644
index 0000000..38b80e9
--- /dev/null
+++ b/doc/bu/files/deleteactor.txt
@@ -0,0 +1,4 @@
+#title DeleteActor [RCBasic Doc]
+#header sub DeleteActor( actor )
+
+Removes an actor from the scene and frees its memory
diff --git a/doc/bu/files/deleteconstraint.txt b/doc/bu/files/deleteconstraint.txt
new file mode 100644
index 0000000..fe8dd8e
--- /dev/null
+++ b/doc/bu/files/deleteconstraint.txt
@@ -0,0 +1,4 @@
+#title deleteConstraint [RCBasic Doc]
+#header sub deleteConstraint( constraint_id)
+
+Removes a constraint
diff --git a/doc/bu/files/deletefont.txt b/doc/bu/files/deletefont.txt
new file mode 100644
index 0000000..4a5f97e
--- /dev/null
+++ b/doc/bu/files/deletefont.txt
@@ -0,0 +1,4 @@
+#title DeleteFont [RCBasic Doc]
+#header sub DeleteFont(font_id)
+
+Frees a font from memory
diff --git a/doc/bu/files/deleteimage.txt b/doc/bu/files/deleteimage.txt
new file mode 100644
index 0000000..164f0d0
--- /dev/null
+++ b/doc/bu/files/deleteimage.txt
@@ -0,0 +1,4 @@
+#title DeleteImage [RCBasic Doc]
+#header sub DeleteImage(img)
+
+Removes an image from memory
diff --git a/doc/bu/files/deletematerial.txt b/doc/bu/files/deletematerial.txt
new file mode 100644
index 0000000..5e4d8a5
--- /dev/null
+++ b/doc/bu/files/deletematerial.txt
@@ -0,0 +1,4 @@
+#title deleteMaterial [RCBasic Doc]
+#header sub deleteMaterial( material_id)
+
+Removes a material from memory
diff --git a/doc/bu/files/deletematrix.txt b/doc/bu/files/deletematrix.txt
new file mode 100644
index 0000000..a1774e8
--- /dev/null
+++ b/doc/bu/files/deletematrix.txt
@@ -0,0 +1,4 @@
+#title DeleteMatrix [RCBasic Doc]
+#header Sub DeleteMatrix(mA)
+
+Frees a matrix from memory
diff --git a/doc/bu/files/deletematrixcolumns.txt b/doc/bu/files/deletematrixcolumns.txt
new file mode 100644
index 0000000..51427c0
--- /dev/null
+++ b/doc/bu/files/deletematrixcolumns.txt
@@ -0,0 +1,8 @@
+#title DeleteMatrixColumns [RCBasic Doc]
+#header function DeleteMatrixColumns(mA, c, num_cols)
+
+Removes the specified columns from a matrix
+
+Returns false if column are outside matrix
+
+#ref DeleteMatrixRows
diff --git a/doc/bu/files/deletematrixrows.txt b/doc/bu/files/deletematrixrows.txt
new file mode 100644
index 0000000..c6e3a4a
--- /dev/null
+++ b/doc/bu/files/deletematrixrows.txt
@@ -0,0 +1,8 @@
+#title DeleteMatrixRows [RCBasic Doc]
+#header function DeleteMatrixRows(mA, r, num_rows)
+
+Removes the specified rows from a matrix
+
+Returns false if rows are outside matrix
+
+#ref DeleteMatrixColumns
diff --git a/doc/bu/files/deletemesh.txt b/doc/bu/files/deletemesh.txt
new file mode 100644
index 0000000..fca2650
--- /dev/null
+++ b/doc/bu/files/deletemesh.txt
@@ -0,0 +1,4 @@
+#title DeleteMesh [RCBasic Doc]
+#header sub DeleteMesh( mesh )
+
+Removes a mesh from memory
diff --git a/doc/bu/files/deletemusic.txt b/doc/bu/files/deletemusic.txt
new file mode 100644
index 0000000..617f5ab
--- /dev/null
+++ b/doc/bu/files/deletemusic.txt
@@ -0,0 +1,4 @@
+#title DeleteMusic [RCBasic Doc]
+#header sub DeleteMusic()
+
+Removes the current music track from memory
diff --git a/doc/bu/files/deletesound.txt b/doc/bu/files/deletesound.txt
new file mode 100644
index 0000000..73852c7
--- /dev/null
+++ b/doc/bu/files/deletesound.txt
@@ -0,0 +1,4 @@
+#title DeleteSound [RCBasic Doc]
+#header sub DeleteSound(snd)
+
+Removes a sound from memory
diff --git a/doc/bu/files/deletesprite.txt b/doc/bu/files/deletesprite.txt
new file mode 100644
index 0000000..602dfed
--- /dev/null
+++ b/doc/bu/files/deletesprite.txt
@@ -0,0 +1,4 @@
+#title DeleteSprite [RCBasic Doc]
+#header Sub DeleteSprite( sprite )
+
+Removes a sprite from memory
diff --git a/doc/bu/files/deletestack_n.txt b/doc/bu/files/deletestack_n.txt
new file mode 100644
index 0000000..672e79c
--- /dev/null
+++ b/doc/bu/files/deletestack_n.txt
@@ -0,0 +1,4 @@
+#title DeleteStack_N [RCBasic Doc]
+#header sub DeleteStack_N( num_stack )
+
+Removes a number stack from memory
diff --git a/doc/bu/files/deletestack_s.txt b/doc/bu/files/deletestack_s.txt
new file mode 100644
index 0000000..2969a36
--- /dev/null
+++ b/doc/bu/files/deletestack_s.txt
@@ -0,0 +1,4 @@
+#title DeleteStack_S [RCBasic Doc]
+#header sub DeleteStack_S( str_stack )
+
+Removes a string stack from memory
diff --git a/doc/bu/files/deletevideo.txt b/doc/bu/files/deletevideo.txt
new file mode 100644
index 0000000..486f00b
--- /dev/null
+++ b/doc/bu/files/deletevideo.txt
@@ -0,0 +1,4 @@
+#title DeleteVideo [RCBasic Doc]
+#header sub DeleteVideo()
+
+Removes the current video track from memory
diff --git a/doc/bu/files/determinant.txt b/doc/bu/files/determinant.txt
new file mode 100644
index 0000000..8d255ba
--- /dev/null
+++ b/doc/bu/files/determinant.txt
@@ -0,0 +1,4 @@
+#title Determinant [RCBasic Doc]
+#header function Determinant(mA)
+
+Returns the determinant of matrix mA
diff --git a/doc/bu/files/dimmatrix.txt b/doc/bu/files/dimmatrix.txt
new file mode 100644
index 0000000..c94db52
--- /dev/null
+++ b/doc/bu/files/dimmatrix.txt
@@ -0,0 +1,4 @@
+#title DimMatrix [RCBasic Doc]
+#header function DimMatrix(m_rows, m_cols)
+
+Returns a new matrix
diff --git a/doc/bu/files/dir.txt b/doc/bu/files/dir.txt
new file mode 100644
index 0000000..7c5de53
--- /dev/null
+++ b/doc/bu/files/dir.txt
@@ -0,0 +1,4 @@
+#title Dir$ [RCBasic Doc]
+#header function Dir$()
+
+Returns the current working directory
diff --git a/doc/bu/files/direxists.txt b/doc/bu/files/direxists.txt
new file mode 100644
index 0000000..05afda9
--- /dev/null
+++ b/doc/bu/files/direxists.txt
@@ -0,0 +1,4 @@
+#title DirExists [RCBasic Doc]
+#header function DirExists(p$)
+
+Returns true if a directory exists and false if not
diff --git a/doc/bu/files/dirfirst.txt b/doc/bu/files/dirfirst.txt
new file mode 100644
index 0000000..2758f31
--- /dev/null
+++ b/doc/bu/files/dirfirst.txt
@@ -0,0 +1,4 @@
+#title DirFirst$ [RCBasic Doc]
+#header function DirFirst$()
+
+Resets the directory list poll and returns the first item in the current working directory
diff --git a/doc/bu/files/dirnext.txt b/doc/bu/files/dirnext.txt
new file mode 100644
index 0000000..8657887
--- /dev/null
+++ b/doc/bu/files/dirnext.txt
@@ -0,0 +1,6 @@
+#title DirNext$ [RCBasic Doc]
+#header function DirNext$()
+
+Returns the next item in the directory poll
+
+#ref DirFirst$
diff --git a/doc/bu/files/distance2d.txt b/doc/bu/files/distance2d.txt
new file mode 100644
index 0000000..ef41e31
--- /dev/null
+++ b/doc/bu/files/distance2d.txt
@@ -0,0 +1,4 @@
+#title Distance2D [RCBasic Doc]
+#header Function Distance2D(x1, y1, x2, y2)
+
+Returns the distance between 2 points in 2d space
diff --git a/doc/bu/files/distance3d.txt b/doc/bu/files/distance3d.txt
new file mode 100644
index 0000000..20cfffb
--- /dev/null
+++ b/doc/bu/files/distance3d.txt
@@ -0,0 +1,5 @@
+#title Distance3D [RCBasic Doc]
+#header Function Distance3D(x1, y1, z1, x2, y2, z2)
+
+Returns the distance between 2 points in 3d space
+
diff --git a/doc/bu/files/drawimage.txt b/doc/bu/files/drawimage.txt
new file mode 100644
index 0000000..03d0504
--- /dev/null
+++ b/doc/bu/files/drawimage.txt
@@ -0,0 +1,4 @@
+#title DrawImage [RCBasic Doc]
+#header sub DrawImage(img, x, y)
+
+Draws an image on the active canvas
diff --git a/doc/bu/files/drawimage_blit.txt b/doc/bu/files/drawimage_blit.txt
new file mode 100644
index 0000000..3b49158
--- /dev/null
+++ b/doc/bu/files/drawimage_blit.txt
@@ -0,0 +1,4 @@
+#title DrawImage_Blit [RCBasic Doc]
+#header sub DrawImage_Blit(img, x, y, src_x, src_y, src_w, src_h)
+
+Draws a portion of an image to the current canvas.
diff --git a/doc/bu/files/drawimage_blitex.txt b/doc/bu/files/drawimage_blitex.txt
new file mode 100644
index 0000000..b0fb003
--- /dev/null
+++ b/doc/bu/files/drawimage_blitex.txt
@@ -0,0 +1,6 @@
+#title DrawImage_BlitEx [RCBasic Doc]
+#header sub DrawImage_BlitEx(slot, x, y, w, h, src_x, src_y, src_w, src_h)
+
+Draws a portion of an image to the current canvas scaled to a given width and height.
+
+#ref DrawImage_Blit
diff --git a/doc/bu/files/drawimage_flip.txt b/doc/bu/files/drawimage_flip.txt
new file mode 100644
index 0000000..7f55e21
--- /dev/null
+++ b/doc/bu/files/drawimage_flip.txt
@@ -0,0 +1,8 @@
+#title DrawImage_Flip [RCBasic Doc]
+#header sub DrawImage_Flip(slot, x, y, h, v)
+
+Draws an image flipped horizontally or vertically.
+
+Note: h and v are boolean values
+
+#ref DrawImage_FlipEx
diff --git a/doc/bu/files/drawimage_flipex.txt b/doc/bu/files/drawimage_flipex.txt
new file mode 100644
index 0000000..02e7b99
--- /dev/null
+++ b/doc/bu/files/drawimage_flipex.txt
@@ -0,0 +1,8 @@
+#title DrawImage_FlipEx [RCBasic Doc]
+#header sub DrawImage_FlipEx(slot, x, y, src_x, src_y, src_w, src_h, h, v)
+
+Draws a portion of an image flipped horizontally or vertically.
+
+Note: h and v are boolean values
+
+#ref DrawImage_Flip
diff --git a/doc/bu/files/drawimage_rotate.txt b/doc/bu/files/drawimage_rotate.txt
new file mode 100644
index 0000000..bcba804
--- /dev/null
+++ b/doc/bu/files/drawimage_rotate.txt
@@ -0,0 +1,4 @@
+#title DrawImage_Rotate [RCBasic Doc]
+#header sub DrawImage_Rotate(slot, x, y, angle)
+
+Draws an image to the current canvas rotated by a given angle.
diff --git a/doc/bu/files/drawimage_rotateex.txt b/doc/bu/files/drawimage_rotateex.txt
new file mode 100644
index 0000000..6473745
--- /dev/null
+++ b/doc/bu/files/drawimage_rotateex.txt
@@ -0,0 +1,4 @@
+#title DrawImage_RotateEx [RCBasic Doc]
+#header sub DrawImage_RotateEx(slot, x, y, src_x, src_y, src_w, src_h, angle)
+
+ Draws a portion of an image to the current canvas rotated by a given angle.
diff --git a/doc/bu/files/drawimage_rotozoom.txt b/doc/bu/files/drawimage_rotozoom.txt
new file mode 100644
index 0000000..41417e7
--- /dev/null
+++ b/doc/bu/files/drawimage_rotozoom.txt
@@ -0,0 +1,4 @@
+#title DrawImage_Rotozoom [RCBasic Doc]
+#header sub DrawImage_Rotozoom(slot, x, y, angle, zx, zy)
+
+ Draws an image to the current canvas rotated and scaled
diff --git a/doc/bu/files/drawimage_rotozoomex.txt b/doc/bu/files/drawimage_rotozoomex.txt
new file mode 100644
index 0000000..6f41a86
--- /dev/null
+++ b/doc/bu/files/drawimage_rotozoomex.txt
@@ -0,0 +1,4 @@
+#title DrawImage_RotozoomEx [RCBasic Doc]
+#header sub DrawImage_RotozoomEx(slot, x, y, src_x, src_y, src_w, src_h, angle, zx, zy)
+
+ Draws a portion of an image to the current canvas rotated and scaled
diff --git a/doc/bu/files/drawimage_zoom.txt b/doc/bu/files/drawimage_zoom.txt
new file mode 100644
index 0000000..1e12138
--- /dev/null
+++ b/doc/bu/files/drawimage_zoom.txt
@@ -0,0 +1,6 @@
+#title DrawImage_Zoom [RCBasic Doc]
+#header sub DrawImage_Zoom(slot, x, y, zx, zy)
+
+ Draws an image to the current canvas scaled by a given factor
+
+#ref DrawImage_ZoomEx
diff --git a/doc/bu/files/drawimage_zoomex.txt b/doc/bu/files/drawimage_zoomex.txt
new file mode 100644
index 0000000..35e51bb
--- /dev/null
+++ b/doc/bu/files/drawimage_zoomex.txt
@@ -0,0 +1,6 @@
+#title DrawImage_ZoomEx [RCBasic Doc]
+#header sub DrawImage_ZoomEx(slot, x, y, src_x, src_y, src_w, src_h, zx, zy)
+
+Draws a portion of an Image to the current canvas scaled by a given factor
+
+#ref DrawImage_Zoom
diff --git a/doc/bu/files/drawtext.txt b/doc/bu/files/drawtext.txt
new file mode 100644
index 0000000..6a6cbbe
--- /dev/null
+++ b/doc/bu/files/drawtext.txt
@@ -0,0 +1,4 @@
+#title DrawText [RCBasic Doc]
+#header sub DrawText(txt$, x, y)
+
+ Draws text to the current canvas
diff --git a/doc/bu/files/easter.txt b/doc/bu/files/easter.txt
new file mode 100644
index 0000000..b5842b3
--- /dev/null
+++ b/doc/bu/files/easter.txt
@@ -0,0 +1,4 @@
+#title Easter$ [RCBasic Doc]
+#header function Easter$(year)
+
+Returns easter of the year passed to it.
diff --git a/doc/bu/files/ellipse.txt b/doc/bu/files/ellipse.txt
new file mode 100644
index 0000000..5917639
--- /dev/null
+++ b/doc/bu/files/ellipse.txt
@@ -0,0 +1,4 @@
+#title Ellipse [RCBasic Doc]
+#header sub Ellipse(x,y,rx,ry)
+
+Draws an ellipse on the current canvas.
diff --git a/doc/bu/files/ellipsefill.txt b/doc/bu/files/ellipsefill.txt
new file mode 100644
index 0000000..4b195d6
--- /dev/null
+++ b/doc/bu/files/ellipsefill.txt
@@ -0,0 +1,4 @@
+#title EllipseFill [RCBasic Doc]
+#header sub EllipseFill(x,y,rx,ry)
+
+Draws a filled ellipse on the current canvas.
diff --git a/doc/bu/files/env.txt b/doc/bu/files/env.txt
new file mode 100644
index 0000000..630b8f0
--- /dev/null
+++ b/doc/bu/files/env.txt
@@ -0,0 +1,6 @@
+#title Env$ [RCBasic Doc]
+#header function Env$(v$)
+
+Returns the value of the environment variable passed to it.
+
+#ref SetEnv
diff --git a/doc/bu/files/eof.txt b/doc/bu/files/eof.txt
new file mode 100644
index 0000000..425a8f4
--- /dev/null
+++ b/doc/bu/files/eof.txt
@@ -0,0 +1,4 @@
+#title EOF [RCBasic Doc]
+#header function EOF(stream)
+
+Returns true when end of file is reached
diff --git a/doc/bu/files/evaljs.txt b/doc/bu/files/evaljs.txt
new file mode 100644
index 0000000..8136032
--- /dev/null
+++ b/doc/bu/files/evaljs.txt
@@ -0,0 +1,8 @@
+#title EvalJS$ [RCBasic Doc]
+#header Function EvalJS$(js_code$) 'Only useable in Emscripten
+
+Runs javascript code
+
+Returns the return value of the javascript code
+
+NOTE: ONLY WORKS IN WEB PORT
diff --git a/doc/bu/files/exp.txt b/doc/bu/files/exp.txt
new file mode 100644
index 0000000..054b1db
--- /dev/null
+++ b/doc/bu/files/exp.txt
@@ -0,0 +1,4 @@
+#title Exp [RCBasic Doc]
+#header function Exp(n)
+
+Returns the exponential function of a number.
diff --git a/doc/bu/files/fademusicin.txt b/doc/bu/files/fademusicin.txt
new file mode 100644
index 0000000..fd48cc6
--- /dev/null
+++ b/doc/bu/files/fademusicin.txt
@@ -0,0 +1,4 @@
+#title FadeMusicIn [RCBasic Doc]
+#header sub FadeMusicIn(fade_time, loops)
+
+Fades music in
diff --git a/doc/bu/files/fademusicout.txt b/doc/bu/files/fademusicout.txt
new file mode 100644
index 0000000..688c293
--- /dev/null
+++ b/doc/bu/files/fademusicout.txt
@@ -0,0 +1,4 @@
+#title FadeMusicOut [RCBasic Doc]
+#header sub FadeMusicOut(fade_time)
+
+Fades music out
diff --git a/doc/bu/files/fileexists.txt b/doc/bu/files/fileexists.txt
new file mode 100644
index 0000000..0dee4f5
--- /dev/null
+++ b/doc/bu/files/fileexists.txt
@@ -0,0 +1,4 @@
+#title FileExists [RCBasic Doc]
+#header function FileExists(fileName$)
+
+Returns true if a file exists
diff --git a/doc/bu/files/filelength.txt b/doc/bu/files/filelength.txt
new file mode 100644
index 0000000..4a1fd6d
--- /dev/null
+++ b/doc/bu/files/filelength.txt
@@ -0,0 +1,4 @@
+#title FileLength [RCBasic Doc]
+#header function FileLength(fileName$)
+
+ Returns the size of a file in bytes.
diff --git a/doc/bu/files/fillmatrix.txt b/doc/bu/files/fillmatrix.txt
new file mode 100644
index 0000000..d86419b
--- /dev/null
+++ b/doc/bu/files/fillmatrix.txt
@@ -0,0 +1,4 @@
+#title FillMatrix [RCBasic Doc]
+#header sub FillMatrix(mA, v)
+
+Fills matrix with the given value
diff --git a/doc/bu/files/fillmatrixcolumns.txt b/doc/bu/files/fillmatrixcolumns.txt
new file mode 100644
index 0000000..45f8649
--- /dev/null
+++ b/doc/bu/files/fillmatrixcolumns.txt
@@ -0,0 +1,4 @@
+#title FillMatrixColumns [RCBasic Doc]
+#header function FillMatrixColumns(mA, c, num_cols, v)
+
+Fills matrix columns with the given value starting at the given column
diff --git a/doc/bu/files/fillmatrixrows.txt b/doc/bu/files/fillmatrixrows.txt
new file mode 100644
index 0000000..4dfdc39
--- /dev/null
+++ b/doc/bu/files/fillmatrixrows.txt
@@ -0,0 +1,4 @@
+#title FillMatrixRows [RCBasic Doc]
+#header function FillMatrixRows(mA, r, num_rows, v)
+
+Fills matrix rows with the given value starting at the given row
diff --git a/doc/bu/files/flashwindow.txt b/doc/bu/files/flashwindow.txt
new file mode 100644
index 0000000..9fd4805
--- /dev/null
+++ b/doc/bu/files/flashwindow.txt
@@ -0,0 +1,13 @@
+#title FlashWindow [RCBasic Doc]
+#header function FlashWindow( flag )
+
+Flashes a window to specify an alert
+
+Returns 0 on success and a negative number on failure
+
+Possible flag values:
+#list ul
+#li FLASH_CANCEL
+#li FLASH_BRIEFLY
+#li FLASH_UNTIL_FOCUSED
+#/list
diff --git a/doc/bu/files/floodfill.txt b/doc/bu/files/floodfill.txt
new file mode 100644
index 0000000..be4b414
--- /dev/null
+++ b/doc/bu/files/floodfill.txt
@@ -0,0 +1,4 @@
+#title FloodFill [RCBasic Doc]
+#header sub FloodFill(x,y)
+
+Fills a closed shape in with the current draw color
diff --git a/doc/bu/files/fontexists.txt b/doc/bu/files/fontexists.txt
new file mode 100644
index 0000000..9e2c720
--- /dev/null
+++ b/doc/bu/files/fontexists.txt
@@ -0,0 +1,4 @@
+#title FontExists [RCBasic Doc]
+#header Function FontExists(fnt_id)
+
+Returns True if the specified font id is associated with a loaded font
diff --git a/doc/bu/files/fprint.txt b/doc/bu/files/fprint.txt
new file mode 100644
index 0000000..97b35de
--- /dev/null
+++ b/doc/bu/files/fprint.txt
@@ -0,0 +1,4 @@
+#title Fprint [RCBasic Doc]
+#header sub Fprint(txt$)
+
+Outputs text to the console
diff --git a/doc/bu/files/fps.txt b/doc/bu/files/fps.txt
new file mode 100644
index 0000000..6e53436
--- /dev/null
+++ b/doc/bu/files/fps.txt
@@ -0,0 +1,4 @@
+#title FPS [RCBasic Doc]
+#header function FPS()
+
+Returns the number of frames being rendered per second
diff --git a/doc/bu/files/frac.txt b/doc/bu/files/frac.txt
new file mode 100644
index 0000000..369f3b2
--- /dev/null
+++ b/doc/bu/files/frac.txt
@@ -0,0 +1,4 @@
+#title Frac [RCBasic Doc]
+#header function Frac(n)
+
+Returns the decimal portion of a number.
diff --git a/doc/bu/files/getaccel.txt b/doc/bu/files/getaccel.txt
new file mode 100644
index 0000000..8da28ae
--- /dev/null
+++ b/doc/bu/files/getaccel.txt
@@ -0,0 +1,4 @@
+#title GetAccel [RCBasic Doc]
+#header sub GetAccel(accel_num, ByRef x, ByRef y, ByRef z)
+
+Gets the axis values for an accelerometer.
diff --git a/doc/bu/files/getactoraabb.txt b/doc/bu/files/getactoraabb.txt
new file mode 100644
index 0000000..dda85b1
--- /dev/null
+++ b/doc/bu/files/getactoraabb.txt
@@ -0,0 +1,4 @@
+#title getActorAABB [RCBasic Doc]
+#header sub getActorAABB( actor, ByRef min_x, ByRef min_y, ByRef min_z, ByRef max_x, ByRef max_y, ByRef max_z)
+
+Gets the bounding box for an actor.
diff --git a/doc/bu/files/getactorangulardamping.txt b/doc/bu/files/getactorangulardamping.txt
new file mode 100644
index 0000000..dfbe10a
--- /dev/null
+++ b/doc/bu/files/getactorangulardamping.txt
@@ -0,0 +1,6 @@
+#title GetActorAngularDamping [RCBasic Doc]
+#header function GetActorAngularDamping( actor)
+
+Returns the amount of angular damping set on the actor
+
+#ref SetActorDamping ApplyActorDamping GetActorLinearDamping
diff --git a/doc/bu/files/getactorangularfactor.txt b/doc/bu/files/getactorangularfactor.txt
new file mode 100644
index 0000000..9edd76b
--- /dev/null
+++ b/doc/bu/files/getactorangularfactor.txt
@@ -0,0 +1,6 @@
+#title getActorAngularFactor [RCBasic Doc]
+#header sub getActorAngularFactor( actor, ByRef x, ByRef y, ByRef z)
+
+Returns the angular factor set on an actor
+
+#ref SetActorAngularFactor GetActorLinearFactor SetActorLinearFactor
diff --git a/doc/bu/files/getactorangularsleepthreshold.txt b/doc/bu/files/getactorangularsleepthreshold.txt
new file mode 100644
index 0000000..3eded28
--- /dev/null
+++ b/doc/bu/files/getactorangularsleepthreshold.txt
@@ -0,0 +1,6 @@
+#title GetActorAngularSleepThreshold [RCBasic Doc]
+#header function GetActorAngularSleepThreshold( actor)
+
+Returns the Angular deactivation threshold for the actor
+
+#ref SetActorSleepThresholds GetActorLinearSleepThreshold
diff --git a/doc/bu/files/getactorangularvelocitylocal.txt b/doc/bu/files/getactorangularvelocitylocal.txt
new file mode 100644
index 0000000..105a9d3
--- /dev/null
+++ b/doc/bu/files/getactorangularvelocitylocal.txt
@@ -0,0 +1,6 @@
+#title getActorAngularVelocityLocal [RCBasic Doc]
+#header sub getActorAngularVelocityLocal( actor, ByRef x, ByRef y, ByRef z)
+
+Gets an actor's Angular Velocity
+
+#ref GetActorAngularVelocityWorld SetActorAngularVelocityLocal SetActorAngularVelocityWorld
diff --git a/doc/bu/files/getactorangularvelocityworld.txt b/doc/bu/files/getactorangularvelocityworld.txt
new file mode 100644
index 0000000..6737f6f
--- /dev/null
+++ b/doc/bu/files/getactorangularvelocityworld.txt
@@ -0,0 +1,6 @@
+#title getActorAngularVelocityWorld [RCBasic Doc]
+#header sub getActorAngularVelocityWorld( actor, ByRef x, ByRef y, ByRef z)
+
+Gets an actor's Angular Velocity
+
+#ref GetActorAngularVelocityLocal SetActorAngularVelocityLocal SetActorAngularVelocityWorld
diff --git a/doc/bu/files/getactoranimationspeed.txt b/doc/bu/files/getactoranimationspeed.txt
new file mode 100644
index 0000000..56ab127
--- /dev/null
+++ b/doc/bu/files/getactoranimationspeed.txt
@@ -0,0 +1,4 @@
+#title GetActorAnimationSpeed [RCBasic Doc]
+#header function GetActorAnimationSpeed( actor )
+
+Returns actors animation speed in frames per second
diff --git a/doc/bu/files/getactorautoculling.txt b/doc/bu/files/getactorautoculling.txt
new file mode 100644
index 0000000..725b3a1
--- /dev/null
+++ b/doc/bu/files/getactorautoculling.txt
@@ -0,0 +1,4 @@
+#title GetActorAutoCulling [RCBasic Doc]
+#header function GetActorAutoCulling( actor )
+
+Returns True if auto culling is set on the actor
diff --git a/doc/bu/files/getactorcollision.txt b/doc/bu/files/getactorcollision.txt
new file mode 100644
index 0000000..4bf4654
--- /dev/null
+++ b/doc/bu/files/getactorcollision.txt
@@ -0,0 +1,6 @@
+#title GetActorCollision [RCBasic Doc]
+#header function GetActorCollision(actor1, actor2)
+
+Returns true if 2 actors collide
+
+Note: This function will work with solid and non solid actors
diff --git a/doc/bu/files/getactorcollisionshape.txt b/doc/bu/files/getactorcollisionshape.txt
new file mode 100644
index 0000000..7df0631
--- /dev/null
+++ b/doc/bu/files/getactorcollisionshape.txt
@@ -0,0 +1,18 @@
+#title GetActorCollisionShape [RCBasic Doc]
+#header function GetActorCollisionShape(actor)
+
+Returns the actor's collision shape
+
+Possible values:
+#list ul
+#li SHAPE_TYPE_NONE
+#li SHAPE_TYPE_BOX
+#li SHAPE_TYPE_SPHERE
+#li SHAPE_TYPE_CYLINDER
+#li SHAPE_TYPE_CAPSULE
+#li SHAPE_TYPE_CONE
+#li SHAPE_TYPE_CONVEXHULL
+#li SHAPE_TYPE_TRIMESH
+#/list
+
+#ref SetActorCollisionShape
diff --git a/doc/bu/files/getactorcomposition.txt b/doc/bu/files/getactorcomposition.txt
new file mode 100644
index 0000000..0dc7ed3
--- /dev/null
+++ b/doc/bu/files/getactorcomposition.txt
@@ -0,0 +1,4 @@
+#title getActorCOMPosition [RCBasic Doc]
+#header sub getActorCOMPosition( actor, ByRef x, ByRef y, ByRef z)
+
+Gets an actor's center of mass position. This is useful for setting the origin of constraints.
diff --git a/doc/bu/files/getactorcurrentframe.txt b/doc/bu/files/getactorcurrentframe.txt
new file mode 100644
index 0000000..91247b5
--- /dev/null
+++ b/doc/bu/files/getactorcurrentframe.txt
@@ -0,0 +1,4 @@
+#title GetActorCurrentFrame [RCBasic Doc]
+#header function GetActorCurrentFrame( actor )
+
+Returns an actor's current frame of animation
diff --git a/doc/bu/files/getactorendframe.txt b/doc/bu/files/getactorendframe.txt
new file mode 100644
index 0000000..d4bd288
--- /dev/null
+++ b/doc/bu/files/getactorendframe.txt
@@ -0,0 +1,4 @@
+#title GetActorEndFrame [RCBasic Doc]
+#header function GetActorEndFrame( actor )
+
+Returns the last frame of an actor's animation
diff --git a/doc/bu/files/getactorgravity.txt b/doc/bu/files/getactorgravity.txt
new file mode 100644
index 0000000..56b0dd8
--- /dev/null
+++ b/doc/bu/files/getactorgravity.txt
@@ -0,0 +1,6 @@
+#title GetActorGravity [RCBasic Doc]
+#header sub GetActorGravity( actor, ByRef x, ByRef y, ByRef z )
+
+Gets the gravity of an actor along each access.
+
+#ref SetActorGravity
diff --git a/doc/bu/files/getactorinverseinertiadiaglocal.txt b/doc/bu/files/getactorinverseinertiadiaglocal.txt
new file mode 100644
index 0000000..073f848
--- /dev/null
+++ b/doc/bu/files/getactorinverseinertiadiaglocal.txt
@@ -0,0 +1,4 @@
+#title getActorInverseInertiaDiagLocal [RCBasic Doc]
+#header sub getActorInverseInertiaDiagLocal( actor, ByRef x, ByRef y, ByRef z)
+
+Gets the inverse of the inertia tensor's diagonal components in the local space. This is used to compute how the actor reacts to rotational forces (torques) applied to it.
diff --git a/doc/bu/files/getactorinversemass.txt b/doc/bu/files/getactorinversemass.txt
new file mode 100644
index 0000000..f0d430a
--- /dev/null
+++ b/doc/bu/files/getactorinversemass.txt
@@ -0,0 +1,6 @@
+#title getActorInverseMass [RCBasic Doc]
+#header function getActorInverseMass( actor)
+
+Returns an actor's inverse mass
+
+
diff --git a/doc/bu/files/getactorlineardamping.txt b/doc/bu/files/getactorlineardamping.txt
new file mode 100644
index 0000000..29d4708
--- /dev/null
+++ b/doc/bu/files/getactorlineardamping.txt
@@ -0,0 +1,6 @@
+#title GetActorLinearDamping [RCBasic Doc]
+#header function GetActorLinearDamping( actor)
+
+Return's an actor's linear damping
+
+#ref SetActorDamping GetActorAngularDamping
diff --git a/doc/bu/files/getactorlinearfactor.txt b/doc/bu/files/getactorlinearfactor.txt
new file mode 100644
index 0000000..3967933
--- /dev/null
+++ b/doc/bu/files/getactorlinearfactor.txt
@@ -0,0 +1,6 @@
+#title GetActorLinearFactor [RCBasic Doc]
+#header sub GetActorLinearFactor( actor, ByRef x, ByRef y, ByRef z)
+
+Gets an actor's linear factor
+
+#ref SetActorLinearFactor GetActorAngularFactor SetActorAngularFactor
diff --git a/doc/bu/files/getactorlinearsleepthreshold.txt b/doc/bu/files/getactorlinearsleepthreshold.txt
new file mode 100644
index 0000000..fb22817
--- /dev/null
+++ b/doc/bu/files/getactorlinearsleepthreshold.txt
@@ -0,0 +1,6 @@
+#title GetActorLinearSleepThreshold [RCBasic Doc]
+#header function GetActorLinearSleepThreshold( actor)
+
+Returns the linear deactivation threshold for the actor
+
+#ref SetActorSleepThresholds GetActorAngularSleepThreshold
diff --git a/doc/bu/files/getactorlinearvelocitylocal.txt b/doc/bu/files/getactorlinearvelocitylocal.txt
new file mode 100644
index 0000000..a7539bd
--- /dev/null
+++ b/doc/bu/files/getactorlinearvelocitylocal.txt
@@ -0,0 +1,6 @@
+#title GetActorLinearVelocityLocal [RCBasic Doc]
+#header sub GetActorLinearVelocityLocal( actor, ByRef x, ByRef y, ByRef z)
+
+Gets actor's linear velocity
+
+#ref SetActorLinearVelocityLocal SetActorLinearVelocityWorld
diff --git a/doc/bu/files/getactorlinearvelocityworld.txt b/doc/bu/files/getactorlinearvelocityworld.txt
new file mode 100644
index 0000000..52ee7d8
--- /dev/null
+++ b/doc/bu/files/getactorlinearvelocityworld.txt
@@ -0,0 +1,7 @@
+#title getActorLinearVelocityWorld [RCBasic Doc]
+#header sub getActorLinearVelocityWorld( actor, ByRef x, ByRef y, ByRef z)
+
+Gets actor's linear velocity
+
+#ref SetActorLinearVelocityLocal SetActorLinearVelocityWorld
+
diff --git a/doc/bu/files/getactorlocalinertia.txt b/doc/bu/files/getactorlocalinertia.txt
new file mode 100644
index 0000000..7bf348c
--- /dev/null
+++ b/doc/bu/files/getactorlocalinertia.txt
@@ -0,0 +1,5 @@
+#title GetActorLocalInertia [RCBasic Doc]
+#header sub GetActorLocalInertia( actor, ByRef x, ByRef y, ByRef z)
+
+Gets the local inertia tensor of an actor. The inertia tensor describes how an actor resists rotational motion depending on its mass distribution relative to its center of mass.
+
diff --git a/doc/bu/files/getactorlocalpointvelocity.txt b/doc/bu/files/getactorlocalpointvelocity.txt
new file mode 100644
index 0000000..cc914e0
--- /dev/null
+++ b/doc/bu/files/getactorlocalpointvelocity.txt
@@ -0,0 +1,4 @@
+#title getActorLocalPointVelocity [RCBasic Doc]
+#header sub getActorLocalPointVelocity( actor, rel_x, rel_y, rel_z, ByRef x, ByRef y, ByRef z)
+
+Gets the linear velocity of a specific point on an actor, given its position in the actor's local coordinate space. This is useful for determining how fast and in what direction a particular point on the actor is moving, accounting for both the body's linear velocity and its rotational motion (angular velocity).
diff --git a/doc/bu/files/getactormaterial.txt b/doc/bu/files/getactormaterial.txt
new file mode 100644
index 0000000..13d1356
--- /dev/null
+++ b/doc/bu/files/getactormaterial.txt
@@ -0,0 +1,6 @@
+#title getActorMaterial [RCBasic Doc]
+#header function getActorMaterial( actor, material_num)
+
+Returns an actor's material id.
+
+Actor's can have multiple materials but generally you want material 0 for most Actor's.
diff --git a/doc/bu/files/getactormaterialcount.txt b/doc/bu/files/getactormaterialcount.txt
new file mode 100644
index 0000000..6e1f86e
--- /dev/null
+++ b/doc/bu/files/getactormaterialcount.txt
@@ -0,0 +1,4 @@
+#title getActorMaterialCount [RCBasic Doc]
+#header function getActorMaterialCount( actor)
+
+Returns the number of materials for an actor.
diff --git a/doc/bu/files/getactormaterialflag.txt b/doc/bu/files/getactormaterialflag.txt
new file mode 100644
index 0000000..303363d
--- /dev/null
+++ b/doc/bu/files/getactormaterialflag.txt
@@ -0,0 +1,30 @@
+#title getActorMaterialFlag [RCBasic Doc]
+#header function getActorMaterialFlag( actor, material, flag)
+
+Returns the value of the specified material flag
+
+Possible values for flag:
+#list
+#li MATERIAL_FLAG_WIREFRAME
+#li MATERIAL_FLAG_POINTCLOUD
+#li MATERIAL_FLAG_GOURAUD_SHADING
+#li MATERIAL_FLAG_LIGHTING
+#li MATERIAL_FLAG_ZBUFFER
+#li MATERIAL_FLAG_ZWRITE_ENABLE
+#li MATERIAL_FLAG_BACK_FACE_CULLING
+#li MATERIAL_FLAG_FRONT_FACE_CULLING
+#li MATERIAL_FLAG_BILINEAR_FILTER
+#li MATERIAL_FLAG_TRILINEAR_FILTER
+#li MATERIAL_FLAG_ANISOTROPIC_FILTER
+#li MATERIAL_FLAG_FOG_ENABLE
+#li MATERIAL_FLAG_NORMALIZE_NORMALS
+#li MATERIAL_FLAG_TEXTURE_WRAP
+#li MATERIAL_FLAG_ANTI_ALIASING
+#li MATERIAL_FLAG_COLOR_MASK
+#li MATERIAL_FLAG_COLOR_MATERIAL
+#li MATERIAL_FLAG_USE_MIP_MAPS
+#li MATERIAL_FLAG_BLEND_OPERATION
+#li MATERIAL_FLAG_POLYGON_OFFSET
+#/list
+
+#ref GetMaterialFlag
diff --git a/doc/bu/files/getactormaterialtype.txt b/doc/bu/files/getactormaterialtype.txt
new file mode 100644
index 0000000..ac3b570
--- /dev/null
+++ b/doc/bu/files/getactormaterialtype.txt
@@ -0,0 +1,35 @@
+#title GetActorMaterialType [RCBasic Doc]
+#header function GetActorMaterialType( actor, material )
+
+Returns the material type of an actor material
+
+Possible material types
+#list ul
+#li MATERIAL_TYPE_SOLID
+#li MATERIAL_TYPE_SOLID_2_LAYER
+#li MATERIAL_TYPE_LIGHTMAP
+#li MATERIAL_TYPE_LIGHTMAP_ADD
+#li MATERIAL_TYPE_LIGHTMAP_M2
+#li MATERIAL_TYPE_LIGHTMAP_M4
+#li MATERIAL_TYPE_LIGHTMAP_LIGHTING
+#li MATERIAL_TYPE_LIGHTMAP_LIGHTING_M2
+#li MATERIAL_TYPE_LIGHTMAP_LIGHTING_M4
+#li MATERIAL_TYPE_DETAIL_MAP
+#li MATERIAL_TYPE_SPHERE_MAP
+#li MATERIAL_TYPE_REFLECTION_2_LAYER
+#li MATERIAL_TYPE_TRANSPARENT_ADD_COLOR
+#li MATERIAL_TYPE_TRANSPARENT_ALPHA_CHANNEL
+#li MATERIAL_TYPE_TRANSPARENT_ALPHA_CHANNEL_REF
+#li MATERIAL_TYPE_TRANSPARENT_VERTEX_ALPHA
+#li MATERIAL_TYPE_TRANSPARENT_REFLECTION_2_LAYER
+#li MATERIAL_TYPE_NORMAL_MAP_SOLID
+#li MATERIAL_TYPE_NORMAL_MAP_TRANSPARENT_ADD_COLOR
+#li MATERIAL_TYPE_NORMAL_MAP_TRANSPARENT_VERTEX_ALPHA
+#li MATERIAL_TYPE_PARALLAX_MAP_SOLID
+#li MATERIAL_TYPE_PARALLAX_MAP_TRANSPARENT_ADD_COLOR
+#li MATERIAL_TYPE_PARALLAX_MAP_TRANSPARENT_VERTEX_ALPHA
+#li MATERIAL_TYPE_ONETEXTURE_BLEND
+#li MATERIAL_TYPE_FORCE_32BIT
+#/list
+
+#ref SetActorMaterialType GetMaterialType SetMaterialType
diff --git a/doc/bu/files/getactorposition.txt b/doc/bu/files/getactorposition.txt
new file mode 100644
index 0000000..5e8dc69
--- /dev/null
+++ b/doc/bu/files/getactorposition.txt
@@ -0,0 +1,6 @@
+#title GetActorPosition [RCBasic Doc]
+#header sub GetActorPosition( actor, ByRef x, ByRef y, ByRef z )
+
+Gets the actors position
+
+#ref SetActorPosition
diff --git a/doc/bu/files/getactorrotation.txt b/doc/bu/files/getactorrotation.txt
new file mode 100644
index 0000000..b8c5909
--- /dev/null
+++ b/doc/bu/files/getactorrotation.txt
@@ -0,0 +1,6 @@
+#title GetActorRotation [RCBasic Doc]
+#header sub GetActorRotation( actor, ByRef x, ByRef y, ByRef z )
+
+Gets the actors rotation on each axis
+
+#ref SetActorRotation
diff --git a/doc/bu/files/getactorrotationq.txt b/doc/bu/files/getactorrotationq.txt
new file mode 100644
index 0000000..b7c0450
--- /dev/null
+++ b/doc/bu/files/getactorrotationq.txt
@@ -0,0 +1,8 @@
+#title GetActorRotationQ [RCBasic Doc]
+#header sub GetActorRotationQ( actor, ByRef x, ByRef y, ByRef z, ByRef w)
+
+Gets the actors rotation as a quaternion.
+
+Note: This is useful for calculations that require quaternion but most developers should just use GetActorRotation()
+
+#ref GetActorRotation SetActorRotation
diff --git a/doc/bu/files/getactorscale.txt b/doc/bu/files/getactorscale.txt
new file mode 100644
index 0000000..d3d1064
--- /dev/null
+++ b/doc/bu/files/getactorscale.txt
@@ -0,0 +1,6 @@
+#title GetActorScale [RCBasic Doc]
+#header sub GetActorScale( actor, ByRef x, ByRef y, ByRef z )
+
+Gets an actor's scale
+
+#ref SetActorScale
diff --git a/doc/bu/files/getactorstartframe.txt b/doc/bu/files/getactorstartframe.txt
new file mode 100644
index 0000000..a48bd45
--- /dev/null
+++ b/doc/bu/files/getactorstartframe.txt
@@ -0,0 +1,4 @@
+#title GetActorStartFrame [RCBasic Doc]
+#header function GetActorStartFrame( actor )
+
+Returns the start frame of an actor's animation
diff --git a/doc/bu/files/getactortotalforce.txt b/doc/bu/files/getactortotalforce.txt
new file mode 100644
index 0000000..e891630
--- /dev/null
+++ b/doc/bu/files/getactortotalforce.txt
@@ -0,0 +1,6 @@
+#title GetActorTotalForce [RCBasic Doc]
+#header sub GetActorTotalForce( actor, ByRef x, ByRef y, ByRef z)
+
+Gets the total net force currently acting on an actor. This force is the sum of all external forces applied to the actor at a given point in time, including forces like gravity, applied forces, and other interactions such as contact or collision forces.
+
+#ref GetActorTotalTorque
diff --git a/doc/bu/files/getactortotaltorque.txt b/doc/bu/files/getactortotaltorque.txt
new file mode 100644
index 0000000..04516d8
--- /dev/null
+++ b/doc/bu/files/getactortotaltorque.txt
@@ -0,0 +1,6 @@
+#title GetActorTotalTorque [RCBasic Doc]
+#header sub GetActorTotalTorque( actor, ByRef x, ByRef y, ByRef z)
+
+Gets the total net torque currently acting on an actor. Torque represents the rotational equivalent of force, describing how different forces applied to the actor cause it to rotate. The total torque is the sum of all external torques acting on the actor, which determine how the actor will rotate or change its angular velocity.
+
+#ref GetTotalForces
diff --git a/doc/bu/files/getactortransform.txt b/doc/bu/files/getactortransform.txt
new file mode 100644
index 0000000..fb7ecac
--- /dev/null
+++ b/doc/bu/files/getactortransform.txt
@@ -0,0 +1,4 @@
+#title GetActorTransform [RCBasic Doc]
+#header sub GetActorTransform( actor, matrix )
+
+Stores the actors absolute transformation in the given matrix
diff --git a/doc/bu/files/getactortransitiontime.txt b/doc/bu/files/getactortransitiontime.txt
new file mode 100644
index 0000000..7bb2714
--- /dev/null
+++ b/doc/bu/files/getactortransitiontime.txt
@@ -0,0 +1,8 @@
+#title GetActorTransitionTime [RCBasic Doc]
+#header function GetActorTransitionTime( actor )
+
+Returns the total transition time of an actor transitioning between animations
+
+Note: Time returned is in seconds
+
+#ref StartActorTransition StopActorTransition ActorIsInTransition
diff --git a/doc/bu/files/getbilinearfilter.txt b/doc/bu/files/getbilinearfilter.txt
new file mode 100644
index 0000000..1cfdac2
--- /dev/null
+++ b/doc/bu/files/getbilinearfilter.txt
@@ -0,0 +1,6 @@
+#title GetBilinearFilter [RCBasic Doc]
+#header function GetBilinearFilter()
+
+Returns true if bilinear filtering is enabled
+
+#ref SetBilinearFilter
diff --git a/doc/bu/files/getblendmode.txt b/doc/bu/files/getblendmode.txt
new file mode 100644
index 0000000..de35dd7
--- /dev/null
+++ b/doc/bu/files/getblendmode.txt
@@ -0,0 +1,22 @@
+#title GetBlendMode [RCBasic Doc]
+#header function GetBlendMode( )
+
+Returns the current blend mode
+
+Note: Only applies to 2D image drawing commands
+
+Possible Blend Modes
+#list ul
+#li BLEND_MODE_NONE
+#li BLEND_MODE_ADD
+#li BLEND_MODE_SUBTRACT
+#li BLEND_MODE_REVSUBTRACT
+#li BLEND_MODE_MIN
+#li BLEND_MODE_MAX
+#li BLEND_MODE_MIN_FACTOR
+#li BLEND_MODE_MAX_FACTOR
+#li BLEND_MODE_MIN_ALPHA
+#li BLEND_MODE_MAX_ALPHA
+#/list
+
+#ref SetBlendMode
diff --git a/doc/bu/files/getcameraaspectratio.txt b/doc/bu/files/getcameraaspectratio.txt
new file mode 100644
index 0000000..afd5638
--- /dev/null
+++ b/doc/bu/files/getcameraaspectratio.txt
@@ -0,0 +1,6 @@
+#title GetCameraAspectRatio [RCBasic Doc]
+#header function GetCameraAspectRatio( )
+
+Returns the camera aspect ratio for the active canvas
+
+#ref SetCameraAspectRatio
diff --git a/doc/bu/files/getcamerafarvalue.txt b/doc/bu/files/getcamerafarvalue.txt
new file mode 100644
index 0000000..02ad686
--- /dev/null
+++ b/doc/bu/files/getcamerafarvalue.txt
@@ -0,0 +1,6 @@
+#title GetCameraFarValue [RCBasic Doc]
+#header function GetCameraFarValue( )
+
+Returns the far plane of the camera on the active canvas
+
+#ref GetCameraNearValue
diff --git a/doc/bu/files/getcamerafov.txt b/doc/bu/files/getcamerafov.txt
new file mode 100644
index 0000000..847d494
--- /dev/null
+++ b/doc/bu/files/getcamerafov.txt
@@ -0,0 +1,4 @@
+#title GetCameraFOV [RCBasic Doc]
+#header function GetCameraFOV( )
+
+Returns the field of view of the camera on the active canvas
diff --git a/doc/bu/files/getcameranearvalue.txt b/doc/bu/files/getcameranearvalue.txt
new file mode 100644
index 0000000..cbbeeda
--- /dev/null
+++ b/doc/bu/files/getcameranearvalue.txt
@@ -0,0 +1,6 @@
+#title GetCameraNearValue [RCBasic Doc]
+#header function GetCameraNearValue( )
+
+Returns the near plane of the camera on the active canvas
+
+#ref GetCameraFarValue
diff --git a/doc/bu/files/getcameraposition.txt b/doc/bu/files/getcameraposition.txt
new file mode 100644
index 0000000..bfbf333
--- /dev/null
+++ b/doc/bu/files/getcameraposition.txt
@@ -0,0 +1,6 @@
+#title GetCameraPosition [RCBasic Doc]
+#header sub GetCameraPosition(ByRef x, ByRef y, ByRef z)
+
+Gets the position of the camera
+
+#ref SetCameraPosition TranslateCamera
diff --git a/doc/bu/files/getcamerarotation.txt b/doc/bu/files/getcamerarotation.txt
new file mode 100644
index 0000000..5768652
--- /dev/null
+++ b/doc/bu/files/getcamerarotation.txt
@@ -0,0 +1,6 @@
+#title GetCameraRotation [RCBasic Doc]
+#header sub GetCameraRotation(ByRef x, ByRef y, ByRef z)
+
+Gets the rotation of the camera on each axis
+
+#ref SetCameraRotation RotateCamera
diff --git a/doc/bu/files/getcanvasalpha.txt b/doc/bu/files/getcanvasalpha.txt
new file mode 100644
index 0000000..10e1bf0
--- /dev/null
+++ b/doc/bu/files/getcanvasalpha.txt
@@ -0,0 +1,6 @@
+#title GetCanvasAlpha [RCBasic Doc]
+#header function GetCanvasAlpha(c_num)
+
+Returns the alpha blend value of a canvas
+
+#ref SetCanvasAlpha
diff --git a/doc/bu/files/getcanvascolormod.txt b/doc/bu/files/getcanvascolormod.txt
new file mode 100644
index 0000000..6842661
--- /dev/null
+++ b/doc/bu/files/getcanvascolormod.txt
@@ -0,0 +1,6 @@
+#title GetCanvasColorMod [RCBasic Doc]
+#header function GetCanvasColorMod(c_num)
+
+Returns the color modulation of a canvas
+
+#ref SetCanvasColorMod
diff --git a/doc/bu/files/getcanvasoffset.txt b/doc/bu/files/getcanvasoffset.txt
new file mode 100644
index 0000000..c35d618
--- /dev/null
+++ b/doc/bu/files/getcanvasoffset.txt
@@ -0,0 +1,6 @@
+#title GetCanvasOffset [RCBasic Doc]
+#header sub GetCanvasOffset(c_num, byref x, byref y)
+
+Returns view offset of a canvas
+
+#ref SetCanvasOffset
diff --git a/doc/bu/files/getcanvassize.txt b/doc/bu/files/getcanvassize.txt
new file mode 100644
index 0000000..bdb68af
--- /dev/null
+++ b/doc/bu/files/getcanvassize.txt
@@ -0,0 +1,4 @@
+#title GetCanvasSize [RCBasic Doc]
+#header sub GetCanvasSize(c_num, byref w, byref h)
+
+Gets the size of a canvas
diff --git a/doc/bu/files/getcanvasviewport.txt b/doc/bu/files/getcanvasviewport.txt
new file mode 100644
index 0000000..99ad32c
--- /dev/null
+++ b/doc/bu/files/getcanvasviewport.txt
@@ -0,0 +1,6 @@
+#title GetCanvasViewport [RCBasic Doc]
+#header sub GetCanvasViewport(c_num, byref x, byref y, byref w, byref h)
+
+Gets the position and size of a canvas viewport
+
+#ref OpenCanvas SetCanvasViewport
diff --git a/doc/bu/files/getcanvasz.txt b/doc/bu/files/getcanvasz.txt
new file mode 100644
index 0000000..d82f672
--- /dev/null
+++ b/doc/bu/files/getcanvasz.txt
@@ -0,0 +1,8 @@
+#title GetCanvasZ [RCBasic Doc]
+#header function GetCanvasZ(c_num)
+
+Returns the Canvas Z Order.
+
+Note: Canvases with a lower Z order are drawn first and those with higher values will be drawn on top
+
+#ref SetCanvasZ
diff --git a/doc/bu/files/getchannelvolume.txt b/doc/bu/files/getchannelvolume.txt
new file mode 100644
index 0000000..1101b98
--- /dev/null
+++ b/doc/bu/files/getchannelvolume.txt
@@ -0,0 +1,4 @@
+#title GetChannelVolume [RCBasic Doc]
+#header function GetChannelVolume(channel)
+
+Returns the volume of the audio on a channel
diff --git a/doc/bu/files/getcirclelineintersection.txt b/doc/bu/files/getcirclelineintersection.txt
new file mode 100644
index 0000000..1026aba
--- /dev/null
+++ b/doc/bu/files/getcirclelineintersection.txt
@@ -0,0 +1,6 @@
+#title GetCircleLineIntersection [RCBasic Doc]
+#header function GetCircleLineIntersection(circle_x, circle_y, radius, x1, y1, x2, y2, ByRef ix1, ByRef iy1, ByRef ix2, ByRef iy2)
+
+Calculates the points where a circle and line intersect and stores the intersection points in (ix1, iy1) and (ix2, iy2)
+
+NOTE: This function returns 0 if there is no intersection and 1 or 2 if there is 1 or 2 intersection points. If it only returns 1 then only (ix1, iy1) will be set.
diff --git a/doc/bu/files/getclipboardtext.txt b/doc/bu/files/getclipboardtext.txt
new file mode 100644
index 0000000..46fc3dc
--- /dev/null
+++ b/doc/bu/files/getclipboardtext.txt
@@ -0,0 +1,4 @@
+#title GetClipboardText$ [RCBasic Doc]
+#header function GetClipboardText$( )
+
+Returns the clipboard text.
diff --git a/doc/bu/files/getconstraintactora.txt b/doc/bu/files/getconstraintactora.txt
new file mode 100644
index 0000000..2a5767f
--- /dev/null
+++ b/doc/bu/files/getconstraintactora.txt
@@ -0,0 +1,4 @@
+#title getConstraintActorA [RCBasic Doc]
+#header function getConstraintActorA( constraint_id)
+
+Returns the first actor in a constraint
diff --git a/doc/bu/files/getconstraintactorb.txt b/doc/bu/files/getconstraintactorb.txt
new file mode 100644
index 0000000..b4bb449
--- /dev/null
+++ b/doc/bu/files/getconstraintactorb.txt
@@ -0,0 +1,4 @@
+#title getConstraintActorB [RCBasic Doc]
+#header function getConstraintActorB( constraint_id)
+
+Returns the second actor in a constraint
diff --git a/doc/bu/files/getconstraintaframe.txt b/doc/bu/files/getconstraintaframe.txt
new file mode 100644
index 0000000..08d4376
--- /dev/null
+++ b/doc/bu/files/getconstraintaframe.txt
@@ -0,0 +1,8 @@
+#title GetConstraintAFrame [RCBasic Doc]
+#header function GetConstraintAFrame( constraint_id, mA)
+
+Stores the transform of the first actor in a constraint in mA
+
+Note: Only applies to cone and hinge constraints
+
+#ref GetConstraintBFrame
diff --git a/doc/bu/files/getconstraintanchora.txt b/doc/bu/files/getconstraintanchora.txt
new file mode 100644
index 0000000..9d26062
--- /dev/null
+++ b/doc/bu/files/getconstraintanchora.txt
@@ -0,0 +1,8 @@
+#title GetConstraintAnchorA [RCBasic Doc]
+#header sub GetConstraintAnchorA( constraint_id, ByRef x, ByRef y, ByRef z)
+
+Gets the anchor point of the first actor in world space, where the slider constraint is acting on the actor. This point represents the location of the slider's reference frame on body A in the global coordinate system.
+
+Note: Only applies to Slider constraints
+
+#ref GetConstraintAnchorB
diff --git a/doc/bu/files/getconstraintanchorb.txt b/doc/bu/files/getconstraintanchorb.txt
new file mode 100644
index 0000000..63500ff
--- /dev/null
+++ b/doc/bu/files/getconstraintanchorb.txt
@@ -0,0 +1,8 @@
+#title GetConstraintAnchorB [RCBasic Doc]
+#header sub GetConstraintAnchorB( constraint_id, ByRef x, ByRef y, ByRef z)
+
+Gets the anchor point of the first actor in world space, where the slider constraint is acting on the actor. This point represents the location of the slider's reference frame on body B in the global coordinate system.
+
+Note: Only applies to Slider constraints
+
+#ref GetConstraintAnchorA
diff --git a/doc/bu/files/getconstraintangdepth.txt b/doc/bu/files/getconstraintangdepth.txt
new file mode 100644
index 0000000..c8e294b
--- /dev/null
+++ b/doc/bu/files/getconstraintangdepth.txt
@@ -0,0 +1,7 @@
+#title GetConstraintAngDepth [RCBasic Doc]
+#header function GetConstraintAngDepth( constraint_id)
+
+Gets the angular depth or the angular deviation from the expected orientation of the two actors (or one actor and the world) constrained by the slider. This "angular depth" refers to how much the actors are misaligned rotationally relative to the constraint’s expected or allowed configuration.
+
+
+Note: Only applies to Slider constraints
diff --git a/doc/files/getconstraintanglepoint.txt b/doc/bu/files/getconstraintanglepoint.txt
similarity index 51%
rename from doc/files/getconstraintanglepoint.txt
rename to doc/bu/files/getconstraintanglepoint.txt
index b0fc5db..0b6cfed 100644
--- a/doc/files/getconstraintanglepoint.txt
+++ b/doc/bu/files/getconstraintanglepoint.txt
@@ -1,4 +1,6 @@
#title getConstraintAnglePoint [RCBasic Doc]
#header sub getConstraintAnglePoint( constraint_id, angle, c_len, ByRef x, ByRef y, ByRef z)
+Computes or retrieves a point based on a given angle relative to the constraint’s twist axis.
+Note: Only applies to cone constraint
diff --git a/doc/bu/files/getconstraintangularonly.txt b/doc/bu/files/getconstraintangularonly.txt
new file mode 100644
index 0000000..3e57409
--- /dev/null
+++ b/doc/bu/files/getconstraintangularonly.txt
@@ -0,0 +1,4 @@
+#title getConstraintAngularOnly [RCBasic Doc]
+#header function getConstraintAngularOnly( constraint_id)
+
+
diff --git a/doc/files/getconstraintangularpos.txt b/doc/bu/files/getconstraintangularpos.txt
similarity index 100%
rename from doc/files/getconstraintangularpos.txt
rename to doc/bu/files/getconstraintangularpos.txt
diff --git a/doc/bu/files/getconstraintappliedimpulse.txt b/doc/bu/files/getconstraintappliedimpulse.txt
new file mode 100644
index 0000000..180117a
--- /dev/null
+++ b/doc/bu/files/getconstraintappliedimpulse.txt
@@ -0,0 +1,4 @@
+#title getConstraintAppliedImpulse [RCBasic Doc]
+#header function getConstraintAppliedImpulse( constraint_id)
+
+
diff --git a/doc/bu/files/getconstraintbframe.txt b/doc/bu/files/getconstraintbframe.txt
new file mode 100644
index 0000000..1419f08
--- /dev/null
+++ b/doc/bu/files/getconstraintbframe.txt
@@ -0,0 +1,8 @@
+#title GetConstraintBFrame [RCBasic Doc]
+#header function GetConstraintBFrame( constraint_id, mA)
+
+Stores the transform of the second actor in a constraint in mA
+
+Note: Only applies to cone and hinge constraints
+
+#ref GetConstraintAFrame
diff --git a/doc/files/getconstraintbiasfactor.txt b/doc/bu/files/getconstraintbiasfactor.txt
similarity index 100%
rename from doc/files/getconstraintbiasfactor.txt
rename to doc/bu/files/getconstraintbiasfactor.txt
diff --git a/doc/bu/files/getconstraintbreakingimpulsethreshold.txt b/doc/bu/files/getconstraintbreakingimpulsethreshold.txt
new file mode 100644
index 0000000..48f058a
--- /dev/null
+++ b/doc/bu/files/getconstraintbreakingimpulsethreshold.txt
@@ -0,0 +1,4 @@
+#title getConstraintBreakingImpulseThreshold [RCBasic Doc]
+#header function getConstraintBreakingImpulseThreshold( constraint_id)
+
+
diff --git a/doc/files/getconstraintdamping.txt b/doc/bu/files/getconstraintdamping.txt
similarity index 100%
rename from doc/files/getconstraintdamping.txt
rename to doc/bu/files/getconstraintdamping.txt
diff --git a/doc/files/getconstraintdampingdirang.txt b/doc/bu/files/getconstraintdampingdirang.txt
similarity index 100%
rename from doc/files/getconstraintdampingdirang.txt
rename to doc/bu/files/getconstraintdampingdirang.txt
diff --git a/doc/files/getconstraintdampingdirlin.txt b/doc/bu/files/getconstraintdampingdirlin.txt
similarity index 100%
rename from doc/files/getconstraintdampingdirlin.txt
rename to doc/bu/files/getconstraintdampingdirlin.txt
diff --git a/doc/files/getconstraintdampinglimang.txt b/doc/bu/files/getconstraintdampinglimang.txt
similarity index 100%
rename from doc/files/getconstraintdampinglimang.txt
rename to doc/bu/files/getconstraintdampinglimang.txt
diff --git a/doc/files/getconstraintdampinglimlin.txt b/doc/bu/files/getconstraintdampinglimlin.txt
similarity index 100%
rename from doc/files/getconstraintdampinglimlin.txt
rename to doc/bu/files/getconstraintdampinglimlin.txt
diff --git a/doc/files/getconstraintdampingorthoang.txt b/doc/bu/files/getconstraintdampingorthoang.txt
similarity index 100%
rename from doc/files/getconstraintdampingorthoang.txt
rename to doc/bu/files/getconstraintdampingorthoang.txt
diff --git a/doc/files/getconstraintdampingortholin.txt b/doc/bu/files/getconstraintdampingortholin.txt
similarity index 100%
rename from doc/files/getconstraintdampingortholin.txt
rename to doc/bu/files/getconstraintdampingortholin.txt
diff --git a/doc/bu/files/getconstraintfixedactor.txt b/doc/bu/files/getconstraintfixedactor.txt
new file mode 100644
index 0000000..57e4599
--- /dev/null
+++ b/doc/bu/files/getconstraintfixedactor.txt
@@ -0,0 +1,4 @@
+#title getConstraintFixedActor [RCBasic Doc]
+#header function getConstraintFixedActor( constraint_id)
+
+
diff --git a/doc/files/getconstraintfixthresh.txt b/doc/bu/files/getconstraintfixthresh.txt
similarity index 100%
rename from doc/files/getconstraintfixthresh.txt
rename to doc/bu/files/getconstraintfixthresh.txt
diff --git a/doc/bu/files/getconstraintframeoffseta.txt b/doc/bu/files/getconstraintframeoffseta.txt
new file mode 100644
index 0000000..c6fea6a
--- /dev/null
+++ b/doc/bu/files/getconstraintframeoffseta.txt
@@ -0,0 +1,4 @@
+#title getConstraintFrameOffsetA [RCBasic Doc]
+#header sub getConstraintFrameOffsetA( constraint_id, ByRef x, ByRef y, ByRef z, ByRef rx, ByRef ry, ByRef rz)
+
+
diff --git a/doc/bu/files/getconstraintframeoffsetb.txt b/doc/bu/files/getconstraintframeoffsetb.txt
new file mode 100644
index 0000000..01130ad
--- /dev/null
+++ b/doc/bu/files/getconstraintframeoffsetb.txt
@@ -0,0 +1,4 @@
+#title getConstraintFrameOffsetB [RCBasic Doc]
+#header sub getConstraintFrameOffsetB( constraint_id, ByRef x, ByRef y, ByRef z, ByRef rx, ByRef ry, ByRef rz)
+
+
diff --git a/doc/files/getconstraintlimit.txt b/doc/bu/files/getconstraintlimit.txt
similarity index 100%
rename from doc/files/getconstraintlimit.txt
rename to doc/bu/files/getconstraintlimit.txt
diff --git a/doc/files/getconstraintlimitbiasfactor.txt b/doc/bu/files/getconstraintlimitbiasfactor.txt
similarity index 100%
rename from doc/files/getconstraintlimitbiasfactor.txt
rename to doc/bu/files/getconstraintlimitbiasfactor.txt
diff --git a/doc/files/getconstraintlimitsign.txt b/doc/bu/files/getconstraintlimitsign.txt
similarity index 100%
rename from doc/files/getconstraintlimitsign.txt
rename to doc/bu/files/getconstraintlimitsign.txt
diff --git a/doc/bu/files/getconstraintlimitsoftness.txt b/doc/bu/files/getconstraintlimitsoftness.txt
new file mode 100644
index 0000000..4a653d5
--- /dev/null
+++ b/doc/bu/files/getconstraintlimitsoftness.txt
@@ -0,0 +1,4 @@
+#title getConstraintLimitSoftness [RCBasic Doc]
+#header function getConstraintLimitSoftness( constraint_id)
+
+
diff --git a/doc/files/getconstraintlindepth.txt b/doc/bu/files/getconstraintlindepth.txt
similarity index 100%
rename from doc/files/getconstraintlindepth.txt
rename to doc/bu/files/getconstraintlindepth.txt
diff --git a/doc/files/getconstraintlinearpos.txt b/doc/bu/files/getconstraintlinearpos.txt
similarity index 100%
rename from doc/files/getconstraintlinearpos.txt
rename to doc/bu/files/getconstraintlinearpos.txt
diff --git a/doc/files/getconstraintloweranglimit.txt b/doc/bu/files/getconstraintloweranglimit.txt
similarity index 100%
rename from doc/files/getconstraintloweranglimit.txt
rename to doc/bu/files/getconstraintloweranglimit.txt
diff --git a/doc/files/getconstraintlowerlinlimit.txt b/doc/bu/files/getconstraintlowerlinlimit.txt
similarity index 100%
rename from doc/files/getconstraintlowerlinlimit.txt
rename to doc/bu/files/getconstraintlowerlinlimit.txt
diff --git a/doc/files/getconstraintpivota.txt b/doc/bu/files/getconstraintpivota.txt
similarity index 100%
rename from doc/files/getconstraintpivota.txt
rename to doc/bu/files/getconstraintpivota.txt
diff --git a/doc/files/getconstraintpivotb.txt b/doc/bu/files/getconstraintpivotb.txt
similarity index 100%
rename from doc/files/getconstraintpivotb.txt
rename to doc/bu/files/getconstraintpivotb.txt
diff --git a/doc/files/getconstraintrestitutiondirang.txt b/doc/bu/files/getconstraintrestitutiondirang.txt
similarity index 100%
rename from doc/files/getconstraintrestitutiondirang.txt
rename to doc/bu/files/getconstraintrestitutiondirang.txt
diff --git a/doc/files/getconstraintrestitutiondirlin.txt b/doc/bu/files/getconstraintrestitutiondirlin.txt
similarity index 100%
rename from doc/files/getconstraintrestitutiondirlin.txt
rename to doc/bu/files/getconstraintrestitutiondirlin.txt
diff --git a/doc/files/getconstraintrestitutionlimang.txt b/doc/bu/files/getconstraintrestitutionlimang.txt
similarity index 100%
rename from doc/files/getconstraintrestitutionlimang.txt
rename to doc/bu/files/getconstraintrestitutionlimang.txt
diff --git a/doc/files/getconstraintrestitutionlimlin.txt b/doc/bu/files/getconstraintrestitutionlimlin.txt
similarity index 100%
rename from doc/files/getconstraintrestitutionlimlin.txt
rename to doc/bu/files/getconstraintrestitutionlimlin.txt
diff --git a/doc/files/getconstraintrestitutionorthoang.txt b/doc/bu/files/getconstraintrestitutionorthoang.txt
similarity index 100%
rename from doc/files/getconstraintrestitutionorthoang.txt
rename to doc/bu/files/getconstraintrestitutionorthoang.txt
diff --git a/doc/files/getconstraintrestitutionortholin.txt b/doc/bu/files/getconstraintrestitutionortholin.txt
similarity index 100%
rename from doc/files/getconstraintrestitutionortholin.txt
rename to doc/bu/files/getconstraintrestitutionortholin.txt
diff --git a/doc/files/getconstraintsoftnessdirang.txt b/doc/bu/files/getconstraintsoftnessdirang.txt
similarity index 100%
rename from doc/files/getconstraintsoftnessdirang.txt
rename to doc/bu/files/getconstraintsoftnessdirang.txt
diff --git a/doc/files/getconstraintsoftnessdirlin.txt b/doc/bu/files/getconstraintsoftnessdirlin.txt
similarity index 100%
rename from doc/files/getconstraintsoftnessdirlin.txt
rename to doc/bu/files/getconstraintsoftnessdirlin.txt
diff --git a/doc/files/getconstraintsoftnesslimang.txt b/doc/bu/files/getconstraintsoftnesslimang.txt
similarity index 100%
rename from doc/files/getconstraintsoftnesslimang.txt
rename to doc/bu/files/getconstraintsoftnesslimang.txt
diff --git a/doc/files/getconstraintsoftnesslimlin.txt b/doc/bu/files/getconstraintsoftnesslimlin.txt
similarity index 100%
rename from doc/files/getconstraintsoftnesslimlin.txt
rename to doc/bu/files/getconstraintsoftnesslimlin.txt
diff --git a/doc/files/getconstraintsoftnessorthoang.txt b/doc/bu/files/getconstraintsoftnessorthoang.txt
similarity index 100%
rename from doc/files/getconstraintsoftnessorthoang.txt
rename to doc/bu/files/getconstraintsoftnessorthoang.txt
diff --git a/doc/files/getconstraintsoftnessortholin.txt b/doc/bu/files/getconstraintsoftnessortholin.txt
similarity index 100%
rename from doc/files/getconstraintsoftnessortholin.txt
rename to doc/bu/files/getconstraintsoftnessortholin.txt
diff --git a/doc/files/getconstraintsolveanglimit.txt b/doc/bu/files/getconstraintsolveanglimit.txt
similarity index 100%
rename from doc/files/getconstraintsolveanglimit.txt
rename to doc/bu/files/getconstraintsolveanglimit.txt
diff --git a/doc/files/getconstraintsolvelimit.txt b/doc/bu/files/getconstraintsolvelimit.txt
similarity index 100%
rename from doc/files/getconstraintsolvelimit.txt
rename to doc/bu/files/getconstraintsolvelimit.txt
diff --git a/doc/files/getconstraintsolvelinlimit.txt b/doc/bu/files/getconstraintsolvelinlimit.txt
similarity index 100%
rename from doc/files/getconstraintsolvelinlimit.txt
rename to doc/bu/files/getconstraintsolvelinlimit.txt
diff --git a/doc/bu/files/getconstraintsolveriterations.txt b/doc/bu/files/getconstraintsolveriterations.txt
new file mode 100644
index 0000000..951060c
--- /dev/null
+++ b/doc/bu/files/getconstraintsolveriterations.txt
@@ -0,0 +1,4 @@
+#title getConstraintSolverIterations [RCBasic Doc]
+#header function getConstraintSolverIterations( constraint_id)
+
+
diff --git a/doc/files/getconstraintsolveswinglimit.txt b/doc/bu/files/getconstraintsolveswinglimit.txt
similarity index 100%
rename from doc/files/getconstraintsolveswinglimit.txt
rename to doc/bu/files/getconstraintsolveswinglimit.txt
diff --git a/doc/files/getconstraintsolvetwistlimit.txt b/doc/bu/files/getconstraintsolvetwistlimit.txt
similarity index 100%
rename from doc/files/getconstraintsolvetwistlimit.txt
rename to doc/bu/files/getconstraintsolvetwistlimit.txt
diff --git a/doc/files/getconstraintswingspan1.txt b/doc/bu/files/getconstraintswingspan1.txt
similarity index 100%
rename from doc/files/getconstraintswingspan1.txt
rename to doc/bu/files/getconstraintswingspan1.txt
diff --git a/doc/files/getconstraintswingspan2.txt b/doc/bu/files/getconstraintswingspan2.txt
similarity index 100%
rename from doc/files/getconstraintswingspan2.txt
rename to doc/bu/files/getconstraintswingspan2.txt
diff --git a/doc/files/getconstrainttwistangle.txt b/doc/bu/files/getconstrainttwistangle.txt
similarity index 100%
rename from doc/files/getconstrainttwistangle.txt
rename to doc/bu/files/getconstrainttwistangle.txt
diff --git a/doc/files/getconstrainttwistlimitsign.txt b/doc/bu/files/getconstrainttwistlimitsign.txt
similarity index 100%
rename from doc/files/getconstrainttwistlimitsign.txt
rename to doc/bu/files/getconstrainttwistlimitsign.txt
diff --git a/doc/files/getconstrainttwistspan.txt b/doc/bu/files/getconstrainttwistspan.txt
similarity index 100%
rename from doc/files/getconstrainttwistspan.txt
rename to doc/bu/files/getconstrainttwistspan.txt
diff --git a/doc/files/getconstraintupperanglimit.txt b/doc/bu/files/getconstraintupperanglimit.txt
similarity index 100%
rename from doc/files/getconstraintupperanglimit.txt
rename to doc/bu/files/getconstraintupperanglimit.txt
diff --git a/doc/files/getconstraintupperlinlimit.txt b/doc/bu/files/getconstraintupperlinlimit.txt
similarity index 100%
rename from doc/files/getconstraintupperlinlimit.txt
rename to doc/bu/files/getconstraintupperlinlimit.txt
diff --git a/doc/files/getconstraintuseframeoffset.txt b/doc/bu/files/getconstraintuseframeoffset.txt
similarity index 100%
rename from doc/files/getconstraintuseframeoffset.txt
rename to doc/bu/files/getconstraintuseframeoffset.txt
diff --git a/doc/bu/files/getdesktopdisplaymode.txt b/doc/bu/files/getdesktopdisplaymode.txt
new file mode 100644
index 0000000..65150ed
--- /dev/null
+++ b/doc/bu/files/getdesktopdisplaymode.txt
@@ -0,0 +1,10 @@
+#title GetDesktopDisplayMode [RCBasic Doc]
+#header Sub GetDesktopDisplayMode(index, ByRef w, ByRef h, ByRef freq)
+
+Gets the resolution and refresh rate of a display
+
+#list
+#li index - The display index (ie. if you have 3 displays then index could be 0, 1, or 2)
+#li w, h - The width and height of the display will be stored in these variables
+#li freq - The refresh rate will be stored in this variable
+#/list
diff --git a/doc/bu/files/getglobalmouse.txt b/doc/bu/files/getglobalmouse.txt
new file mode 100644
index 0000000..7267e36
--- /dev/null
+++ b/doc/bu/files/getglobalmouse.txt
@@ -0,0 +1,4 @@
+#title GetGlobalMouse [RCBasic Doc]
+#header sub GetGlobalMouse(ByRef x, ByRef y, ByRef mb1, ByRef mb2, ByRef mb3)
+
+Gets the global mouse position and button state
diff --git a/doc/bu/files/getgravity3d.txt b/doc/bu/files/getgravity3d.txt
new file mode 100644
index 0000000..ffb2a6a
--- /dev/null
+++ b/doc/bu/files/getgravity3d.txt
@@ -0,0 +1,6 @@
+#title GetGravity3D [RCBasic Doc]
+#header sub GetGravity3D(ByRef x, ByRef y, ByRef z)
+
+Gets the world gravity
+
+#ref SetGravity3D
diff --git a/doc/bu/files/getgyro.txt b/doc/bu/files/getgyro.txt
new file mode 100644
index 0000000..b622e77
--- /dev/null
+++ b/doc/bu/files/getgyro.txt
@@ -0,0 +1,4 @@
+#title GetGyro [RCBasic Doc]
+#header sub GetGyro(gyro_num, ByRef x, ByRef y, ByRef z)
+
+Gets the values of a Gyro sensor
diff --git a/doc/bu/files/gethingeangle.txt b/doc/bu/files/gethingeangle.txt
new file mode 100644
index 0000000..341c02c
--- /dev/null
+++ b/doc/bu/files/gethingeangle.txt
@@ -0,0 +1,4 @@
+#title getHingeAngle [RCBasic Doc]
+#header function getHingeAngle( constraint_id)
+
+Returns the angle of a hinge constraint
diff --git a/doc/bu/files/gethingeangleex.txt b/doc/bu/files/gethingeangleex.txt
new file mode 100644
index 0000000..c89928a
--- /dev/null
+++ b/doc/bu/files/gethingeangleex.txt
@@ -0,0 +1,4 @@
+#title getHingeAngleEx [RCBasic Doc]
+#header function getHingeAngleEx( constraint_id, t_matrixA, t_matrixB)
+
+Returns the transforms of the 2 actors in a hinge constraint
diff --git a/doc/bu/files/gethingesolvelimit.txt b/doc/bu/files/gethingesolvelimit.txt
new file mode 100644
index 0000000..39368ae
--- /dev/null
+++ b/doc/bu/files/gethingesolvelimit.txt
@@ -0,0 +1,4 @@
+#title getHingeSolveLimit [RCBasic Doc]
+#header function getHingeSolveLimit( constraint_id)
+
+
diff --git a/doc/bu/files/getimagealpha.txt b/doc/bu/files/getimagealpha.txt
new file mode 100644
index 0000000..7b25488
--- /dev/null
+++ b/doc/bu/files/getimagealpha.txt
@@ -0,0 +1,4 @@
+#title GetImageAlpha [RCBasic Doc]
+#header function GetImageAlpha( img_id )
+
+Returns the alpha blend value of an image
diff --git a/doc/bu/files/getimagecolormod.txt b/doc/bu/files/getimagecolormod.txt
new file mode 100644
index 0000000..c6b6c95
--- /dev/null
+++ b/doc/bu/files/getimagecolormod.txt
@@ -0,0 +1,4 @@
+#title GetImageColorMod [RCBasic Doc]
+#header function GetImageColorMod(img)
+
+Returns the color modulation of an image
diff --git a/doc/bu/files/getimagesize.txt b/doc/bu/files/getimagesize.txt
new file mode 100644
index 0000000..b58abc4
--- /dev/null
+++ b/doc/bu/files/getimagesize.txt
@@ -0,0 +1,4 @@
+#title GetImageSize [RCBasic Doc]
+#header sub GetImageSize(slot, byref w, byref h)
+
+Gets the Size of an image
diff --git a/doc/bu/files/getjoytrackball.txt b/doc/bu/files/getjoytrackball.txt
new file mode 100644
index 0000000..943a43e
--- /dev/null
+++ b/doc/bu/files/getjoytrackball.txt
@@ -0,0 +1,4 @@
+#title GetJoyTrackBall [RCBasic Doc]
+#header sub GetJoyTrackBall(joy_num, ball, byref dx, byref dy)
+
+Gets the axis values of a track ball
diff --git a/doc/bu/files/getlightambientcolor.txt b/doc/bu/files/getlightambientcolor.txt
new file mode 100644
index 0000000..ea6f936
--- /dev/null
+++ b/doc/bu/files/getlightambientcolor.txt
@@ -0,0 +1,4 @@
+#title GetLightAmbientColor [RCBasic Doc]
+#header function GetLightAmbientColor( actor )
+
+Returns the ambient color of a light
diff --git a/doc/bu/files/getlightattenuation.txt b/doc/bu/files/getlightattenuation.txt
new file mode 100644
index 0000000..b671d9e
--- /dev/null
+++ b/doc/bu/files/getlightattenuation.txt
@@ -0,0 +1,4 @@
+#title GetLightAttenuation [RCBasic Doc]
+#header sub GetLightAttenuation( actor, ByRef constant, ByRef linear, ByRef quadratic)
+
+Gets the strength of the light
diff --git a/doc/bu/files/getlightdiffusecolor.txt b/doc/bu/files/getlightdiffusecolor.txt
new file mode 100644
index 0000000..643d85d
--- /dev/null
+++ b/doc/bu/files/getlightdiffusecolor.txt
@@ -0,0 +1,4 @@
+#title GetLightDiffuseColor [RCBasic Doc]
+#header function GetLightDiffuseColor( actor )
+
+Returns the diffuse color of the light
diff --git a/doc/bu/files/getlightfalloff.txt b/doc/bu/files/getlightfalloff.txt
new file mode 100644
index 0000000..0a2f291
--- /dev/null
+++ b/doc/bu/files/getlightfalloff.txt
@@ -0,0 +1,4 @@
+#title GetLightFalloff [RCBasic Doc]
+#header function GetLightFalloff( actor )
+
+Returns the strength decrease between the inner and outer cone of a light
diff --git a/doc/bu/files/getlightinnercone.txt b/doc/bu/files/getlightinnercone.txt
new file mode 100644
index 0000000..cbf606b
--- /dev/null
+++ b/doc/bu/files/getlightinnercone.txt
@@ -0,0 +1,4 @@
+#title GetLightInnerCone [RCBasic Doc]
+#header function GetLightInnerCone( actor )
+
+Returns the inner cone of a spot light
diff --git a/doc/bu/files/getlightoutercone.txt b/doc/bu/files/getlightoutercone.txt
new file mode 100644
index 0000000..fd6355b
--- /dev/null
+++ b/doc/bu/files/getlightoutercone.txt
@@ -0,0 +1,4 @@
+#title GetLightOuterCone [RCBasic Doc]
+#header function GetLightOuterCone( actor )
+
+Returns the outer cone of a spot light
diff --git a/doc/bu/files/getlightradius.txt b/doc/bu/files/getlightradius.txt
new file mode 100644
index 0000000..97c1d9d
--- /dev/null
+++ b/doc/bu/files/getlightradius.txt
@@ -0,0 +1,4 @@
+#title getLightRadius [RCBasic Doc]
+#header function getLightRadius( actor )
+
+Returns the radius of the light
diff --git a/doc/bu/files/getlightspecularcolor.txt b/doc/bu/files/getlightspecularcolor.txt
new file mode 100644
index 0000000..85fcc57
--- /dev/null
+++ b/doc/bu/files/getlightspecularcolor.txt
@@ -0,0 +1,4 @@
+#title GetLightSpecularColor [RCBasic Doc]
+#header function GetLightSpecularColor( actor )
+
+Returns the specular color of a light
diff --git a/doc/bu/files/getlighttype.txt b/doc/bu/files/getlighttype.txt
new file mode 100644
index 0000000..42a4e51
--- /dev/null
+++ b/doc/bu/files/getlighttype.txt
@@ -0,0 +1,15 @@
+#title GetLightType [RCBasic Doc]
+#header function GetLightType( actor )
+
+Returns the type of light
+
+Returns -1 if it does not have a type (ie. its not a light)
+
+Possible Light Types
+#list ul
+#li LIGHT_TYPE_POINT
+#li LIGHT_TYPE_POINT
+#li LIGHT_TYPE_POINT
+#/light
+
+#ref SetLightType
diff --git a/doc/files/getlimitrelaxationfactor.txt b/doc/bu/files/getlimitrelaxationfactor.txt
similarity index 100%
rename from doc/files/getlimitrelaxationfactor.txt
rename to doc/bu/files/getlimitrelaxationfactor.txt
diff --git a/doc/bu/files/getlineintersection.txt b/doc/bu/files/getlineintersection.txt
new file mode 100644
index 0000000..2de427b
--- /dev/null
+++ b/doc/bu/files/getlineintersection.txt
@@ -0,0 +1,6 @@
+#title GetLineIntersection [RCBasic Doc]
+#header Function GetLineIntersection(p0_x, p0_y, p1_x, p1_y, p2_x, p2_y, p3_x, p3_y, ByRef i_x, ByRef i_y)
+
+Sets (i_x, i_y) to the intersection of lines p0-p1 and p2-p3
+
+Returns true if there is a collision and false if not
diff --git a/doc/bu/files/getlineplaneintersection.txt b/doc/bu/files/getlineplaneintersection.txt
new file mode 100644
index 0000000..d929740
--- /dev/null
+++ b/doc/bu/files/getlineplaneintersection.txt
@@ -0,0 +1,15 @@
+#title GetLinePlaneIntersection [RCBasic Doc]
+#header function GetLinePlaneIntersection(ByRef line_point, ByRef line_direction, ByRef plane_point_1, ByRef plane_point_2, ByRef plane_point_3, ByRef intersection)
+
+This function calculates the intersection between a line and a plane in 3D space and stores the result in intersection
+
+Parameters:
+#list ul
+#li line_point - An array with an (x,y,z) point representing the start of a line
+#li line_direction - An array with an (x,y,z) point representing another point on the line in the direction its moving
+#li plane_point_1 - An array with an (x,y,z) point representing a point on a plane in 3D space
+#li plane_point_2 - An array with an (x,y,z) point representing a point on a plane in 3D space
+#li plane_point_3 - An array with an (x,y,z) point representing a point on a plane in 3D space
+#/list
+
+Returns true if intersection point is on the plane
diff --git a/doc/bu/files/getmaterialambientcolor.txt b/doc/bu/files/getmaterialambientcolor.txt
new file mode 100644
index 0000000..2de78a6
--- /dev/null
+++ b/doc/bu/files/getmaterialambientcolor.txt
@@ -0,0 +1,4 @@
+#title GetMaterialAmbientColor [RCBasic Doc]
+#header function GetMaterialAmbientColor( material_id)
+
+Returns the ambient color of a material
diff --git a/doc/bu/files/getmaterialantialiasing.txt b/doc/bu/files/getmaterialantialiasing.txt
new file mode 100644
index 0000000..b847cd7
--- /dev/null
+++ b/doc/bu/files/getmaterialantialiasing.txt
@@ -0,0 +1,17 @@
+#title GetMaterialAntiAliasing [RCBasic Doc]
+#header function GetMaterialAntiAliasing( material_id)
+
+Returns the anti-aliasing mode for the material
+
+Possible modes returned
+#list
+#li AA_MODE_OFF=0,
+#li AA_MODE_SIMPLE=1,
+#li AA_MODE_QUALITY=3,
+#li AA_MODE_LINE_SMOOTH=4,
+#li AA_MODE_POINT_SMOOTH=8,
+#li AA_MODE_FULL_BASIC=15,
+#li AA_MODE_ALPHA_TO_COVERAGE=16
+#/list
+
+#ref SetMaterialAntiAliasing
diff --git a/doc/bu/files/getmaterialbackfaceculling.txt b/doc/bu/files/getmaterialbackfaceculling.txt
new file mode 100644
index 0000000..ac49cc4
--- /dev/null
+++ b/doc/bu/files/getmaterialbackfaceculling.txt
@@ -0,0 +1,6 @@
+#title getMaterialBackfaceCulling [RCBasic Doc]
+#header function getMaterialBackfaceCulling( material_id)
+
+Returns true if backface culling is enabled for a material
+
+#ref SetMaterialBackfaceCulling
diff --git a/doc/bu/files/getmaterialblendfactor.txt b/doc/bu/files/getmaterialblendfactor.txt
new file mode 100644
index 0000000..11e4ee6
--- /dev/null
+++ b/doc/bu/files/getmaterialblendfactor.txt
@@ -0,0 +1,7 @@
+#title getMaterialBlendFactor [RCBasic Doc]
+#header function getMaterialBlendFactor( material_id)
+
+Returns a materials blend factor
+
+
+
diff --git a/doc/bu/files/getmaterialblendmode.txt b/doc/bu/files/getmaterialblendmode.txt
new file mode 100644
index 0000000..88bf52b
--- /dev/null
+++ b/doc/bu/files/getmaterialblendmode.txt
@@ -0,0 +1,20 @@
+#title getMaterialBlendMode [RCBasic Doc]
+#header function getMaterialBlendMode( material_id)
+
+Returns a materials blend mode
+
+Possible Blend Modes
+#list ul
+#li BLEND_MODE_NONE
+#li BLEND_MODE_ADD
+#li BLEND_MODE_SUBTRACT
+#li BLEND_MODE_REVSUBTRACT
+#li BLEND_MODE_MIN
+#li BLEND_MODE_MAX
+#li BLEND_MODE_MIN_FACTOR
+#li BLEND_MODE_MAX_FACTOR
+#li BLEND_MODE_MIN_ALPHA
+#li BLEND_MODE_MAX_ALPHA
+#/list
+
+#ref SetMaterialBlendMode
diff --git a/doc/bu/files/getmaterialcolormask.txt b/doc/bu/files/getmaterialcolormask.txt
new file mode 100644
index 0000000..b0eddc2
--- /dev/null
+++ b/doc/bu/files/getmaterialcolormask.txt
@@ -0,0 +1,4 @@
+#title GetMaterialColorMask [RCBasic Doc]
+#header function GetMaterialColorMask( material_id)
+
+Returns the color mask for a material
diff --git a/doc/bu/files/getmaterialcolormode.txt b/doc/bu/files/getmaterialcolormode.txt
new file mode 100644
index 0000000..0f51fe2
--- /dev/null
+++ b/doc/bu/files/getmaterialcolormode.txt
@@ -0,0 +1,16 @@
+#title getMaterialColorMode [RCBasic Doc]
+#header function getMaterialColorMode( material_id)
+
+Returns the color mode of a material
+
+Possible modes
+#list ul
+#li COLOR_MODE_NONE
+#li COLOR_MODE_DIFFUSE
+#li COLOR_MODE_AMBIENT
+#li COLOR_MODE_EMISSIVE
+#li COLOR_MODE_SPECULAR
+#li COLOR_MODE_DIFFUSE_AND_AMBIENT
+#/list
+
+#ref SetMaterialColorMode
diff --git a/doc/bu/files/getmaterialdiffusecolor.txt b/doc/bu/files/getmaterialdiffusecolor.txt
new file mode 100644
index 0000000..7fb645d
--- /dev/null
+++ b/doc/bu/files/getmaterialdiffusecolor.txt
@@ -0,0 +1,6 @@
+#title getMaterialDiffuseColor [RCBasic Doc]
+#header function getMaterialDiffuseColor( material_id)
+
+Returns a material's diffuse color
+
+#ref SetMaterialDiffuseColor
diff --git a/doc/bu/files/getmaterialemissivecolor.txt b/doc/bu/files/getmaterialemissivecolor.txt
new file mode 100644
index 0000000..38cda17
--- /dev/null
+++ b/doc/bu/files/getmaterialemissivecolor.txt
@@ -0,0 +1,6 @@
+#title getMaterialEmissiveColor [RCBasic Doc]
+#header function getMaterialEmissiveColor( material_id)
+
+Returns a material's emissive color
+
+#ref SetMaterialEmissiveColor
diff --git a/doc/bu/files/getmaterialflag.txt b/doc/bu/files/getmaterialflag.txt
new file mode 100644
index 0000000..9760883
--- /dev/null
+++ b/doc/bu/files/getmaterialflag.txt
@@ -0,0 +1,30 @@
+#title getMaterialFlag [RCBasic Doc]
+#header function getMaterialFlag( material_id, material_flag)
+
+Returns the value of the specified material flag
+
+Possible values for flag:
+#list
+#li MATERIAL_FLAG_WIREFRAME
+#li MATERIAL_FLAG_POINTCLOUD
+#li MATERIAL_FLAG_GOURAUD_SHADING
+#li MATERIAL_FLAG_LIGHTING
+#li MATERIAL_FLAG_ZBUFFER
+#li MATERIAL_FLAG_ZWRITE_ENABLE
+#li MATERIAL_FLAG_BACK_FACE_CULLING
+#li MATERIAL_FLAG_FRONT_FACE_CULLING
+#li MATERIAL_FLAG_BILINEAR_FILTER
+#li MATERIAL_FLAG_TRILINEAR_FILTER
+#li MATERIAL_FLAG_ANISOTROPIC_FILTER
+#li MATERIAL_FLAG_FOG_ENABLE
+#li MATERIAL_FLAG_NORMALIZE_NORMALS
+#li MATERIAL_FLAG_TEXTURE_WRAP
+#li MATERIAL_FLAG_ANTI_ALIASING
+#li MATERIAL_FLAG_COLOR_MASK
+#li MATERIAL_FLAG_COLOR_MATERIAL
+#li MATERIAL_FLAG_USE_MIP_MAPS
+#li MATERIAL_FLAG_BLEND_OPERATION
+#li MATERIAL_FLAG_POLYGON_OFFSET
+#/list
+
+#ref GetActorMaterialFlag
diff --git a/doc/bu/files/getmaterialfog.txt b/doc/bu/files/getmaterialfog.txt
new file mode 100644
index 0000000..0e7de18
--- /dev/null
+++ b/doc/bu/files/getmaterialfog.txt
@@ -0,0 +1,6 @@
+#title getMaterialFog [RCBasic Doc]
+#header function getMaterialFog( material_id)
+
+Returns true if fog is enabled for a material
+
+#ref SetMaterialFog
diff --git a/doc/bu/files/getmaterialfrontfaceculling.txt b/doc/bu/files/getmaterialfrontfaceculling.txt
new file mode 100644
index 0000000..5efcf81
--- /dev/null
+++ b/doc/bu/files/getmaterialfrontfaceculling.txt
@@ -0,0 +1,6 @@
+#title getMaterialFrontfaceCulling [RCBasic Doc]
+#header function getMaterialFrontfaceCulling( material_id)
+
+Returns true if front face culling is enabled for a material
+
+#ref SetMaterialFrontfaceCulling
diff --git a/doc/bu/files/getmaterialshininess.txt b/doc/bu/files/getmaterialshininess.txt
new file mode 100644
index 0000000..976155a
--- /dev/null
+++ b/doc/bu/files/getmaterialshininess.txt
@@ -0,0 +1,6 @@
+#title getMaterialShininess [RCBasic Doc]
+#header function getMaterialShininess( material_id)
+
+Returns the shininess value for a material
+
+#ref SetMaterialShininess
diff --git a/doc/bu/files/getmaterialspecularcolor.txt b/doc/bu/files/getmaterialspecularcolor.txt
new file mode 100644
index 0000000..4b85db8
--- /dev/null
+++ b/doc/bu/files/getmaterialspecularcolor.txt
@@ -0,0 +1,6 @@
+#title getMaterialSpecularColor [RCBasic Doc]
+#header function getMaterialSpecularColor( material_id)
+
+Returns the specular color for a material
+
+#ref SetMaterialSpecularColor
diff --git a/doc/bu/files/getmaterialthickness.txt b/doc/bu/files/getmaterialthickness.txt
new file mode 100644
index 0000000..1725ccd
--- /dev/null
+++ b/doc/bu/files/getmaterialthickness.txt
@@ -0,0 +1,8 @@
+#title getMaterialThickness [RCBasic Doc]
+#header function getMaterialThickness( material_id)
+
+Returns a material's thickness value
+
+Thickness value is mainly for primitives such as lines
+
+#ref SetMaterialThickness
diff --git a/doc/bu/files/getmaterialtype.txt b/doc/bu/files/getmaterialtype.txt
new file mode 100644
index 0000000..53ee577
--- /dev/null
+++ b/doc/bu/files/getmaterialtype.txt
@@ -0,0 +1,35 @@
+#title getMaterialType [RCBasic Doc]
+#header function getMaterialType( material_id)
+
+Returns a material's type
+
+Possible types
+#list ul
+#li MATERIAL_TYPE_SOLID
+#li MATERIAL_TYPE_SOLID_2_LAYER
+#li MATERIAL_TYPE_LIGHTMAP
+#li MATERIAL_TYPE_LIGHTMAP_ADD
+#li MATERIAL_TYPE_LIGHTMAP_M2
+#li MATERIAL_TYPE_LIGHTMAP_M4
+#li MATERIAL_TYPE_LIGHTMAP_LIGHTING
+#li MATERIAL_TYPE_LIGHTMAP_LIGHTING_M2
+#li MATERIAL_TYPE_LIGHTMAP_LIGHTING_M4
+#li MATERIAL_TYPE_DETAIL_MAP
+#li MATERIAL_TYPE_SPHERE_MAP
+#li MATERIAL_TYPE_REFLECTION_2_LAYER
+#li MATERIAL_TYPE_TRANSPARENT_ADD_COLOR
+#li MATERIAL_TYPE_TRANSPARENT_ALPHA_CHANNEL
+#li MATERIAL_TYPE_TRANSPARENT_ALPHA_CHANNEL_REF
+#li MATERIAL_TYPE_TRANSPARENT_VERTEX_ALPHA
+#li MATERIAL_TYPE_TRANSPARENT_REFLECTION_2_LAYER
+#li MATERIAL_TYPE_NORMAL_MAP_SOLID
+#li MATERIAL_TYPE_NORMAL_MAP_TRANSPARENT_ADD_COLOR
+#li MATERIAL_TYPE_NORMAL_MAP_TRANSPARENT_VERTEX_ALPHA
+#li MATERIAL_TYPE_PARALLAX_MAP_SOLID
+#li MATERIAL_TYPE_PARALLAX_MAP_TRANSPARENT_ADD_COLOR
+#li MATERIAL_TYPE_PARALLAX_MAP_TRANSPARENT_VERTEX_ALPHA
+#li MATERIAL_TYPE_ONETEXTURE_BLEND
+#li MATERIAL_TYPE_FORCE_32BIT
+#/list
+
+#ref SetMaterialType GetActorMaterialType SetActorMaterialType
diff --git a/doc/bu/files/getmatrixrotation.txt b/doc/bu/files/getmatrixrotation.txt
new file mode 100644
index 0000000..d8ad74a
--- /dev/null
+++ b/doc/bu/files/getmatrixrotation.txt
@@ -0,0 +1,7 @@
+#title GetMatrixRotation [RCBasic Doc]
+#header sub GetMatrixRotation( mA, ByRef x, ByRef y, ByRef z)
+
+Gets the rotation vector of a matrix
+
+#ref SetMatrixRotation
+
diff --git a/doc/bu/files/getmatrixscale.txt b/doc/bu/files/getmatrixscale.txt
new file mode 100644
index 0000000..f0125cc
--- /dev/null
+++ b/doc/bu/files/getmatrixscale.txt
@@ -0,0 +1,6 @@
+#title GetMatrixScale [RCBasic Doc]
+#header sub GetMatrixScale( mA, ByRef x, ByRef y, ByRef z)
+
+Gets the scale vector of a matrix
+
+#ref SetMatrixScale
diff --git a/doc/bu/files/getmatrixsize.txt b/doc/bu/files/getmatrixsize.txt
new file mode 100644
index 0000000..2f4ad2e
--- /dev/null
+++ b/doc/bu/files/getmatrixsize.txt
@@ -0,0 +1,6 @@
+#title GetMatrixSize [RCBasic Doc]
+#header sub GetMatrixSize(mA, ByRef r, ByRef c)
+
+Gets the number of rows and columns in a matrix
+
+#ref DimMatrix
diff --git a/doc/bu/files/getmatrixtranslation.txt b/doc/bu/files/getmatrixtranslation.txt
new file mode 100644
index 0000000..66dbc20
--- /dev/null
+++ b/doc/bu/files/getmatrixtranslation.txt
@@ -0,0 +1,6 @@
+#title GetMatrixTranslation [RCBasic Doc]
+#header sub GetMatrixTranslation( mA, ByRef x, ByRef y, ByRef z)
+
+Get the position vector of a matrix
+
+#ref SetMatrixTranslation
diff --git a/doc/bu/files/getmouse.txt b/doc/bu/files/getmouse.txt
new file mode 100644
index 0000000..c0361f5
--- /dev/null
+++ b/doc/bu/files/getmouse.txt
@@ -0,0 +1,6 @@
+#title GetMouse [RCBasic Doc]
+#header sub GetMouse(byref x, byref y, byref mb1, byref mb2, byref mb3)
+
+Gets the mouse position and button state local to the graphics window
+
+#ref GetGlobalMouse MouseX MouseY MouseButton
diff --git a/doc/bu/files/getmousewheel.txt b/doc/bu/files/getmousewheel.txt
new file mode 100644
index 0000000..5845da7
--- /dev/null
+++ b/doc/bu/files/getmousewheel.txt
@@ -0,0 +1,6 @@
+#title GetMouseWheel [RCBasic Doc]
+#header sub GetMouseWheel(byref x_axis, byref y_axis)
+
+Gets the axis positions of the mouse wheel
+
+#ref GetMouse GetGlobalMouse
diff --git a/doc/bu/files/getmultitouch.txt b/doc/bu/files/getmultitouch.txt
new file mode 100644
index 0000000..5347b6a
--- /dev/null
+++ b/doc/bu/files/getmultitouch.txt
@@ -0,0 +1,4 @@
+#title GetMultiTouch [RCBasic Doc]
+#header sub GetMultiTouch(byref status, byref x, byref y, byref fingers, byref dist, byref theta)
+
+Gets the status, position, number of fingers, distance between the fingers and rotation of a multi-finger gesture
diff --git a/doc/bu/files/getmusicposition.txt b/doc/bu/files/getmusicposition.txt
new file mode 100644
index 0000000..38c7b7b
--- /dev/null
+++ b/doc/bu/files/getmusicposition.txt
@@ -0,0 +1,6 @@
+#title GetMusicPosition [RCBasic Doc]
+#header function GetMusicPosition()
+
+Returns the position of the music track
+
+#ref SetMusicPosition
diff --git a/doc/bu/files/getmusicvolume.txt b/doc/bu/files/getmusicvolume.txt
new file mode 100644
index 0000000..ec82d6e
--- /dev/null
+++ b/doc/bu/files/getmusicvolume.txt
@@ -0,0 +1,4 @@
+#title GetMusicVolume [RCBasic Doc]
+#header function GetMusicVolume()
+
+Returns the music track's volume
diff --git a/doc/bu/files/getparticlebox.txt b/doc/bu/files/getparticlebox.txt
new file mode 100644
index 0000000..35214ce
--- /dev/null
+++ b/doc/bu/files/getparticlebox.txt
@@ -0,0 +1,4 @@
+#title getParticleBox [RCBasic Doc]
+#header sub getParticleBox( actor, ByRef min_x, ByRef min_y, ByRef min_z, ByRef max_x, ByRef max_y, ByRef max_z)
+
+
diff --git a/doc/bu/files/getparticlecenter.txt b/doc/bu/files/getparticlecenter.txt
new file mode 100644
index 0000000..760052f
--- /dev/null
+++ b/doc/bu/files/getparticlecenter.txt
@@ -0,0 +1,4 @@
+#title getParticleCenter [RCBasic Doc]
+#header sub getParticleCenter( actor, ByRef x, ByRef y, ByRef z)
+
+
diff --git a/doc/bu/files/getparticledirection.txt b/doc/bu/files/getparticledirection.txt
new file mode 100644
index 0000000..0d6bc11
--- /dev/null
+++ b/doc/bu/files/getparticledirection.txt
@@ -0,0 +1,4 @@
+#title getParticleDirection [RCBasic Doc]
+#header sub getParticleDirection( actor, ByRef x, ByRef y, ByRef z)
+
+
diff --git a/doc/bu/files/getparticlelength.txt b/doc/bu/files/getparticlelength.txt
new file mode 100644
index 0000000..da50454
--- /dev/null
+++ b/doc/bu/files/getparticlelength.txt
@@ -0,0 +1,4 @@
+#title getParticleLength [RCBasic Doc]
+#header function getParticleLength( actor)
+
+
diff --git a/doc/bu/files/getparticlemaxangle.txt b/doc/bu/files/getparticlemaxangle.txt
new file mode 100644
index 0000000..6ef2483
--- /dev/null
+++ b/doc/bu/files/getparticlemaxangle.txt
@@ -0,0 +1,4 @@
+#title getParticleMaxAngle [RCBasic Doc]
+#header function getParticleMaxAngle( actor)
+
+
diff --git a/doc/bu/files/getparticlemaxlife.txt b/doc/bu/files/getparticlemaxlife.txt
new file mode 100644
index 0000000..9d8e33a
--- /dev/null
+++ b/doc/bu/files/getparticlemaxlife.txt
@@ -0,0 +1,4 @@
+#title getParticleMaxLife [RCBasic Doc]
+#header function getParticleMaxLife( actor)
+
+
diff --git a/doc/files/getparticlemaxparticlespersecond.txt b/doc/bu/files/getparticlemaxparticlespersecond.txt
similarity index 100%
rename from doc/files/getparticlemaxparticlespersecond.txt
rename to doc/bu/files/getparticlemaxparticlespersecond.txt
diff --git a/doc/bu/files/getparticlemaxstartcolor.txt b/doc/bu/files/getparticlemaxstartcolor.txt
new file mode 100644
index 0000000..7a98047
--- /dev/null
+++ b/doc/bu/files/getparticlemaxstartcolor.txt
@@ -0,0 +1,4 @@
+#title getParticleMaxStartColor [RCBasic Doc]
+#header function getParticleMaxStartColor( actor)
+
+
diff --git a/doc/bu/files/getparticlemaxstartsize.txt b/doc/bu/files/getparticlemaxstartsize.txt
new file mode 100644
index 0000000..7ec819f
--- /dev/null
+++ b/doc/bu/files/getparticlemaxstartsize.txt
@@ -0,0 +1,4 @@
+#title getParticleMaxStartSize [RCBasic Doc]
+#header sub getParticleMaxStartSize( actor, ByRef w, ByRef h)
+
+
diff --git a/doc/bu/files/getparticleminlife.txt b/doc/bu/files/getparticleminlife.txt
new file mode 100644
index 0000000..2e218bc
--- /dev/null
+++ b/doc/bu/files/getparticleminlife.txt
@@ -0,0 +1,4 @@
+#title getParticleMinLife [RCBasic Doc]
+#header function getParticleMinLife( actor)
+
+
diff --git a/doc/files/getparticleminparticlespersecond.txt b/doc/bu/files/getparticleminparticlespersecond.txt
similarity index 100%
rename from doc/files/getparticleminparticlespersecond.txt
rename to doc/bu/files/getparticleminparticlespersecond.txt
diff --git a/doc/bu/files/getparticleminstartcolor.txt b/doc/bu/files/getparticleminstartcolor.txt
new file mode 100644
index 0000000..d6d58f9
--- /dev/null
+++ b/doc/bu/files/getparticleminstartcolor.txt
@@ -0,0 +1,4 @@
+#title getParticleMinStartColor [RCBasic Doc]
+#header function getParticleMinStartColor( actor)
+
+
diff --git a/doc/bu/files/getparticleminstartsize.txt b/doc/bu/files/getparticleminstartsize.txt
new file mode 100644
index 0000000..e04b978
--- /dev/null
+++ b/doc/bu/files/getparticleminstartsize.txt
@@ -0,0 +1,4 @@
+#title getParticleMinStartSize [RCBasic Doc]
+#header sub getParticleMinStartSize( actor, ByRef w, ByRef h)
+
+
diff --git a/doc/bu/files/getparticlenormal.txt b/doc/bu/files/getparticlenormal.txt
new file mode 100644
index 0000000..67a106b
--- /dev/null
+++ b/doc/bu/files/getparticlenormal.txt
@@ -0,0 +1,4 @@
+#title getParticleNormal [RCBasic Doc]
+#header sub getParticleNormal( actor, ByRef x, ByRef y, ByRef z)
+
+
diff --git a/doc/bu/files/getparticlenormaldirectionmod.txt b/doc/bu/files/getparticlenormaldirectionmod.txt
new file mode 100644
index 0000000..994e71b
--- /dev/null
+++ b/doc/bu/files/getparticlenormaldirectionmod.txt
@@ -0,0 +1,4 @@
+#title getParticleNormalDirectionMod [RCBasic Doc]
+#header function getParticleNormalDirectionMod( actor)
+
+
diff --git a/doc/bu/files/getparticleradius.txt b/doc/bu/files/getparticleradius.txt
new file mode 100644
index 0000000..fa21818
--- /dev/null
+++ b/doc/bu/files/getparticleradius.txt
@@ -0,0 +1,4 @@
+#title getParticleRadius [RCBasic Doc]
+#header function getParticleRadius( actor)
+
+
diff --git a/doc/bu/files/getparticleringthickness.txt b/doc/bu/files/getparticleringthickness.txt
new file mode 100644
index 0000000..7741e4e
--- /dev/null
+++ b/doc/bu/files/getparticleringthickness.txt
@@ -0,0 +1,4 @@
+#title getParticleRingThickness [RCBasic Doc]
+#header function getParticleRingThickness( actor)
+
+
diff --git a/doc/bu/files/getpixel.txt b/doc/bu/files/getpixel.txt
new file mode 100644
index 0000000..2d7eb2c
--- /dev/null
+++ b/doc/bu/files/getpixel.txt
@@ -0,0 +1,4 @@
+#title GetPixel [RCBasic Doc]
+#header function GetPixel(x,y)
+
+
diff --git a/doc/bu/files/getpowerinfo.txt b/doc/bu/files/getpowerinfo.txt
new file mode 100644
index 0000000..54e7ccc
--- /dev/null
+++ b/doc/bu/files/getpowerinfo.txt
@@ -0,0 +1,4 @@
+#title GetPowerInfo [RCBasic Doc]
+#header Sub GetPowerInfo(ByRef status, ByRef secs, ByRef pct)
+
+
diff --git a/doc/bu/files/getsoundvolume.txt b/doc/bu/files/getsoundvolume.txt
new file mode 100644
index 0000000..b847ae1
--- /dev/null
+++ b/doc/bu/files/getsoundvolume.txt
@@ -0,0 +1,4 @@
+#title GetSoundVolume [RCBasic Doc]
+#header function GetSoundVolume(slot)
+
+
diff --git a/doc/bu/files/getterraincenter.txt b/doc/bu/files/getterraincenter.txt
new file mode 100644
index 0000000..40d1607
--- /dev/null
+++ b/doc/bu/files/getterraincenter.txt
@@ -0,0 +1,4 @@
+#title GetTerrainCenter [RCBasic Doc]
+#header sub GetTerrainCenter( actor, ByRef x, ByRef y, ByRef z )
+
+
diff --git a/doc/bu/files/getterrainheight.txt b/doc/bu/files/getterrainheight.txt
new file mode 100644
index 0000000..682b7a0
--- /dev/null
+++ b/doc/bu/files/getterrainheight.txt
@@ -0,0 +1,4 @@
+#title GetTerrainHeight [RCBasic Doc]
+#header function GetTerrainHeight( actor, patchX, patchZ )
+
+
diff --git a/doc/bu/files/getterrainpatchaabb.txt b/doc/bu/files/getterrainpatchaabb.txt
new file mode 100644
index 0000000..fd00cb6
--- /dev/null
+++ b/doc/bu/files/getterrainpatchaabb.txt
@@ -0,0 +1,4 @@
+#title GetTerrainPatchAABB [RCBasic Doc]
+#header sub GetTerrainPatchAABB( actor, patchX, patchZ, ByRef minX, ByRef minY, ByRef minZ, ByRef maxX, ByRef maxY, ByRef maxZ )
+
+
diff --git a/doc/bu/files/getterrainpatchlod.txt b/doc/bu/files/getterrainpatchlod.txt
new file mode 100644
index 0000000..a48d218
--- /dev/null
+++ b/doc/bu/files/getterrainpatchlod.txt
@@ -0,0 +1,4 @@
+#title GetTerrainPatchLOD [RCBasic Doc]
+#header function GetTerrainPatchLOD( actor, patchX, patchZ )
+
+
diff --git a/doc/bu/files/gettextheight.txt b/doc/bu/files/gettextheight.txt
new file mode 100644
index 0000000..d3e5d73
--- /dev/null
+++ b/doc/bu/files/gettextheight.txt
@@ -0,0 +1,4 @@
+#title GetTextHeight [RCBasic Doc]
+#header function GetTextHeight(txt$)
+
+
diff --git a/doc/bu/files/gettextsize.txt b/doc/bu/files/gettextsize.txt
new file mode 100644
index 0000000..06e0a8e
--- /dev/null
+++ b/doc/bu/files/gettextsize.txt
@@ -0,0 +1,4 @@
+#title GetTextSize [RCBasic Doc]
+#header sub GetTextSize(txt$, byref w, byref h)
+
+
diff --git a/doc/bu/files/gettextwidth.txt b/doc/bu/files/gettextwidth.txt
new file mode 100644
index 0000000..3091a72
--- /dev/null
+++ b/doc/bu/files/gettextwidth.txt
@@ -0,0 +1,4 @@
+#title GetTextWidth [RCBasic Doc]
+#header function GetTextWidth(txt$)
+
+
diff --git a/doc/bu/files/gettouch.txt b/doc/bu/files/gettouch.txt
new file mode 100644
index 0000000..5f83a70
--- /dev/null
+++ b/doc/bu/files/gettouch.txt
@@ -0,0 +1,4 @@
+#title GetTouch [RCBasic Doc]
+#header sub GetTouch(byref status, byref x, byref y, byref dx, byref dy)
+
+
diff --git a/doc/bu/files/gettouchfinger.txt b/doc/bu/files/gettouchfinger.txt
new file mode 100644
index 0000000..e7f9d7a
--- /dev/null
+++ b/doc/bu/files/gettouchfinger.txt
@@ -0,0 +1,4 @@
+#title GetTouchFinger [RCBasic Doc]
+#header sub GetTouchFinger(finger, byref x, byref y, byref pressure)
+
+
diff --git a/doc/bu/files/getvideodrawrect.txt b/doc/bu/files/getvideodrawrect.txt
new file mode 100644
index 0000000..5d99c12
--- /dev/null
+++ b/doc/bu/files/getvideodrawrect.txt
@@ -0,0 +1,4 @@
+#title GetVideoDrawRect [RCBasic Doc]
+#header sub GetVideoDrawRect(byref x, byref y, byref w, byref h)
+
+
diff --git a/doc/bu/files/getvideoposition.txt b/doc/bu/files/getvideoposition.txt
new file mode 100644
index 0000000..50284e3
--- /dev/null
+++ b/doc/bu/files/getvideoposition.txt
@@ -0,0 +1,4 @@
+#title GetVideoPosition [RCBasic Doc]
+#header function GetVideoPosition()
+
+
diff --git a/doc/bu/files/getvideosize.txt b/doc/bu/files/getvideosize.txt
new file mode 100644
index 0000000..1b737b3
--- /dev/null
+++ b/doc/bu/files/getvideosize.txt
@@ -0,0 +1,4 @@
+#title GetVideoSize [RCBasic Doc]
+#header sub GetVideoSize(byref w, byref h)
+
+
diff --git a/doc/bu/files/getvideostats.txt b/doc/bu/files/getvideostats.txt
new file mode 100644
index 0000000..4087b96
--- /dev/null
+++ b/doc/bu/files/getvideostats.txt
@@ -0,0 +1,4 @@
+#title GetVideoStats [RCBasic Doc]
+#header sub GetVideoStats(vFile$, byref vLen, byref vfps, byref frame_w, byref frame_h)
+
+
diff --git a/doc/bu/files/getvideovolume.txt b/doc/bu/files/getvideovolume.txt
new file mode 100644
index 0000000..3ae5dce
--- /dev/null
+++ b/doc/bu/files/getvideovolume.txt
@@ -0,0 +1,4 @@
+#title GetVideoVolume [RCBasic Doc]
+#header function GetVideoVolume( )
+
+
diff --git a/doc/bu/files/getwatercolor.txt b/doc/bu/files/getwatercolor.txt
new file mode 100644
index 0000000..d228770
--- /dev/null
+++ b/doc/bu/files/getwatercolor.txt
@@ -0,0 +1,4 @@
+#title getWaterColor [RCBasic Doc]
+#header function getWaterColor( actor)
+
+
diff --git a/doc/bu/files/getwatercolorblendfactor.txt b/doc/bu/files/getwatercolorblendfactor.txt
new file mode 100644
index 0000000..95cf8bd
--- /dev/null
+++ b/doc/bu/files/getwatercolorblendfactor.txt
@@ -0,0 +1,4 @@
+#title getWaterColorBlendFactor [RCBasic Doc]
+#header function getWaterColorBlendFactor( actor)
+
+
diff --git a/doc/bu/files/getwaterwaveheight.txt b/doc/bu/files/getwaterwaveheight.txt
new file mode 100644
index 0000000..cfa0909
--- /dev/null
+++ b/doc/bu/files/getwaterwaveheight.txt
@@ -0,0 +1,4 @@
+#title getWaterWaveHeight [RCBasic Doc]
+#header function getWaterWaveHeight( actor)
+
+
diff --git a/doc/bu/files/getwaterwinddirection.txt b/doc/bu/files/getwaterwinddirection.txt
new file mode 100644
index 0000000..e2f6112
--- /dev/null
+++ b/doc/bu/files/getwaterwinddirection.txt
@@ -0,0 +1,4 @@
+#title getWaterWindDirection [RCBasic Doc]
+#header sub getWaterWindDirection( actor, ByRef x, ByRef z)
+
+
diff --git a/doc/bu/files/getwaterwindforce.txt b/doc/bu/files/getwaterwindforce.txt
new file mode 100644
index 0000000..4216525
--- /dev/null
+++ b/doc/bu/files/getwaterwindforce.txt
@@ -0,0 +1,4 @@
+#title getWaterWindForce [RCBasic Doc]
+#header function getWaterWindForce( actor)
+
+
diff --git a/doc/bu/files/getwindowmaxsize.txt b/doc/bu/files/getwindowmaxsize.txt
new file mode 100644
index 0000000..1481133
--- /dev/null
+++ b/doc/bu/files/getwindowmaxsize.txt
@@ -0,0 +1,4 @@
+#title GetWindowMaxSize [RCBasic Doc]
+#header sub GetWindowMaxSize( byref w, byref h)
+
+
diff --git a/doc/bu/files/getwindowminsize.txt b/doc/bu/files/getwindowminsize.txt
new file mode 100644
index 0000000..80dfeec
--- /dev/null
+++ b/doc/bu/files/getwindowminsize.txt
@@ -0,0 +1,4 @@
+#title GetWindowMinSize [RCBasic Doc]
+#header sub GetWindowMinSize( byref w, byref h)
+
+
diff --git a/doc/bu/files/getwindowmode.txt b/doc/bu/files/getwindowmode.txt
new file mode 100644
index 0000000..5c9596c
--- /dev/null
+++ b/doc/bu/files/getwindowmode.txt
@@ -0,0 +1,4 @@
+#title getWindowMode [RCBasic Doc]
+#header function getWindowMode( )
+
+
diff --git a/doc/bu/files/getwindowposition.txt b/doc/bu/files/getwindowposition.txt
new file mode 100644
index 0000000..2c6c473
--- /dev/null
+++ b/doc/bu/files/getwindowposition.txt
@@ -0,0 +1,4 @@
+#title GetWindowPosition [RCBasic Doc]
+#header sub GetWindowPosition( byref x, byref y )
+
+
diff --git a/doc/bu/files/getwindowsize.txt b/doc/bu/files/getwindowsize.txt
new file mode 100644
index 0000000..9a85901
--- /dev/null
+++ b/doc/bu/files/getwindowsize.txt
@@ -0,0 +1,4 @@
+#title GetWindowSize [RCBasic Doc]
+#header sub GetWindowSize( byref w, byref h )
+
+
diff --git a/doc/bu/files/globalmousex.txt b/doc/bu/files/globalmousex.txt
new file mode 100644
index 0000000..6b384f8
--- /dev/null
+++ b/doc/bu/files/globalmousex.txt
@@ -0,0 +1,4 @@
+#title GlobalMouseX [RCBasic Doc]
+#header function GlobalMouseX()
+
+
diff --git a/doc/bu/files/globalmousey.txt b/doc/bu/files/globalmousey.txt
new file mode 100644
index 0000000..64ea0b3
--- /dev/null
+++ b/doc/bu/files/globalmousey.txt
@@ -0,0 +1,4 @@
+#title GlobalMouseY [RCBasic Doc]
+#header function GlobalMouseY()
+
+
diff --git a/doc/bu/files/grabinput.txt b/doc/bu/files/grabinput.txt
new file mode 100644
index 0000000..a149e9f
--- /dev/null
+++ b/doc/bu/files/grabinput.txt
@@ -0,0 +1,4 @@
+#title GrabInput [RCBasic Doc]
+#header sub GrabInput(flag)
+
+
diff --git a/doc/bu/files/gyroname.txt b/doc/bu/files/gyroname.txt
new file mode 100644
index 0000000..0308818
--- /dev/null
+++ b/doc/bu/files/gyroname.txt
@@ -0,0 +1,4 @@
+#title GyroName$ [RCBasic Doc]
+#header function GyroName$(gyro_num)
+
+
diff --git a/doc/bu/files/hasclipboardtext.txt b/doc/bu/files/hasclipboardtext.txt
new file mode 100644
index 0000000..bd68430
--- /dev/null
+++ b/doc/bu/files/hasclipboardtext.txt
@@ -0,0 +1,4 @@
+#title HasClipboardText [RCBasic Doc]
+#header function HasClipboardText()
+
+
diff --git a/doc/bu/files/hex.txt b/doc/bu/files/hex.txt
new file mode 100644
index 0000000..3829236
--- /dev/null
+++ b/doc/bu/files/hex.txt
@@ -0,0 +1,4 @@
+#title Hex$ [RCBasic Doc]
+#header function Hex$(n)
+
+
diff --git a/doc/bu/files/hexval.txt b/doc/bu/files/hexval.txt
new file mode 100644
index 0000000..3479219
--- /dev/null
+++ b/doc/bu/files/hexval.txt
@@ -0,0 +1,4 @@
+#title HexVal [RCBasic Doc]
+#header function HexVal(n$)
+
+
diff --git a/doc/bu/files/hidemouse.txt b/doc/bu/files/hidemouse.txt
new file mode 100644
index 0000000..1f56680
--- /dev/null
+++ b/doc/bu/files/hidemouse.txt
@@ -0,0 +1,4 @@
+#title HideMouse [RCBasic Doc]
+#header sub HideMouse()
+
+
diff --git a/doc/bu/files/hidewindow.txt b/doc/bu/files/hidewindow.txt
new file mode 100644
index 0000000..9f663c9
--- /dev/null
+++ b/doc/bu/files/hidewindow.txt
@@ -0,0 +1,4 @@
+#title HideWindow [RCBasic Doc]
+#header sub HideWindow( )
+
+
diff --git a/doc/bu/files/imageexists.txt b/doc/bu/files/imageexists.txt
new file mode 100644
index 0000000..c493f60
--- /dev/null
+++ b/doc/bu/files/imageexists.txt
@@ -0,0 +1,4 @@
+#title ImageExists [RCBasic Doc]
+#header function ImageExists(slot)
+
+
diff --git a/doc/bu/files/incrementmatrixcolumns.txt b/doc/bu/files/incrementmatrixcolumns.txt
new file mode 100644
index 0000000..33dfea4
--- /dev/null
+++ b/doc/bu/files/incrementmatrixcolumns.txt
@@ -0,0 +1,4 @@
+#title IncrementMatrixColumns [RCBasic Doc]
+#header sub IncrementMatrixColumns(mA, mB, c, num_cols, value)
+
+
diff --git a/doc/bu/files/incrementmatrixrows.txt b/doc/bu/files/incrementmatrixrows.txt
new file mode 100644
index 0000000..fa257a1
--- /dev/null
+++ b/doc/bu/files/incrementmatrixrows.txt
@@ -0,0 +1,4 @@
+#title IncrementMatrixRows [RCBasic Doc]
+#header sub IncrementMatrixRows(mA, mB, r, num_rows, value)
+
+
diff --git a/doc/bu/files/inkey.txt b/doc/bu/files/inkey.txt
new file mode 100644
index 0000000..ef48103
--- /dev/null
+++ b/doc/bu/files/inkey.txt
@@ -0,0 +1,4 @@
+#title InKey [RCBasic Doc]
+#header function InKey()
+
+
diff --git a/doc/bu/files/input.txt b/doc/bu/files/input.txt
new file mode 100644
index 0000000..b63ca4b
--- /dev/null
+++ b/doc/bu/files/input.txt
@@ -0,0 +1,4 @@
+#title Input$ [RCBasic Doc]
+#header function Input$(prompt$)
+
+
diff --git a/doc/bu/files/insert.txt b/doc/bu/files/insert.txt
new file mode 100644
index 0000000..a38fa5b
--- /dev/null
+++ b/doc/bu/files/insert.txt
@@ -0,0 +1,4 @@
+#title Insert$ [RCBasic Doc]
+#header function Insert$(src$, tgt$, pos)
+
+
diff --git a/doc/bu/files/insertmatrixcolumns.txt b/doc/bu/files/insertmatrixcolumns.txt
new file mode 100644
index 0000000..d4a3abc
--- /dev/null
+++ b/doc/bu/files/insertmatrixcolumns.txt
@@ -0,0 +1,4 @@
+#title InsertMatrixColumns [RCBasic Doc]
+#header function InsertMatrixColumns(mA, c, num_cols)
+
+
diff --git a/doc/bu/files/insertmatrixrows.txt b/doc/bu/files/insertmatrixrows.txt
new file mode 100644
index 0000000..1727f83
--- /dev/null
+++ b/doc/bu/files/insertmatrixrows.txt
@@ -0,0 +1,4 @@
+#title InsertMatrixRows [RCBasic Doc]
+#header function InsertMatrixRows(mA, r, num_rows)
+
+
diff --git a/doc/bu/files/instr.txt b/doc/bu/files/instr.txt
new file mode 100644
index 0000000..4d85ebc
--- /dev/null
+++ b/doc/bu/files/instr.txt
@@ -0,0 +1,4 @@
+#title InStr [RCBasic Doc]
+#header function InStr(src$, substr$)
+
+
diff --git a/doc/bu/files/int.txt b/doc/bu/files/int.txt
new file mode 100644
index 0000000..8e2e13c
--- /dev/null
+++ b/doc/bu/files/int.txt
@@ -0,0 +1,4 @@
+#title Int [RCBasic Doc]
+#header function Int(n)
+
+
diff --git a/doc/bu/files/integrateactorvelocities.txt b/doc/bu/files/integrateactorvelocities.txt
new file mode 100644
index 0000000..995e6f0
--- /dev/null
+++ b/doc/bu/files/integrateactorvelocities.txt
@@ -0,0 +1,4 @@
+#title integrateActorVelocities [RCBasic Doc]
+#header sub integrateActorVelocities( actor, v_step)
+
+
diff --git a/doc/bu/files/interpolate.txt b/doc/bu/files/interpolate.txt
new file mode 100644
index 0000000..41193c0
--- /dev/null
+++ b/doc/bu/files/interpolate.txt
@@ -0,0 +1,4 @@
+#title Interpolate [RCBasic Doc]
+#header Function Interpolate(min_a, max_a, mid_a, min_b, max_b)
+
+
diff --git a/doc/bu/files/invertmatrix.txt b/doc/bu/files/invertmatrix.txt
new file mode 100644
index 0000000..c6b72a6
--- /dev/null
+++ b/doc/bu/files/invertmatrix.txt
@@ -0,0 +1,4 @@
+#title InvertMatrix [RCBasic Doc]
+#header function InvertMatrix(mA, mB)
+
+
diff --git a/doc/bu/files/isequalmatrix.txt b/doc/bu/files/isequalmatrix.txt
new file mode 100644
index 0000000..5909dcb
--- /dev/null
+++ b/doc/bu/files/isequalmatrix.txt
@@ -0,0 +1,4 @@
+#title IsEqualMatrix [RCBasic Doc]
+#header function IsEqualMatrix(mA, mB, tolerance)
+
+
diff --git a/doc/bu/files/joinmatrixcolumns.txt b/doc/bu/files/joinmatrixcolumns.txt
new file mode 100644
index 0000000..7596865
--- /dev/null
+++ b/doc/bu/files/joinmatrixcolumns.txt
@@ -0,0 +1,4 @@
+#title JoinMatrixColumns [RCBasic Doc]
+#header sub JoinMatrixColumns(mA, mB, mC)
+
+
diff --git a/doc/bu/files/joinmatrixrows.txt b/doc/bu/files/joinmatrixrows.txt
new file mode 100644
index 0000000..79f7f4b
--- /dev/null
+++ b/doc/bu/files/joinmatrixrows.txt
@@ -0,0 +1,4 @@
+#title JoinMatrixRows [RCBasic Doc]
+#header sub JoinMatrixRows(mA, mB, mC)
+
+
diff --git a/doc/bu/files/joyaxis.txt b/doc/bu/files/joyaxis.txt
new file mode 100644
index 0000000..133963e
--- /dev/null
+++ b/doc/bu/files/joyaxis.txt
@@ -0,0 +1,4 @@
+#title JoyAxis [RCBasic Doc]
+#header function JoyAxis(joy_num, joy_axis)
+
+
diff --git a/doc/bu/files/joybutton.txt b/doc/bu/files/joybutton.txt
new file mode 100644
index 0000000..e291c8c
--- /dev/null
+++ b/doc/bu/files/joybutton.txt
@@ -0,0 +1,4 @@
+#title JoyButton [RCBasic Doc]
+#header function JoyButton(joy_num, joy_button)
+
+
diff --git a/doc/bu/files/joyhat.txt b/doc/bu/files/joyhat.txt
new file mode 100644
index 0000000..bd677fb
--- /dev/null
+++ b/doc/bu/files/joyhat.txt
@@ -0,0 +1,4 @@
+#title JoyHat [RCBasic Doc]
+#header function JoyHat(joy_num, joy_hat)
+
+
diff --git a/doc/bu/files/joyname.txt b/doc/bu/files/joyname.txt
new file mode 100644
index 0000000..d234523
--- /dev/null
+++ b/doc/bu/files/joyname.txt
@@ -0,0 +1,4 @@
+#title JoyName$ [RCBasic Doc]
+#header function JoyName$(joy_num)
+
+
diff --git a/doc/bu/files/joyrumbleplay.txt b/doc/bu/files/joyrumbleplay.txt
new file mode 100644
index 0000000..49723c4
--- /dev/null
+++ b/doc/bu/files/joyrumbleplay.txt
@@ -0,0 +1,4 @@
+#title JoyRumblePlay [RCBasic Doc]
+#header sub JoyRumblePlay(joy_num, strength, duration)
+
+
diff --git a/doc/bu/files/joyrumblestop.txt b/doc/bu/files/joyrumblestop.txt
new file mode 100644
index 0000000..5ce95f4
--- /dev/null
+++ b/doc/bu/files/joyrumblestop.txt
@@ -0,0 +1,4 @@
+#title JoyRumbleStop [RCBasic Doc]
+#header sub JoyRumbleStop(joy_num)
+
+
diff --git a/doc/bu/files/joystickisconnected.txt b/doc/bu/files/joystickisconnected.txt
new file mode 100644
index 0000000..d691385
--- /dev/null
+++ b/doc/bu/files/joystickisconnected.txt
@@ -0,0 +1,4 @@
+#title JoystickIsConnected [RCBasic Doc]
+#header function JoystickIsConnected(joy_num)
+
+
diff --git a/doc/bu/files/joystickishaptic.txt b/doc/bu/files/joystickishaptic.txt
new file mode 100644
index 0000000..89381fc
--- /dev/null
+++ b/doc/bu/files/joystickishaptic.txt
@@ -0,0 +1,4 @@
+#title JoystickIsHaptic [RCBasic Doc]
+#header function JoystickIsHaptic(joy_num)
+
+
diff --git a/doc/bu/files/key.txt b/doc/bu/files/key.txt
new file mode 100644
index 0000000..76feca5
--- /dev/null
+++ b/doc/bu/files/key.txt
@@ -0,0 +1,4 @@
+#title Key [RCBasic Doc]
+#header function Key(key_code)
+
+
diff --git a/doc/bu/files/lcase.txt b/doc/bu/files/lcase.txt
new file mode 100644
index 0000000..7fe61dd
--- /dev/null
+++ b/doc/bu/files/lcase.txt
@@ -0,0 +1,4 @@
+#title Lcase$ [RCBasic Doc]
+#header function Lcase$(src$)
+
+
diff --git a/doc/bu/files/left.txt b/doc/bu/files/left.txt
new file mode 100644
index 0000000..3ea0198
--- /dev/null
+++ b/doc/bu/files/left.txt
@@ -0,0 +1,4 @@
+#title Left$ [RCBasic Doc]
+#header function Left$(src$, n)
+
+
diff --git a/doc/bu/files/len.txt b/doc/bu/files/len.txt
new file mode 100644
index 0000000..3933724
--- /dev/null
+++ b/doc/bu/files/len.txt
@@ -0,0 +1,4 @@
+#title Len [RCBasic Doc]
+#header function Len(src$)
+
+
diff --git a/doc/bu/files/length.txt b/doc/bu/files/length.txt
new file mode 100644
index 0000000..583b3d8
--- /dev/null
+++ b/doc/bu/files/length.txt
@@ -0,0 +1,4 @@
+#title Length [RCBasic Doc]
+#header function Length(src$)
+
+
diff --git a/doc/bu/files/lightiscastingshadow.txt b/doc/bu/files/lightiscastingshadow.txt
new file mode 100644
index 0000000..6e1bc52
--- /dev/null
+++ b/doc/bu/files/lightiscastingshadow.txt
@@ -0,0 +1,4 @@
+#title lightIsCastingShadow [RCBasic Doc]
+#header function lightIsCastingShadow( actor )
+
+
diff --git a/doc/bu/files/line.txt b/doc/bu/files/line.txt
new file mode 100644
index 0000000..3218a53
--- /dev/null
+++ b/doc/bu/files/line.txt
@@ -0,0 +1,4 @@
+#title Line [RCBasic Doc]
+#header sub Line(x1, y1, x2, y2)
+
+
diff --git a/doc/bu/files/loadfont.txt b/doc/bu/files/loadfont.txt
new file mode 100644
index 0000000..e8ecfc1
--- /dev/null
+++ b/doc/bu/files/loadfont.txt
@@ -0,0 +1,4 @@
+#title LoadFont [RCBasic Doc]
+#header function LoadFont(fnt_file$, font_size)
+
+
diff --git a/doc/bu/files/loadimage.txt b/doc/bu/files/loadimage.txt
new file mode 100644
index 0000000..0ea157f
--- /dev/null
+++ b/doc/bu/files/loadimage.txt
@@ -0,0 +1,4 @@
+#title LoadImage [RCBasic Doc]
+#header function LoadImage( img$ )
+
+
diff --git a/doc/bu/files/loadimageex.txt b/doc/bu/files/loadimageex.txt
new file mode 100644
index 0000000..411a4fa
--- /dev/null
+++ b/doc/bu/files/loadimageex.txt
@@ -0,0 +1,4 @@
+#title LoadImageEx [RCBasic Doc]
+#header function LoadImageEx(img$, colkey)
+
+
diff --git a/doc/bu/files/loadmesh.txt b/doc/bu/files/loadmesh.txt
new file mode 100644
index 0000000..b81238d
--- /dev/null
+++ b/doc/bu/files/loadmesh.txt
@@ -0,0 +1,4 @@
+#title LoadMesh [RCBasic Doc]
+#header function LoadMesh( mesh_file$ )
+
+
diff --git a/doc/bu/files/loadmeshfromarchive.txt b/doc/bu/files/loadmeshfromarchive.txt
new file mode 100644
index 0000000..930c0b4
--- /dev/null
+++ b/doc/bu/files/loadmeshfromarchive.txt
@@ -0,0 +1,4 @@
+#title LoadMeshFromArchive [RCBasic Doc]
+#header function LoadMeshFromArchive( archive$, mesh_file$ )
+
+
diff --git a/doc/bu/files/loadmusic.txt b/doc/bu/files/loadmusic.txt
new file mode 100644
index 0000000..97685fa
--- /dev/null
+++ b/doc/bu/files/loadmusic.txt
@@ -0,0 +1,4 @@
+#title LoadMusic [RCBasic Doc]
+#header sub LoadMusic(music_file$)
+
+
diff --git a/doc/bu/files/loadsound.txt b/doc/bu/files/loadsound.txt
new file mode 100644
index 0000000..a493bf2
--- /dev/null
+++ b/doc/bu/files/loadsound.txt
@@ -0,0 +1,4 @@
+#title LoadSound [RCBasic Doc]
+#header function LoadSound(snd_file$)
+
+
diff --git a/doc/bu/files/loadvideo.txt b/doc/bu/files/loadvideo.txt
new file mode 100644
index 0000000..76c4666
--- /dev/null
+++ b/doc/bu/files/loadvideo.txt
@@ -0,0 +1,4 @@
+#title LoadVideo [RCBasic Doc]
+#header sub LoadVideo(vid$)
+
+
diff --git a/doc/bu/files/log.txt b/doc/bu/files/log.txt
new file mode 100644
index 0000000..333ad0c
--- /dev/null
+++ b/doc/bu/files/log.txt
@@ -0,0 +1,4 @@
+#title Log [RCBasic Doc]
+#header function Log(n)
+
+
diff --git a/doc/bu/files/loopactoranimation.txt b/doc/bu/files/loopactoranimation.txt
new file mode 100644
index 0000000..b59dd23
--- /dev/null
+++ b/doc/bu/files/loopactoranimation.txt
@@ -0,0 +1,4 @@
+#title loopActorAnimation [RCBasic Doc]
+#header sub loopActorAnimation( actor, flag )
+
+
diff --git a/doc/bu/files/ltrim.txt b/doc/bu/files/ltrim.txt
new file mode 100644
index 0000000..7875047
--- /dev/null
+++ b/doc/bu/files/ltrim.txt
@@ -0,0 +1,4 @@
+#title Ltrim$ [RCBasic Doc]
+#header function Ltrim$(src$)
+
+
diff --git a/doc/bu/files/makedir.txt b/doc/bu/files/makedir.txt
new file mode 100644
index 0000000..db76b7c
--- /dev/null
+++ b/doc/bu/files/makedir.txt
@@ -0,0 +1,4 @@
+#title MakeDir [RCBasic Doc]
+#header function MakeDir(p$)
+
+
diff --git a/doc/bu/files/materialisaplhablend.txt b/doc/bu/files/materialisaplhablend.txt
new file mode 100644
index 0000000..e81c4d1
--- /dev/null
+++ b/doc/bu/files/materialisaplhablend.txt
@@ -0,0 +1,4 @@
+#title materialIsAplhaBlend [RCBasic Doc]
+#header function materialIsAplhaBlend( material_id)
+
+
diff --git a/doc/bu/files/materialisgouraudshaded.txt b/doc/bu/files/materialisgouraudshaded.txt
new file mode 100644
index 0000000..4f086f8
--- /dev/null
+++ b/doc/bu/files/materialisgouraudshaded.txt
@@ -0,0 +1,4 @@
+#title materialIsGouraudShaded [RCBasic Doc]
+#header function materialIsGouraudShaded( material_id)
+
+
diff --git a/doc/bu/files/materialislit.txt b/doc/bu/files/materialislit.txt
new file mode 100644
index 0000000..7097a8f
--- /dev/null
+++ b/doc/bu/files/materialislit.txt
@@ -0,0 +1,4 @@
+#title materialIsLit [RCBasic Doc]
+#header function materialIsLit( material_id)
+
+
diff --git a/doc/bu/files/materialisnormalized.txt b/doc/bu/files/materialisnormalized.txt
new file mode 100644
index 0000000..7c57568
--- /dev/null
+++ b/doc/bu/files/materialisnormalized.txt
@@ -0,0 +1,4 @@
+#title materialIsNormalized [RCBasic Doc]
+#header function materialIsNormalized( material_id)
+
+
diff --git a/doc/bu/files/materialispointcloud.txt b/doc/bu/files/materialispointcloud.txt
new file mode 100644
index 0000000..9598967
--- /dev/null
+++ b/doc/bu/files/materialispointcloud.txt
@@ -0,0 +1,4 @@
+#title materialIsPointCloud [RCBasic Doc]
+#header function materialIsPointCloud( material_id)
+
+
diff --git a/doc/bu/files/materialistransparent.txt b/doc/bu/files/materialistransparent.txt
new file mode 100644
index 0000000..1a83a0a
--- /dev/null
+++ b/doc/bu/files/materialistransparent.txt
@@ -0,0 +1,4 @@
+#title materialIsTransparent [RCBasic Doc]
+#header function materialIsTransparent( material_id)
+
+
diff --git a/doc/bu/files/materialiswireframe.txt b/doc/bu/files/materialiswireframe.txt
new file mode 100644
index 0000000..4dce2fa
--- /dev/null
+++ b/doc/bu/files/materialiswireframe.txt
@@ -0,0 +1,4 @@
+#title materialIsWireframe [RCBasic Doc]
+#header function materialIsWireframe( material_id)
+
+
diff --git a/doc/bu/files/matrixfrombuffer.txt b/doc/bu/files/matrixfrombuffer.txt
new file mode 100644
index 0000000..6086349
--- /dev/null
+++ b/doc/bu/files/matrixfrombuffer.txt
@@ -0,0 +1,4 @@
+#title MatrixFromBuffer [RCBasic Doc]
+#header sub MatrixFromBuffer(mA, r, c, ByRef buffer)
+
+
diff --git a/doc/bu/files/matrixvalue.txt b/doc/bu/files/matrixvalue.txt
new file mode 100644
index 0000000..013e5ba
--- /dev/null
+++ b/doc/bu/files/matrixvalue.txt
@@ -0,0 +1,4 @@
+#title MatrixValue [RCBasic Doc]
+#header function MatrixValue(mA, r, c)
+
+
diff --git a/doc/bu/files/max.txt b/doc/bu/files/max.txt
new file mode 100644
index 0000000..1a2dede
--- /dev/null
+++ b/doc/bu/files/max.txt
@@ -0,0 +1,4 @@
+#title Max [RCBasic Doc]
+#header function Max(a, b)
+
+
diff --git a/doc/bu/files/maximizewindow.txt b/doc/bu/files/maximizewindow.txt
new file mode 100644
index 0000000..437ccab
--- /dev/null
+++ b/doc/bu/files/maximizewindow.txt
@@ -0,0 +1,4 @@
+#title MaximizeWindow [RCBasic Doc]
+#header sub MaximizeWindow()
+
+
diff --git a/doc/bu/files/messagebox.txt b/doc/bu/files/messagebox.txt
new file mode 100644
index 0000000..1756441
--- /dev/null
+++ b/doc/bu/files/messagebox.txt
@@ -0,0 +1,4 @@
+#title MessageBox [RCBasic Doc]
+#header function MessageBox(title$, msg$)
+
+
diff --git a/doc/bu/files/mid.txt b/doc/bu/files/mid.txt
new file mode 100644
index 0000000..8b14040
--- /dev/null
+++ b/doc/bu/files/mid.txt
@@ -0,0 +1,4 @@
+#title Mid$ [RCBasic Doc]
+#header function Mid$(src$, start, n)
+
+
diff --git a/doc/bu/files/min.txt b/doc/bu/files/min.txt
new file mode 100644
index 0000000..6828ac4
--- /dev/null
+++ b/doc/bu/files/min.txt
@@ -0,0 +1,4 @@
+#title Min [RCBasic Doc]
+#header function Min(a, b)
+
+
diff --git a/doc/bu/files/minimizewindow.txt b/doc/bu/files/minimizewindow.txt
new file mode 100644
index 0000000..9644318
--- /dev/null
+++ b/doc/bu/files/minimizewindow.txt
@@ -0,0 +1,4 @@
+#title MinimizeWindow [RCBasic Doc]
+#header sub MinimizeWindow()
+
+
diff --git a/doc/bu/files/mousebutton.txt b/doc/bu/files/mousebutton.txt
new file mode 100644
index 0000000..fb4f088
--- /dev/null
+++ b/doc/bu/files/mousebutton.txt
@@ -0,0 +1,4 @@
+#title MouseButton [RCBasic Doc]
+#header function MouseButton(mb)
+
+
diff --git a/doc/bu/files/mouseisvisible.txt b/doc/bu/files/mouseisvisible.txt
new file mode 100644
index 0000000..1360aa6
--- /dev/null
+++ b/doc/bu/files/mouseisvisible.txt
@@ -0,0 +1,4 @@
+#title MouseIsVisible [RCBasic Doc]
+#header function MouseIsVisible()
+
+
diff --git a/doc/bu/files/mousewheelx.txt b/doc/bu/files/mousewheelx.txt
new file mode 100644
index 0000000..09c476d
--- /dev/null
+++ b/doc/bu/files/mousewheelx.txt
@@ -0,0 +1,4 @@
+#title MouseWheelX [RCBasic Doc]
+#header function MouseWheelX()
+
+
diff --git a/doc/bu/files/mousewheely.txt b/doc/bu/files/mousewheely.txt
new file mode 100644
index 0000000..ee42d6d
--- /dev/null
+++ b/doc/bu/files/mousewheely.txt
@@ -0,0 +1,4 @@
+#title MouseWheelY [RCBasic Doc]
+#header function MouseWheelY()
+
+
diff --git a/doc/bu/files/mousex.txt b/doc/bu/files/mousex.txt
new file mode 100644
index 0000000..a8ac3ec
--- /dev/null
+++ b/doc/bu/files/mousex.txt
@@ -0,0 +1,4 @@
+#title MouseX [RCBasic Doc]
+#header function MouseX()
+
+
diff --git a/doc/bu/files/mousey.txt b/doc/bu/files/mousey.txt
new file mode 100644
index 0000000..867d7b4
--- /dev/null
+++ b/doc/bu/files/mousey.txt
@@ -0,0 +1,4 @@
+#title MouseY [RCBasic Doc]
+#header function MouseY()
+
+
diff --git a/doc/bu/files/movefile.txt b/doc/bu/files/movefile.txt
new file mode 100644
index 0000000..b1000a6
--- /dev/null
+++ b/doc/bu/files/movefile.txt
@@ -0,0 +1,4 @@
+#title MoveFile [RCBasic Doc]
+#header function MoveFile(src$, dst$)
+
+
diff --git a/doc/bu/files/multiplymatrix.txt b/doc/bu/files/multiplymatrix.txt
new file mode 100644
index 0000000..02f194d
--- /dev/null
+++ b/doc/bu/files/multiplymatrix.txt
@@ -0,0 +1,4 @@
+#title MultiplyMatrix [RCBasic Doc]
+#header function MultiplyMatrix(mA, mB, mC)
+
+
diff --git a/doc/bu/files/musicexists.txt b/doc/bu/files/musicexists.txt
new file mode 100644
index 0000000..a0c8e39
--- /dev/null
+++ b/doc/bu/files/musicexists.txt
@@ -0,0 +1,4 @@
+#title MusicExists [RCBasic Doc]
+#header function MusicExists()
+
+
diff --git a/doc/bu/files/musicisplaying.txt b/doc/bu/files/musicisplaying.txt
new file mode 100644
index 0000000..7a13f25
--- /dev/null
+++ b/doc/bu/files/musicisplaying.txt
@@ -0,0 +1,4 @@
+#title MusicIsPlaying [RCBasic Doc]
+#header function MusicIsPlaying()
+
+
diff --git a/doc/bu/files/numaccels.txt b/doc/bu/files/numaccels.txt
new file mode 100644
index 0000000..a88ead3
--- /dev/null
+++ b/doc/bu/files/numaccels.txt
@@ -0,0 +1,4 @@
+#title NumAccels [RCBasic Doc]
+#header function NumAccels()
+
+
diff --git a/doc/bu/files/numberarraycopy.txt b/doc/bu/files/numberarraycopy.txt
new file mode 100644
index 0000000..2dae7f5
--- /dev/null
+++ b/doc/bu/files/numberarraycopy.txt
@@ -0,0 +1,4 @@
+#title NumberArrayCopy [RCBasic Doc]
+#header sub NumberArrayCopy(ByRef src, ByRef dst)
+
+
diff --git a/doc/bu/files/numberarraydim.txt b/doc/bu/files/numberarraydim.txt
new file mode 100644
index 0000000..5669b6d
--- /dev/null
+++ b/doc/bu/files/numberarraydim.txt
@@ -0,0 +1,4 @@
+#title NumberArrayDim [RCBasic Doc]
+#header function NumberArrayDim(Byref id)
+
+
diff --git a/doc/bu/files/numberarrayfill.txt b/doc/bu/files/numberarrayfill.txt
new file mode 100644
index 0000000..b4ec9f8
--- /dev/null
+++ b/doc/bu/files/numberarrayfill.txt
@@ -0,0 +1,4 @@
+#title NumberArrayFill [RCBasic Doc]
+#header sub NumberArrayFill(ByRef src, fdata)
+
+
diff --git a/doc/bu/files/numberarraysize.txt b/doc/bu/files/numberarraysize.txt
new file mode 100644
index 0000000..ca13632
--- /dev/null
+++ b/doc/bu/files/numberarraysize.txt
@@ -0,0 +1,4 @@
+#title NumberArraySize [RCBasic Doc]
+#header function NumberArraySize(Byref id, array_dim)
+
+
diff --git a/doc/bu/files/numcommands.txt b/doc/bu/files/numcommands.txt
new file mode 100644
index 0000000..19c71ad
--- /dev/null
+++ b/doc/bu/files/numcommands.txt
@@ -0,0 +1,4 @@
+#title NumCommands [RCBasic Doc]
+#header function NumCommands()
+
+
diff --git a/doc/bu/files/numcpus.txt b/doc/bu/files/numcpus.txt
new file mode 100644
index 0000000..fe43f47
--- /dev/null
+++ b/doc/bu/files/numcpus.txt
@@ -0,0 +1,4 @@
+#title NumCPUs [RCBasic Doc]
+#header function NumCPUs()
+
+
diff --git a/doc/bu/files/numfingers.txt b/doc/bu/files/numfingers.txt
new file mode 100644
index 0000000..870a488
--- /dev/null
+++ b/doc/bu/files/numfingers.txt
@@ -0,0 +1,4 @@
+#title NumFingers [RCBasic Doc]
+#header function NumFingers()
+
+
diff --git a/doc/bu/files/numgyros.txt b/doc/bu/files/numgyros.txt
new file mode 100644
index 0000000..e4c04f2
--- /dev/null
+++ b/doc/bu/files/numgyros.txt
@@ -0,0 +1,4 @@
+#title NumGyros [RCBasic Doc]
+#header function NumGyros()
+
+
diff --git a/doc/bu/files/numjoyaxes.txt b/doc/bu/files/numjoyaxes.txt
new file mode 100644
index 0000000..015ee49
--- /dev/null
+++ b/doc/bu/files/numjoyaxes.txt
@@ -0,0 +1,4 @@
+#title NumJoyAxes [RCBasic Doc]
+#header function NumJoyAxes(joy_num)
+
+
diff --git a/doc/bu/files/numjoybuttons.txt b/doc/bu/files/numjoybuttons.txt
new file mode 100644
index 0000000..1ad0dd1
--- /dev/null
+++ b/doc/bu/files/numjoybuttons.txt
@@ -0,0 +1,4 @@
+#title NumJoyButtons [RCBasic Doc]
+#header function NumJoyButtons(joy_num)
+
+
diff --git a/doc/bu/files/numjoyhats.txt b/doc/bu/files/numjoyhats.txt
new file mode 100644
index 0000000..38efbbf
--- /dev/null
+++ b/doc/bu/files/numjoyhats.txt
@@ -0,0 +1,4 @@
+#title NumJoyHats [RCBasic Doc]
+#header function NumJoyHats(joy_num)
+
+
diff --git a/doc/bu/files/numjoysticks.txt b/doc/bu/files/numjoysticks.txt
new file mode 100644
index 0000000..d72534b
--- /dev/null
+++ b/doc/bu/files/numjoysticks.txt
@@ -0,0 +1,4 @@
+#title NumJoysticks [RCBasic Doc]
+#header function NumJoysticks()
+
+
diff --git a/doc/bu/files/numjoytrackballs.txt b/doc/bu/files/numjoytrackballs.txt
new file mode 100644
index 0000000..929b48d
--- /dev/null
+++ b/doc/bu/files/numjoytrackballs.txt
@@ -0,0 +1,4 @@
+#title NumJoyTrackBalls [RCBasic Doc]
+#header function NumJoyTrackBalls(joy_num)
+
+
diff --git a/doc/bu/files/numsoundchannels.txt b/doc/bu/files/numsoundchannels.txt
new file mode 100644
index 0000000..7e5221f
--- /dev/null
+++ b/doc/bu/files/numsoundchannels.txt
@@ -0,0 +1,4 @@
+#title NumSoundChannels [RCBasic Doc]
+#header function NumSoundChannels()
+
+
diff --git a/doc/bu/files/opencanvas.txt b/doc/bu/files/opencanvas.txt
new file mode 100644
index 0000000..e96a2dd
--- /dev/null
+++ b/doc/bu/files/opencanvas.txt
@@ -0,0 +1,4 @@
+#title OpenCanvas [RCBasic Doc]
+#header function OpenCanvas( w, h, viewport_x, viewport_y, viewport_w, viewport_h, mode)
+
+
diff --git a/doc/bu/files/openfile.txt b/doc/bu/files/openfile.txt
new file mode 100644
index 0000000..d961bb5
--- /dev/null
+++ b/doc/bu/files/openfile.txt
@@ -0,0 +1,4 @@
+#title OpenFile [RCBasic Doc]
+#header function OpenFile(fileName$, mode)
+
+
diff --git a/doc/bu/files/openurl.txt b/doc/bu/files/openurl.txt
new file mode 100644
index 0000000..7fd2cf7
--- /dev/null
+++ b/doc/bu/files/openurl.txt
@@ -0,0 +1,4 @@
+#title OpenURL [RCBasic Doc]
+#header function OpenURL(url$)
+
+
diff --git a/doc/bu/files/openwindow.txt b/doc/bu/files/openwindow.txt
new file mode 100644
index 0000000..80d6b7b
--- /dev/null
+++ b/doc/bu/files/openwindow.txt
@@ -0,0 +1,4 @@
+#title OpenWindow [RCBasic Doc]
+#header Function OpenWindow( title$, w, h, fullscreen, vsync )
+
+
diff --git a/doc/bu/files/openwindowex.txt b/doc/bu/files/openwindowex.txt
new file mode 100644
index 0000000..441ebf8
--- /dev/null
+++ b/doc/bu/files/openwindowex.txt
@@ -0,0 +1,4 @@
+#title OpenWindowEx [RCBasic Doc]
+#header function OpenWindowEx(title$, x, y, w, h, mode, aa, stencil_buffer, vsync)
+
+
diff --git a/doc/bu/files/orbit.txt b/doc/bu/files/orbit.txt
new file mode 100644
index 0000000..26590c5
--- /dev/null
+++ b/doc/bu/files/orbit.txt
@@ -0,0 +1,4 @@
+#title OrBit [RCBasic Doc]
+#header function OrBit(a, b)
+
+
diff --git a/doc/bu/files/os.txt b/doc/bu/files/os.txt
new file mode 100644
index 0000000..4e9286f
--- /dev/null
+++ b/doc/bu/files/os.txt
@@ -0,0 +1,4 @@
+#title OS$ [RCBasic Doc]
+#header function OS$()
+
+
diff --git a/doc/bu/files/particleisusingeverymeshvertex.txt b/doc/bu/files/particleisusingeverymeshvertex.txt
new file mode 100644
index 0000000..5c97b62
--- /dev/null
+++ b/doc/bu/files/particleisusingeverymeshvertex.txt
@@ -0,0 +1,4 @@
+#title particleIsUsingEveryMeshVertex [RCBasic Doc]
+#header function particleIsUsingEveryMeshVertex( actor)
+
+
diff --git a/doc/bu/files/particleisusingnormaldirection.txt b/doc/bu/files/particleisusingnormaldirection.txt
new file mode 100644
index 0000000..1cae291
--- /dev/null
+++ b/doc/bu/files/particleisusingnormaldirection.txt
@@ -0,0 +1,4 @@
+#title particleIsUsingNormalDirection [RCBasic Doc]
+#header function particleIsUsingNormalDirection( actor)
+
+
diff --git a/doc/bu/files/particleisusingoutlineonly.txt b/doc/bu/files/particleisusingoutlineonly.txt
new file mode 100644
index 0000000..b114c1b
--- /dev/null
+++ b/doc/bu/files/particleisusingoutlineonly.txt
@@ -0,0 +1,4 @@
+#title particleIsUsingOutlineOnly [RCBasic Doc]
+#header function particleIsUsingOutlineOnly( actor)
+
+
diff --git a/doc/bu/files/pausemusic.txt b/doc/bu/files/pausemusic.txt
new file mode 100644
index 0000000..754eee6
--- /dev/null
+++ b/doc/bu/files/pausemusic.txt
@@ -0,0 +1,4 @@
+#title PauseMusic [RCBasic Doc]
+#header sub PauseMusic()
+
+
diff --git a/doc/bu/files/pausesound.txt b/doc/bu/files/pausesound.txt
new file mode 100644
index 0000000..7bfb363
--- /dev/null
+++ b/doc/bu/files/pausesound.txt
@@ -0,0 +1,4 @@
+#title PauseSound [RCBasic Doc]
+#header sub PauseSound(channel)
+
+
diff --git a/doc/bu/files/pausevideo.txt b/doc/bu/files/pausevideo.txt
new file mode 100644
index 0000000..e4f9c22
--- /dev/null
+++ b/doc/bu/files/pausevideo.txt
@@ -0,0 +1,4 @@
+#title PauseVideo [RCBasic Doc]
+#header sub PauseVideo()
+
+
diff --git a/doc/bu/files/playmusic.txt b/doc/bu/files/playmusic.txt
new file mode 100644
index 0000000..73204db
--- /dev/null
+++ b/doc/bu/files/playmusic.txt
@@ -0,0 +1,4 @@
+#title PlayMusic [RCBasic Doc]
+#header sub PlayMusic(mLoops)
+
+
diff --git a/doc/bu/files/playsound.txt b/doc/bu/files/playsound.txt
new file mode 100644
index 0000000..4c4c62d
--- /dev/null
+++ b/doc/bu/files/playsound.txt
@@ -0,0 +1,4 @@
+#title PlaySound [RCBasic Doc]
+#header sub PlaySound(slot, channel, loops)
+
+
diff --git a/doc/bu/files/playsoundtimed.txt b/doc/bu/files/playsoundtimed.txt
new file mode 100644
index 0000000..5e0cf1c
--- /dev/null
+++ b/doc/bu/files/playsoundtimed.txt
@@ -0,0 +1,4 @@
+#title PlaySoundTimed [RCBasic Doc]
+#header sub PlaySoundTimed(slot, channel, loops, ms)
+
+
diff --git a/doc/bu/files/playvideo.txt b/doc/bu/files/playvideo.txt
new file mode 100644
index 0000000..47ad2f9
--- /dev/null
+++ b/doc/bu/files/playvideo.txt
@@ -0,0 +1,4 @@
+#title PlayVideo [RCBasic Doc]
+#header sub PlayVideo(vLoops)
+
+
diff --git a/doc/bu/files/pointinquad.txt b/doc/bu/files/pointinquad.txt
new file mode 100644
index 0000000..4f3ca9b
--- /dev/null
+++ b/doc/bu/files/pointinquad.txt
@@ -0,0 +1,4 @@
+#title PointInQuad [RCBasic Doc]
+#header function PointInQuad(x, y, x1, y1, x2, y2, x3, y3, x4, y4)
+
+
diff --git a/doc/bu/files/pointintri.txt b/doc/bu/files/pointintri.txt
new file mode 100644
index 0000000..49a29e1
--- /dev/null
+++ b/doc/bu/files/pointintri.txt
@@ -0,0 +1,4 @@
+#title PointInTri [RCBasic Doc]
+#header function PointInTri(x, y, x1, y1, x2, y2, x3, y3)
+
+
diff --git a/doc/bu/files/poly.txt b/doc/bu/files/poly.txt
new file mode 100644
index 0000000..1294e69
--- /dev/null
+++ b/doc/bu/files/poly.txt
@@ -0,0 +1,4 @@
+#title Poly [RCBasic Doc]
+#header sub Poly(n, byref x, byref y)
+
+
diff --git a/doc/bu/files/pop_n.txt b/doc/bu/files/pop_n.txt
new file mode 100644
index 0000000..a785a85
--- /dev/null
+++ b/doc/bu/files/pop_n.txt
@@ -0,0 +1,4 @@
+#title Pop_N [RCBasic Doc]
+#header function Pop_N( num_stack )
+
+
diff --git a/doc/bu/files/pop_s.txt b/doc/bu/files/pop_s.txt
new file mode 100644
index 0000000..e66028e
--- /dev/null
+++ b/doc/bu/files/pop_s.txt
@@ -0,0 +1,4 @@
+#title Pop_S$ [RCBasic Doc]
+#header function Pop_S$( str_stack )
+
+
diff --git a/doc/bu/files/prefpath.txt b/doc/bu/files/prefpath.txt
new file mode 100644
index 0000000..0dfc3ff
--- /dev/null
+++ b/doc/bu/files/prefpath.txt
@@ -0,0 +1,4 @@
+#title PrefPath$ [RCBasic Doc]
+#header function PrefPath$(org_name$, app_name$)
+
+
diff --git a/doc/bu/files/pset.txt b/doc/bu/files/pset.txt
new file mode 100644
index 0000000..411e190
--- /dev/null
+++ b/doc/bu/files/pset.txt
@@ -0,0 +1,4 @@
+#title Pset [RCBasic Doc]
+#header sub Pset(x,y)
+
+
diff --git a/doc/bu/files/push_n.txt b/doc/bu/files/push_n.txt
new file mode 100644
index 0000000..1a9f83b
--- /dev/null
+++ b/doc/bu/files/push_n.txt
@@ -0,0 +1,4 @@
+#title Push_N [RCBasic Doc]
+#header sub Push_N( num_stack, n )
+
+
diff --git a/doc/bu/files/push_s.txt b/doc/bu/files/push_s.txt
new file mode 100644
index 0000000..a6b04e2
--- /dev/null
+++ b/doc/bu/files/push_s.txt
@@ -0,0 +1,4 @@
+#title Push_S [RCBasic Doc]
+#header sub Push_S( str_stack, s$ )
+
+
diff --git a/doc/bu/files/queryaudiospec.txt b/doc/bu/files/queryaudiospec.txt
new file mode 100644
index 0000000..969989f
--- /dev/null
+++ b/doc/bu/files/queryaudiospec.txt
@@ -0,0 +1,4 @@
+#title QueryAudioSpec [RCBasic Doc]
+#header function QueryAudioSpec(ByRef freq, ByRef format, ByRef channels)
+
+
diff --git a/doc/bu/files/radians.txt b/doc/bu/files/radians.txt
new file mode 100644
index 0000000..0f0f324
--- /dev/null
+++ b/doc/bu/files/radians.txt
@@ -0,0 +1,4 @@
+#title Radians [RCBasic Doc]
+#header function Radians(d)
+
+
diff --git a/doc/bu/files/raisewindow.txt b/doc/bu/files/raisewindow.txt
new file mode 100644
index 0000000..6c13aa5
--- /dev/null
+++ b/doc/bu/files/raisewindow.txt
@@ -0,0 +1,4 @@
+#title RaiseWindow [RCBasic Doc]
+#header sub RaiseWindow( )
+
+
diff --git a/doc/bu/files/rand.txt b/doc/bu/files/rand.txt
new file mode 100644
index 0000000..380a601
--- /dev/null
+++ b/doc/bu/files/rand.txt
@@ -0,0 +1,4 @@
+#title Rand [RCBasic Doc]
+#header function Rand(n)
+
+
diff --git a/doc/bu/files/randomize.txt b/doc/bu/files/randomize.txt
new file mode 100644
index 0000000..c3c2ef4
--- /dev/null
+++ b/doc/bu/files/randomize.txt
@@ -0,0 +1,4 @@
+#title Randomize [RCBasic Doc]
+#header function Randomize(n)
+
+
diff --git a/doc/bu/files/randomizematrix.txt b/doc/bu/files/randomizematrix.txt
new file mode 100644
index 0000000..cdc4a09
--- /dev/null
+++ b/doc/bu/files/randomizematrix.txt
@@ -0,0 +1,4 @@
+#title RandomizeMatrix [RCBasic Doc]
+#header sub RandomizeMatrix(mA, vmin, vmax)
+
+
diff --git a/doc/bu/files/readbyte.txt b/doc/bu/files/readbyte.txt
new file mode 100644
index 0000000..b5b06e9
--- /dev/null
+++ b/doc/bu/files/readbyte.txt
@@ -0,0 +1,4 @@
+#title ReadByte [RCBasic Doc]
+#header function ReadByte(stream)
+
+
diff --git a/doc/bu/files/readbytebuffer.txt b/doc/bu/files/readbytebuffer.txt
new file mode 100644
index 0000000..10f06fe
--- /dev/null
+++ b/doc/bu/files/readbytebuffer.txt
@@ -0,0 +1,4 @@
+#title ReadByteBuffer [RCBasic Doc]
+#header function ReadByteBuffer(stream, ByRef buf, buf_size)
+
+
diff --git a/doc/bu/files/readinput_settext.txt b/doc/bu/files/readinput_settext.txt
new file mode 100644
index 0000000..4cd14c9
--- /dev/null
+++ b/doc/bu/files/readinput_settext.txt
@@ -0,0 +1,4 @@
+#title ReadInput_SetText [RCBasic Doc]
+#header sub ReadInput_SetText(txt$)
+
+
diff --git a/doc/bu/files/readinput_start.txt b/doc/bu/files/readinput_start.txt
new file mode 100644
index 0000000..a3fd1af
--- /dev/null
+++ b/doc/bu/files/readinput_start.txt
@@ -0,0 +1,4 @@
+#title ReadInput_Start [RCBasic Doc]
+#header sub ReadInput_Start()
+
+
diff --git a/doc/bu/files/readinput_stop.txt b/doc/bu/files/readinput_stop.txt
new file mode 100644
index 0000000..48afa3c
--- /dev/null
+++ b/doc/bu/files/readinput_stop.txt
@@ -0,0 +1,4 @@
+#title ReadInput_Stop [RCBasic Doc]
+#header sub ReadInput_Stop()
+
+
diff --git a/doc/bu/files/readinput_text.txt b/doc/bu/files/readinput_text.txt
new file mode 100644
index 0000000..16cc690
--- /dev/null
+++ b/doc/bu/files/readinput_text.txt
@@ -0,0 +1,4 @@
+#title ReadInput_Text$ [RCBasic Doc]
+#header function ReadInput_Text$()
+
+
diff --git a/doc/bu/files/readinput_togglebackspace.txt b/doc/bu/files/readinput_togglebackspace.txt
new file mode 100644
index 0000000..6a4b6aa
--- /dev/null
+++ b/doc/bu/files/readinput_togglebackspace.txt
@@ -0,0 +1,4 @@
+#title ReadInput_ToggleBackspace [RCBasic Doc]
+#header sub ReadInput_ToggleBackspace(flag)
+
+
diff --git a/doc/bu/files/readline.txt b/doc/bu/files/readline.txt
new file mode 100644
index 0000000..905c7e4
--- /dev/null
+++ b/doc/bu/files/readline.txt
@@ -0,0 +1,4 @@
+#title ReadLine$ [RCBasic Doc]
+#header function ReadLine$(stream)
+
+
diff --git a/doc/bu/files/rect.txt b/doc/bu/files/rect.txt
new file mode 100644
index 0000000..ca7d960
--- /dev/null
+++ b/doc/bu/files/rect.txt
@@ -0,0 +1,4 @@
+#title Rect [RCBasic Doc]
+#header sub Rect(x, y, w, h)
+
+
diff --git a/doc/bu/files/rectfill.txt b/doc/bu/files/rectfill.txt
new file mode 100644
index 0000000..1b5a196
--- /dev/null
+++ b/doc/bu/files/rectfill.txt
@@ -0,0 +1,4 @@
+#title RectFill [RCBasic Doc]
+#header sub RectFill(x, y, w, h)
+
+
diff --git a/doc/bu/files/removeactorshadow.txt b/doc/bu/files/removeactorshadow.txt
new file mode 100644
index 0000000..0f699b1
--- /dev/null
+++ b/doc/bu/files/removeactorshadow.txt
@@ -0,0 +1,4 @@
+#title RemoveActorShadow [RCBasic Doc]
+#header sub RemoveActorShadow( actor )
+
+
diff --git a/doc/bu/files/removedir.txt b/doc/bu/files/removedir.txt
new file mode 100644
index 0000000..c03614a
--- /dev/null
+++ b/doc/bu/files/removedir.txt
@@ -0,0 +1,4 @@
+#title RemoveDir [RCBasic Doc]
+#header function RemoveDir(p$)
+
+
diff --git a/doc/bu/files/removefile.txt b/doc/bu/files/removefile.txt
new file mode 100644
index 0000000..87b2c15
--- /dev/null
+++ b/doc/bu/files/removefile.txt
@@ -0,0 +1,4 @@
+#title RemoveFile [RCBasic Doc]
+#header function RemoveFile(fileName$)
+
+
diff --git a/doc/bu/files/removescenesky.txt b/doc/bu/files/removescenesky.txt
new file mode 100644
index 0000000..b665641
--- /dev/null
+++ b/doc/bu/files/removescenesky.txt
@@ -0,0 +1,4 @@
+#title RemoveSceneSky [RCBasic Doc]
+#header sub RemoveSceneSky( )
+
+
diff --git a/doc/bu/files/renamefile.txt b/doc/bu/files/renamefile.txt
new file mode 100644
index 0000000..abbdf67
--- /dev/null
+++ b/doc/bu/files/renamefile.txt
@@ -0,0 +1,4 @@
+#title RenameFile [RCBasic Doc]
+#header function RenameFile(src$, dst$)
+
+
diff --git a/doc/bu/files/replace.txt b/doc/bu/files/replace.txt
new file mode 100644
index 0000000..33bc7c2
--- /dev/null
+++ b/doc/bu/files/replace.txt
@@ -0,0 +1,4 @@
+#title Replace$ [RCBasic Doc]
+#header function Replace$(src$, tgt$, rpc$)
+
+
diff --git a/doc/bu/files/replacesubstr.txt b/doc/bu/files/replacesubstr.txt
new file mode 100644
index 0000000..92ef6a0
--- /dev/null
+++ b/doc/bu/files/replacesubstr.txt
@@ -0,0 +1,4 @@
+#title ReplaceSubstr$ [RCBasic Doc]
+#header function ReplaceSubstr$(src$, rpc$, pos)
+
+
diff --git a/doc/bu/files/restorewindow.txt b/doc/bu/files/restorewindow.txt
new file mode 100644
index 0000000..26ef88e
--- /dev/null
+++ b/doc/bu/files/restorewindow.txt
@@ -0,0 +1,4 @@
+#title RestoreWindow [RCBasic Doc]
+#header sub RestoreWindow( )
+
+
diff --git a/doc/bu/files/resumemusic.txt b/doc/bu/files/resumemusic.txt
new file mode 100644
index 0000000..371cdd7
--- /dev/null
+++ b/doc/bu/files/resumemusic.txt
@@ -0,0 +1,4 @@
+#title ResumeMusic [RCBasic Doc]
+#header sub ResumeMusic()
+
+
diff --git a/doc/bu/files/resumesound.txt b/doc/bu/files/resumesound.txt
new file mode 100644
index 0000000..be12b60
--- /dev/null
+++ b/doc/bu/files/resumesound.txt
@@ -0,0 +1,4 @@
+#title ResumeSound [RCBasic Doc]
+#header sub ResumeSound(channel)
+
+
diff --git a/doc/bu/files/resumevideo.txt b/doc/bu/files/resumevideo.txt
new file mode 100644
index 0000000..2c6b1a0
--- /dev/null
+++ b/doc/bu/files/resumevideo.txt
@@ -0,0 +1,4 @@
+#title ResumeVideo [RCBasic Doc]
+#header sub ResumeVideo()
+
+
diff --git a/doc/bu/files/reverse.txt b/doc/bu/files/reverse.txt
new file mode 100644
index 0000000..f087869
--- /dev/null
+++ b/doc/bu/files/reverse.txt
@@ -0,0 +1,4 @@
+#title Reverse$ [RCBasic Doc]
+#header function Reverse$(src$)
+
+
diff --git a/doc/bu/files/rewindmusic.txt b/doc/bu/files/rewindmusic.txt
new file mode 100644
index 0000000..230a3bc
--- /dev/null
+++ b/doc/bu/files/rewindmusic.txt
@@ -0,0 +1,4 @@
+#title RewindMusic [RCBasic Doc]
+#header sub RewindMusic()
+
+
diff --git a/doc/bu/files/rgb.txt b/doc/bu/files/rgb.txt
new file mode 100644
index 0000000..327923b
--- /dev/null
+++ b/doc/bu/files/rgb.txt
@@ -0,0 +1,4 @@
+#title RGB [RCBasic Doc]
+#header function RGB(r,g,b)
+
+
diff --git a/doc/bu/files/rgba.txt b/doc/bu/files/rgba.txt
new file mode 100644
index 0000000..afebfcb
--- /dev/null
+++ b/doc/bu/files/rgba.txt
@@ -0,0 +1,4 @@
+#title RGBA [RCBasic Doc]
+#header function RGBA(r,g,b,a)
+
+
diff --git a/doc/bu/files/right.txt b/doc/bu/files/right.txt
new file mode 100644
index 0000000..2f571dd
--- /dev/null
+++ b/doc/bu/files/right.txt
@@ -0,0 +1,4 @@
+#title Right$ [RCBasic Doc]
+#header function Right$(src$, n)
+
+
diff --git a/doc/bu/files/rotateactor.txt b/doc/bu/files/rotateactor.txt
new file mode 100644
index 0000000..16db805
--- /dev/null
+++ b/doc/bu/files/rotateactor.txt
@@ -0,0 +1,4 @@
+#title RotateActor [RCBasic Doc]
+#header sub RotateActor( actor, x, y, z )
+
+
diff --git a/doc/bu/files/rotatecamera.txt b/doc/bu/files/rotatecamera.txt
new file mode 100644
index 0000000..8dd2d7f
--- /dev/null
+++ b/doc/bu/files/rotatecamera.txt
@@ -0,0 +1,4 @@
+#title RotateCamera [RCBasic Doc]
+#header sub RotateCamera( x, y, z)
+
+
diff --git a/doc/bu/files/round.txt b/doc/bu/files/round.txt
new file mode 100644
index 0000000..c6dade7
--- /dev/null
+++ b/doc/bu/files/round.txt
@@ -0,0 +1,4 @@
+#title Round [RCBasic Doc]
+#header function Round(n)
+
+
diff --git a/doc/bu/files/rtrim.txt b/doc/bu/files/rtrim.txt
new file mode 100644
index 0000000..ff3ab2c
--- /dev/null
+++ b/doc/bu/files/rtrim.txt
@@ -0,0 +1,4 @@
+#title Rtrim$ [RCBasic Doc]
+#header function Rtrim$(src$)
+
+
diff --git a/doc/bu/files/runtime.txt b/doc/bu/files/runtime.txt
new file mode 100644
index 0000000..fdfdbb5
--- /dev/null
+++ b/doc/bu/files/runtime.txt
@@ -0,0 +1,4 @@
+#title Runtime$ [RCBasic Doc]
+#header function Runtime$()
+
+
diff --git a/doc/bu/files/runtime_utility_message.txt b/doc/bu/files/runtime_utility_message.txt
new file mode 100644
index 0000000..711b420
--- /dev/null
+++ b/doc/bu/files/runtime_utility_message.txt
@@ -0,0 +1,4 @@
+#title Runtime_Utility_Message$ [RCBasic Doc]
+#header function Runtime_Utility_Message$(arg$)
+
+
diff --git a/doc/bu/files/scalarmatrix.txt b/doc/bu/files/scalarmatrix.txt
new file mode 100644
index 0000000..ae1d0b9
--- /dev/null
+++ b/doc/bu/files/scalarmatrix.txt
@@ -0,0 +1,4 @@
+#title ScalarMatrix [RCBasic Doc]
+#header sub ScalarMatrix(mA, mB, s_value)
+
+
diff --git a/doc/bu/files/scalarmatrixcolumns.txt b/doc/bu/files/scalarmatrixcolumns.txt
new file mode 100644
index 0000000..d627d3b
--- /dev/null
+++ b/doc/bu/files/scalarmatrixcolumns.txt
@@ -0,0 +1,4 @@
+#title ScalarMatrixColumns [RCBasic Doc]
+#header function ScalarMatrixColumns(mA, mB, c, num_cols, s_value)
+
+
diff --git a/doc/bu/files/scalarmatrixrows.txt b/doc/bu/files/scalarmatrixrows.txt
new file mode 100644
index 0000000..4cede18
--- /dev/null
+++ b/doc/bu/files/scalarmatrixrows.txt
@@ -0,0 +1,4 @@
+#title ScalarMatrixRows [RCBasic Doc]
+#header function ScalarMatrixRows(mA, mB, r, num_rows, s_value)
+
+
diff --git a/doc/bu/files/scaleactor.txt b/doc/bu/files/scaleactor.txt
new file mode 100644
index 0000000..ff1e0c5
--- /dev/null
+++ b/doc/bu/files/scaleactor.txt
@@ -0,0 +1,4 @@
+#title ScaleActor [RCBasic Doc]
+#header sub ScaleActor( actor, x, y, z )
+
+
diff --git a/doc/bu/files/scaleterraintexture.txt b/doc/bu/files/scaleterraintexture.txt
new file mode 100644
index 0000000..74a4097
--- /dev/null
+++ b/doc/bu/files/scaleterraintexture.txt
@@ -0,0 +1,4 @@
+#title ScaleTerrainTexture [RCBasic Doc]
+#header sub ScaleTerrainTexture( actor, scale, scale2 )
+
+
diff --git a/doc/bu/files/seek.txt b/doc/bu/files/seek.txt
new file mode 100644
index 0000000..eeff200
--- /dev/null
+++ b/doc/bu/files/seek.txt
@@ -0,0 +1,4 @@
+#title Seek [RCBasic Doc]
+#header function Seek(stream, pos)
+
+
diff --git a/doc/bu/files/setactorangularfactor.txt b/doc/bu/files/setactorangularfactor.txt
new file mode 100644
index 0000000..f24d283
--- /dev/null
+++ b/doc/bu/files/setactorangularfactor.txt
@@ -0,0 +1,9 @@
+#title SetActorAngularFactor [RCBasic Doc]
+#header sub SetActorAngularFactor( actor, x, y, z)
+
+Sets an actor's angular factor.
+
+The angular factor determines how the actor responds to angular velocity or torque.
+
+#ref GetActorAngularFactor SetActorAngularFactor SetActorLinearFactor
+
diff --git a/doc/bu/files/setactorangularvelocitylocal.txt b/doc/bu/files/setactorangularvelocitylocal.txt
new file mode 100644
index 0000000..d1f7541
--- /dev/null
+++ b/doc/bu/files/setactorangularvelocitylocal.txt
@@ -0,0 +1,4 @@
+#title setActorAngularVelocityLocal [RCBasic Doc]
+#header sub setActorAngularVelocityLocal( actor, x, y, z)
+
+
diff --git a/doc/bu/files/setactorangularvelocityworld.txt b/doc/bu/files/setactorangularvelocityworld.txt
new file mode 100644
index 0000000..1fa8210
--- /dev/null
+++ b/doc/bu/files/setactorangularvelocityworld.txt
@@ -0,0 +1,4 @@
+#title setActorAngularVelocityWorld [RCBasic Doc]
+#header sub setActorAngularVelocityWorld( actor, x, y, z)
+
+
diff --git a/doc/bu/files/setactoranimation.txt b/doc/bu/files/setactoranimation.txt
new file mode 100644
index 0000000..bdc4b0b
--- /dev/null
+++ b/doc/bu/files/setactoranimation.txt
@@ -0,0 +1,4 @@
+#title SetActorAnimation [RCBasic Doc]
+#header sub SetActorAnimation( actor, start_frame, end_frame)
+
+
diff --git a/doc/bu/files/setactoranimationspeed.txt b/doc/bu/files/setactoranimationspeed.txt
new file mode 100644
index 0000000..acc056a
--- /dev/null
+++ b/doc/bu/files/setactoranimationspeed.txt
@@ -0,0 +1,4 @@
+#title SetActorAnimationSpeed [RCBasic Doc]
+#header sub SetActorAnimationSpeed( actor, speed )
+
+
diff --git a/doc/bu/files/setactorautoculling.txt b/doc/bu/files/setactorautoculling.txt
new file mode 100644
index 0000000..a6ded76
--- /dev/null
+++ b/doc/bu/files/setactorautoculling.txt
@@ -0,0 +1,4 @@
+#title SetActorAutoCulling [RCBasic Doc]
+#header sub SetActorAutoCulling( actor, cull_type )
+
+
diff --git a/doc/bu/files/setactorcollisionshape.txt b/doc/bu/files/setactorcollisionshape.txt
new file mode 100644
index 0000000..2863723
--- /dev/null
+++ b/doc/bu/files/setactorcollisionshape.txt
@@ -0,0 +1,18 @@
+#title SetActorCollisionShape [RCBasic Doc]
+#header sub SetActorCollisionShape( actor, shape_type, mass)
+
+Sets the actor's collision shape
+
+Shape Types:
+#list ul
+#li SHAPE_TYPE_NONE
+#li SHAPE_TYPE_BOX
+#li SHAPE_TYPE_SPHERE
+#li SHAPE_TYPE_CYLINDER
+#li SHAPE_TYPE_CAPSULE
+#li SHAPE_TYPE_CONE
+#li SHAPE_TYPE_CONVEXHULL
+#li SHAPE_TYPE_TRIMESH
+#/list
+
+#ref GetActorCollisionShape
diff --git a/doc/bu/files/setactordamping.txt b/doc/bu/files/setactordamping.txt
new file mode 100644
index 0000000..579f522
--- /dev/null
+++ b/doc/bu/files/setactordamping.txt
@@ -0,0 +1,4 @@
+#title setActorDamping [RCBasic Doc]
+#header sub setActorDamping( actor, lin_damping, ang_damping)
+
+
diff --git a/doc/bu/files/setactorframe.txt b/doc/bu/files/setactorframe.txt
new file mode 100644
index 0000000..089229e
--- /dev/null
+++ b/doc/bu/files/setactorframe.txt
@@ -0,0 +1,4 @@
+#title SetActorFrame [RCBasic Doc]
+#header sub SetActorFrame( actor, frame )
+
+
diff --git a/doc/bu/files/setactorgravity.txt b/doc/bu/files/setactorgravity.txt
new file mode 100644
index 0000000..98493c6
--- /dev/null
+++ b/doc/bu/files/setactorgravity.txt
@@ -0,0 +1,4 @@
+#title SetActorGravity [RCBasic Doc]
+#header sub SetActorGravity( actor, x, y, z )
+
+
diff --git a/doc/bu/files/setactorinverseinertiadiaglocal.txt b/doc/bu/files/setactorinverseinertiadiaglocal.txt
new file mode 100644
index 0000000..cc428ef
--- /dev/null
+++ b/doc/bu/files/setactorinverseinertiadiaglocal.txt
@@ -0,0 +1,6 @@
+#title SetActorInverseInertiaDiagLocal [RCBasic Doc]
+#header sub SetActorInverseInertiaDiagLocal( actor, x, y, z)
+
+Sets the inverse of the inertia tensor's diagonal components in an actor's local space. This is used to compute how the actor reacts to rotational forces (torques) applied to it.
+
+#ref GetActorInverseInertiaDiagLocal
diff --git a/doc/bu/files/setactorlinearfactor.txt b/doc/bu/files/setactorlinearfactor.txt
new file mode 100644
index 0000000..836a22f
--- /dev/null
+++ b/doc/bu/files/setactorlinearfactor.txt
@@ -0,0 +1,9 @@
+#title SetActorLinearFactor [RCBasic Doc]
+#header sub SetActorLinearFactor( actor, x, y, z)
+
+Sets an actor's linear factor.
+
+The linear factor determines how the actor responds to linear velocity or force.
+
+#ref GetActorLinearFactor SetActorAngularFactor GetActorAngularFactor
+
diff --git a/doc/bu/files/setactorlinearvelocitylocal.txt b/doc/bu/files/setactorlinearvelocitylocal.txt
new file mode 100644
index 0000000..7dcb77b
--- /dev/null
+++ b/doc/bu/files/setactorlinearvelocitylocal.txt
@@ -0,0 +1,4 @@
+#title setActorLinearVelocityLocal [RCBasic Doc]
+#header sub setActorLinearVelocityLocal( actor, x, y, z)
+
+
diff --git a/doc/bu/files/setactorlinearvelocityworld.txt b/doc/bu/files/setactorlinearvelocityworld.txt
new file mode 100644
index 0000000..a583ff3
--- /dev/null
+++ b/doc/bu/files/setactorlinearvelocityworld.txt
@@ -0,0 +1,4 @@
+#title setActorLinearVelocityWorld [RCBasic Doc]
+#header sub setActorLinearVelocityWorld( actor, x, y, z)
+
+
diff --git a/doc/bu/files/setactormassproperties.txt b/doc/bu/files/setactormassproperties.txt
new file mode 100644
index 0000000..f84275d
--- /dev/null
+++ b/doc/bu/files/setactormassproperties.txt
@@ -0,0 +1,4 @@
+#title setActorMassProperties [RCBasic Doc]
+#header sub setActorMassProperties( actor, mass, inertia_x, inertia_y, inertia_z)
+
+
diff --git a/doc/bu/files/setactormaterial.txt b/doc/bu/files/setactormaterial.txt
new file mode 100644
index 0000000..d6cf9ce
--- /dev/null
+++ b/doc/bu/files/setactormaterial.txt
@@ -0,0 +1,4 @@
+#title setActorMaterial [RCBasic Doc]
+#header sub setActorMaterial( actor, material_num, material_id)
+
+
diff --git a/doc/bu/files/setactormaterialflag.txt b/doc/bu/files/setactormaterialflag.txt
new file mode 100644
index 0000000..18fbb8c
--- /dev/null
+++ b/doc/bu/files/setactormaterialflag.txt
@@ -0,0 +1,4 @@
+#title setActorMaterialFlag [RCBasic Doc]
+#header sub setActorMaterialFlag( actor, flag, flag_value)
+
+
diff --git a/doc/bu/files/setactormaterialtype.txt b/doc/bu/files/setactormaterialtype.txt
new file mode 100644
index 0000000..5289e2e
--- /dev/null
+++ b/doc/bu/files/setactormaterialtype.txt
@@ -0,0 +1,37 @@
+#title setActorMaterialType [RCBasic Doc]
+#header sub setActorMaterialType( actor, material_type)
+
+Sets the material type of an actor material
+
+Note: This will set material 0. If your actor has more than one material you need to get a reference to the actor material with GetActorMaterial() to set them.
+
+Possible material types
+#list ul
+#li MATERIAL_TYPE_SOLID
+#li MATERIAL_TYPE_SOLID_2_LAYER
+#li MATERIAL_TYPE_LIGHTMAP
+#li MATERIAL_TYPE_LIGHTMAP_ADD
+#li MATERIAL_TYPE_LIGHTMAP_M2
+#li MATERIAL_TYPE_LIGHTMAP_M4
+#li MATERIAL_TYPE_LIGHTMAP_LIGHTING
+#li MATERIAL_TYPE_LIGHTMAP_LIGHTING_M2
+#li MATERIAL_TYPE_LIGHTMAP_LIGHTING_M4
+#li MATERIAL_TYPE_DETAIL_MAP
+#li MATERIAL_TYPE_SPHERE_MAP
+#li MATERIAL_TYPE_REFLECTION_2_LAYER
+#li MATERIAL_TYPE_TRANSPARENT_ADD_COLOR
+#li MATERIAL_TYPE_TRANSPARENT_ALPHA_CHANNEL
+#li MATERIAL_TYPE_TRANSPARENT_ALPHA_CHANNEL_REF
+#li MATERIAL_TYPE_TRANSPARENT_VERTEX_ALPHA
+#li MATERIAL_TYPE_TRANSPARENT_REFLECTION_2_LAYER
+#li MATERIAL_TYPE_NORMAL_MAP_SOLID
+#li MATERIAL_TYPE_NORMAL_MAP_TRANSPARENT_ADD_COLOR
+#li MATERIAL_TYPE_NORMAL_MAP_TRANSPARENT_VERTEX_ALPHA
+#li MATERIAL_TYPE_PARALLAX_MAP_SOLID
+#li MATERIAL_TYPE_PARALLAX_MAP_TRANSPARENT_ADD_COLOR
+#li MATERIAL_TYPE_PARALLAX_MAP_TRANSPARENT_VERTEX_ALPHA
+#li MATERIAL_TYPE_ONETEXTURE_BLEND
+#li MATERIAL_TYPE_FORCE_32BIT
+#/list
+
+#ref GetActorMaterialType GetActorMaterial
diff --git a/doc/bu/files/setactormd2animation.txt b/doc/bu/files/setactormd2animation.txt
new file mode 100644
index 0000000..0edae0a
--- /dev/null
+++ b/doc/bu/files/setactormd2animation.txt
@@ -0,0 +1,4 @@
+#title SetActorMD2Animation [RCBasic Doc]
+#header sub SetActorMD2Animation( actor, anim )
+
+
diff --git a/doc/bu/files/setactormd2animationbyname.txt b/doc/bu/files/setactormd2animationbyname.txt
new file mode 100644
index 0000000..3e9a768
--- /dev/null
+++ b/doc/bu/files/setactormd2animationbyname.txt
@@ -0,0 +1,4 @@
+#title SetActorMD2AnimationByName [RCBasic Doc]
+#header sub SetActorMD2AnimationByName( actor, anim_name$ )
+
+
diff --git a/doc/bu/files/setactorposition.txt b/doc/bu/files/setactorposition.txt
new file mode 100644
index 0000000..3abd393
--- /dev/null
+++ b/doc/bu/files/setactorposition.txt
@@ -0,0 +1,4 @@
+#title SetActorPosition [RCBasic Doc]
+#header sub SetActorPosition( actor, x, y, z )
+
+
diff --git a/doc/bu/files/setactorrotation.txt b/doc/bu/files/setactorrotation.txt
new file mode 100644
index 0000000..649e2c3
--- /dev/null
+++ b/doc/bu/files/setactorrotation.txt
@@ -0,0 +1,4 @@
+#title SetActorRotation [RCBasic Doc]
+#header sub SetActorRotation( actor, x, y, z )
+
+
diff --git a/doc/bu/files/setactorscale.txt b/doc/bu/files/setactorscale.txt
new file mode 100644
index 0000000..d8cadea
--- /dev/null
+++ b/doc/bu/files/setactorscale.txt
@@ -0,0 +1,4 @@
+#title SetActorScale [RCBasic Doc]
+#header sub SetActorScale( actor, x, y, z )
+
+
diff --git a/doc/bu/files/setactorsleepthresholds.txt b/doc/bu/files/setactorsleepthresholds.txt
new file mode 100644
index 0000000..34ca887
--- /dev/null
+++ b/doc/bu/files/setactorsleepthresholds.txt
@@ -0,0 +1,4 @@
+#title setActorSleepThresholds [RCBasic Doc]
+#header sub setActorSleepThresholds( actor, linear, angular)
+
+
diff --git a/doc/bu/files/setactorsolid.txt b/doc/bu/files/setactorsolid.txt
new file mode 100644
index 0000000..2dcf2e2
--- /dev/null
+++ b/doc/bu/files/setactorsolid.txt
@@ -0,0 +1,4 @@
+#title SetActorSolid [RCBasic Doc]
+#header sub SetActorSolid(actor, flag)
+
+
diff --git a/doc/bu/files/setactortexture.txt b/doc/bu/files/setactortexture.txt
new file mode 100644
index 0000000..ad569e4
--- /dev/null
+++ b/doc/bu/files/setactortexture.txt
@@ -0,0 +1,4 @@
+#title setActorTexture [RCBasic Doc]
+#header sub setActorTexture( actor, layer, image_id)
+
+
diff --git a/doc/bu/files/setactorvisible.txt b/doc/bu/files/setactorvisible.txt
new file mode 100644
index 0000000..8750879
--- /dev/null
+++ b/doc/bu/files/setactorvisible.txt
@@ -0,0 +1,4 @@
+#title SetActorVisible [RCBasic Doc]
+#header sub SetActorVisible( actor, flag )
+
+
diff --git a/doc/bu/files/setbilinearfilter.txt b/doc/bu/files/setbilinearfilter.txt
new file mode 100644
index 0000000..1c9c7d4
--- /dev/null
+++ b/doc/bu/files/setbilinearfilter.txt
@@ -0,0 +1,4 @@
+#title setBilinearFilter [RCBasic Doc]
+#header sub setBilinearFilter( flag )
+
+
diff --git a/doc/bu/files/setblendmode.txt b/doc/bu/files/setblendmode.txt
new file mode 100644
index 0000000..66d69a8
--- /dev/null
+++ b/doc/bu/files/setblendmode.txt
@@ -0,0 +1,23 @@
+#title SetBlendMode [RCBasic Doc]
+#header sub SetBlendMode( blend_mode )
+
+Sets the current blend mode
+
+Note: Only applies to 2D image drawing commands
+
+Possible Blend Modes
+#list ul
+#li BLEND_MODE_NONE
+#li BLEND_MODE_ADD
+#li BLEND_MODE_SUBTRACT
+#li BLEND_MODE_REVSUBTRACT
+#li BLEND_MODE_MIN
+#li BLEND_MODE_MAX
+#li BLEND_MODE_MIN_FACTOR
+#li BLEND_MODE_MAX_FACTOR
+#li BLEND_MODE_MIN_ALPHA
+#li BLEND_MODE_MAX_ALPHA
+#/list
+
+#ref SetBlendMode
+
diff --git a/doc/bu/files/setcameraaspectratio.txt b/doc/bu/files/setcameraaspectratio.txt
new file mode 100644
index 0000000..f18b53b
--- /dev/null
+++ b/doc/bu/files/setcameraaspectratio.txt
@@ -0,0 +1,6 @@
+#title SetCameraAspectRatio [RCBasic Doc]
+#header sub SetCameraAspectRatio( aspect )
+
+Sets the aspect ratio for the active canvas camera
+
+#ref GetCameraAspectRatio
diff --git a/doc/bu/files/setcamerafarvalue.txt b/doc/bu/files/setcamerafarvalue.txt
new file mode 100644
index 0000000..b0fa625
--- /dev/null
+++ b/doc/bu/files/setcamerafarvalue.txt
@@ -0,0 +1,4 @@
+#title SetCameraFarValue [RCBasic Doc]
+#header sub SetCameraFarValue( zf )
+
+
diff --git a/doc/bu/files/setcamerafov.txt b/doc/bu/files/setcamerafov.txt
new file mode 100644
index 0000000..3e4ade2
--- /dev/null
+++ b/doc/bu/files/setcamerafov.txt
@@ -0,0 +1,4 @@
+#title SetCameraFOV [RCBasic Doc]
+#header sub SetCameraFOV( fov )
+
+
diff --git a/doc/bu/files/setcameranearvalue.txt b/doc/bu/files/setcameranearvalue.txt
new file mode 100644
index 0000000..56c78be
--- /dev/null
+++ b/doc/bu/files/setcameranearvalue.txt
@@ -0,0 +1,4 @@
+#title SetCameraNearValue [RCBasic Doc]
+#header sub SetCameraNearValue( zn )
+
+
diff --git a/doc/bu/files/setcameraposition.txt b/doc/bu/files/setcameraposition.txt
new file mode 100644
index 0000000..5c73b0b
--- /dev/null
+++ b/doc/bu/files/setcameraposition.txt
@@ -0,0 +1,4 @@
+#title SetCameraPosition [RCBasic Doc]
+#header sub SetCameraPosition( x, y, z)
+
+
diff --git a/doc/bu/files/setcamerarotation.txt b/doc/bu/files/setcamerarotation.txt
new file mode 100644
index 0000000..f240439
--- /dev/null
+++ b/doc/bu/files/setcamerarotation.txt
@@ -0,0 +1,4 @@
+#title SetCameraRotation [RCBasic Doc]
+#header sub SetCameraRotation( x, y, z)
+
+
diff --git a/doc/bu/files/setcanvas3d.txt b/doc/bu/files/setcanvas3d.txt
new file mode 100644
index 0000000..6a06036
--- /dev/null
+++ b/doc/bu/files/setcanvas3d.txt
@@ -0,0 +1,4 @@
+#title SetCanvas3D [RCBasic Doc]
+#header Sub SetCanvas3D(c_num, flag)
+
+
diff --git a/doc/bu/files/setcanvasalpha.txt b/doc/bu/files/setcanvasalpha.txt
new file mode 100644
index 0000000..7a26a70
--- /dev/null
+++ b/doc/bu/files/setcanvasalpha.txt
@@ -0,0 +1,4 @@
+#title SetCanvasAlpha [RCBasic Doc]
+#header sub SetCanvasAlpha(c_num, a)
+
+
diff --git a/doc/bu/files/setcanvascolormod.txt b/doc/bu/files/setcanvascolormod.txt
new file mode 100644
index 0000000..8f7ac62
--- /dev/null
+++ b/doc/bu/files/setcanvascolormod.txt
@@ -0,0 +1,4 @@
+#title SetCanvasColorMod [RCBasic Doc]
+#header sub SetCanvasColorMod(c_num, c)
+
+
diff --git a/doc/bu/files/setcanvasoffset.txt b/doc/bu/files/setcanvasoffset.txt
new file mode 100644
index 0000000..57a6d0c
--- /dev/null
+++ b/doc/bu/files/setcanvasoffset.txt
@@ -0,0 +1,4 @@
+#title SetCanvasOffset [RCBasic Doc]
+#header sub SetCanvasOffset(c_num, x, y)
+
+
diff --git a/doc/bu/files/setcanvasviewport.txt b/doc/bu/files/setcanvasviewport.txt
new file mode 100644
index 0000000..8b7afa6
--- /dev/null
+++ b/doc/bu/files/setcanvasviewport.txt
@@ -0,0 +1,7 @@
+#title SetCanvasViewport [RCBasic Doc]
+#header sub SetCanvasViewport(cnum, x, y, w, h)
+
+Sets the position and size of a canvas viewport
+
+#ref GetCanvasViewport
+
diff --git a/doc/bu/files/setcanvasvisible.txt b/doc/bu/files/setcanvasvisible.txt
new file mode 100644
index 0000000..5b6aa06
--- /dev/null
+++ b/doc/bu/files/setcanvasvisible.txt
@@ -0,0 +1,4 @@
+#title SetCanvasVisible [RCBasic Doc]
+#header sub SetCanvasVisible(c_num, flag)
+
+
diff --git a/doc/bu/files/setcanvasz.txt b/doc/bu/files/setcanvasz.txt
new file mode 100644
index 0000000..ec72dd1
--- /dev/null
+++ b/doc/bu/files/setcanvasz.txt
@@ -0,0 +1,8 @@
+#title SetCanvasZ [RCBasic Doc]
+#header sub SetCanvasZ(c_num, z)
+
+Sets the Canvas Z Order.
+
+Note: Canvases with a lower Z order are drawn first and those with higher values will be drawn on top
+
+#ref SetCanvasZ
diff --git a/doc/bu/files/setchanneldistance.txt b/doc/bu/files/setchanneldistance.txt
new file mode 100644
index 0000000..cfb814d
--- /dev/null
+++ b/doc/bu/files/setchanneldistance.txt
@@ -0,0 +1,4 @@
+#title SetChannelDistance [RCBasic Doc]
+#header function SetChannelDistance(channel, dist_value)
+
+
diff --git a/doc/bu/files/setchannelpanning.txt b/doc/bu/files/setchannelpanning.txt
new file mode 100644
index 0000000..e4840ca
--- /dev/null
+++ b/doc/bu/files/setchannelpanning.txt
@@ -0,0 +1,4 @@
+#title SetChannelPanning [RCBasic Doc]
+#header function SetChannelPanning(channel, left_value, right_value)
+
+
diff --git a/doc/bu/files/setchannelspaceposition.txt b/doc/bu/files/setchannelspaceposition.txt
new file mode 100644
index 0000000..53f1868
--- /dev/null
+++ b/doc/bu/files/setchannelspaceposition.txt
@@ -0,0 +1,4 @@
+#title SetChannelSpacePosition [RCBasic Doc]
+#header function SetChannelSpacePosition(channel, angle, distance)
+
+
diff --git a/doc/bu/files/setchannelvolume.txt b/doc/bu/files/setchannelvolume.txt
new file mode 100644
index 0000000..1d66782
--- /dev/null
+++ b/doc/bu/files/setchannelvolume.txt
@@ -0,0 +1,4 @@
+#title SetChannelVolume [RCBasic Doc]
+#header sub SetChannelVolume(channel, vol)
+
+
diff --git a/doc/bu/files/setclearcolor.txt b/doc/bu/files/setclearcolor.txt
new file mode 100644
index 0000000..3989e96
--- /dev/null
+++ b/doc/bu/files/setclearcolor.txt
@@ -0,0 +1,4 @@
+#title SetClearColor [RCBasic Doc]
+#header sub SetClearColor(c)
+
+
diff --git a/doc/bu/files/setclipboardtext.txt b/doc/bu/files/setclipboardtext.txt
new file mode 100644
index 0000000..a188ec5
--- /dev/null
+++ b/doc/bu/files/setclipboardtext.txt
@@ -0,0 +1,4 @@
+#title SetClipboardText [RCBasic Doc]
+#header sub SetClipboardText(txt$)
+
+
diff --git a/doc/bu/files/setcolor.txt b/doc/bu/files/setcolor.txt
new file mode 100644
index 0000000..b292335
--- /dev/null
+++ b/doc/bu/files/setcolor.txt
@@ -0,0 +1,4 @@
+#title SetColor [RCBasic Doc]
+#header sub SetColor(c)
+
+
diff --git a/doc/bu/files/setconelimit.txt b/doc/bu/files/setconelimit.txt
new file mode 100644
index 0000000..9633284
--- /dev/null
+++ b/doc/bu/files/setconelimit.txt
@@ -0,0 +1,4 @@
+#title setConeLimit [RCBasic Doc]
+#header sub setConeLimit( constraint_id, swingSpan1, swingSpan2, twistSpan, softness, bias_factor, relaxation_factor)
+
+
diff --git a/doc/bu/files/setconstraintangularonly.txt b/doc/bu/files/setconstraintangularonly.txt
new file mode 100644
index 0000000..804be68
--- /dev/null
+++ b/doc/bu/files/setconstraintangularonly.txt
@@ -0,0 +1,4 @@
+#title setConstraintAngularOnly [RCBasic Doc]
+#header sub setConstraintAngularOnly( constraint_id, flag)
+
+
diff --git a/doc/files/setconstraintaxis.txt b/doc/bu/files/setconstraintaxis.txt
similarity index 100%
rename from doc/files/setconstraintaxis.txt
rename to doc/bu/files/setconstraintaxis.txt
diff --git a/doc/bu/files/setconstraintbreakingimpulsethreshold.txt b/doc/bu/files/setconstraintbreakingimpulsethreshold.txt
new file mode 100644
index 0000000..853ead1
--- /dev/null
+++ b/doc/bu/files/setconstraintbreakingimpulsethreshold.txt
@@ -0,0 +1,4 @@
+#title setConstraintBreakingImpulseThreshold [RCBasic Doc]
+#header sub setConstraintBreakingImpulseThreshold( constraint_id, threshold)
+
+
diff --git a/doc/files/setconstraintdamping.txt b/doc/bu/files/setconstraintdamping.txt
similarity index 100%
rename from doc/files/setconstraintdamping.txt
rename to doc/bu/files/setconstraintdamping.txt
diff --git a/doc/files/setconstraintdampingdirang.txt b/doc/bu/files/setconstraintdampingdirang.txt
similarity index 100%
rename from doc/files/setconstraintdampingdirang.txt
rename to doc/bu/files/setconstraintdampingdirang.txt
diff --git a/doc/files/setconstraintdampingdirlin.txt b/doc/bu/files/setconstraintdampingdirlin.txt
similarity index 100%
rename from doc/files/setconstraintdampingdirlin.txt
rename to doc/bu/files/setconstraintdampingdirlin.txt
diff --git a/doc/files/setconstraintdampinglimang.txt b/doc/bu/files/setconstraintdampinglimang.txt
similarity index 100%
rename from doc/files/setconstraintdampinglimang.txt
rename to doc/bu/files/setconstraintdampinglimang.txt
diff --git a/doc/files/setconstraintdampinglimlin.txt b/doc/bu/files/setconstraintdampinglimlin.txt
similarity index 100%
rename from doc/files/setconstraintdampinglimlin.txt
rename to doc/bu/files/setconstraintdampinglimlin.txt
diff --git a/doc/files/setconstraintdampingorthoang.txt b/doc/bu/files/setconstraintdampingorthoang.txt
similarity index 100%
rename from doc/files/setconstraintdampingorthoang.txt
rename to doc/bu/files/setconstraintdampingorthoang.txt
diff --git a/doc/files/setconstraintdampingortholin.txt b/doc/bu/files/setconstraintdampingortholin.txt
similarity index 100%
rename from doc/files/setconstraintdampingortholin.txt
rename to doc/bu/files/setconstraintdampingortholin.txt
diff --git a/doc/files/setconstraintfixthresh.txt b/doc/bu/files/setconstraintfixthresh.txt
similarity index 100%
rename from doc/files/setconstraintfixthresh.txt
rename to doc/bu/files/setconstraintfixthresh.txt
diff --git a/doc/bu/files/setconstraintframes.txt b/doc/bu/files/setconstraintframes.txt
new file mode 100644
index 0000000..554e0a8
--- /dev/null
+++ b/doc/bu/files/setconstraintframes.txt
@@ -0,0 +1,4 @@
+#title setConstraintFrames [RCBasic Doc]
+#header sub setConstraintFrames( constraint_id, frameA_matrix, frameB_matrix)
+
+
diff --git a/doc/files/setconstraintloweranglimit.txt b/doc/bu/files/setconstraintloweranglimit.txt
similarity index 100%
rename from doc/files/setconstraintloweranglimit.txt
rename to doc/bu/files/setconstraintloweranglimit.txt
diff --git a/doc/files/setconstraintlowerlinlimit.txt b/doc/bu/files/setconstraintlowerlinlimit.txt
similarity index 100%
rename from doc/files/setconstraintlowerlinlimit.txt
rename to doc/bu/files/setconstraintlowerlinlimit.txt
diff --git a/doc/files/setconstraintpivota.txt b/doc/bu/files/setconstraintpivota.txt
similarity index 100%
rename from doc/files/setconstraintpivota.txt
rename to doc/bu/files/setconstraintpivota.txt
diff --git a/doc/files/setconstraintpivotb.txt b/doc/bu/files/setconstraintpivotb.txt
similarity index 100%
rename from doc/files/setconstraintpivotb.txt
rename to doc/bu/files/setconstraintpivotb.txt
diff --git a/doc/files/setconstraintrestitutiondirang.txt b/doc/bu/files/setconstraintrestitutiondirang.txt
similarity index 100%
rename from doc/files/setconstraintrestitutiondirang.txt
rename to doc/bu/files/setconstraintrestitutiondirang.txt
diff --git a/doc/files/setconstraintrestitutiondirlin.txt b/doc/bu/files/setconstraintrestitutiondirlin.txt
similarity index 100%
rename from doc/files/setconstraintrestitutiondirlin.txt
rename to doc/bu/files/setconstraintrestitutiondirlin.txt
diff --git a/doc/files/setconstraintrestitutionlimang.txt b/doc/bu/files/setconstraintrestitutionlimang.txt
similarity index 100%
rename from doc/files/setconstraintrestitutionlimang.txt
rename to doc/bu/files/setconstraintrestitutionlimang.txt
diff --git a/doc/files/setconstraintrestitutionlimlin.txt b/doc/bu/files/setconstraintrestitutionlimlin.txt
similarity index 100%
rename from doc/files/setconstraintrestitutionlimlin.txt
rename to doc/bu/files/setconstraintrestitutionlimlin.txt
diff --git a/doc/files/setconstraintrestitutionorthoang.txt b/doc/bu/files/setconstraintrestitutionorthoang.txt
similarity index 100%
rename from doc/files/setconstraintrestitutionorthoang.txt
rename to doc/bu/files/setconstraintrestitutionorthoang.txt
diff --git a/doc/files/setconstraintrestitutionortholin.txt b/doc/bu/files/setconstraintrestitutionortholin.txt
similarity index 100%
rename from doc/files/setconstraintrestitutionortholin.txt
rename to doc/bu/files/setconstraintrestitutionortholin.txt
diff --git a/doc/files/setconstraintsoftnessdirang.txt b/doc/bu/files/setconstraintsoftnessdirang.txt
similarity index 100%
rename from doc/files/setconstraintsoftnessdirang.txt
rename to doc/bu/files/setconstraintsoftnessdirang.txt
diff --git a/doc/files/setconstraintsoftnessdirlin.txt b/doc/bu/files/setconstraintsoftnessdirlin.txt
similarity index 100%
rename from doc/files/setconstraintsoftnessdirlin.txt
rename to doc/bu/files/setconstraintsoftnessdirlin.txt
diff --git a/doc/files/setconstraintsoftnesslimang.txt b/doc/bu/files/setconstraintsoftnesslimang.txt
similarity index 100%
rename from doc/files/setconstraintsoftnesslimang.txt
rename to doc/bu/files/setconstraintsoftnesslimang.txt
diff --git a/doc/files/setconstraintsoftnesslimlin.txt b/doc/bu/files/setconstraintsoftnesslimlin.txt
similarity index 100%
rename from doc/files/setconstraintsoftnesslimlin.txt
rename to doc/bu/files/setconstraintsoftnesslimlin.txt
diff --git a/doc/files/setconstraintsoftnessorthoang.txt b/doc/bu/files/setconstraintsoftnessorthoang.txt
similarity index 100%
rename from doc/files/setconstraintsoftnessorthoang.txt
rename to doc/bu/files/setconstraintsoftnessorthoang.txt
diff --git a/doc/files/setconstraintsoftnessortholin.txt b/doc/bu/files/setconstraintsoftnessortholin.txt
similarity index 100%
rename from doc/files/setconstraintsoftnessortholin.txt
rename to doc/bu/files/setconstraintsoftnessortholin.txt
diff --git a/doc/bu/files/setconstraintsolveriterations.txt b/doc/bu/files/setconstraintsolveriterations.txt
new file mode 100644
index 0000000..6c375bb
--- /dev/null
+++ b/doc/bu/files/setconstraintsolveriterations.txt
@@ -0,0 +1,4 @@
+#title setConstraintSolverIterations [RCBasic Doc]
+#header sub setConstraintSolverIterations( constraint_id, num)
+
+
diff --git a/doc/files/setconstraintupperanglimit.txt b/doc/bu/files/setconstraintupperanglimit.txt
similarity index 100%
rename from doc/files/setconstraintupperanglimit.txt
rename to doc/bu/files/setconstraintupperanglimit.txt
diff --git a/doc/files/setconstraintupperlinlimit.txt b/doc/bu/files/setconstraintupperlinlimit.txt
similarity index 100%
rename from doc/files/setconstraintupperlinlimit.txt
rename to doc/bu/files/setconstraintupperlinlimit.txt
diff --git a/doc/bu/files/setenv.txt b/doc/bu/files/setenv.txt
new file mode 100644
index 0000000..ee2ad06
--- /dev/null
+++ b/doc/bu/files/setenv.txt
@@ -0,0 +1,4 @@
+#title SetEnv [RCBasic Doc]
+#header sub SetEnv(var$, value$)
+
+
diff --git a/doc/bu/files/setfont.txt b/doc/bu/files/setfont.txt
new file mode 100644
index 0000000..0bdc24d
--- /dev/null
+++ b/doc/bu/files/setfont.txt
@@ -0,0 +1,4 @@
+#title SetFont [RCBasic Doc]
+#header sub SetFont(slot)
+
+
diff --git a/doc/bu/files/setgravity3d.txt b/doc/bu/files/setgravity3d.txt
new file mode 100644
index 0000000..4d5fd88
--- /dev/null
+++ b/doc/bu/files/setgravity3d.txt
@@ -0,0 +1,4 @@
+#title SetGravity3D [RCBasic Doc]
+#header sub SetGravity3D(x, y, z)
+
+
diff --git a/doc/bu/files/sethingelimit.txt b/doc/bu/files/sethingelimit.txt
new file mode 100644
index 0000000..4b2264b
--- /dev/null
+++ b/doc/bu/files/sethingelimit.txt
@@ -0,0 +1,4 @@
+#title setHingeLimit [RCBasic Doc]
+#header sub setHingeLimit( constraint_id, low, high, softness, bias_factor, relaxation_factor)
+
+
diff --git a/doc/bu/files/setidentitymatrix.txt b/doc/bu/files/setidentitymatrix.txt
new file mode 100644
index 0000000..b0f6998
--- /dev/null
+++ b/doc/bu/files/setidentitymatrix.txt
@@ -0,0 +1,4 @@
+#title SetIdentityMatrix [RCBasic Doc]
+#header sub SetIdentityMatrix(mA, n)
+
+
diff --git a/doc/bu/files/setimagealpha.txt b/doc/bu/files/setimagealpha.txt
new file mode 100644
index 0000000..6f1f986
--- /dev/null
+++ b/doc/bu/files/setimagealpha.txt
@@ -0,0 +1,4 @@
+#title SetImageAlpha [RCBasic Doc]
+#header sub SetImageAlpha(slot, a)
+
+
diff --git a/doc/bu/files/setimagecolormod.txt b/doc/bu/files/setimagecolormod.txt
new file mode 100644
index 0000000..7a0fc77
--- /dev/null
+++ b/doc/bu/files/setimagecolormod.txt
@@ -0,0 +1,4 @@
+#title SetImageColorMod [RCBasic Doc]
+#header sub SetImageColorMod(slot, c)
+
+
diff --git a/doc/bu/files/setlightambientcolor.txt b/doc/bu/files/setlightambientcolor.txt
new file mode 100644
index 0000000..8ebec04
--- /dev/null
+++ b/doc/bu/files/setlightambientcolor.txt
@@ -0,0 +1,4 @@
+#title SetLightAmbientColor [RCBasic Doc]
+#header sub SetLightAmbientColor( actor, color )
+
+
diff --git a/doc/bu/files/setlightattenuation.txt b/doc/bu/files/setlightattenuation.txt
new file mode 100644
index 0000000..2bcba8d
--- /dev/null
+++ b/doc/bu/files/setlightattenuation.txt
@@ -0,0 +1,4 @@
+#title SetLightAttenuation [RCBasic Doc]
+#header sub SetLightAttenuation( actor, l_constant, l_linear, l_quadratic )
+
+
diff --git a/doc/bu/files/setlightdiffusecolor.txt b/doc/bu/files/setlightdiffusecolor.txt
new file mode 100644
index 0000000..b8dcc53
--- /dev/null
+++ b/doc/bu/files/setlightdiffusecolor.txt
@@ -0,0 +1,4 @@
+#title SetLightDiffuseColor [RCBasic Doc]
+#header sub SetLightDiffuseColor( actor, color )
+
+
diff --git a/doc/bu/files/setlightfalloff.txt b/doc/bu/files/setlightfalloff.txt
new file mode 100644
index 0000000..0118536
--- /dev/null
+++ b/doc/bu/files/setlightfalloff.txt
@@ -0,0 +1,4 @@
+#title SetLightFalloff [RCBasic Doc]
+#header sub SetLightFalloff( actor, falloff )
+
+
diff --git a/doc/bu/files/setlightinnercone.txt b/doc/bu/files/setlightinnercone.txt
new file mode 100644
index 0000000..8ac95c8
--- /dev/null
+++ b/doc/bu/files/setlightinnercone.txt
@@ -0,0 +1,4 @@
+#title SetLightInnerCone [RCBasic Doc]
+#header sub SetLightInnerCone( actor, angle )
+
+
diff --git a/doc/bu/files/setlightoutercone.txt b/doc/bu/files/setlightoutercone.txt
new file mode 100644
index 0000000..8adb2a4
--- /dev/null
+++ b/doc/bu/files/setlightoutercone.txt
@@ -0,0 +1,4 @@
+#title SetLightOuterCone [RCBasic Doc]
+#header sub SetLightOuterCone( actor, angle)
+
+
diff --git a/doc/bu/files/setlightradius.txt b/doc/bu/files/setlightradius.txt
new file mode 100644
index 0000000..df66c2c
--- /dev/null
+++ b/doc/bu/files/setlightradius.txt
@@ -0,0 +1,6 @@
+#title SetLightRadius [RCBasic Doc]
+#header sub SetLightRadius( actor, radius )
+
+Sets the radius of a light
+
+#ref GetLightRadius
diff --git a/doc/bu/files/setlightshadowcast.txt b/doc/bu/files/setlightshadowcast.txt
new file mode 100644
index 0000000..596a0e2
--- /dev/null
+++ b/doc/bu/files/setlightshadowcast.txt
@@ -0,0 +1,4 @@
+#title setLightShadowCast [RCBasic Doc]
+#header sub setLightShadowCast( actor, flag )
+
+
diff --git a/doc/bu/files/setlightspecularcolor.txt b/doc/bu/files/setlightspecularcolor.txt
new file mode 100644
index 0000000..2c4f4ff
--- /dev/null
+++ b/doc/bu/files/setlightspecularcolor.txt
@@ -0,0 +1,4 @@
+#title SetLightSpecularColor [RCBasic Doc]
+#header sub SetLightSpecularColor( actor, color )
+
+Sets the specular color of a light
diff --git a/doc/bu/files/setlighttype.txt b/doc/bu/files/setlighttype.txt
new file mode 100644
index 0000000..c379a6a
--- /dev/null
+++ b/doc/bu/files/setlighttype.txt
@@ -0,0 +1,14 @@
+#title setLightType [RCBasic Doc]
+#header sub setLightType( actor, light_type )
+
+Sets the type of light
+
+Possible Light Types
+#list ul
+#li LIGHT_TYPE_POINT
+#li LIGHT_TYPE_POINT
+#li LIGHT_TYPE_POINT
+#/light
+
+#ref SetLightType
+
diff --git a/doc/bu/files/setmaterialambientcolor.txt b/doc/bu/files/setmaterialambientcolor.txt
new file mode 100644
index 0000000..d1bd02f
--- /dev/null
+++ b/doc/bu/files/setmaterialambientcolor.txt
@@ -0,0 +1,4 @@
+#title setMaterialAmbientColor [RCBasic Doc]
+#header sub setMaterialAmbientColor( material_id, color)
+
+Sets the ambient color of a material
diff --git a/doc/bu/files/setmaterialantialiasing.txt b/doc/bu/files/setmaterialantialiasing.txt
new file mode 100644
index 0000000..623d69a
--- /dev/null
+++ b/doc/bu/files/setmaterialantialiasing.txt
@@ -0,0 +1,17 @@
+#title setMaterialAntiAliasing [RCBasic Doc]
+#header sub setMaterialAntiAliasing( material_id, aa)
+
+Sets the anti-aliasing mode for the material
+
+Possible modes returned
+#list
+#li AA_MODE_OFF=0,
+#li AA_MODE_SIMPLE=1,
+#li AA_MODE_QUALITY=3,
+#li AA_MODE_LINE_SMOOTH=4,
+#li AA_MODE_POINT_SMOOTH=8,
+#li AA_MODE_FULL_BASIC=15,
+#li AA_MODE_ALPHA_TO_COVERAGE=16
+#/list
+
+#ref GetMaterialAntiAliasing
diff --git a/doc/bu/files/setmaterialbackfaceculling.txt b/doc/bu/files/setmaterialbackfaceculling.txt
new file mode 100644
index 0000000..5d4e682
--- /dev/null
+++ b/doc/bu/files/setmaterialbackfaceculling.txt
@@ -0,0 +1,6 @@
+#title setMaterialBackfaceCulling [RCBasic Doc]
+#header sub setMaterialBackfaceCulling( material_id, flag)
+
+Enables or disables material backface culling
+
+#ref GetMaterialBackfaceCulling
diff --git a/doc/bu/files/setmaterialblendfactor.txt b/doc/bu/files/setmaterialblendfactor.txt
new file mode 100644
index 0000000..eb61c38
--- /dev/null
+++ b/doc/bu/files/setmaterialblendfactor.txt
@@ -0,0 +1,4 @@
+#title setMaterialBlendFactor [RCBasic Doc]
+#header sub setMaterialBlendFactor( material_id, bf)
+
+
diff --git a/doc/bu/files/setmaterialblendmode.txt b/doc/bu/files/setmaterialblendmode.txt
new file mode 100644
index 0000000..15f7c6c
--- /dev/null
+++ b/doc/bu/files/setmaterialblendmode.txt
@@ -0,0 +1,21 @@
+#title setMaterialBlendMode [RCBasic Doc]
+#header sub setMaterialBlendMode( material_id, blend_mode)
+
+Sets a material's blend mode
+
+Possible Blend Modes
+#list ul
+#li BLEND_MODE_NONE
+#li BLEND_MODE_ADD
+#li BLEND_MODE_SUBTRACT
+#li BLEND_MODE_REVSUBTRACT
+#li BLEND_MODE_MIN
+#li BLEND_MODE_MAX
+#li BLEND_MODE_MIN_FACTOR
+#li BLEND_MODE_MAX_FACTOR
+#li BLEND_MODE_MIN_ALPHA
+#li BLEND_MODE_MAX_ALPHA
+#/list
+
+#ref SetMaterialBlendMode
+
diff --git a/doc/bu/files/setmaterialcolormask.txt b/doc/bu/files/setmaterialcolormask.txt
new file mode 100644
index 0000000..7a496c8
--- /dev/null
+++ b/doc/bu/files/setmaterialcolormask.txt
@@ -0,0 +1,4 @@
+#title setMaterialColorMask [RCBasic Doc]
+#header sub setMaterialColorMask( material_id, color_mask)
+
+
diff --git a/doc/bu/files/setmaterialcolormode.txt b/doc/bu/files/setmaterialcolormode.txt
new file mode 100644
index 0000000..689374e
--- /dev/null
+++ b/doc/bu/files/setmaterialcolormode.txt
@@ -0,0 +1,16 @@
+#title setMaterialColorMode [RCBasic Doc]
+#header sub setMaterialColorMode( material_id, color_mode)
+
+Sets the color mode of a material
+
+Possible modes
+#list ul
+#li COLOR_MODE_NONE
+#li COLOR_MODE_DIFFUSE
+#li COLOR_MODE_AMBIENT
+#li COLOR_MODE_EMISSIVE
+#li COLOR_MODE_SPECULAR
+#li COLOR_MODE_DIFFUSE_AND_AMBIENT
+#/list
+
+#ref GetMaterialColorMode
diff --git a/doc/bu/files/setmaterialdiffusecolor.txt b/doc/bu/files/setmaterialdiffusecolor.txt
new file mode 100644
index 0000000..559876e
--- /dev/null
+++ b/doc/bu/files/setmaterialdiffusecolor.txt
@@ -0,0 +1,4 @@
+#title setMaterialDiffuseColor [RCBasic Doc]
+#header sub setMaterialDiffuseColor( material_id, color)
+
+
diff --git a/doc/bu/files/setmaterialemissivecolor.txt b/doc/bu/files/setmaterialemissivecolor.txt
new file mode 100644
index 0000000..3e4419f
--- /dev/null
+++ b/doc/bu/files/setmaterialemissivecolor.txt
@@ -0,0 +1,4 @@
+#title setMaterialEmissiveColor [RCBasic Doc]
+#header sub setMaterialEmissiveColor( material_id, color)
+
+
diff --git a/doc/bu/files/setmaterialflag.txt b/doc/bu/files/setmaterialflag.txt
new file mode 100644
index 0000000..197b44b
--- /dev/null
+++ b/doc/bu/files/setmaterialflag.txt
@@ -0,0 +1,30 @@
+#title setMaterialFlag [RCBasic Doc]
+#header sub setMaterialFlag( material_id, material_flag, f_value)
+
+Sets the value of the specified material flag
+
+Possible values for flag:
+#list
+#li MATERIAL_FLAG_WIREFRAME
+#li MATERIAL_FLAG_POINTCLOUD
+#li MATERIAL_FLAG_GOURAUD_SHADING
+#li MATERIAL_FLAG_LIGHTING
+#li MATERIAL_FLAG_ZBUFFER
+#li MATERIAL_FLAG_ZWRITE_ENABLE
+#li MATERIAL_FLAG_BACK_FACE_CULLING
+#li MATERIAL_FLAG_FRONT_FACE_CULLING
+#li MATERIAL_FLAG_BILINEAR_FILTER
+#li MATERIAL_FLAG_TRILINEAR_FILTER
+#li MATERIAL_FLAG_ANISOTROPIC_FILTER
+#li MATERIAL_FLAG_FOG_ENABLE
+#li MATERIAL_FLAG_NORMALIZE_NORMALS
+#li MATERIAL_FLAG_TEXTURE_WRAP
+#li MATERIAL_FLAG_ANTI_ALIASING
+#li MATERIAL_FLAG_COLOR_MASK
+#li MATERIAL_FLAG_COLOR_MATERIAL
+#li MATERIAL_FLAG_USE_MIP_MAPS
+#li MATERIAL_FLAG_BLEND_OPERATION
+#li MATERIAL_FLAG_POLYGON_OFFSET
+#/list
+
+#ref GetMaterialFlag GetActorMaterialFlag
diff --git a/doc/bu/files/setmaterialfog.txt b/doc/bu/files/setmaterialfog.txt
new file mode 100644
index 0000000..b16170d
--- /dev/null
+++ b/doc/bu/files/setmaterialfog.txt
@@ -0,0 +1,4 @@
+#title setMaterialFog [RCBasic Doc]
+#header sub setMaterialFog( material_id, flag)
+
+
diff --git a/doc/bu/files/setmaterialfrontfaceculling.txt b/doc/bu/files/setmaterialfrontfaceculling.txt
new file mode 100644
index 0000000..d14c0dd
--- /dev/null
+++ b/doc/bu/files/setmaterialfrontfaceculling.txt
@@ -0,0 +1,4 @@
+#title setMaterialFrontfaceCulling [RCBasic Doc]
+#header sub setMaterialFrontfaceCulling( material_id, flag)
+
+
diff --git a/doc/bu/files/setmaterialgouraudshading.txt b/doc/bu/files/setmaterialgouraudshading.txt
new file mode 100644
index 0000000..3589db8
--- /dev/null
+++ b/doc/bu/files/setmaterialgouraudshading.txt
@@ -0,0 +1,4 @@
+#title setMaterialGouraudShading [RCBasic Doc]
+#header sub setMaterialGouraudShading( material_id, flag)
+
+
diff --git a/doc/bu/files/setmateriallighting.txt b/doc/bu/files/setmateriallighting.txt
new file mode 100644
index 0000000..25b2b24
--- /dev/null
+++ b/doc/bu/files/setmateriallighting.txt
@@ -0,0 +1,4 @@
+#title setMaterialLighting [RCBasic Doc]
+#header sub setMaterialLighting( material_id, flag)
+
+
diff --git a/doc/bu/files/setmaterialnormalize.txt b/doc/bu/files/setmaterialnormalize.txt
new file mode 100644
index 0000000..7ceb8f4
--- /dev/null
+++ b/doc/bu/files/setmaterialnormalize.txt
@@ -0,0 +1,4 @@
+#title setMaterialNormalize [RCBasic Doc]
+#header sub setMaterialNormalize( material_id, flag)
+
+
diff --git a/doc/bu/files/setmaterialpointcloud.txt b/doc/bu/files/setmaterialpointcloud.txt
new file mode 100644
index 0000000..28cba47
--- /dev/null
+++ b/doc/bu/files/setmaterialpointcloud.txt
@@ -0,0 +1,4 @@
+#title setMaterialPointCloud [RCBasic Doc]
+#header sub setMaterialPointCloud( material_id, flag)
+
+
diff --git a/doc/bu/files/setmaterialshininess.txt b/doc/bu/files/setmaterialshininess.txt
new file mode 100644
index 0000000..7dcae4e
--- /dev/null
+++ b/doc/bu/files/setmaterialshininess.txt
@@ -0,0 +1,4 @@
+#title setMaterialShininess [RCBasic Doc]
+#header sub setMaterialShininess( material_id, shininess)
+
+
diff --git a/doc/bu/files/setmaterialspecularcolor.txt b/doc/bu/files/setmaterialspecularcolor.txt
new file mode 100644
index 0000000..791dd76
--- /dev/null
+++ b/doc/bu/files/setmaterialspecularcolor.txt
@@ -0,0 +1,4 @@
+#title setMaterialSpecularColor [RCBasic Doc]
+#header sub setMaterialSpecularColor( material_id, color)
+
+
diff --git a/doc/bu/files/setmaterialtexture.txt b/doc/bu/files/setmaterialtexture.txt
new file mode 100644
index 0000000..67085bd
--- /dev/null
+++ b/doc/bu/files/setmaterialtexture.txt
@@ -0,0 +1,4 @@
+#title setMaterialTexture [RCBasic Doc]
+#header sub setMaterialTexture( material_id, level, img_id)
+
+
diff --git a/doc/bu/files/setmaterialtexturecanvas.txt b/doc/bu/files/setmaterialtexturecanvas.txt
new file mode 100644
index 0000000..ea2817f
--- /dev/null
+++ b/doc/bu/files/setmaterialtexturecanvas.txt
@@ -0,0 +1,4 @@
+#title setMaterialTextureCanvas [RCBasic Doc]
+#header sub setMaterialTextureCanvas( material_id, level, canvas_id)
+
+
diff --git a/doc/bu/files/setmaterialthickness.txt b/doc/bu/files/setmaterialthickness.txt
new file mode 100644
index 0000000..d19cb52
--- /dev/null
+++ b/doc/bu/files/setmaterialthickness.txt
@@ -0,0 +1,4 @@
+#title setMaterialThickness [RCBasic Doc]
+#header sub setMaterialThickness( material_id, thickness)
+
+
diff --git a/doc/bu/files/setmaterialtype.txt b/doc/bu/files/setmaterialtype.txt
new file mode 100644
index 0000000..01b4013
--- /dev/null
+++ b/doc/bu/files/setmaterialtype.txt
@@ -0,0 +1,35 @@
+#title SetMaterialType [RCBasic Doc]
+#header sub SetMaterialType( material_id, mat_type)
+
+Sets the material type
+
+Possible material types
+#list ul
+#li MATERIAL_TYPE_SOLID
+#li MATERIAL_TYPE_SOLID_2_LAYER
+#li MATERIAL_TYPE_LIGHTMAP
+#li MATERIAL_TYPE_LIGHTMAP_ADD
+#li MATERIAL_TYPE_LIGHTMAP_M2
+#li MATERIAL_TYPE_LIGHTMAP_M4
+#li MATERIAL_TYPE_LIGHTMAP_LIGHTING
+#li MATERIAL_TYPE_LIGHTMAP_LIGHTING_M2
+#li MATERIAL_TYPE_LIGHTMAP_LIGHTING_M4
+#li MATERIAL_TYPE_DETAIL_MAP
+#li MATERIAL_TYPE_SPHERE_MAP
+#li MATERIAL_TYPE_REFLECTION_2_LAYER
+#li MATERIAL_TYPE_TRANSPARENT_ADD_COLOR
+#li MATERIAL_TYPE_TRANSPARENT_ALPHA_CHANNEL
+#li MATERIAL_TYPE_TRANSPARENT_ALPHA_CHANNEL_REF
+#li MATERIAL_TYPE_TRANSPARENT_VERTEX_ALPHA
+#li MATERIAL_TYPE_TRANSPARENT_REFLECTION_2_LAYER
+#li MATERIAL_TYPE_NORMAL_MAP_SOLID
+#li MATERIAL_TYPE_NORMAL_MAP_TRANSPARENT_ADD_COLOR
+#li MATERIAL_TYPE_NORMAL_MAP_TRANSPARENT_VERTEX_ALPHA
+#li MATERIAL_TYPE_PARALLAX_MAP_SOLID
+#li MATERIAL_TYPE_PARALLAX_MAP_TRANSPARENT_ADD_COLOR
+#li MATERIAL_TYPE_PARALLAX_MAP_TRANSPARENT_VERTEX_ALPHA
+#li MATERIAL_TYPE_ONETEXTURE_BLEND
+#li MATERIAL_TYPE_FORCE_32BIT
+#/list
+
+#ref GetMaterialType
diff --git a/doc/bu/files/setmaterialwireframe.txt b/doc/bu/files/setmaterialwireframe.txt
new file mode 100644
index 0000000..e2bf12c
--- /dev/null
+++ b/doc/bu/files/setmaterialwireframe.txt
@@ -0,0 +1,4 @@
+#title setMaterialWireframe [RCBasic Doc]
+#header sub setMaterialWireframe( material_id, flag)
+
+
diff --git a/doc/bu/files/setmatrixrotation.txt b/doc/bu/files/setmatrixrotation.txt
new file mode 100644
index 0000000..907d48a
--- /dev/null
+++ b/doc/bu/files/setmatrixrotation.txt
@@ -0,0 +1,4 @@
+#title SetMatrixRotation [RCBasic Doc]
+#header sub SetMatrixRotation( mA, x, y, z )
+
+
diff --git a/doc/bu/files/setmatrixscale.txt b/doc/bu/files/setmatrixscale.txt
new file mode 100644
index 0000000..e362946
--- /dev/null
+++ b/doc/bu/files/setmatrixscale.txt
@@ -0,0 +1,4 @@
+#title SetMatrixScale [RCBasic Doc]
+#header sub SetMatrixScale( mA, x, y, z )
+
+
diff --git a/doc/bu/files/setmatrixtranslation.txt b/doc/bu/files/setmatrixtranslation.txt
new file mode 100644
index 0000000..55c1e8f
--- /dev/null
+++ b/doc/bu/files/setmatrixtranslation.txt
@@ -0,0 +1,4 @@
+#title SetMatrixTranslation [RCBasic Doc]
+#header sub SetMatrixTranslation( mA, x, y, z )
+
+
diff --git a/doc/bu/files/setmatrixvalue.txt b/doc/bu/files/setmatrixvalue.txt
new file mode 100644
index 0000000..12bb912
--- /dev/null
+++ b/doc/bu/files/setmatrixvalue.txt
@@ -0,0 +1,4 @@
+#title SetMatrixValue [RCBasic Doc]
+#header sub SetMatrixValue(mA, r, c, v)
+
+
diff --git a/doc/bu/files/setmouserelative.txt b/doc/bu/files/setmouserelative.txt
new file mode 100644
index 0000000..5b62174
--- /dev/null
+++ b/doc/bu/files/setmouserelative.txt
@@ -0,0 +1,4 @@
+#title SetMouseRelative [RCBasic Doc]
+#header sub SetMouseRelative(flag)
+
+
diff --git a/doc/bu/files/setmousezone.txt b/doc/bu/files/setmousezone.txt
new file mode 100644
index 0000000..a1c3b94
--- /dev/null
+++ b/doc/bu/files/setmousezone.txt
@@ -0,0 +1,4 @@
+#title SetMouseZone [RCBasic Doc]
+#header sub SetMouseZone(x, y, w, h)
+
+
diff --git a/doc/bu/files/setmusicposition.txt b/doc/bu/files/setmusicposition.txt
new file mode 100644
index 0000000..7421763
--- /dev/null
+++ b/doc/bu/files/setmusicposition.txt
@@ -0,0 +1,4 @@
+#title SetMusicPosition [RCBasic Doc]
+#header sub SetMusicPosition(pos)
+
+
diff --git a/doc/bu/files/setmusicvolume.txt b/doc/bu/files/setmusicvolume.txt
new file mode 100644
index 0000000..65258be
--- /dev/null
+++ b/doc/bu/files/setmusicvolume.txt
@@ -0,0 +1,4 @@
+#title SetMusicVolume [RCBasic Doc]
+#header sub SetMusicVolume(vol)
+
+
diff --git a/doc/bu/files/setparticlebox.txt b/doc/bu/files/setparticlebox.txt
new file mode 100644
index 0000000..80280b5
--- /dev/null
+++ b/doc/bu/files/setparticlebox.txt
@@ -0,0 +1,4 @@
+#title setParticleBox [RCBasic Doc]
+#header sub setParticleBox( actor, min_x, min_y, min_z, max_x, max_y, max_z)
+
+
diff --git a/doc/bu/files/setparticlecenter.txt b/doc/bu/files/setparticlecenter.txt
new file mode 100644
index 0000000..c7b9b99
--- /dev/null
+++ b/doc/bu/files/setparticlecenter.txt
@@ -0,0 +1,4 @@
+#title setParticleCenter [RCBasic Doc]
+#header sub setParticleCenter( actor, x, y, z)
+
+
diff --git a/doc/bu/files/setparticledirection.txt b/doc/bu/files/setparticledirection.txt
new file mode 100644
index 0000000..065a803
--- /dev/null
+++ b/doc/bu/files/setparticledirection.txt
@@ -0,0 +1,4 @@
+#title setParticleDirection [RCBasic Doc]
+#header sub setParticleDirection( actor, x, y, z)
+
+
diff --git a/doc/bu/files/setparticlelength.txt b/doc/bu/files/setparticlelength.txt
new file mode 100644
index 0000000..f603a87
--- /dev/null
+++ b/doc/bu/files/setparticlelength.txt
@@ -0,0 +1,4 @@
+#title setParticleLength [RCBasic Doc]
+#header sub setParticleLength( actor, p_len)
+
+
diff --git a/doc/bu/files/setparticlemaxangle.txt b/doc/bu/files/setparticlemaxangle.txt
new file mode 100644
index 0000000..f84c0fc
--- /dev/null
+++ b/doc/bu/files/setparticlemaxangle.txt
@@ -0,0 +1,4 @@
+#title setParticleMaxAngle [RCBasic Doc]
+#header sub setParticleMaxAngle( actor, maxAngle)
+
+
diff --git a/doc/bu/files/setparticlemaxlife.txt b/doc/bu/files/setparticlemaxlife.txt
new file mode 100644
index 0000000..a448aa7
--- /dev/null
+++ b/doc/bu/files/setparticlemaxlife.txt
@@ -0,0 +1,4 @@
+#title setParticleMaxLife [RCBasic Doc]
+#header sub setParticleMaxLife( actor, maxLife)
+
+
diff --git a/doc/files/setparticlemaxparticlespersecond.txt b/doc/bu/files/setparticlemaxparticlespersecond.txt
similarity index 100%
rename from doc/files/setparticlemaxparticlespersecond.txt
rename to doc/bu/files/setparticlemaxparticlespersecond.txt
diff --git a/doc/bu/files/setparticlemaxstartcolor.txt b/doc/bu/files/setparticlemaxstartcolor.txt
new file mode 100644
index 0000000..387b1a5
--- /dev/null
+++ b/doc/bu/files/setparticlemaxstartcolor.txt
@@ -0,0 +1,4 @@
+#title setParticleMaxStartColor [RCBasic Doc]
+#header sub setParticleMaxStartColor( actor, color)
+
+
diff --git a/doc/bu/files/setparticlemaxstartsize.txt b/doc/bu/files/setparticlemaxstartsize.txt
new file mode 100644
index 0000000..0fbc608
--- /dev/null
+++ b/doc/bu/files/setparticlemaxstartsize.txt
@@ -0,0 +1,4 @@
+#title setParticleMaxStartSize [RCBasic Doc]
+#header sub setParticleMaxStartSize( actor, w, h)
+
+
diff --git a/doc/bu/files/setparticlemesh.txt b/doc/bu/files/setparticlemesh.txt
new file mode 100644
index 0000000..e82f524
--- /dev/null
+++ b/doc/bu/files/setparticlemesh.txt
@@ -0,0 +1,4 @@
+#title setParticleMesh [RCBasic Doc]
+#header sub setParticleMesh( actor, mesh)
+
+
diff --git a/doc/bu/files/setparticleminlife.txt b/doc/bu/files/setparticleminlife.txt
new file mode 100644
index 0000000..446e5af
--- /dev/null
+++ b/doc/bu/files/setparticleminlife.txt
@@ -0,0 +1,4 @@
+#title setParticleMinLife [RCBasic Doc]
+#header sub setParticleMinLife( actor, minLife)
+
+
diff --git a/doc/files/setparticleminparticlespersecond.txt b/doc/bu/files/setparticleminparticlespersecond.txt
similarity index 100%
rename from doc/files/setparticleminparticlespersecond.txt
rename to doc/bu/files/setparticleminparticlespersecond.txt
diff --git a/doc/bu/files/setparticleminstartcolor.txt b/doc/bu/files/setparticleminstartcolor.txt
new file mode 100644
index 0000000..c6d9d8d
--- /dev/null
+++ b/doc/bu/files/setparticleminstartcolor.txt
@@ -0,0 +1,4 @@
+#title setParticleMinStartColor [RCBasic Doc]
+#header sub setParticleMinStartColor( actor, color)
+
+
diff --git a/doc/bu/files/setparticleminstartsize.txt b/doc/bu/files/setparticleminstartsize.txt
new file mode 100644
index 0000000..10491eb
--- /dev/null
+++ b/doc/bu/files/setparticleminstartsize.txt
@@ -0,0 +1,4 @@
+#title setParticleMinStartSize [RCBasic Doc]
+#header sub setParticleMinStartSize( actor, w, h)
+
+
diff --git a/doc/bu/files/setparticlenormal.txt b/doc/bu/files/setparticlenormal.txt
new file mode 100644
index 0000000..1d7a7d6
--- /dev/null
+++ b/doc/bu/files/setparticlenormal.txt
@@ -0,0 +1,4 @@
+#title setParticleNormal [RCBasic Doc]
+#header sub setParticleNormal( actor, x, y, z)
+
+
diff --git a/doc/bu/files/setparticlenormaldirectionmod.txt b/doc/bu/files/setparticlenormaldirectionmod.txt
new file mode 100644
index 0000000..c5bd775
--- /dev/null
+++ b/doc/bu/files/setparticlenormaldirectionmod.txt
@@ -0,0 +1,4 @@
+#title setParticleNormalDirectionMod [RCBasic Doc]
+#header sub setParticleNormalDirectionMod( actor, nd_mod)
+
+
diff --git a/doc/bu/files/setparticleradius.txt b/doc/bu/files/setparticleradius.txt
new file mode 100644
index 0000000..5c72d42
--- /dev/null
+++ b/doc/bu/files/setparticleradius.txt
@@ -0,0 +1,4 @@
+#title setParticleRadius [RCBasic Doc]
+#header sub setParticleRadius( actor, radius)
+
+
diff --git a/doc/bu/files/setparticleringthickness.txt b/doc/bu/files/setparticleringthickness.txt
new file mode 100644
index 0000000..2a675d5
--- /dev/null
+++ b/doc/bu/files/setparticleringthickness.txt
@@ -0,0 +1,4 @@
+#title setParticleRingThickness [RCBasic Doc]
+#header sub setParticleRingThickness( actor, ringThickness)
+
+
diff --git a/doc/bu/files/setsoundchannels.txt b/doc/bu/files/setsoundchannels.txt
new file mode 100644
index 0000000..47ed129
--- /dev/null
+++ b/doc/bu/files/setsoundchannels.txt
@@ -0,0 +1,4 @@
+#title SetSoundChannels [RCBasic Doc]
+#header sub SetSoundChannels(max_channels)
+
+
diff --git a/doc/bu/files/setsoundvolume.txt b/doc/bu/files/setsoundvolume.txt
new file mode 100644
index 0000000..67afee4
--- /dev/null
+++ b/doc/bu/files/setsoundvolume.txt
@@ -0,0 +1,4 @@
+#title SetSoundVolume [RCBasic Doc]
+#header sub SetSoundVolume(slot, vol)
+
+
diff --git a/doc/bu/files/setspriteposition.txt b/doc/bu/files/setspriteposition.txt
new file mode 100644
index 0000000..531db66
--- /dev/null
+++ b/doc/bu/files/setspriteposition.txt
@@ -0,0 +1,4 @@
+#title SetSpritePosition [RCBasic Doc]
+#header Sub SetSpritePosition( sprite, x, y )
+
+
diff --git a/doc/bu/files/setterraincameramovementdelta.txt b/doc/bu/files/setterraincameramovementdelta.txt
new file mode 100644
index 0000000..3a0d362
--- /dev/null
+++ b/doc/bu/files/setterraincameramovementdelta.txt
@@ -0,0 +1,4 @@
+#title SetTerrainCameraMovementDelta [RCBasic Doc]
+#header sub SetTerrainCameraMovementDelta( actor, delta )
+
+
diff --git a/doc/bu/files/setterraincamerarotationdelta.txt b/doc/bu/files/setterraincamerarotationdelta.txt
new file mode 100644
index 0000000..425b0f3
--- /dev/null
+++ b/doc/bu/files/setterraincamerarotationdelta.txt
@@ -0,0 +1,4 @@
+#title SetTerrainCameraRotationDelta [RCBasic Doc]
+#header sub SetTerrainCameraRotationDelta( actor, delta )
+
+
diff --git a/doc/bu/files/setterrainloddistance.txt b/doc/bu/files/setterrainloddistance.txt
new file mode 100644
index 0000000..f9b6f0d
--- /dev/null
+++ b/doc/bu/files/setterrainloddistance.txt
@@ -0,0 +1,4 @@
+#title SetTerrainLODDistance [RCBasic Doc]
+#header sub SetTerrainLODDistance( actor, LOD, distance )
+
+
diff --git a/doc/bu/files/setterrainpatchlod.txt b/doc/bu/files/setterrainpatchlod.txt
new file mode 100644
index 0000000..34d7d8d
--- /dev/null
+++ b/doc/bu/files/setterrainpatchlod.txt
@@ -0,0 +1,4 @@
+#title SetTerrainPatchLOD [RCBasic Doc]
+#header sub SetTerrainPatchLOD( actor, patchX, patchZ, LOD )
+
+
diff --git a/doc/bu/files/setvideodrawrect.txt b/doc/bu/files/setvideodrawrect.txt
new file mode 100644
index 0000000..b65212c
--- /dev/null
+++ b/doc/bu/files/setvideodrawrect.txt
@@ -0,0 +1,4 @@
+#title SetVideoDrawRect [RCBasic Doc]
+#header sub SetVideoDrawRect(x, y, w, h)
+
+
diff --git a/doc/bu/files/setvideoposition.txt b/doc/bu/files/setvideoposition.txt
new file mode 100644
index 0000000..590eca2
--- /dev/null
+++ b/doc/bu/files/setvideoposition.txt
@@ -0,0 +1,4 @@
+#title SetVideoPosition [RCBasic Doc]
+#header sub SetVideoPosition(pos)
+
+
diff --git a/doc/bu/files/setvideovolume.txt b/doc/bu/files/setvideovolume.txt
new file mode 100644
index 0000000..371c675
--- /dev/null
+++ b/doc/bu/files/setvideovolume.txt
@@ -0,0 +1,4 @@
+#title SetVideoVolume [RCBasic Doc]
+#header sub SetVideoVolume( vol )
+
+
diff --git a/doc/bu/files/setwatercolor.txt b/doc/bu/files/setwatercolor.txt
new file mode 100644
index 0000000..77c2e57
--- /dev/null
+++ b/doc/bu/files/setwatercolor.txt
@@ -0,0 +1,4 @@
+#title setWaterColor [RCBasic Doc]
+#header sub setWaterColor( actor, c)
+
+
diff --git a/doc/bu/files/setwatercolorblendfactor.txt b/doc/bu/files/setwatercolorblendfactor.txt
new file mode 100644
index 0000000..f2c07a6
--- /dev/null
+++ b/doc/bu/files/setwatercolorblendfactor.txt
@@ -0,0 +1,4 @@
+#title setWaterColorBlendFactor [RCBasic Doc]
+#header sub setWaterColorBlendFactor( actor, cbfactor)
+
+
diff --git a/doc/bu/files/setwaterwaveheight.txt b/doc/bu/files/setwaterwaveheight.txt
new file mode 100644
index 0000000..631b22d
--- /dev/null
+++ b/doc/bu/files/setwaterwaveheight.txt
@@ -0,0 +1,4 @@
+#title setWaterWaveHeight [RCBasic Doc]
+#header sub setWaterWaveHeight( actor, h)
+
+
diff --git a/doc/bu/files/setwaterwinddirection.txt b/doc/bu/files/setwaterwinddirection.txt
new file mode 100644
index 0000000..bda16fe
--- /dev/null
+++ b/doc/bu/files/setwaterwinddirection.txt
@@ -0,0 +1,4 @@
+#title setWaterWindDirection [RCBasic Doc]
+#header sub setWaterWindDirection( actor, x, z)
+
+
diff --git a/doc/bu/files/setwaterwindforce.txt b/doc/bu/files/setwaterwindforce.txt
new file mode 100644
index 0000000..fd95393
--- /dev/null
+++ b/doc/bu/files/setwaterwindforce.txt
@@ -0,0 +1,4 @@
+#title setWaterWindForce [RCBasic Doc]
+#header sub setWaterWindForce( actor, f)
+
+
diff --git a/doc/bu/files/setwindowalwaysontop.txt b/doc/bu/files/setwindowalwaysontop.txt
new file mode 100644
index 0000000..9b517ca
--- /dev/null
+++ b/doc/bu/files/setwindowalwaysontop.txt
@@ -0,0 +1,4 @@
+#title SetWindowAlwaysOnTop [RCBasic Doc]
+#header sub SetWindowAlwaysOnTop( flag )
+
+
diff --git a/doc/bu/files/setwindowautoclose.txt b/doc/bu/files/setwindowautoclose.txt
new file mode 100644
index 0000000..37a8e5a
--- /dev/null
+++ b/doc/bu/files/setwindowautoclose.txt
@@ -0,0 +1,4 @@
+#title SetWindowAutoClose [RCBasic Doc]
+#header sub SetWindowAutoClose( exit_on_close )
+
+
diff --git a/doc/bu/files/setwindowbordered.txt b/doc/bu/files/setwindowbordered.txt
new file mode 100644
index 0000000..b3dbd72
--- /dev/null
+++ b/doc/bu/files/setwindowbordered.txt
@@ -0,0 +1,4 @@
+#title SetWindowBordered [RCBasic Doc]
+#header sub SetWindowBordered( flag)
+
+
diff --git a/doc/bu/files/setwindowfullscreen.txt b/doc/bu/files/setwindowfullscreen.txt
new file mode 100644
index 0000000..bbd3dab
--- /dev/null
+++ b/doc/bu/files/setwindowfullscreen.txt
@@ -0,0 +1,4 @@
+#title SetWindowFullscreen [RCBasic Doc]
+#header sub SetWindowFullscreen( flag)
+
+
diff --git a/doc/bu/files/setwindowicon.txt b/doc/bu/files/setwindowicon.txt
new file mode 100644
index 0000000..a4fc7a8
--- /dev/null
+++ b/doc/bu/files/setwindowicon.txt
@@ -0,0 +1,4 @@
+#title SetWindowIcon [RCBasic Doc]
+#header sub SetWindowIcon( slot)
+
+
diff --git a/doc/bu/files/setwindowmaxsize.txt b/doc/bu/files/setwindowmaxsize.txt
new file mode 100644
index 0000000..73e06b8
--- /dev/null
+++ b/doc/bu/files/setwindowmaxsize.txt
@@ -0,0 +1,4 @@
+#title SetWindowMaxSize [RCBasic Doc]
+#header sub SetWindowMaxSize( w, h)
+
+
diff --git a/doc/bu/files/setwindowminsize.txt b/doc/bu/files/setwindowminsize.txt
new file mode 100644
index 0000000..5c8c99d
--- /dev/null
+++ b/doc/bu/files/setwindowminsize.txt
@@ -0,0 +1,4 @@
+#title SetWindowMinSize [RCBasic Doc]
+#header sub SetWindowMinSize( w, h)
+
+
diff --git a/doc/bu/files/setwindowposition.txt b/doc/bu/files/setwindowposition.txt
new file mode 100644
index 0000000..f5499c1
--- /dev/null
+++ b/doc/bu/files/setwindowposition.txt
@@ -0,0 +1,4 @@
+#title SetWindowPosition [RCBasic Doc]
+#header sub SetWindowPosition( x, y )
+
+
diff --git a/doc/bu/files/setwindowresizable.txt b/doc/bu/files/setwindowresizable.txt
new file mode 100644
index 0000000..9cfd406
--- /dev/null
+++ b/doc/bu/files/setwindowresizable.txt
@@ -0,0 +1,4 @@
+#title SetWindowResizable [RCBasic Doc]
+#header sub SetWindowResizable( flag )
+
+
diff --git a/doc/bu/files/setwindowsize.txt b/doc/bu/files/setwindowsize.txt
new file mode 100644
index 0000000..1ee95af
--- /dev/null
+++ b/doc/bu/files/setwindowsize.txt
@@ -0,0 +1,4 @@
+#title SetWindowSize [RCBasic Doc]
+#header sub SetWindowSize( w, h )
+
+
diff --git a/doc/bu/files/setwindowtitle.txt b/doc/bu/files/setwindowtitle.txt
new file mode 100644
index 0000000..2850855
--- /dev/null
+++ b/doc/bu/files/setwindowtitle.txt
@@ -0,0 +1,4 @@
+#title SetWindowTitle [RCBasic Doc]
+#header sub SetWindowTitle( title$ )
+
+
diff --git a/doc/bu/files/setwindowvsync.txt b/doc/bu/files/setwindowvsync.txt
new file mode 100644
index 0000000..92ed922
--- /dev/null
+++ b/doc/bu/files/setwindowvsync.txt
@@ -0,0 +1,4 @@
+#title SetWindowVSync [RCBasic Doc]
+#header sub SetWindowVSync( flag )
+
+
diff --git a/doc/bu/files/setworld3ddeltatime.txt b/doc/bu/files/setworld3ddeltatime.txt
new file mode 100644
index 0000000..ef089fb
--- /dev/null
+++ b/doc/bu/files/setworld3ddeltatime.txt
@@ -0,0 +1,4 @@
+#title SetWorld3DDeltaTime [RCBasic Doc]
+#header sub SetWorld3DDeltaTime( dt )
+
+
diff --git a/doc/bu/files/setworld3dmaxsubsteps.txt b/doc/bu/files/setworld3dmaxsubsteps.txt
new file mode 100644
index 0000000..4b0cbd2
--- /dev/null
+++ b/doc/bu/files/setworld3dmaxsubsteps.txt
@@ -0,0 +1,4 @@
+#title SetWorld3DMaxSubSteps [RCBasic Doc]
+#header sub SetWorld3DMaxSubSteps( steps )
+
+
diff --git a/doc/bu/files/setworld3dtimestep.txt b/doc/bu/files/setworld3dtimestep.txt
new file mode 100644
index 0000000..48d18f5
--- /dev/null
+++ b/doc/bu/files/setworld3dtimestep.txt
@@ -0,0 +1,4 @@
+#title SetWorld3DTimeStep [RCBasic Doc]
+#header sub SetWorld3DTimeStep( ts )
+
+
diff --git a/doc/bu/files/showmouse.txt b/doc/bu/files/showmouse.txt
new file mode 100644
index 0000000..cd973b7
--- /dev/null
+++ b/doc/bu/files/showmouse.txt
@@ -0,0 +1,4 @@
+#title ShowMouse [RCBasic Doc]
+#header sub ShowMouse()
+
+
diff --git a/doc/bu/files/showwindow.txt b/doc/bu/files/showwindow.txt
new file mode 100644
index 0000000..b3e9e05
--- /dev/null
+++ b/doc/bu/files/showwindow.txt
@@ -0,0 +1,4 @@
+#title ShowWindow [RCBasic Doc]
+#header sub ShowWindow( )
+
+
diff --git a/doc/bu/files/sign.txt b/doc/bu/files/sign.txt
new file mode 100644
index 0000000..1f955a0
--- /dev/null
+++ b/doc/bu/files/sign.txt
@@ -0,0 +1,4 @@
+#title Sign [RCBasic Doc]
+#header function Sign(n)
+
+
diff --git a/doc/bu/files/sin.txt b/doc/bu/files/sin.txt
new file mode 100644
index 0000000..0957f8a
--- /dev/null
+++ b/doc/bu/files/sin.txt
@@ -0,0 +1,4 @@
+#title Sin [RCBasic Doc]
+#header function Sin(n)
+
+
diff --git a/doc/bu/files/size.txt b/doc/bu/files/size.txt
new file mode 100644
index 0000000..cbf8089
--- /dev/null
+++ b/doc/bu/files/size.txt
@@ -0,0 +1,4 @@
+#title Size [RCBasic Doc]
+#header function Size(s$)
+
+
diff --git a/doc/bu/files/solvematrix.txt b/doc/bu/files/solvematrix.txt
new file mode 100644
index 0000000..633ba20
--- /dev/null
+++ b/doc/bu/files/solvematrix.txt
@@ -0,0 +1,4 @@
+#title SolveMatrix [RCBasic Doc]
+#header function SolveMatrix(mA, mB, mC)
+
+
diff --git a/doc/bu/files/soundexists.txt b/doc/bu/files/soundexists.txt
new file mode 100644
index 0000000..0a4e2e6
--- /dev/null
+++ b/doc/bu/files/soundexists.txt
@@ -0,0 +1,4 @@
+#title SoundExists [RCBasic Doc]
+#header function SoundExists(slot)
+
+
diff --git a/doc/bu/files/soundisenabled.txt b/doc/bu/files/soundisenabled.txt
new file mode 100644
index 0000000..c5f80c2
--- /dev/null
+++ b/doc/bu/files/soundisenabled.txt
@@ -0,0 +1,4 @@
+#title SoundIsEnabled [RCBasic Doc]
+#header function SoundIsEnabled()
+
+
diff --git a/doc/bu/files/sqrt.txt b/doc/bu/files/sqrt.txt
new file mode 100644
index 0000000..66cf612
--- /dev/null
+++ b/doc/bu/files/sqrt.txt
@@ -0,0 +1,4 @@
+#title Sqrt [RCBasic Doc]
+#header function Sqrt(n)
+
+
diff --git a/doc/bu/files/squarematrix.txt b/doc/bu/files/squarematrix.txt
new file mode 100644
index 0000000..25527e0
--- /dev/null
+++ b/doc/bu/files/squarematrix.txt
@@ -0,0 +1,4 @@
+#title SquareMatrix [RCBasic Doc]
+#header function SquareMatrix(mA, mB)
+
+
diff --git a/doc/bu/files/stack_size_n.txt b/doc/bu/files/stack_size_n.txt
new file mode 100644
index 0000000..80f3c93
--- /dev/null
+++ b/doc/bu/files/stack_size_n.txt
@@ -0,0 +1,4 @@
+#title Stack_Size_N [RCBasic Doc]
+#header function Stack_Size_N( num_stack )
+
+
diff --git a/doc/bu/files/stack_size_s.txt b/doc/bu/files/stack_size_s.txt
new file mode 100644
index 0000000..24ba602
--- /dev/null
+++ b/doc/bu/files/stack_size_s.txt
@@ -0,0 +1,4 @@
+#title Stack_Size_S [RCBasic Doc]
+#header function Stack_Size_S( str_stack )
+
+
diff --git a/doc/bu/files/startactortransition.txt b/doc/bu/files/startactortransition.txt
new file mode 100644
index 0000000..ee31765
--- /dev/null
+++ b/doc/bu/files/startactortransition.txt
@@ -0,0 +1,4 @@
+#title StartActorTransition [RCBasic Doc]
+#header sub StartActorTransition( actor, frame, transition_time )
+
+
diff --git a/doc/bu/files/startparticleemitter.txt b/doc/bu/files/startparticleemitter.txt
new file mode 100644
index 0000000..4eb7fe0
--- /dev/null
+++ b/doc/bu/files/startparticleemitter.txt
@@ -0,0 +1,4 @@
+#title startParticleEmitter [RCBasic Doc]
+#header sub startParticleEmitter( actor)
+
+
diff --git a/doc/bu/files/stopactortransition.txt b/doc/bu/files/stopactortransition.txt
new file mode 100644
index 0000000..9087ebc
--- /dev/null
+++ b/doc/bu/files/stopactortransition.txt
@@ -0,0 +1,4 @@
+#title StopActorTransition [RCBasic Doc]
+#header sub StopActorTransition( actor )
+
+
diff --git a/doc/bu/files/stopmusic.txt b/doc/bu/files/stopmusic.txt
new file mode 100644
index 0000000..198c755
--- /dev/null
+++ b/doc/bu/files/stopmusic.txt
@@ -0,0 +1,4 @@
+#title StopMusic [RCBasic Doc]
+#header sub StopMusic()
+
+
diff --git a/doc/bu/files/stopparticleemitter.txt b/doc/bu/files/stopparticleemitter.txt
new file mode 100644
index 0000000..e9524ab
--- /dev/null
+++ b/doc/bu/files/stopparticleemitter.txt
@@ -0,0 +1,4 @@
+#title stopParticleEmitter [RCBasic Doc]
+#header sub stopParticleEmitter( actor)
+
+
diff --git a/doc/bu/files/stopsound.txt b/doc/bu/files/stopsound.txt
new file mode 100644
index 0000000..5273764
--- /dev/null
+++ b/doc/bu/files/stopsound.txt
@@ -0,0 +1,4 @@
+#title StopSound [RCBasic Doc]
+#header sub StopSound(channel)
+
+
diff --git a/doc/bu/files/stopvideo.txt b/doc/bu/files/stopvideo.txt
new file mode 100644
index 0000000..eb51f98
--- /dev/null
+++ b/doc/bu/files/stopvideo.txt
@@ -0,0 +1,4 @@
+#title StopVideo [RCBasic Doc]
+#header sub StopVideo()
+
+
diff --git a/doc/bu/files/str.txt b/doc/bu/files/str.txt
new file mode 100644
index 0000000..84acfb0
--- /dev/null
+++ b/doc/bu/files/str.txt
@@ -0,0 +1,4 @@
+#title Str$ [RCBasic Doc]
+#header function Str$(n)
+
+
diff --git a/doc/bu/files/str_f.txt b/doc/bu/files/str_f.txt
new file mode 100644
index 0000000..89e8cfc
--- /dev/null
+++ b/doc/bu/files/str_f.txt
@@ -0,0 +1,4 @@
+#title Str_F$ [RCBasic Doc]
+#header function Str_F$(n)
+
+
diff --git a/doc/bu/files/str_s.txt b/doc/bu/files/str_s.txt
new file mode 100644
index 0000000..7ae7b55
--- /dev/null
+++ b/doc/bu/files/str_s.txt
@@ -0,0 +1,4 @@
+#title Str_S$ [RCBasic Doc]
+#header function Str_S$(n)
+
+
diff --git a/doc/bu/files/stringarraycopy.txt b/doc/bu/files/stringarraycopy.txt
new file mode 100644
index 0000000..c2ae827
--- /dev/null
+++ b/doc/bu/files/stringarraycopy.txt
@@ -0,0 +1,4 @@
+#title StringArrayCopy [RCBasic Doc]
+#header sub StringArrayCopy(ByRef src$, ByRef dst$)
+
+
diff --git a/doc/bu/files/stringarraydim.txt b/doc/bu/files/stringarraydim.txt
new file mode 100644
index 0000000..b0e621e
--- /dev/null
+++ b/doc/bu/files/stringarraydim.txt
@@ -0,0 +1,4 @@
+#title StringArrayDim [RCBasic Doc]
+#header function StringArrayDim(Byref id$)
+
+
diff --git a/doc/bu/files/stringarrayfill.txt b/doc/bu/files/stringarrayfill.txt
new file mode 100644
index 0000000..4302ea4
--- /dev/null
+++ b/doc/bu/files/stringarrayfill.txt
@@ -0,0 +1,4 @@
+#title StringArrayFill [RCBasic Doc]
+#header sub StringArrayFill(ByRef src$, fdata$)
+
+
diff --git a/doc/bu/files/stringarraysize.txt b/doc/bu/files/stringarraysize.txt
new file mode 100644
index 0000000..6f277c3
--- /dev/null
+++ b/doc/bu/files/stringarraysize.txt
@@ -0,0 +1,4 @@
+#title StringArraySize [RCBasic Doc]
+#header function StringArraySize(Byref id$, array_dim)
+
+
diff --git a/doc/bu/files/stringfill.txt b/doc/bu/files/stringfill.txt
new file mode 100644
index 0000000..a171ec6
--- /dev/null
+++ b/doc/bu/files/stringfill.txt
@@ -0,0 +1,4 @@
+#title StringFill$ [RCBasic Doc]
+#header function StringFill$(src$, n)
+
+
diff --git a/doc/bu/files/stringfrombuffer.txt b/doc/bu/files/stringfrombuffer.txt
new file mode 100644
index 0000000..64f13d8
--- /dev/null
+++ b/doc/bu/files/stringfrombuffer.txt
@@ -0,0 +1,4 @@
+#title StringFromBuffer$ [RCBasic Doc]
+#header function StringFromBuffer$(ByRef buffer, buffer_size)
+
+
diff --git a/doc/bu/files/subtractmatrix.txt b/doc/bu/files/subtractmatrix.txt
new file mode 100644
index 0000000..c614614
--- /dev/null
+++ b/doc/bu/files/subtractmatrix.txt
@@ -0,0 +1,4 @@
+#title SubtractMatrix [RCBasic Doc]
+#header function SubtractMatrix(mA, mB, mC)
+
+
diff --git a/doc/bu/files/swapmatrix.txt b/doc/bu/files/swapmatrix.txt
new file mode 100644
index 0000000..a73d28b
--- /dev/null
+++ b/doc/bu/files/swapmatrix.txt
@@ -0,0 +1,4 @@
+#title SwapMatrix [RCBasic Doc]
+#header sub SwapMatrix(mA, mB)
+
+
diff --git a/doc/bu/files/swapmatrixcolumn.txt b/doc/bu/files/swapmatrixcolumn.txt
new file mode 100644
index 0000000..5728a5b
--- /dev/null
+++ b/doc/bu/files/swapmatrixcolumn.txt
@@ -0,0 +1,4 @@
+#title SwapMatrixColumn [RCBasic Doc]
+#header function SwapMatrixColumn(mA, C1, C2)
+
+
diff --git a/doc/bu/files/swapmatrixrow.txt b/doc/bu/files/swapmatrixrow.txt
new file mode 100644
index 0000000..5b907a5
--- /dev/null
+++ b/doc/bu/files/swapmatrixrow.txt
@@ -0,0 +1,4 @@
+#title SwapMatrixRow [RCBasic Doc]
+#header function SwapMatrixRow(mA, R1, R2)
+
+
diff --git a/doc/bu/files/system.txt b/doc/bu/files/system.txt
new file mode 100644
index 0000000..9c8f9c7
--- /dev/null
+++ b/doc/bu/files/system.txt
@@ -0,0 +1,4 @@
+#title System [RCBasic Doc]
+#header function System(cmd$)
+
+
diff --git a/doc/bu/files/systemram.txt b/doc/bu/files/systemram.txt
new file mode 100644
index 0000000..2262af5
--- /dev/null
+++ b/doc/bu/files/systemram.txt
@@ -0,0 +1,4 @@
+#title SystemRam [RCBasic Doc]
+#header function SystemRam()
+
+
diff --git a/doc/bu/files/systemreturnstdout.txt b/doc/bu/files/systemreturnstdout.txt
new file mode 100644
index 0000000..44d12c0
--- /dev/null
+++ b/doc/bu/files/systemreturnstdout.txt
@@ -0,0 +1,4 @@
+#title SystemReturnStdOut$ [RCBasic Doc]
+#header function SystemReturnStdOut$(cmd$)
+
+
diff --git a/doc/bu/files/tally.txt b/doc/bu/files/tally.txt
new file mode 100644
index 0000000..a73ac20
--- /dev/null
+++ b/doc/bu/files/tally.txt
@@ -0,0 +1,4 @@
+#title Tally [RCBasic Doc]
+#header function Tally(src$, substr$)
+
+
diff --git a/doc/bu/files/tan.txt b/doc/bu/files/tan.txt
new file mode 100644
index 0000000..fcd4fff
--- /dev/null
+++ b/doc/bu/files/tan.txt
@@ -0,0 +1,4 @@
+#title Tan [RCBasic Doc]
+#header function Tan(n)
+
+
diff --git a/doc/bu/files/tcp_acceptsocket.txt b/doc/bu/files/tcp_acceptsocket.txt
new file mode 100644
index 0000000..eaf6298
--- /dev/null
+++ b/doc/bu/files/tcp_acceptsocket.txt
@@ -0,0 +1,4 @@
+#title TCP_AcceptSocket [RCBasic Doc]
+#header function TCP_AcceptSocket(server, client)
+
+
diff --git a/doc/bu/files/tcp_closesocket.txt b/doc/bu/files/tcp_closesocket.txt
new file mode 100644
index 0000000..4af1841
--- /dev/null
+++ b/doc/bu/files/tcp_closesocket.txt
@@ -0,0 +1,4 @@
+#title TCP_CloseSocket [RCBasic Doc]
+#header sub TCP_CloseSocket(socket)
+
+
diff --git a/doc/bu/files/tcp_getdata.txt b/doc/bu/files/tcp_getdata.txt
new file mode 100644
index 0000000..6c62b32
--- /dev/null
+++ b/doc/bu/files/tcp_getdata.txt
@@ -0,0 +1,4 @@
+#title TCP_GetData [RCBasic Doc]
+#header function TCP_GetData(socket, numBytes, ByRef sData$)
+
+
diff --git a/doc/bu/files/tcp_opensocket.txt b/doc/bu/files/tcp_opensocket.txt
new file mode 100644
index 0000000..3c3d8d7
--- /dev/null
+++ b/doc/bu/files/tcp_opensocket.txt
@@ -0,0 +1,4 @@
+#title TCP_OpenSocket [RCBasic Doc]
+#header function TCP_OpenSocket(host$, port)
+
+
diff --git a/doc/bu/files/tcp_remotehost.txt b/doc/bu/files/tcp_remotehost.txt
new file mode 100644
index 0000000..b6b0982
--- /dev/null
+++ b/doc/bu/files/tcp_remotehost.txt
@@ -0,0 +1,4 @@
+#title TCP_RemoteHost [RCBasic Doc]
+#header function TCP_RemoteHost(socket)
+
+
diff --git a/doc/bu/files/tcp_remoteport.txt b/doc/bu/files/tcp_remoteport.txt
new file mode 100644
index 0000000..dc694db
--- /dev/null
+++ b/doc/bu/files/tcp_remoteport.txt
@@ -0,0 +1,4 @@
+#title TCP_RemotePort [RCBasic Doc]
+#header function TCP_RemotePort(socket)
+
+
diff --git a/doc/bu/files/tcp_senddata.txt b/doc/bu/files/tcp_senddata.txt
new file mode 100644
index 0000000..b579a59
--- /dev/null
+++ b/doc/bu/files/tcp_senddata.txt
@@ -0,0 +1,4 @@
+#title TCP_SendData [RCBasic Doc]
+#header sub TCP_SendData(socket, sData$)
+
+
diff --git a/doc/bu/files/tcp_socketready.txt b/doc/bu/files/tcp_socketready.txt
new file mode 100644
index 0000000..701ea26
--- /dev/null
+++ b/doc/bu/files/tcp_socketready.txt
@@ -0,0 +1,4 @@
+#title TCP_SocketReady [RCBasic Doc]
+#header function TCP_SocketReady(socket)
+
+
diff --git a/doc/bu/files/tell.txt b/doc/bu/files/tell.txt
new file mode 100644
index 0000000..2e8ef31
--- /dev/null
+++ b/doc/bu/files/tell.txt
@@ -0,0 +1,4 @@
+#title Tell [RCBasic Doc]
+#header function Tell(stream)
+
+
diff --git a/doc/bu/files/ticks.txt b/doc/bu/files/ticks.txt
new file mode 100644
index 0000000..9626703
--- /dev/null
+++ b/doc/bu/files/ticks.txt
@@ -0,0 +1,4 @@
+#title Ticks [RCBasic Doc]
+#header function Ticks()
+
+
diff --git a/doc/bu/files/time.txt b/doc/bu/files/time.txt
new file mode 100644
index 0000000..cef1bb2
--- /dev/null
+++ b/doc/bu/files/time.txt
@@ -0,0 +1,4 @@
+#title Time$ [RCBasic Doc]
+#header function Time$()
+
+
diff --git a/doc/bu/files/timer.txt b/doc/bu/files/timer.txt
new file mode 100644
index 0000000..308a725
--- /dev/null
+++ b/doc/bu/files/timer.txt
@@ -0,0 +1,4 @@
+#title Timer [RCBasic Doc]
+#header function Timer()
+
+
diff --git a/doc/bu/files/touchpressure.txt b/doc/bu/files/touchpressure.txt
new file mode 100644
index 0000000..84902d0
--- /dev/null
+++ b/doc/bu/files/touchpressure.txt
@@ -0,0 +1,4 @@
+#title TouchPressure [RCBasic Doc]
+#header function TouchPressure()
+
+
diff --git a/doc/bu/files/translateactor.txt b/doc/bu/files/translateactor.txt
new file mode 100644
index 0000000..5d8b8e9
--- /dev/null
+++ b/doc/bu/files/translateactor.txt
@@ -0,0 +1,4 @@
+#title TranslateActor [RCBasic Doc]
+#header sub TranslateActor( actor, x, y, z )
+
+
diff --git a/doc/bu/files/translateactorworld.txt b/doc/bu/files/translateactorworld.txt
new file mode 100644
index 0000000..553e614
--- /dev/null
+++ b/doc/bu/files/translateactorworld.txt
@@ -0,0 +1,4 @@
+#title TranslateActorWorld [RCBasic Doc]
+#header sub TranslateActorWorld( actor, x, y, z )
+
+
diff --git a/doc/bu/files/translatecamera.txt b/doc/bu/files/translatecamera.txt
new file mode 100644
index 0000000..bbf915a
--- /dev/null
+++ b/doc/bu/files/translatecamera.txt
@@ -0,0 +1,4 @@
+#title TranslateCamera [RCBasic Doc]
+#header sub TranslateCamera( x, y, z)
+
+
diff --git a/doc/bu/files/transposematrix.txt b/doc/bu/files/transposematrix.txt
new file mode 100644
index 0000000..aa8a1c9
--- /dev/null
+++ b/doc/bu/files/transposematrix.txt
@@ -0,0 +1,4 @@
+#title TransposeMatrix [RCBasic Doc]
+#header function TransposeMatrix(mA, mB)
+
+
diff --git a/doc/bu/files/trim.txt b/doc/bu/files/trim.txt
new file mode 100644
index 0000000..d93c949
--- /dev/null
+++ b/doc/bu/files/trim.txt
@@ -0,0 +1,4 @@
+#title Trim$ [RCBasic Doc]
+#header function Trim$(src$)
+
+
diff --git a/doc/bu/files/tst.txt b/doc/bu/files/tst.txt
new file mode 100644
index 0000000..d7bf91f
--- /dev/null
+++ b/doc/bu/files/tst.txt
@@ -0,0 +1,4 @@
+#title tst [RCBasic Doc]
+#header sub tst()
+
+
diff --git a/doc/bu/files/typearraycopy.txt b/doc/bu/files/typearraycopy.txt
new file mode 100644
index 0000000..a90f979
--- /dev/null
+++ b/doc/bu/files/typearraycopy.txt
@@ -0,0 +1,4 @@
+#title TypeArrayCopy [RCBasic Doc]
+#header sub TypeArrayCopy(ByRef src as empty, ByRef dst as empty)
+
+
diff --git a/doc/bu/files/typearraydim.txt b/doc/bu/files/typearraydim.txt
new file mode 100644
index 0000000..1c5deb6
--- /dev/null
+++ b/doc/bu/files/typearraydim.txt
@@ -0,0 +1,4 @@
+#title TypeArrayDim [RCBasic Doc]
+#header function TypeArrayDim(Byref id as empty)
+
+
diff --git a/doc/bu/files/typearrayfill.txt b/doc/bu/files/typearrayfill.txt
new file mode 100644
index 0000000..55c8acc
--- /dev/null
+++ b/doc/bu/files/typearrayfill.txt
@@ -0,0 +1,4 @@
+#title TypeArrayFill [RCBasic Doc]
+#header sub TypeArrayFill(ByRef src as empty, fdata as empty)
+
+
diff --git a/doc/bu/files/typearraysize.txt b/doc/bu/files/typearraysize.txt
new file mode 100644
index 0000000..f9717c0
--- /dev/null
+++ b/doc/bu/files/typearraysize.txt
@@ -0,0 +1,4 @@
+#title TypeArraySize [RCBasic Doc]
+#header function TypeArraySize(Byref id as empty, array_dim)
+
+
diff --git a/doc/bu/files/ucase.txt b/doc/bu/files/ucase.txt
new file mode 100644
index 0000000..da32693
--- /dev/null
+++ b/doc/bu/files/ucase.txt
@@ -0,0 +1,4 @@
+#title Ucase$ [RCBasic Doc]
+#header function Ucase$(src$)
+
+
diff --git a/doc/bu/files/udp_closesocket.txt b/doc/bu/files/udp_closesocket.txt
new file mode 100644
index 0000000..12d731b
--- /dev/null
+++ b/doc/bu/files/udp_closesocket.txt
@@ -0,0 +1,4 @@
+#title UDP_CloseSocket [RCBasic Doc]
+#header sub UDP_CloseSocket(socket)
+
+
diff --git a/doc/bu/files/udp_getdata.txt b/doc/bu/files/udp_getdata.txt
new file mode 100644
index 0000000..7970b5e
--- /dev/null
+++ b/doc/bu/files/udp_getdata.txt
@@ -0,0 +1,4 @@
+#title UDP_GetData [RCBasic Doc]
+#header function UDP_GetData(socket, byref host$, byref port, byref sData$)
+
+
diff --git a/doc/bu/files/udp_length.txt b/doc/bu/files/udp_length.txt
new file mode 100644
index 0000000..09b3bc8
--- /dev/null
+++ b/doc/bu/files/udp_length.txt
@@ -0,0 +1,4 @@
+#title UDP_Length [RCBasic Doc]
+#header function UDP_Length()
+
+
diff --git a/doc/bu/files/udp_maxlength.txt b/doc/bu/files/udp_maxlength.txt
new file mode 100644
index 0000000..7358d01
--- /dev/null
+++ b/doc/bu/files/udp_maxlength.txt
@@ -0,0 +1,4 @@
+#title UDP_MaxLength [RCBasic Doc]
+#header function UDP_MaxLength()
+
+
diff --git a/doc/bu/files/udp_opensocket.txt b/doc/bu/files/udp_opensocket.txt
new file mode 100644
index 0000000..b355133
--- /dev/null
+++ b/doc/bu/files/udp_opensocket.txt
@@ -0,0 +1,4 @@
+#title UDP_OpenSocket [RCBasic Doc]
+#header function UDP_OpenSocket(port)
+
+
diff --git a/doc/bu/files/udp_remotehost.txt b/doc/bu/files/udp_remotehost.txt
new file mode 100644
index 0000000..1a73bbe
--- /dev/null
+++ b/doc/bu/files/udp_remotehost.txt
@@ -0,0 +1,4 @@
+#title UDP_RemoteHost$ [RCBasic Doc]
+#header function UDP_RemoteHost$(socket)
+
+
diff --git a/doc/bu/files/udp_remoteport.txt b/doc/bu/files/udp_remoteport.txt
new file mode 100644
index 0000000..c8e7958
--- /dev/null
+++ b/doc/bu/files/udp_remoteport.txt
@@ -0,0 +1,4 @@
+#title UDP_RemotePort [RCBasic Doc]
+#header function UDP_RemotePort(socket)
+
+
diff --git a/doc/bu/files/udp_senddata.txt b/doc/bu/files/udp_senddata.txt
new file mode 100644
index 0000000..f7a39dd
--- /dev/null
+++ b/doc/bu/files/udp_senddata.txt
@@ -0,0 +1,4 @@
+#title UDP_SendData [RCBasic Doc]
+#header sub UDP_SendData(socket, host$, port, sData$)
+
+
diff --git a/doc/bu/files/udp_socketready.txt b/doc/bu/files/udp_socketready.txt
new file mode 100644
index 0000000..0f01add
--- /dev/null
+++ b/doc/bu/files/udp_socketready.txt
@@ -0,0 +1,4 @@
+#title UDP_SocketReady [RCBasic Doc]
+#header function UDP_SocketReady(socket)
+
+
diff --git a/doc/bu/files/unaugmentmatrix.txt b/doc/bu/files/unaugmentmatrix.txt
new file mode 100644
index 0000000..11b526c
--- /dev/null
+++ b/doc/bu/files/unaugmentmatrix.txt
@@ -0,0 +1,4 @@
+#title UnAugmentMatrix [RCBasic Doc]
+#header function UnAugmentMatrix(mA, mB, mC)
+
+
diff --git a/doc/bu/files/update.txt b/doc/bu/files/update.txt
new file mode 100644
index 0000000..18fea69
--- /dev/null
+++ b/doc/bu/files/update.txt
@@ -0,0 +1,4 @@
+#title Update [RCBasic Doc]
+#header sub Update()
+
+
diff --git a/doc/bu/files/updateactorinertiatensor.txt b/doc/bu/files/updateactorinertiatensor.txt
new file mode 100644
index 0000000..a03f6ac
--- /dev/null
+++ b/doc/bu/files/updateactorinertiatensor.txt
@@ -0,0 +1,4 @@
+#title updateActorInertiaTensor [RCBasic Doc]
+#header sub updateActorInertiaTensor( actor)
+
+
diff --git a/doc/bu/files/useconstraintframeoffset.txt b/doc/bu/files/useconstraintframeoffset.txt
new file mode 100644
index 0000000..2c21708
--- /dev/null
+++ b/doc/bu/files/useconstraintframeoffset.txt
@@ -0,0 +1,4 @@
+#title useConstraintFrameOffset [RCBasic Doc]
+#header sub useConstraintFrameOffset( constraint_id, flag)
+
+
diff --git a/doc/bu/files/usehingereferenceframea.txt b/doc/bu/files/usehingereferenceframea.txt
new file mode 100644
index 0000000..780c39d
--- /dev/null
+++ b/doc/bu/files/usehingereferenceframea.txt
@@ -0,0 +1,4 @@
+#title useHingeReferenceFrameA [RCBasic Doc]
+#header sub useHingeReferenceFrameA( constraint_id, flag)
+
+
diff --git a/doc/bu/files/useparticleeverymeshvertex.txt b/doc/bu/files/useparticleeverymeshvertex.txt
new file mode 100644
index 0000000..4dd2bfd
--- /dev/null
+++ b/doc/bu/files/useparticleeverymeshvertex.txt
@@ -0,0 +1,4 @@
+#title useParticleEveryMeshVertex [RCBasic Doc]
+#header sub useParticleEveryMeshVertex( actor, flag)
+
+
diff --git a/doc/bu/files/useparticlenormaldirection.txt b/doc/bu/files/useparticlenormaldirection.txt
new file mode 100644
index 0000000..90f4774
--- /dev/null
+++ b/doc/bu/files/useparticlenormaldirection.txt
@@ -0,0 +1,4 @@
+#title useParticleNormalDirection [RCBasic Doc]
+#header sub useParticleNormalDirection( actor, flag)
+
+
diff --git a/doc/bu/files/useparticleoutlineonly.txt b/doc/bu/files/useparticleoutlineonly.txt
new file mode 100644
index 0000000..0348f8c
--- /dev/null
+++ b/doc/bu/files/useparticleoutlineonly.txt
@@ -0,0 +1,4 @@
+#title useParticleOutlineOnly [RCBasic Doc]
+#header sub useParticleOutlineOnly( actor, flag)
+
+
diff --git a/doc/bu/files/val.txt b/doc/bu/files/val.txt
new file mode 100644
index 0000000..2251cd0
--- /dev/null
+++ b/doc/bu/files/val.txt
@@ -0,0 +1,4 @@
+#title Val [RCBasic Doc]
+#header function Val(n$)
+
+
diff --git a/doc/bu/files/videoend.txt b/doc/bu/files/videoend.txt
new file mode 100644
index 0000000..6029416
--- /dev/null
+++ b/doc/bu/files/videoend.txt
@@ -0,0 +1,4 @@
+#title VideoEnd [RCBasic Doc]
+#header function VideoEnd()
+
+
diff --git a/doc/bu/files/videoexists.txt b/doc/bu/files/videoexists.txt
new file mode 100644
index 0000000..5b6c802
--- /dev/null
+++ b/doc/bu/files/videoexists.txt
@@ -0,0 +1,4 @@
+#title VideoExists [RCBasic Doc]
+#header function VideoExists()
+
+
diff --git a/doc/bu/files/videoisplaying.txt b/doc/bu/files/videoisplaying.txt
new file mode 100644
index 0000000..72d29e2
--- /dev/null
+++ b/doc/bu/files/videoisplaying.txt
@@ -0,0 +1,4 @@
+#title VideoIsPlaying [RCBasic Doc]
+#header function VideoIsPlaying()
+
+
diff --git a/doc/bu/files/wait.txt b/doc/bu/files/wait.txt
new file mode 100644
index 0000000..2c073f3
--- /dev/null
+++ b/doc/bu/files/wait.txt
@@ -0,0 +1,4 @@
+#title Wait [RCBasic Doc]
+#header sub Wait(m_sec)
+
+
diff --git a/doc/bu/files/waitkey.txt b/doc/bu/files/waitkey.txt
new file mode 100644
index 0000000..6282a2c
--- /dev/null
+++ b/doc/bu/files/waitkey.txt
@@ -0,0 +1,4 @@
+#title WaitKey [RCBasic Doc]
+#header function WaitKey()
+
+
diff --git a/doc/bu/files/warpmouse.txt b/doc/bu/files/warpmouse.txt
new file mode 100644
index 0000000..ca6eb1c
--- /dev/null
+++ b/doc/bu/files/warpmouse.txt
@@ -0,0 +1,4 @@
+#title WarpMouse [RCBasic Doc]
+#header sub WarpMouse(x, y)
+
+
diff --git a/doc/bu/files/warpmouseglobal.txt b/doc/bu/files/warpmouseglobal.txt
new file mode 100644
index 0000000..6d36e07
--- /dev/null
+++ b/doc/bu/files/warpmouseglobal.txt
@@ -0,0 +1,4 @@
+#title WarpMouseGlobal [RCBasic Doc]
+#header sub WarpMouseGlobal(x, y)
+
+
diff --git a/doc/bu/files/windowclip.txt b/doc/bu/files/windowclip.txt
new file mode 100644
index 0000000..eeebb9c
--- /dev/null
+++ b/doc/bu/files/windowclip.txt
@@ -0,0 +1,4 @@
+#title WindowClip [RCBasic Doc]
+#header function WindowClip(x, y, w, h)
+
+
diff --git a/doc/bu/files/windowevent_close.txt b/doc/bu/files/windowevent_close.txt
new file mode 100644
index 0000000..a4bcc24
--- /dev/null
+++ b/doc/bu/files/windowevent_close.txt
@@ -0,0 +1,4 @@
+#title WindowEvent_Close [RCBasic Doc]
+#header function WindowEvent_Close()
+
+
diff --git a/doc/bu/files/windowevent_maximize.txt b/doc/bu/files/windowevent_maximize.txt
new file mode 100644
index 0000000..820fd09
--- /dev/null
+++ b/doc/bu/files/windowevent_maximize.txt
@@ -0,0 +1,4 @@
+#title WindowEvent_Maximize [RCBasic Doc]
+#header function WindowEvent_Maximize()
+
+
diff --git a/doc/bu/files/windowevent_minimize.txt b/doc/bu/files/windowevent_minimize.txt
new file mode 100644
index 0000000..a32de19
--- /dev/null
+++ b/doc/bu/files/windowevent_minimize.txt
@@ -0,0 +1,4 @@
+#title WindowEvent_Minimize [RCBasic Doc]
+#header function WindowEvent_Minimize()
+
+
diff --git a/doc/bu/files/windowevent_resize.txt b/doc/bu/files/windowevent_resize.txt
new file mode 100644
index 0000000..9f733ed
--- /dev/null
+++ b/doc/bu/files/windowevent_resize.txt
@@ -0,0 +1,4 @@
+#title WindowEvent_Resize [RCBasic Doc]
+#header function WindowEvent_Resize()
+
+
diff --git a/doc/bu/files/windowexists.txt b/doc/bu/files/windowexists.txt
new file mode 100644
index 0000000..c6ac2a5
--- /dev/null
+++ b/doc/bu/files/windowexists.txt
@@ -0,0 +1,4 @@
+#title WindowExists [RCBasic Doc]
+#header function WindowExists()
+
+
diff --git a/doc/bu/files/windowhasinputfocus.txt b/doc/bu/files/windowhasinputfocus.txt
new file mode 100644
index 0000000..4930a60
--- /dev/null
+++ b/doc/bu/files/windowhasinputfocus.txt
@@ -0,0 +1,4 @@
+#title WindowHasInputFocus [RCBasic Doc]
+#header function WindowHasInputFocus()
+
+
diff --git a/doc/bu/files/windowhasmousefocus.txt b/doc/bu/files/windowhasmousefocus.txt
new file mode 100644
index 0000000..c366a23
--- /dev/null
+++ b/doc/bu/files/windowhasmousefocus.txt
@@ -0,0 +1,4 @@
+#title WindowHasMouseFocus [RCBasic Doc]
+#header function WindowHasMouseFocus()
+
+
diff --git a/doc/bu/files/windowisbordered.txt b/doc/bu/files/windowisbordered.txt
new file mode 100644
index 0000000..17cf5ad
--- /dev/null
+++ b/doc/bu/files/windowisbordered.txt
@@ -0,0 +1,4 @@
+#title WindowIsBordered [RCBasic Doc]
+#header function WindowIsBordered()
+
+
diff --git a/doc/bu/files/windowisfullscreen.txt b/doc/bu/files/windowisfullscreen.txt
new file mode 100644
index 0000000..54d4af9
--- /dev/null
+++ b/doc/bu/files/windowisfullscreen.txt
@@ -0,0 +1,4 @@
+#title WindowIsFullscreen [RCBasic Doc]
+#header function WindowIsFullscreen()
+
+
diff --git a/doc/bu/files/windowisgrabbed.txt b/doc/bu/files/windowisgrabbed.txt
new file mode 100644
index 0000000..d883040
--- /dev/null
+++ b/doc/bu/files/windowisgrabbed.txt
@@ -0,0 +1,4 @@
+#title WindowIsGrabbed [RCBasic Doc]
+#header function WindowIsGrabbed( )
+
+
diff --git a/doc/bu/files/windowismaximized.txt b/doc/bu/files/windowismaximized.txt
new file mode 100644
index 0000000..8e22594
--- /dev/null
+++ b/doc/bu/files/windowismaximized.txt
@@ -0,0 +1,4 @@
+#title WindowIsMaximized [RCBasic Doc]
+#header function WindowIsMaximized()
+
+
diff --git a/doc/bu/files/windowisminimized.txt b/doc/bu/files/windowisminimized.txt
new file mode 100644
index 0000000..38cca84
--- /dev/null
+++ b/doc/bu/files/windowisminimized.txt
@@ -0,0 +1,4 @@
+#title WindowIsMinimized [RCBasic Doc]
+#header function WindowIsMinimized()
+
+
diff --git a/doc/bu/files/windowisresizable.txt b/doc/bu/files/windowisresizable.txt
new file mode 100644
index 0000000..08b0b04
--- /dev/null
+++ b/doc/bu/files/windowisresizable.txt
@@ -0,0 +1,4 @@
+#title WindowIsResizable [RCBasic Doc]
+#header function WindowIsResizable()
+
+
diff --git a/doc/bu/files/windowisvisible.txt b/doc/bu/files/windowisvisible.txt
new file mode 100644
index 0000000..990a071
--- /dev/null
+++ b/doc/bu/files/windowisvisible.txt
@@ -0,0 +1,4 @@
+#title WindowIsVisible [RCBasic Doc]
+#header function WindowIsVisible()
+
+
diff --git a/doc/bu/files/windowmode.txt b/doc/bu/files/windowmode.txt
new file mode 100644
index 0000000..5fa5385
--- /dev/null
+++ b/doc/bu/files/windowmode.txt
@@ -0,0 +1,4 @@
+#title WindowMode [RCBasic Doc]
+#header function WindowMode(visible, fullscreen, resizable, borderless, highDPI)
+
+
diff --git a/doc/bu/files/windowtitle.txt b/doc/bu/files/windowtitle.txt
new file mode 100644
index 0000000..ff00fc0
--- /dev/null
+++ b/doc/bu/files/windowtitle.txt
@@ -0,0 +1,4 @@
+#title WindowTitle$ [RCBasic Doc]
+#header function WindowTitle$( )
+
+
diff --git a/doc/bu/files/write.txt b/doc/bu/files/write.txt
new file mode 100644
index 0000000..edf82a5
--- /dev/null
+++ b/doc/bu/files/write.txt
@@ -0,0 +1,4 @@
+#title Write [RCBasic Doc]
+#header sub Write(stream, txt$)
+
+
diff --git a/doc/bu/files/writebyte.txt b/doc/bu/files/writebyte.txt
new file mode 100644
index 0000000..b017160
--- /dev/null
+++ b/doc/bu/files/writebyte.txt
@@ -0,0 +1,4 @@
+#title WriteByte [RCBasic Doc]
+#header sub WriteByte(stream, byte)
+
+
diff --git a/doc/bu/files/writebytebuffer.txt b/doc/bu/files/writebytebuffer.txt
new file mode 100644
index 0000000..fe3c08c
--- /dev/null
+++ b/doc/bu/files/writebytebuffer.txt
@@ -0,0 +1,4 @@
+#title WriteByteBuffer [RCBasic Doc]
+#header function WriteByteBuffer(stream, ByRef buf, buf_size)
+
+
diff --git a/doc/bu/files/writeline.txt b/doc/bu/files/writeline.txt
new file mode 100644
index 0000000..df85cbd
--- /dev/null
+++ b/doc/bu/files/writeline.txt
@@ -0,0 +1,4 @@
+#title WriteLine [RCBasic Doc]
+#header sub WriteLine(stream, txt$)
+
+
diff --git a/doc/bu/files/xorbit.txt b/doc/bu/files/xorbit.txt
new file mode 100644
index 0000000..684fbda
--- /dev/null
+++ b/doc/bu/files/xorbit.txt
@@ -0,0 +1,4 @@
+#title XOrBit [RCBasic Doc]
+#header function XOrBit(a, b)
+
+
diff --git a/doc/bu/files/zeromatrix.txt b/doc/bu/files/zeromatrix.txt
new file mode 100644
index 0000000..3d81c26
--- /dev/null
+++ b/doc/bu/files/zeromatrix.txt
@@ -0,0 +1,4 @@
+#title ZeroMatrix [RCBasic Doc]
+#header sub ZeroMatrix(mA)
+
+
diff --git a/doc/cw/gethingesolvelimit.txt b/doc/cw/gethingesolvelimit.txt
new file mode 100644
index 0000000..ce518db
--- /dev/null
+++ b/doc/cw/gethingesolvelimit.txt
@@ -0,0 +1,6 @@
+#title getHingeSolveLimit [RCBasic Doc]
+#header function getHingeSolveLimit( constraint_id)
+
+Checks whether the hinge has reached or exceeded its angular limit during the simulation. It returns a boolean or an integer value that indicates whether the current angular position is within the constraint's angular limits or if corrective forces need to be applied.
+
+The "solve limit" refers to whether the current angular position is close to or outside the defined angular limits. If the constraint detects that the hinge is at the limit, it enters a solving state, where it applies corrective forces to keep the rotation within the allowed range.
diff --git a/doc/cw/getslidelindepth.txt b/doc/cw/getslidelindepth.txt
new file mode 100644
index 0000000..7fba322
--- /dev/null
+++ b/doc/cw/getslidelindepth.txt
@@ -0,0 +1,6 @@
+#title getSlideLinDepth [RCBasic Doc]
+#header function getSlideLinDepth( constraint_id)
+
+Returns the linear depth of the slider constraint. This value indicates how much the actors connected by the slider constraint are overlapping or penetrating each other in the linear (translational) direction.
+
+The linear depth is a measure of how far the actors are penetrating each other along the linear axis defined by the slider constraint. A positive value indicates that the actors are overlapping, while a value of zero means they are in contact but not penetrating. Negative values typically imply that the actors are separated.
diff --git a/doc/cw/getslidelinearpos.txt b/doc/cw/getslidelinearpos.txt
new file mode 100644
index 0000000..f20b0ae
--- /dev/null
+++ b/doc/cw/getslidelinearpos.txt
@@ -0,0 +1,6 @@
+#title getSlideLinearPos [RCBasic Doc]
+#header function getSlideLinearPos( constraint_id)
+
+Returns the current linear position of the slider constraint along its defined axis. This position reflects how far the connected actors have moved along the slider's linear axis since the constraint was created or last reset.
+
+This value can be positive or negative, depending on the relative positions of the two bodies connected by the slider.
diff --git a/doc/cw/getslideloweranglimit.txt b/doc/cw/getslideloweranglimit.txt
new file mode 100644
index 0000000..5fe004d
--- /dev/null
+++ b/doc/cw/getslideloweranglimit.txt
@@ -0,0 +1,8 @@
+#title getSlideLowerAngLimit [RCBasic Doc]
+#header function getSlideLowerAngLimit( constraint_id)
+
+Returns the lower angular limit of the constraint. This value specifies the minimum angle allowed for the rotation of the connected actors around the axis perpendicular to the sliding direction defined by the slider constraint.
+
+The lower angular limit indicates the smallest angle that the actors can rotate about the axis perpendicular to the sliding direction. If the rotation tries to exceed this limit, the physics engine will apply corrective forces to maintain the bodies within the allowed range.
+
+#ref GetSlideLowerLinLimit
diff --git a/doc/cw/getslidelowerlinlimit.txt b/doc/cw/getslidelowerlinlimit.txt
new file mode 100644
index 0000000..9a6d38e
--- /dev/null
+++ b/doc/cw/getslidelowerlinlimit.txt
@@ -0,0 +1,8 @@
+#title getSlideLowerLinLimit [RCBasic Doc]
+#header function getSlideLowerLinLimit( constraint_id)
+
+Returns the lower linear limit for the translational (sliding) motion along the slider's axis. This value specifies the minimum allowable position for the connected actors along the defined axis of the slider constraint.
+
+This defines the minimum translation distance along the slider’s axis that the connected actors are allowed to reach. If the actors' relative position along the axis goes below this limit, the constraint will prevent further movement.
+
+#ref SetSlideLowerLinLimit
diff --git a/doc/cw/getsliderestitutiondirang.txt b/doc/cw/getsliderestitutiondirang.txt
new file mode 100644
index 0000000..c51de77
--- /dev/null
+++ b/doc/cw/getsliderestitutiondirang.txt
@@ -0,0 +1,8 @@
+#title getSlideRestitutionDirAng [RCBasic Doc]
+#header function getSlideRestitutionDirAng( constraint_id)
+
+Returns the restitution value for angular motion. The restitution coefficient is a measure of how much energy is conserved in a collision or constraint interaction, specifically for angular movements.
+
+When actors collide or interact, their angular momentum and position can change, and the restitution value governs how much of that energy is retained after the interaction.
+
+#ref SetSlideRestitutionDirAng
diff --git a/doc/cw/getsliderestitutiondirlin.txt b/doc/cw/getsliderestitutiondirlin.txt
new file mode 100644
index 0000000..de1e80b
--- /dev/null
+++ b/doc/cw/getsliderestitutiondirlin.txt
@@ -0,0 +1,8 @@
+#title getSlideRestitutionDirLin [RCBasic Doc]
+#header function getSlideRestitutionDirLin( constraint_id)
+
+Returns the restitution value for linear motion. This value determines how much energy is conserved in a collision or interaction involving linear movements of the connected actors.
+
+When the actors collide or interact, the restitution value dictates how much of their energy is retained after the interaction.
+
+#ref SetSlideRestitutionDirLin
diff --git a/doc/cw/getsliderestitutionlimang.txt b/doc/cw/getsliderestitutionlimang.txt
new file mode 100644
index 0000000..6c3e28a
--- /dev/null
+++ b/doc/cw/getsliderestitutionlimang.txt
@@ -0,0 +1,8 @@
+#title getSlideRestitutionLimAng [RCBasic Doc]
+#header function getSlideRestitutionLimAng( constraint_id)
+
+Returns the restitution value for angular limit. This value determines how much energy is conserved when the angular motion of the connected actors reaches the angular limits of the slider constraint. Essentially, it controls how "bouncy" the rotation is when it hits the angular limit of the constraint.
+
+A value of 0.0 means no bounce (perfectly inelastic), while a value of 1.0 allows maximum bounce (perfectly elastic).
+
+#ref SetSlideRestitutionLimAng
diff --git a/doc/cw/getsliderestitutionlimlin.txt b/doc/cw/getsliderestitutionlimlin.txt
new file mode 100644
index 0000000..71bedcc
--- /dev/null
+++ b/doc/cw/getsliderestitutionlimlin.txt
@@ -0,0 +1,8 @@
+#title getSlideRestitutionLimLin [RCBasic Doc]
+#header function getSlideRestitutionLimLin( constraint_id)
+
+Returns the restitution value for the linear limit of the constraint. This value controls how much energy is conserved (or how "bouncy" the interaction is) when the connected actors reach the linear limits of the slider constraint, which restricts the movement along the sliding axis.
+
+Restitution is a measure of how much energy is retained after a collision or interaction. In this context, when the linear movement reaches the limits, restitution controls how much the actors "bounce" back. A restitution value of 0.0 means no bounce (the collision is perfectly inelastic), and 1.0 allows maximum bounce (the collision is perfectly elastic).
+
+#ref SetSlideRestitutionLimLin
diff --git a/doc/cw/getsliderestitutionorthoang.txt b/doc/cw/getsliderestitutionorthoang.txt
new file mode 100644
index 0000000..f10828c
--- /dev/null
+++ b/doc/cw/getsliderestitutionorthoang.txt
@@ -0,0 +1,10 @@
+#title getSlideRestitutionOrthoAng [RCBasic Doc]
+#header function getSlideRestitutionOrthoAng( constraint_id)
+
+Returns the restitution value for orthogonal angular motion. This value determines how much energy is conserved (or how "bouncy" the interaction is) when rotational movement occurs in a direction orthogonal (perpendicular) to the slider's primary axis of movement.
+
+Orthogonal Angular Motion: In the context of a slider constraint, orthogonal angular motion refers to rotational movement around axes that are perpendicular to the slider's main movement axis.
+
+Restitution: Restitution is a measure of how much energy is retained in a collision or interaction. A restitution value of 0.0 means no bounce (inelastic collision), and 1.0 means maximum bounce (elastic collision). For orthogonal angular motion, this describes how much bounce occurs after the rotational motion hits the constraints or limits in a perpendicular direction to the slider axis.
+
+#ref SetSlideRestitutionOrthoAng
diff --git a/doc/cw/getsliderestitutionortholin.txt b/doc/cw/getsliderestitutionortholin.txt
new file mode 100644
index 0000000..5f04fc6
--- /dev/null
+++ b/doc/cw/getsliderestitutionortholin.txt
@@ -0,0 +1,10 @@
+#title getSlideRestitutionOrthoLin [RCBasic Doc]
+#header function getSlideRestitutionOrthoLin( constraint_id)
+
+Returns the restitution value for orthogonal linear motion. This value determines how much energy is conserved (or how "bouncy" the interaction is) when linear motion occurs in a direction orthogonal (perpendicular) to the primary sliding axis of the constraint.
+
+Orthogonal Linear Motion: In the context of a slider constraint, orthogonal linear motion refers to translational movement along axes that are perpendicular to the main sliding axis of the constraint.
+
+Restitution: Restitution is a measure of how much energy is retained or conserved during a collision or interaction. A restitution value of 0.0 indicates no bounce (perfectly inelastic), while 1.0 indicates maximum bounce (perfectly elastic). For orthogonal linear motion, this value describes how much the actors bounce or retain energy when they hit limits or experience movement perpendicular to the slider’s main axis.
+
+#ref SetSlideRestitutionOrthoLin
diff --git a/doc/cw/getslidesoftnessdirang.txt b/doc/cw/getslidesoftnessdirang.txt
new file mode 100644
index 0000000..13fc4aa
--- /dev/null
+++ b/doc/cw/getslidesoftnessdirang.txt
@@ -0,0 +1,7 @@
+#title getSlideSoftnessDirAng [RCBasic Doc]
+#header function getSlideSoftnessDirAng( constraint_id)
+
+Returns the softness parameter for the angular motion of the constraint. This parameter is used to define how "soft" or "rigid" the limits of angular motion are, particularly when the angular limits are reached.
+
+The softness parameter defines how smoothly the constraint responds to limit violations. A higher softness value allows for more gradual movements when limits are approached, while a lower value creates a more rigid response. Softness is particularly useful in simulations to avoid harsh impacts or stiff movements when limits are reached.
+
diff --git a/doc/cw/getslidesoftnessdirlin.txt b/doc/cw/getslidesoftnessdirlin.txt
new file mode 100644
index 0000000..0e2d685
--- /dev/null
+++ b/doc/cw/getslidesoftnessdirlin.txt
@@ -0,0 +1,6 @@
+#title getSlideSoftnessDirLin [RCBasic Doc]
+#header function getSlideSoftnessDirLin( constraint_id)
+
+Returns the softness parameter for the linear motion of the constraint. This parameter influences how the constraint responds when the linear limits of movement are reached along the sliding axis, determining whether the response is soft and gradual or more rigid.
+
+In the context of constraints, softness defines how "compliant" or "stiff" the constraint behaves when the limits are approached. A higher softness value makes the constraint respond more softly and gradually as the limit is approached, while a lower value makes the response stiffer and more rigid.
diff --git a/doc/cw/getslidesoftnesslimang.txt b/doc/cw/getslidesoftnesslimang.txt
new file mode 100644
index 0000000..0f7f6bc
--- /dev/null
+++ b/doc/cw/getslidesoftnesslimang.txt
@@ -0,0 +1,6 @@
+#title getSlideSoftnessLimAng [RCBasic Doc]
+#header function getSlideSoftnessLimAng( constraint_id)
+
+Returns the softness parameter for the angular limits of the constraint. This parameter affects how "soft" or "rigid" the constraint behaves when the connected actors reach their angular rotational limits around the slider's axis of rotation.
+
+The softness parameter defines how compliant or stiff the constraint behaves when the motion approaches a limit. A higher softness makes the constraint more flexible, allowing for smoother motion near the limit. A lower softness makes the limit response more rigid and immediate.
diff --git a/doc/cw/getslidesoftnesslimlin.txt b/doc/cw/getslidesoftnesslimlin.txt
new file mode 100644
index 0000000..f4c4311
--- /dev/null
+++ b/doc/cw/getslidesoftnesslimlin.txt
@@ -0,0 +1,6 @@
+#title getSlideSoftnessLimLin [RCBasic Doc]
+#header function getSlideSoftnessLimLin( constraint_id)
+
+Returns the softness parameter for the linear limits of the constraint. This parameter influences how "soft" or "rigid" the constraint behaves when the connected actors reach their linear (sliding) limits along the constraint's axis of motion.
+
+The softness parameter defines how compliant or stiff the constraint behaves when limits are approached. A higher softness value allows for a more gradual and flexible response as the limit is reached, while a lower softness value results in a stiffer and more rigid response.
diff --git a/doc/cw/getslidesoftnessorthoang.txt b/doc/cw/getslidesoftnessorthoang.txt
new file mode 100644
index 0000000..5b05e05
--- /dev/null
+++ b/doc/cw/getslidesoftnessorthoang.txt
@@ -0,0 +1,6 @@
+#title getSlideSoftnessOrthoAng [RCBasic Doc]
+#header function getSlideSoftnessOrthoAng( constraint_id)
+
+Returns the softness parameter for the orthogonal angular limits of the constraint. This parameter controls how "soft" or "rigid" the constraint behaves when angular rotation is limited along directions orthogonal (perpendicular) to the primary axis of motion.
+
+The softness parameter defines how compliant (soft) or stiff (rigid) the constraint behaves when the bodies approach their angular or linear limits. A higher softness value makes the limit more flexible, allowing for gradual motion, while a lower value makes the limit more rigid and restrictive.
diff --git a/doc/cw/getslidesoftnessortholin.txt b/doc/cw/getslidesoftnessortholin.txt
new file mode 100644
index 0000000..7f30409
--- /dev/null
+++ b/doc/cw/getslidesoftnessortholin.txt
@@ -0,0 +1,6 @@
+#title getConstraintSoftnessOrthoLin [RCBasic Doc]
+#header function getConstraintSoftnessOrthoLin( constraint_id)
+
+Returns the softness parameter for the orthogonal linear limits of the constraint. This parameter affects how "soft" or "rigid" the constraint behaves when the connected actors approach their linear movement limits in directions that are orthogonal (perpendicular) to the primary sliding axis.
+
+The softness parameter determines how rigid or compliant the constraint is when the actors approach their movement limits. A higher softness value allows for smoother, more flexible movement near the limit, while a lower value results in a more rigid, immediate response.
diff --git a/doc/cw/getslidesolveanglimit.txt b/doc/cw/getslidesolveanglimit.txt
new file mode 100644
index 0000000..6e5a1b9
--- /dev/null
+++ b/doc/cw/getslidesolveanglimit.txt
@@ -0,0 +1,4 @@
+#title getSlideSolveAngLimit [RCBasic Doc]
+#header function getSlideSolveAngLimit( constraint_id)
+
+Checks whether the angular position of the constraint has reached or exceeded its defined angular limits. It returns a value indicating if the constraint is at or beyond its lower or upper angular limit around the slider’s axis of rotation.
diff --git a/doc/cw/getslidesolvelinlimit.txt b/doc/cw/getslidesolvelinlimit.txt
new file mode 100644
index 0000000..0a5d15f
--- /dev/null
+++ b/doc/cw/getslidesolvelinlimit.txt
@@ -0,0 +1,4 @@
+#title getSlideSolveLinLimit [RCBasic Doc]
+#header function getSlideSolveLinLimit( constraint_id)
+
+Checks whether the linear position of the constraint has reached or exceeded its defined linear limits. It returns a value indicating if the constraint is at or beyond its lower or upper linear limit along the sliding axis.
diff --git a/doc/cw/getslideupperanglimit.txt b/doc/cw/getslideupperanglimit.txt
new file mode 100644
index 0000000..7fec7a9
--- /dev/null
+++ b/doc/cw/getslideupperanglimit.txt
@@ -0,0 +1,6 @@
+#title getSlideUpperAngLimit [RCBasic Doc]
+#header function getSlideUpperAngLimit( constraint_id)
+
+Returns the upper limit of the angular movement allowed for the constraint. This function is crucial for determining how much rotational freedom is allowed around the axis of rotation defined by the slider constraint.
+
+The upper angular limit specifies the maximum allowed rotation around the rotational axis for the slider constraint. If the relative rotation between the two actors exceeds this angle, corrective forces are applied to maintain the constraint and prevent further rotation.
diff --git a/doc/cw/getslideupperlinlimit.txt b/doc/cw/getslideupperlinlimit.txt
new file mode 100644
index 0000000..6585f0b
--- /dev/null
+++ b/doc/cw/getslideupperlinlimit.txt
@@ -0,0 +1,6 @@
+#title getSlideUpperLinLimit [RCBasic Doc]
+#header function getSlideUpperLinLimit( constraint_id)
+
+Returns the upper limit for linear movement along the constraint's axis. This is a crucial function for controlling how far the connected actors can slide along that axis before the constraint enforces limits.
+
+The upper linear limit specifies the maximum distance that the connected actors can move away from each other along the slider's axis. If the relative movement exceeds this limit, the constraint will apply corrective forces to stop further movement.
diff --git a/doc/cw/getslideuseframeoffset.txt b/doc/cw/getslideuseframeoffset.txt
new file mode 100644
index 0000000..0f1469a
--- /dev/null
+++ b/doc/cw/getslideuseframeoffset.txt
@@ -0,0 +1,4 @@
+#title getSlideUseFrameOffset [RCBasic Doc]
+#header function getSlideUseFrameOffset( constraint_id)
+
+Returns a boolean value indicating whether the constraint is using frame offsets for its linear and angular limits.
diff --git a/doc/files/abs.txt b/doc/files/abs.txt
index 32edbd7..2e9aecd 100644
--- a/doc/files/abs.txt
+++ b/doc/files/abs.txt
@@ -1,4 +1,4 @@
#title Abs [RCBasic Doc]
#header function Abs(n)
-
+Returns the absolute value of n
diff --git a/doc/files/accelname.txt b/doc/files/accelname.txt
index 1c3d583..9acdb1e 100644
--- a/doc/files/accelname.txt
+++ b/doc/files/accelname.txt
@@ -2,3 +2,5 @@
#header function AccelName$(accel_num)
+Returns the name of an accelerometer
+
diff --git a/doc/files/acos.txt b/doc/files/acos.txt
index 03e6ca2..0553ead 100644
--- a/doc/files/acos.txt
+++ b/doc/files/acos.txt
@@ -1,4 +1,4 @@
#title Acos [RCBasic Doc]
#header function Acos(n)
-
+Returns the Arcosine of n
diff --git a/doc/files/activecanvas.txt b/doc/files/activecanvas.txt
index 5375827..11e416b 100644
--- a/doc/files/activecanvas.txt
+++ b/doc/files/activecanvas.txt
@@ -2,3 +2,21 @@
#header function ActiveCanvas()
+Returns the canvas that drawing commands are currently applied to
+
+#code
+c1 = OpenCanvas(640, 480, 0, 0, 640, 480, 0)
+c2 = OpenCanvas(640, 480, 0, 0, 640, 480, 0)
+
+Canvas(c1)
+
+If ActiveCanvas() = c1 Then
+ Print "Active canvas is c1"
+End If
+
+Canvas(c2)
+
+If ActiveCanvas() = c2 Then
+ Print "Active canvas is now c2"
+End If
+#/code
diff --git a/doc/files/actoranimationislooped.txt b/doc/files/actoranimationislooped.txt
index e860f8d..b583e76 100644
--- a/doc/files/actoranimationislooped.txt
+++ b/doc/files/actoranimationislooped.txt
@@ -1,4 +1,8 @@
#title actorAnimationIsLooped [RCBasic Doc]
#header function actorAnimationIsLooped( actor )
+Returns true if an actors animation is set to looped.
+Note: Actor animation is set to looped with the loopActorAnimation() function.
+
+#ref loopActorAnimation
diff --git a/doc/files/actorexists.txt b/doc/files/actorexists.txt
new file mode 100644
index 0000000..bba61ed
--- /dev/null
+++ b/doc/files/actorexists.txt
@@ -0,0 +1,4 @@
+#title ActorExists [RCBasic Doc]
+#header function ActorExists( actor )
+
+
diff --git a/doc/files/actorisintransition.txt b/doc/files/actorisintransition.txt
index f5865b9..6839ff7 100644
--- a/doc/files/actorisintransition.txt
+++ b/doc/files/actorisintransition.txt
@@ -1,4 +1,6 @@
#title ActorIsInTransition [RCBasic Doc]
#header function ActorIsInTransition( actor )
+Returns true if actor is in a transition from its current frame to the frame set in the StartActorTransition() function
+#ref StartActorTransition StopActorTransition GetActorTransitionTime
diff --git a/doc/files/actorissolid.txt b/doc/files/actorissolid.txt
index cbe5cfd..8233454 100644
--- a/doc/files/actorissolid.txt
+++ b/doc/files/actorissolid.txt
@@ -1,4 +1,15 @@
#title ActorIsSolid [RCBasic Doc]
#header function ActorIsSolid(actor)
+Returns true or false depending on if physics and collision response applies to an actor.
+Note: Collision is still able to be checked on an actor but the actor will be like a ghost able to go through wall and other objects.
+
+#code
+SetActorSolid(actor, true)
+Print "Actor solid state: "; ActorIsSolid(actor) 'This will output 1
+SetActorSolid(actor, false)
+Print "Actor solid state: "; ActorIsSolid(actor) 'This will output 0
+#/end
+
+#ref SetActorSolid
diff --git a/doc/files/actorisvisible.txt b/doc/files/actorisvisible.txt
index ff72669..3b85c29 100644
--- a/doc/files/actorisvisible.txt
+++ b/doc/files/actorisvisible.txt
@@ -1,4 +1,13 @@
#title ActorIsVisible [RCBasic Doc]
#header function ActorIsVisible( actor )
+Returns true if an actor is visible
+#code
+SetActorVisible(actor, true)
+Print "Actor solid state: "; ActorIsVisible(actor) 'Outputs 1
+SetActorSolid(actor, false)
+Print "Actor solid state: "; ActorIsSolid(actor) 'Outputs 0
+#/code
+
+#ref SetActorVisible
diff --git a/doc/files/addactorshadow.txt b/doc/files/addactorshadow.txt
index 7dcf389..4680595 100644
--- a/doc/files/addactorshadow.txt
+++ b/doc/files/addactorshadow.txt
@@ -1,4 +1,9 @@
#title AddActorShadow [RCBasic Doc]
#header sub AddActorShadow( actor )
+Cast a shadow on an actor during lighting calculations
+Note: Also check the section on lights for more info
+
+
+#ref RemoveActorShadow
diff --git a/doc/files/addmatrix.txt b/doc/files/addmatrix.txt
index ffc9b5c..dd6365e 100644
--- a/doc/files/addmatrix.txt
+++ b/doc/files/addmatrix.txt
@@ -1,4 +1,4 @@
#title AddMatrix [RCBasic Doc]
#header function AddMatrix(mA, mB, mC)
-
+Adds matrix mA to matrix mB and stores the results in mC
diff --git a/doc/files/addmeshbuffer.txt b/doc/files/addmeshbuffer.txt
index 4290b96..c9f8296 100644
--- a/doc/files/addmeshbuffer.txt
+++ b/doc/files/addmeshbuffer.txt
@@ -1,4 +1,6 @@
#title AddMeshBuffer [RCBasic Doc]
#header sub AddMeshBuffer( mesh, vertex_count, ByRef vertex_data, ByRef normal_data, ByRef uv_data, index_count, ByRef index_data )
+Sets the vertices, normals, and texture coordinates for a mesh
+#ref CreateMesh
diff --git a/doc/files/addsceneskybox.txt b/doc/files/addsceneskybox.txt
index ca69f8a..dcb6afd 100644
--- a/doc/files/addsceneskybox.txt
+++ b/doc/files/addsceneskybox.txt
@@ -1,4 +1,6 @@
#title AddSceneSkyBox [RCBasic Doc]
#header sub AddSceneSkyBox( img_top, img_bottom, img_left, img_right, img_front, img_back)
+Generates a skybox based on the provided images.
+#ref AddSceneSkyDome AddSceneSkyDomeEx
diff --git a/doc/files/addsceneskydome.txt b/doc/files/addsceneskydome.txt
index f61ad56..7f29b40 100644
--- a/doc/files/addsceneskydome.txt
+++ b/doc/files/addsceneskydome.txt
@@ -1,4 +1,6 @@
#title AddSceneSkyDome [RCBasic Doc]
#header sub AddSceneSkyDome( img )
+Adds a sky dome to the scene
+#ref AddSceneSkyDomeEx
diff --git a/doc/files/addsceneskydomeex.txt b/doc/files/addsceneskydomeex.txt
index 11a4e77..170e06c 100644
--- a/doc/files/addsceneskydomeex.txt
+++ b/doc/files/addsceneskydomeex.txt
@@ -1,4 +1,15 @@
#title AddSceneSkyDomeEx [RCBasic Doc]
#header sub AddSceneSkyDomeEx( img, horiRes, vertRes, txPercentage, spherePercentage, radius)
+Adds a sky dome to the scene
+#list
+#li img - The texture for the sky dome
+#li horiRes - Number of vertices of a horizontal layer of the sphere.
+#li vertRes - Number of vertices of a vertical layer of the sphere.
+#li txPercentage - How much of the height of the texture is used. Should be between 0 and 1.
+#li spherePercentage - How much of the sphere is drawn. Value should be between 0 and 2, where 1 is an exact half-sphere and 2 is a full sphere.
+#li radius - The Radius of the sphere
+#/list
+
+#ref AddSceneSkyBox AddSceneSkyDome
diff --git a/doc/files/adjointmatrix.txt b/doc/files/adjointmatrix.txt
index 98fd0e0..1291a51 100644
--- a/doc/files/adjointmatrix.txt
+++ b/doc/files/adjointmatrix.txt
@@ -1,4 +1,4 @@
#title AdjointMatrix [RCBasic Doc]
#header function AdjointMatrix(mA, mB)
-
+Stores the adjoint matrix of mA in mB
diff --git a/doc/files/andbit.txt b/doc/files/andbit.txt
index ee6487f..bd9085d 100644
--- a/doc/files/andbit.txt
+++ b/doc/files/andbit.txt
@@ -1,4 +1,4 @@
#title AndBit [RCBasic Doc]
#header function AndBit(a,b)
-
+Returns the bitwise AND operation of 2 numbers
diff --git a/doc/files/android_getexternalstoragepath.txt b/doc/files/android_getexternalstoragepath.txt
index bd7281b..7ea51de 100644
--- a/doc/files/android_getexternalstoragepath.txt
+++ b/doc/files/android_getexternalstoragepath.txt
@@ -1,4 +1,6 @@
#title Android_GetExternalStoragePath$ [RCBasic Doc]
#header function Android_GetExternalStoragePath$()
+Returns the designated external storage path
+#ref Android_GetExternalStorageState Android_GetInternalStoragePath$
diff --git a/doc/files/android_getexternalstoragestate.txt b/doc/files/android_getexternalstoragestate.txt
index e5b59ab..2b31fa4 100644
--- a/doc/files/android_getexternalstoragestate.txt
+++ b/doc/files/android_getexternalstoragestate.txt
@@ -1,4 +1,16 @@
#title Android_GetExternalStorageState [RCBasic Doc]
#header function Android_GetExternalStorageState()
+Returns a bitmask of these values:
+#list
+#li ANDROID_EXTERNAL_STORAGE_READ
+#li ANDROID_EXTERNAL_STORAGE_WRITE
+#/list
+#code
+If AndBit( Android_GetExternalStorageState(), ANDROID_EXTERNAL_STORAGE_READ ) Then
+ Print "Can read from external storage"
+End If
+#/code
+
+#ref Android_GetExternalStoragePath$ Android_GetInternalStoragePath$
diff --git a/doc/files/android_getinternalstoragepath.txt b/doc/files/android_getinternalstoragepath.txt
index 3d8f3ae..abeb531 100644
--- a/doc/files/android_getinternalstoragepath.txt
+++ b/doc/files/android_getinternalstoragepath.txt
@@ -1,4 +1,6 @@
#title Android_GetInternalStoragePath$ [RCBasic Doc]
#header function Android_GetInternalStoragePath$()
+Returns the internal storage path
+#ref Android_GetExternalStorageState Android_GetExternalStoragePath$
diff --git a/doc/files/android_jni_message.txt b/doc/files/android_jni_message.txt
index 50c2082..f44ab82 100644
--- a/doc/files/android_jni_message.txt
+++ b/doc/files/android_jni_message.txt
@@ -1,4 +1,6 @@
#title Android_JNI_Message$ [RCBasic Doc]
#header function Android_JNI_Message$(arg$)
+Passes arg$ to the rcbasic_android_interface() method in the java code for your android app. The java method returns a string.
+#ref Runtime_Utility_Message$
diff --git a/doc/files/applyactorcentralforcelocal.txt b/doc/files/applyactorcentralforcelocal.txt
index a1dce3a..94abf73 100644
--- a/doc/files/applyactorcentralforcelocal.txt
+++ b/doc/files/applyactorcentralforcelocal.txt
@@ -1,4 +1,10 @@
-#title applyActorCentralForceLocal [RCBasic Doc]
-#header sub applyActorCentralForceLocal( actor, x, y, z)
+#title ApplyActorCentralForceLocal [RCBasic Doc]
+#header sub ApplyActorCentralForceLocal( actor, x, y, z)
+Applies a force to the center of mass of an actor in local coordinate space. This force impacts the linear velocity of the object without affecting its rotation.
+#list
+#li x,y,z - direction of the force
+#/list
+
+#ref ApplyActorCentralForceWorld ApplyActorCentralImpulseLocal ApplyActorCentralImpulseWorld
diff --git a/doc/files/applyactorcentralforceworld.txt b/doc/files/applyactorcentralforceworld.txt
index 23d3287..30d917a 100644
--- a/doc/files/applyactorcentralforceworld.txt
+++ b/doc/files/applyactorcentralforceworld.txt
@@ -1,4 +1,10 @@
-#title applyActorCentralForceWorld [RCBasic Doc]
-#header sub applyActorCentralForceWorld( actor, x, y, z)
+#title ApplyActorCentralForceWorld [RCBasic Doc]
+#header sub ApplyActorCentralForceWorld( actor, x, y, z)
+Applies a force to the center of mass of an actor in world coordinate space. This force impacts the linear velocity of the object without affecting its rotation.
+#list
+#li x,y,z - direction of the force
+#/list
+
+#ref ApplyActorCentralForceLocal ApplyActorCentralImpulseLocal ApplyActorCentralImpulseWorld
diff --git a/doc/files/applyactorcentralimpulselocal.txt b/doc/files/applyactorcentralimpulselocal.txt
index f07e2b8..8c992f1 100644
--- a/doc/files/applyactorcentralimpulselocal.txt
+++ b/doc/files/applyactorcentralimpulselocal.txt
@@ -1,4 +1,10 @@
-#title applyActorCentralImpulseLocal [RCBasic Doc]
-#header sub applyActorCentralImpulseLocal( actor, x, y, z)
+#title ApplyActorCentralImpulseLocal [RCBasic Doc]
+#header sub ApplyActorCentralImpulseLocal( actor, x, y, z)
+Applies an impulse directly to the center of mass of an actor. An impulse differs from a continuous force in that it applies an immediate, short-duration change to the velocity of the actor. It affects the linear velocity but does not generate rotational effects (since it's applied to the center of mass).
+#list
+#li x,y,z - direction of the impulse
+#/list
+
+#ref ApplyActorCentralForceLocal ApplyActorCentralForceWorld ApplyActorCentralImpulseWorld
diff --git a/doc/files/applyactorcentralimpulseworld.txt b/doc/files/applyactorcentralimpulseworld.txt
index 11672f9..388714d 100644
--- a/doc/files/applyactorcentralimpulseworld.txt
+++ b/doc/files/applyactorcentralimpulseworld.txt
@@ -1,4 +1,11 @@
-#title applyActorCentralImpulseWorld [RCBasic Doc]
-#header sub applyActorCentralImpulseWorld( actor, x, y, z)
+#title ApplyActorCentralImpulseWorld [RCBasic Doc]
+#header sub ApplyActorCentralImpulseWorld( actor, x, y, z)
+Applies an impulse directly to the center of mass of an actor. An impulse differs from a continuous force in that it applies an immediate, short-duration change to the velocity of the actor. It affects the linear velocity but does not generate rotational effects (since it's applied to the center of mass).
+
+#list
+#li x,y,z - direction of the impulse
+#/list
+
+#ref ApplyActorCentralForceLocal ApplyActorCentralForceWorld ApplyActorCentralImpulseLocal
diff --git a/doc/files/applyactordamping.txt b/doc/files/applyactordamping.txt
index b865faa..525881c 100644
--- a/doc/files/applyactordamping.txt
+++ b/doc/files/applyactordamping.txt
@@ -1,4 +1,22 @@
-#title applyActorDamping [RCBasic Doc]
-#header sub applyActorDamping( actor, timeStep)
+#title ApplyActorDamping [RCBasic Doc]
+#header sub ApplyActorDamping( actor, timeStep)
+Reduces the velocity of an actor over time, simulating the effect of friction or air resistance.
+This function applies the linear and angular damping values set with the SetActorDamping() function.
+
+#code
+init_damping = False
+SetActorDamping(actor, 0.1, 0.5)
+ApplyActorCentralImpulse(actor, 300, 0, 0)
+
+While True
+ If Not init_damping Then
+ ApplyActorDamping(actor, 5.0) 'Will apply the damping effect for 5 seconds
+ init_damping = True
+ End If
+ Update()
+Wend
+#/code
+
+#ref setActorDamping getActorLinearDamping getActorAngularDamping
diff --git a/doc/files/applyactorforcelocal.txt b/doc/files/applyactorforcelocal.txt
index d4cab50..a7e104f 100644
--- a/doc/files/applyactorforcelocal.txt
+++ b/doc/files/applyactorforcelocal.txt
@@ -1,4 +1,11 @@
-#title applyActorForceLocal [RCBasic Doc]
-#header sub applyActorForceLocal( actor, x, y, z, rel_x, rel_y, rel_z)
+#title ApplyActorForceLocal [RCBasic Doc]
+#header sub ApplyActorForceLocal( actor, x, y, z, rel_x, rel_y, rel_z)
+Applies a force to an actor at a specific point. Unlike ApplyActorCentralForce(local/world), which applies force only at the center of mass (affecting linear velocity), this can generate both linear motion and rotation (torque), depending on where the force is applied relative to the center of mass.
+#list
+#li x,y,z - direction of the force
+#li rel_x, rel_y, rel_z - position to apply the force to relative to the center of mass
+#/list
+
+#ref ApplyActorForceWorld ApplyActorCentralForceLocal ApplyActorCentralForceWorld
diff --git a/doc/files/applyactorforceworld.txt b/doc/files/applyactorforceworld.txt
index 8832691..65462be 100644
--- a/doc/files/applyactorforceworld.txt
+++ b/doc/files/applyactorforceworld.txt
@@ -1,4 +1,11 @@
-#title applyActorForceWorld [RCBasic Doc]
-#header sub applyActorForceWorld( actor, x, y, z, rel_x, rel_y, rel_z)
+#title ApplyActorForceWorld [RCBasic Doc]
+#header sub ApplyActorForceWorld( actor, x, y, z, rel_x, rel_y, rel_z)
+Applies a force to an actor at a specific point. Unlike ApplyActorCentralForce(local/world), which applies force only at the center of mass (affecting linear velocity), this can generate both linear motion and rotation (torque), depending on where the force is applied relative to the center of mass.
+#list
+#li x,y,z - direction of the force
+#li rel_x, rel_y, rel_z - position to apply the force to relative to the center of mass
+#/list
+
+#ref ApplyActorForceLocal ApplyActorCentralForceLocal ApplyActorCentralForceWorld
diff --git a/doc/files/applyactorimpulselocal.txt b/doc/files/applyactorimpulselocal.txt
index c06d7d9..03e8898 100644
--- a/doc/files/applyactorimpulselocal.txt
+++ b/doc/files/applyactorimpulselocal.txt
@@ -1,4 +1,12 @@
-#title applyActorImpulseLocal [RCBasic Doc]
-#header sub applyActorImpulseLocal( actor, x, y, z, rel_x, rel_y, rel_z)
+#title ApplyActorImpulseLocal [RCBasic Doc]
+#header sub ApplyActorImpulseLocal( actor, x, y, z, rel_x, rel_y, rel_z)
+Applies an impulse to an actor at a specific point. Unlike ApplyActorCentralImpulse(local/world), which applies impulse only at the center of mass (affecting linear velocity), this can generate both linear motion and rotation (torque), depending on where the force is applied relative to the center of mass.
+
+#list
+#li x,y,z - direction of the impulse
+#li rel_x, rel_y, rel_z - position to apply the force to relative to the center of mass
+#/list
+
+#ref ApplyActorImpulseWorld ApplyActorForceLocal ApplyActorForceWorld
diff --git a/doc/files/applyactorimpulseworld.txt b/doc/files/applyactorimpulseworld.txt
index 208d365..8ab74b3 100644
--- a/doc/files/applyactorimpulseworld.txt
+++ b/doc/files/applyactorimpulseworld.txt
@@ -1,4 +1,11 @@
#title applyActorImpulseWorld [RCBasic Doc]
#header sub applyActorImpulseWorld( actor, x, y, z, rel_x, rel_y, rel_z)
+Applies an impulse to an actor at a specific point. Unlike ApplyActorCentralImpulse(local/world), which applies impulse only at the center of mass (affecting linear velocity), this can generate both linear motion and rotation (torque), depending on where the force is applied relative to the center of mass.
+#list
+#li x,y,z - direction of the impulse
+#li rel_x, rel_y, rel_z - position to apply the force to relative to the center of mass
+#/list
+
+#ref ApplyActorImpulseLocal ApplyActorForceLocal ApplyActorForceWorld
diff --git a/doc/files/applyactortorqueimpulselocal.txt b/doc/files/applyactortorqueimpulselocal.txt
index 3743c32..819c097 100644
--- a/doc/files/applyactortorqueimpulselocal.txt
+++ b/doc/files/applyactortorqueimpulselocal.txt
@@ -1,4 +1,10 @@
#title applyActorTorqueImpulseLocal [RCBasic Doc]
#header sub applyActorTorqueImpulseLocal( actor, x, y, z)
+Applies an impulse that directly affects the angular velocity of an actor, causing it to rotate. This is similar to applying an impulse, but instead of changing the linear velocity (which applyActorCentralImpulse does), it alters the body's rotational motion (angular velocity) instantaneously.
+#list ul
+#li x, y, z - Direction of rotation
+#/list
+
+#ref ApplyActorTorque ApplyActorTorqueImpulseWorld
diff --git a/doc/files/applyactortorqueimpulseworld.txt b/doc/files/applyactortorqueimpulseworld.txt
index 94cd719..d6d4ede 100644
--- a/doc/files/applyactortorqueimpulseworld.txt
+++ b/doc/files/applyactortorqueimpulseworld.txt
@@ -1,4 +1,10 @@
#title applyActorTorqueImpulseWorld [RCBasic Doc]
#header sub applyActorTorqueImpulseWorld( actor, x, y, z)
+Applies an impulse that directly affects the angular velocity of an actor, causing it to rotate. This is similar to applying an impulse, but instead of changing the linear velocity (which applyActorCentralImpulse does), it alters the body's rotational motion (angular velocity) instantaneously.
+#list ul
+#li x, y, z - Direction of rotation
+#/list
+
+#ref ApplyActorTorque ApplyActorTorqueImpulseLocal
diff --git a/doc/files/applyactortorquelocal.txt b/doc/files/applyactortorquelocal.txt
index d8ccb15..c931a18 100644
--- a/doc/files/applyactortorquelocal.txt
+++ b/doc/files/applyactortorquelocal.txt
@@ -1,4 +1,10 @@
#title applyActorTorqueLocal [RCBasic Doc]
#header sub applyActorTorqueLocal( actor, x, y, z)
+Applies a continuous torque to an actor, causing it to accelerate its rotational motion over time. Unlike applyActorTorqueImpulse, which causes an immediate change in angular velocity, this applies a torque force gradually, leading to a continuous rotational effect, similar to applying a force to linear motion.
+#list
+#li x, y, z - direction of rotation
+#/list
+
+#ref ApplyActorTorqueWorld ApplyActorTorqueImpulseLocal ApplyActorTorqueImpulseWorld
diff --git a/doc/files/applyactortorqueworld.txt b/doc/files/applyactortorqueworld.txt
index f7a1325..5dd6b8c 100644
--- a/doc/files/applyactortorqueworld.txt
+++ b/doc/files/applyactortorqueworld.txt
@@ -1,4 +1,11 @@
#title applyActorTorqueWorld [RCBasic Doc]
#header sub applyActorTorqueWorld( actor, x, y, z)
+Applies a continuous torque to an actor, causing it to accelerate its rotational motion over time. Unlike applyActorTorqueImpulse, which causes an immediate change in angular velocity, this applies a torque force gradually, leading to a continuous rotational effect, similar to applying a force to linear motion.
+
+#list
+#li x, y, z - direction of rotation
+#/list
+
+#ref ApplyActorTorqueLocal ApplyActorTorqueImpulseLocal ApplyActorTorqueImpulseWorld
diff --git a/doc/files/arraycopy.txt b/doc/files/arraycopy.txt
index fb12f51..9e28c4a 100644
--- a/doc/files/arraycopy.txt
+++ b/doc/files/arraycopy.txt
@@ -1,4 +1,8 @@
#title ArrayCopy [RCBasic Doc]
#header sub ArrayCopy(ByRef src, ByRef dst)
+Copies the contents of src array to dst array
+Note: This function is a special case in that it can take any type for src or dst
+
+#ref ArrayDim ArraySize ArrayFill
diff --git a/doc/files/arraydim.txt b/doc/files/arraydim.txt
index 48f6625..4cba66b 100644
--- a/doc/files/arraydim.txt
+++ b/doc/files/arraydim.txt
@@ -1,4 +1,6 @@
#title ArrayDim [RCBasic Doc]
#header function ArrayDim(Byref id)
+Returns the number of dimensions in an array
+#ref ArrayCopy ArrayFill ArraySize
diff --git a/doc/files/arrayfill.txt b/doc/files/arrayfill.txt
index d5fe622..254fd76 100644
--- a/doc/files/arrayfill.txt
+++ b/doc/files/arrayfill.txt
@@ -1,4 +1,6 @@
#title ArrayFill [RCBasic Doc]
#header sub ArrayFill(ByRef src, fdata)
+Fills all the elements in an array with the value in fdata
+#ref ArrayCopy ArrayDim ArraySize
diff --git a/doc/files/arraysize.txt b/doc/files/arraysize.txt
index 0655266..d4ca82d 100644
--- a/doc/files/arraysize.txt
+++ b/doc/files/arraysize.txt
@@ -1,4 +1,6 @@
#title ArraySize [RCBasic Doc]
#header function ArraySize(Byref id, array_dim)
+Returns the number of elements in the given dimension of an array
+#ref ArrayDim ArrayCopy ArrayFill
diff --git a/doc/files/asc.txt b/doc/files/asc.txt
index feaa868..84a418d 100644
--- a/doc/files/asc.txt
+++ b/doc/files/asc.txt
@@ -1,4 +1,4 @@
#title Asc [RCBasic Doc]
#header function Asc(c$)
-
+Returns the ASCII value of a character.
diff --git a/doc/files/asin.txt b/doc/files/asin.txt
index beb64e3..fb1fe18 100644
--- a/doc/files/asin.txt
+++ b/doc/files/asin.txt
@@ -1,4 +1,4 @@
#title Asin [RCBasic Doc]
#header function Asin(n)
-
+Returns the ArcSine of a number.
diff --git a/doc/files/atan.txt b/doc/files/atan.txt
index edd314a..d1761ed 100644
--- a/doc/files/atan.txt
+++ b/doc/files/atan.txt
@@ -1,4 +1,4 @@
#title Atan [RCBasic Doc]
#header function Atan(n)
-
+Returns the ArcTangent of a number.
diff --git a/doc/files/atan2.txt b/doc/files/atan2.txt
index 431dc5a..fd37713 100644
--- a/doc/files/atan2.txt
+++ b/doc/files/atan2.txt
@@ -1,4 +1,4 @@
#title ATan2 [RCBasic Doc]
#header Function ATan2(y, x)
-
+Returns the ArcTangent of x and y
diff --git a/doc/files/augmentmatrix.txt b/doc/files/augmentmatrix.txt
index 44de6c9..2a0e4c5 100644
--- a/doc/files/augmentmatrix.txt
+++ b/doc/files/augmentmatrix.txt
@@ -1,4 +1,6 @@
#title AugmentMatrix [RCBasic Doc]
#header function AugmentMatrix(mA, mB, mC)
+Appends the columns of matrix mB onto matrix mA and stores the result in mC.
+NOTE: Must mA and mB must be the same number of rows.
diff --git a/doc/files/bin.txt b/doc/files/bin.txt
index f61de98..7b40444 100644
--- a/doc/files/bin.txt
+++ b/doc/files/bin.txt
@@ -1,4 +1,4 @@
#title Bin$ [RCBasic Doc]
#header function Bin$(n)
-
+Returns the binary representation of a number.
diff --git a/doc/files/bufferfromimage.txt b/doc/files/bufferfromimage.txt
new file mode 100644
index 0000000..02a4cd2
--- /dev/null
+++ b/doc/files/bufferfromimage.txt
@@ -0,0 +1,4 @@
+#title BufferFromImage [RCBasic Doc]
+#header sub BufferFromImage(slot, byref buffer)
+
+
diff --git a/doc/files/bufferfrommatrix.txt b/doc/files/bufferfrommatrix.txt
index 21d0bc7..fbadd93 100644
--- a/doc/files/bufferfrommatrix.txt
+++ b/doc/files/bufferfrommatrix.txt
@@ -1,4 +1,8 @@
#title BufferFromMatrix [RCBasic Doc]
#header sub BufferFromMatrix(ByRef buffer, mA)
+Saves the matrix mA in an array
+NOTE: buffer must have the same number of dimensions as the desired matrix for the structure to remain intact.
+
+#ref MatrixFromBuffer
diff --git a/doc/files/bufferfromstring.txt b/doc/files/bufferfromstring.txt
index 7123030..f249035 100644
--- a/doc/files/bufferfromstring.txt
+++ b/doc/files/bufferfromstring.txt
@@ -1,4 +1,6 @@
#title BufferFromString [RCBasic Doc]
#header function BufferFromString(s$, ByRef buffer)
+Stores the byte value of a string into a number buffer
+#ref StringFromBuffer$
diff --git a/doc/files/canvas.txt b/doc/files/canvas.txt
index ae85296..49cd21d 100644
--- a/doc/files/canvas.txt
+++ b/doc/files/canvas.txt
@@ -1,4 +1,6 @@
#title Canvas [RCBasic Doc]
#header sub Canvas(c_num)
+Sets the active canvas for drawing commands to use
+#ref ActiveCanvas
diff --git a/doc/files/canvasclip.txt b/doc/files/canvasclip.txt
index 93157e3..7391245 100644
--- a/doc/files/canvasclip.txt
+++ b/doc/files/canvasclip.txt
@@ -1,4 +1,6 @@
#title CanvasClip [RCBasic Doc]
-#header sub CanvasClip(slot, x, y, w, h, flag)
+#header function CanvasClip(x, y, w, h)
+Returns an image id with a selected portion of the active drawing canvas saved
+#ref WindowClip
diff --git a/doc/files/canvasisvisible.txt b/doc/files/canvasisvisible.txt
index b934d7d..8e4c4e4 100644
--- a/doc/files/canvasisvisible.txt
+++ b/doc/files/canvasisvisible.txt
@@ -1,4 +1,6 @@
#title CanvasIsVisible [RCBasic Doc]
#header function CanvasIsVisible(c_num)
+Returns true if a canvas is shown in the Window
+#ref SetCanvasVisible
diff --git a/doc/files/changedir.txt b/doc/files/changedir.txt
index 57cb16b..4b894a5 100644
--- a/doc/files/changedir.txt
+++ b/doc/files/changedir.txt
@@ -1,4 +1,4 @@
#title ChangeDir [RCBasic Doc]
#header sub ChangeDir(p$)
-
+Sets the working directory that the directory commands use
diff --git a/doc/files/channelispaused.txt b/doc/files/channelispaused.txt
index 5df80ad..39ea742 100644
--- a/doc/files/channelispaused.txt
+++ b/doc/files/channelispaused.txt
@@ -1,4 +1,6 @@
#title ChannelIsPaused [RCBasic Doc]
#header function ChannelIsPaused(channel)
+Returns true if an audio channel is currently paused
+#ref PauseSound
diff --git a/doc/files/channelisplaying.txt b/doc/files/channelisplaying.txt
index 97e5412..73fdfc7 100644
--- a/doc/files/channelisplaying.txt
+++ b/doc/files/channelisplaying.txt
@@ -1,4 +1,6 @@
#title ChannelIsPlaying [RCBasic Doc]
#header function ChannelIsPlaying(channel)
+Returns true if an audio channel is playing
+#ref ChannelIsPaused PlaySound PlaySoundTimed
diff --git a/doc/files/checksockets.txt b/doc/files/checksockets.txt
index ad37354..efdfd03 100644
--- a/doc/files/checksockets.txt
+++ b/doc/files/checksockets.txt
@@ -1,4 +1,7 @@
#title CheckSockets [RCBasic Doc]
#header function CheckSockets(timeout_ms)
+Checks all connected sockets for activity. If timeout_ms is greater than 0 than it will wait that many milliseconds. If less than 0
+it will wait for over 49 days (hint: there is no reason what so ever to set this less than 0).
+Returns the number of sockets that have activity (ie. a connection was made or data was sent)
diff --git a/doc/files/chr.txt b/doc/files/chr.txt
index 516c510..81ec84c 100644
--- a/doc/files/chr.txt
+++ b/doc/files/chr.txt
@@ -1,4 +1,4 @@
#title Chr$ [RCBasic Doc]
#header function Chr$(n)
-
+Returns the character with the matching ASCII value n.
diff --git a/doc/files/cint32.txt b/doc/files/cint32.txt
index 6138638..f70a19b 100644
--- a/doc/files/cint32.txt
+++ b/doc/files/cint32.txt
@@ -1,4 +1,4 @@
#title CInt32 [RCBasic Doc]
#header function CInt32(i)
-
+Returns a 32-bit signed integer.
diff --git a/doc/files/cint64.txt b/doc/files/cint64.txt
index 823e12b..63e5915 100644
--- a/doc/files/cint64.txt
+++ b/doc/files/cint64.txt
@@ -1,4 +1,4 @@
#title CInt64 [RCBasic Doc]
#header function CInt64(i)
-
+Returns a 64-bit signed integer.
diff --git a/doc/files/circle.txt b/doc/files/circle.txt
index 8a0f755..65abcfe 100644
--- a/doc/files/circle.txt
+++ b/doc/files/circle.txt
@@ -1,4 +1,4 @@
#title Circle [RCBasic Doc]
#header sub Circle(x,y,radius)
-
+Draws a circle on the current canvas.
diff --git a/doc/files/circlefill.txt b/doc/files/circlefill.txt
index d429351..88e6ff3 100644
--- a/doc/files/circlefill.txt
+++ b/doc/files/circlefill.txt
@@ -1,4 +1,4 @@
#title CircleFill [RCBasic Doc]
#header sub CircleFill(x,y,radius)
-
+Draws a filled circle on the current canvas.
diff --git a/doc/files/clearactorforces.txt b/doc/files/clearactorforces.txt
index 9ec7cb5..cbfeb71 100644
--- a/doc/files/clearactorforces.txt
+++ b/doc/files/clearactorforces.txt
@@ -1,4 +1,11 @@
#title clearActorForces [RCBasic Doc]
#header sub clearActorForces( actor)
+Resets or clears all the forces and torques that have been applied to a rigid body in the current simulation step. This ensures that any forces, including linear forces and torques, do not accumulate from one simulation step to the next.
+Notes:
+#list
+#li Resets Forces: It removes all linear forces (like those applied by applyActorForce or applyActorCentralForce) and torques (like those applied by applyActorTorque).
+#li Does Not Affect Velocity: It clears only the applied forces and torques, but the current velocity (linear and angular) of the actor remains unchanged.
+#li Typically Used in Each Simulation Step: Used to reset forces after each step, so that only new forces applied in the next step will affect the body.
+#/list
diff --git a/doc/files/clearcanvas.txt b/doc/files/clearcanvas.txt
index 0f2b01c..e952865 100644
--- a/doc/files/clearcanvas.txt
+++ b/doc/files/clearcanvas.txt
@@ -1,4 +1,4 @@
#title ClearCanvas [RCBasic Doc]
#header sub ClearCanvas()
-
+Clears the active drawing canvas
diff --git a/doc/files/clearmatrix.txt b/doc/files/clearmatrix.txt
index d1b0af5..53b23d6 100644
--- a/doc/files/clearmatrix.txt
+++ b/doc/files/clearmatrix.txt
@@ -1,4 +1,4 @@
#title ClearMatrix [RCBasic Doc]
#header sub ClearMatrix(mA)
-
+Sets all elements in a matrix to zero
diff --git a/doc/files/clearmatrixcolumns.txt b/doc/files/clearmatrixcolumns.txt
index afd413c..4cae668 100644
--- a/doc/files/clearmatrixcolumns.txt
+++ b/doc/files/clearmatrixcolumns.txt
@@ -1,4 +1,6 @@
#title ClearMatrixColumns [RCBasic Doc]
#header function ClearMatrixColumns(mA, c, num_cols)
+Sets all elements in the matrix columns specified to zero.
+#ref ClearMatrix ClearMatrixRows
diff --git a/doc/files/clearmatrixrows.txt b/doc/files/clearmatrixrows.txt
index 879cace..cc1d416 100644
--- a/doc/files/clearmatrixrows.txt
+++ b/doc/files/clearmatrixrows.txt
@@ -1,4 +1,6 @@
#title ClearMatrixRows [RCBasic Doc]
#header function ClearMatrixRows(mA, r, num_rows)
+Sets all elements in the matrix rows specified to zero.
+#ref ClearMatrix ClearMatrixColumns
diff --git a/doc/files/clearmousezone.txt b/doc/files/clearmousezone.txt
index 96bff0e..953683a 100644
--- a/doc/files/clearmousezone.txt
+++ b/doc/files/clearmousezone.txt
@@ -1,4 +1,4 @@
#title ClearMouseZone [RCBasic Doc]
#header sub ClearMouseZone()
-
+Removes the previously set mouse zone from the window
diff --git a/doc/files/clearstack_n.txt b/doc/files/clearstack_n.txt
index e409102..60dc4dc 100644
--- a/doc/files/clearstack_n.txt
+++ b/doc/files/clearstack_n.txt
@@ -1,4 +1,6 @@
#title ClearStack_N [RCBasic Doc]
#header sub ClearStack_N( num_stack )
+Removes all elements from the stack
+#ref ClearStack_S
diff --git a/doc/files/clearstack_s.txt b/doc/files/clearstack_s.txt
index 456371e..020ce91 100644
--- a/doc/files/clearstack_s.txt
+++ b/doc/files/clearstack_s.txt
@@ -1,4 +1,6 @@
#title ClearStack_S [RCBasic Doc]
#header sub ClearStack_S( str_stack )
+Removes all elements from the stack
+#ref ClearStack_N
diff --git a/doc/files/clipmatrix.txt b/doc/files/clipmatrix.txt
index edac91b..001e5c2 100644
--- a/doc/files/clipmatrix.txt
+++ b/doc/files/clipmatrix.txt
@@ -1,4 +1,4 @@
#title ClipMatrix [RCBasic Doc]
#header sub ClipMatrix(mA, r, c, num_rows, num_cols, mB)
-
+Copies the specified portion of matrix mA into matrix mB
diff --git a/doc/files/clonecanvas.txt b/doc/files/clonecanvas.txt
index 337797b..8910bca 100644
--- a/doc/files/clonecanvas.txt
+++ b/doc/files/clonecanvas.txt
@@ -1,4 +1,9 @@
#title CloneCanvas [RCBasic Doc]
-#header sub CloneCanvas(src, dst)
+#header function CloneCanvas(c_num, mode)
+
+Returns a clone of a canvas. Clone canvases are mirrors of the original canvas so when you draw to one it will also be on the other. This is useful for a splitscreen 2d game.
+
+Mode is a canvas render mode like the one passed to OpenCanvas()
+#ref OpenCanvas
diff --git a/doc/files/closecanvas.txt b/doc/files/closecanvas.txt
index e19b2cb..c78af01 100644
--- a/doc/files/closecanvas.txt
+++ b/doc/files/closecanvas.txt
@@ -1,4 +1,6 @@
#title CloseCanvas [RCBasic Doc]
-#header sub CanvasClose(c_num)
+#header Sub CloseCanvas(c_num)
+Closes a canvas
+#ref OpenCanvas
diff --git a/doc/files/closefile.txt b/doc/files/closefile.txt
index e6618f5..21efc01 100644
--- a/doc/files/closefile.txt
+++ b/doc/files/closefile.txt
@@ -1,4 +1,6 @@
#title CloseFile [RCBasic Doc]
-#header sub FileClose(stream)
+#header sub CloseFile( stream )
+Closes a file
+#ref OpenFile
diff --git a/doc/files/closewindow.txt b/doc/files/closewindow.txt
index b1c1132..05c9656 100644
--- a/doc/files/closewindow.txt
+++ b/doc/files/closewindow.txt
@@ -1,4 +1,6 @@
#title CloseWindow [RCBasic Doc]
-#header sub WindowClose(win)
+#header sub CloseWindow( )
+Closes the graphics window
+#ref OpenWindow
diff --git a/doc/files/cls.txt b/doc/files/cls.txt
index 4bed83b..eaedc84 100644
--- a/doc/files/cls.txt
+++ b/doc/files/cls.txt
@@ -1,4 +1,4 @@
#title Cls [RCBasic Doc]
#header sub Cls()
-
+Clears the back buffer on the window
diff --git a/doc/files/cofactormatrix.txt b/doc/files/cofactormatrix.txt
index d166131..19a1431 100644
--- a/doc/files/cofactormatrix.txt
+++ b/doc/files/cofactormatrix.txt
@@ -1,4 +1,6 @@
#title CofactorMatrix [RCBasic Doc]
-#header sub SubMatrix(mA, r, c)
+#header sub CofactorMatrix(mA, r, c)
+Sets matrix mA to a cofactor. This will change the original matrix so it is recommended to copy the matrix if you still need the original matrix.
+#ref CopyMatrix
diff --git a/doc/files/colorkey.txt b/doc/files/colorkey.txt
index cbd8ee3..1d00863 100644
--- a/doc/files/colorkey.txt
+++ b/doc/files/colorkey.txt
@@ -1,4 +1,4 @@
#title ColorKey [RCBasic Doc]
-#header sub ColorKey(slot, c)
-
+#header sub ColorKey(img_id, c)
+Sets the color key for an image
diff --git a/doc/files/command.txt b/doc/files/command.txt
index c297bee..9b71e89 100644
--- a/doc/files/command.txt
+++ b/doc/files/command.txt
@@ -1,4 +1,8 @@
#title Command$ [RCBasic Doc]
#header function Command$(arg)
+Returns command line arguments passed to a program.
+Note: Command$(0) will always be the program being executed ( your_program.cbc )
+
+#ref NumCommands
diff --git a/doc/files/computeactorangularimpulsedenominator.txt b/doc/files/computeactorangularimpulsedenominator.txt
index cdd9186..1a66853 100644
--- a/doc/files/computeactorangularimpulsedenominator.txt
+++ b/doc/files/computeactorangularimpulsedenominator.txt
@@ -1,4 +1,6 @@
-#title computeActorAngularImpulseDenominator [RCBasic Doc]
-#header function computeActorAngularImpulseDenominator( actor, x, y, z)
+#title ComputeActorAngularImpulseDenominator [RCBasic Doc]
+#header function ComputeActorAngularImpulseDenominator( actor, x, y, z)
+Computes a scalar value that represents how an actor will respond to an angular impulse at a given point, taking into account the actor's inertia tensor (which governs how the object resists rotation). This function is particularly useful in calculating the actor's rotational response to an impulse, typically during collision resolution or constraints involving rotation.
+#ref ComputeActorImpulseDenominator
diff --git a/doc/files/computeactorgyroimpulselocal.txt b/doc/files/computeactorgyroimpulselocal.txt
index ce916c6..4f91f63 100644
--- a/doc/files/computeactorgyroimpulselocal.txt
+++ b/doc/files/computeactorgyroimpulselocal.txt
@@ -1,4 +1,6 @@
-#title computeActorGyroImpulseLocal [RCBasic Doc]
-#header sub computeActorGyroImpulseLocal( actor, dt, ByRef x, ByRef y, ByRef z)
+#title ComputeActorGyroImpulseLocal [RCBasic Doc]
+#header sub ComputeActorGyroImpulseLocal( actor, dt, ByRef x, ByRef y, ByRef z)
+Computes the gyroscopic impulse for an actor in an implicit manner, based on the actor's current angular velocity and inertia. This function is used to simulate the gyroscopic effect—also known as gyroscopic precession—which occurs when a rotating object experiences a torque that causes its axis of rotation to change.
+#ref ComputeActorGyroImpulseWorld
diff --git a/doc/files/computeactorgyroimpulseworld.txt b/doc/files/computeactorgyroimpulseworld.txt
index dce0b58..cb04f05 100644
--- a/doc/files/computeactorgyroimpulseworld.txt
+++ b/doc/files/computeactorgyroimpulseworld.txt
@@ -1,4 +1,6 @@
-#title computeActorGyroImpulseWorld [RCBasic Doc]
-#header sub computeActorGyroImpulseWorld( actor, dt, ByRef x, ByRef y, ByRef z)
+#title ComputeActorGyroImpulseWorld [RCBasic Doc]
+#header sub ComputeActorGyroImpulseWorld( actor, dt, ByRef x, ByRef y, ByRef z)
+Computes the gyroscopic impulse for an actor in an implicit manner, but in this case, it performs the calculation relative to the world frame of reference, rather than the actor’s local frame. This function is used to handle the gyroscopic effects (i.e., gyroscopic precession) of a rotating object when a torque is applied, affecting its axis of rotation.
+#ref ComputeActorGyroImpulseLocal
diff --git a/doc/files/computeactorimpulsedenominator.txt b/doc/files/computeactorimpulsedenominator.txt
index 8b113b7..53250fe 100644
--- a/doc/files/computeactorimpulsedenominator.txt
+++ b/doc/files/computeactorimpulsedenominator.txt
@@ -1,4 +1,6 @@
-#title computeActorImpulseDenominator [RCBasic Doc]
-#header function computeActorImpulseDenominator( actor, pos_x, pos_y, pos_z, normal_x, normal_y, normal_z)
+#title ComputeActorImpulseDenominator [RCBasic Doc]
+#header function ComputeActorImpulseDenominator( actor, pos_x, pos_y, pos_z, normal_x, normal_y, normal_z)
+Computes a scalar value related to how a rigid body will respond to an applied impulse at a given point. It’s primarily used internally in the physics engine to calculate how an object’s mass, inertia, and shape will affect the outcome of impulses, particularly in collisions or constraints like contact points between objects.
+#ref ComputeActorAngularImpulseDenominator
diff --git a/doc/files/constraintexists.txt b/doc/files/constraintexists.txt
new file mode 100644
index 0000000..fc1851e
--- /dev/null
+++ b/doc/files/constraintexists.txt
@@ -0,0 +1,4 @@
+#title ConstraintExists [RCBasic Doc]
+#header function ConstraintExists( constraint_id )
+
+
diff --git a/doc/files/copyactormaterial.txt b/doc/files/copyactormaterial.txt
index d61d8f0..6fc5ce6 100644
--- a/doc/files/copyactormaterial.txt
+++ b/doc/files/copyactormaterial.txt
@@ -1,4 +1,4 @@
#title copyActorMaterial [RCBasic Doc]
#header function copyActorMaterial( actor, material_num)
-
+Returns a material id for a copy of an actor's material
diff --git a/doc/files/copyfile.txt b/doc/files/copyfile.txt
index 2955ab6..af5b3a4 100644
--- a/doc/files/copyfile.txt
+++ b/doc/files/copyfile.txt
@@ -1,4 +1,4 @@
#title CopyFile [RCBasic Doc]
#header sub CopyFile(src$, dst$)
-
+Copies the contents of src$ file to a new dst$ file
diff --git a/doc/files/copyimage.txt b/doc/files/copyimage.txt
index d00dd64..19d0008 100644
--- a/doc/files/copyimage.txt
+++ b/doc/files/copyimage.txt
@@ -1,4 +1,4 @@
#title CopyImage [RCBasic Doc]
-#header sub CopyImage(src, dst)
-
+#header function CopyImage( img_id )
+Returns a copy of an image
diff --git a/doc/files/copymaterial.txt b/doc/files/copymaterial.txt
index 3cfadee..ec68fbe 100644
--- a/doc/files/copymaterial.txt
+++ b/doc/files/copymaterial.txt
@@ -1,4 +1,4 @@
#title copyMaterial [RCBasic Doc]
#header function copyMaterial( smaterial_id)
-
+Returns a copy of a material
diff --git a/doc/files/copymatrix.txt b/doc/files/copymatrix.txt
index 2cad01c..ffd1295 100644
--- a/doc/files/copymatrix.txt
+++ b/doc/files/copymatrix.txt
@@ -1,4 +1,4 @@
#title CopyMatrix [RCBasic Doc]
#header sub CopyMatrix(mA, mB)
-
+Copies matrix mA to matrix mB
diff --git a/doc/files/copymatrixcolumns.txt b/doc/files/copymatrixcolumns.txt
index 31b30b0..be6d2d9 100644
--- a/doc/files/copymatrixcolumns.txt
+++ b/doc/files/copymatrixcolumns.txt
@@ -1,4 +1,6 @@
#title CopyMatrixColumns [RCBasic Doc]
#header function CopyMatrixColumns(mA, mB, c, num_cols)
+Copies the specified matrix columns from matrix mA to matrix mB.
+Note: Matrix mB will be redimensioned to the size of the copied columns.
diff --git a/doc/files/copymatrixrows.txt b/doc/files/copymatrixrows.txt
index 7b3b1db..b580326 100644
--- a/doc/files/copymatrixrows.txt
+++ b/doc/files/copymatrixrows.txt
@@ -1,4 +1,7 @@
#title CopyMatrixRows [RCBasic Doc]
#header function CopyMatrixRows(mA, mB, r, num_rows)
+Copies the specified matrix rows from matrix mA to matrix mB.
+
+Note: Matrix mB will be redimensioned to the size of the copied rows.
diff --git a/doc/files/cos.txt b/doc/files/cos.txt
index e5f1542..5cf7b8d 100644
--- a/doc/files/cos.txt
+++ b/doc/files/cos.txt
@@ -1,4 +1,4 @@
#title Cos [RCBasic Doc]
#header function Cos(n)
-
+Returns the Cosine of an angle
diff --git a/doc/files/createbillboardactor.txt b/doc/files/createbillboardactor.txt
index bc20673..6966c4f 100644
--- a/doc/files/createbillboardactor.txt
+++ b/doc/files/createbillboardactor.txt
@@ -1,4 +1,6 @@
#title CreateBillboardActor [RCBasic Doc]
#header function CreateBillboardActor( )
+Returns a billboard actor
+Billboard actors are flat textured planes that are always facing the camera.
diff --git a/doc/files/createconeconstraint.txt b/doc/files/createconeconstraint.txt
index 0c0ff52..4a9c9b7 100644
--- a/doc/files/createconeconstraint.txt
+++ b/doc/files/createconeconstraint.txt
@@ -1,4 +1,19 @@
-#title createConeConstraint [RCBasic Doc]
-#header function createConeConstraint( actorA, rbAFrame_matrix)
+#title CreateConeConstraint [RCBasic Doc]
+#header function CreateConeConstraint( actorA, rbAFrame_matrix)
+The Cone Constraint is a type of joint constraint used to simulate realistic rotational movement between two actors (or between an actor and the world) with specific angular limits. This constraint is especially useful for simulating ball-and-socket joints with some twisting freedom but restricted cone-like movement, such as human shoulders or robotic arms.
+#code
+actorA = CreateCubeActor(100)
+
+rbA = DimMatrix(4, 4) 'A transform matrix should be a 4x4 matrix
+SetIdentityMatrix(rbA, 4) 'This will set rbA to a 4x4 identity matrix
+SetMatrixTranslation(rbA, 0, 40, 0) 'Set the point where the constraint connects to actorA to 1 unit above its origin
+SetMatrixRotation(rbA, 0, 0, 0) 'Sets the angle the constraint is attached at to 0 on all axes
+
+test_cone = CreateConeConstraint( actorA, rbA )
+#/code
+
+Note: It is recommended to use CreateConeConstraintEx() in most cases
+
+#ref CreateConeConstraintEx SetIdentityMatrix SetMatrixTranslation SetMatrixRotation
diff --git a/doc/files/createconeconstraintex.txt b/doc/files/createconeconstraintex.txt
index fbe70d5..f742059 100644
--- a/doc/files/createconeconstraintex.txt
+++ b/doc/files/createconeconstraintex.txt
@@ -1,4 +1,23 @@
#title createConeConstraintEx [RCBasic Doc]
#header function createConeConstraintEx( actorA, actorB, rbAFrame_matrix, rbBFrame_matrix)
+The Cone Constraint is a type of joint constraint used to simulate realistic rotational movement between two actors (or between an actor and the world) with specific angular limits. This constraint is especially useful for simulating ball-and-socket joints with some twisting freedom but restricted cone-like movement, such as human shoulders or robotic arms.
+#code
+actorA = CreateCubeActor(100)
+actorB = CreateCubeActor(100)
+
+rbA = DimMatrix(4, 4) 'A transform matrix should be a 4x4 matrix
+SetIdentityMatrix(rbA, 4) 'This will set rbA to a 4x4 identity matrix
+SetMatrixTranslation(rbA, 0, 40, 0) 'Set the point where the constraint connects to actorA to 1 unit above its origin
+SetMatrixRotation(rbA, 0, 0, 0) 'Sets the angle the constraint is attached at to 0 on all axes
+
+rbB = DimMatrix(4, 4) 'A transform matrix should be a 4x4 matrix
+SetIdentityMatrix(rbB, 4) 'This will set rbA to a 4x4 identity matrix
+SetMatrixTranslation(rbB, 0, 40, 0) 'Set the point where the constraint connects to actorA to 1 unit above its origin
+SetMatrixRotation(rbB, 0, 0, 0) 'Sets the angle the constraint is attached at to 0 on all axes
+
+test_cone = CreateConeConstraint( actorA, rbA )
+#/code
+
+#ref CreateConeConstraint SetIdentityMatrix SetMatrixTranslation SetMatrixRotation
diff --git a/doc/files/createcubeactor.txt b/doc/files/createcubeactor.txt
index 5e12da9..921c283 100644
--- a/doc/files/createcubeactor.txt
+++ b/doc/files/createcubeactor.txt
@@ -1,4 +1,6 @@
#title CreateCubeActor [RCBasic Doc]
#header function CreateCubeActor( cube_size )
+Returns an actor with a cube mesh of the specified size ( cube_size x cube_size x cube_size )
+#ref CreateMeshActor CreateMeshOctreeActor CreateSphereActor CreateWaterPlaneActor CreateLightActor CreateBillboardActor CreateTerrainActor
diff --git a/doc/files/createhingeconstraint.txt b/doc/files/createhingeconstraint.txt
index 25c7911..0fc595e 100644
--- a/doc/files/createhingeconstraint.txt
+++ b/doc/files/createhingeconstraint.txt
@@ -1,4 +1,17 @@
#title createHingeConstraint [RCBasic Doc]
-#header function createHingeConstraint( actorA, pxA, pyA, pzA, axA, ayA, azA)
+#header function createHingeConstraint( actorA, frameA, useReferenceFrameA )
+Simulates a hinge joint, which allows two actors (or an actor and the world) to rotate around a single axis while restricting movement along the other axes. This is similar to the way a door swings on its hinges or how an elbow joint functions in the human body.
+
+#code
+actorA = CreateCubeActor(100) 'Creates a cube actor
+frameA = DimMatrix(4, 4) 'A transform matrix must be a 4x4 matrix
+SetIdentityMatrix(frameA, 4) 'Sets frameB to a 4x4 identity matrix
+SetMatrixTranslation(frameA, 0, 1, 0) 'Sets the attach point of the constraint to the top of the cube
+hinge = CreateHingeConstraint(actorA, frameA, true)
+#/code
+
+Note: It is recommended to use CreateSlideConstraintEx() in most cases
+
+#ref CreateHingeConstraintEx SetIdentityMatrix SetMatrixTranslation SetMatrixRotation
diff --git a/doc/files/createhingeconstraintex.txt b/doc/files/createhingeconstraintex.txt
index 76b3069..d68b2e6 100644
--- a/doc/files/createhingeconstraintex.txt
+++ b/doc/files/createhingeconstraintex.txt
@@ -1,4 +1,23 @@
#title createHingeConstraintEx [RCBasic Doc]
-#header function createHingeConstraintEx( actorA, actorB, pxA, pyA, pzA, pxB, pyB, pzB, axA, ayA, azA, axB, ayB, azB)
+#header function createHingeConstraintEx( actorA, actorB, frameA, frameB, useReferenceFrameA)
+Simulates a hinge joint, which allows two actors (or an actor and the world) to rotate around a single axis while restricting movement along the other axes. This is similar to the way a door swings on its hinges or how an elbow joint functions in the human body.
+
+#code
+actorA = CreateCubeActor(100) 'Creates a cube actor
+frameA = DimMatrix(4, 4) 'A transform matrix must be a 4x4 matrix
+SetIdentityMatrix(frameA, 4) 'Sets frameB to a 4x4 identity matrix
+SetMatrixTranslation(frameA, 0, 1, 0) 'Sets the attach point of the constraint to the top of the cube
+
+actorB = CreateCubeActor(100) 'Creates a cube actor
+frameB = DimMatrix(4, 4) 'A transform matrix must be a 4x4 matrix
+SetIdentityMatrix(frameB, 4) 'Sets frameB to a 4x4 identity matrix
+SetMatrixTranslation(frameB, 0, 1, 0) 'Sets the attach point of the constraint to the top of the cube
+
+hinge = CreateHingeConstraint(actorA, actorB, frameA, frameB, true)
+#/code
+
+Note: It is recommended to use CreateHingeConstraintEx() in most cases
+
+#ref CreateHingeConstraint SetIdentityMatrix SetMatrixTranslation SetMatrixRotation
diff --git a/doc/files/createimage.txt b/doc/files/createimage.txt
index 4640713..116ffba 100644
--- a/doc/files/createimage.txt
+++ b/doc/files/createimage.txt
@@ -1,4 +1,6 @@
-#title createImage [RCBasic Doc]
-#header sub ImageFromBuffer(slot, w, h, byref buffer)
+#title CreateImage [RCBasic Doc]
+#header function CreateImage(w, h, byref buffer)
+Returns an image created from the buffer provided
+#ref CreateImageEx LoadImage
diff --git a/doc/files/createimageex.txt b/doc/files/createimageex.txt
index 7a87a28..11f34fe 100644
--- a/doc/files/createimageex.txt
+++ b/doc/files/createimageex.txt
@@ -1,4 +1,9 @@
#title createImageEx [RCBasic Doc]
-#header sub ImageFromBuffer_Ex(slot, w, h, byref buffer, colkey)
+#header function createImageEx(w, h, byref buffer, color)
+Returns an image created from the buffer provided
+
+The color parameter is a color key value to apply
+
+#ref CreateImage LoadImage
diff --git a/doc/files/createlightactor.txt b/doc/files/createlightactor.txt
index f200db0..c0c24d4 100644
--- a/doc/files/createlightactor.txt
+++ b/doc/files/createlightactor.txt
@@ -1,4 +1,6 @@
#title CreateLightActor [RCBasic Doc]
#header function CreateLightActor( )
+Returns a new light in the scene
+#ref CreateMeshActor CreateMeshOctreeActor CreateCubeActor CreateSphereActor CreateWaterPlaneActor CreateBillboardActor CreateTerrainActor
diff --git a/doc/files/creatematerial.txt b/doc/files/creatematerial.txt
index ff2e6fa..4cd5875 100644
--- a/doc/files/creatematerial.txt
+++ b/doc/files/creatematerial.txt
@@ -1,4 +1,4 @@
#title createMaterial [RCBasic Doc]
#header function createMaterial()
-
+Returns a new material
diff --git a/doc/files/createmesh.txt b/doc/files/createmesh.txt
index 819c6e4..3f258eb 100644
--- a/doc/files/createmesh.txt
+++ b/doc/files/createmesh.txt
@@ -1,4 +1,4 @@
#title CreateMesh [RCBasic Doc]
#header function CreateMesh( )
-
+Returns a new mesh
diff --git a/doc/files/createmeshactor.txt b/doc/files/createmeshactor.txt
index bc2fb28..a25428d 100644
--- a/doc/files/createmeshactor.txt
+++ b/doc/files/createmeshactor.txt
@@ -1,4 +1,10 @@
#title CreateMeshActor [RCBasic Doc]
#header function CreateMeshActor( mesh )
+Returns a new actor composed of a mesh
+The mesh can either be created using CreateMesh() or Loaded using LoadMesh()
+
+#ref CreateMesh LoadMesh
+
+#ref CreateMeshOctreeActor CreateCubeActor CreateSphereActor CreateWaterPlaneActor CreateLightActor CreateBillboardActor CreateTerrainActor
diff --git a/doc/files/createmeshoctreeactor.txt b/doc/files/createmeshoctreeactor.txt
index 40b6084..633ffe8 100644
--- a/doc/files/createmeshoctreeactor.txt
+++ b/doc/files/createmeshoctreeactor.txt
@@ -1,4 +1,8 @@
#title CreateMeshOctreeActor [RCBasic Doc]
#header function CreateMeshOctreeActor( mesh )
+Returns a mesh actor optimized for large objects (such as levels)
+#ref CreateMesh LoadMesh
+
+#ref CreateMeshActor CreateCubeActor CreateSphereActor CreateWaterPlaneActor CreateLightActor CreateBillboardActor CreateTerrainActor
diff --git a/doc/files/createparticleactor.txt b/doc/files/createparticleactor.txt
new file mode 100644
index 0000000..8cd0ca2
--- /dev/null
+++ b/doc/files/createparticleactor.txt
@@ -0,0 +1,16 @@
+#title CreateParticleActor [RCBasic Doc]
+#header function CreateParticleActor( particle_type )
+
+Returns a new particle actor
+
+Possible Particle Types
+#list ul
+#li PARTICLE_TYPE_POINT
+#li PARTICLE_TYPE_BOX
+#li PARTICLE_TYPE_SPHERE
+#li PARTICLE_TYPE_CYLINDER
+#li PARTICLE_TYPE_MESH
+#li PARTICLE_TYPE_RING
+#/list
+
+#ref CreateMeshOctreeActor CreateCubeActor CreateSphereActor CreateWaterPlaneActor CreateLightActor CreateBillboardActor CreateTerrainActor
diff --git a/doc/files/createpointconstraint.txt b/doc/files/createpointconstraint.txt
index c1950d4..b1376a9 100644
--- a/doc/files/createpointconstraint.txt
+++ b/doc/files/createpointconstraint.txt
@@ -1,4 +1,6 @@
#title createPointConstraint [RCBasic Doc]
#header function createPointConstraint( actorA, pxA, pyA, pzA)
+A type of constraint that allows two actors (or an actor and the world) to move freely relative to each other while ensuring that one point on each body remains coincident. Essentially, it ensures that the two actors stay connected at a single point, but without restricting their relative rotations. This kind of constraint is useful when you need a connection that allows full rotation in all directions, such as a pendulum, ball joint, or even some suspension systems.
+#ref CreatePointConstraintEx
diff --git a/doc/files/createpointconstraintex.txt b/doc/files/createpointconstraintex.txt
index f0997dd..f17b183 100644
--- a/doc/files/createpointconstraintex.txt
+++ b/doc/files/createpointconstraintex.txt
@@ -1,4 +1,7 @@
#title createPointConstraintEx [RCBasic Doc]
#header function createPointConstraintEx( actorA, actorB, pxA, pyA, pzA, pxB, pyB, pzB)
+A type of constraint that allows two actors (or an actor and the world) to move freely relative to each other while ensuring that one point on each body remains coincident. Essentially, it ensures that the two actors stay connected at a single point, but without restricting their relative rotations. This kind of constraint is useful when you need a connection that allows full rotation in all directions, such as a pendulum, ball joint, or even some suspension systems.
+
+#ref CreatePointConstraint
diff --git a/doc/files/createslideconstraint.txt b/doc/files/createslideconstraint.txt
index dd1af90..5063718 100644
--- a/doc/files/createslideconstraint.txt
+++ b/doc/files/createslideconstraint.txt
@@ -1,4 +1,17 @@
#title createSlideConstraint [RCBasic Doc]
#header function createSlideConstraint( actorA, frameInB_matrix, useLinearReferenceFrameA)
+A type of constraint that restricts the motion between two actors (or between an actor and the world) in such a way that they can slide along a specific axis and rotate around the same axis, while limiting or allowing movement along other axes. This constraint is similar to a prismatic joint with added rotational freedom, making it useful for simulating objects like pistons, sliding doors, or rail systems.
+#code
+actorA = CreateCubeActor(100) 'Creates a cube actor
+frameB = DimMatrix(4, 4) 'A transform matrix must be a 4x4 matrix
+SetIdentityMatrix(frameB, 4) 'Sets frameB to a 4x4 identity matrix
+SetMatrixTranslation(frameB, 0, 50, 0) 'Sets the attach point of the constraint to the top of the cube
+SetMatrixRotation(frameB, 0, 90, 0) 'Rotates the constraint axis by 90 degrees around y
+slide = CreateSlideConstraint(actorA, frameB, true)
+#/code
+
+Note: It is recommended to use CreateSlideConstraintEx() in most cases
+
+#ref CreateSlideConstraintEx SetIdentityMatrix SetMatrixTranslation SetMatrixRotation
diff --git a/doc/files/createslideconstraintex.txt b/doc/files/createslideconstraintex.txt
index 730cf58..9aeeebe 100644
--- a/doc/files/createslideconstraintex.txt
+++ b/doc/files/createslideconstraintex.txt
@@ -1,4 +1,24 @@
#title createSlideConstraintEx [RCBasic Doc]
#header function createSlideConstraintEx( actorA, actorB, frameInA_matrix, frameInB_matrix, useLinearReferenceFrameA)
+A type of constraint that restricts the motion between two actors (or between an actor and the world) in such a way that they can slide along a specific axis and rotate around the same axis, while limiting or allowing movement along other axes. This constraint is similar to a prismatic joint with added rotational freedom, making it useful for simulating objects like pistons, sliding doors, or rail systems.
+
+#code
+actorA = CreateCubeActor(100) 'Creates a cube actor
+frameA = DimMatrix(4, 4) 'A transform matrix must be a 4x4 matrix
+SetIdentityMatrix(frameA, 4) 'Sets frameB to a 4x4 identity matrix
+SetMatrixTranslation(frameA, 0, 0, 0) 'Sets the attach point of the constraint to center of the cube
+SetMatrixRotation(frameA, 0, 90, 0) 'Rotates the constraint axis by 90 degrees around y
+
+actorB = CreateCubeActor(100) 'Creates a cube actor
+frameB = DimMatrix(4, 4) 'A transform matrix must be a 4x4 matrix
+SetIdentityMatrix(frameB, 4) 'Sets frameB to a 4x4 identity matrix
+SetMatrixTranslation(frameB, 0, 50, 0) 'Sets the attach point of the constraint to the top of the cube
+SetMatrixRotation(frameB, 0, 90, 0) 'Rotates the constraint axis by 90 degrees around y
+slide = CreateSlideConstraintEx(actorA, actorB, frameA, frameB, true)
+#/code
+
+Note: It is recommended to use CreateSlideConstraintEx() in most cases
+
+#ref CreateSlideConstraint SetIdentityMatrix SetMatrixTranslation SetMatrixRotation
diff --git a/doc/files/createsound.txt b/doc/files/createsound.txt
index 5f87fc0..f5fc41c 100644
--- a/doc/files/createsound.txt
+++ b/doc/files/createsound.txt
@@ -1,4 +1,4 @@
#title CreateSound [RCBasic Doc]
-#header sub SoundFromBuffer(slot, byref buffer, buffer_size, vol)
-
+#header function CreateSound(byref buffer, buffer_size, vol)
+Returns a new sound from a buffer of raw audio data
diff --git a/doc/files/createsphereactor.txt b/doc/files/createsphereactor.txt
index 873766a..8894b23 100644
--- a/doc/files/createsphereactor.txt
+++ b/doc/files/createsphereactor.txt
@@ -1,4 +1,6 @@
#title CreateSphereActor [RCBasic Doc]
#header function CreateSphereActor( radius )
+Returns an actor composed of a sphere mesh
+#ref CreateMeshActor CreateMeshOctreeActor CreateCubeActor CreateWaterPlaneActor CreateLightActor CreateBillboardActor CreateTerrainActor
diff --git a/doc/files/createsprite.txt b/doc/files/createsprite.txt
index ecd5926..bc7fbf1 100644
--- a/doc/files/createsprite.txt
+++ b/doc/files/createsprite.txt
@@ -1,4 +1,4 @@
#title CreateSprite [RCBasic Doc]
#header function CreateSprite( img )
-
+Returns new sprite
diff --git a/doc/files/createstack_n.txt b/doc/files/createstack_n.txt
index bcb49a0..2a1f8d3 100644
--- a/doc/files/createstack_n.txt
+++ b/doc/files/createstack_n.txt
@@ -1,4 +1,5 @@
#title CreateStack_N [RCBasic Doc]
#header function CreateStack_N( )
+Returns a new number stack
diff --git a/doc/files/createstack_s.txt b/doc/files/createstack_s.txt
index 645f100..48bbc15 100644
--- a/doc/files/createstack_s.txt
+++ b/doc/files/createstack_s.txt
@@ -1,4 +1,5 @@
#title CreateStack_S [RCBasic Doc]
#header function CreateStack_S()
+Returns a new string stack
diff --git a/doc/files/createterrainactor.txt b/doc/files/createterrainactor.txt
index a194677..b8ba9f9 100644
--- a/doc/files/createterrainactor.txt
+++ b/doc/files/createterrainactor.txt
@@ -1,4 +1,8 @@
#title CreateTerrainActor [RCBasic Doc]
#header function CreateTerrainActor( hmap_file$ )
+Returns terrain generated from a height map
+Note: Height Maps can be any supported image format
+
+#ref CreateMeshActor CreateMeshOctreeActor CreateCubeActor CreateSphereActor CreateWaterPlaneActor CreateLightActor CreateBillboardActor
diff --git a/doc/files/createwaterplaneactor.txt b/doc/files/createwaterplaneactor.txt
index 9c64627..ed1f97f 100644
--- a/doc/files/createwaterplaneactor.txt
+++ b/doc/files/createwaterplaneactor.txt
@@ -1,4 +1,6 @@
#title CreateWaterPlaneActor [RCBasic Doc]
#header function CreateWaterPlaneActor( w, h )
+Returns a water plane actor
+#ref CreateMeshActor CreateMeshOctreeActor CreateCubeActor CreateSphereActor CreateLightActor CreateBillboardActor CreateTerrainActor
diff --git a/doc/files/cubematrix.txt b/doc/files/cubematrix.txt
index 3c86f0e..e949679 100644
--- a/doc/files/cubematrix.txt
+++ b/doc/files/cubematrix.txt
@@ -1,4 +1,4 @@
#title CubeMatrix [RCBasic Doc]
#header function CubeMatrix(mA, mB)
-
+Returns matrix mA raised to the 3rd power
diff --git a/doc/files/date.txt b/doc/files/date.txt
index b7b34de..672d718 100644
--- a/doc/files/date.txt
+++ b/doc/files/date.txt
@@ -1,4 +1,4 @@
#title Date$ [RCBasic Doc]
#header function Date$()
-
+Returns the date in "MM-DD-YYYY" format
diff --git a/doc/files/degrees.txt b/doc/files/degrees.txt
index ede8871..96d0046 100644
--- a/doc/files/degrees.txt
+++ b/doc/files/degrees.txt
@@ -1,4 +1,4 @@
#title Degrees [RCBasic Doc]
#header function Degrees(r)
-
+Returns angle converted from radians to degrees
diff --git a/doc/files/deleteactor.txt b/doc/files/deleteactor.txt
index d5bd360..38b80e9 100644
--- a/doc/files/deleteactor.txt
+++ b/doc/files/deleteactor.txt
@@ -1,4 +1,4 @@
#title DeleteActor [RCBasic Doc]
#header sub DeleteActor( actor )
-
+Removes an actor from the scene and frees its memory
diff --git a/doc/files/deleteconstraint.txt b/doc/files/deleteconstraint.txt
index 3343c48..fe8dd8e 100644
--- a/doc/files/deleteconstraint.txt
+++ b/doc/files/deleteconstraint.txt
@@ -1,4 +1,4 @@
#title deleteConstraint [RCBasic Doc]
#header sub deleteConstraint( constraint_id)
-
+Removes a constraint
diff --git a/doc/files/deletefont.txt b/doc/files/deletefont.txt
index 6075701..4a5f97e 100644
--- a/doc/files/deletefont.txt
+++ b/doc/files/deletefont.txt
@@ -1,4 +1,4 @@
#title DeleteFont [RCBasic Doc]
-#header sub DeleteFont(slot)
-
+#header sub DeleteFont(font_id)
+Frees a font from memory
diff --git a/doc/files/deleteimage.txt b/doc/files/deleteimage.txt
index b46b058..164f0d0 100644
--- a/doc/files/deleteimage.txt
+++ b/doc/files/deleteimage.txt
@@ -1,4 +1,4 @@
#title DeleteImage [RCBasic Doc]
-#header sub DeleteImage(slot)
-
+#header sub DeleteImage(img)
+Removes an image from memory
diff --git a/doc/files/deletematerial.txt b/doc/files/deletematerial.txt
index 9cf7b5e..5e4d8a5 100644
--- a/doc/files/deletematerial.txt
+++ b/doc/files/deletematerial.txt
@@ -1,4 +1,4 @@
#title deleteMaterial [RCBasic Doc]
#header sub deleteMaterial( material_id)
-
+Removes a material from memory
diff --git a/doc/files/deletematrix.txt b/doc/files/deletematrix.txt
index 77027e8..a1774e8 100644
--- a/doc/files/deletematrix.txt
+++ b/doc/files/deletematrix.txt
@@ -1,4 +1,4 @@
#title DeleteMatrix [RCBasic Doc]
#header Sub DeleteMatrix(mA)
-
+Frees a matrix from memory
diff --git a/doc/files/deletematrixcolumns.txt b/doc/files/deletematrixcolumns.txt
index d27e822..51427c0 100644
--- a/doc/files/deletematrixcolumns.txt
+++ b/doc/files/deletematrixcolumns.txt
@@ -1,4 +1,8 @@
#title DeleteMatrixColumns [RCBasic Doc]
#header function DeleteMatrixColumns(mA, c, num_cols)
+Removes the specified columns from a matrix
+Returns false if column are outside matrix
+
+#ref DeleteMatrixRows
diff --git a/doc/files/deletematrixrows.txt b/doc/files/deletematrixrows.txt
index d266ea6..c6e3a4a 100644
--- a/doc/files/deletematrixrows.txt
+++ b/doc/files/deletematrixrows.txt
@@ -1,4 +1,8 @@
#title DeleteMatrixRows [RCBasic Doc]
#header function DeleteMatrixRows(mA, r, num_rows)
+Removes the specified rows from a matrix
+Returns false if rows are outside matrix
+
+#ref DeleteMatrixColumns
diff --git a/doc/files/deletemesh.txt b/doc/files/deletemesh.txt
index 3c18e4a..fca2650 100644
--- a/doc/files/deletemesh.txt
+++ b/doc/files/deletemesh.txt
@@ -1,4 +1,4 @@
#title DeleteMesh [RCBasic Doc]
#header sub DeleteMesh( mesh )
-
+Removes a mesh from memory
diff --git a/doc/files/deletemusic.txt b/doc/files/deletemusic.txt
index c6bbfe1..617f5ab 100644
--- a/doc/files/deletemusic.txt
+++ b/doc/files/deletemusic.txt
@@ -1,4 +1,4 @@
#title DeleteMusic [RCBasic Doc]
#header sub DeleteMusic()
-
+Removes the current music track from memory
diff --git a/doc/files/deletesound.txt b/doc/files/deletesound.txt
index 67fe4d9..73852c7 100644
--- a/doc/files/deletesound.txt
+++ b/doc/files/deletesound.txt
@@ -1,4 +1,4 @@
#title DeleteSound [RCBasic Doc]
-#header sub DeleteSound(slot)
-
+#header sub DeleteSound(snd)
+Removes a sound from memory
diff --git a/doc/files/deletesprite.txt b/doc/files/deletesprite.txt
index 9f23cd1..602dfed 100644
--- a/doc/files/deletesprite.txt
+++ b/doc/files/deletesprite.txt
@@ -1,4 +1,4 @@
#title DeleteSprite [RCBasic Doc]
#header Sub DeleteSprite( sprite )
-
+Removes a sprite from memory
diff --git a/doc/files/deletestack_n.txt b/doc/files/deletestack_n.txt
index da74203..672e79c 100644
--- a/doc/files/deletestack_n.txt
+++ b/doc/files/deletestack_n.txt
@@ -1,4 +1,4 @@
#title DeleteStack_N [RCBasic Doc]
#header sub DeleteStack_N( num_stack )
-
+Removes a number stack from memory
diff --git a/doc/files/deletestack_s.txt b/doc/files/deletestack_s.txt
index b7ac9a3..2969a36 100644
--- a/doc/files/deletestack_s.txt
+++ b/doc/files/deletestack_s.txt
@@ -1,4 +1,4 @@
#title DeleteStack_S [RCBasic Doc]
#header sub DeleteStack_S( str_stack )
-
+Removes a string stack from memory
diff --git a/doc/files/deletevideo.txt b/doc/files/deletevideo.txt
index 13a01cb..486f00b 100644
--- a/doc/files/deletevideo.txt
+++ b/doc/files/deletevideo.txt
@@ -1,4 +1,4 @@
#title DeleteVideo [RCBasic Doc]
#header sub DeleteVideo()
-
+Removes the current video track from memory
diff --git a/doc/files/determinant.txt b/doc/files/determinant.txt
index 17ed49d..8d255ba 100644
--- a/doc/files/determinant.txt
+++ b/doc/files/determinant.txt
@@ -1,4 +1,4 @@
#title Determinant [RCBasic Doc]
#header function Determinant(mA)
-
+Returns the determinant of matrix mA
diff --git a/doc/files/dimmatrix.txt b/doc/files/dimmatrix.txt
index acf88f0..c94db52 100644
--- a/doc/files/dimmatrix.txt
+++ b/doc/files/dimmatrix.txt
@@ -1,4 +1,4 @@
#title DimMatrix [RCBasic Doc]
-#header sub DimMatrix(m, m_rows, m_cols, preserve_flag)
-
+#header function DimMatrix(m_rows, m_cols)
+Returns a new matrix
diff --git a/doc/files/dir.txt b/doc/files/dir.txt
index 7b5e957..7c5de53 100644
--- a/doc/files/dir.txt
+++ b/doc/files/dir.txt
@@ -1,4 +1,4 @@
#title Dir$ [RCBasic Doc]
#header function Dir$()
-
+Returns the current working directory
diff --git a/doc/files/direxists.txt b/doc/files/direxists.txt
index bfdbd44..05afda9 100644
--- a/doc/files/direxists.txt
+++ b/doc/files/direxists.txt
@@ -1,4 +1,4 @@
#title DirExists [RCBasic Doc]
#header function DirExists(p$)
-
+Returns true if a directory exists and false if not
diff --git a/doc/files/dirfirst.txt b/doc/files/dirfirst.txt
index dd726d1..2758f31 100644
--- a/doc/files/dirfirst.txt
+++ b/doc/files/dirfirst.txt
@@ -1,4 +1,4 @@
#title DirFirst$ [RCBasic Doc]
#header function DirFirst$()
-
+Resets the directory list poll and returns the first item in the current working directory
diff --git a/doc/files/dirnext.txt b/doc/files/dirnext.txt
index 0e19975..8657887 100644
--- a/doc/files/dirnext.txt
+++ b/doc/files/dirnext.txt
@@ -1,4 +1,6 @@
#title DirNext$ [RCBasic Doc]
#header function DirNext$()
+Returns the next item in the directory poll
+#ref DirFirst$
diff --git a/doc/files/distance2d.txt b/doc/files/distance2d.txt
index b9d678a..ef41e31 100644
--- a/doc/files/distance2d.txt
+++ b/doc/files/distance2d.txt
@@ -1,4 +1,4 @@
#title Distance2D [RCBasic Doc]
#header Function Distance2D(x1, y1, x2, y2)
-
+Returns the distance between 2 points in 2d space
diff --git a/doc/files/distance3d.txt b/doc/files/distance3d.txt
index 3bfc44d..20cfffb 100644
--- a/doc/files/distance3d.txt
+++ b/doc/files/distance3d.txt
@@ -1,4 +1,5 @@
#title Distance3D [RCBasic Doc]
#header Function Distance3D(x1, y1, z1, x2, y2, z2)
+Returns the distance between 2 points in 3d space
diff --git a/doc/files/drawimage.txt b/doc/files/drawimage.txt
index dce18e0..03d0504 100644
--- a/doc/files/drawimage.txt
+++ b/doc/files/drawimage.txt
@@ -1,4 +1,4 @@
#title DrawImage [RCBasic Doc]
-#header sub DrawImage(slot, x, y)
-
+#header sub DrawImage(img, x, y)
+Draws an image on the active canvas
diff --git a/doc/files/drawimage_blit.txt b/doc/files/drawimage_blit.txt
index 5d8502b..3b49158 100644
--- a/doc/files/drawimage_blit.txt
+++ b/doc/files/drawimage_blit.txt
@@ -1,4 +1,4 @@
#title DrawImage_Blit [RCBasic Doc]
-#header sub DrawImage_Blit(slot, x, y, src_x, src_y, src_w, src_h)
-
+#header sub DrawImage_Blit(img, x, y, src_x, src_y, src_w, src_h)
+Draws a portion of an image to the current canvas.
diff --git a/doc/files/drawimage_blitex.txt b/doc/files/drawimage_blitex.txt
index 7675fa2..b0fb003 100644
--- a/doc/files/drawimage_blitex.txt
+++ b/doc/files/drawimage_blitex.txt
@@ -1,4 +1,6 @@
#title DrawImage_BlitEx [RCBasic Doc]
#header sub DrawImage_BlitEx(slot, x, y, w, h, src_x, src_y, src_w, src_h)
+Draws a portion of an image to the current canvas scaled to a given width and height.
+#ref DrawImage_Blit
diff --git a/doc/files/drawimage_flip.txt b/doc/files/drawimage_flip.txt
index dee1fc7..7f55e21 100644
--- a/doc/files/drawimage_flip.txt
+++ b/doc/files/drawimage_flip.txt
@@ -1,4 +1,8 @@
#title DrawImage_Flip [RCBasic Doc]
#header sub DrawImage_Flip(slot, x, y, h, v)
+Draws an image flipped horizontally or vertically.
+Note: h and v are boolean values
+
+#ref DrawImage_FlipEx
diff --git a/doc/files/drawimage_flipex.txt b/doc/files/drawimage_flipex.txt
index 496709d..02e7b99 100644
--- a/doc/files/drawimage_flipex.txt
+++ b/doc/files/drawimage_flipex.txt
@@ -1,4 +1,8 @@
#title DrawImage_FlipEx [RCBasic Doc]
#header sub DrawImage_FlipEx(slot, x, y, src_x, src_y, src_w, src_h, h, v)
+Draws a portion of an image flipped horizontally or vertically.
+Note: h and v are boolean values
+
+#ref DrawImage_Flip
diff --git a/doc/files/drawimage_rotate.txt b/doc/files/drawimage_rotate.txt
index 7028f75..bcba804 100644
--- a/doc/files/drawimage_rotate.txt
+++ b/doc/files/drawimage_rotate.txt
@@ -1,4 +1,4 @@
#title DrawImage_Rotate [RCBasic Doc]
#header sub DrawImage_Rotate(slot, x, y, angle)
-
+Draws an image to the current canvas rotated by a given angle.
diff --git a/doc/files/drawimage_rotateex.txt b/doc/files/drawimage_rotateex.txt
index 11b019c..6473745 100644
--- a/doc/files/drawimage_rotateex.txt
+++ b/doc/files/drawimage_rotateex.txt
@@ -1,4 +1,4 @@
#title DrawImage_RotateEx [RCBasic Doc]
#header sub DrawImage_RotateEx(slot, x, y, src_x, src_y, src_w, src_h, angle)
-
+ Draws a portion of an image to the current canvas rotated by a given angle.
diff --git a/doc/files/drawimage_rotozoom.txt b/doc/files/drawimage_rotozoom.txt
index cc7d397..41417e7 100644
--- a/doc/files/drawimage_rotozoom.txt
+++ b/doc/files/drawimage_rotozoom.txt
@@ -1,4 +1,4 @@
#title DrawImage_Rotozoom [RCBasic Doc]
#header sub DrawImage_Rotozoom(slot, x, y, angle, zx, zy)
-
+ Draws an image to the current canvas rotated and scaled
diff --git a/doc/files/drawimage_rotozoomex.txt b/doc/files/drawimage_rotozoomex.txt
index 341692a..6f41a86 100644
--- a/doc/files/drawimage_rotozoomex.txt
+++ b/doc/files/drawimage_rotozoomex.txt
@@ -1,4 +1,4 @@
#title DrawImage_RotozoomEx [RCBasic Doc]
#header sub DrawImage_RotozoomEx(slot, x, y, src_x, src_y, src_w, src_h, angle, zx, zy)
-
+ Draws a portion of an image to the current canvas rotated and scaled
diff --git a/doc/files/drawimage_zoom.txt b/doc/files/drawimage_zoom.txt
index d337723..1e12138 100644
--- a/doc/files/drawimage_zoom.txt
+++ b/doc/files/drawimage_zoom.txt
@@ -1,4 +1,6 @@
#title DrawImage_Zoom [RCBasic Doc]
#header sub DrawImage_Zoom(slot, x, y, zx, zy)
+ Draws an image to the current canvas scaled by a given factor
+#ref DrawImage_ZoomEx
diff --git a/doc/files/drawimage_zoomex.txt b/doc/files/drawimage_zoomex.txt
index 58a7a56..35e51bb 100644
--- a/doc/files/drawimage_zoomex.txt
+++ b/doc/files/drawimage_zoomex.txt
@@ -1,4 +1,6 @@
#title DrawImage_ZoomEx [RCBasic Doc]
#header sub DrawImage_ZoomEx(slot, x, y, src_x, src_y, src_w, src_h, zx, zy)
+Draws a portion of an Image to the current canvas scaled by a given factor
+#ref DrawImage_Zoom
diff --git a/doc/files/drawtext.txt b/doc/files/drawtext.txt
index 8f0ef4c..6a6cbbe 100644
--- a/doc/files/drawtext.txt
+++ b/doc/files/drawtext.txt
@@ -1,4 +1,4 @@
#title DrawText [RCBasic Doc]
#header sub DrawText(txt$, x, y)
-
+ Draws text to the current canvas
diff --git a/doc/files/easter.txt b/doc/files/easter.txt
index f5a9c89..b5842b3 100644
--- a/doc/files/easter.txt
+++ b/doc/files/easter.txt
@@ -1,4 +1,4 @@
#title Easter$ [RCBasic Doc]
#header function Easter$(year)
-
+Returns easter of the year passed to it.
diff --git a/doc/files/ellipse.txt b/doc/files/ellipse.txt
index d2d5d07..5917639 100644
--- a/doc/files/ellipse.txt
+++ b/doc/files/ellipse.txt
@@ -1,4 +1,4 @@
#title Ellipse [RCBasic Doc]
#header sub Ellipse(x,y,rx,ry)
-
+Draws an ellipse on the current canvas.
diff --git a/doc/files/ellipsefill.txt b/doc/files/ellipsefill.txt
index 538b21a..4b195d6 100644
--- a/doc/files/ellipsefill.txt
+++ b/doc/files/ellipsefill.txt
@@ -1,4 +1,4 @@
#title EllipseFill [RCBasic Doc]
#header sub EllipseFill(x,y,rx,ry)
-
+Draws a filled ellipse on the current canvas.
diff --git a/doc/files/env.txt b/doc/files/env.txt
index 92ae079..630b8f0 100644
--- a/doc/files/env.txt
+++ b/doc/files/env.txt
@@ -1,4 +1,6 @@
#title Env$ [RCBasic Doc]
#header function Env$(v$)
+Returns the value of the environment variable passed to it.
+#ref SetEnv
diff --git a/doc/files/eof.txt b/doc/files/eof.txt
index b3c57f7..425a8f4 100644
--- a/doc/files/eof.txt
+++ b/doc/files/eof.txt
@@ -1,4 +1,4 @@
#title EOF [RCBasic Doc]
#header function EOF(stream)
-
+Returns true when end of file is reached
diff --git a/doc/files/evaljs.txt b/doc/files/evaljs.txt
index 1975531..8136032 100644
--- a/doc/files/evaljs.txt
+++ b/doc/files/evaljs.txt
@@ -1,4 +1,8 @@
#title EvalJS$ [RCBasic Doc]
#header Function EvalJS$(js_code$) 'Only useable in Emscripten
+Runs javascript code
+Returns the return value of the javascript code
+
+NOTE: ONLY WORKS IN WEB PORT
diff --git a/doc/files/exp.txt b/doc/files/exp.txt
index b611925..054b1db 100644
--- a/doc/files/exp.txt
+++ b/doc/files/exp.txt
@@ -1,4 +1,4 @@
#title Exp [RCBasic Doc]
#header function Exp(n)
-
+Returns the exponential function of a number.
diff --git a/doc/files/fademusicin.txt b/doc/files/fademusicin.txt
index df342f9..fd48cc6 100644
--- a/doc/files/fademusicin.txt
+++ b/doc/files/fademusicin.txt
@@ -1,4 +1,4 @@
#title FadeMusicIn [RCBasic Doc]
#header sub FadeMusicIn(fade_time, loops)
-
+Fades music in
diff --git a/doc/files/fademusicout.txt b/doc/files/fademusicout.txt
index e48002d..688c293 100644
--- a/doc/files/fademusicout.txt
+++ b/doc/files/fademusicout.txt
@@ -1,4 +1,4 @@
#title FadeMusicOut [RCBasic Doc]
#header sub FadeMusicOut(fade_time)
-
+Fades music out
diff --git a/doc/files/fileexists.txt b/doc/files/fileexists.txt
index 064a7f2..0dee4f5 100644
--- a/doc/files/fileexists.txt
+++ b/doc/files/fileexists.txt
@@ -1,4 +1,4 @@
#title FileExists [RCBasic Doc]
#header function FileExists(fileName$)
-
+Returns true if a file exists
diff --git a/doc/files/filelength.txt b/doc/files/filelength.txt
index 862f603..4a1fd6d 100644
--- a/doc/files/filelength.txt
+++ b/doc/files/filelength.txt
@@ -1,4 +1,4 @@
#title FileLength [RCBasic Doc]
#header function FileLength(fileName$)
-
+ Returns the size of a file in bytes.
diff --git a/doc/files/fillmatrix.txt b/doc/files/fillmatrix.txt
index 345a729..d86419b 100644
--- a/doc/files/fillmatrix.txt
+++ b/doc/files/fillmatrix.txt
@@ -1,4 +1,4 @@
#title FillMatrix [RCBasic Doc]
#header sub FillMatrix(mA, v)
-
+Fills matrix with the given value
diff --git a/doc/files/fillmatrixcolumns.txt b/doc/files/fillmatrixcolumns.txt
index 8e62940..45f8649 100644
--- a/doc/files/fillmatrixcolumns.txt
+++ b/doc/files/fillmatrixcolumns.txt
@@ -1,4 +1,4 @@
#title FillMatrixColumns [RCBasic Doc]
#header function FillMatrixColumns(mA, c, num_cols, v)
-
+Fills matrix columns with the given value starting at the given column
diff --git a/doc/files/fillmatrixrows.txt b/doc/files/fillmatrixrows.txt
index d8e0cac..4dfdc39 100644
--- a/doc/files/fillmatrixrows.txt
+++ b/doc/files/fillmatrixrows.txt
@@ -1,4 +1,4 @@
#title FillMatrixRows [RCBasic Doc]
#header function FillMatrixRows(mA, r, num_rows, v)
-
+Fills matrix rows with the given value starting at the given row
diff --git a/doc/files/flashwindow.txt b/doc/files/flashwindow.txt
index 3b67cb7..9fd4805 100644
--- a/doc/files/flashwindow.txt
+++ b/doc/files/flashwindow.txt
@@ -1,4 +1,13 @@
#title FlashWindow [RCBasic Doc]
-#header function FlashWindow(win)
+#header function FlashWindow( flag )
+Flashes a window to specify an alert
+Returns 0 on success and a negative number on failure
+
+Possible flag values:
+#list ul
+#li FLASH_CANCEL
+#li FLASH_BRIEFLY
+#li FLASH_UNTIL_FOCUSED
+#/list
diff --git a/doc/files/floodfill.txt b/doc/files/floodfill.txt
index 99f344b..be4b414 100644
--- a/doc/files/floodfill.txt
+++ b/doc/files/floodfill.txt
@@ -1,4 +1,4 @@
#title FloodFill [RCBasic Doc]
#header sub FloodFill(x,y)
-
+Fills a closed shape in with the current draw color
diff --git a/doc/files/fontexists.txt b/doc/files/fontexists.txt
index 26f260b..9e2c720 100644
--- a/doc/files/fontexists.txt
+++ b/doc/files/fontexists.txt
@@ -1,4 +1,4 @@
#title FontExists [RCBasic Doc]
-#header function FontIsLoaded(slot)
-
+#header Function FontExists(fnt_id)
+Returns True if the specified font id is associated with a loaded font
diff --git a/doc/files/fprint.txt b/doc/files/fprint.txt
index 60ee416..97b35de 100644
--- a/doc/files/fprint.txt
+++ b/doc/files/fprint.txt
@@ -1,4 +1,4 @@
#title Fprint [RCBasic Doc]
#header sub Fprint(txt$)
-
+Outputs text to the console
diff --git a/doc/files/fps.txt b/doc/files/fps.txt
index 805531c..6e53436 100644
--- a/doc/files/fps.txt
+++ b/doc/files/fps.txt
@@ -1,4 +1,4 @@
#title FPS [RCBasic Doc]
#header function FPS()
-
+Returns the number of frames being rendered per second
diff --git a/doc/files/frac.txt b/doc/files/frac.txt
index b08356f..369f3b2 100644
--- a/doc/files/frac.txt
+++ b/doc/files/frac.txt
@@ -1,4 +1,4 @@
#title Frac [RCBasic Doc]
#header function Frac(n)
-
+Returns the decimal portion of a number.
diff --git a/doc/files/getaccel.txt b/doc/files/getaccel.txt
index 3d151a5..8da28ae 100644
--- a/doc/files/getaccel.txt
+++ b/doc/files/getaccel.txt
@@ -1,4 +1,4 @@
#title GetAccel [RCBasic Doc]
#header sub GetAccel(accel_num, ByRef x, ByRef y, ByRef z)
-
+Gets the axis values for an accelerometer.
diff --git a/doc/files/getactoraabb.txt b/doc/files/getactoraabb.txt
index 0e9abdd..dda85b1 100644
--- a/doc/files/getactoraabb.txt
+++ b/doc/files/getactoraabb.txt
@@ -1,4 +1,4 @@
#title getActorAABB [RCBasic Doc]
#header sub getActorAABB( actor, ByRef min_x, ByRef min_y, ByRef min_z, ByRef max_x, ByRef max_y, ByRef max_z)
-
+Gets the bounding box for an actor.
diff --git a/doc/files/getactorangulardamping.txt b/doc/files/getactorangulardamping.txt
index 1b520aa..dfbe10a 100644
--- a/doc/files/getactorangulardamping.txt
+++ b/doc/files/getactorangulardamping.txt
@@ -1,4 +1,6 @@
-#title getActorAngularDamping [RCBasic Doc]
-#header function getActorAngularDamping( actor)
+#title GetActorAngularDamping [RCBasic Doc]
+#header function GetActorAngularDamping( actor)
+Returns the amount of angular damping set on the actor
+#ref SetActorDamping ApplyActorDamping GetActorLinearDamping
diff --git a/doc/files/getactorangularfactor.txt b/doc/files/getactorangularfactor.txt
index 2394c62..9edd76b 100644
--- a/doc/files/getactorangularfactor.txt
+++ b/doc/files/getactorangularfactor.txt
@@ -1,4 +1,6 @@
#title getActorAngularFactor [RCBasic Doc]
#header sub getActorAngularFactor( actor, ByRef x, ByRef y, ByRef z)
+Returns the angular factor set on an actor
+#ref SetActorAngularFactor GetActorLinearFactor SetActorLinearFactor
diff --git a/doc/files/getactorangularsleepthreshold.txt b/doc/files/getactorangularsleepthreshold.txt
index 5684108..3eded28 100644
--- a/doc/files/getactorangularsleepthreshold.txt
+++ b/doc/files/getactorangularsleepthreshold.txt
@@ -1,4 +1,6 @@
-#title getActorAngularSleepThreshold [RCBasic Doc]
-#header function getActorAngularSleepThreshold( actor)
+#title GetActorAngularSleepThreshold [RCBasic Doc]
+#header function GetActorAngularSleepThreshold( actor)
+Returns the Angular deactivation threshold for the actor
+#ref SetActorSleepThresholds GetActorLinearSleepThreshold
diff --git a/doc/files/getactorangularvelocity.txt b/doc/files/getactorangularvelocity.txt
deleted file mode 100644
index cc5a94f..0000000
--- a/doc/files/getactorangularvelocity.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-#title getActorAngularVelocity [RCBasic Doc]
-#header sub getActorAngularVelocity( actor, ByRef x, ByRef y, ByRef z)
-
-
diff --git a/doc/files/getactorangularvelocitylocal.txt b/doc/files/getactorangularvelocitylocal.txt
index d090d9a..105a9d3 100644
--- a/doc/files/getactorangularvelocitylocal.txt
+++ b/doc/files/getactorangularvelocitylocal.txt
@@ -1,4 +1,6 @@
#title getActorAngularVelocityLocal [RCBasic Doc]
#header sub getActorAngularVelocityLocal( actor, ByRef x, ByRef y, ByRef z)
+Gets an actor's Angular Velocity
+#ref GetActorAngularVelocityWorld SetActorAngularVelocityLocal SetActorAngularVelocityWorld
diff --git a/doc/files/getactorangularvelocityworld.txt b/doc/files/getactorangularvelocityworld.txt
new file mode 100644
index 0000000..6737f6f
--- /dev/null
+++ b/doc/files/getactorangularvelocityworld.txt
@@ -0,0 +1,6 @@
+#title getActorAngularVelocityWorld [RCBasic Doc]
+#header sub getActorAngularVelocityWorld( actor, ByRef x, ByRef y, ByRef z)
+
+Gets an actor's Angular Velocity
+
+#ref GetActorAngularVelocityLocal SetActorAngularVelocityLocal SetActorAngularVelocityWorld
diff --git a/doc/files/getactoranimationspeed.txt b/doc/files/getactoranimationspeed.txt
index f9f217d..56ab127 100644
--- a/doc/files/getactoranimationspeed.txt
+++ b/doc/files/getactoranimationspeed.txt
@@ -1,4 +1,4 @@
#title GetActorAnimationSpeed [RCBasic Doc]
#header function GetActorAnimationSpeed( actor )
-
+Returns actors animation speed in frames per second
diff --git a/doc/files/getactorautoculling.txt b/doc/files/getactorautoculling.txt
index 7f47303..38bcf49 100644
--- a/doc/files/getactorautoculling.txt
+++ b/doc/files/getactorautoculling.txt
@@ -1,4 +1,16 @@
#title GetActorAutoCulling [RCBasic Doc]
#header function GetActorAutoCulling( actor )
+Returns the automatic culling state for an actor
+
+Possible Culling States
+#list
+#li AUTOCULLING_OFF
+#li AUTOCULLING_BOX
+#li AUTOCULLING_FRUSTUM_BOX
+#li AUTOCULLING_FRUSTUM_SPHERE
+#li AUTOCULLING_OCC_QUERY
+#/list
+
+#ref SetActorAutoCulling
diff --git a/doc/files/getactorcollision.txt b/doc/files/getactorcollision.txt
index 194b481..4bf4654 100644
--- a/doc/files/getactorcollision.txt
+++ b/doc/files/getactorcollision.txt
@@ -1,4 +1,6 @@
#title GetActorCollision [RCBasic Doc]
#header function GetActorCollision(actor1, actor2)
+Returns true if 2 actors collide
+Note: This function will work with solid and non solid actors
diff --git a/doc/files/getactorcollisionshape.txt b/doc/files/getactorcollisionshape.txt
index dda6521..7df0631 100644
--- a/doc/files/getactorcollisionshape.txt
+++ b/doc/files/getactorcollisionshape.txt
@@ -1,4 +1,18 @@
#title GetActorCollisionShape [RCBasic Doc]
#header function GetActorCollisionShape(actor)
+Returns the actor's collision shape
+Possible values:
+#list ul
+#li SHAPE_TYPE_NONE
+#li SHAPE_TYPE_BOX
+#li SHAPE_TYPE_SPHERE
+#li SHAPE_TYPE_CYLINDER
+#li SHAPE_TYPE_CAPSULE
+#li SHAPE_TYPE_CONE
+#li SHAPE_TYPE_CONVEXHULL
+#li SHAPE_TYPE_TRIMESH
+#/list
+
+#ref SetActorCollisionShape
diff --git a/doc/files/getactorcomposition.txt b/doc/files/getactorcomposition.txt
index 9977fb6..0dc7ed3 100644
--- a/doc/files/getactorcomposition.txt
+++ b/doc/files/getactorcomposition.txt
@@ -1,4 +1,4 @@
#title getActorCOMPosition [RCBasic Doc]
#header sub getActorCOMPosition( actor, ByRef x, ByRef y, ByRef z)
-
+Gets an actor's center of mass position. This is useful for setting the origin of constraints.
diff --git a/doc/files/getactorcurrentframe.txt b/doc/files/getactorcurrentframe.txt
index 5f8183d..91247b5 100644
--- a/doc/files/getactorcurrentframe.txt
+++ b/doc/files/getactorcurrentframe.txt
@@ -1,4 +1,4 @@
#title GetActorCurrentFrame [RCBasic Doc]
#header function GetActorCurrentFrame( actor )
-
+Returns an actor's current frame of animation
diff --git a/doc/files/getactorendframe.txt b/doc/files/getactorendframe.txt
index abc424a..d4bd288 100644
--- a/doc/files/getactorendframe.txt
+++ b/doc/files/getactorendframe.txt
@@ -1,4 +1,4 @@
#title GetActorEndFrame [RCBasic Doc]
#header function GetActorEndFrame( actor )
-
+Returns the last frame of an actor's animation
diff --git a/doc/files/getactorgravity.txt b/doc/files/getactorgravity.txt
index dc3d015..56b0dd8 100644
--- a/doc/files/getactorgravity.txt
+++ b/doc/files/getactorgravity.txt
@@ -1,4 +1,6 @@
#title GetActorGravity [RCBasic Doc]
#header sub GetActorGravity( actor, ByRef x, ByRef y, ByRef z )
+Gets the gravity of an actor along each access.
+#ref SetActorGravity
diff --git a/doc/files/getactorinverseinertiadiaglocal.txt b/doc/files/getactorinverseinertiadiaglocal.txt
index 2d5d1fb..073f848 100644
--- a/doc/files/getactorinverseinertiadiaglocal.txt
+++ b/doc/files/getactorinverseinertiadiaglocal.txt
@@ -1,4 +1,4 @@
#title getActorInverseInertiaDiagLocal [RCBasic Doc]
#header sub getActorInverseInertiaDiagLocal( actor, ByRef x, ByRef y, ByRef z)
-
+Gets the inverse of the inertia tensor's diagonal components in the local space. This is used to compute how the actor reacts to rotational forces (torques) applied to it.
diff --git a/doc/files/getactorinversemass.txt b/doc/files/getactorinversemass.txt
index a24daec..f0d430a 100644
--- a/doc/files/getactorinversemass.txt
+++ b/doc/files/getactorinversemass.txt
@@ -1,4 +1,6 @@
#title getActorInverseMass [RCBasic Doc]
#header function getActorInverseMass( actor)
+Returns an actor's inverse mass
+
diff --git a/doc/files/getactorlineardamping.txt b/doc/files/getactorlineardamping.txt
index 21563a6..29d4708 100644
--- a/doc/files/getactorlineardamping.txt
+++ b/doc/files/getactorlineardamping.txt
@@ -1,4 +1,6 @@
-#title getActorLinearDamping [RCBasic Doc]
-#header function getActorLinearDamping( actor)
+#title GetActorLinearDamping [RCBasic Doc]
+#header function GetActorLinearDamping( actor)
+Return's an actor's linear damping
+#ref SetActorDamping GetActorAngularDamping
diff --git a/doc/files/getactorlinearfactor.txt b/doc/files/getactorlinearfactor.txt
index 52654ea..3967933 100644
--- a/doc/files/getactorlinearfactor.txt
+++ b/doc/files/getactorlinearfactor.txt
@@ -1,4 +1,6 @@
-#title getActorLinearFactor [RCBasic Doc]
-#header sub getActorLinearFactor( actor, ByRef x, ByRef y, ByRef z)
+#title GetActorLinearFactor [RCBasic Doc]
+#header sub GetActorLinearFactor( actor, ByRef x, ByRef y, ByRef z)
+Gets an actor's linear factor
+#ref SetActorLinearFactor GetActorAngularFactor SetActorAngularFactor
diff --git a/doc/files/getactorlinearsleepthreshold.txt b/doc/files/getactorlinearsleepthreshold.txt
index 946fa6c..fb22817 100644
--- a/doc/files/getactorlinearsleepthreshold.txt
+++ b/doc/files/getactorlinearsleepthreshold.txt
@@ -1,4 +1,6 @@
-#title getActorLinearSleepThreshold [RCBasic Doc]
-#header function getActorLinearSleepThreshold( actor)
+#title GetActorLinearSleepThreshold [RCBasic Doc]
+#header function GetActorLinearSleepThreshold( actor)
+Returns the linear deactivation threshold for the actor
+#ref SetActorSleepThresholds GetActorAngularSleepThreshold
diff --git a/doc/files/getactorlinearvelocity.txt b/doc/files/getactorlinearvelocity.txt
deleted file mode 100644
index 414a5f4..0000000
--- a/doc/files/getactorlinearvelocity.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-#title getActorLinearVelocity [RCBasic Doc]
-#header sub getActorLinearVelocity( actor, ByRef x, ByRef y, ByRef z)
-
-
diff --git a/doc/files/getactorlinearvelocitylocal.txt b/doc/files/getactorlinearvelocitylocal.txt
index f44d509..a7539bd 100644
--- a/doc/files/getactorlinearvelocitylocal.txt
+++ b/doc/files/getactorlinearvelocitylocal.txt
@@ -1,4 +1,6 @@
-#title getActorLinearVelocityLocal [RCBasic Doc]
-#header sub getActorLinearVelocityLocal( actor, ByRef x, ByRef y, ByRef z)
+#title GetActorLinearVelocityLocal [RCBasic Doc]
+#header sub GetActorLinearVelocityLocal( actor, ByRef x, ByRef y, ByRef z)
+Gets actor's linear velocity
+#ref SetActorLinearVelocityLocal SetActorLinearVelocityWorld
diff --git a/doc/files/getactorlinearvelocityworld.txt b/doc/files/getactorlinearvelocityworld.txt
new file mode 100644
index 0000000..52ee7d8
--- /dev/null
+++ b/doc/files/getactorlinearvelocityworld.txt
@@ -0,0 +1,7 @@
+#title getActorLinearVelocityWorld [RCBasic Doc]
+#header sub getActorLinearVelocityWorld( actor, ByRef x, ByRef y, ByRef z)
+
+Gets actor's linear velocity
+
+#ref SetActorLinearVelocityLocal SetActorLinearVelocityWorld
+
diff --git a/doc/files/getactorlocalinertia.txt b/doc/files/getactorlocalinertia.txt
index 1b5c7e9..7bf348c 100644
--- a/doc/files/getactorlocalinertia.txt
+++ b/doc/files/getactorlocalinertia.txt
@@ -1,4 +1,5 @@
-#title getActorLocalInertia [RCBasic Doc]
-#header sub getActorLocalInertia( actor, ByRef x, ByRef y, ByRef z)
+#title GetActorLocalInertia [RCBasic Doc]
+#header sub GetActorLocalInertia( actor, ByRef x, ByRef y, ByRef z)
+Gets the local inertia tensor of an actor. The inertia tensor describes how an actor resists rotational motion depending on its mass distribution relative to its center of mass.
diff --git a/doc/files/getactorlocalpointvelocity.txt b/doc/files/getactorlocalpointvelocity.txt
index 8305998..cc914e0 100644
--- a/doc/files/getactorlocalpointvelocity.txt
+++ b/doc/files/getactorlocalpointvelocity.txt
@@ -1,4 +1,4 @@
#title getActorLocalPointVelocity [RCBasic Doc]
#header sub getActorLocalPointVelocity( actor, rel_x, rel_y, rel_z, ByRef x, ByRef y, ByRef z)
-
+Gets the linear velocity of a specific point on an actor, given its position in the actor's local coordinate space. This is useful for determining how fast and in what direction a particular point on the actor is moving, accounting for both the body's linear velocity and its rotational motion (angular velocity).
diff --git a/doc/files/getactormaterial.txt b/doc/files/getactormaterial.txt
index 40e4367..13d1356 100644
--- a/doc/files/getactormaterial.txt
+++ b/doc/files/getactormaterial.txt
@@ -1,4 +1,6 @@
#title getActorMaterial [RCBasic Doc]
#header function getActorMaterial( actor, material_num)
+Returns an actor's material id.
+Actor's can have multiple materials but generally you want material 0 for most Actor's.
diff --git a/doc/files/getactormaterialcount.txt b/doc/files/getactormaterialcount.txt
index 757fd4b..6e1f86e 100644
--- a/doc/files/getactormaterialcount.txt
+++ b/doc/files/getactormaterialcount.txt
@@ -1,4 +1,4 @@
#title getActorMaterialCount [RCBasic Doc]
#header function getActorMaterialCount( actor)
-
+Returns the number of materials for an actor.
diff --git a/doc/files/getactormaterialflag.txt b/doc/files/getactormaterialflag.txt
index 52561c8..303363d 100644
--- a/doc/files/getactormaterialflag.txt
+++ b/doc/files/getactormaterialflag.txt
@@ -1,4 +1,30 @@
#title getActorMaterialFlag [RCBasic Doc]
#header function getActorMaterialFlag( actor, material, flag)
+Returns the value of the specified material flag
+Possible values for flag:
+#list
+#li MATERIAL_FLAG_WIREFRAME
+#li MATERIAL_FLAG_POINTCLOUD
+#li MATERIAL_FLAG_GOURAUD_SHADING
+#li MATERIAL_FLAG_LIGHTING
+#li MATERIAL_FLAG_ZBUFFER
+#li MATERIAL_FLAG_ZWRITE_ENABLE
+#li MATERIAL_FLAG_BACK_FACE_CULLING
+#li MATERIAL_FLAG_FRONT_FACE_CULLING
+#li MATERIAL_FLAG_BILINEAR_FILTER
+#li MATERIAL_FLAG_TRILINEAR_FILTER
+#li MATERIAL_FLAG_ANISOTROPIC_FILTER
+#li MATERIAL_FLAG_FOG_ENABLE
+#li MATERIAL_FLAG_NORMALIZE_NORMALS
+#li MATERIAL_FLAG_TEXTURE_WRAP
+#li MATERIAL_FLAG_ANTI_ALIASING
+#li MATERIAL_FLAG_COLOR_MASK
+#li MATERIAL_FLAG_COLOR_MATERIAL
+#li MATERIAL_FLAG_USE_MIP_MAPS
+#li MATERIAL_FLAG_BLEND_OPERATION
+#li MATERIAL_FLAG_POLYGON_OFFSET
+#/list
+
+#ref GetMaterialFlag
diff --git a/doc/files/getactormaterialtype.txt b/doc/files/getactormaterialtype.txt
index ffff942..ac3b570 100644
--- a/doc/files/getactormaterialtype.txt
+++ b/doc/files/getactormaterialtype.txt
@@ -1,4 +1,35 @@
-#title getActorMaterialType [RCBasic Doc]
-#header function getActorMaterialType( actor, material)
+#title GetActorMaterialType [RCBasic Doc]
+#header function GetActorMaterialType( actor, material )
+Returns the material type of an actor material
+Possible material types
+#list ul
+#li MATERIAL_TYPE_SOLID
+#li MATERIAL_TYPE_SOLID_2_LAYER
+#li MATERIAL_TYPE_LIGHTMAP
+#li MATERIAL_TYPE_LIGHTMAP_ADD
+#li MATERIAL_TYPE_LIGHTMAP_M2
+#li MATERIAL_TYPE_LIGHTMAP_M4
+#li MATERIAL_TYPE_LIGHTMAP_LIGHTING
+#li MATERIAL_TYPE_LIGHTMAP_LIGHTING_M2
+#li MATERIAL_TYPE_LIGHTMAP_LIGHTING_M4
+#li MATERIAL_TYPE_DETAIL_MAP
+#li MATERIAL_TYPE_SPHERE_MAP
+#li MATERIAL_TYPE_REFLECTION_2_LAYER
+#li MATERIAL_TYPE_TRANSPARENT_ADD_COLOR
+#li MATERIAL_TYPE_TRANSPARENT_ALPHA_CHANNEL
+#li MATERIAL_TYPE_TRANSPARENT_ALPHA_CHANNEL_REF
+#li MATERIAL_TYPE_TRANSPARENT_VERTEX_ALPHA
+#li MATERIAL_TYPE_TRANSPARENT_REFLECTION_2_LAYER
+#li MATERIAL_TYPE_NORMAL_MAP_SOLID
+#li MATERIAL_TYPE_NORMAL_MAP_TRANSPARENT_ADD_COLOR
+#li MATERIAL_TYPE_NORMAL_MAP_TRANSPARENT_VERTEX_ALPHA
+#li MATERIAL_TYPE_PARALLAX_MAP_SOLID
+#li MATERIAL_TYPE_PARALLAX_MAP_TRANSPARENT_ADD_COLOR
+#li MATERIAL_TYPE_PARALLAX_MAP_TRANSPARENT_VERTEX_ALPHA
+#li MATERIAL_TYPE_ONETEXTURE_BLEND
+#li MATERIAL_TYPE_FORCE_32BIT
+#/list
+
+#ref SetActorMaterialType GetMaterialType SetMaterialType
diff --git a/doc/files/getactorposition.txt b/doc/files/getactorposition.txt
index 937ae82..5e8dc69 100644
--- a/doc/files/getactorposition.txt
+++ b/doc/files/getactorposition.txt
@@ -1,4 +1,6 @@
#title GetActorPosition [RCBasic Doc]
#header sub GetActorPosition( actor, ByRef x, ByRef y, ByRef z )
+Gets the actors position
+#ref SetActorPosition
diff --git a/doc/files/getactorrotation.txt b/doc/files/getactorrotation.txt
index 1239120..b8c5909 100644
--- a/doc/files/getactorrotation.txt
+++ b/doc/files/getactorrotation.txt
@@ -1,4 +1,6 @@
#title GetActorRotation [RCBasic Doc]
#header sub GetActorRotation( actor, ByRef x, ByRef y, ByRef z )
+Gets the actors rotation on each axis
+#ref SetActorRotation
diff --git a/doc/files/getactorrotationq.txt b/doc/files/getactorrotationq.txt
index 81b4e3d..b7c0450 100644
--- a/doc/files/getactorrotationq.txt
+++ b/doc/files/getactorrotationq.txt
@@ -1,4 +1,8 @@
-#title getActorRotationQ [RCBasic Doc]
-#header sub getActorRotationQ( actor, ByRef x, ByRef y, ByRef z, ByRef w)
+#title GetActorRotationQ [RCBasic Doc]
+#header sub GetActorRotationQ( actor, ByRef x, ByRef y, ByRef z, ByRef w)
+Gets the actors rotation as a quaternion.
+Note: This is useful for calculations that require quaternion but most developers should just use GetActorRotation()
+
+#ref GetActorRotation SetActorRotation
diff --git a/doc/files/getactorscale.txt b/doc/files/getactorscale.txt
index 0c30791..d3d1064 100644
--- a/doc/files/getactorscale.txt
+++ b/doc/files/getactorscale.txt
@@ -1,4 +1,6 @@
#title GetActorScale [RCBasic Doc]
#header sub GetActorScale( actor, ByRef x, ByRef y, ByRef z )
+Gets an actor's scale
+#ref SetActorScale
diff --git a/doc/files/getactorstartframe.txt b/doc/files/getactorstartframe.txt
index 72748f5..a48bd45 100644
--- a/doc/files/getactorstartframe.txt
+++ b/doc/files/getactorstartframe.txt
@@ -1,4 +1,4 @@
#title GetActorStartFrame [RCBasic Doc]
#header function GetActorStartFrame( actor )
-
+Returns the start frame of an actor's animation
diff --git a/doc/files/getactortotalforce.txt b/doc/files/getactortotalforce.txt
index b48a59f..e891630 100644
--- a/doc/files/getactortotalforce.txt
+++ b/doc/files/getactortotalforce.txt
@@ -1,4 +1,6 @@
-#title getActorTotalForce [RCBasic Doc]
-#header sub getActorTotalForce( actor, ByRef x, ByRef y, ByRef z)
+#title GetActorTotalForce [RCBasic Doc]
+#header sub GetActorTotalForce( actor, ByRef x, ByRef y, ByRef z)
+Gets the total net force currently acting on an actor. This force is the sum of all external forces applied to the actor at a given point in time, including forces like gravity, applied forces, and other interactions such as contact or collision forces.
+#ref GetActorTotalTorque
diff --git a/doc/files/getactortotaltorque.txt b/doc/files/getactortotaltorque.txt
index 9e64af4..04516d8 100644
--- a/doc/files/getactortotaltorque.txt
+++ b/doc/files/getactortotaltorque.txt
@@ -1,4 +1,6 @@
-#title getActorTotalTorque [RCBasic Doc]
-#header sub getActorTotalTorque( actor, ByRef x, ByRef y, ByRef z)
+#title GetActorTotalTorque [RCBasic Doc]
+#header sub GetActorTotalTorque( actor, ByRef x, ByRef y, ByRef z)
+Gets the total net torque currently acting on an actor. Torque represents the rotational equivalent of force, describing how different forces applied to the actor cause it to rotate. The total torque is the sum of all external torques acting on the actor, which determine how the actor will rotate or change its angular velocity.
+#ref GetTotalForces
diff --git a/doc/files/getactortransform.txt b/doc/files/getactortransform.txt
index 49805f1..fb7ecac 100644
--- a/doc/files/getactortransform.txt
+++ b/doc/files/getactortransform.txt
@@ -1,4 +1,4 @@
#title GetActorTransform [RCBasic Doc]
#header sub GetActorTransform( actor, matrix )
-
+Stores the actors absolute transformation in the given matrix
diff --git a/doc/files/getactortransitiontime.txt b/doc/files/getactortransitiontime.txt
index 7466040..7bb2714 100644
--- a/doc/files/getactortransitiontime.txt
+++ b/doc/files/getactortransitiontime.txt
@@ -1,4 +1,8 @@
#title GetActorTransitionTime [RCBasic Doc]
#header function GetActorTransitionTime( actor )
+Returns the total transition time of an actor transitioning between animations
+Note: Time returned is in seconds
+
+#ref StartActorTransition StopActorTransition ActorIsInTransition
diff --git a/doc/files/getbilinearfilter.txt b/doc/files/getbilinearfilter.txt
index b2231d1..1cfdac2 100644
--- a/doc/files/getbilinearfilter.txt
+++ b/doc/files/getbilinearfilter.txt
@@ -1,4 +1,6 @@
-#title getBilinearFilter [RCBasic Doc]
-#header function getBilinearFilter()
+#title GetBilinearFilter [RCBasic Doc]
+#header function GetBilinearFilter()
+Returns true if bilinear filtering is enabled
+#ref SetBilinearFilter
diff --git a/doc/files/getblendmode.txt b/doc/files/getblendmode.txt
index f6d47ca..de35dd7 100644
--- a/doc/files/getblendmode.txt
+++ b/doc/files/getblendmode.txt
@@ -1,4 +1,22 @@
#title GetBlendMode [RCBasic Doc]
-#header function ImageBlendMode(slot)
+#header function GetBlendMode( )
+Returns the current blend mode
+Note: Only applies to 2D image drawing commands
+
+Possible Blend Modes
+#list ul
+#li BLEND_MODE_NONE
+#li BLEND_MODE_ADD
+#li BLEND_MODE_SUBTRACT
+#li BLEND_MODE_REVSUBTRACT
+#li BLEND_MODE_MIN
+#li BLEND_MODE_MAX
+#li BLEND_MODE_MIN_FACTOR
+#li BLEND_MODE_MAX_FACTOR
+#li BLEND_MODE_MIN_ALPHA
+#li BLEND_MODE_MAX_ALPHA
+#/list
+
+#ref SetBlendMode
diff --git a/doc/files/getcameraaspectratio.txt b/doc/files/getcameraaspectratio.txt
index 9afda9c..afd5638 100644
--- a/doc/files/getcameraaspectratio.txt
+++ b/doc/files/getcameraaspectratio.txt
@@ -1,4 +1,6 @@
#title GetCameraAspectRatio [RCBasic Doc]
#header function GetCameraAspectRatio( )
+Returns the camera aspect ratio for the active canvas
+#ref SetCameraAspectRatio
diff --git a/doc/files/getcamerafarvalue.txt b/doc/files/getcamerafarvalue.txt
index c886428..02ad686 100644
--- a/doc/files/getcamerafarvalue.txt
+++ b/doc/files/getcamerafarvalue.txt
@@ -1,4 +1,6 @@
#title GetCameraFarValue [RCBasic Doc]
#header function GetCameraFarValue( )
+Returns the far plane of the camera on the active canvas
+#ref GetCameraNearValue
diff --git a/doc/files/getcamerafov.txt b/doc/files/getcamerafov.txt
index 224f298..847d494 100644
--- a/doc/files/getcamerafov.txt
+++ b/doc/files/getcamerafov.txt
@@ -1,4 +1,4 @@
#title GetCameraFOV [RCBasic Doc]
#header function GetCameraFOV( )
-
+Returns the field of view of the camera on the active canvas
diff --git a/doc/files/getcameranearvalue.txt b/doc/files/getcameranearvalue.txt
index f0db708..cbbeeda 100644
--- a/doc/files/getcameranearvalue.txt
+++ b/doc/files/getcameranearvalue.txt
@@ -1,4 +1,6 @@
#title GetCameraNearValue [RCBasic Doc]
#header function GetCameraNearValue( )
+Returns the near plane of the camera on the active canvas
+#ref GetCameraFarValue
diff --git a/doc/files/getcameraposition.txt b/doc/files/getcameraposition.txt
index b6b38be..bfbf333 100644
--- a/doc/files/getcameraposition.txt
+++ b/doc/files/getcameraposition.txt
@@ -1,4 +1,6 @@
#title GetCameraPosition [RCBasic Doc]
#header sub GetCameraPosition(ByRef x, ByRef y, ByRef z)
+Gets the position of the camera
+#ref SetCameraPosition TranslateCamera
diff --git a/doc/files/getcamerarotation.txt b/doc/files/getcamerarotation.txt
index 127cd88..5768652 100644
--- a/doc/files/getcamerarotation.txt
+++ b/doc/files/getcamerarotation.txt
@@ -1,4 +1,6 @@
#title GetCameraRotation [RCBasic Doc]
#header sub GetCameraRotation(ByRef x, ByRef y, ByRef z)
+Gets the rotation of the camera on each axis
+#ref SetCameraRotation RotateCamera
diff --git a/doc/files/getcanvasalpha.txt b/doc/files/getcanvasalpha.txt
index 04b92ed..10e1bf0 100644
--- a/doc/files/getcanvasalpha.txt
+++ b/doc/files/getcanvasalpha.txt
@@ -1,4 +1,6 @@
#title GetCanvasAlpha [RCBasic Doc]
-#header function CanvasAlpha(c_num)
+#header function GetCanvasAlpha(c_num)
+Returns the alpha blend value of a canvas
+#ref SetCanvasAlpha
diff --git a/doc/files/getcanvascolormod.txt b/doc/files/getcanvascolormod.txt
index ccd1489..6842661 100644
--- a/doc/files/getcanvascolormod.txt
+++ b/doc/files/getcanvascolormod.txt
@@ -1,4 +1,6 @@
#title GetCanvasColorMod [RCBasic Doc]
-#header function CanvasColorMod(c_num)
+#header function GetCanvasColorMod(c_num)
+Returns the color modulation of a canvas
+#ref SetCanvasColorMod
diff --git a/doc/files/getcanvasoffset.txt b/doc/files/getcanvasoffset.txt
index 2d21688..c35d618 100644
--- a/doc/files/getcanvasoffset.txt
+++ b/doc/files/getcanvasoffset.txt
@@ -1,4 +1,6 @@
#title GetCanvasOffset [RCBasic Doc]
#header sub GetCanvasOffset(c_num, byref x, byref y)
+Returns view offset of a canvas
+#ref SetCanvasOffset
diff --git a/doc/files/getcanvassize.txt b/doc/files/getcanvassize.txt
index 5e5a54f..bdb68af 100644
--- a/doc/files/getcanvassize.txt
+++ b/doc/files/getcanvassize.txt
@@ -1,4 +1,4 @@
#title GetCanvasSize [RCBasic Doc]
#header sub GetCanvasSize(c_num, byref w, byref h)
-
+Gets the size of a canvas
diff --git a/doc/files/getcanvasviewport.txt b/doc/files/getcanvasviewport.txt
index 4226d0b..99ad32c 100644
--- a/doc/files/getcanvasviewport.txt
+++ b/doc/files/getcanvasviewport.txt
@@ -1,4 +1,6 @@
#title GetCanvasViewport [RCBasic Doc]
#header sub GetCanvasViewport(c_num, byref x, byref y, byref w, byref h)
+Gets the position and size of a canvas viewport
+#ref OpenCanvas SetCanvasViewport
diff --git a/doc/files/getcanvasz.txt b/doc/files/getcanvasz.txt
index 9314a95..d82f672 100644
--- a/doc/files/getcanvasz.txt
+++ b/doc/files/getcanvasz.txt
@@ -1,4 +1,8 @@
#title GetCanvasZ [RCBasic Doc]
-#header function CanvasZ(c_num)
+#header function GetCanvasZ(c_num)
+Returns the Canvas Z Order.
+Note: Canvases with a lower Z order are drawn first and those with higher values will be drawn on top
+
+#ref SetCanvasZ
diff --git a/doc/files/getchannelvolume.txt b/doc/files/getchannelvolume.txt
index 2903365..1101b98 100644
--- a/doc/files/getchannelvolume.txt
+++ b/doc/files/getchannelvolume.txt
@@ -1,4 +1,4 @@
#title GetChannelVolume [RCBasic Doc]
-#header function ChannelVolume(channel)
-
+#header function GetChannelVolume(channel)
+Returns the volume of the audio on a channel
diff --git a/doc/files/getcirclelineintersection.txt b/doc/files/getcirclelineintersection.txt
index 590b29d..1026aba 100644
--- a/doc/files/getcirclelineintersection.txt
+++ b/doc/files/getcirclelineintersection.txt
@@ -1,4 +1,6 @@
#title GetCircleLineIntersection [RCBasic Doc]
#header function GetCircleLineIntersection(circle_x, circle_y, radius, x1, y1, x2, y2, ByRef ix1, ByRef iy1, ByRef ix2, ByRef iy2)
+Calculates the points where a circle and line intersect and stores the intersection points in (ix1, iy1) and (ix2, iy2)
+NOTE: This function returns 0 if there is no intersection and 1 or 2 if there is 1 or 2 intersection points. If it only returns 1 then only (ix1, iy1) will be set.
diff --git a/doc/files/getclipboardtext.txt b/doc/files/getclipboardtext.txt
index c587697..46fc3dc 100644
--- a/doc/files/getclipboardtext.txt
+++ b/doc/files/getclipboardtext.txt
@@ -1,4 +1,4 @@
#title GetClipboardText$ [RCBasic Doc]
-#header function ClipboardText$()
-
+#header function GetClipboardText$( )
+Returns the clipboard text.
diff --git a/doc/files/getconeanglepoint.txt b/doc/files/getconeanglepoint.txt
new file mode 100644
index 0000000..7376129
--- /dev/null
+++ b/doc/files/getconeanglepoint.txt
@@ -0,0 +1,4 @@
+#title getConeAnglePoint [RCBasic Doc]
+#header sub getConeAnglePoint( constraint_id, angle, c_len, ByRef x, ByRef y, ByRef z)
+
+Computes or retrieves a point based on a given angle relative to the constraint’s twist axis.
diff --git a/doc/files/getconebiasfactor.txt b/doc/files/getconebiasfactor.txt
new file mode 100644
index 0000000..7837b87
--- /dev/null
+++ b/doc/files/getconebiasfactor.txt
@@ -0,0 +1,4 @@
+#title getConeBiasFactor [RCBasic Doc]
+#header function getConeBiasFactor( constraint_id)
+
+Returns the bias factor used to correct constraint violations (such as small positional or angular errors) during the simulation. The bias factor helps ensure that the constrained actors return to their intended positions or orientations over time by applying corrective forces or impulses.
diff --git a/doc/files/getconedamping.txt b/doc/files/getconedamping.txt
new file mode 100644
index 0000000..bf4bb89
--- /dev/null
+++ b/doc/files/getconedamping.txt
@@ -0,0 +1,6 @@
+#title getConeDamping [RCBasic Doc]
+#header function getConeDamping( constraint_id)
+
+Returns the damping factor applied to the constraint. Damping is used to reduce the amount of oscillation or unwanted movement (such as excessive rotation or swinging) around the constrained actor's axes.
+
+# SetConeDamping
diff --git a/doc/files/getconefixthresh.txt b/doc/files/getconefixthresh.txt
new file mode 100644
index 0000000..fbce3b5
--- /dev/null
+++ b/doc/files/getconefixthresh.txt
@@ -0,0 +1,8 @@
+#title getConeFixThresh [RCBasic Doc]
+#header function getConeFixThresh( constraint_id)
+
+Returns the fix threshold value associated with that constraint. This threshold is used to control how the constraint behaves when the angle of the rotation between the actors approaches the limits defined by the cone twist constraint.
+
+The fix threshold defines a limit or tolerance for how closely the angle between the two actors can approach the constraint's limits before corrective actions are taken. When the angular motion exceeds this threshold, the constraint applies corrective forces to bring the motion back within the allowed range.
+
+#ref SetConeFixThresh
diff --git a/doc/files/getconelimit.txt b/doc/files/getconelimit.txt
new file mode 100644
index 0000000..cda98a0
--- /dev/null
+++ b/doc/files/getconelimit.txt
@@ -0,0 +1,13 @@
+#title getConeLimit [RCBasic Doc]
+#header function getConeLimit( constraint_id, limit_index)
+
+Returns the angular limit associated with a specific degree of freedom in the cone constraint. This limit defines the range of motion allowed around a given axis (twist, swing1, or swing2) for the constrained actors.
+
+limitIndex is an integer that indicates which limit to retrieve. It typically takes values corresponding to the type of limit:
+#list ul
+#li 0: Limit for the twist axis.
+#li 1: Limit for the swing1 axis.
+#li 2: Limit for the swing2 axis.
+#/list
+
+Returns value is the maximum angle or range allowed for the specified degree of freedom (twist, swing1, or swing2)
diff --git a/doc/files/getconesolveswinglimit.txt b/doc/files/getconesolveswinglimit.txt
new file mode 100644
index 0000000..791712a
--- /dev/null
+++ b/doc/files/getconesolveswinglimit.txt
@@ -0,0 +1,8 @@
+#title getConeSolveSwingLimit [RCBasic Doc]
+#header function getConeSolveSwingLimit( constraint_id)
+
+Returns whether the swing limit of the constraint is currently being enforced during the simulation.
+
+The swing limit defines the boundary within which the connected actors can swing. When the bodies approach or exceed this limit, the physics engine enforces a constraint to prevent further motion.
+If the swing limit is exceeded during simulation, corrective forces are applied to bring the actors back within the allowed range.
+
diff --git a/doc/files/getconesolvetwistlimit.txt b/doc/files/getconesolvetwistlimit.txt
new file mode 100644
index 0000000..ec224ea
--- /dev/null
+++ b/doc/files/getconesolvetwistlimit.txt
@@ -0,0 +1,7 @@
+#title getConeSolveTwistLimit [RCBasic Doc]
+#header function getConeSolveTwistLimit( constraint_id)
+
+Returns whether the twist limit is currently being enforced during the simulation.
+
+The twist limit controls how much the connected actors can rotate around the central axis of the joint (the "twist" axis).
+When the actors rotate beyond this allowed limit, the physics engine applies corrective forces to keep the rotation within the defined twist range.
diff --git a/doc/files/getconeswingspan1.txt b/doc/files/getconeswingspan1.txt
new file mode 100644
index 0000000..18e580e
--- /dev/null
+++ b/doc/files/getconeswingspan1.txt
@@ -0,0 +1,8 @@
+#title getConeSwingSpan1 [RCBasic Doc]
+#header function getConeSwingSpan1( constraint_id)
+
+Returns the maximum allowed rotation angle (or "span") for the first swing axis. This swing axis is one of the two orthogonal axes around which the constrained actors are allowed to swing, forming a cone-shaped range of motion.
+
+There are two swing spans, swing span 1 and swing span 2, corresponding to the maximum allowable swing angles around each of the two swing axes.
+
+#ref GetConeSwingSpan2
diff --git a/doc/files/getconeswingspan2.txt b/doc/files/getconeswingspan2.txt
new file mode 100644
index 0000000..5ecb405
--- /dev/null
+++ b/doc/files/getconeswingspan2.txt
@@ -0,0 +1,8 @@
+#title getConeSwingSpan2 [RCBasic Doc]
+#header function getConeSwingSpan2( constraint_id)
+
+Returns the maximum allowed rotation angle (or "span") for the second swing axis. This swing axis is one of the two orthogonal axes around which the constrained actors are allowed to swing, forming a cone-shaped range of motion.
+
+There are two swing spans, swing span 1 and swing span 2, corresponding to the maximum allowable swing angles around each of the two swing axes.
+
+#ref GetConeSwingSpan1
diff --git a/doc/files/getconetwistangle.txt b/doc/files/getconetwistangle.txt
new file mode 100644
index 0000000..b4c00e3
--- /dev/null
+++ b/doc/files/getconetwistangle.txt
@@ -0,0 +1,10 @@
+#title getConeTwistAngle [RCBasic Doc]
+#header function getConeTwistAngle( constraint_id)
+
+Returns the current twist angle between the two actors connected by the constraint
+
+#list ul
+#li The twist angle is the current rotational angle between the two actors around the primary twist axis.
+#li It represents how much the actors have rotated relative to each other around the axis, which is the same axis that the twist limit is applied to.
+#li The twist angle can be compared to the twist limit to determine if the constraint is approaching or exceeding the allowed range of rotation.
+#/list
diff --git a/doc/files/getconetwistlimitsign.txt b/doc/files/getconetwistlimitsign.txt
new file mode 100644
index 0000000..47a753a
--- /dev/null
+++ b/doc/files/getconetwistlimitsign.txt
@@ -0,0 +1,9 @@
+#title getConeTwistLimitSign [RCBasic Doc]
+#header function getConeTwistLimitSign( constraint_id)
+
+Returns the sign of the twist limit, which indicates the direction of the twist limit enforcement around the twist axis.
+
+#list ul
+#li The twist limit sign determines the direction in which the twist limit is applied.
+#li A positive sign typically indicates a counterclockwise rotation is allowed, while a negative sign indicates a clockwise rotation is allowed.
+#/list
diff --git a/doc/files/getconetwistspan.txt b/doc/files/getconetwistspan.txt
new file mode 100644
index 0000000..b892f53
--- /dev/null
+++ b/doc/files/getconetwistspan.txt
@@ -0,0 +1,4 @@
+#title getConeTwistSpan [RCBasic Doc]
+#header function getConeTwistSpan( constraint_id)
+
+Returns the maximum allowed twist angle for the constraint, which determines how far the connected bodies can rotate around the twist axis before the constraint enforces limits.
diff --git a/doc/files/getconstraintactora.txt b/doc/files/getconstraintactora.txt
index 1bee2c2..2a5767f 100644
--- a/doc/files/getconstraintactora.txt
+++ b/doc/files/getconstraintactora.txt
@@ -1,4 +1,4 @@
#title getConstraintActorA [RCBasic Doc]
#header function getConstraintActorA( constraint_id)
-
+Returns the first actor in a constraint
diff --git a/doc/files/getconstraintactorb.txt b/doc/files/getconstraintactorb.txt
index 46bebe2..b4bb449 100644
--- a/doc/files/getconstraintactorb.txt
+++ b/doc/files/getconstraintactorb.txt
@@ -1,4 +1,4 @@
#title getConstraintActorB [RCBasic Doc]
#header function getConstraintActorB( constraint_id)
-
+Returns the second actor in a constraint
diff --git a/doc/files/getconstraintaframe.txt b/doc/files/getconstraintaframe.txt
index 8de1538..08d4376 100644
--- a/doc/files/getconstraintaframe.txt
+++ b/doc/files/getconstraintaframe.txt
@@ -1,4 +1,8 @@
-#title getConstraintAFrame [RCBasic Doc]
-#header function getConstraintAFrame( constraint_id, mA)
+#title GetConstraintAFrame [RCBasic Doc]
+#header function GetConstraintAFrame( constraint_id, mA)
+Stores the transform of the first actor in a constraint in mA
+Note: Only applies to cone and hinge constraints
+
+#ref GetConstraintBFrame
diff --git a/doc/files/getconstraintanchora.txt b/doc/files/getconstraintanchora.txt
deleted file mode 100644
index d14b775..0000000
--- a/doc/files/getconstraintanchora.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-#title getConstraintAnchorA [RCBasic Doc]
-#header sub getConstraintAnchorA( constraint_id, ByRef x, ByRef y, ByRef z)
-
-
diff --git a/doc/files/getconstraintanchorb.txt b/doc/files/getconstraintanchorb.txt
deleted file mode 100644
index bc26079..0000000
--- a/doc/files/getconstraintanchorb.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-#title getConstraintAnchorB [RCBasic Doc]
-#header sub getConstraintAnchorB( constraint_id, ByRef x, ByRef y, ByRef z)
-
-
diff --git a/doc/files/getconstraintangdepth.txt b/doc/files/getconstraintangdepth.txt
deleted file mode 100644
index 08d3090..0000000
--- a/doc/files/getconstraintangdepth.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-#title getConstraintAngDepth [RCBasic Doc]
-#header function getConstraintAngDepth( constraint_id)
-
-
diff --git a/doc/files/getconstraintangularonly.txt b/doc/files/getconstraintangularonly.txt
index 3e57409..437e99c 100644
--- a/doc/files/getconstraintangularonly.txt
+++ b/doc/files/getconstraintangularonly.txt
@@ -1,4 +1,9 @@
#title getConstraintAngularOnly [RCBasic Doc]
#header function getConstraintAngularOnly( constraint_id)
+Returns true if the hinge constraint is set to limit only angular motion while allowing unrestricted linear (translational) motion.
+Note: Applies to Cone and Hinge constraints
+
+#ref SetConstraintAngularOnly
+
diff --git a/doc/files/getconstraintappliedimpulse.txt b/doc/files/getconstraintappliedimpulse.txt
index 180117a..fb49e1e 100644
--- a/doc/files/getconstraintappliedimpulse.txt
+++ b/doc/files/getconstraintappliedimpulse.txt
@@ -1,4 +1,4 @@
#title getConstraintAppliedImpulse [RCBasic Doc]
#header function getConstraintAppliedImpulse( constraint_id)
-
+Returns the impulse applied to a constraint during the last simulation step. This impulse is the force integrated over a small time step (impulse = force × time) and is applied to resolve the constraint and maintain its behavior, such as keeping two objects connected or restricting movement.
diff --git a/doc/files/getconstraintbframe.txt b/doc/files/getconstraintbframe.txt
index 9a889c3..1419f08 100644
--- a/doc/files/getconstraintbframe.txt
+++ b/doc/files/getconstraintbframe.txt
@@ -1,4 +1,8 @@
-#title getConstraintBFrame [RCBasic Doc]
-#header function getConstraintBFrame( constraint_id, mA)
+#title GetConstraintBFrame [RCBasic Doc]
+#header function GetConstraintBFrame( constraint_id, mA)
+Stores the transform of the second actor in a constraint in mA
+Note: Only applies to cone and hinge constraints
+
+#ref GetConstraintAFrame
diff --git a/doc/files/getconstraintbreakingimpulsethreshold.txt b/doc/files/getconstraintbreakingimpulsethreshold.txt
index 48f058a..b206943 100644
--- a/doc/files/getconstraintbreakingimpulsethreshold.txt
+++ b/doc/files/getconstraintbreakingimpulsethreshold.txt
@@ -1,4 +1,6 @@
#title getConstraintBreakingImpulseThreshold [RCBasic Doc]
#header function getConstraintBreakingImpulseThreshold( constraint_id)
+Returns the breaking impulse threshold for a given constraint. The breaking impulse threshold defines the maximum force (impulse) a constraint can withstand before it "breaks," meaning that the constraint will be deactivated and no longer enforce its rules.
+#ref SetConstraintBreakingImpulseThreshold
diff --git a/doc/files/getconstraintfixedactor.txt b/doc/files/getconstraintfixedactor.txt
index 57e4599..35c29e1 100644
--- a/doc/files/getconstraintfixedactor.txt
+++ b/doc/files/getconstraintfixedactor.txt
@@ -1,4 +1,5 @@
#title getConstraintFixedActor [RCBasic Doc]
#header function getConstraintFixedActor( constraint_id)
+Returns the actor that is associated with a specific constraint. This is primarily applicable in constraints that involve one actor being constrained to another or to a static point in the simulation.
diff --git a/doc/files/getconstraintframeoffseta.txt b/doc/files/getconstraintframeoffseta.txt
index c6fea6a..d45c687 100644
--- a/doc/files/getconstraintframeoffseta.txt
+++ b/doc/files/getconstraintframeoffseta.txt
@@ -1,4 +1,6 @@
#title getConstraintFrameOffsetA [RCBasic Doc]
#header sub getConstraintFrameOffsetA( constraint_id, ByRef x, ByRef y, ByRef z, ByRef rx, ByRef ry, ByRef rz)
+Gets the frame offset for actor A associated with a particular constraint. This frame offset defines the position and orientation of actor A relative to the constraint's anchor point.
+#ref GetConstraintFrameOffsetB
diff --git a/doc/files/getconstraintframeoffsetb.txt b/doc/files/getconstraintframeoffsetb.txt
index 01130ad..c4c59a7 100644
--- a/doc/files/getconstraintframeoffsetb.txt
+++ b/doc/files/getconstraintframeoffsetb.txt
@@ -1,4 +1,6 @@
#title getConstraintFrameOffsetB [RCBasic Doc]
#header sub getConstraintFrameOffsetB( constraint_id, ByRef x, ByRef y, ByRef z, ByRef rx, ByRef ry, ByRef rz)
+Gets the frame offset for actor B associated with a particular constraint. This frame offset defines the position and orientation of actor B relative to the constraint's anchor point.
+#ref GetConstraintFrameOffsetA
diff --git a/doc/files/getconstraintlimitsoftness.txt b/doc/files/getconstraintlimitsoftness.txt
index 4a653d5..77c85b8 100644
--- a/doc/files/getconstraintlimitsoftness.txt
+++ b/doc/files/getconstraintlimitsoftness.txt
@@ -1,4 +1,11 @@
#title getConstraintLimitSoftness [RCBasic Doc]
#header function getConstraintLimitSoftness( constraint_id)
+Returns the softness parameter associated with the limits of the constraint. This softness affects how the constraint behaves when the angular motion of the connected actors approaches their defined limits.
+#list ul
+#li Hard Limits: If the softness value is set to 1.0, it means the limits are treated as hard constraints. The physics engine will enforce these limits strictly, applying strong corrective forces to keep the motion within the limits.
+#li Soft Limits: A softness value less than 1.0 allows for some flexibility in the motion. The actors can "push" against the limits without an immediate strong corrective force, leading to a more gradual response when approaching the limits.
+#/list
+
+#ref SetConstraintSoftnessDirAng SetConstraintSoftnessDirLin SetConstraintSoftnessLimAng SetConstraintSoftnessLimLin SetConstraintSoftnessOrthoAng
diff --git a/doc/files/getconstraintsolveriterations.txt b/doc/files/getconstraintsolveriterations.txt
index 951060c..cbf42a2 100644
--- a/doc/files/getconstraintsolveriterations.txt
+++ b/doc/files/getconstraintsolveriterations.txt
@@ -1,4 +1,4 @@
#title getConstraintSolverIterations [RCBasic Doc]
#header function getConstraintSolverIterations( constraint_id)
-
+Returns the value for the number of solver iterations that have been overridden for a specific constraint or actor. Solver iterations refer to the number of times the physics engine solves for constraint forces during each simulation step.
diff --git a/doc/files/getdesktopdisplaymode.txt b/doc/files/getdesktopdisplaymode.txt
index 6bb36b9..65150ed 100644
--- a/doc/files/getdesktopdisplaymode.txt
+++ b/doc/files/getdesktopdisplaymode.txt
@@ -1,4 +1,10 @@
#title GetDesktopDisplayMode [RCBasic Doc]
#header Sub GetDesktopDisplayMode(index, ByRef w, ByRef h, ByRef freq)
+Gets the resolution and refresh rate of a display
+#list
+#li index - The display index (ie. if you have 3 displays then index could be 0, 1, or 2)
+#li w, h - The width and height of the display will be stored in these variables
+#li freq - The refresh rate will be stored in this variable
+#/list
diff --git a/doc/files/getglobalmouse.txt b/doc/files/getglobalmouse.txt
index 7c8a923..7267e36 100644
--- a/doc/files/getglobalmouse.txt
+++ b/doc/files/getglobalmouse.txt
@@ -1,4 +1,4 @@
#title GetGlobalMouse [RCBasic Doc]
#header sub GetGlobalMouse(ByRef x, ByRef y, ByRef mb1, ByRef mb2, ByRef mb3)
-
+Gets the global mouse position and button state
diff --git a/doc/files/getgravity3d.txt b/doc/files/getgravity3d.txt
index 2878e14..ffb2a6a 100644
--- a/doc/files/getgravity3d.txt
+++ b/doc/files/getgravity3d.txt
@@ -1,4 +1,6 @@
#title GetGravity3D [RCBasic Doc]
#header sub GetGravity3D(ByRef x, ByRef y, ByRef z)
+Gets the world gravity
+#ref SetGravity3D
diff --git a/doc/files/getgyro.txt b/doc/files/getgyro.txt
index 34b13c8..b622e77 100644
--- a/doc/files/getgyro.txt
+++ b/doc/files/getgyro.txt
@@ -1,4 +1,4 @@
#title GetGyro [RCBasic Doc]
#header sub GetGyro(gyro_num, ByRef x, ByRef y, ByRef z)
-
+Gets the values of a Gyro sensor
diff --git a/doc/files/gethingeangle.txt b/doc/files/gethingeangle.txt
index 5d33ab8..341c02c 100644
--- a/doc/files/gethingeangle.txt
+++ b/doc/files/gethingeangle.txt
@@ -1,4 +1,4 @@
#title getHingeAngle [RCBasic Doc]
#header function getHingeAngle( constraint_id)
-
+Returns the angle of a hinge constraint
diff --git a/doc/files/gethingeangleex.txt b/doc/files/gethingeangleex.txt
index ce3fa17..c89928a 100644
--- a/doc/files/gethingeangleex.txt
+++ b/doc/files/gethingeangleex.txt
@@ -1,4 +1,4 @@
#title getHingeAngleEx [RCBasic Doc]
#header function getHingeAngleEx( constraint_id, t_matrixA, t_matrixB)
-
+Returns the transforms of the 2 actors in a hinge constraint
diff --git a/doc/files/gethingelimitbiasfactor.txt b/doc/files/gethingelimitbiasfactor.txt
new file mode 100644
index 0000000..466156c
--- /dev/null
+++ b/doc/files/gethingelimitbiasfactor.txt
@@ -0,0 +1,6 @@
+#title getHingeLimitBiasFactor [RCBasic Doc]
+#header function getHingeLimitBiasFactor( constraint_id)
+
+Returns the bias factor associated with the limits of the hinge constraint. This bias factor affects how the constraint corrects errors when the angular position of the constrained actors approaches or exceeds the defined limits.
+
+The bias factor is a parameter that influences how aggressively the constraint corrects the position when the angular motion reaches the limits. A higher bias factor results in a stronger corrective force, helping to pull the constrained bodies back within their limits more quickly.
diff --git a/doc/files/gethingelimitrelaxationfactor.txt b/doc/files/gethingelimitrelaxationfactor.txt
new file mode 100644
index 0000000..61f10f0
--- /dev/null
+++ b/doc/files/gethingelimitrelaxationfactor.txt
@@ -0,0 +1,4 @@
+#title getHingeLimitRelaxationFactor [RCBasic Doc]
+#header function getHingeLimitRelaxationFactor( constraint_id)
+
+
diff --git a/doc/files/gethingelimitsign.txt b/doc/files/gethingelimitsign.txt
new file mode 100644
index 0000000..07a5d39
--- /dev/null
+++ b/doc/files/gethingelimitsign.txt
@@ -0,0 +1,8 @@
+#title getHingeLimitSign [RCBasic Doc]
+#header function getHingeLimitSign( constraint_id)
+
+Returns the limit sign for the hinge constraint. This value indicates the direction in which the hinge limit is applied, which can be crucial for understanding the behavior of the hinge in relation to its limits.
+
+The limit sign determines whether the hinge's limits are applied in a positive or negative direction. It essentially indicates the side of the limit that is considered "active" during the simulation.
+
+#ref SetHingeLimit
diff --git a/doc/files/gethingesolvelimit.txt b/doc/files/gethingesolvelimit.txt
index 39368ae..ce518db 100644
--- a/doc/files/gethingesolvelimit.txt
+++ b/doc/files/gethingesolvelimit.txt
@@ -1,4 +1,6 @@
#title getHingeSolveLimit [RCBasic Doc]
#header function getHingeSolveLimit( constraint_id)
+Checks whether the hinge has reached or exceeded its angular limit during the simulation. It returns a boolean or an integer value that indicates whether the current angular position is within the constraint's angular limits or if corrective forces need to be applied.
+The "solve limit" refers to whether the current angular position is close to or outside the defined angular limits. If the constraint detects that the hinge is at the limit, it enters a solving state, where it applies corrective forces to keep the rotation within the allowed range.
diff --git a/doc/files/getimagealpha.txt b/doc/files/getimagealpha.txt
index 15ac64d..7b25488 100644
--- a/doc/files/getimagealpha.txt
+++ b/doc/files/getimagealpha.txt
@@ -1,4 +1,4 @@
#title GetImageAlpha [RCBasic Doc]
-#header function ImageAlpha(slot)
-
+#header function GetImageAlpha( img_id )
+Returns the alpha blend value of an image
diff --git a/doc/files/getimagecolormod.txt b/doc/files/getimagecolormod.txt
index a9cc26f..c6b6c95 100644
--- a/doc/files/getimagecolormod.txt
+++ b/doc/files/getimagecolormod.txt
@@ -1,4 +1,4 @@
#title GetImageColorMod [RCBasic Doc]
-#header function ImageColorMod(slot)
-
+#header function GetImageColorMod(img)
+Returns the color modulation of an image
diff --git a/doc/files/getimagesize.txt b/doc/files/getimagesize.txt
index 8cccefa..b58abc4 100644
--- a/doc/files/getimagesize.txt
+++ b/doc/files/getimagesize.txt
@@ -1,4 +1,4 @@
#title GetImageSize [RCBasic Doc]
#header sub GetImageSize(slot, byref w, byref h)
-
+Gets the Size of an image
diff --git a/doc/files/getjoytrackball.txt b/doc/files/getjoytrackball.txt
index 45e361a..943a43e 100644
--- a/doc/files/getjoytrackball.txt
+++ b/doc/files/getjoytrackball.txt
@@ -1,4 +1,4 @@
#title GetJoyTrackBall [RCBasic Doc]
#header sub GetJoyTrackBall(joy_num, ball, byref dx, byref dy)
-
+Gets the axis values of a track ball
diff --git a/doc/files/getlightambientcolor.txt b/doc/files/getlightambientcolor.txt
index 11744f5..ea6f936 100644
--- a/doc/files/getlightambientcolor.txt
+++ b/doc/files/getlightambientcolor.txt
@@ -1,4 +1,4 @@
#title GetLightAmbientColor [RCBasic Doc]
#header function GetLightAmbientColor( actor )
-
+Returns the ambient color of a light
diff --git a/doc/files/getlightattenuation.txt b/doc/files/getlightattenuation.txt
index 6142f0e..b671d9e 100644
--- a/doc/files/getlightattenuation.txt
+++ b/doc/files/getlightattenuation.txt
@@ -1,4 +1,4 @@
#title GetLightAttenuation [RCBasic Doc]
#header sub GetLightAttenuation( actor, ByRef constant, ByRef linear, ByRef quadratic)
-
+Gets the strength of the light
diff --git a/doc/files/getlightdiffusecolor.txt b/doc/files/getlightdiffusecolor.txt
index 4a300ca..643d85d 100644
--- a/doc/files/getlightdiffusecolor.txt
+++ b/doc/files/getlightdiffusecolor.txt
@@ -1,4 +1,4 @@
#title GetLightDiffuseColor [RCBasic Doc]
#header function GetLightDiffuseColor( actor )
-
+Returns the diffuse color of the light
diff --git a/doc/files/getlightfalloff.txt b/doc/files/getlightfalloff.txt
index 0dca414..0a2f291 100644
--- a/doc/files/getlightfalloff.txt
+++ b/doc/files/getlightfalloff.txt
@@ -1,4 +1,4 @@
#title GetLightFalloff [RCBasic Doc]
#header function GetLightFalloff( actor )
-
+Returns the strength decrease between the inner and outer cone of a light
diff --git a/doc/files/getlightinnercone.txt b/doc/files/getlightinnercone.txt
index 68af791..cbf606b 100644
--- a/doc/files/getlightinnercone.txt
+++ b/doc/files/getlightinnercone.txt
@@ -1,4 +1,4 @@
#title GetLightInnerCone [RCBasic Doc]
#header function GetLightInnerCone( actor )
-
+Returns the inner cone of a spot light
diff --git a/doc/files/getlightoutercone.txt b/doc/files/getlightoutercone.txt
index e75df8d..fd6355b 100644
--- a/doc/files/getlightoutercone.txt
+++ b/doc/files/getlightoutercone.txt
@@ -1,4 +1,4 @@
#title GetLightOuterCone [RCBasic Doc]
#header function GetLightOuterCone( actor )
-
+Returns the outer cone of a spot light
diff --git a/doc/files/getlightradius.txt b/doc/files/getlightradius.txt
index ec081ad..97c1d9d 100644
--- a/doc/files/getlightradius.txt
+++ b/doc/files/getlightradius.txt
@@ -1,4 +1,4 @@
#title getLightRadius [RCBasic Doc]
#header function getLightRadius( actor )
-
+Returns the radius of the light
diff --git a/doc/files/getlightspecularcolor.txt b/doc/files/getlightspecularcolor.txt
index 606295f..85fcc57 100644
--- a/doc/files/getlightspecularcolor.txt
+++ b/doc/files/getlightspecularcolor.txt
@@ -1,4 +1,4 @@
#title GetLightSpecularColor [RCBasic Doc]
#header function GetLightSpecularColor( actor )
-
+Returns the specular color of a light
diff --git a/doc/files/getlighttype.txt b/doc/files/getlighttype.txt
index 3af04b0..42a4e51 100644
--- a/doc/files/getlighttype.txt
+++ b/doc/files/getlighttype.txt
@@ -1,4 +1,15 @@
-#title getLightType [RCBasic Doc]
-#header function getLightType( actor )
+#title GetLightType [RCBasic Doc]
+#header function GetLightType( actor )
+Returns the type of light
+Returns -1 if it does not have a type (ie. its not a light)
+
+Possible Light Types
+#list ul
+#li LIGHT_TYPE_POINT
+#li LIGHT_TYPE_POINT
+#li LIGHT_TYPE_POINT
+#/light
+
+#ref SetLightType
diff --git a/doc/files/getlineintersection.txt b/doc/files/getlineintersection.txt
index f4a988d..2de427b 100644
--- a/doc/files/getlineintersection.txt
+++ b/doc/files/getlineintersection.txt
@@ -1,4 +1,6 @@
#title GetLineIntersection [RCBasic Doc]
#header Function GetLineIntersection(p0_x, p0_y, p1_x, p1_y, p2_x, p2_y, p3_x, p3_y, ByRef i_x, ByRef i_y)
+Sets (i_x, i_y) to the intersection of lines p0-p1 and p2-p3
+Returns true if there is a collision and false if not
diff --git a/doc/files/getlineplaneintersection.txt b/doc/files/getlineplaneintersection.txt
index f5fd2d3..d929740 100644
--- a/doc/files/getlineplaneintersection.txt
+++ b/doc/files/getlineplaneintersection.txt
@@ -1,4 +1,15 @@
#title GetLinePlaneIntersection [RCBasic Doc]
#header function GetLinePlaneIntersection(ByRef line_point, ByRef line_direction, ByRef plane_point_1, ByRef plane_point_2, ByRef plane_point_3, ByRef intersection)
+This function calculates the intersection between a line and a plane in 3D space and stores the result in intersection
+Parameters:
+#list ul
+#li line_point - An array with an (x,y,z) point representing the start of a line
+#li line_direction - An array with an (x,y,z) point representing another point on the line in the direction its moving
+#li plane_point_1 - An array with an (x,y,z) point representing a point on a plane in 3D space
+#li plane_point_2 - An array with an (x,y,z) point representing a point on a plane in 3D space
+#li plane_point_3 - An array with an (x,y,z) point representing a point on a plane in 3D space
+#/list
+
+Returns true if intersection point is on the plane
diff --git a/doc/files/getmaterialambientcolor.txt b/doc/files/getmaterialambientcolor.txt
index 764e1cb..2de78a6 100644
--- a/doc/files/getmaterialambientcolor.txt
+++ b/doc/files/getmaterialambientcolor.txt
@@ -1,4 +1,4 @@
-#title getMaterialAmbientColor [RCBasic Doc]
-#header function getMaterialAmbientColor( material_id)
-
+#title GetMaterialAmbientColor [RCBasic Doc]
+#header function GetMaterialAmbientColor( material_id)
+Returns the ambient color of a material
diff --git a/doc/files/getmaterialantialiasing.txt b/doc/files/getmaterialantialiasing.txt
index d290198..b847cd7 100644
--- a/doc/files/getmaterialantialiasing.txt
+++ b/doc/files/getmaterialantialiasing.txt
@@ -1,4 +1,17 @@
-#title getMaterialAntiAliasing [RCBasic Doc]
-#header function getMaterialAntiAliasing( material_id)
+#title GetMaterialAntiAliasing [RCBasic Doc]
+#header function GetMaterialAntiAliasing( material_id)
+Returns the anti-aliasing mode for the material
+Possible modes returned
+#list
+#li AA_MODE_OFF=0,
+#li AA_MODE_SIMPLE=1,
+#li AA_MODE_QUALITY=3,
+#li AA_MODE_LINE_SMOOTH=4,
+#li AA_MODE_POINT_SMOOTH=8,
+#li AA_MODE_FULL_BASIC=15,
+#li AA_MODE_ALPHA_TO_COVERAGE=16
+#/list
+
+#ref SetMaterialAntiAliasing
diff --git a/doc/files/getmaterialbackfaceculling.txt b/doc/files/getmaterialbackfaceculling.txt
index 712a6d6..ac49cc4 100644
--- a/doc/files/getmaterialbackfaceculling.txt
+++ b/doc/files/getmaterialbackfaceculling.txt
@@ -1,4 +1,6 @@
#title getMaterialBackfaceCulling [RCBasic Doc]
#header function getMaterialBackfaceCulling( material_id)
+Returns true if backface culling is enabled for a material
+#ref SetMaterialBackfaceCulling
diff --git a/doc/files/getmaterialblendfactor.txt b/doc/files/getmaterialblendfactor.txt
index 7029210..11e4ee6 100644
--- a/doc/files/getmaterialblendfactor.txt
+++ b/doc/files/getmaterialblendfactor.txt
@@ -1,4 +1,7 @@
#title getMaterialBlendFactor [RCBasic Doc]
#header function getMaterialBlendFactor( material_id)
+Returns a materials blend factor
+
+
diff --git a/doc/files/getmaterialblendmode.txt b/doc/files/getmaterialblendmode.txt
index 125970b..88bf52b 100644
--- a/doc/files/getmaterialblendmode.txt
+++ b/doc/files/getmaterialblendmode.txt
@@ -1,4 +1,20 @@
#title getMaterialBlendMode [RCBasic Doc]
#header function getMaterialBlendMode( material_id)
+Returns a materials blend mode
+Possible Blend Modes
+#list ul
+#li BLEND_MODE_NONE
+#li BLEND_MODE_ADD
+#li BLEND_MODE_SUBTRACT
+#li BLEND_MODE_REVSUBTRACT
+#li BLEND_MODE_MIN
+#li BLEND_MODE_MAX
+#li BLEND_MODE_MIN_FACTOR
+#li BLEND_MODE_MAX_FACTOR
+#li BLEND_MODE_MIN_ALPHA
+#li BLEND_MODE_MAX_ALPHA
+#/list
+
+#ref SetMaterialBlendMode
diff --git a/doc/files/getmaterialcolormask.txt b/doc/files/getmaterialcolormask.txt
index 9f9248a..b0eddc2 100644
--- a/doc/files/getmaterialcolormask.txt
+++ b/doc/files/getmaterialcolormask.txt
@@ -1,4 +1,4 @@
-#title getMaterialColorMask [RCBasic Doc]
-#header function getMaterialColorMask( material_id)
-
+#title GetMaterialColorMask [RCBasic Doc]
+#header function GetMaterialColorMask( material_id)
+Returns the color mask for a material
diff --git a/doc/files/getmaterialcolormode.txt b/doc/files/getmaterialcolormode.txt
index 325aa39..0f51fe2 100644
--- a/doc/files/getmaterialcolormode.txt
+++ b/doc/files/getmaterialcolormode.txt
@@ -1,4 +1,16 @@
#title getMaterialColorMode [RCBasic Doc]
#header function getMaterialColorMode( material_id)
+Returns the color mode of a material
+Possible modes
+#list ul
+#li COLOR_MODE_NONE
+#li COLOR_MODE_DIFFUSE
+#li COLOR_MODE_AMBIENT
+#li COLOR_MODE_EMISSIVE
+#li COLOR_MODE_SPECULAR
+#li COLOR_MODE_DIFFUSE_AND_AMBIENT
+#/list
+
+#ref SetMaterialColorMode
diff --git a/doc/files/getmaterialdiffusecolor.txt b/doc/files/getmaterialdiffusecolor.txt
index 18cfae9..7fb645d 100644
--- a/doc/files/getmaterialdiffusecolor.txt
+++ b/doc/files/getmaterialdiffusecolor.txt
@@ -1,4 +1,6 @@
#title getMaterialDiffuseColor [RCBasic Doc]
#header function getMaterialDiffuseColor( material_id)
+Returns a material's diffuse color
+#ref SetMaterialDiffuseColor
diff --git a/doc/files/getmaterialemissivecolor.txt b/doc/files/getmaterialemissivecolor.txt
index 0e097c3..38cda17 100644
--- a/doc/files/getmaterialemissivecolor.txt
+++ b/doc/files/getmaterialemissivecolor.txt
@@ -1,4 +1,6 @@
#title getMaterialEmissiveColor [RCBasic Doc]
#header function getMaterialEmissiveColor( material_id)
+Returns a material's emissive color
+#ref SetMaterialEmissiveColor
diff --git a/doc/files/getmaterialflag.txt b/doc/files/getmaterialflag.txt
index 1b85f61..9760883 100644
--- a/doc/files/getmaterialflag.txt
+++ b/doc/files/getmaterialflag.txt
@@ -1,4 +1,30 @@
#title getMaterialFlag [RCBasic Doc]
#header function getMaterialFlag( material_id, material_flag)
+Returns the value of the specified material flag
+Possible values for flag:
+#list
+#li MATERIAL_FLAG_WIREFRAME
+#li MATERIAL_FLAG_POINTCLOUD
+#li MATERIAL_FLAG_GOURAUD_SHADING
+#li MATERIAL_FLAG_LIGHTING
+#li MATERIAL_FLAG_ZBUFFER
+#li MATERIAL_FLAG_ZWRITE_ENABLE
+#li MATERIAL_FLAG_BACK_FACE_CULLING
+#li MATERIAL_FLAG_FRONT_FACE_CULLING
+#li MATERIAL_FLAG_BILINEAR_FILTER
+#li MATERIAL_FLAG_TRILINEAR_FILTER
+#li MATERIAL_FLAG_ANISOTROPIC_FILTER
+#li MATERIAL_FLAG_FOG_ENABLE
+#li MATERIAL_FLAG_NORMALIZE_NORMALS
+#li MATERIAL_FLAG_TEXTURE_WRAP
+#li MATERIAL_FLAG_ANTI_ALIASING
+#li MATERIAL_FLAG_COLOR_MASK
+#li MATERIAL_FLAG_COLOR_MATERIAL
+#li MATERIAL_FLAG_USE_MIP_MAPS
+#li MATERIAL_FLAG_BLEND_OPERATION
+#li MATERIAL_FLAG_POLYGON_OFFSET
+#/list
+
+#ref GetActorMaterialFlag
diff --git a/doc/files/getmaterialfog.txt b/doc/files/getmaterialfog.txt
index 5c3979c..0e7de18 100644
--- a/doc/files/getmaterialfog.txt
+++ b/doc/files/getmaterialfog.txt
@@ -1,4 +1,6 @@
#title getMaterialFog [RCBasic Doc]
#header function getMaterialFog( material_id)
+Returns true if fog is enabled for a material
+#ref SetMaterialFog
diff --git a/doc/files/getmaterialfrontfaceculling.txt b/doc/files/getmaterialfrontfaceculling.txt
index f2f3f26..5efcf81 100644
--- a/doc/files/getmaterialfrontfaceculling.txt
+++ b/doc/files/getmaterialfrontfaceculling.txt
@@ -1,4 +1,6 @@
#title getMaterialFrontfaceCulling [RCBasic Doc]
#header function getMaterialFrontfaceCulling( material_id)
+Returns true if front face culling is enabled for a material
+#ref SetMaterialFrontfaceCulling
diff --git a/doc/files/getmaterialshininess.txt b/doc/files/getmaterialshininess.txt
index f6a4d03..976155a 100644
--- a/doc/files/getmaterialshininess.txt
+++ b/doc/files/getmaterialshininess.txt
@@ -1,4 +1,6 @@
#title getMaterialShininess [RCBasic Doc]
#header function getMaterialShininess( material_id)
+Returns the shininess value for a material
+#ref SetMaterialShininess
diff --git a/doc/files/getmaterialspecularcolor.txt b/doc/files/getmaterialspecularcolor.txt
index 1d98a48..4b85db8 100644
--- a/doc/files/getmaterialspecularcolor.txt
+++ b/doc/files/getmaterialspecularcolor.txt
@@ -1,4 +1,6 @@
#title getMaterialSpecularColor [RCBasic Doc]
#header function getMaterialSpecularColor( material_id)
+Returns the specular color for a material
+#ref SetMaterialSpecularColor
diff --git a/doc/files/getmaterialthickness.txt b/doc/files/getmaterialthickness.txt
index a2a6c92..1725ccd 100644
--- a/doc/files/getmaterialthickness.txt
+++ b/doc/files/getmaterialthickness.txt
@@ -1,4 +1,8 @@
#title getMaterialThickness [RCBasic Doc]
#header function getMaterialThickness( material_id)
+Returns a material's thickness value
+Thickness value is mainly for primitives such as lines
+
+#ref SetMaterialThickness
diff --git a/doc/files/getmaterialtype.txt b/doc/files/getmaterialtype.txt
index 61737b5..53ee577 100644
--- a/doc/files/getmaterialtype.txt
+++ b/doc/files/getmaterialtype.txt
@@ -1,4 +1,35 @@
#title getMaterialType [RCBasic Doc]
#header function getMaterialType( material_id)
+Returns a material's type
+Possible types
+#list ul
+#li MATERIAL_TYPE_SOLID
+#li MATERIAL_TYPE_SOLID_2_LAYER
+#li MATERIAL_TYPE_LIGHTMAP
+#li MATERIAL_TYPE_LIGHTMAP_ADD
+#li MATERIAL_TYPE_LIGHTMAP_M2
+#li MATERIAL_TYPE_LIGHTMAP_M4
+#li MATERIAL_TYPE_LIGHTMAP_LIGHTING
+#li MATERIAL_TYPE_LIGHTMAP_LIGHTING_M2
+#li MATERIAL_TYPE_LIGHTMAP_LIGHTING_M4
+#li MATERIAL_TYPE_DETAIL_MAP
+#li MATERIAL_TYPE_SPHERE_MAP
+#li MATERIAL_TYPE_REFLECTION_2_LAYER
+#li MATERIAL_TYPE_TRANSPARENT_ADD_COLOR
+#li MATERIAL_TYPE_TRANSPARENT_ALPHA_CHANNEL
+#li MATERIAL_TYPE_TRANSPARENT_ALPHA_CHANNEL_REF
+#li MATERIAL_TYPE_TRANSPARENT_VERTEX_ALPHA
+#li MATERIAL_TYPE_TRANSPARENT_REFLECTION_2_LAYER
+#li MATERIAL_TYPE_NORMAL_MAP_SOLID
+#li MATERIAL_TYPE_NORMAL_MAP_TRANSPARENT_ADD_COLOR
+#li MATERIAL_TYPE_NORMAL_MAP_TRANSPARENT_VERTEX_ALPHA
+#li MATERIAL_TYPE_PARALLAX_MAP_SOLID
+#li MATERIAL_TYPE_PARALLAX_MAP_TRANSPARENT_ADD_COLOR
+#li MATERIAL_TYPE_PARALLAX_MAP_TRANSPARENT_VERTEX_ALPHA
+#li MATERIAL_TYPE_ONETEXTURE_BLEND
+#li MATERIAL_TYPE_FORCE_32BIT
+#/list
+
+#ref SetMaterialType GetActorMaterialType SetActorMaterialType
diff --git a/doc/files/getmatrixrotation.txt b/doc/files/getmatrixrotation.txt
index d12d89e..d8ad74a 100644
--- a/doc/files/getmatrixrotation.txt
+++ b/doc/files/getmatrixrotation.txt
@@ -1,4 +1,7 @@
#title GetMatrixRotation [RCBasic Doc]
#header sub GetMatrixRotation( mA, ByRef x, ByRef y, ByRef z)
+Gets the rotation vector of a matrix
+#ref SetMatrixRotation
+
diff --git a/doc/files/getmatrixscale.txt b/doc/files/getmatrixscale.txt
index e5be064..f0125cc 100644
--- a/doc/files/getmatrixscale.txt
+++ b/doc/files/getmatrixscale.txt
@@ -1,4 +1,6 @@
#title GetMatrixScale [RCBasic Doc]
#header sub GetMatrixScale( mA, ByRef x, ByRef y, ByRef z)
+Gets the scale vector of a matrix
+#ref SetMatrixScale
diff --git a/doc/files/getmatrixsize.txt b/doc/files/getmatrixsize.txt
index e9fa2d9..2f4ad2e 100644
--- a/doc/files/getmatrixsize.txt
+++ b/doc/files/getmatrixsize.txt
@@ -1,4 +1,6 @@
#title GetMatrixSize [RCBasic Doc]
#header sub GetMatrixSize(mA, ByRef r, ByRef c)
+Gets the number of rows and columns in a matrix
+#ref DimMatrix
diff --git a/doc/files/getmatrixtranslation.txt b/doc/files/getmatrixtranslation.txt
index 7e752c7..66dbc20 100644
--- a/doc/files/getmatrixtranslation.txt
+++ b/doc/files/getmatrixtranslation.txt
@@ -1,4 +1,6 @@
#title GetMatrixTranslation [RCBasic Doc]
#header sub GetMatrixTranslation( mA, ByRef x, ByRef y, ByRef z)
+Get the position vector of a matrix
+#ref SetMatrixTranslation
diff --git a/doc/files/getmaxparticlespersecond.txt b/doc/files/getmaxparticlespersecond.txt
new file mode 100644
index 0000000..2958f6b
--- /dev/null
+++ b/doc/files/getmaxparticlespersecond.txt
@@ -0,0 +1,6 @@
+#title getMaxParticlesPerSecond [RCBasic Doc]
+#header function getMaxParticlesPerSecond( actor)
+
+Returns the max number of particles emitted per second
+
+#ref SetMaxParticlesPerSecond GetMinParticlesPerSecond SetMinParticlesPerSecond
diff --git a/doc/files/getminparticlespersecond.txt b/doc/files/getminparticlespersecond.txt
new file mode 100644
index 0000000..b751ae9
--- /dev/null
+++ b/doc/files/getminparticlespersecond.txt
@@ -0,0 +1,7 @@
+#title getMinParticlesPerSecond [RCBasic Doc]
+#header function getMinParticlesPerSecond( actor)
+
+Returns the min number of particles emitted per second
+
+#ref SetMinParticlesPerSecond GetMaxParticlesPerSecond SetMaxParticlesPerSecond
+
diff --git a/doc/files/getmouse.txt b/doc/files/getmouse.txt
index 9f54209..c0361f5 100644
--- a/doc/files/getmouse.txt
+++ b/doc/files/getmouse.txt
@@ -1,4 +1,6 @@
#title GetMouse [RCBasic Doc]
#header sub GetMouse(byref x, byref y, byref mb1, byref mb2, byref mb3)
+Gets the mouse position and button state local to the graphics window
+#ref GetGlobalMouse MouseX MouseY MouseButton
diff --git a/doc/files/getmousewheel.txt b/doc/files/getmousewheel.txt
index b86095c..5845da7 100644
--- a/doc/files/getmousewheel.txt
+++ b/doc/files/getmousewheel.txt
@@ -1,4 +1,6 @@
#title GetMouseWheel [RCBasic Doc]
#header sub GetMouseWheel(byref x_axis, byref y_axis)
+Gets the axis positions of the mouse wheel
+#ref GetMouse GetGlobalMouse
diff --git a/doc/files/getmultitouch.txt b/doc/files/getmultitouch.txt
index 8e76580..5347b6a 100644
--- a/doc/files/getmultitouch.txt
+++ b/doc/files/getmultitouch.txt
@@ -1,4 +1,4 @@
#title GetMultiTouch [RCBasic Doc]
#header sub GetMultiTouch(byref status, byref x, byref y, byref fingers, byref dist, byref theta)
-
+Gets the status, position, number of fingers, distance between the fingers and rotation of a multi-finger gesture
diff --git a/doc/files/getmusicposition.txt b/doc/files/getmusicposition.txt
index 493b860..38c7b7b 100644
--- a/doc/files/getmusicposition.txt
+++ b/doc/files/getmusicposition.txt
@@ -1,4 +1,6 @@
#title GetMusicPosition [RCBasic Doc]
-#header function MusicPosition()
+#header function GetMusicPosition()
+Returns the position of the music track
+#ref SetMusicPosition
diff --git a/doc/files/getmusicvolume.txt b/doc/files/getmusicvolume.txt
index 25aa1b4..ec82d6e 100644
--- a/doc/files/getmusicvolume.txt
+++ b/doc/files/getmusicvolume.txt
@@ -1,4 +1,4 @@
#title GetMusicVolume [RCBasic Doc]
-#header function MusicVolume()
-
+#header function GetMusicVolume()
+Returns the music track's volume
diff --git a/doc/files/getparticlebox.txt b/doc/files/getparticlebox.txt
index 35214ce..e72a599 100644
--- a/doc/files/getparticlebox.txt
+++ b/doc/files/getparticlebox.txt
@@ -1,4 +1,5 @@
#title getParticleBox [RCBasic Doc]
#header sub getParticleBox( actor, ByRef min_x, ByRef min_y, ByRef min_z, ByRef max_x, ByRef max_y, ByRef max_z)
+Gets the bounding box for a particle emitter
diff --git a/doc/files/getparticlecenter.txt b/doc/files/getparticlecenter.txt
index 760052f..4f9e9d8 100644
--- a/doc/files/getparticlecenter.txt
+++ b/doc/files/getparticlecenter.txt
@@ -1,4 +1,8 @@
#title getParticleCenter [RCBasic Doc]
#header sub getParticleCenter( actor, ByRef x, ByRef y, ByRef z)
+Gets the center of a particle emitter
+Note: applies to Sphere, Cylinder, and Ring emitters
+
+#ref SetParticleCenter
diff --git a/doc/files/getparticledirection.txt b/doc/files/getparticledirection.txt
index 0d6bc11..bfda3c8 100644
--- a/doc/files/getparticledirection.txt
+++ b/doc/files/getparticledirection.txt
@@ -1,4 +1,6 @@
#title getParticleDirection [RCBasic Doc]
#header sub getParticleDirection( actor, ByRef x, ByRef y, ByRef z)
+Gets the direction of a particle emitter
+#ref SetParticleDirection
diff --git a/doc/files/getparticlelength.txt b/doc/files/getparticlelength.txt
index da50454..9d8a82d 100644
--- a/doc/files/getparticlelength.txt
+++ b/doc/files/getparticlelength.txt
@@ -1,4 +1,8 @@
#title getParticleLength [RCBasic Doc]
#header function getParticleLength( actor)
+Returns the length of a cylinder particle emitter
+Note: Only applies to cylinder particles
+
+#ref SetParticleLength
diff --git a/doc/files/getparticlemaxangle.txt b/doc/files/getparticlemaxangle.txt
index 6ef2483..d252a8e 100644
--- a/doc/files/getparticlemaxangle.txt
+++ b/doc/files/getparticlemaxangle.txt
@@ -1,4 +1,6 @@
#title getParticleMaxAngle [RCBasic Doc]
#header function getParticleMaxAngle( actor)
+Returns the max angle of particle emission
+#ref SetParticleMaxAngle
diff --git a/doc/files/getparticlemaxlife.txt b/doc/files/getparticlemaxlife.txt
index 9d8e33a..dc6c069 100644
--- a/doc/files/getparticlemaxlife.txt
+++ b/doc/files/getparticlemaxlife.txt
@@ -1,4 +1,8 @@
#title getParticleMaxLife [RCBasic Doc]
#header function getParticleMaxLife( actor)
+Returns the max life of the particle emission
+Note: Returned time is in milliseconds
+
+#ref SetParticleMaxLife
diff --git a/doc/files/getparticlemaxstartcolor.txt b/doc/files/getparticlemaxstartcolor.txt
index 7a98047..0f66081 100644
--- a/doc/files/getparticlemaxstartcolor.txt
+++ b/doc/files/getparticlemaxstartcolor.txt
@@ -1,4 +1,6 @@
#title getParticleMaxStartColor [RCBasic Doc]
#header function getParticleMaxStartColor( actor)
+Returns max starting color for particles
+#ref SetParticleMaxStartColor
diff --git a/doc/files/getparticlemaxstartsize.txt b/doc/files/getparticlemaxstartsize.txt
index 7ec819f..778bf18 100644
--- a/doc/files/getparticlemaxstartsize.txt
+++ b/doc/files/getparticlemaxstartsize.txt
@@ -1,4 +1,6 @@
#title getParticleMaxStartSize [RCBasic Doc]
#header sub getParticleMaxStartSize( actor, ByRef w, ByRef h)
+Gets the max start size for the particles
+#ref SetParticleMaxStartSize
diff --git a/doc/files/getparticleminlife.txt b/doc/files/getparticleminlife.txt
index 2e218bc..f126098 100644
--- a/doc/files/getparticleminlife.txt
+++ b/doc/files/getparticleminlife.txt
@@ -1,4 +1,8 @@
#title getParticleMinLife [RCBasic Doc]
#header function getParticleMinLife( actor)
+Get the min life of particles
+Note: Returned time is in milliseconds
+
+#ref SetParticleMinLife
diff --git a/doc/files/getparticleminstartcolor.txt b/doc/files/getparticleminstartcolor.txt
index d6d58f9..01ed65a 100644
--- a/doc/files/getparticleminstartcolor.txt
+++ b/doc/files/getparticleminstartcolor.txt
@@ -1,4 +1,6 @@
#title getParticleMinStartColor [RCBasic Doc]
#header function getParticleMinStartColor( actor)
+Returns the min start color for particles
+#ref SetParticleMinStartColor
diff --git a/doc/files/getparticleminstartsize.txt b/doc/files/getparticleminstartsize.txt
index e04b978..aae8d9f 100644
--- a/doc/files/getparticleminstartsize.txt
+++ b/doc/files/getparticleminstartsize.txt
@@ -1,4 +1,6 @@
#title getParticleMinStartSize [RCBasic Doc]
#header sub getParticleMinStartSize( actor, ByRef w, ByRef h)
+Gets the min start size for particle emitter
+#ref SetParticleMinStartSize
diff --git a/doc/files/getparticlenormal.txt b/doc/files/getparticlenormal.txt
index 67a106b..4e8cb4f 100644
--- a/doc/files/getparticlenormal.txt
+++ b/doc/files/getparticlenormal.txt
@@ -1,4 +1,8 @@
#title getParticleNormal [RCBasic Doc]
#header sub getParticleNormal( actor, ByRef x, ByRef y, ByRef z)
+Gets the normal of a particle emitter
+Note: Only applies to cylinder particle emitter
+
+#ref SetParticleNormal
diff --git a/doc/files/getparticlenormaldirectionmod.txt b/doc/files/getparticlenormaldirectionmod.txt
index 994e71b..c26062a 100644
--- a/doc/files/getparticlenormaldirectionmod.txt
+++ b/doc/files/getparticlenormaldirectionmod.txt
@@ -1,4 +1,8 @@
#title getParticleNormalDirectionMod [RCBasic Doc]
#header function getParticleNormalDirectionMod( actor)
+Returns the normal direction modifier for a particle emitter
+Note: Only applies to mesh particle emitter
+
+#ref SetParticleNormalDirectionMod
diff --git a/doc/files/getparticleradius.txt b/doc/files/getparticleradius.txt
index fa21818..f64d1ff 100644
--- a/doc/files/getparticleradius.txt
+++ b/doc/files/getparticleradius.txt
@@ -1,4 +1,8 @@
#title getParticleRadius [RCBasic Doc]
#header function getParticleRadius( actor)
+Returns the radius of a particle emitter
+Note: Only applies to Sphere, Cylinder, and Ring emitters
+
+#ref SetParticleRadius
diff --git a/doc/files/getparticleringthickness.txt b/doc/files/getparticleringthickness.txt
index 7741e4e..08d6d54 100644
--- a/doc/files/getparticleringthickness.txt
+++ b/doc/files/getparticleringthickness.txt
@@ -1,4 +1,8 @@
#title getParticleRingThickness [RCBasic Doc]
#header function getParticleRingThickness( actor)
+Returns the thickness of a ring emitter
+Note: Only applies to ring emitter
+
+#ref SetParticleRingThickness
diff --git a/doc/files/getparticletype.txt b/doc/files/getparticletype.txt
new file mode 100644
index 0000000..e93a373
--- /dev/null
+++ b/doc/files/getparticletype.txt
@@ -0,0 +1,16 @@
+#title getParticleType [RCBasic Doc]
+#header function getParticleType( actor )
+
+Returns the particle type
+
+Possible Particle Types
+#list ul
+#li PARTICLE_TYPE_POINT
+#li PARTICLE_TYPE_BOX
+#li PARTICLE_TYPE_SPHERE
+#li PARTICLE_TYPE_CYLINDER
+#li PARTICLE_TYPE_MESH
+#li PARTICLE_TYPE_RING
+#/list
+
+#ref CreateParticleActor
diff --git a/doc/files/getpixel.txt b/doc/files/getpixel.txt
index 2d7eb2c..04537fe 100644
--- a/doc/files/getpixel.txt
+++ b/doc/files/getpixel.txt
@@ -1,4 +1,4 @@
#title GetPixel [RCBasic Doc]
#header function GetPixel(x,y)
-
+Returns the color of a pixel
diff --git a/doc/files/getpointpivota.txt b/doc/files/getpointpivota.txt
new file mode 100644
index 0000000..33f0bae
--- /dev/null
+++ b/doc/files/getpointpivota.txt
@@ -0,0 +1,6 @@
+#title getPointPivotA [RCBasic Doc]
+#header sub getPointPivotA( constraint_id, ByRef x, ByRef y, ByRef z)
+
+Gets the pivot point on the first actor (Body A) of the constraint. This pivot point defines the specific location in the local space of Body A where the point-to-point constraint is anchored.
+
+#ref GetPointPivotB SetPointPivotA
diff --git a/doc/files/getpointpivotb.txt b/doc/files/getpointpivotb.txt
new file mode 100644
index 0000000..1d82a00
--- /dev/null
+++ b/doc/files/getpointpivotb.txt
@@ -0,0 +1,7 @@
+#title getPointPivotB [RCBasic Doc]
+#header sub getPointtPivotB( constraint_id, ByRef x, ByRef y, ByRef z)
+
+Gets the pivot point on the first actor (Body B) of the constraint. This pivot point defines the specific location in the local space of Body B where the point-to-point constraint is anchored.
+
+#ref GetPointPivotA SetPointPivotB
+
diff --git a/doc/files/getpowerinfo.txt b/doc/files/getpowerinfo.txt
index 54e7ccc..015951e 100644
--- a/doc/files/getpowerinfo.txt
+++ b/doc/files/getpowerinfo.txt
@@ -1,4 +1,17 @@
#title GetPowerInfo [RCBasic Doc]
#header Sub GetPowerInfo(ByRef status, ByRef secs, ByRef pct)
+Gets the charging status of the device the program is running on.
+status - the charging status of the battery. Look below for the different statuses that can be returned.
+secs - the approximate time in seconds until the battery looses its charge.
+pct - the percentage of the battery charged.
+
+Possible Statuses
+#list ul
+#li POWERSTATE_UNKNOWN
+#li POWERSTATE_ON_BATTERY
+#li POWERSTATE_NO_BATTERY
+#li POWERSTATE_CHARGING
+#li POWERSTATE_CHARGED
+#/list
diff --git a/doc/files/getslideanchora.txt b/doc/files/getslideanchora.txt
new file mode 100644
index 0000000..26eee73
--- /dev/null
+++ b/doc/files/getslideanchora.txt
@@ -0,0 +1,6 @@
+#title GetSlideAnchorA [RCBasic Doc]
+#header sub GetSlideAnchorA( constraint_id, ByRef x, ByRef y, ByRef z)
+
+Gets the anchor point of the first actor in world space, where the slider constraint is acting on the actor. This point represents the location of the slider's reference frame on body A in the global coordinate system.
+
+#ref GetSlideAnchorB
diff --git a/doc/files/getslideanchorb.txt b/doc/files/getslideanchorb.txt
new file mode 100644
index 0000000..a89932e
--- /dev/null
+++ b/doc/files/getslideanchorb.txt
@@ -0,0 +1,7 @@
+#title GetSlideAnchorB [RCBasic Doc]
+#header sub GetSlideAnchorB( constraint_id, ByRef x, ByRef y, ByRef z)
+
+Gets the anchor point of the first actor in world space, where the slider constraint is acting on the actor. This point represents the location of the slider's reference frame on body B in the global coordinate system.
+
+
+#ref GetSlideAnchorA
diff --git a/doc/files/getslideangdepth.txt b/doc/files/getslideangdepth.txt
new file mode 100644
index 0000000..004427f
--- /dev/null
+++ b/doc/files/getslideangdepth.txt
@@ -0,0 +1,4 @@
+#title GetSlideAngDepth [RCBasic Doc]
+#header function GetSlideAngDepth( constraint_id)
+
+Gets the angular depth or the angular deviation from the expected orientation of the two actors (or one actor and the world) constrained by the slider. This "angular depth" refers to how much the actors are misaligned rotationally relative to the constraint’s expected or allowed configuration.
diff --git a/doc/files/getslideangularpos.txt b/doc/files/getslideangularpos.txt
new file mode 100644
index 0000000..29a8140
--- /dev/null
+++ b/doc/files/getslideangularpos.txt
@@ -0,0 +1,4 @@
+#title getSlideAngularPos [RCBasic Doc]
+#header function getSlideAngularPos( constraint_id)
+
+Gets the current angular position of an actor relative to the other actor (or the world) around the slider's axis of motion. Specifically, it measures how much an actor has rotated around the axis that is defined for the slider constraint.
diff --git a/doc/files/getslidedampingdirang.txt b/doc/files/getslidedampingdirang.txt
new file mode 100644
index 0000000..54f13c8
--- /dev/null
+++ b/doc/files/getslidedampingdirang.txt
@@ -0,0 +1,8 @@
+#title getSlideDampingDirAng [RCBasic Doc]
+#header function getSlideDampingDirAng( constraint_id)
+
+Returns the angular directional damping value. This damping factor specifically affects angular motion in the direction of movement along the constraint's axes.
+
+Note: Only applies to slider constraint
+
+#ref SetSlideDampingDirAng
diff --git a/doc/files/getslidedampingdirlin.txt b/doc/files/getslidedampingdirlin.txt
new file mode 100644
index 0000000..8092032
--- /dev/null
+++ b/doc/files/getslidedampingdirlin.txt
@@ -0,0 +1,8 @@
+#title getSlideDampingDirLin [RCBasic Doc]
+#header function getSlideDampingDirLin( constraint_id)
+
+Returns the linear directional damping value for a constraint. This value applies to the linear (translational) motion of an object along the constraint's axis of movement.
+
+Note: Only applies to slide constraints
+
+#ref SetSlideDampingDirLin
diff --git a/doc/files/getslidedampinglimang.txt b/doc/files/getslidedampinglimang.txt
new file mode 100644
index 0000000..f839a2b
--- /dev/null
+++ b/doc/files/getslidedampinglimang.txt
@@ -0,0 +1,7 @@
+#title getSlideDampingLimAng [RCBasic Doc]
+#header function getSlideDampingLimAng( constraint_id)
+
+Returns the angular limit damping factor for a constraint. This damping applies specifically to the angular motion of an object when it reaches the limit of its allowed rotational range.
+
+
+#ref SetSlideDampingLimAng
diff --git a/doc/files/getslidedampinglimlin.txt b/doc/files/getslidedampinglimlin.txt
new file mode 100644
index 0000000..9dad93d
--- /dev/null
+++ b/doc/files/getslidedampinglimlin.txt
@@ -0,0 +1,8 @@
+#title getSlideDampingLimLin [RCBasic Doc]
+#header function getSlideDampingLimLin( constraint_id)
+
+Returns the linear limit damping factor for a constraint. This damping applies specifically to the linear (translational) motion of an object when it reaches the limit of its allowed range of movement along a specific axis.
+
+Note: Only applies to slide constraint
+
+#ref SetSlideDampingLimLin
diff --git a/doc/files/getslidedampingorthoang.txt b/doc/files/getslidedampingorthoang.txt
new file mode 100644
index 0000000..9bea570
--- /dev/null
+++ b/doc/files/getslidedampingorthoang.txt
@@ -0,0 +1,6 @@
+#title getSlideDampingOrthoAng [RCBasic Doc]
+#header function getSlideDampingOrthoAng( constraint_id)
+
+Returns the orthogonal angular damping factor applied to a constraint. This damping affects angular (rotational) motion that occurs perpendicular to the primary axis of movement defined by the constraint.
+
+#ref SetSlideDampingOrthoAng
diff --git a/doc/files/getslidedampingortholin.txt b/doc/files/getslidedampingortholin.txt
new file mode 100644
index 0000000..c9506cb
--- /dev/null
+++ b/doc/files/getslidedampingortholin.txt
@@ -0,0 +1,8 @@
+#title getSlideDampingOrthoLin [RCBasic Doc]
+#header function getSlideDampingOrthoLin( constraint_id)
+
+Returns the orthogonal linear damping factor for a constraint. This damping affects the linear (translational) motion of an object that occurs perpendicular to the primary direction of movement defined by the constraint.
+
+Note: Only applies to slide constraint
+
+#ref SetSlideDampingOrthoLin
diff --git a/doc/files/getslidelindepth.txt b/doc/files/getslidelindepth.txt
new file mode 100644
index 0000000..7fba322
--- /dev/null
+++ b/doc/files/getslidelindepth.txt
@@ -0,0 +1,6 @@
+#title getSlideLinDepth [RCBasic Doc]
+#header function getSlideLinDepth( constraint_id)
+
+Returns the linear depth of the slider constraint. This value indicates how much the actors connected by the slider constraint are overlapping or penetrating each other in the linear (translational) direction.
+
+The linear depth is a measure of how far the actors are penetrating each other along the linear axis defined by the slider constraint. A positive value indicates that the actors are overlapping, while a value of zero means they are in contact but not penetrating. Negative values typically imply that the actors are separated.
diff --git a/doc/files/getslidelinearpos.txt b/doc/files/getslidelinearpos.txt
new file mode 100644
index 0000000..f20b0ae
--- /dev/null
+++ b/doc/files/getslidelinearpos.txt
@@ -0,0 +1,6 @@
+#title getSlideLinearPos [RCBasic Doc]
+#header function getSlideLinearPos( constraint_id)
+
+Returns the current linear position of the slider constraint along its defined axis. This position reflects how far the connected actors have moved along the slider's linear axis since the constraint was created or last reset.
+
+This value can be positive or negative, depending on the relative positions of the two bodies connected by the slider.
diff --git a/doc/files/getslideloweranglimit.txt b/doc/files/getslideloweranglimit.txt
new file mode 100644
index 0000000..5fe004d
--- /dev/null
+++ b/doc/files/getslideloweranglimit.txt
@@ -0,0 +1,8 @@
+#title getSlideLowerAngLimit [RCBasic Doc]
+#header function getSlideLowerAngLimit( constraint_id)
+
+Returns the lower angular limit of the constraint. This value specifies the minimum angle allowed for the rotation of the connected actors around the axis perpendicular to the sliding direction defined by the slider constraint.
+
+The lower angular limit indicates the smallest angle that the actors can rotate about the axis perpendicular to the sliding direction. If the rotation tries to exceed this limit, the physics engine will apply corrective forces to maintain the bodies within the allowed range.
+
+#ref GetSlideLowerLinLimit
diff --git a/doc/files/getslidelowerlinlimit.txt b/doc/files/getslidelowerlinlimit.txt
new file mode 100644
index 0000000..9a6d38e
--- /dev/null
+++ b/doc/files/getslidelowerlinlimit.txt
@@ -0,0 +1,8 @@
+#title getSlideLowerLinLimit [RCBasic Doc]
+#header function getSlideLowerLinLimit( constraint_id)
+
+Returns the lower linear limit for the translational (sliding) motion along the slider's axis. This value specifies the minimum allowable position for the connected actors along the defined axis of the slider constraint.
+
+This defines the minimum translation distance along the slider’s axis that the connected actors are allowed to reach. If the actors' relative position along the axis goes below this limit, the constraint will prevent further movement.
+
+#ref SetSlideLowerLinLimit
diff --git a/doc/files/getsliderestitutiondirang.txt b/doc/files/getsliderestitutiondirang.txt
new file mode 100644
index 0000000..c51de77
--- /dev/null
+++ b/doc/files/getsliderestitutiondirang.txt
@@ -0,0 +1,8 @@
+#title getSlideRestitutionDirAng [RCBasic Doc]
+#header function getSlideRestitutionDirAng( constraint_id)
+
+Returns the restitution value for angular motion. The restitution coefficient is a measure of how much energy is conserved in a collision or constraint interaction, specifically for angular movements.
+
+When actors collide or interact, their angular momentum and position can change, and the restitution value governs how much of that energy is retained after the interaction.
+
+#ref SetSlideRestitutionDirAng
diff --git a/doc/files/getsliderestitutiondirlin.txt b/doc/files/getsliderestitutiondirlin.txt
new file mode 100644
index 0000000..de1e80b
--- /dev/null
+++ b/doc/files/getsliderestitutiondirlin.txt
@@ -0,0 +1,8 @@
+#title getSlideRestitutionDirLin [RCBasic Doc]
+#header function getSlideRestitutionDirLin( constraint_id)
+
+Returns the restitution value for linear motion. This value determines how much energy is conserved in a collision or interaction involving linear movements of the connected actors.
+
+When the actors collide or interact, the restitution value dictates how much of their energy is retained after the interaction.
+
+#ref SetSlideRestitutionDirLin
diff --git a/doc/files/getsliderestitutionlimang.txt b/doc/files/getsliderestitutionlimang.txt
new file mode 100644
index 0000000..6c3e28a
--- /dev/null
+++ b/doc/files/getsliderestitutionlimang.txt
@@ -0,0 +1,8 @@
+#title getSlideRestitutionLimAng [RCBasic Doc]
+#header function getSlideRestitutionLimAng( constraint_id)
+
+Returns the restitution value for angular limit. This value determines how much energy is conserved when the angular motion of the connected actors reaches the angular limits of the slider constraint. Essentially, it controls how "bouncy" the rotation is when it hits the angular limit of the constraint.
+
+A value of 0.0 means no bounce (perfectly inelastic), while a value of 1.0 allows maximum bounce (perfectly elastic).
+
+#ref SetSlideRestitutionLimAng
diff --git a/doc/files/getsliderestitutionlimlin.txt b/doc/files/getsliderestitutionlimlin.txt
new file mode 100644
index 0000000..71bedcc
--- /dev/null
+++ b/doc/files/getsliderestitutionlimlin.txt
@@ -0,0 +1,8 @@
+#title getSlideRestitutionLimLin [RCBasic Doc]
+#header function getSlideRestitutionLimLin( constraint_id)
+
+Returns the restitution value for the linear limit of the constraint. This value controls how much energy is conserved (or how "bouncy" the interaction is) when the connected actors reach the linear limits of the slider constraint, which restricts the movement along the sliding axis.
+
+Restitution is a measure of how much energy is retained after a collision or interaction. In this context, when the linear movement reaches the limits, restitution controls how much the actors "bounce" back. A restitution value of 0.0 means no bounce (the collision is perfectly inelastic), and 1.0 allows maximum bounce (the collision is perfectly elastic).
+
+#ref SetSlideRestitutionLimLin
diff --git a/doc/files/getsliderestitutionorthoang.txt b/doc/files/getsliderestitutionorthoang.txt
new file mode 100644
index 0000000..f10828c
--- /dev/null
+++ b/doc/files/getsliderestitutionorthoang.txt
@@ -0,0 +1,10 @@
+#title getSlideRestitutionOrthoAng [RCBasic Doc]
+#header function getSlideRestitutionOrthoAng( constraint_id)
+
+Returns the restitution value for orthogonal angular motion. This value determines how much energy is conserved (or how "bouncy" the interaction is) when rotational movement occurs in a direction orthogonal (perpendicular) to the slider's primary axis of movement.
+
+Orthogonal Angular Motion: In the context of a slider constraint, orthogonal angular motion refers to rotational movement around axes that are perpendicular to the slider's main movement axis.
+
+Restitution: Restitution is a measure of how much energy is retained in a collision or interaction. A restitution value of 0.0 means no bounce (inelastic collision), and 1.0 means maximum bounce (elastic collision). For orthogonal angular motion, this describes how much bounce occurs after the rotational motion hits the constraints or limits in a perpendicular direction to the slider axis.
+
+#ref SetSlideRestitutionOrthoAng
diff --git a/doc/files/getsliderestitutionortholin.txt b/doc/files/getsliderestitutionortholin.txt
new file mode 100644
index 0000000..5f04fc6
--- /dev/null
+++ b/doc/files/getsliderestitutionortholin.txt
@@ -0,0 +1,10 @@
+#title getSlideRestitutionOrthoLin [RCBasic Doc]
+#header function getSlideRestitutionOrthoLin( constraint_id)
+
+Returns the restitution value for orthogonal linear motion. This value determines how much energy is conserved (or how "bouncy" the interaction is) when linear motion occurs in a direction orthogonal (perpendicular) to the primary sliding axis of the constraint.
+
+Orthogonal Linear Motion: In the context of a slider constraint, orthogonal linear motion refers to translational movement along axes that are perpendicular to the main sliding axis of the constraint.
+
+Restitution: Restitution is a measure of how much energy is retained or conserved during a collision or interaction. A restitution value of 0.0 indicates no bounce (perfectly inelastic), while 1.0 indicates maximum bounce (perfectly elastic). For orthogonal linear motion, this value describes how much the actors bounce or retain energy when they hit limits or experience movement perpendicular to the slider’s main axis.
+
+#ref SetSlideRestitutionOrthoLin
diff --git a/doc/files/getslidesoftnessdirang.txt b/doc/files/getslidesoftnessdirang.txt
new file mode 100644
index 0000000..13fc4aa
--- /dev/null
+++ b/doc/files/getslidesoftnessdirang.txt
@@ -0,0 +1,7 @@
+#title getSlideSoftnessDirAng [RCBasic Doc]
+#header function getSlideSoftnessDirAng( constraint_id)
+
+Returns the softness parameter for the angular motion of the constraint. This parameter is used to define how "soft" or "rigid" the limits of angular motion are, particularly when the angular limits are reached.
+
+The softness parameter defines how smoothly the constraint responds to limit violations. A higher softness value allows for more gradual movements when limits are approached, while a lower value creates a more rigid response. Softness is particularly useful in simulations to avoid harsh impacts or stiff movements when limits are reached.
+
diff --git a/doc/files/getslidesoftnessdirlin.txt b/doc/files/getslidesoftnessdirlin.txt
new file mode 100644
index 0000000..0e2d685
--- /dev/null
+++ b/doc/files/getslidesoftnessdirlin.txt
@@ -0,0 +1,6 @@
+#title getSlideSoftnessDirLin [RCBasic Doc]
+#header function getSlideSoftnessDirLin( constraint_id)
+
+Returns the softness parameter for the linear motion of the constraint. This parameter influences how the constraint responds when the linear limits of movement are reached along the sliding axis, determining whether the response is soft and gradual or more rigid.
+
+In the context of constraints, softness defines how "compliant" or "stiff" the constraint behaves when the limits are approached. A higher softness value makes the constraint respond more softly and gradually as the limit is approached, while a lower value makes the response stiffer and more rigid.
diff --git a/doc/files/getslidesoftnesslimang.txt b/doc/files/getslidesoftnesslimang.txt
new file mode 100644
index 0000000..0f7f6bc
--- /dev/null
+++ b/doc/files/getslidesoftnesslimang.txt
@@ -0,0 +1,6 @@
+#title getSlideSoftnessLimAng [RCBasic Doc]
+#header function getSlideSoftnessLimAng( constraint_id)
+
+Returns the softness parameter for the angular limits of the constraint. This parameter affects how "soft" or "rigid" the constraint behaves when the connected actors reach their angular rotational limits around the slider's axis of rotation.
+
+The softness parameter defines how compliant or stiff the constraint behaves when the motion approaches a limit. A higher softness makes the constraint more flexible, allowing for smoother motion near the limit. A lower softness makes the limit response more rigid and immediate.
diff --git a/doc/files/getslidesoftnesslimlin.txt b/doc/files/getslidesoftnesslimlin.txt
new file mode 100644
index 0000000..f4c4311
--- /dev/null
+++ b/doc/files/getslidesoftnesslimlin.txt
@@ -0,0 +1,6 @@
+#title getSlideSoftnessLimLin [RCBasic Doc]
+#header function getSlideSoftnessLimLin( constraint_id)
+
+Returns the softness parameter for the linear limits of the constraint. This parameter influences how "soft" or "rigid" the constraint behaves when the connected actors reach their linear (sliding) limits along the constraint's axis of motion.
+
+The softness parameter defines how compliant or stiff the constraint behaves when limits are approached. A higher softness value allows for a more gradual and flexible response as the limit is reached, while a lower softness value results in a stiffer and more rigid response.
diff --git a/doc/files/getslidesoftnessorthoang.txt b/doc/files/getslidesoftnessorthoang.txt
new file mode 100644
index 0000000..5b05e05
--- /dev/null
+++ b/doc/files/getslidesoftnessorthoang.txt
@@ -0,0 +1,6 @@
+#title getSlideSoftnessOrthoAng [RCBasic Doc]
+#header function getSlideSoftnessOrthoAng( constraint_id)
+
+Returns the softness parameter for the orthogonal angular limits of the constraint. This parameter controls how "soft" or "rigid" the constraint behaves when angular rotation is limited along directions orthogonal (perpendicular) to the primary axis of motion.
+
+The softness parameter defines how compliant (soft) or stiff (rigid) the constraint behaves when the bodies approach their angular or linear limits. A higher softness value makes the limit more flexible, allowing for gradual motion, while a lower value makes the limit more rigid and restrictive.
diff --git a/doc/files/getslidesoftnessortholin.txt b/doc/files/getslidesoftnessortholin.txt
new file mode 100644
index 0000000..b6ea51a
--- /dev/null
+++ b/doc/files/getslidesoftnessortholin.txt
@@ -0,0 +1,6 @@
+#title getSlideSoftnessOrthoLin [RCBasic Doc]
+#header function getSlideSoftnessOrthoLin( constraint_id)
+
+Returns the softness parameter for the orthogonal linear limits of the constraint. This parameter affects how "soft" or "rigid" the constraint behaves when the connected actors approach their linear movement limits in directions that are orthogonal (perpendicular) to the primary sliding axis.
+
+The softness parameter determines how rigid or compliant the constraint is when the actors approach their movement limits. A higher softness value allows for smoother, more flexible movement near the limit, while a lower value results in a more rigid, immediate response.
diff --git a/doc/files/getslidesolveanglimit.txt b/doc/files/getslidesolveanglimit.txt
new file mode 100644
index 0000000..6e5a1b9
--- /dev/null
+++ b/doc/files/getslidesolveanglimit.txt
@@ -0,0 +1,4 @@
+#title getSlideSolveAngLimit [RCBasic Doc]
+#header function getSlideSolveAngLimit( constraint_id)
+
+Checks whether the angular position of the constraint has reached or exceeded its defined angular limits. It returns a value indicating if the constraint is at or beyond its lower or upper angular limit around the slider’s axis of rotation.
diff --git a/doc/files/getslidesolvelinlimit.txt b/doc/files/getslidesolvelinlimit.txt
new file mode 100644
index 0000000..0a5d15f
--- /dev/null
+++ b/doc/files/getslidesolvelinlimit.txt
@@ -0,0 +1,4 @@
+#title getSlideSolveLinLimit [RCBasic Doc]
+#header function getSlideSolveLinLimit( constraint_id)
+
+Checks whether the linear position of the constraint has reached or exceeded its defined linear limits. It returns a value indicating if the constraint is at or beyond its lower or upper linear limit along the sliding axis.
diff --git a/doc/files/getslideupperanglimit.txt b/doc/files/getslideupperanglimit.txt
new file mode 100644
index 0000000..7fec7a9
--- /dev/null
+++ b/doc/files/getslideupperanglimit.txt
@@ -0,0 +1,6 @@
+#title getSlideUpperAngLimit [RCBasic Doc]
+#header function getSlideUpperAngLimit( constraint_id)
+
+Returns the upper limit of the angular movement allowed for the constraint. This function is crucial for determining how much rotational freedom is allowed around the axis of rotation defined by the slider constraint.
+
+The upper angular limit specifies the maximum allowed rotation around the rotational axis for the slider constraint. If the relative rotation between the two actors exceeds this angle, corrective forces are applied to maintain the constraint and prevent further rotation.
diff --git a/doc/files/getslideupperlinlimit.txt b/doc/files/getslideupperlinlimit.txt
new file mode 100644
index 0000000..6585f0b
--- /dev/null
+++ b/doc/files/getslideupperlinlimit.txt
@@ -0,0 +1,6 @@
+#title getSlideUpperLinLimit [RCBasic Doc]
+#header function getSlideUpperLinLimit( constraint_id)
+
+Returns the upper limit for linear movement along the constraint's axis. This is a crucial function for controlling how far the connected actors can slide along that axis before the constraint enforces limits.
+
+The upper linear limit specifies the maximum distance that the connected actors can move away from each other along the slider's axis. If the relative movement exceeds this limit, the constraint will apply corrective forces to stop further movement.
diff --git a/doc/files/getslideuseframeoffset.txt b/doc/files/getslideuseframeoffset.txt
new file mode 100644
index 0000000..0f1469a
--- /dev/null
+++ b/doc/files/getslideuseframeoffset.txt
@@ -0,0 +1,4 @@
+#title getSlideUseFrameOffset [RCBasic Doc]
+#header function getSlideUseFrameOffset( constraint_id)
+
+Returns a boolean value indicating whether the constraint is using frame offsets for its linear and angular limits.
diff --git a/doc/files/getsoundvolume.txt b/doc/files/getsoundvolume.txt
index c30e6b9..8f1a716 100644
--- a/doc/files/getsoundvolume.txt
+++ b/doc/files/getsoundvolume.txt
@@ -1,4 +1,4 @@
#title GetSoundVolume [RCBasic Doc]
-#header function SoundVolume(slot)
-
+#header function GetSoundVolume(slot)
+Returns the given sounds volume.
diff --git a/doc/files/getterraincenter.txt b/doc/files/getterraincenter.txt
index 40d1607..8a363cb 100644
--- a/doc/files/getterraincenter.txt
+++ b/doc/files/getterraincenter.txt
@@ -1,4 +1,4 @@
#title GetTerrainCenter [RCBasic Doc]
#header sub GetTerrainCenter( actor, ByRef x, ByRef y, ByRef z )
-
+Gets the center point of a terrain actor
diff --git a/doc/files/getterrainheight.txt b/doc/files/getterrainheight.txt
index 682b7a0..d33750a 100644
--- a/doc/files/getterrainheight.txt
+++ b/doc/files/getterrainheight.txt
@@ -1,4 +1,4 @@
#title GetTerrainHeight [RCBasic Doc]
#header function GetTerrainHeight( actor, patchX, patchZ )
-
+Returns the height of a terrain patch
diff --git a/doc/files/getterrainpatchaabb.txt b/doc/files/getterrainpatchaabb.txt
index fd00cb6..695cb36 100644
--- a/doc/files/getterrainpatchaabb.txt
+++ b/doc/files/getterrainpatchaabb.txt
@@ -1,4 +1,4 @@
#title GetTerrainPatchAABB [RCBasic Doc]
#header sub GetTerrainPatchAABB( actor, patchX, patchZ, ByRef minX, ByRef minY, ByRef minZ, ByRef maxX, ByRef maxY, ByRef maxZ )
-
+Returns the bounding box of a terrain patch
diff --git a/doc/files/getterrainpatchlod.txt b/doc/files/getterrainpatchlod.txt
index a48d218..5b172f5 100644
--- a/doc/files/getterrainpatchlod.txt
+++ b/doc/files/getterrainpatchlod.txt
@@ -1,4 +1,4 @@
#title GetTerrainPatchLOD [RCBasic Doc]
#header function GetTerrainPatchLOD( actor, patchX, patchZ )
-
+Returns the current level of detail for a terrain patch
diff --git a/doc/files/gettextheight.txt b/doc/files/gettextheight.txt
index d3e5d73..2dc67ea 100644
--- a/doc/files/gettextheight.txt
+++ b/doc/files/gettextheight.txt
@@ -1,4 +1,4 @@
#title GetTextHeight [RCBasic Doc]
#header function GetTextHeight(txt$)
-
+Returns the height of the text if rendered with the current font
diff --git a/doc/files/gettextsize.txt b/doc/files/gettextsize.txt
index 827a6b9..e37c9d8 100644
--- a/doc/files/gettextsize.txt
+++ b/doc/files/gettextsize.txt
@@ -1,4 +1,4 @@
#title GetTextSize [RCBasic Doc]
-#header sub GetTextSize(slot, txt$, byref w, byref h)
-
+#header sub GetTextSize(txt$, byref w, byref h)
+Gets the size of the text if rendered with the current font
diff --git a/doc/files/gettextwidth.txt b/doc/files/gettextwidth.txt
index 3091a72..65ab5da 100644
--- a/doc/files/gettextwidth.txt
+++ b/doc/files/gettextwidth.txt
@@ -1,4 +1,4 @@
#title GetTextWidth [RCBasic Doc]
#header function GetTextWidth(txt$)
-
+Returns the width of the text if rendered with the current font
diff --git a/doc/files/gettouch.txt b/doc/files/gettouch.txt
index 5f83a70..72cc13b 100644
--- a/doc/files/gettouch.txt
+++ b/doc/files/gettouch.txt
@@ -1,4 +1,4 @@
#title GetTouch [RCBasic Doc]
#header sub GetTouch(byref status, byref x, byref y, byref dx, byref dy)
-
+Gets the position and distance of motion of a touch event
diff --git a/doc/files/gettouchfinger.txt b/doc/files/gettouchfinger.txt
index e7f9d7a..92a2121 100644
--- a/doc/files/gettouchfinger.txt
+++ b/doc/files/gettouchfinger.txt
@@ -1,4 +1,4 @@
#title GetTouchFinger [RCBasic Doc]
#header sub GetTouchFinger(finger, byref x, byref y, byref pressure)
-
+Gets the position and pressure of a finger on a touch event
diff --git a/doc/files/getvideodrawrect.txt b/doc/files/getvideodrawrect.txt
index 5d99c12..0f7f377 100644
--- a/doc/files/getvideodrawrect.txt
+++ b/doc/files/getvideodrawrect.txt
@@ -1,4 +1,4 @@
#title GetVideoDrawRect [RCBasic Doc]
#header sub GetVideoDrawRect(byref x, byref y, byref w, byref h)
-
+Gets the position and dimensions of the area video playback is shown at.
diff --git a/doc/files/getvideoposition.txt b/doc/files/getvideoposition.txt
index e29cb53..d0b6590 100644
--- a/doc/files/getvideoposition.txt
+++ b/doc/files/getvideoposition.txt
@@ -1,4 +1,4 @@
#title GetVideoPosition [RCBasic Doc]
-#header function VideoPosition()
-
+#header function GetVideoPosition()
+Returns the current position in the video playback.
diff --git a/doc/files/getvideosize.txt b/doc/files/getvideosize.txt
index 1b737b3..ccf55ac 100644
--- a/doc/files/getvideosize.txt
+++ b/doc/files/getvideosize.txt
@@ -1,4 +1,4 @@
#title GetVideoSize [RCBasic Doc]
#header sub GetVideoSize(byref w, byref h)
-
+Gets the size of video's frames
diff --git a/doc/files/getvideostats.txt b/doc/files/getvideostats.txt
index 4087b96..f0106c9 100644
--- a/doc/files/getvideostats.txt
+++ b/doc/files/getvideostats.txt
@@ -1,4 +1,6 @@
#title GetVideoStats [RCBasic Doc]
#header sub GetVideoStats(vFile$, byref vLen, byref vfps, byref frame_w, byref frame_h)
+Gets video data from a video file.
+Note: This function is slow and should not be used during time critical sections in your code.
diff --git a/doc/files/getvideovolume.txt b/doc/files/getvideovolume.txt
index 3ae5dce..1f043e4 100644
--- a/doc/files/getvideovolume.txt
+++ b/doc/files/getvideovolume.txt
@@ -1,4 +1,8 @@
#title GetVideoVolume [RCBasic Doc]
#header function GetVideoVolume( )
+Returns the volume of a video
+Volume can be in a range of 0 to 128
+
+#ref SetVideoVolume
diff --git a/doc/files/getwindowmaxsize.txt b/doc/files/getwindowmaxsize.txt
index 23e710b..fe87b92 100644
--- a/doc/files/getwindowmaxsize.txt
+++ b/doc/files/getwindowmaxsize.txt
@@ -1,4 +1,4 @@
#title GetWindowMaxSize [RCBasic Doc]
-#header sub GetWindowMaxSize(win, byref w, byref h)
-
+#header sub GetWindowMaxSize( byref w, byref h)
+Gets the maximum size of a window.
diff --git a/doc/files/getwindowminsize.txt b/doc/files/getwindowminsize.txt
index 89e7c81..e06c2b9 100644
--- a/doc/files/getwindowminsize.txt
+++ b/doc/files/getwindowminsize.txt
@@ -1,4 +1,4 @@
#title GetWindowMinSize [RCBasic Doc]
-#header sub GetWindowMinSize(win, byref w, byref h)
-
+#header sub GetWindowMinSize( byref w, byref h)
+Gets the minimum size of the window.
diff --git a/doc/files/getwindowmode.txt b/doc/files/getwindowmode.txt
index 3a5de6b..2090421 100644
--- a/doc/files/getwindowmode.txt
+++ b/doc/files/getwindowmode.txt
@@ -1,4 +1,4 @@
-#title getWindowMode [RCBasic Doc]
-#header function WindowFlags(win)
-
+#title GetWindowMode [RCBasic Doc]
+#header function GetWindowMode( )
+Returns the flags set on the given window as a bitmask. The mode set with OpenWindow() is part of this mask.
diff --git a/doc/files/getwindowposition.txt b/doc/files/getwindowposition.txt
index 7384272..c822e1e 100644
--- a/doc/files/getwindowposition.txt
+++ b/doc/files/getwindowposition.txt
@@ -1,4 +1,4 @@
#title GetWindowPosition [RCBasic Doc]
-#header sub GetWindowPosition(win, byref x, byref y)
-
+#header sub GetWindowPosition( byref x, byref y )
+Gets the window position.
diff --git a/doc/files/getwindowsize.txt b/doc/files/getwindowsize.txt
index c55bfd8..13c1221 100644
--- a/doc/files/getwindowsize.txt
+++ b/doc/files/getwindowsize.txt
@@ -1,4 +1,4 @@
#title GetWindowSize [RCBasic Doc]
-#header sub GetWindowSize(win, byref w, byref h)
-
+#header sub GetWindowSize( byref w, byref h )
+Gets the size of the window.
diff --git a/doc/files/globalmousex.txt b/doc/files/globalmousex.txt
index 6b384f8..32ca055 100644
--- a/doc/files/globalmousex.txt
+++ b/doc/files/globalmousex.txt
@@ -1,4 +1,6 @@
#title GlobalMouseX [RCBasic Doc]
#header function GlobalMouseX()
+Returns the absolute X position of the mouse on the display
+#ref GlobalMouseY GetGlobalMouse
diff --git a/doc/files/globalmousey.txt b/doc/files/globalmousey.txt
index 64ea0b3..29eaaa7 100644
--- a/doc/files/globalmousey.txt
+++ b/doc/files/globalmousey.txt
@@ -1,4 +1,6 @@
#title GlobalMouseY [RCBasic Doc]
#header function GlobalMouseY()
+Returns the absolute Y position of the mouse on the display
+#ref GlobalMouseX GetGlobalMouse
diff --git a/doc/files/grabinput.txt b/doc/files/grabinput.txt
index a149e9f..cc59462 100644
--- a/doc/files/grabinput.txt
+++ b/doc/files/grabinput.txt
@@ -1,4 +1,4 @@
#title GrabInput [RCBasic Doc]
#header sub GrabInput(flag)
-
+Sets whether the currently active window will grab user input
diff --git a/doc/files/gyroname.txt b/doc/files/gyroname.txt
index 0308818..def7938 100644
--- a/doc/files/gyroname.txt
+++ b/doc/files/gyroname.txt
@@ -1,4 +1,4 @@
#title GyroName$ [RCBasic Doc]
#header function GyroName$(gyro_num)
-
+Returns the name of the gyroscope.
diff --git a/doc/files/hidewindow.txt b/doc/files/hidewindow.txt
index e1ace06..9f663c9 100644
--- a/doc/files/hidewindow.txt
+++ b/doc/files/hidewindow.txt
@@ -1,4 +1,4 @@
#title HideWindow [RCBasic Doc]
-#header sub HideWindow(win)
+#header sub HideWindow( )
diff --git a/doc/files/loadfont.txt b/doc/files/loadfont.txt
index 4d8ef52..e8ecfc1 100644
--- a/doc/files/loadfont.txt
+++ b/doc/files/loadfont.txt
@@ -1,4 +1,4 @@
#title LoadFont [RCBasic Doc]
-#header sub LoadFont(slot, fnt_file$, size)
+#header function LoadFont(fnt_file$, font_size)
diff --git a/doc/files/loadimage.txt b/doc/files/loadimage.txt
index 30353cd..0ea157f 100644
--- a/doc/files/loadimage.txt
+++ b/doc/files/loadimage.txt
@@ -1,4 +1,4 @@
#title LoadImage [RCBasic Doc]
-#header sub LoadImage(slot, img$)
+#header function LoadImage( img$ )
diff --git a/doc/files/loadimageex.txt b/doc/files/loadimageex.txt
index 0e621a5..411a4fa 100644
--- a/doc/files/loadimageex.txt
+++ b/doc/files/loadimageex.txt
@@ -1,4 +1,4 @@
#title LoadImageEx [RCBasic Doc]
-#header sub LoadImage_Ex(slot, img$, colkey)
+#header function LoadImageEx(img$, colkey)
diff --git a/doc/files/loadsound.txt b/doc/files/loadsound.txt
index f176298..a493bf2 100644
--- a/doc/files/loadsound.txt
+++ b/doc/files/loadsound.txt
@@ -1,4 +1,4 @@
#title LoadSound [RCBasic Doc]
-#header sub LoadSound(slot, snd_file$)
+#header function LoadSound(snd_file$)
diff --git a/doc/files/materialexists.txt b/doc/files/materialexists.txt
new file mode 100644
index 0000000..afd5574
--- /dev/null
+++ b/doc/files/materialexists.txt
@@ -0,0 +1,4 @@
+#title MaterialExists [RCBasic Doc]
+#header function MaterialExists( material )
+
+
diff --git a/doc/files/maximizewindow.txt b/doc/files/maximizewindow.txt
index ef2deb5..437ccab 100644
--- a/doc/files/maximizewindow.txt
+++ b/doc/files/maximizewindow.txt
@@ -1,4 +1,4 @@
#title MaximizeWindow [RCBasic Doc]
-#header sub MaximizeWindow(win)
+#header sub MaximizeWindow()
diff --git a/doc/files/minimizewindow.txt b/doc/files/minimizewindow.txt
index 9e8d60a..9644318 100644
--- a/doc/files/minimizewindow.txt
+++ b/doc/files/minimizewindow.txt
@@ -1,4 +1,4 @@
#title MinimizeWindow [RCBasic Doc]
-#header sub MinimizeWindow(win)
+#header sub MinimizeWindow()
diff --git a/doc/files/numberarraycopy.txt b/doc/files/numberarraycopy.txt
index 2dae7f5..720d28a 100644
--- a/doc/files/numberarraycopy.txt
+++ b/doc/files/numberarraycopy.txt
@@ -1,4 +1,9 @@
#title NumberArrayCopy [RCBasic Doc]
#header sub NumberArrayCopy(ByRef src, ByRef dst)
+This function is exists to be internally called by the runtime but should not be called directly.
+
+Use ArrayCopy()
+
+#ref ArrayCopy
diff --git a/doc/files/numberarraydim.txt b/doc/files/numberarraydim.txt
index 5669b6d..30253df 100644
--- a/doc/files/numberarraydim.txt
+++ b/doc/files/numberarraydim.txt
@@ -1,4 +1,9 @@
#title NumberArrayDim [RCBasic Doc]
#header function NumberArrayDim(Byref id)
+This function is exists to be internally called by the runtime but should not be called directly.
+
+Use ArrayDim()
+
+#ref ArrayDim
diff --git a/doc/files/numberarrayfill.txt b/doc/files/numberarrayfill.txt
index b4ec9f8..5c87a7e 100644
--- a/doc/files/numberarrayfill.txt
+++ b/doc/files/numberarrayfill.txt
@@ -1,4 +1,8 @@
#title NumberArrayFill [RCBasic Doc]
#header sub NumberArrayFill(ByRef src, fdata)
+This function is exists to be internally called by the runtime but should not be called directly.
+Use ArrayFill()
+
+#ref ArrayFill
diff --git a/doc/files/numberarraysize.txt b/doc/files/numberarraysize.txt
index ca13632..01f5990 100644
--- a/doc/files/numberarraysize.txt
+++ b/doc/files/numberarraysize.txt
@@ -1,4 +1,9 @@
#title NumberArraySize [RCBasic Doc]
#header function NumberArraySize(Byref id, array_dim)
+This function is exists to be internally called by the runtime but should not be called directly.
+
+Use ArraySize()
+
+#ref ArraySize
diff --git a/doc/files/numcommands.txt b/doc/files/numcommands.txt
index 19c71ad..85cf745 100644
--- a/doc/files/numcommands.txt
+++ b/doc/files/numcommands.txt
@@ -1,4 +1,5 @@
#title NumCommands [RCBasic Doc]
#header function NumCommands()
+Returns the number of command line arguments passed to the program on start
diff --git a/doc/files/numcpus.txt b/doc/files/numcpus.txt
index fe43f47..557269e 100644
--- a/doc/files/numcpus.txt
+++ b/doc/files/numcpus.txt
@@ -1,4 +1,6 @@
#title NumCPUs [RCBasic Doc]
#header function NumCPUs()
+Returns the number of CPUs (ie. cores) available
+
diff --git a/doc/files/numfingers.txt b/doc/files/numfingers.txt
index 870a488..d270146 100644
--- a/doc/files/numfingers.txt
+++ b/doc/files/numfingers.txt
@@ -1,4 +1,4 @@
#title NumFingers [RCBasic Doc]
#header function NumFingers()
-
+Returns the number of fingers detected in the current touch event
diff --git a/doc/files/numgyros.txt b/doc/files/numgyros.txt
index e4c04f2..f2d2eb6 100644
--- a/doc/files/numgyros.txt
+++ b/doc/files/numgyros.txt
@@ -1,4 +1,4 @@
#title NumGyros [RCBasic Doc]
#header function NumGyros()
-
+Returns the number Gyros detected in the current touch event
diff --git a/doc/files/numjoyaxes.txt b/doc/files/numjoyaxes.txt
index 015ee49..757d235 100644
--- a/doc/files/numjoyaxes.txt
+++ b/doc/files/numjoyaxes.txt
@@ -1,4 +1,6 @@
#title NumJoyAxes [RCBasic Doc]
#header function NumJoyAxes(joy_num)
+Returns the number of axes detected on a joystick
+Axes are normally either the analog sticks or trigger buttons but can be anything with multiple values between no activation and max activation
diff --git a/doc/files/numjoybuttons.txt b/doc/files/numjoybuttons.txt
index 1ad0dd1..a1c10d8 100644
--- a/doc/files/numjoybuttons.txt
+++ b/doc/files/numjoybuttons.txt
@@ -1,4 +1,4 @@
#title NumJoyButtons [RCBasic Doc]
#header function NumJoyButtons(joy_num)
-
+Returns the number of buttons on a joystick
diff --git a/doc/files/numjoyhats.txt b/doc/files/numjoyhats.txt
index 38efbbf..29cc237 100644
--- a/doc/files/numjoyhats.txt
+++ b/doc/files/numjoyhats.txt
@@ -1,4 +1,4 @@
#title NumJoyHats [RCBasic Doc]
#header function NumJoyHats(joy_num)
-
+Returns the number of hats on a joystick
diff --git a/doc/files/numjoysticks.txt b/doc/files/numjoysticks.txt
index d72534b..3285626 100644
--- a/doc/files/numjoysticks.txt
+++ b/doc/files/numjoysticks.txt
@@ -1,4 +1,4 @@
#title NumJoysticks [RCBasic Doc]
#header function NumJoysticks()
-
+Returns the number of joysticks detected
diff --git a/doc/files/numjoytrackballs.txt b/doc/files/numjoytrackballs.txt
index 929b48d..9c62b54 100644
--- a/doc/files/numjoytrackballs.txt
+++ b/doc/files/numjoytrackballs.txt
@@ -1,4 +1,4 @@
#title NumJoyTrackBalls [RCBasic Doc]
#header function NumJoyTrackBalls(joy_num)
-
+Returns the number of trackballs detected on a joystick
diff --git a/doc/files/numsoundchannels.txt b/doc/files/numsoundchannels.txt
index 7e5221f..8f09479 100644
--- a/doc/files/numsoundchannels.txt
+++ b/doc/files/numsoundchannels.txt
@@ -1,4 +1,4 @@
#title NumSoundChannels [RCBasic Doc]
#header function NumSoundChannels()
-
+Returns the number of sound channels available
diff --git a/doc/files/opencanvas.txt b/doc/files/opencanvas.txt
index 7c86f60..7a6c65a 100644
--- a/doc/files/opencanvas.txt
+++ b/doc/files/opencanvas.txt
@@ -1,4 +1,13 @@
#title OpenCanvas [RCBasic Doc]
-#header sub CanvasOpen(c_num, w, h, viewport_x, viewport_y, viewport_w, viewport_h, mode)
+#header function OpenCanvas( w, h, viewport_x, viewport_y, viewport_w, viewport_h, mode)
+Returns a canvas for 2D drawing and text rendering
+#list ul
+#li w, h - The full size of the canvas
+#li viewport_x, viewport_y - Where to show the canvas in the window
+#li viewport_w, viewport_h - The size of the viewport. For example, a 100 x 100 viewport means that no matter how big the canvas is, only an area of 100 x 100 pixels is displayed.
+#li mode - Set this to 0 for a solid canvas and 1 for a color keyed canvas.
+#/list
+
+#ref OpenCanvas3D OpenCanvasSpriteLayer
diff --git a/doc/files/opencanvas3d.txt b/doc/files/opencanvas3d.txt
new file mode 100644
index 0000000..a8ab92b
--- /dev/null
+++ b/doc/files/opencanvas3d.txt
@@ -0,0 +1,12 @@
+#title OpenCanvas3D [RCBasic Doc]
+#header function OpenCanvas3D( viewport_x, viewport_y, viewport_w, viewport_h, mode)
+
+Returns a 3D Canvas for viewing the scene.
+
+Returns -1 if canvas could not be created.
+
+Note: Each 3D canvas has its own camera so you need to make sure you have the canvas active before doing anything with the camera
+
+Note: 2D drawing commands do not work on 3D canvases. You need to open a 2D canvas for drawing images.
+
+#ref OpenCanvas OpenCanvasSpriteLayer
diff --git a/doc/files/opencanvasspritelayer.txt b/doc/files/opencanvasspritelayer.txt
new file mode 100644
index 0000000..3635a7e
--- /dev/null
+++ b/doc/files/opencanvasspritelayer.txt
@@ -0,0 +1,10 @@
+#title OpenCanvasSpriteLayer [RCBasic Doc]
+#header function OpenCanvasSpriteLayer(w, h, viewport_x, viewport_y, viewport_w, viewport_h)
+
+Returns a sprite layer. These canvases are used for rendering sprites with the integrated physics engine.
+
+Returns -1 if canvas could not be created.
+
+Note: Sprite Layer must be active when creating sprites.
+
+#ref OpenCanvas OpenCanvas3D
diff --git a/doc/files/openfile.txt b/doc/files/openfile.txt
index ec0faf8..a63d51f 100644
--- a/doc/files/openfile.txt
+++ b/doc/files/openfile.txt
@@ -1,4 +1,26 @@
#title OpenFile [RCBasic Doc]
-#header function FileOpen(stream, fileName$, mode)
+#header function OpenFile(fileName$, mode)
+Returns an ID for an open file to read or write.
+Returns -1 if the file could not be opened.
+
+Possible Text Modes
+#list ul
+#li TEXT_INPUT - Open a file for reading text. The file must already exist.
+#li TEXT_OUTPUT - Open a new file for writing text. If the file already exist it will be overwritten.
+#li TEXT_APPEND - Opens a file for appending text to the end of the file. A file will be created if it doesn't already exist.
+#li TEXT_INPUT_PLUS - Opens a file for reading and writing text. The file must already exist.
+#li TEXT_OUTPUT_PLUS - Opens a file for both reading and writing. If the file already exist it will be overwritten.
+#li TEXT_APPEND_PLUS - Opens a file for reading and appending text to the end of the file.
+#/list
+
+Possible Binary Modes
+#list ul
+#li BINARY_INPUT - Open a file for reading binary data. The file must already exist.
+#li BINARY_OUTPUT - Open a new file for writing binary data. If the file already exist it will be overwritten.
+#li BINARY_APPEND - Opens a file for appending binary data to the end of the file. A file will be created if it doesn't already exist.
+#li BINARY_INPUT_PLUS - Opens a file for reading and writing binary data. The file must already exist.
+#li BINARY_OUTPUT_PLUS - Opens a file for both reading and writing. If the file already exist it will be overwritten.
+#li BINARY_APPEND_PLUS - Opens a file for reading and appending binary data to the end of the file.
+#/list
diff --git a/doc/files/openspritecanvas.txt b/doc/files/openspritecanvas.txt
new file mode 100644
index 0000000..b88914e
--- /dev/null
+++ b/doc/files/openspritecanvas.txt
@@ -0,0 +1,4 @@
+#title OpenSpriteCanvas [RCBasic Doc]
+#header function OpenSpriteCanvas(w, h, viewport_x, viewport_y, viewport_w, viewport_h)
+
+
diff --git a/doc/files/openurl.txt b/doc/files/openurl.txt
index 7fd2cf7..debc20e 100644
--- a/doc/files/openurl.txt
+++ b/doc/files/openurl.txt
@@ -1,4 +1,4 @@
#title OpenURL [RCBasic Doc]
#header function OpenURL(url$)
-
+Opens a URL in the internet browser
diff --git a/doc/files/openwindow.txt b/doc/files/openwindow.txt
index aaffd30..c37f5c7 100644
--- a/doc/files/openwindow.txt
+++ b/doc/files/openwindow.txt
@@ -1,4 +1,8 @@
#title OpenWindow [RCBasic Doc]
-#header sub WindowOpen(win, title$, x, y, w, h, flag, vsync)
+#header Function OpenWindow( title$, w, h, fullscreen, vsync )
+Opens a graphics window
+Returns true if window was opened and false if a window could not be opened
+
+#ref OpenWindowEx
diff --git a/doc/files/openwindowex.txt b/doc/files/openwindowex.txt
index 441ebf8..5c19c1b 100644
--- a/doc/files/openwindowex.txt
+++ b/doc/files/openwindowex.txt
@@ -1,4 +1,24 @@
#title OpenWindowEx [RCBasic Doc]
#header function OpenWindowEx(title$, x, y, w, h, mode, aa, stencil_buffer, vsync)
+Opens a graphics window
+Returns true if window was opened and false if a window could not be opened
+
+#list ul
+# x, y - The position on the display where the window will be drawn
+ #list ul
+ #li WINDOWPOS_CENTERED can be used to center the window
+ #/list
+#li w, h - The size of the window
+#li mode - Refer to WindowMode() for values that can be set
+#li aa - The level of AntiAliasing
+ #list ul
+ #li A value of 0 means no AntiAliasing which can improve performance
+ #li If the value selected is not supported then a lower value will be selected internally
+ #/list
+#li stencil_buffer (true / false) - determines whether stencil buffer will be used for shadows
+#li vsync - determines if vsync will be enabled for the window
+#/list
+
+#ref OpenWindow WindowMode
diff --git a/doc/files/orbit.txt b/doc/files/orbit.txt
index 26590c5..060ba7b 100644
--- a/doc/files/orbit.txt
+++ b/doc/files/orbit.txt
@@ -1,4 +1,6 @@
#title OrBit [RCBasic Doc]
#header function OrBit(a, b)
+Returns the value of the bitwise OR operation on the operands A and B
+#ref XOrBit AndBit
diff --git a/doc/files/os.txt b/doc/files/os.txt
index 4e9286f..bd56b8b 100644
--- a/doc/files/os.txt
+++ b/doc/files/os.txt
@@ -1,4 +1,16 @@
#title OS$ [RCBasic Doc]
#header function OS$()
+Returns the runtimes native operating system.
+Possible Return Values
+#list ul
+#li WINDOWS
+#li LINUX
+#li MAC
+#li ANDROID
+#li IOS
+#li WEB
+#/list
+
+Note: This specifically returns the OS$ the runtime was built for so if you have a windows executable running under wine this function will return "WINDOWS"
diff --git a/doc/files/particleisusingeverymeshvertex.txt b/doc/files/particleisusingeverymeshvertex.txt
index 5c97b62..4a8a5e8 100644
--- a/doc/files/particleisusingeverymeshvertex.txt
+++ b/doc/files/particleisusingeverymeshvertex.txt
@@ -1,4 +1,7 @@
#title particleIsUsingEveryMeshVertex [RCBasic Doc]
#header function particleIsUsingEveryMeshVertex( actor)
+Returns true if emitter emits min<->max particles for every vertex or to pick min<->max vertices.
+
+#ref useParticleEveryMeshVertex
diff --git a/doc/files/particleisusingnormaldirection.txt b/doc/files/particleisusingnormaldirection.txt
index 1cae291..339c504 100644
--- a/doc/files/particleisusingnormaldirection.txt
+++ b/doc/files/particleisusingnormaldirection.txt
@@ -1,4 +1,6 @@
#title particleIsUsingNormalDirection [RCBasic Doc]
#header function particleIsUsingNormalDirection( actor)
+Returns true if particle emitter is using vertex normal for direction, or direction specified.
+#ref useParticleNormalDirection
diff --git a/doc/files/particleisusingoutlineonly.txt b/doc/files/particleisusingoutlineonly.txt
index b114c1b..1d1fd92 100644
--- a/doc/files/particleisusingoutlineonly.txt
+++ b/doc/files/particleisusingoutlineonly.txt
@@ -1,4 +1,9 @@
#title particleIsUsingOutlineOnly [RCBasic Doc]
#header function particleIsUsingOutlineOnly( actor)
+Returns true if not using draw points inside the cylinder
+
+Note: Only applies to cylinder emitter
+
+#ref useParticleOutlineOnly
diff --git a/doc/files/pausemusic.txt b/doc/files/pausemusic.txt
index 754eee6..575b954 100644
--- a/doc/files/pausemusic.txt
+++ b/doc/files/pausemusic.txt
@@ -1,4 +1,6 @@
#title PauseMusic [RCBasic Doc]
#header sub PauseMusic()
+Pauses the currently loaded music track. Unlike StopMusic(), paused music can be resumed from its current position.
+#ref ResumeMusic StopMusic
diff --git a/doc/files/pausesound.txt b/doc/files/pausesound.txt
index 7bfb363..f23cd3f 100644
--- a/doc/files/pausesound.txt
+++ b/doc/files/pausesound.txt
@@ -1,4 +1,4 @@
#title PauseSound [RCBasic Doc]
#header sub PauseSound(channel)
-
+Pauses a sound at its current position.
diff --git a/doc/files/pausevideo.txt b/doc/files/pausevideo.txt
index e4f9c22..735af3c 100644
--- a/doc/files/pausevideo.txt
+++ b/doc/files/pausevideo.txt
@@ -1,4 +1,4 @@
#title PauseVideo [RCBasic Doc]
#header sub PauseVideo()
-
+Pauses the currently loaded video track
diff --git a/doc/files/playmusic.txt b/doc/files/playmusic.txt
index 73204db..121969f 100644
--- a/doc/files/playmusic.txt
+++ b/doc/files/playmusic.txt
@@ -1,4 +1,10 @@
#title PlayMusic [RCBasic Doc]
#header sub PlayMusic(mLoops)
+Plays music for set number of loops.
+Note: If you only want to play the music once, set this to 0.
+
+Note: Set this to -1 to play infinitely.
+
+#ref StopMusic
diff --git a/doc/files/playsound.txt b/doc/files/playsound.txt
index 4c4c62d..e059fd0 100644
--- a/doc/files/playsound.txt
+++ b/doc/files/playsound.txt
@@ -1,4 +1,4 @@
#title PlaySound [RCBasic Doc]
#header sub PlaySound(slot, channel, loops)
-
+Plays a sound on the given channel for the given number of loops.
diff --git a/doc/files/playsoundtimed.txt b/doc/files/playsoundtimed.txt
index 5e0cf1c..87fa8ca 100644
--- a/doc/files/playsoundtimed.txt
+++ b/doc/files/playsoundtimed.txt
@@ -1,4 +1,4 @@
#title PlaySoundTimed [RCBasic Doc]
#header sub PlaySoundTimed(slot, channel, loops, ms)
-
+Plays sound for a given number of loops until the given number of milliseconds is reached.
diff --git a/doc/files/playvideo.txt b/doc/files/playvideo.txt
index 47ad2f9..a8e5604 100644
--- a/doc/files/playvideo.txt
+++ b/doc/files/playvideo.txt
@@ -1,4 +1,10 @@
#title PlayVideo [RCBasic Doc]
#header sub PlayVideo(vLoops)
+Plays the currently loaded video for a set number of loops.
+Note: Set this to 0 to play the video once.
+
+Note: Set this to -1 to the video infinitely.
+
+#ref StopVideo
diff --git a/doc/files/pointinquad.txt b/doc/files/pointinquad.txt
index 4f3ca9b..32c7678 100644
--- a/doc/files/pointinquad.txt
+++ b/doc/files/pointinquad.txt
@@ -1,4 +1,4 @@
#title PointInQuad [RCBasic Doc]
-#header function PointInQuad(x, y, x1, y1, x2, y2, x3, y3, x4, y4)
-
+#header function PointInQuad(px, py, x1, y1, x2, y2, x3, y3, x4, y4)
+Returns true if the point (px, py) is in the quad (x1, y1) to (x4, y4)
diff --git a/doc/files/pointintri.txt b/doc/files/pointintri.txt
index 49a29e1..b4878da 100644
--- a/doc/files/pointintri.txt
+++ b/doc/files/pointintri.txt
@@ -1,4 +1,4 @@
#title PointInTri [RCBasic Doc]
-#header function PointInTri(x, y, x1, y1, x2, y2, x3, y3)
-
+#header function PointInTri(px, py, x1, y1, x2, y2, x3, y3)
+Returns true if the point (px, py) is in the quad (x1, y1) to (x3, y3)
diff --git a/doc/files/poly.txt b/doc/files/poly.txt
index 1294e69..b3601ed 100644
--- a/doc/files/poly.txt
+++ b/doc/files/poly.txt
@@ -1,4 +1,18 @@
#title Poly [RCBasic Doc]
#header sub Poly(n, byref x, byref y)
+Draws a polygon
+#list ul
+#li n - Number of points in the polygon
+#li x, y - Array where the points are stored
+#/list
+
+#code
+Dim x[3], y[3]
+x[0] = 50 : y[0] = 50
+x[1] = 90 : y[1] = 90
+x[2] = 10 : y[1] = 90
+
+Poly(3, x, y) 'Draws a triangle
+#/code
diff --git a/doc/files/pop_n.txt b/doc/files/pop_n.txt
index a785a85..c4a67bd 100644
--- a/doc/files/pop_n.txt
+++ b/doc/files/pop_n.txt
@@ -1,4 +1,6 @@
#title Pop_N [RCBasic Doc]
#header function Pop_N( num_stack )
+Removes the top number off a number stack and returns it
+#ref Push_N
diff --git a/doc/files/pop_s.txt b/doc/files/pop_s.txt
index e66028e..86bf546 100644
--- a/doc/files/pop_s.txt
+++ b/doc/files/pop_s.txt
@@ -1,4 +1,7 @@
#title Pop_S$ [RCBasic Doc]
#header function Pop_S$( str_stack )
+Removes the top string off a string stack and returns it
+
+#ref Push_S
diff --git a/doc/files/pset.txt b/doc/files/pset.txt
index 411e190..ac27150 100644
--- a/doc/files/pset.txt
+++ b/doc/files/pset.txt
@@ -1,4 +1,4 @@
#title Pset [RCBasic Doc]
#header sub Pset(x,y)
-
+Draws a pixel
diff --git a/doc/files/push_n.txt b/doc/files/push_n.txt
index 1a9f83b..9b32151 100644
--- a/doc/files/push_n.txt
+++ b/doc/files/push_n.txt
@@ -1,4 +1,8 @@
#title Push_N [RCBasic Doc]
#header sub Push_N( num_stack, n )
+Pushes a number onto a number stack
+
+#ref Pop_N
+
diff --git a/doc/files/push_s.txt b/doc/files/push_s.txt
index a6b04e2..17004a0 100644
--- a/doc/files/push_s.txt
+++ b/doc/files/push_s.txt
@@ -1,4 +1,7 @@
#title Push_S [RCBasic Doc]
#header sub Push_S( str_stack, s$ )
+Pushes a string onto a string stack
+
+#ref Pop_S
diff --git a/doc/files/queryaudiospec.txt b/doc/files/queryaudiospec.txt
index 969989f..edd5606 100644
--- a/doc/files/queryaudiospec.txt
+++ b/doc/files/queryaudiospec.txt
@@ -1,4 +1,4 @@
#title QueryAudioSpec [RCBasic Doc]
#header function QueryAudioSpec(ByRef freq, ByRef format, ByRef channels)
-
+Gets the frequency, output format, and number of channels for the audio device being used.
diff --git a/doc/files/radians.txt b/doc/files/radians.txt
index 0f0f324..5573725 100644
--- a/doc/files/radians.txt
+++ b/doc/files/radians.txt
@@ -1,4 +1,4 @@
#title Radians [RCBasic Doc]
#header function Radians(d)
-
+Returns an angle converted from degrees to radians
diff --git a/doc/files/raisewindow.txt b/doc/files/raisewindow.txt
index 200fd1b..7ed4d2b 100644
--- a/doc/files/raisewindow.txt
+++ b/doc/files/raisewindow.txt
@@ -1,4 +1,4 @@
#title RaiseWindow [RCBasic Doc]
-#header sub RaiseWindow(win)
-
+#header sub RaiseWindow( )
+Places the current window on top of the other windows.
diff --git a/doc/files/rand.txt b/doc/files/rand.txt
index 380a601..9db4f9b 100644
--- a/doc/files/rand.txt
+++ b/doc/files/rand.txt
@@ -1,4 +1,4 @@
#title Rand [RCBasic Doc]
#header function Rand(n)
-
+Returns a random number between 0 and n.
diff --git a/doc/files/randomize.txt b/doc/files/randomize.txt
index c3c2ef4..a6ac4f6 100644
--- a/doc/files/randomize.txt
+++ b/doc/files/randomize.txt
@@ -1,4 +1,4 @@
#title Randomize [RCBasic Doc]
#header function Randomize(n)
-
+Seeds the random number generator
diff --git a/doc/files/randomizematrix.txt b/doc/files/randomizematrix.txt
index cdc4a09..abc73bc 100644
--- a/doc/files/randomizematrix.txt
+++ b/doc/files/randomizematrix.txt
@@ -1,4 +1,4 @@
#title RandomizeMatrix [RCBasic Doc]
#header sub RandomizeMatrix(mA, vmin, vmax)
-
+Stores random values between vmin and vmax in the matrix mA
diff --git a/doc/files/readbyte.txt b/doc/files/readbyte.txt
index b5b06e9..e3cbda4 100644
--- a/doc/files/readbyte.txt
+++ b/doc/files/readbyte.txt
@@ -1,4 +1,4 @@
#title ReadByte [RCBasic Doc]
#header function ReadByte(stream)
-
+Reads a byte from a file.
diff --git a/doc/files/readbytebuffer.txt b/doc/files/readbytebuffer.txt
index 10f06fe..ab58c7a 100644
--- a/doc/files/readbytebuffer.txt
+++ b/doc/files/readbytebuffer.txt
@@ -1,4 +1,12 @@
#title ReadByteBuffer [RCBasic Doc]
#header function ReadByteBuffer(stream, ByRef buf, buf_size)
+Reads a number of bytes from a file stream to an array.
+#list ul
+#li stream - A open file
+#li buffer - An array of bytes
+#li buffer_size - The number of bytes to write from buffer (This should be less than size of the buffer)
+#/list
+
+#ref ReadByte
diff --git a/doc/files/readinput_settext.txt b/doc/files/readinput_settext.txt
index 4cd14c9..c6a3bd3 100644
--- a/doc/files/readinput_settext.txt
+++ b/doc/files/readinput_settext.txt
@@ -1,4 +1,4 @@
#title ReadInput_SetText [RCBasic Doc]
#header sub ReadInput_SetText(txt$)
-
+Sets the text in the ReadInput buffer.
diff --git a/doc/files/readinput_start.txt b/doc/files/readinput_start.txt
index a3fd1af..865b75c 100644
--- a/doc/files/readinput_start.txt
+++ b/doc/files/readinput_start.txt
@@ -1,4 +1,4 @@
#title ReadInput_Start [RCBasic Doc]
#header sub ReadInput_Start()
-
+Start reading input from the keyboard.
diff --git a/doc/files/readinput_stop.txt b/doc/files/readinput_stop.txt
index 48afa3c..b896369 100644
--- a/doc/files/readinput_stop.txt
+++ b/doc/files/readinput_stop.txt
@@ -1,4 +1,4 @@
#title ReadInput_Stop [RCBasic Doc]
#header sub ReadInput_Stop()
-
+Stops reading input from the keyboard.
diff --git a/doc/files/readinput_text.txt b/doc/files/readinput_text.txt
index 16cc690..4a5bd2e 100644
--- a/doc/files/readinput_text.txt
+++ b/doc/files/readinput_text.txt
@@ -1,4 +1,4 @@
#title ReadInput_Text$ [RCBasic Doc]
#header function ReadInput_Text$()
-
+Returns the text read from the keyboard.
diff --git a/doc/files/readinput_togglebackspace.txt b/doc/files/readinput_togglebackspace.txt
index 6a4b6aa..cc017bc 100644
--- a/doc/files/readinput_togglebackspace.txt
+++ b/doc/files/readinput_togglebackspace.txt
@@ -1,4 +1,4 @@
#title ReadInput_ToggleBackspace [RCBasic Doc]
#header sub ReadInput_ToggleBackspace(flag)
-
+Determines whether the backspace is applied during ReadInput events.
diff --git a/doc/files/readline.txt b/doc/files/readline.txt
index 905c7e4..a2fd4b2 100644
--- a/doc/files/readline.txt
+++ b/doc/files/readline.txt
@@ -1,4 +1,4 @@
#title ReadLine$ [RCBasic Doc]
#header function ReadLine$(stream)
-
+Returns the current line in the file.
diff --git a/doc/files/rect.txt b/doc/files/rect.txt
index ca7d960..d9ff719 100644
--- a/doc/files/rect.txt
+++ b/doc/files/rect.txt
@@ -1,4 +1,4 @@
#title Rect [RCBasic Doc]
#header sub Rect(x, y, w, h)
-
+Draws a rectangle to the current canvas.
diff --git a/doc/files/rectfill.txt b/doc/files/rectfill.txt
index 1b5a196..13f6ec0 100644
--- a/doc/files/rectfill.txt
+++ b/doc/files/rectfill.txt
@@ -1,4 +1,4 @@
#title RectFill [RCBasic Doc]
#header sub RectFill(x, y, w, h)
-
+Draws a filled rectangle on the current canvas.
diff --git a/doc/files/removeactorshadow.txt b/doc/files/removeactorshadow.txt
index 0f699b1..5802d7f 100644
--- a/doc/files/removeactorshadow.txt
+++ b/doc/files/removeactorshadow.txt
@@ -1,4 +1,6 @@
#title RemoveActorShadow [RCBasic Doc]
#header sub RemoveActorShadow( actor )
+Stops shadow casting on an actor
+#ref AddActorShadow
diff --git a/doc/files/removedir.txt b/doc/files/removedir.txt
index c03614a..0c202c2 100644
--- a/doc/files/removedir.txt
+++ b/doc/files/removedir.txt
@@ -1,4 +1,4 @@
#title RemoveDir [RCBasic Doc]
#header function RemoveDir(p$)
-
+Removes a directory.
diff --git a/doc/files/removefile.txt b/doc/files/removefile.txt
index 87b2c15..eae2249 100644
--- a/doc/files/removefile.txt
+++ b/doc/files/removefile.txt
@@ -1,4 +1,4 @@
#title RemoveFile [RCBasic Doc]
#header function RemoveFile(fileName$)
-
+Removes a file.
diff --git a/doc/files/removescenesky.txt b/doc/files/removescenesky.txt
index b665641..58061fd 100644
--- a/doc/files/removescenesky.txt
+++ b/doc/files/removescenesky.txt
@@ -1,4 +1,6 @@
#title RemoveSceneSky [RCBasic Doc]
#header sub RemoveSceneSky( )
+Removes the sky from the current 3D scene
+#ref AddSceneSkyBox AddSceneSkyDome AddSceneSkyDomeEx
diff --git a/doc/files/renamefile.txt b/doc/files/renamefile.txt
index abbdf67..66f49e6 100644
--- a/doc/files/renamefile.txt
+++ b/doc/files/renamefile.txt
@@ -1,4 +1,4 @@
#title RenameFile [RCBasic Doc]
#header function RenameFile(src$, dst$)
-
+Renames src$ file to dst$ file.
diff --git a/doc/files/replace.txt b/doc/files/replace.txt
index 33bc7c2..3f86bc7 100644
--- a/doc/files/replace.txt
+++ b/doc/files/replace.txt
@@ -1,4 +1,4 @@
#title Replace$ [RCBasic Doc]
#header function Replace$(src$, tgt$, rpc$)
-
+Replaces all occurrences of tgt$ with rpc$.
diff --git a/doc/files/replacesubstr.txt b/doc/files/replacesubstr.txt
index 92ef6a0..c84ae31 100644
--- a/doc/files/replacesubstr.txt
+++ b/doc/files/replacesubstr.txt
@@ -1,4 +1,4 @@
#title ReplaceSubstr$ [RCBasic Doc]
#header function ReplaceSubstr$(src$, rpc$, pos)
-
+Overwrites the characters at the given position in src$ with rpc$.
diff --git a/doc/files/restorewindow.txt b/doc/files/restorewindow.txt
index 9a00ab0..5419b9c 100644
--- a/doc/files/restorewindow.txt
+++ b/doc/files/restorewindow.txt
@@ -1,4 +1,4 @@
#title RestoreWindow [RCBasic Doc]
-#header sub RestoreWindow(win)
-
+#header sub RestoreWindow( )
+Restores the window if minimized
diff --git a/doc/files/resumemusic.txt b/doc/files/resumemusic.txt
index 371cdd7..adb9e0f 100644
--- a/doc/files/resumemusic.txt
+++ b/doc/files/resumemusic.txt
@@ -1,4 +1,4 @@
#title ResumeMusic [RCBasic Doc]
#header sub ResumeMusic()
-
+Resumes playing music.
diff --git a/doc/files/resumesound.txt b/doc/files/resumesound.txt
index be12b60..d36255d 100644
--- a/doc/files/resumesound.txt
+++ b/doc/files/resumesound.txt
@@ -1,4 +1,6 @@
#title ResumeSound [RCBasic Doc]
#header sub ResumeSound(channel)
+Resumes playing sound on the given channel.
+#ref PauseSound
diff --git a/doc/files/resumevideo.txt b/doc/files/resumevideo.txt
index 2c6b1a0..4c6e534 100644
--- a/doc/files/resumevideo.txt
+++ b/doc/files/resumevideo.txt
@@ -1,4 +1,6 @@
#title ResumeVideo [RCBasic Doc]
#header sub ResumeVideo()
+Resumes the video
+#ref PauseVideo
diff --git a/doc/files/reverse.txt b/doc/files/reverse.txt
index f087869..973346b 100644
--- a/doc/files/reverse.txt
+++ b/doc/files/reverse.txt
@@ -1,4 +1,4 @@
#title Reverse$ [RCBasic Doc]
#header function Reverse$(src$)
-
+Returns src$ with the characters in reverse order.
diff --git a/doc/files/rewindmusic.txt b/doc/files/rewindmusic.txt
index 230a3bc..7873e4d 100644
--- a/doc/files/rewindmusic.txt
+++ b/doc/files/rewindmusic.txt
@@ -1,4 +1,4 @@
#title RewindMusic [RCBasic Doc]
#header sub RewindMusic()
-
+Rewinds the music track.
diff --git a/doc/files/scalarmatrix.txt b/doc/files/scalarmatrix.txt
index ae1d0b9..a68839f 100644
--- a/doc/files/scalarmatrix.txt
+++ b/doc/files/scalarmatrix.txt
@@ -1,4 +1,4 @@
#title ScalarMatrix [RCBasic Doc]
#header sub ScalarMatrix(mA, mB, s_value)
-
+Multiplies values in matrix mA by scalar value and stores the results in mB
diff --git a/doc/files/scalarmatrixcolumns.txt b/doc/files/scalarmatrixcolumns.txt
index d627d3b..1385975 100644
--- a/doc/files/scalarmatrixcolumns.txt
+++ b/doc/files/scalarmatrixcolumns.txt
@@ -1,4 +1,4 @@
#title ScalarMatrixColumns [RCBasic Doc]
#header function ScalarMatrixColumns(mA, mB, c, num_cols, s_value)
-
+Multiplies values in the specified columns of matrix mA by scalar value and stores the results in mB
diff --git a/doc/files/scalarmatrixrows.txt b/doc/files/scalarmatrixrows.txt
index 4cede18..c2ce85b 100644
--- a/doc/files/scalarmatrixrows.txt
+++ b/doc/files/scalarmatrixrows.txt
@@ -1,4 +1,4 @@
#title ScalarMatrixRows [RCBasic Doc]
#header function ScalarMatrixRows(mA, mB, r, num_rows, s_value)
-
+Multiplies values in the specified rows of matrix mA by scalar value and stores the results in mB
diff --git a/doc/files/scaleactor.txt b/doc/files/scaleactor.txt
index ff1e0c5..7889025 100644
--- a/doc/files/scaleactor.txt
+++ b/doc/files/scaleactor.txt
@@ -1,4 +1,6 @@
#title ScaleActor [RCBasic Doc]
#header sub ScaleActor( actor, x, y, z )
+Multiplies the actor's current scale by the vector given
+#ref SetActorScale
diff --git a/doc/files/scaleterraintexture.txt b/doc/files/scaleterraintexture.txt
index 74a4097..ac4b9d4 100644
--- a/doc/files/scaleterraintexture.txt
+++ b/doc/files/scaleterraintexture.txt
@@ -1,4 +1,9 @@
#title ScaleTerrainTexture [RCBasic Doc]
#header sub ScaleTerrainTexture( actor, scale, scale2 )
+Scales the base texture, similar to makePlanarTextureMapping.
+#list ul
+#li scale - The scaling amount. Values above 1.0 increase the number of time the texture is drawn on the terrain. Values below 0 will decrease the number of times the texture is drawn on the terrain. Using negative values will flip the texture, as well as still scaling it.
+#li scale2 - If set to 0 (default value), this will set the second texture coordinate set to the same values as in the first set. If this is another value than zero, it will scale the second texture coordinate set by this value.
+#/list
diff --git a/doc/files/seek.txt b/doc/files/seek.txt
index eeff200..d702020 100644
--- a/doc/files/seek.txt
+++ b/doc/files/seek.txt
@@ -1,4 +1,6 @@
#title Seek [RCBasic Doc]
#header function Seek(stream, pos)
+Sets the position within a file to read from or write to.
+#ref Tell
diff --git a/doc/files/setactorangularfactor.txt b/doc/files/setactorangularfactor.txt
index 23eb2c8..f24d283 100644
--- a/doc/files/setactorangularfactor.txt
+++ b/doc/files/setactorangularfactor.txt
@@ -1,4 +1,9 @@
-#title setActorAngularFactor [RCBasic Doc]
-#header sub setActorAngularFactor( actor, x, y, z)
+#title SetActorAngularFactor [RCBasic Doc]
+#header sub SetActorAngularFactor( actor, x, y, z)
+Sets an actor's angular factor.
+
+The angular factor determines how the actor responds to angular velocity or torque.
+
+#ref GetActorAngularFactor SetActorAngularFactor SetActorLinearFactor
diff --git a/doc/files/setactorangularvelocitylocal.txt b/doc/files/setactorangularvelocitylocal.txt
index d1f7541..1038b4a 100644
--- a/doc/files/setactorangularvelocitylocal.txt
+++ b/doc/files/setactorangularvelocitylocal.txt
@@ -1,4 +1,6 @@
#title setActorAngularVelocityLocal [RCBasic Doc]
#header sub setActorAngularVelocityLocal( actor, x, y, z)
+Sets an actor's Angular Velocity
+#ref GetActorAngularVelocityWorld GetActorAngularVelocityLocal SetActorAngularVelocityWorld
diff --git a/doc/files/setactorangularvelocityworld.txt b/doc/files/setactorangularvelocityworld.txt
index 1fa8210..25b406e 100644
--- a/doc/files/setactorangularvelocityworld.txt
+++ b/doc/files/setactorangularvelocityworld.txt
@@ -1,4 +1,7 @@
#title setActorAngularVelocityWorld [RCBasic Doc]
#header sub setActorAngularVelocityWorld( actor, x, y, z)
+Sets an actor's Angular Velocity
+
+#ref GetActorAngularVelocityWorld GetActorAngularVelocityLocal SetActorAngularVelocityLocal
diff --git a/doc/files/setactoranimation.txt b/doc/files/setactoranimation.txt
index bdc4b0b..adef756 100644
--- a/doc/files/setactoranimation.txt
+++ b/doc/files/setactoranimation.txt
@@ -1,4 +1,8 @@
#title SetActorAnimation [RCBasic Doc]
#header sub SetActorAnimation( actor, start_frame, end_frame)
+Sets the start frame and end frame that an actor will loop through
+Note: Use LoopActorAnimation() to enable or disable animation looping
+
+#ref LoopActorAnimation SetActorFrame
diff --git a/doc/files/setactoranimationspeed.txt b/doc/files/setactoranimationspeed.txt
index acc056a..1228754 100644
--- a/doc/files/setactoranimationspeed.txt
+++ b/doc/files/setactoranimationspeed.txt
@@ -1,4 +1,6 @@
#title SetActorAnimationSpeed [RCBasic Doc]
#header sub SetActorAnimationSpeed( actor, speed )
+Set the FPS of an actor animation
+#ref GetActorAnimationSpeed
diff --git a/doc/files/setactorautoculling.txt b/doc/files/setactorautoculling.txt
index a6ded76..ce727d7 100644
--- a/doc/files/setactorautoculling.txt
+++ b/doc/files/setactorautoculling.txt
@@ -1,4 +1,15 @@
#title SetActorAutoCulling [RCBasic Doc]
#header sub SetActorAutoCulling( actor, cull_type )
+Sets the automatic culling state for an actor
+Possible Culling States
+#list
+#li AUTOCULLING_OFF
+#li AUTOCULLING_BOX
+#li AUTOCULLING_FRUSTUM_BOX
+#li AUTOCULLING_FRUSTUM_SPHERE
+#li AUTOCULLING_OCC_QUERY
+#/list
+
+#ref GetActorAutoCulling
diff --git a/doc/files/setactorcollisionshape.txt b/doc/files/setactorcollisionshape.txt
index 001c947..2863723 100644
--- a/doc/files/setactorcollisionshape.txt
+++ b/doc/files/setactorcollisionshape.txt
@@ -1,4 +1,18 @@
#title SetActorCollisionShape [RCBasic Doc]
#header sub SetActorCollisionShape( actor, shape_type, mass)
+Sets the actor's collision shape
+Shape Types:
+#list ul
+#li SHAPE_TYPE_NONE
+#li SHAPE_TYPE_BOX
+#li SHAPE_TYPE_SPHERE
+#li SHAPE_TYPE_CYLINDER
+#li SHAPE_TYPE_CAPSULE
+#li SHAPE_TYPE_CONE
+#li SHAPE_TYPE_CONVEXHULL
+#li SHAPE_TYPE_TRIMESH
+#/list
+
+#ref GetActorCollisionShape
diff --git a/doc/files/setactordamping.txt b/doc/files/setactordamping.txt
index 579f522..40737d5 100644
--- a/doc/files/setactordamping.txt
+++ b/doc/files/setactordamping.txt
@@ -1,4 +1,6 @@
#title setActorDamping [RCBasic Doc]
#header sub setActorDamping( actor, lin_damping, ang_damping)
+Sets the linear and angular damping for an actor
+#ref GetActorLinearDamping GetActorAngularDamping
diff --git a/doc/files/setactorframe.txt b/doc/files/setactorframe.txt
index 089229e..8b2e8e9 100644
--- a/doc/files/setactorframe.txt
+++ b/doc/files/setactorframe.txt
@@ -1,4 +1,4 @@
#title SetActorFrame [RCBasic Doc]
#header sub SetActorFrame( actor, frame )
-
+Sets the current frame of an actor
diff --git a/doc/files/setactorgravity.txt b/doc/files/setactorgravity.txt
index 98493c6..67bbb97 100644
--- a/doc/files/setactorgravity.txt
+++ b/doc/files/setactorgravity.txt
@@ -1,4 +1,6 @@
#title SetActorGravity [RCBasic Doc]
#header sub SetActorGravity( actor, x, y, z )
+Sets the gravity vector of an actor.
+#ref SetGravity3D
diff --git a/doc/files/setactorinverseinertiadiaglocal.txt b/doc/files/setactorinverseinertiadiaglocal.txt
index 00943f8..cc428ef 100644
--- a/doc/files/setactorinverseinertiadiaglocal.txt
+++ b/doc/files/setactorinverseinertiadiaglocal.txt
@@ -1,4 +1,6 @@
-#title setActorInverseInertiaDiagLocal [RCBasic Doc]
-#header sub setActorInverseInertiaDiagLocal( actor, x, y, z)
+#title SetActorInverseInertiaDiagLocal [RCBasic Doc]
+#header sub SetActorInverseInertiaDiagLocal( actor, x, y, z)
+Sets the inverse of the inertia tensor's diagonal components in an actor's local space. This is used to compute how the actor reacts to rotational forces (torques) applied to it.
+#ref GetActorInverseInertiaDiagLocal
diff --git a/doc/files/setactorlinearfactor.txt b/doc/files/setactorlinearfactor.txt
index 19e3e92..836a22f 100644
--- a/doc/files/setactorlinearfactor.txt
+++ b/doc/files/setactorlinearfactor.txt
@@ -1,4 +1,9 @@
-#title setActorLinearFactor [RCBasic Doc]
-#header sub setActorLinearFactor( actor, x, y, z)
+#title SetActorLinearFactor [RCBasic Doc]
+#header sub SetActorLinearFactor( actor, x, y, z)
+Sets an actor's linear factor.
+
+The linear factor determines how the actor responds to linear velocity or force.
+
+#ref GetActorLinearFactor SetActorAngularFactor GetActorAngularFactor
diff --git a/doc/files/setactormaterialtype.txt b/doc/files/setactormaterialtype.txt
index dca867d..5289e2e 100644
--- a/doc/files/setactormaterialtype.txt
+++ b/doc/files/setactormaterialtype.txt
@@ -1,4 +1,37 @@
#title setActorMaterialType [RCBasic Doc]
#header sub setActorMaterialType( actor, material_type)
+Sets the material type of an actor material
+Note: This will set material 0. If your actor has more than one material you need to get a reference to the actor material with GetActorMaterial() to set them.
+
+Possible material types
+#list ul
+#li MATERIAL_TYPE_SOLID
+#li MATERIAL_TYPE_SOLID_2_LAYER
+#li MATERIAL_TYPE_LIGHTMAP
+#li MATERIAL_TYPE_LIGHTMAP_ADD
+#li MATERIAL_TYPE_LIGHTMAP_M2
+#li MATERIAL_TYPE_LIGHTMAP_M4
+#li MATERIAL_TYPE_LIGHTMAP_LIGHTING
+#li MATERIAL_TYPE_LIGHTMAP_LIGHTING_M2
+#li MATERIAL_TYPE_LIGHTMAP_LIGHTING_M4
+#li MATERIAL_TYPE_DETAIL_MAP
+#li MATERIAL_TYPE_SPHERE_MAP
+#li MATERIAL_TYPE_REFLECTION_2_LAYER
+#li MATERIAL_TYPE_TRANSPARENT_ADD_COLOR
+#li MATERIAL_TYPE_TRANSPARENT_ALPHA_CHANNEL
+#li MATERIAL_TYPE_TRANSPARENT_ALPHA_CHANNEL_REF
+#li MATERIAL_TYPE_TRANSPARENT_VERTEX_ALPHA
+#li MATERIAL_TYPE_TRANSPARENT_REFLECTION_2_LAYER
+#li MATERIAL_TYPE_NORMAL_MAP_SOLID
+#li MATERIAL_TYPE_NORMAL_MAP_TRANSPARENT_ADD_COLOR
+#li MATERIAL_TYPE_NORMAL_MAP_TRANSPARENT_VERTEX_ALPHA
+#li MATERIAL_TYPE_PARALLAX_MAP_SOLID
+#li MATERIAL_TYPE_PARALLAX_MAP_TRANSPARENT_ADD_COLOR
+#li MATERIAL_TYPE_PARALLAX_MAP_TRANSPARENT_VERTEX_ALPHA
+#li MATERIAL_TYPE_ONETEXTURE_BLEND
+#li MATERIAL_TYPE_FORCE_32BIT
+#/list
+
+#ref GetActorMaterialType GetActorMaterial
diff --git a/doc/files/setactorsleepstate.txt b/doc/files/setactorsleepstate.txt
new file mode 100644
index 0000000..6fdf632
--- /dev/null
+++ b/doc/files/setactorsleepstate.txt
@@ -0,0 +1,4 @@
+#title SetActorSleepState [RCBasic Doc]
+#header sub SetActorSleepState(actor, state)
+
+
diff --git a/doc/files/setblendmode.txt b/doc/files/setblendmode.txt
index 85e2122..66d69a8 100644
--- a/doc/files/setblendmode.txt
+++ b/doc/files/setblendmode.txt
@@ -1,4 +1,23 @@
#title SetBlendMode [RCBasic Doc]
-#header function SetImageBlendMode(slot, blend_mode)
+#header sub SetBlendMode( blend_mode )
+Sets the current blend mode
+
+Note: Only applies to 2D image drawing commands
+
+Possible Blend Modes
+#list ul
+#li BLEND_MODE_NONE
+#li BLEND_MODE_ADD
+#li BLEND_MODE_SUBTRACT
+#li BLEND_MODE_REVSUBTRACT
+#li BLEND_MODE_MIN
+#li BLEND_MODE_MAX
+#li BLEND_MODE_MIN_FACTOR
+#li BLEND_MODE_MAX_FACTOR
+#li BLEND_MODE_MIN_ALPHA
+#li BLEND_MODE_MAX_ALPHA
+#/list
+
+#ref SetBlendMode
diff --git a/doc/files/setcameraaspectratio.txt b/doc/files/setcameraaspectratio.txt
index 4fc06a7..f18b53b 100644
--- a/doc/files/setcameraaspectratio.txt
+++ b/doc/files/setcameraaspectratio.txt
@@ -1,4 +1,6 @@
#title SetCameraAspectRatio [RCBasic Doc]
#header sub SetCameraAspectRatio( aspect )
+Sets the aspect ratio for the active canvas camera
+#ref GetCameraAspectRatio
diff --git a/doc/files/setcanvasphysics2d.txt b/doc/files/setcanvasphysics2d.txt
new file mode 100644
index 0000000..3396833
--- /dev/null
+++ b/doc/files/setcanvasphysics2d.txt
@@ -0,0 +1,4 @@
+#title SetCanvasPhysics2D [RCBasic Doc]
+#header sub SetCanvasPhysics2D(c_num, state)
+
+
diff --git a/doc/files/setcanvasviewport.txt b/doc/files/setcanvasviewport.txt
index 877ab80..8b7afa6 100644
--- a/doc/files/setcanvasviewport.txt
+++ b/doc/files/setcanvasviewport.txt
@@ -1,4 +1,7 @@
#title SetCanvasViewport [RCBasic Doc]
#header sub SetCanvasViewport(cnum, x, y, w, h)
+Sets the position and size of a canvas viewport
+
+#ref GetCanvasViewport
diff --git a/doc/files/setcanvasz.txt b/doc/files/setcanvasz.txt
index 44d8e83..ec72dd1 100644
--- a/doc/files/setcanvasz.txt
+++ b/doc/files/setcanvasz.txt
@@ -1,4 +1,8 @@
#title SetCanvasZ [RCBasic Doc]
#header sub SetCanvasZ(c_num, z)
+Sets the Canvas Z Order.
+Note: Canvases with a lower Z order are drawn first and those with higher values will be drawn on top
+
+#ref SetCanvasZ
diff --git a/doc/files/setconedamping.txt b/doc/files/setconedamping.txt
new file mode 100644
index 0000000..81032dd
--- /dev/null
+++ b/doc/files/setconedamping.txt
@@ -0,0 +1,4 @@
+#title setConeDamping [RCBasic Doc]
+#header sub setConeDamping( constraint_id, damping)
+
+Returns the damping factor applied to the constraint. Damping is used to reduce the amount of oscillation or unwanted movement (such as excessive rotation or swinging) around the constrained actor's axes.
diff --git a/doc/files/setconefixthresh.txt b/doc/files/setconefixthresh.txt
new file mode 100644
index 0000000..5b6a06a
--- /dev/null
+++ b/doc/files/setconefixthresh.txt
@@ -0,0 +1,9 @@
+#title setConeFixThresh [RCBasic Doc]
+#header sub setConeFixThresh( constraint_id, fixThresh)
+
+Sets the fix threshold value associated with that constraint. This threshold is used to control how the constraint behaves when the angle of the rotation between the actors approaches the limits defined by the cone twist constraint.
+
+The fix threshold defines a limit or tolerance for how closely the angle between the two actors can approach the constraint's limits before corrective actions are taken. When the angular motion exceeds this threshold, the constraint applies corrective forces to bring the motion back within the allowed range.
+
+#ref GetConeFixThresh
+
diff --git a/doc/files/setconelimit.txt b/doc/files/setconelimit.txt
index 9633284..74ee324 100644
--- a/doc/files/setconelimit.txt
+++ b/doc/files/setconelimit.txt
@@ -1,4 +1,12 @@
#title setConeLimit [RCBasic Doc]
#header sub setConeLimit( constraint_id, swingSpan1, swingSpan2, twistSpan, softness, bias_factor, relaxation_factor)
+Sets the angular limits for the rotation of the constrained actors. These limits specify how much twisting and swinging is permitted between the two actors connected by the constraint, ensuring the motion stays within a desired range.
+Softness: Determines how soft or hard the constraint limits are. A value of 1.0 means the limits are hard, while lower values make the limit softer, allowing some flexibility.
+
+Bias Factor: This parameter defines how quickly the constraint should try to correct errors that bring it near or beyond the limit.
+
+Relaxation Factor: This affects how fast the constraint will "relax" after reaching its limit, allowing it to stabilize after hitting the constraint.
+
+#ref GetConeLimit
diff --git a/doc/files/setconstraintangularonly.txt b/doc/files/setconstraintangularonly.txt
index 804be68..9ba0fae 100644
--- a/doc/files/setconstraintangularonly.txt
+++ b/doc/files/setconstraintangularonly.txt
@@ -1,4 +1,6 @@
#title setConstraintAngularOnly [RCBasic Doc]
#header sub setConstraintAngularOnly( constraint_id, flag)
+Sets the hinge constraint to limit only angular motion while allowing unrestricted linear (translational) motion.
+#ref GetConstraintAngularOnly
diff --git a/doc/files/setconstraintbreakingimpulsethreshold.txt b/doc/files/setconstraintbreakingimpulsethreshold.txt
index 853ead1..a546aa4 100644
--- a/doc/files/setconstraintbreakingimpulsethreshold.txt
+++ b/doc/files/setconstraintbreakingimpulsethreshold.txt
@@ -1,4 +1,7 @@
#title setConstraintBreakingImpulseThreshold [RCBasic Doc]
#header sub setConstraintBreakingImpulseThreshold( constraint_id, threshold)
+Sets the breaking impulse threshold for a given constraint. The breaking impulse threshold defines the maximum force (impulse) a constraint can withstand before it "breaks," meaning that the constraint will be deactivated and no longer enforce its rules.
+
+#ref GetConstraintBreakingImpulseThreshold
diff --git a/doc/files/setconstraintframes.txt b/doc/files/setconstraintframes.txt
index 554e0a8..0a260b4 100644
--- a/doc/files/setconstraintframes.txt
+++ b/doc/files/setconstraintframes.txt
@@ -1,4 +1,6 @@
#title setConstraintFrames [RCBasic Doc]
#header sub setConstraintFrames( constraint_id, frameA_matrix, frameB_matrix)
+Defines the reference frames for the constraint. This function establishes how the constraint is oriented in the local coordinate systems of the connected actors.
+The reference frames define the orientation and position of the constraint relative to each of the connected actors. Each actor can have its own local coordinate system, and the frames help establish how the constraint interacts with these systems.
diff --git a/doc/files/setconstraintsolveriterations.txt b/doc/files/setconstraintsolveriterations.txt
index 6c375bb..b714f72 100644
--- a/doc/files/setconstraintsolveriterations.txt
+++ b/doc/files/setconstraintsolveriterations.txt
@@ -1,4 +1,4 @@
#title setConstraintSolverIterations [RCBasic Doc]
#header sub setConstraintSolverIterations( constraint_id, num)
-
+Sets the value for the number of solver iterations that have been overridden for a specific constraint or actor. Solver iterations refer to the number of times the physics engine solves for constraint forces during each simulation step.
diff --git a/doc/files/setenv.txt b/doc/files/setenv.txt
index b607b22..ee2ad06 100644
--- a/doc/files/setenv.txt
+++ b/doc/files/setenv.txt
@@ -1,4 +1,4 @@
#title SetEnv [RCBasic Doc]
-#header sub SetEnv(var$, value$, overwrite)
+#header sub SetEnv(var$, value$)
diff --git a/doc/files/setfont.txt b/doc/files/setfont.txt
index ff6fd40..0bdc24d 100644
--- a/doc/files/setfont.txt
+++ b/doc/files/setfont.txt
@@ -1,4 +1,4 @@
#title SetFont [RCBasic Doc]
-#header sub Font(slot)
+#header sub SetFont(slot)
diff --git a/doc/files/sethingeaxis.txt b/doc/files/sethingeaxis.txt
new file mode 100644
index 0000000..ae9a408
--- /dev/null
+++ b/doc/files/sethingeaxis.txt
@@ -0,0 +1,7 @@
+#title setHingeAxis [RCBasic Doc]
+#header sub setHingeAxis( constraint_id, x, y, z)
+
+Defines the axis of rotation around which the hinge constraint allows the connected actors to rotate. This function is essential for establishing how the two actors will interact in terms of rotational motion.
+
+The axis of rotation defines the direction in which the hinge can rotate. For example, if you want a door to swing open, you would set the axis to be perpendicular to the plane of the door and aligned with the hinge line.
+
diff --git a/doc/files/setlightradius.txt b/doc/files/setlightradius.txt
index 785cb17..df66c2c 100644
--- a/doc/files/setlightradius.txt
+++ b/doc/files/setlightradius.txt
@@ -1,4 +1,6 @@
-#title setLightRadius [RCBasic Doc]
-#header sub setLightRadius( actor, radius )
+#title SetLightRadius [RCBasic Doc]
+#header sub SetLightRadius( actor, radius )
+Sets the radius of a light
+#ref GetLightRadius
diff --git a/doc/files/setlightspecularcolor.txt b/doc/files/setlightspecularcolor.txt
index 7b5c38d..2c4f4ff 100644
--- a/doc/files/setlightspecularcolor.txt
+++ b/doc/files/setlightspecularcolor.txt
@@ -1,4 +1,4 @@
#title SetLightSpecularColor [RCBasic Doc]
#header sub SetLightSpecularColor( actor, color )
-
+Sets the specular color of a light
diff --git a/doc/files/setlighttype.txt b/doc/files/setlighttype.txt
index cb4ba2f..c379a6a 100644
--- a/doc/files/setlighttype.txt
+++ b/doc/files/setlighttype.txt
@@ -1,4 +1,14 @@
#title setLightType [RCBasic Doc]
#header sub setLightType( actor, light_type )
+Sets the type of light
+
+Possible Light Types
+#list ul
+#li LIGHT_TYPE_POINT
+#li LIGHT_TYPE_POINT
+#li LIGHT_TYPE_POINT
+#/light
+
+#ref SetLightType
diff --git a/doc/files/setmaterialambientcolor.txt b/doc/files/setmaterialambientcolor.txt
index fc5eefe..d1bd02f 100644
--- a/doc/files/setmaterialambientcolor.txt
+++ b/doc/files/setmaterialambientcolor.txt
@@ -1,4 +1,4 @@
#title setMaterialAmbientColor [RCBasic Doc]
#header sub setMaterialAmbientColor( material_id, color)
-
+Sets the ambient color of a material
diff --git a/doc/files/setmaterialantialiasing.txt b/doc/files/setmaterialantialiasing.txt
index aeeeaea..623d69a 100644
--- a/doc/files/setmaterialantialiasing.txt
+++ b/doc/files/setmaterialantialiasing.txt
@@ -1,4 +1,17 @@
#title setMaterialAntiAliasing [RCBasic Doc]
#header sub setMaterialAntiAliasing( material_id, aa)
+Sets the anti-aliasing mode for the material
+Possible modes returned
+#list
+#li AA_MODE_OFF=0,
+#li AA_MODE_SIMPLE=1,
+#li AA_MODE_QUALITY=3,
+#li AA_MODE_LINE_SMOOTH=4,
+#li AA_MODE_POINT_SMOOTH=8,
+#li AA_MODE_FULL_BASIC=15,
+#li AA_MODE_ALPHA_TO_COVERAGE=16
+#/list
+
+#ref GetMaterialAntiAliasing
diff --git a/doc/files/setmaterialbackfaceculling.txt b/doc/files/setmaterialbackfaceculling.txt
index edfe154..5d4e682 100644
--- a/doc/files/setmaterialbackfaceculling.txt
+++ b/doc/files/setmaterialbackfaceculling.txt
@@ -1,4 +1,6 @@
#title setMaterialBackfaceCulling [RCBasic Doc]
#header sub setMaterialBackfaceCulling( material_id, flag)
+Enables or disables material backface culling
+#ref GetMaterialBackfaceCulling
diff --git a/doc/files/setmaterialblendmode.txt b/doc/files/setmaterialblendmode.txt
index 3517225..15f7c6c 100644
--- a/doc/files/setmaterialblendmode.txt
+++ b/doc/files/setmaterialblendmode.txt
@@ -1,4 +1,21 @@
#title setMaterialBlendMode [RCBasic Doc]
#header sub setMaterialBlendMode( material_id, blend_mode)
+Sets a material's blend mode
+
+Possible Blend Modes
+#list ul
+#li BLEND_MODE_NONE
+#li BLEND_MODE_ADD
+#li BLEND_MODE_SUBTRACT
+#li BLEND_MODE_REVSUBTRACT
+#li BLEND_MODE_MIN
+#li BLEND_MODE_MAX
+#li BLEND_MODE_MIN_FACTOR
+#li BLEND_MODE_MAX_FACTOR
+#li BLEND_MODE_MIN_ALPHA
+#li BLEND_MODE_MAX_ALPHA
+#/list
+
+#ref SetMaterialBlendMode
diff --git a/doc/files/setmaterialcolormode.txt b/doc/files/setmaterialcolormode.txt
index 416213e..689374e 100644
--- a/doc/files/setmaterialcolormode.txt
+++ b/doc/files/setmaterialcolormode.txt
@@ -1,4 +1,16 @@
#title setMaterialColorMode [RCBasic Doc]
#header sub setMaterialColorMode( material_id, color_mode)
+Sets the color mode of a material
+Possible modes
+#list ul
+#li COLOR_MODE_NONE
+#li COLOR_MODE_DIFFUSE
+#li COLOR_MODE_AMBIENT
+#li COLOR_MODE_EMISSIVE
+#li COLOR_MODE_SPECULAR
+#li COLOR_MODE_DIFFUSE_AND_AMBIENT
+#/list
+
+#ref GetMaterialColorMode
diff --git a/doc/files/setmaterialflag.txt b/doc/files/setmaterialflag.txt
index 4982869..197b44b 100644
--- a/doc/files/setmaterialflag.txt
+++ b/doc/files/setmaterialflag.txt
@@ -1,4 +1,30 @@
#title setMaterialFlag [RCBasic Doc]
#header sub setMaterialFlag( material_id, material_flag, f_value)
+Sets the value of the specified material flag
+Possible values for flag:
+#list
+#li MATERIAL_FLAG_WIREFRAME
+#li MATERIAL_FLAG_POINTCLOUD
+#li MATERIAL_FLAG_GOURAUD_SHADING
+#li MATERIAL_FLAG_LIGHTING
+#li MATERIAL_FLAG_ZBUFFER
+#li MATERIAL_FLAG_ZWRITE_ENABLE
+#li MATERIAL_FLAG_BACK_FACE_CULLING
+#li MATERIAL_FLAG_FRONT_FACE_CULLING
+#li MATERIAL_FLAG_BILINEAR_FILTER
+#li MATERIAL_FLAG_TRILINEAR_FILTER
+#li MATERIAL_FLAG_ANISOTROPIC_FILTER
+#li MATERIAL_FLAG_FOG_ENABLE
+#li MATERIAL_FLAG_NORMALIZE_NORMALS
+#li MATERIAL_FLAG_TEXTURE_WRAP
+#li MATERIAL_FLAG_ANTI_ALIASING
+#li MATERIAL_FLAG_COLOR_MASK
+#li MATERIAL_FLAG_COLOR_MATERIAL
+#li MATERIAL_FLAG_USE_MIP_MAPS
+#li MATERIAL_FLAG_BLEND_OPERATION
+#li MATERIAL_FLAG_POLYGON_OFFSET
+#/list
+
+#ref GetMaterialFlag GetActorMaterialFlag
diff --git a/doc/files/setmaterialtype.txt b/doc/files/setmaterialtype.txt
index 30dce34..01b4013 100644
--- a/doc/files/setmaterialtype.txt
+++ b/doc/files/setmaterialtype.txt
@@ -1,4 +1,35 @@
-#title setMaterialType [RCBasic Doc]
-#header sub setMaterialType( material_id, mat_type)
+#title SetMaterialType [RCBasic Doc]
+#header sub SetMaterialType( material_id, mat_type)
+Sets the material type
+Possible material types
+#list ul
+#li MATERIAL_TYPE_SOLID
+#li MATERIAL_TYPE_SOLID_2_LAYER
+#li MATERIAL_TYPE_LIGHTMAP
+#li MATERIAL_TYPE_LIGHTMAP_ADD
+#li MATERIAL_TYPE_LIGHTMAP_M2
+#li MATERIAL_TYPE_LIGHTMAP_M4
+#li MATERIAL_TYPE_LIGHTMAP_LIGHTING
+#li MATERIAL_TYPE_LIGHTMAP_LIGHTING_M2
+#li MATERIAL_TYPE_LIGHTMAP_LIGHTING_M4
+#li MATERIAL_TYPE_DETAIL_MAP
+#li MATERIAL_TYPE_SPHERE_MAP
+#li MATERIAL_TYPE_REFLECTION_2_LAYER
+#li MATERIAL_TYPE_TRANSPARENT_ADD_COLOR
+#li MATERIAL_TYPE_TRANSPARENT_ALPHA_CHANNEL
+#li MATERIAL_TYPE_TRANSPARENT_ALPHA_CHANNEL_REF
+#li MATERIAL_TYPE_TRANSPARENT_VERTEX_ALPHA
+#li MATERIAL_TYPE_TRANSPARENT_REFLECTION_2_LAYER
+#li MATERIAL_TYPE_NORMAL_MAP_SOLID
+#li MATERIAL_TYPE_NORMAL_MAP_TRANSPARENT_ADD_COLOR
+#li MATERIAL_TYPE_NORMAL_MAP_TRANSPARENT_VERTEX_ALPHA
+#li MATERIAL_TYPE_PARALLAX_MAP_SOLID
+#li MATERIAL_TYPE_PARALLAX_MAP_TRANSPARENT_ADD_COLOR
+#li MATERIAL_TYPE_PARALLAX_MAP_TRANSPARENT_VERTEX_ALPHA
+#li MATERIAL_TYPE_ONETEXTURE_BLEND
+#li MATERIAL_TYPE_FORCE_32BIT
+#/list
+
+#ref GetMaterialType
diff --git a/doc/files/setmaxparticlespersecond.txt b/doc/files/setmaxparticlespersecond.txt
new file mode 100644
index 0000000..3dc47d4
--- /dev/null
+++ b/doc/files/setmaxparticlespersecond.txt
@@ -0,0 +1,7 @@
+#title setMaxParticlesPerSecond [RCBasic Doc]
+#header sub setMaxParticlesPerSecond( actor, maxParticlesPerSecond)
+
+Sets the max number of particles emitted per second
+
+#ref GetMaxParticlesPerSecond GetMinParticlesPerSecond SetMinParticlesPerSecond
+
diff --git a/doc/files/setminparticlespersecond.txt b/doc/files/setminparticlespersecond.txt
new file mode 100644
index 0000000..cf33b9a
--- /dev/null
+++ b/doc/files/setminparticlespersecond.txt
@@ -0,0 +1,7 @@
+#title setMinParticlesPerSecond [RCBasic Doc]
+#header sub setMinParticlesPerSecond( actor, minParticlesPerSecond)
+
+Sets the max number of particles emitted per second
+
+#ref SetMaxParticlesPerSecond GetMinParticlesPerSecond SetMaxParticlesPerSecond
+
diff --git a/doc/files/setparticlebox.txt b/doc/files/setparticlebox.txt
index 80280b5..35215ec 100644
--- a/doc/files/setparticlebox.txt
+++ b/doc/files/setparticlebox.txt
@@ -1,4 +1,5 @@
#title setParticleBox [RCBasic Doc]
#header sub setParticleBox( actor, min_x, min_y, min_z, max_x, max_y, max_z)
+Sets the bounding box for a particle emitter
diff --git a/doc/files/setparticlecenter.txt b/doc/files/setparticlecenter.txt
index c7b9b99..3859c9e 100644
--- a/doc/files/setparticlecenter.txt
+++ b/doc/files/setparticlecenter.txt
@@ -1,4 +1,9 @@
#title setParticleCenter [RCBasic Doc]
#header sub setParticleCenter( actor, x, y, z)
+Sets the center of a particle emitter
+
+Note: applies to Sphere, Cylinder, and Ring emitters
+
+#ref GetParticleCenter
diff --git a/doc/files/setparticledirection.txt b/doc/files/setparticledirection.txt
index 065a803..42c79b9 100644
--- a/doc/files/setparticledirection.txt
+++ b/doc/files/setparticledirection.txt
@@ -1,4 +1,7 @@
#title setParticleDirection [RCBasic Doc]
#header sub setParticleDirection( actor, x, y, z)
+Sets the direction of a particle emitter
+
+#ref GetParticleDirection
diff --git a/doc/files/setparticlelength.txt b/doc/files/setparticlelength.txt
index f603a87..1eb5940 100644
--- a/doc/files/setparticlelength.txt
+++ b/doc/files/setparticlelength.txt
@@ -1,4 +1,9 @@
#title setParticleLength [RCBasic Doc]
#header sub setParticleLength( actor, p_len)
+Sets the length of a cylinder particle emitter
+
+Note: Only applies to cylinder particles
+
+#ref GetParticleLength
diff --git a/doc/files/setparticlemaxangle.txt b/doc/files/setparticlemaxangle.txt
index f84c0fc..eb3a012 100644
--- a/doc/files/setparticlemaxangle.txt
+++ b/doc/files/setparticlemaxangle.txt
@@ -1,4 +1,6 @@
#title setParticleMaxAngle [RCBasic Doc]
#header sub setParticleMaxAngle( actor, maxAngle)
+Sets the max angle of particle emission
+#ref GetParticleMaxAngle
diff --git a/doc/files/setparticlemaxlife.txt b/doc/files/setparticlemaxlife.txt
index a448aa7..488b93f 100644
--- a/doc/files/setparticlemaxlife.txt
+++ b/doc/files/setparticlemaxlife.txt
@@ -1,4 +1,9 @@
#title setParticleMaxLife [RCBasic Doc]
#header sub setParticleMaxLife( actor, maxLife)
+Sets the max life of the particle emission
+
+Note: maxLife is in milliseconds
+
+#ref GetParticleMaxLife
diff --git a/doc/files/setparticlemaxstartcolor.txt b/doc/files/setparticlemaxstartcolor.txt
index 387b1a5..4296f0e 100644
--- a/doc/files/setparticlemaxstartcolor.txt
+++ b/doc/files/setparticlemaxstartcolor.txt
@@ -1,4 +1,6 @@
#title setParticleMaxStartColor [RCBasic Doc]
#header sub setParticleMaxStartColor( actor, color)
+Sets max starting color for particles
+#ref SetParticleMaxStartColor
diff --git a/doc/files/setparticlemaxstartsize.txt b/doc/files/setparticlemaxstartsize.txt
index 0fbc608..996c988 100644
--- a/doc/files/setparticlemaxstartsize.txt
+++ b/doc/files/setparticlemaxstartsize.txt
@@ -1,4 +1,6 @@
#title setParticleMaxStartSize [RCBasic Doc]
#header sub setParticleMaxStartSize( actor, w, h)
+Sets the max start size for the particles
+#ref SetParticleMaxStartSize
diff --git a/doc/files/setparticlemesh.txt b/doc/files/setparticlemesh.txt
index e82f524..28d9a13 100644
--- a/doc/files/setparticlemesh.txt
+++ b/doc/files/setparticlemesh.txt
@@ -1,4 +1,6 @@
#title setParticleMesh [RCBasic Doc]
#header sub setParticleMesh( actor, mesh)
+Sets the mesh for a mesh particle emitter
+Note: Only applies to mesh emitter
diff --git a/doc/files/setparticleminlife.txt b/doc/files/setparticleminlife.txt
index 446e5af..6331569 100644
--- a/doc/files/setparticleminlife.txt
+++ b/doc/files/setparticleminlife.txt
@@ -1,4 +1,9 @@
#title setParticleMinLife [RCBasic Doc]
#header sub setParticleMinLife( actor, minLife)
+Set the min life of particles
+
+Note: minLife is in milliseconds
+
+#ref SetParticleMinLife
diff --git a/doc/files/setparticleminstartcolor.txt b/doc/files/setparticleminstartcolor.txt
index c6d9d8d..6c16274 100644
--- a/doc/files/setparticleminstartcolor.txt
+++ b/doc/files/setparticleminstartcolor.txt
@@ -1,4 +1,7 @@
#title setParticleMinStartColor [RCBasic Doc]
#header sub setParticleMinStartColor( actor, color)
+Sets the min start color for particles
+
+#ref GetParticleMinStartColor
diff --git a/doc/files/setparticleminstartsize.txt b/doc/files/setparticleminstartsize.txt
index 10491eb..50eb0f6 100644
--- a/doc/files/setparticleminstartsize.txt
+++ b/doc/files/setparticleminstartsize.txt
@@ -1,4 +1,7 @@
#title setParticleMinStartSize [RCBasic Doc]
#header sub setParticleMinStartSize( actor, w, h)
+Sets the min start size for particle emitter
+
+#ref GetParticleMinStartSize
diff --git a/doc/files/setparticlenormal.txt b/doc/files/setparticlenormal.txt
index 1d7a7d6..a33d0e5 100644
--- a/doc/files/setparticlenormal.txt
+++ b/doc/files/setparticlenormal.txt
@@ -1,4 +1,9 @@
#title setParticleNormal [RCBasic Doc]
#header sub setParticleNormal( actor, x, y, z)
+Sets the normal of a particle emitter
+
+Note: Only applies to cylinder particle emitter
+
+#ref GetParticleNormal
diff --git a/doc/files/setparticlenormaldirectionmod.txt b/doc/files/setparticlenormaldirectionmod.txt
index c5bd775..43eb58d 100644
--- a/doc/files/setparticlenormaldirectionmod.txt
+++ b/doc/files/setparticlenormaldirectionmod.txt
@@ -1,4 +1,9 @@
#title setParticleNormalDirectionMod [RCBasic Doc]
#header sub setParticleNormalDirectionMod( actor, nd_mod)
+Sets the normal direction modifier for a particle emitter
+
+Note: Only applies to mesh particle emitter
+
+#ref GetParticleNormalDirectionMod
diff --git a/doc/files/setparticleradius.txt b/doc/files/setparticleradius.txt
index 5c72d42..78c148a 100644
--- a/doc/files/setparticleradius.txt
+++ b/doc/files/setparticleradius.txt
@@ -1,4 +1,9 @@
#title setParticleRadius [RCBasic Doc]
#header sub setParticleRadius( actor, radius)
+Sets the radius of a particle emitter
+
+Note: Only applies to Sphere, Cylinder, and Ring emitters
+
+#ref SetParticleRadius
diff --git a/doc/files/setparticleringthickness.txt b/doc/files/setparticleringthickness.txt
index 2a675d5..c08615b 100644
--- a/doc/files/setparticleringthickness.txt
+++ b/doc/files/setparticleringthickness.txt
@@ -1,4 +1,9 @@
#title setParticleRingThickness [RCBasic Doc]
#header sub setParticleRingThickness( actor, ringThickness)
+Sets the thickness of a ring emitter
+
+Note: Only applies to ring emitter
+
+#ref GetParticleRingThickness
diff --git a/doc/files/setpointpivota.txt b/doc/files/setpointpivota.txt
new file mode 100644
index 0000000..ab8b377
--- /dev/null
+++ b/doc/files/setpointpivota.txt
@@ -0,0 +1,6 @@
+#title setPointPivotA [RCBasic Doc]
+#header sub setPointPivotA( constraint_id, x, y, z)
+
+Sets the pivot point on the first actor (Body A) of the constraint. This pivot point defines the specific location in the local space of Body A where the point-to-point constraint is anchored.
+
+#ref GetPointPivotA SetPointPivotB
diff --git a/doc/files/setpointpivotb.txt b/doc/files/setpointpivotb.txt
new file mode 100644
index 0000000..275a6b8
--- /dev/null
+++ b/doc/files/setpointpivotb.txt
@@ -0,0 +1,7 @@
+#title setPointPivotB [RCBasic Doc]
+#header sub setPointPivotB( constraint_id, x, y, z)
+
+Sets the pivot point on the second actor (Body B) of the constraint. This pivot point defines the specific location in the local space of Body B where the point-to-point constraint is anchored.
+
+#ref GetPointPivotA SetPointPivotB
+
diff --git a/doc/files/setslidedampingdirang.txt b/doc/files/setslidedampingdirang.txt
new file mode 100644
index 0000000..ff4580b
--- /dev/null
+++ b/doc/files/setslidedampingdirang.txt
@@ -0,0 +1,6 @@
+#title setSlideDampingDirAng [RCBasic Doc]
+#header sub setSlideDampingDirAng( constraint_id, n)
+
+Sets the angular directional damping value. This damping factor specifically affects angular motion in the direction of movement along the constraint's axes.
+
+
diff --git a/doc/files/setslidedampingdirlin.txt b/doc/files/setslidedampingdirlin.txt
new file mode 100644
index 0000000..2949b56
--- /dev/null
+++ b/doc/files/setslidedampingdirlin.txt
@@ -0,0 +1,5 @@
+#title setSlideDampingDirLin [RCBasic Doc]
+#header sub setSlideDampingDirLin( constraint_id, n)
+
+Sets the linear directional damping value for a constraint. This value applies to the linear (translational) motion of an object along the constraint's axis of movement.
+
diff --git a/doc/files/setslidedampinglimang.txt b/doc/files/setslidedampinglimang.txt
new file mode 100644
index 0000000..868cd93
--- /dev/null
+++ b/doc/files/setslidedampinglimang.txt
@@ -0,0 +1,8 @@
+#title setSlideDampingLimAng [RCBasic Doc]
+#header sub setSlideDampingLimAng( constraint_id, n)
+
+Sets the angular limit damping factor for a constraint. This damping applies specifically to the angular motion of an object when it reaches the limit of its allowed rotational range.
+
+
+#ref GetSlideDampingLimAng
+
diff --git a/doc/files/setslidedampinglimlin.txt b/doc/files/setslidedampinglimlin.txt
new file mode 100644
index 0000000..783dfb7
--- /dev/null
+++ b/doc/files/setslidedampinglimlin.txt
@@ -0,0 +1,7 @@
+#title setSlideDampingLimLin [RCBasic Doc]
+#header sub setSlideDampingLimLin( constraint_id, n)
+
+Sets the linear limit damping factor for a constraint. This damping applies specifically to the linear (translational) motion of an object when it reaches the limit of its allowed range of movement along a specific axis.
+
+#ref GetSlideDampingLimLin
+
diff --git a/doc/files/setslidedampingorthoang.txt b/doc/files/setslidedampingorthoang.txt
new file mode 100644
index 0000000..0c41854
--- /dev/null
+++ b/doc/files/setslidedampingorthoang.txt
@@ -0,0 +1,6 @@
+#title setSlideDampingOrthoAng [RCBasic Doc]
+#header sub setSlideDampingOrthoAng( constraint_id, n)
+
+Sets the orthogonal angular damping factor applied to a constraint. This damping affects angular (rotational) motion that occurs perpendicular to the primary axis of movement defined by the constraint.
+
+#ref GetSlideDampingOrthoAng
diff --git a/doc/files/setslidedampingortholin.txt b/doc/files/setslidedampingortholin.txt
new file mode 100644
index 0000000..d1b741c
--- /dev/null
+++ b/doc/files/setslidedampingortholin.txt
@@ -0,0 +1,6 @@
+#title setSlideDampingOrthoLin [RCBasic Doc]
+#header sub setSlideDampingOrthoLin( constraint_id, n)
+
+Sets the orthogonal linear damping factor for a constraint. This damping affects the linear (translational) motion of an object that occurs perpendicular to the primary direction of movement defined by the constraint.
+
+#ref GetSlideDampingOrthoLin
diff --git a/doc/files/setslideloweranglimit.txt b/doc/files/setslideloweranglimit.txt
new file mode 100644
index 0000000..656e6b5
--- /dev/null
+++ b/doc/files/setslideloweranglimit.txt
@@ -0,0 +1,8 @@
+#title SetSlideLowerAngLimit [RCBasic Doc]
+#header sub SetSlideLowerAngLimit( constraint_id, n)
+
+Sets the lower angular limit of the constraint. This value specifies the minimum angle allowed for the rotation of the connected actors around the axis perpendicular to the sliding direction defined by the slider constraint.
+
+The lower angular limit indicates the smallest angle that the actors can rotate about the axis perpendicular to the sliding direction. If the rotation tries to exceed this limit, the physics engine will apply corrective forces to maintain the bodies within the allowed range.
+
+#ref GetSlideLowerAngLimit
diff --git a/doc/files/setslidelowerlinlimit.txt b/doc/files/setslidelowerlinlimit.txt
new file mode 100644
index 0000000..84f67f5
--- /dev/null
+++ b/doc/files/setslidelowerlinlimit.txt
@@ -0,0 +1,8 @@
+#title setSlideLowerLinLimit [RCBasic Doc]
+#header sub setSlideLowerLinLimit( constraint_id, n)
+
+Sets the lower linear limit for the translational (sliding) motion along the slider's axis. This value specifies the minimum allowable position for the connected actors along the defined axis of the slider constraint.
+
+This defines the minimum translation distance along the slider’s axis that the connected actors are allowed to reach. If the actors' relative position along the axis goes below this limit, the constraint will prevent further movement.
+
+#ref GetSlideLowerLinLimit
diff --git a/doc/files/setsliderestitutiondirang.txt b/doc/files/setsliderestitutiondirang.txt
new file mode 100644
index 0000000..4fa9e21
--- /dev/null
+++ b/doc/files/setsliderestitutiondirang.txt
@@ -0,0 +1,8 @@
+#title setSlideRestitutionDirAng [RCBasic Doc]
+#header sub setSlideRestitutionDirAng( constraint_id, n)
+
+Sets the restitution value for angular motion. The restitution coefficient is a measure of how much energy is conserved in a collision or constraint interaction, specifically for angular movements.
+
+When actors collide or interact, their angular momentum and position can change, and the restitution value governs how much of that energy is retained after the interaction.
+
+#ref GetSlideRestitutionDirAng
diff --git a/doc/files/setsliderestitutiondirlin.txt b/doc/files/setsliderestitutiondirlin.txt
new file mode 100644
index 0000000..28e1eee
--- /dev/null
+++ b/doc/files/setsliderestitutiondirlin.txt
@@ -0,0 +1,8 @@
+#title setSlideRestitutionDirLin [RCBasic Doc]
+#header sub setSlideRestitutionDirLin( constraint_id, n)
+
+Sets the restitution value for linear motion. This value determines how much energy is conserved in a collision or interaction involving linear movements of the connected actors.
+
+When the actors collide or interact, the restitution value dictates how much of their energy is retained after the interaction.
+
+#ref SetSlideRestitutionDirLin
diff --git a/doc/files/setsliderestitutionlimang.txt b/doc/files/setsliderestitutionlimang.txt
new file mode 100644
index 0000000..f819d63
--- /dev/null
+++ b/doc/files/setsliderestitutionlimang.txt
@@ -0,0 +1,8 @@
+#title setSlideRestitutionLimAng [RCBasic Doc]
+#header sub setSlideRestitutionLimAng( constraint_id, n)
+
+Sets the restitution value for angular limit. This value determines how much energy is conserved when the angular motion of the connected actors reaches the angular limits of the slider constraint. Essentially, it controls how "bouncy" the rotation is when it hits the angular limit of the constraint.
+
+A value of 0.0 means no bounce (perfectly inelastic), while a value of 1.0 allows maximum bounce (perfectly elastic).
+
+#ref GetSlideRestitutionLimAng
diff --git a/doc/files/setsliderestitutionlimlin.txt b/doc/files/setsliderestitutionlimlin.txt
new file mode 100644
index 0000000..7d58d50
--- /dev/null
+++ b/doc/files/setsliderestitutionlimlin.txt
@@ -0,0 +1,8 @@
+#title setSlideRestitutionLimLin [RCBasic Doc]
+#header sub setSlideRestitutionLimLin( constraint_id, n)
+
+Sets the restitution value for the linear limit of the constraint. This value controls how much energy is conserved (or how "bouncy" the interaction is) when the connected actors reach the linear limits of the slider constraint, which restricts the movement along the sliding axis.
+
+Restitution is a measure of how much energy is retained after a collision or interaction. In this context, when the linear movement reaches the limits, restitution controls how much the actors "bounce" back. A restitution value of 0.0 means no bounce (the collision is perfectly inelastic), and 1.0 allows maximum bounce (the collision is perfectly elastic).
+
+#ref GetSlideRestitutionLimLin
diff --git a/doc/files/setsliderestitutionorthoang.txt b/doc/files/setsliderestitutionorthoang.txt
new file mode 100644
index 0000000..30b7767
--- /dev/null
+++ b/doc/files/setsliderestitutionorthoang.txt
@@ -0,0 +1,10 @@
+#title setSlideRestitutionOrthoAng [RCBasic Doc]
+#header sub setSlideRestitutionOrthoAng( constraint_id, n)
+
+Sets the restitution value for orthogonal angular motion. This value determines how much energy is conserved (or how "bouncy" the interaction is) when rotational movement occurs in a direction orthogonal (perpendicular) to the slider's primary axis of movement.
+
+Orthogonal Angular Motion: In the context of a slider constraint, orthogonal angular motion refers to rotational movement around axes that are perpendicular to the slider's main movement axis.
+
+Restitution: Restitution is a measure of how much energy is retained in a collision or interaction. A restitution value of 0.0 means no bounce (inelastic collision), and 1.0 means maximum bounce (elastic collision). For orthogonal angular motion, this describes how much bounce occurs after the rotational motion hits the constraints or limits in a perpendicular direction to the slider axis.
+
+#ref GetSlideRestitutionOrthoAng
diff --git a/doc/files/setsliderestitutionortholin.txt b/doc/files/setsliderestitutionortholin.txt
new file mode 100644
index 0000000..3cd9aa8
--- /dev/null
+++ b/doc/files/setsliderestitutionortholin.txt
@@ -0,0 +1,10 @@
+#title setSlideRestitutionOrthoLin [RCBasic Doc]
+#header sub setSlideRestitutionOrthoLin( constraint_id, n)
+
+Sets the restitution value for orthogonal linear motion. This value determines how much energy is conserved (or how "bouncy" the interaction is) when linear motion occurs in a direction orthogonal (perpendicular) to the primary sliding axis of the constraint.
+
+Orthogonal Linear Motion: In the context of a slider constraint, orthogonal linear motion refers to translational movement along axes that are perpendicular to the main sliding axis of the constraint.
+
+Restitution: Restitution is a measure of how much energy is retained or conserved during a collision or interaction. A restitution value of 0.0 indicates no bounce (perfectly inelastic), while 1.0 indicates maximum bounce (perfectly elastic). For orthogonal linear motion, this value describes how much the actors bounce or retain energy when they hit limits or experience movement perpendicular to the slider’s main axis.
+
+#ref GetSlideRestitutionOrthoLin
diff --git a/doc/files/setslidesoftnessdirang.txt b/doc/files/setslidesoftnessdirang.txt
new file mode 100644
index 0000000..8daf00e
--- /dev/null
+++ b/doc/files/setslidesoftnessdirang.txt
@@ -0,0 +1,8 @@
+#title setSlideSoftnessDirAng [RCBasic Doc]
+#header sub setSlideSoftnessDirAng( constraint_id, n)
+
+Sets the softness parameter for the angular motion of the constraint. This parameter is used to define how "soft" or "rigid" the limits of angular motion are, particularly when the angular limits are reached.
+
+The softness parameter defines how smoothly the constraint responds to limit violations. A higher softness value allows for more gradual movements when limits are approached, while a lower value creates a more rigid response. Softness is particularly useful in simulations to avoid harsh impacts or stiff movements when limits are reached.
+
+#ref GetSlideSoftnessDirAng
diff --git a/doc/files/setslidesoftnessdirlin.txt b/doc/files/setslidesoftnessdirlin.txt
new file mode 100644
index 0000000..e82c723
--- /dev/null
+++ b/doc/files/setslidesoftnessdirlin.txt
@@ -0,0 +1,8 @@
+#title setConstraintSoftnessDirLin [RCBasic Doc]
+#header sub setConstraintSoftnessDirLin( constraint_id, n)
+
+Sets the softness parameter for the linear motion of the constraint. This parameter influences how the constraint responds when the linear limits of movement are reached along the sliding axis, determining whether the response is soft and gradual or more rigid.
+
+In the context of constraints, softness defines how "compliant" or "stiff" the constraint behaves when the limits are approached. A higher softness value makes the constraint respond more softly and gradually as the limit is approached, while a lower value makes the response stiffer and more rigid.
+
+#ref GetSlideSoftnessDirLin
diff --git a/doc/files/setslidesoftnesslimang.txt b/doc/files/setslidesoftnesslimang.txt
new file mode 100644
index 0000000..d806c20
--- /dev/null
+++ b/doc/files/setslidesoftnesslimang.txt
@@ -0,0 +1,8 @@
+#title setSlideSoftnessLimAng [RCBasic Doc]
+#header sub setSlideSoftnessLimAng( constraint_id, n)
+
+Sets the softness parameter for the angular limits of the constraint. This parameter affects how "soft" or "rigid" the constraint behaves when the connected actors reach their angular rotational limits around the slider's axis of rotation.
+
+The softness parameter defines how compliant or stiff the constraint behaves when the motion approaches a limit. A higher softness makes the constraint more flexible, allowing for smoother motion near the limit. A lower softness makes the limit response more rigid and immediate.
+
+#ref GetSlideSoftnessLimAng
diff --git a/doc/files/setslidesoftnesslimlin.txt b/doc/files/setslidesoftnesslimlin.txt
new file mode 100644
index 0000000..7461c5b
--- /dev/null
+++ b/doc/files/setslidesoftnesslimlin.txt
@@ -0,0 +1,8 @@
+#title setSlideSoftnessLimLin [RCBasic Doc]
+#header sub setSlideSoftnessLimLin( constraint_id, n)
+
+Sets the softness parameter for the linear limits of the constraint. This parameter influences how "soft" or "rigid" the constraint behaves when the connected actors reach their linear (sliding) limits along the constraint's axis of motion.
+
+The softness parameter defines how compliant or stiff the constraint behaves when limits are approached. A higher softness value allows for a more gradual and flexible response as the limit is reached, while a lower softness value results in a stiffer and more rigid response.
+
+#ref GetSlideSoftnessLimLin
diff --git a/doc/files/setslidesoftnessorthoang.txt b/doc/files/setslidesoftnessorthoang.txt
new file mode 100644
index 0000000..bc33d25
--- /dev/null
+++ b/doc/files/setslidesoftnessorthoang.txt
@@ -0,0 +1,8 @@
+#title setSlideSoftnessOrthoAng [RCBasic Doc]
+#header sub setSlideSoftnessOrthoAng( constraint_id, n)
+
+Sets the softness parameter for the orthogonal angular limits of the constraint. This parameter controls how "soft" or "rigid" the constraint behaves when angular rotation is limited along directions orthogonal (perpendicular) to the primary axis of motion.
+
+The softness parameter defines how compliant (soft) or stiff (rigid) the constraint behaves when the bodies approach their angular or linear limits. A higher softness value makes the limit more flexible, allowing for gradual motion, while a lower value makes the limit more rigid and restrictive.
+
+#ref GetSlideSoftnessOrthoAng
diff --git a/doc/files/setslidesoftnessortholin.txt b/doc/files/setslidesoftnessortholin.txt
new file mode 100644
index 0000000..f2f2ad8
--- /dev/null
+++ b/doc/files/setslidesoftnessortholin.txt
@@ -0,0 +1,8 @@
+#title setConstraintSoftnessOrthoLin [RCBasic Doc]
+#header sub setSlideSoftnessOrthoLin( constraint_id, n)
+
+Sets the softness parameter for the orthogonal linear limits of the constraint. This parameter affects how "soft" or "rigid" the constraint behaves when the connected actors approach their linear movement limits in directions that are orthogonal (perpendicular) to the primary sliding axis.
+
+The softness parameter determines how rigid or compliant the constraint is when the actors approach their movement limits. A higher softness value allows for smoother, more flexible movement near the limit, while a lower value results in a more rigid, immediate response.
+
+#ref GetSlideSoftnessOrthoLin
diff --git a/doc/files/setslideupperanglimit.txt b/doc/files/setslideupperanglimit.txt
new file mode 100644
index 0000000..469d8da
--- /dev/null
+++ b/doc/files/setslideupperanglimit.txt
@@ -0,0 +1,6 @@
+#title setSlideUpperAngLimit [RCBasic Doc]
+#header sub setSlideUpperAngLimit( constraint_id, n)
+
+Sets the upper limit of the angular movement allowed for the constraint. This function is crucial for determining how much rotational freedom is allowed around the axis of rotation defined by the slider constraint.
+
+The upper angular limit specifies the maximum allowed rotation around the rotational axis for the slider constraint. If the relative rotation between the two actors exceeds this angle, corrective forces are applied to maintain the constraint and prevent further rotation.
diff --git a/doc/files/setslideupperlinlimit.txt b/doc/files/setslideupperlinlimit.txt
new file mode 100644
index 0000000..42d58c1
--- /dev/null
+++ b/doc/files/setslideupperlinlimit.txt
@@ -0,0 +1,6 @@
+#title setSlideUpperLinLimit [RCBasic Doc]
+#header sub setSlideUpperLinLimit( constraint_id, n)
+
+Sets the upper limit for linear movement along the constraint's axis. This is a crucial function for controlling how far the connected actors can slide along that axis before the constraint enforces limits.
+
+The upper linear limit specifies the maximum distance that the connected actors can move away from each other along the slider's axis. If the relative movement exceeds this limit, the constraint will apply corrective forces to stop further movement.
diff --git a/doc/files/setwindowalwaysontop.txt b/doc/files/setwindowalwaysontop.txt
index 6df08b5..9b517ca 100644
--- a/doc/files/setwindowalwaysontop.txt
+++ b/doc/files/setwindowalwaysontop.txt
@@ -1,4 +1,4 @@
#title SetWindowAlwaysOnTop [RCBasic Doc]
-#header sub SetWindowAlwaysOnTop(win, flag)
+#header sub SetWindowAlwaysOnTop( flag )
diff --git a/doc/files/setwindowautoclose.txt b/doc/files/setwindowautoclose.txt
index 0d25945..37a8e5a 100644
--- a/doc/files/setwindowautoclose.txt
+++ b/doc/files/setwindowautoclose.txt
@@ -1,4 +1,4 @@
#title SetWindowAutoClose [RCBasic Doc]
-#header sub SetWindowAutoClose( win, exit_on_close )
+#header sub SetWindowAutoClose( exit_on_close )
diff --git a/doc/files/setwindowbordered.txt b/doc/files/setwindowbordered.txt
index 9386b6f..b3dbd72 100644
--- a/doc/files/setwindowbordered.txt
+++ b/doc/files/setwindowbordered.txt
@@ -1,4 +1,4 @@
#title SetWindowBordered [RCBasic Doc]
-#header sub SetWindowBorder(win, flag)
+#header sub SetWindowBordered( flag)
diff --git a/doc/files/setwindowfullscreen.txt b/doc/files/setwindowfullscreen.txt
index a377e4f..bbd3dab 100644
--- a/doc/files/setwindowfullscreen.txt
+++ b/doc/files/setwindowfullscreen.txt
@@ -1,4 +1,4 @@
#title SetWindowFullscreen [RCBasic Doc]
-#header sub SetWindowFullscreen(win, flag)
+#header sub SetWindowFullscreen( flag)
diff --git a/doc/files/setwindowicon.txt b/doc/files/setwindowicon.txt
index 702b1e7..a4fc7a8 100644
--- a/doc/files/setwindowicon.txt
+++ b/doc/files/setwindowicon.txt
@@ -1,4 +1,4 @@
#title SetWindowIcon [RCBasic Doc]
-#header sub SetWindowIcon(win, slot)
+#header sub SetWindowIcon( slot)
diff --git a/doc/files/setwindowmaxsize.txt b/doc/files/setwindowmaxsize.txt
index 183e742..73e06b8 100644
--- a/doc/files/setwindowmaxsize.txt
+++ b/doc/files/setwindowmaxsize.txt
@@ -1,4 +1,4 @@
#title SetWindowMaxSize [RCBasic Doc]
-#header sub SetWindowMaxSize(win, w, h)
+#header sub SetWindowMaxSize( w, h)
diff --git a/doc/files/setwindowminsize.txt b/doc/files/setwindowminsize.txt
index 25471b0..5c8c99d 100644
--- a/doc/files/setwindowminsize.txt
+++ b/doc/files/setwindowminsize.txt
@@ -1,4 +1,4 @@
#title SetWindowMinSize [RCBasic Doc]
-#header sub SetWindowMinSize(win, w, h)
+#header sub SetWindowMinSize( w, h)
diff --git a/doc/files/setwindowposition.txt b/doc/files/setwindowposition.txt
index 1a6c19a..f5499c1 100644
--- a/doc/files/setwindowposition.txt
+++ b/doc/files/setwindowposition.txt
@@ -1,4 +1,4 @@
#title SetWindowPosition [RCBasic Doc]
-#header sub SetWindowPosition(win, x, y)
+#header sub SetWindowPosition( x, y )
diff --git a/doc/files/setwindowresizable.txt b/doc/files/setwindowresizable.txt
index f6b60df..9cfd406 100644
--- a/doc/files/setwindowresizable.txt
+++ b/doc/files/setwindowresizable.txt
@@ -1,4 +1,4 @@
#title SetWindowResizable [RCBasic Doc]
-#header sub SetWindowResizable(win, flag) 'new
+#header sub SetWindowResizable( flag )
diff --git a/doc/files/setwindowsize.txt b/doc/files/setwindowsize.txt
index bbd4588..1ee95af 100644
--- a/doc/files/setwindowsize.txt
+++ b/doc/files/setwindowsize.txt
@@ -1,4 +1,4 @@
#title SetWindowSize [RCBasic Doc]
-#header sub SetWindowSize(win, w, h)
+#header sub SetWindowSize( w, h )
diff --git a/doc/files/setwindowtitle.txt b/doc/files/setwindowtitle.txt
index 7ed9b02..2850855 100644
--- a/doc/files/setwindowtitle.txt
+++ b/doc/files/setwindowtitle.txt
@@ -1,4 +1,4 @@
#title SetWindowTitle [RCBasic Doc]
-#header sub SetWindowTitle(win, title$)
+#header sub SetWindowTitle( title$ )
diff --git a/doc/files/setwindowvsync.txt b/doc/files/setwindowvsync.txt
index 67b5dae..92ed922 100644
--- a/doc/files/setwindowvsync.txt
+++ b/doc/files/setwindowvsync.txt
@@ -1,4 +1,4 @@
#title SetWindowVSync [RCBasic Doc]
-#header sub SetWindowVSync(win, flag)
+#header sub SetWindowVSync( flag )
diff --git a/doc/files/setworld3dmaxsubsteps.txt b/doc/files/setworld3dmaxsubsteps.txt
index 4b0cbd2..4b6d41e 100644
--- a/doc/files/setworld3dmaxsubsteps.txt
+++ b/doc/files/setworld3dmaxsubsteps.txt
@@ -1,4 +1,8 @@
#title SetWorld3DMaxSubSteps [RCBasic Doc]
#header sub SetWorld3DMaxSubSteps( steps )
+Sets the max sub steps to break the simulation up into
+maxSubSteps - The maximum number of substeps to perform if the time step is larger than the fixedTimeStep. When simulating in real-time, if a frame takes longer than expected (e.g., a frame is delayed), you can break the simulation into several smaller substeps to ensure the simulation is accurate.
+
+#ref SetWorld3DMaxTimeStep
diff --git a/doc/files/setworld3dtimestep.txt b/doc/files/setworld3dtimestep.txt
index 48d18f5..6169c85 100644
--- a/doc/files/setworld3dtimestep.txt
+++ b/doc/files/setworld3dtimestep.txt
@@ -1,4 +1,8 @@
#title SetWorld3DTimeStep [RCBasic Doc]
#header sub SetWorld3DTimeStep( ts )
+Sets the fixed time step for the physics simulation
+fixedTimeStep - The fixed time step size, which is the interval at which the physics simulation runs internally. It is often set to 1/60th of a second (0.0166667 seconds) by default, meaning the physics engine updates 60 times per second.
+
+#ref SetWorld3DMaxSubSteps
diff --git a/doc/files/showwindow.txt b/doc/files/showwindow.txt
index f78733b..b3e9e05 100644
--- a/doc/files/showwindow.txt
+++ b/doc/files/showwindow.txt
@@ -1,4 +1,4 @@
#title ShowWindow [RCBasic Doc]
-#header sub ShowWindow(win)
+#header sub ShowWindow( )
diff --git a/doc/files/startactortransition.txt b/doc/files/startactortransition.txt
index ee31765..821ffb9 100644
--- a/doc/files/startactortransition.txt
+++ b/doc/files/startactortransition.txt
@@ -1,4 +1,15 @@
#title StartActorTransition [RCBasic Doc]
#header sub StartActorTransition( actor, frame, transition_time )
+Starts an actor transition from its current frame in an animation to a specified frame
+#list ul
+#li frame - The frame to transition to
+#li transition_time - The amount of time to transition
+ #list ul
+ #li The shorter the time is, the faster the transition will be
+ #li Time is in seconds
+ #/list
+#/list
+
+#ref StopActorTransition ActorIsInTransition
diff --git a/doc/files/startparticleemitter.txt b/doc/files/startparticleemitter.txt
index 4eb7fe0..4153fab 100644
--- a/doc/files/startparticleemitter.txt
+++ b/doc/files/startparticleemitter.txt
@@ -1,4 +1,6 @@
#title startParticleEmitter [RCBasic Doc]
#header sub startParticleEmitter( actor)
+Starts particle emission for a particle actor
+#ref StopParticleEmitter
diff --git a/doc/files/stopactortransition.txt b/doc/files/stopactortransition.txt
index 9087ebc..f277c23 100644
--- a/doc/files/stopactortransition.txt
+++ b/doc/files/stopactortransition.txt
@@ -1,4 +1,6 @@
#title StopActorTransition [RCBasic Doc]
#header sub StopActorTransition( actor )
+Stops a transition that was started with StartActorTransition
+#ref StartActorTransition ActorIsInTransition
diff --git a/doc/files/stopmusic.txt b/doc/files/stopmusic.txt
index 198c755..2154dfb 100644
--- a/doc/files/stopmusic.txt
+++ b/doc/files/stopmusic.txt
@@ -1,4 +1,6 @@
#title StopMusic [RCBasic Doc]
#header sub StopMusic()
+Stops playing the loaded music track and resets the music position to 0
+#ref PlayMusic PauseMusic
diff --git a/doc/files/stopparticleemitter.txt b/doc/files/stopparticleemitter.txt
index e9524ab..eb23fce 100644
--- a/doc/files/stopparticleemitter.txt
+++ b/doc/files/stopparticleemitter.txt
@@ -1,4 +1,6 @@
#title stopParticleEmitter [RCBasic Doc]
#header sub stopParticleEmitter( actor)
+Stops particle emission for a particle actor
+#ref StartParticleEmitter
diff --git a/doc/files/stopsound.txt b/doc/files/stopsound.txt
index 5273764..0a12cd1 100644
--- a/doc/files/stopsound.txt
+++ b/doc/files/stopsound.txt
@@ -1,4 +1,4 @@
#title StopSound [RCBasic Doc]
#header sub StopSound(channel)
-
+Stops playing sound on the specified channel
diff --git a/doc/files/stopvideo.txt b/doc/files/stopvideo.txt
index eb51f98..d641926 100644
--- a/doc/files/stopvideo.txt
+++ b/doc/files/stopvideo.txt
@@ -1,4 +1,6 @@
#title StopVideo [RCBasic Doc]
#header sub StopVideo()
+Stops playing the loaded video track and resets the video position to 0
+#ref PlayVideo PauseVideo
diff --git a/doc/files/stringarraycopy.txt b/doc/files/stringarraycopy.txt
index c2ae827..ffb1c87 100644
--- a/doc/files/stringarraycopy.txt
+++ b/doc/files/stringarraycopy.txt
@@ -1,4 +1,9 @@
#title StringArrayCopy [RCBasic Doc]
#header sub StringArrayCopy(ByRef src$, ByRef dst$)
+This function is exists to be internally called by the runtime but should not be called directly.
+
+Use ArrayCopy()
+
+#ref ArrayCopy
diff --git a/doc/files/stringarraydim.txt b/doc/files/stringarraydim.txt
index b0e621e..fba6904 100644
--- a/doc/files/stringarraydim.txt
+++ b/doc/files/stringarraydim.txt
@@ -1,4 +1,9 @@
#title StringArrayDim [RCBasic Doc]
#header function StringArrayDim(Byref id$)
+This function is exists to be internally called by the runtime but should not be called directly.
+
+Use ArrayDim()
+
+#ref ArrayDim
diff --git a/doc/files/stringarrayfill.txt b/doc/files/stringarrayfill.txt
index 4302ea4..09bd05c 100644
--- a/doc/files/stringarrayfill.txt
+++ b/doc/files/stringarrayfill.txt
@@ -1,4 +1,9 @@
#title StringArrayFill [RCBasic Doc]
#header sub StringArrayFill(ByRef src$, fdata$)
+This function is exists to be internally called by the runtime but should not be called directly.
+
+Use ArrayFill()
+
+#ref ArrayFill
diff --git a/doc/files/stringarraysize.txt b/doc/files/stringarraysize.txt
index 6f277c3..6df1733 100644
--- a/doc/files/stringarraysize.txt
+++ b/doc/files/stringarraysize.txt
@@ -1,4 +1,9 @@
#title StringArraySize [RCBasic Doc]
#header function StringArraySize(Byref id$, array_dim)
+This function is exists to be internally called by the runtime but should not be called directly.
+
+Use ArraySize()
+
+#ref ArraySize
diff --git a/doc/files/tcp_closesocket.txt b/doc/files/tcp_closesocket.txt
index 12293bd..4af1841 100644
--- a/doc/files/tcp_closesocket.txt
+++ b/doc/files/tcp_closesocket.txt
@@ -1,4 +1,4 @@
#title TCP_CloseSocket [RCBasic Doc]
-#header sub TCP_SocketClose(socket)
+#header sub TCP_CloseSocket(socket)
diff --git a/doc/files/tcp_opensocket.txt b/doc/files/tcp_opensocket.txt
index 2d405ca..3c3d8d7 100644
--- a/doc/files/tcp_opensocket.txt
+++ b/doc/files/tcp_opensocket.txt
@@ -1,4 +1,4 @@
#title TCP_OpenSocket [RCBasic Doc]
-#header function TCP_SocketOpen(socket, host$, port)
+#header function TCP_OpenSocket(host$, port)
diff --git a/doc/files/translateactorlocal.txt b/doc/files/translateactorlocal.txt
new file mode 100644
index 0000000..b54a5d8
--- /dev/null
+++ b/doc/files/translateactorlocal.txt
@@ -0,0 +1,4 @@
+#title TranslateActorLocal [RCBasic Doc]
+#header sub TranslateActorLocal( actor, x, y, z )
+
+Moves an actor relative to its current position
diff --git a/doc/files/translateactorworld.txt b/doc/files/translateactorworld.txt
index 553e614..8ef62ce 100644
--- a/doc/files/translateactorworld.txt
+++ b/doc/files/translateactorworld.txt
@@ -1,4 +1,4 @@
#title TranslateActorWorld [RCBasic Doc]
#header sub TranslateActorWorld( actor, x, y, z )
-
+Moves an actor relative to its current position
diff --git a/doc/files/translatecamera.txt b/doc/files/translatecamera.txt
index bbf915a..4c1e0fa 100644
--- a/doc/files/translatecamera.txt
+++ b/doc/files/translatecamera.txt
@@ -1,4 +1,4 @@
#title TranslateCamera [RCBasic Doc]
#header sub TranslateCamera( x, y, z)
-
+Moves the camera relative to its current position
diff --git a/doc/files/typearraycopy.txt b/doc/files/typearraycopy.txt
index a90f979..652df26 100644
--- a/doc/files/typearraycopy.txt
+++ b/doc/files/typearraycopy.txt
@@ -1,4 +1,8 @@
#title TypeArrayCopy [RCBasic Doc]
#header sub TypeArrayCopy(ByRef src as empty, ByRef dst as empty)
+This function is exists to be internally called by the runtime but should not be called directly.
+Use ArrayCopy()
+
+#ref ArrayCopy
diff --git a/doc/files/typearraydim.txt b/doc/files/typearraydim.txt
index 1c5deb6..31da7e5 100644
--- a/doc/files/typearraydim.txt
+++ b/doc/files/typearraydim.txt
@@ -1,4 +1,9 @@
#title TypeArrayDim [RCBasic Doc]
#header function TypeArrayDim(Byref id as empty)
+This function is exists to be internally called by the runtime but should not be called directly.
+
+Use ArrayDim()
+
+#ref ArrayDim
diff --git a/doc/files/typearrayfill.txt b/doc/files/typearrayfill.txt
index 55c8acc..007c111 100644
--- a/doc/files/typearrayfill.txt
+++ b/doc/files/typearrayfill.txt
@@ -1,4 +1,9 @@
#title TypeArrayFill [RCBasic Doc]
#header sub TypeArrayFill(ByRef src as empty, fdata as empty)
+This function is exists to be internally called by the runtime but should not be called directly.
+
+Use ArrayFill()
+
+#ref ArrayFill
diff --git a/doc/files/typearraysize.txt b/doc/files/typearraysize.txt
index f9717c0..62c8cea 100644
--- a/doc/files/typearraysize.txt
+++ b/doc/files/typearraysize.txt
@@ -1,4 +1,9 @@
#title TypeArraySize [RCBasic Doc]
#header function TypeArraySize(Byref id as empty, array_dim)
+This function is exists to be internally called by the runtime but should not be called directly.
+
+Use ArraySize()
+
+#ref ArraySize
diff --git a/doc/files/udp_closesocket.txt b/doc/files/udp_closesocket.txt
index 1510a2a..12d731b 100644
--- a/doc/files/udp_closesocket.txt
+++ b/doc/files/udp_closesocket.txt
@@ -1,4 +1,4 @@
#title UDP_CloseSocket [RCBasic Doc]
-#header function UDP_SocketClose(socket)
+#header sub UDP_CloseSocket(socket)
diff --git a/doc/files/udp_opensocket.txt b/doc/files/udp_opensocket.txt
index 5a7fbe0..b355133 100644
--- a/doc/files/udp_opensocket.txt
+++ b/doc/files/udp_opensocket.txt
@@ -1,4 +1,4 @@
#title UDP_OpenSocket [RCBasic Doc]
-#header function UDP_SocketOpen(socket, port)
+#header function UDP_OpenSocket(port)
diff --git a/doc/files/updateactorinertiatensor.txt b/doc/files/updateactorinertiatensor.txt
index a03f6ac..611f0b5 100644
--- a/doc/files/updateactorinertiatensor.txt
+++ b/doc/files/updateactorinertiatensor.txt
@@ -1,4 +1,4 @@
#title updateActorInertiaTensor [RCBasic Doc]
#header sub updateActorInertiaTensor( actor)
-
+Recalculates the inertia tensor of an actor, which is essential for accurately simulating how the actor reacts to forces and torques during its motion. The inertia tensor defines how the mass of the body is distributed in space and influences how the body rotates in response to applied torques.
diff --git a/doc/files/useconstraintframeoffset.txt b/doc/files/useconstraintframeoffset.txt
index 2c21708..34bca05 100644
--- a/doc/files/useconstraintframeoffset.txt
+++ b/doc/files/useconstraintframeoffset.txt
@@ -1,4 +1,6 @@
#title useConstraintFrameOffset [RCBasic Doc]
#header sub useConstraintFrameOffset( constraint_id, flag)
+Enables or disables the use of frame offsets in a constraint. When frame offsets are used, the constraint operates relative to specific local frames defined in the two connected actors, rather than directly in the world frame.
+Note: Only applies to the hinge and slide constraint
diff --git a/doc/files/usehingereferenceframea.txt b/doc/files/usehingereferenceframea.txt
index 780c39d..ecfdedb 100644
--- a/doc/files/usehingereferenceframea.txt
+++ b/doc/files/usehingereferenceframea.txt
@@ -1,4 +1,7 @@
#title useHingeReferenceFrameA [RCBasic Doc]
#header sub useHingeReferenceFrameA( constraint_id, flag)
+Allows you to specify which actor's local reference frame is used to determine the hinge’s angular limits and motor direction.
+
+When flag is true the hinge constraint will use actor A's reference frame as the basis for calculating angular limits and motor directions.
diff --git a/doc/files/useparticleeverymeshvertex.txt b/doc/files/useparticleeverymeshvertex.txt
index 4dd2bfd..57f4984 100644
--- a/doc/files/useparticleeverymeshvertex.txt
+++ b/doc/files/useparticleeverymeshvertex.txt
@@ -1,4 +1,6 @@
#title useParticleEveryMeshVertex [RCBasic Doc]
#header sub useParticleEveryMeshVertex( actor, flag)
+Sets whether to emit min<->max particles for every vertex or to pick min<->max vertices.
+#ref particleIsUsingEveryMeshVertex
diff --git a/doc/files/useparticlenormaldirection.txt b/doc/files/useparticlenormaldirection.txt
index 90f4774..62fc20c 100644
--- a/doc/files/useparticlenormaldirection.txt
+++ b/doc/files/useparticlenormaldirection.txt
@@ -1,4 +1,7 @@
#title useParticleNormalDirection [RCBasic Doc]
#header sub useParticleNormalDirection( actor, flag)
+Sets whether particle emitter is using vertex normal for direction, or direction specified.
+
+#ref particleIsUsingNormalDirection
diff --git a/doc/files/useparticleoutlineonly.txt b/doc/files/useparticleoutlineonly.txt
index 0348f8c..f87374c 100644
--- a/doc/files/useparticleoutlineonly.txt
+++ b/doc/files/useparticleoutlineonly.txt
@@ -1,4 +1,8 @@
#title useParticleOutlineOnly [RCBasic Doc]
#header sub useParticleOutlineOnly( actor, flag)
+Set whether or not to draw points inside the cylinder.
+Note: Only applies to cylinder emitter
+
+#ref particleIsUsingOutlineOnly
diff --git a/doc/files/windowclip.txt b/doc/files/windowclip.txt
index e3bdcab..eeebb9c 100644
--- a/doc/files/windowclip.txt
+++ b/doc/files/windowclip.txt
@@ -1,4 +1,4 @@
#title WindowClip [RCBasic Doc]
-#header sub WindowClip(slot, x, y, w, h)
+#header function WindowClip(x, y, w, h)
diff --git a/doc/files/windowevent_close.txt b/doc/files/windowevent_close.txt
index c00a79b..a4bcc24 100644
--- a/doc/files/windowevent_close.txt
+++ b/doc/files/windowevent_close.txt
@@ -1,4 +1,4 @@
#title WindowEvent_Close [RCBasic Doc]
-#header function WindowEvent_Close(win)
+#header function WindowEvent_Close()
diff --git a/doc/files/windowevent_maximize.txt b/doc/files/windowevent_maximize.txt
index c828709..820fd09 100644
--- a/doc/files/windowevent_maximize.txt
+++ b/doc/files/windowevent_maximize.txt
@@ -1,4 +1,4 @@
#title WindowEvent_Maximize [RCBasic Doc]
-#header function WindowEvent_Maximize(win)
+#header function WindowEvent_Maximize()
diff --git a/doc/files/windowevent_minimize.txt b/doc/files/windowevent_minimize.txt
index 2f833ab..a32de19 100644
--- a/doc/files/windowevent_minimize.txt
+++ b/doc/files/windowevent_minimize.txt
@@ -1,4 +1,4 @@
#title WindowEvent_Minimize [RCBasic Doc]
-#header function WindowEvent_Minimize(win)
+#header function WindowEvent_Minimize()
diff --git a/doc/files/windowevent_resize.txt b/doc/files/windowevent_resize.txt
index dbcc3ea..9f733ed 100644
--- a/doc/files/windowevent_resize.txt
+++ b/doc/files/windowevent_resize.txt
@@ -1,4 +1,4 @@
#title WindowEvent_Resize [RCBasic Doc]
-#header function WindowEvent_Resize(win)
+#header function WindowEvent_Resize()
diff --git a/doc/files/windowexists.txt b/doc/files/windowexists.txt
index 763da9b..c6ac2a5 100644
--- a/doc/files/windowexists.txt
+++ b/doc/files/windowexists.txt
@@ -1,4 +1,4 @@
#title WindowExists [RCBasic Doc]
-#header function WindowExists(win)
+#header function WindowExists()
diff --git a/doc/files/windowhasinputfocus.txt b/doc/files/windowhasinputfocus.txt
index 86bd1b1..4930a60 100644
--- a/doc/files/windowhasinputfocus.txt
+++ b/doc/files/windowhasinputfocus.txt
@@ -1,4 +1,4 @@
#title WindowHasInputFocus [RCBasic Doc]
-#header function WindowHasInputFocus(win)
+#header function WindowHasInputFocus()
diff --git a/doc/files/windowhasmousefocus.txt b/doc/files/windowhasmousefocus.txt
index 91a3fec..c366a23 100644
--- a/doc/files/windowhasmousefocus.txt
+++ b/doc/files/windowhasmousefocus.txt
@@ -1,4 +1,4 @@
#title WindowHasMouseFocus [RCBasic Doc]
-#header function WindowHasMouseFocus(win)
+#header function WindowHasMouseFocus()
diff --git a/doc/files/windowisbordered.txt b/doc/files/windowisbordered.txt
index c51e840..17cf5ad 100644
--- a/doc/files/windowisbordered.txt
+++ b/doc/files/windowisbordered.txt
@@ -1,4 +1,4 @@
#title WindowIsBordered [RCBasic Doc]
-#header function WindowIsBordered(win)
+#header function WindowIsBordered()
diff --git a/doc/files/windowisfullscreen.txt b/doc/files/windowisfullscreen.txt
index c85a3d2..54d4af9 100644
--- a/doc/files/windowisfullscreen.txt
+++ b/doc/files/windowisfullscreen.txt
@@ -1,4 +1,4 @@
#title WindowIsFullscreen [RCBasic Doc]
-#header function WindowIsFullscreen(win)
+#header function WindowIsFullscreen()
diff --git a/doc/files/windowismaximized.txt b/doc/files/windowismaximized.txt
index 936bd51..8e22594 100644
--- a/doc/files/windowismaximized.txt
+++ b/doc/files/windowismaximized.txt
@@ -1,4 +1,4 @@
#title WindowIsMaximized [RCBasic Doc]
-#header function WindowIsMaximized(win)
+#header function WindowIsMaximized()
diff --git a/doc/files/windowisminimized.txt b/doc/files/windowisminimized.txt
index ad3ecb9..38cca84 100644
--- a/doc/files/windowisminimized.txt
+++ b/doc/files/windowisminimized.txt
@@ -1,4 +1,4 @@
#title WindowIsMinimized [RCBasic Doc]
-#header function WindowIsMinimized(win)
+#header function WindowIsMinimized()
diff --git a/doc/files/windowisresizable.txt b/doc/files/windowisresizable.txt
index 8cdde0c..08b0b04 100644
--- a/doc/files/windowisresizable.txt
+++ b/doc/files/windowisresizable.txt
@@ -1,4 +1,4 @@
#title WindowIsResizable [RCBasic Doc]
-#header function WindowIsResizable(win)
+#header function WindowIsResizable()
diff --git a/doc/files/windowisvisible.txt b/doc/files/windowisvisible.txt
index acd79e6..990a071 100644
--- a/doc/files/windowisvisible.txt
+++ b/doc/files/windowisvisible.txt
@@ -1,4 +1,4 @@
#title WindowIsVisible [RCBasic Doc]
-#header function WindowIsVisible(win)
+#header function WindowIsVisible()
diff --git a/doc/files/windowtitle.txt b/doc/files/windowtitle.txt
index 6ee6d5f..ff00fc0 100644
--- a/doc/files/windowtitle.txt
+++ b/doc/files/windowtitle.txt
@@ -1,4 +1,4 @@
#title WindowTitle$ [RCBasic Doc]
-#header function WindowTitle$(win)
+#header function WindowTitle$( )
diff --git a/doc/files/writeline.txt b/doc/files/writeline.txt
index df85cbd..0a6c172 100644
--- a/doc/files/writeline.txt
+++ b/doc/files/writeline.txt
@@ -1,4 +1,6 @@
#title WriteLine [RCBasic Doc]
#header sub WriteLine(stream, txt$)
+Writes a string to a text file with a new-line appended at the end
+#ref Write ReadLine$
diff --git a/doc/files/xorbit.txt b/doc/files/xorbit.txt
index 684fbda..798ec1c 100644
--- a/doc/files/xorbit.txt
+++ b/doc/files/xorbit.txt
@@ -1,4 +1,6 @@
#title XOrBit [RCBasic Doc]
#header function XOrBit(a, b)
+Returns the value of the bitwise XOR operation on the operands A and B
+#ref OrBit AndBit
diff --git a/doc/files/zeromatrix.txt b/doc/files/zeromatrix.txt
index 3d81c26..e89b1c2 100644
--- a/doc/files/zeromatrix.txt
+++ b/doc/files/zeromatrix.txt
@@ -1,4 +1,8 @@
#title ZeroMatrix [RCBasic Doc]
#header sub ZeroMatrix(mA)
+Clears a matrix
+Note: Literally does the exact same thing as ClearMatrix. Its here as a legacy call convention.
+
+#ref ClearMatrix
diff --git a/doc/nw/out/setconedamping.txt b/doc/nw/out/setconedamping.txt
new file mode 100644
index 0000000..81032dd
--- /dev/null
+++ b/doc/nw/out/setconedamping.txt
@@ -0,0 +1,4 @@
+#title setConeDamping [RCBasic Doc]
+#header sub setConeDamping( constraint_id, damping)
+
+Returns the damping factor applied to the constraint. Damping is used to reduce the amount of oscillation or unwanted movement (such as excessive rotation or swinging) around the constrained actor's axes.
diff --git a/doc/nw/out/setconefixthresh.txt b/doc/nw/out/setconefixthresh.txt
new file mode 100644
index 0000000..5b6a06a
--- /dev/null
+++ b/doc/nw/out/setconefixthresh.txt
@@ -0,0 +1,9 @@
+#title setConeFixThresh [RCBasic Doc]
+#header sub setConeFixThresh( constraint_id, fixThresh)
+
+Sets the fix threshold value associated with that constraint. This threshold is used to control how the constraint behaves when the angle of the rotation between the actors approaches the limits defined by the cone twist constraint.
+
+The fix threshold defines a limit or tolerance for how closely the angle between the two actors can approach the constraint's limits before corrective actions are taken. When the angular motion exceeds this threshold, the constraint applies corrective forces to bring the motion back within the allowed range.
+
+#ref GetConeFixThresh
+
diff --git a/doc/nw/out/setconstraintbreakingimpulsethreshold.txt b/doc/nw/out/setconstraintbreakingimpulsethreshold.txt
new file mode 100644
index 0000000..a546aa4
--- /dev/null
+++ b/doc/nw/out/setconstraintbreakingimpulsethreshold.txt
@@ -0,0 +1,7 @@
+#title setConstraintBreakingImpulseThreshold [RCBasic Doc]
+#header sub setConstraintBreakingImpulseThreshold( constraint_id, threshold)
+
+Sets the breaking impulse threshold for a given constraint. The breaking impulse threshold defines the maximum force (impulse) a constraint can withstand before it "breaks," meaning that the constraint will be deactivated and no longer enforce its rules.
+
+#ref GetConstraintBreakingImpulseThreshold
+
diff --git a/doc/nw/out/setconstraintframes.txt b/doc/nw/out/setconstraintframes.txt
new file mode 100644
index 0000000..0a260b4
--- /dev/null
+++ b/doc/nw/out/setconstraintframes.txt
@@ -0,0 +1,6 @@
+#title setConstraintFrames [RCBasic Doc]
+#header sub setConstraintFrames( constraint_id, frameA_matrix, frameB_matrix)
+
+Defines the reference frames for the constraint. This function establishes how the constraint is oriented in the local coordinate systems of the connected actors.
+
+The reference frames define the orientation and position of the constraint relative to each of the connected actors. Each actor can have its own local coordinate system, and the frames help establish how the constraint interacts with these systems.
diff --git a/doc/nw/out/setconstraintsolveriterations.txt b/doc/nw/out/setconstraintsolveriterations.txt
new file mode 100644
index 0000000..b714f72
--- /dev/null
+++ b/doc/nw/out/setconstraintsolveriterations.txt
@@ -0,0 +1,4 @@
+#title setConstraintSolverIterations [RCBasic Doc]
+#header sub setConstraintSolverIterations( constraint_id, num)
+
+Sets the value for the number of solver iterations that have been overridden for a specific constraint or actor. Solver iterations refer to the number of times the physics engine solves for constraint forces during each simulation step.
diff --git a/doc/nw/out/sethingeaxis.txt b/doc/nw/out/sethingeaxis.txt
new file mode 100644
index 0000000..ae9a408
--- /dev/null
+++ b/doc/nw/out/sethingeaxis.txt
@@ -0,0 +1,7 @@
+#title setHingeAxis [RCBasic Doc]
+#header sub setHingeAxis( constraint_id, x, y, z)
+
+Defines the axis of rotation around which the hinge constraint allows the connected actors to rotate. This function is essential for establishing how the two actors will interact in terms of rotational motion.
+
+The axis of rotation defines the direction in which the hinge can rotate. For example, if you want a door to swing open, you would set the axis to be perpendicular to the plane of the door and aligned with the hinge line.
+
diff --git a/doc/nw/out/setpointpivota.txt b/doc/nw/out/setpointpivota.txt
new file mode 100644
index 0000000..ab8b377
--- /dev/null
+++ b/doc/nw/out/setpointpivota.txt
@@ -0,0 +1,6 @@
+#title setPointPivotA [RCBasic Doc]
+#header sub setPointPivotA( constraint_id, x, y, z)
+
+Sets the pivot point on the first actor (Body A) of the constraint. This pivot point defines the specific location in the local space of Body A where the point-to-point constraint is anchored.
+
+#ref GetPointPivotA SetPointPivotB
diff --git a/doc/nw/out/setpointpivotb.txt b/doc/nw/out/setpointpivotb.txt
new file mode 100644
index 0000000..275a6b8
--- /dev/null
+++ b/doc/nw/out/setpointpivotb.txt
@@ -0,0 +1,7 @@
+#title setPointPivotB [RCBasic Doc]
+#header sub setPointPivotB( constraint_id, x, y, z)
+
+Sets the pivot point on the second actor (Body B) of the constraint. This pivot point defines the specific location in the local space of Body B where the point-to-point constraint is anchored.
+
+#ref GetPointPivotA SetPointPivotB
+
diff --git a/doc/nw/out/setslidedampingdirang.txt b/doc/nw/out/setslidedampingdirang.txt
new file mode 100644
index 0000000..ff4580b
--- /dev/null
+++ b/doc/nw/out/setslidedampingdirang.txt
@@ -0,0 +1,6 @@
+#title setSlideDampingDirAng [RCBasic Doc]
+#header sub setSlideDampingDirAng( constraint_id, n)
+
+Sets the angular directional damping value. This damping factor specifically affects angular motion in the direction of movement along the constraint's axes.
+
+
diff --git a/doc/nw/out/setslidedampingdirlin.txt b/doc/nw/out/setslidedampingdirlin.txt
new file mode 100644
index 0000000..2949b56
--- /dev/null
+++ b/doc/nw/out/setslidedampingdirlin.txt
@@ -0,0 +1,5 @@
+#title setSlideDampingDirLin [RCBasic Doc]
+#header sub setSlideDampingDirLin( constraint_id, n)
+
+Sets the linear directional damping value for a constraint. This value applies to the linear (translational) motion of an object along the constraint's axis of movement.
+
diff --git a/doc/nw/out/setslidedampinglimang.txt b/doc/nw/out/setslidedampinglimang.txt
new file mode 100644
index 0000000..868cd93
--- /dev/null
+++ b/doc/nw/out/setslidedampinglimang.txt
@@ -0,0 +1,8 @@
+#title setSlideDampingLimAng [RCBasic Doc]
+#header sub setSlideDampingLimAng( constraint_id, n)
+
+Sets the angular limit damping factor for a constraint. This damping applies specifically to the angular motion of an object when it reaches the limit of its allowed rotational range.
+
+
+#ref GetSlideDampingLimAng
+
diff --git a/doc/nw/out/setslidedampinglimlin.txt b/doc/nw/out/setslidedampinglimlin.txt
new file mode 100644
index 0000000..783dfb7
--- /dev/null
+++ b/doc/nw/out/setslidedampinglimlin.txt
@@ -0,0 +1,7 @@
+#title setSlideDampingLimLin [RCBasic Doc]
+#header sub setSlideDampingLimLin( constraint_id, n)
+
+Sets the linear limit damping factor for a constraint. This damping applies specifically to the linear (translational) motion of an object when it reaches the limit of its allowed range of movement along a specific axis.
+
+#ref GetSlideDampingLimLin
+
diff --git a/doc/nw/out/setslidedampingorthoang.txt b/doc/nw/out/setslidedampingorthoang.txt
new file mode 100644
index 0000000..0c41854
--- /dev/null
+++ b/doc/nw/out/setslidedampingorthoang.txt
@@ -0,0 +1,6 @@
+#title setSlideDampingOrthoAng [RCBasic Doc]
+#header sub setSlideDampingOrthoAng( constraint_id, n)
+
+Sets the orthogonal angular damping factor applied to a constraint. This damping affects angular (rotational) motion that occurs perpendicular to the primary axis of movement defined by the constraint.
+
+#ref GetSlideDampingOrthoAng
diff --git a/doc/nw/out/setslidedampingortholin.txt b/doc/nw/out/setslidedampingortholin.txt
new file mode 100644
index 0000000..d1b741c
--- /dev/null
+++ b/doc/nw/out/setslidedampingortholin.txt
@@ -0,0 +1,6 @@
+#title setSlideDampingOrthoLin [RCBasic Doc]
+#header sub setSlideDampingOrthoLin( constraint_id, n)
+
+Sets the orthogonal linear damping factor for a constraint. This damping affects the linear (translational) motion of an object that occurs perpendicular to the primary direction of movement defined by the constraint.
+
+#ref GetSlideDampingOrthoLin
diff --git a/doc/nw/out/setslideloweranglimit.txt b/doc/nw/out/setslideloweranglimit.txt
new file mode 100644
index 0000000..656e6b5
--- /dev/null
+++ b/doc/nw/out/setslideloweranglimit.txt
@@ -0,0 +1,8 @@
+#title SetSlideLowerAngLimit [RCBasic Doc]
+#header sub SetSlideLowerAngLimit( constraint_id, n)
+
+Sets the lower angular limit of the constraint. This value specifies the minimum angle allowed for the rotation of the connected actors around the axis perpendicular to the sliding direction defined by the slider constraint.
+
+The lower angular limit indicates the smallest angle that the actors can rotate about the axis perpendicular to the sliding direction. If the rotation tries to exceed this limit, the physics engine will apply corrective forces to maintain the bodies within the allowed range.
+
+#ref GetSlideLowerAngLimit
diff --git a/doc/nw/out/setslidelowerlinlimit.txt b/doc/nw/out/setslidelowerlinlimit.txt
new file mode 100644
index 0000000..84f67f5
--- /dev/null
+++ b/doc/nw/out/setslidelowerlinlimit.txt
@@ -0,0 +1,8 @@
+#title setSlideLowerLinLimit [RCBasic Doc]
+#header sub setSlideLowerLinLimit( constraint_id, n)
+
+Sets the lower linear limit for the translational (sliding) motion along the slider's axis. This value specifies the minimum allowable position for the connected actors along the defined axis of the slider constraint.
+
+This defines the minimum translation distance along the slider’s axis that the connected actors are allowed to reach. If the actors' relative position along the axis goes below this limit, the constraint will prevent further movement.
+
+#ref GetSlideLowerLinLimit
diff --git a/doc/nw/out/setsliderestitutiondirang.txt b/doc/nw/out/setsliderestitutiondirang.txt
new file mode 100644
index 0000000..4fa9e21
--- /dev/null
+++ b/doc/nw/out/setsliderestitutiondirang.txt
@@ -0,0 +1,8 @@
+#title setSlideRestitutionDirAng [RCBasic Doc]
+#header sub setSlideRestitutionDirAng( constraint_id, n)
+
+Sets the restitution value for angular motion. The restitution coefficient is a measure of how much energy is conserved in a collision or constraint interaction, specifically for angular movements.
+
+When actors collide or interact, their angular momentum and position can change, and the restitution value governs how much of that energy is retained after the interaction.
+
+#ref GetSlideRestitutionDirAng
diff --git a/doc/nw/out/setsliderestitutiondirlin.txt b/doc/nw/out/setsliderestitutiondirlin.txt
new file mode 100644
index 0000000..28e1eee
--- /dev/null
+++ b/doc/nw/out/setsliderestitutiondirlin.txt
@@ -0,0 +1,8 @@
+#title setSlideRestitutionDirLin [RCBasic Doc]
+#header sub setSlideRestitutionDirLin( constraint_id, n)
+
+Sets the restitution value for linear motion. This value determines how much energy is conserved in a collision or interaction involving linear movements of the connected actors.
+
+When the actors collide or interact, the restitution value dictates how much of their energy is retained after the interaction.
+
+#ref SetSlideRestitutionDirLin
diff --git a/doc/nw/out/setsliderestitutionlimang.txt b/doc/nw/out/setsliderestitutionlimang.txt
new file mode 100644
index 0000000..f819d63
--- /dev/null
+++ b/doc/nw/out/setsliderestitutionlimang.txt
@@ -0,0 +1,8 @@
+#title setSlideRestitutionLimAng [RCBasic Doc]
+#header sub setSlideRestitutionLimAng( constraint_id, n)
+
+Sets the restitution value for angular limit. This value determines how much energy is conserved when the angular motion of the connected actors reaches the angular limits of the slider constraint. Essentially, it controls how "bouncy" the rotation is when it hits the angular limit of the constraint.
+
+A value of 0.0 means no bounce (perfectly inelastic), while a value of 1.0 allows maximum bounce (perfectly elastic).
+
+#ref GetSlideRestitutionLimAng
diff --git a/doc/nw/out/setsliderestitutionlimlin.txt b/doc/nw/out/setsliderestitutionlimlin.txt
new file mode 100644
index 0000000..7d58d50
--- /dev/null
+++ b/doc/nw/out/setsliderestitutionlimlin.txt
@@ -0,0 +1,8 @@
+#title setSlideRestitutionLimLin [RCBasic Doc]
+#header sub setSlideRestitutionLimLin( constraint_id, n)
+
+Sets the restitution value for the linear limit of the constraint. This value controls how much energy is conserved (or how "bouncy" the interaction is) when the connected actors reach the linear limits of the slider constraint, which restricts the movement along the sliding axis.
+
+Restitution is a measure of how much energy is retained after a collision or interaction. In this context, when the linear movement reaches the limits, restitution controls how much the actors "bounce" back. A restitution value of 0.0 means no bounce (the collision is perfectly inelastic), and 1.0 allows maximum bounce (the collision is perfectly elastic).
+
+#ref GetSlideRestitutionLimLin
diff --git a/doc/nw/out/setsliderestitutionorthoang.txt b/doc/nw/out/setsliderestitutionorthoang.txt
new file mode 100644
index 0000000..30b7767
--- /dev/null
+++ b/doc/nw/out/setsliderestitutionorthoang.txt
@@ -0,0 +1,10 @@
+#title setSlideRestitutionOrthoAng [RCBasic Doc]
+#header sub setSlideRestitutionOrthoAng( constraint_id, n)
+
+Sets the restitution value for orthogonal angular motion. This value determines how much energy is conserved (or how "bouncy" the interaction is) when rotational movement occurs in a direction orthogonal (perpendicular) to the slider's primary axis of movement.
+
+Orthogonal Angular Motion: In the context of a slider constraint, orthogonal angular motion refers to rotational movement around axes that are perpendicular to the slider's main movement axis.
+
+Restitution: Restitution is a measure of how much energy is retained in a collision or interaction. A restitution value of 0.0 means no bounce (inelastic collision), and 1.0 means maximum bounce (elastic collision). For orthogonal angular motion, this describes how much bounce occurs after the rotational motion hits the constraints or limits in a perpendicular direction to the slider axis.
+
+#ref GetSlideRestitutionOrthoAng
diff --git a/doc/nw/out/setsliderestitutionortholin.txt b/doc/nw/out/setsliderestitutionortholin.txt
new file mode 100644
index 0000000..3cd9aa8
--- /dev/null
+++ b/doc/nw/out/setsliderestitutionortholin.txt
@@ -0,0 +1,10 @@
+#title setSlideRestitutionOrthoLin [RCBasic Doc]
+#header sub setSlideRestitutionOrthoLin( constraint_id, n)
+
+Sets the restitution value for orthogonal linear motion. This value determines how much energy is conserved (or how "bouncy" the interaction is) when linear motion occurs in a direction orthogonal (perpendicular) to the primary sliding axis of the constraint.
+
+Orthogonal Linear Motion: In the context of a slider constraint, orthogonal linear motion refers to translational movement along axes that are perpendicular to the main sliding axis of the constraint.
+
+Restitution: Restitution is a measure of how much energy is retained or conserved during a collision or interaction. A restitution value of 0.0 indicates no bounce (perfectly inelastic), while 1.0 indicates maximum bounce (perfectly elastic). For orthogonal linear motion, this value describes how much the actors bounce or retain energy when they hit limits or experience movement perpendicular to the slider’s main axis.
+
+#ref GetSlideRestitutionOrthoLin
diff --git a/doc/nw/out/setslidesoftnessdirang.txt b/doc/nw/out/setslidesoftnessdirang.txt
new file mode 100644
index 0000000..8daf00e
--- /dev/null
+++ b/doc/nw/out/setslidesoftnessdirang.txt
@@ -0,0 +1,8 @@
+#title setSlideSoftnessDirAng [RCBasic Doc]
+#header sub setSlideSoftnessDirAng( constraint_id, n)
+
+Sets the softness parameter for the angular motion of the constraint. This parameter is used to define how "soft" or "rigid" the limits of angular motion are, particularly when the angular limits are reached.
+
+The softness parameter defines how smoothly the constraint responds to limit violations. A higher softness value allows for more gradual movements when limits are approached, while a lower value creates a more rigid response. Softness is particularly useful in simulations to avoid harsh impacts or stiff movements when limits are reached.
+
+#ref GetSlideSoftnessDirAng
diff --git a/doc/nw/out/setslidesoftnessdirlin.txt b/doc/nw/out/setslidesoftnessdirlin.txt
new file mode 100644
index 0000000..e82c723
--- /dev/null
+++ b/doc/nw/out/setslidesoftnessdirlin.txt
@@ -0,0 +1,8 @@
+#title setConstraintSoftnessDirLin [RCBasic Doc]
+#header sub setConstraintSoftnessDirLin( constraint_id, n)
+
+Sets the softness parameter for the linear motion of the constraint. This parameter influences how the constraint responds when the linear limits of movement are reached along the sliding axis, determining whether the response is soft and gradual or more rigid.
+
+In the context of constraints, softness defines how "compliant" or "stiff" the constraint behaves when the limits are approached. A higher softness value makes the constraint respond more softly and gradually as the limit is approached, while a lower value makes the response stiffer and more rigid.
+
+#ref GetSlideSoftnessDirLin
diff --git a/doc/nw/out/setslidesoftnesslimang.txt b/doc/nw/out/setslidesoftnesslimang.txt
new file mode 100644
index 0000000..d806c20
--- /dev/null
+++ b/doc/nw/out/setslidesoftnesslimang.txt
@@ -0,0 +1,8 @@
+#title setSlideSoftnessLimAng [RCBasic Doc]
+#header sub setSlideSoftnessLimAng( constraint_id, n)
+
+Sets the softness parameter for the angular limits of the constraint. This parameter affects how "soft" or "rigid" the constraint behaves when the connected actors reach their angular rotational limits around the slider's axis of rotation.
+
+The softness parameter defines how compliant or stiff the constraint behaves when the motion approaches a limit. A higher softness makes the constraint more flexible, allowing for smoother motion near the limit. A lower softness makes the limit response more rigid and immediate.
+
+#ref GetSlideSoftnessLimAng
diff --git a/doc/nw/out/setslidesoftnesslimlin.txt b/doc/nw/out/setslidesoftnesslimlin.txt
new file mode 100644
index 0000000..7461c5b
--- /dev/null
+++ b/doc/nw/out/setslidesoftnesslimlin.txt
@@ -0,0 +1,8 @@
+#title setSlideSoftnessLimLin [RCBasic Doc]
+#header sub setSlideSoftnessLimLin( constraint_id, n)
+
+Sets the softness parameter for the linear limits of the constraint. This parameter influences how "soft" or "rigid" the constraint behaves when the connected actors reach their linear (sliding) limits along the constraint's axis of motion.
+
+The softness parameter defines how compliant or stiff the constraint behaves when limits are approached. A higher softness value allows for a more gradual and flexible response as the limit is reached, while a lower softness value results in a stiffer and more rigid response.
+
+#ref GetSlideSoftnessLimLin
diff --git a/doc/nw/out/setslidesoftnessorthoang.txt b/doc/nw/out/setslidesoftnessorthoang.txt
new file mode 100644
index 0000000..bc33d25
--- /dev/null
+++ b/doc/nw/out/setslidesoftnessorthoang.txt
@@ -0,0 +1,8 @@
+#title setSlideSoftnessOrthoAng [RCBasic Doc]
+#header sub setSlideSoftnessOrthoAng( constraint_id, n)
+
+Sets the softness parameter for the orthogonal angular limits of the constraint. This parameter controls how "soft" or "rigid" the constraint behaves when angular rotation is limited along directions orthogonal (perpendicular) to the primary axis of motion.
+
+The softness parameter defines how compliant (soft) or stiff (rigid) the constraint behaves when the bodies approach their angular or linear limits. A higher softness value makes the limit more flexible, allowing for gradual motion, while a lower value makes the limit more rigid and restrictive.
+
+#ref GetSlideSoftnessOrthoAng
diff --git a/doc/nw/out/setslidesoftnessortholin.txt b/doc/nw/out/setslidesoftnessortholin.txt
new file mode 100644
index 0000000..f2f2ad8
--- /dev/null
+++ b/doc/nw/out/setslidesoftnessortholin.txt
@@ -0,0 +1,8 @@
+#title setConstraintSoftnessOrthoLin [RCBasic Doc]
+#header sub setSlideSoftnessOrthoLin( constraint_id, n)
+
+Sets the softness parameter for the orthogonal linear limits of the constraint. This parameter affects how "soft" or "rigid" the constraint behaves when the connected actors approach their linear movement limits in directions that are orthogonal (perpendicular) to the primary sliding axis.
+
+The softness parameter determines how rigid or compliant the constraint is when the actors approach their movement limits. A higher softness value allows for smoother, more flexible movement near the limit, while a lower value results in a more rigid, immediate response.
+
+#ref GetSlideSoftnessOrthoLin
diff --git a/doc/nw/out/setslideupperanglimit.txt b/doc/nw/out/setslideupperanglimit.txt
new file mode 100644
index 0000000..469d8da
--- /dev/null
+++ b/doc/nw/out/setslideupperanglimit.txt
@@ -0,0 +1,6 @@
+#title setSlideUpperAngLimit [RCBasic Doc]
+#header sub setSlideUpperAngLimit( constraint_id, n)
+
+Sets the upper limit of the angular movement allowed for the constraint. This function is crucial for determining how much rotational freedom is allowed around the axis of rotation defined by the slider constraint.
+
+The upper angular limit specifies the maximum allowed rotation around the rotational axis for the slider constraint. If the relative rotation between the two actors exceeds this angle, corrective forces are applied to maintain the constraint and prevent further rotation.
diff --git a/doc/nw/out/setslideupperlinlimit.txt b/doc/nw/out/setslideupperlinlimit.txt
new file mode 100644
index 0000000..42d58c1
--- /dev/null
+++ b/doc/nw/out/setslideupperlinlimit.txt
@@ -0,0 +1,6 @@
+#title setSlideUpperLinLimit [RCBasic Doc]
+#header sub setSlideUpperLinLimit( constraint_id, n)
+
+Sets the upper limit for linear movement along the constraint's axis. This is a crucial function for controlling how far the connected actors can slide along that axis before the constraint enforces limits.
+
+The upper linear limit specifies the maximum distance that the connected actors can move away from each other along the slider's axis. If the relative movement exceeds this limit, the constraint will apply corrective forces to stop further movement.
diff --git a/doc/nw/setconstraintaxis.txt b/doc/nw/setconstraintaxis.txt
new file mode 100644
index 0000000..2f30401
--- /dev/null
+++ b/doc/nw/setconstraintaxis.txt
@@ -0,0 +1,4 @@
+#title setConstraintAxis [RCBasic Doc]
+#header sub setConstraintAxis( constraint_id, x, y, z)
+
+
diff --git a/doc/nw/setconstraintbreakingimpulsethreshold.txt b/doc/nw/setconstraintbreakingimpulsethreshold.txt
new file mode 100644
index 0000000..a546aa4
--- /dev/null
+++ b/doc/nw/setconstraintbreakingimpulsethreshold.txt
@@ -0,0 +1,7 @@
+#title setConstraintBreakingImpulseThreshold [RCBasic Doc]
+#header sub setConstraintBreakingImpulseThreshold( constraint_id, threshold)
+
+Sets the breaking impulse threshold for a given constraint. The breaking impulse threshold defines the maximum force (impulse) a constraint can withstand before it "breaks," meaning that the constraint will be deactivated and no longer enforce its rules.
+
+#ref GetConstraintBreakingImpulseThreshold
+
diff --git a/doc/nw/setconstraintdamping.txt b/doc/nw/setconstraintdamping.txt
new file mode 100644
index 0000000..b495d71
--- /dev/null
+++ b/doc/nw/setconstraintdamping.txt
@@ -0,0 +1,8 @@
+#title setConstraintDamping [RCBasic Doc]
+#header sub setConstraintDamping( constraint_id, damping)
+
+Returns the damping factor applied to the constraint. Damping is used to reduce the amount of oscillation or unwanted movement (such as excessive rotation or swinging) around the constrained actor's axes.
+
+Note: Only applies to cone constraint
+
+# SetConstraintDamping
diff --git a/doc/nw/setconstraintdampingdirang.txt b/doc/nw/setconstraintdampingdirang.txt
new file mode 100644
index 0000000..b69838d
--- /dev/null
+++ b/doc/nw/setconstraintdampingdirang.txt
@@ -0,0 +1,8 @@
+#title setConstraintDampingDirAng [RCBasic Doc]
+#header sub setConstraintDampingDirAng( constraint_id, n)
+
+Returns the angular directional damping value. This damping factor specifically affects angular motion in the direction of movement along the constraint's axes.
+
+Note: Only applies to slider constraint
+
+#ref SetConstraintDampingDirAng
diff --git a/doc/nw/setconstraintdampingdirlin.txt b/doc/nw/setconstraintdampingdirlin.txt
new file mode 100644
index 0000000..14e8a79
--- /dev/null
+++ b/doc/nw/setconstraintdampingdirlin.txt
@@ -0,0 +1,8 @@
+#title setConstraintDampingDirLin [RCBasic Doc]
+#header sub setConstraintDampingDirLin( constraint_id, n)
+
+Sets the linear directional damping value for a constraint. This value applies to the linear (translational) motion of an object along the constraint's axis of movement.
+
+Note: Only applies to slide constraints
+
+#ref SetConstraintDampingDirLin
diff --git a/doc/nw/setconstraintdampinglimang.txt b/doc/nw/setconstraintdampinglimang.txt
new file mode 100644
index 0000000..90dca6f
--- /dev/null
+++ b/doc/nw/setconstraintdampinglimang.txt
@@ -0,0 +1,9 @@
+#title setConstraintDampingLimAng [RCBasic Doc]
+#header sub setConstraintDampingLimAng( constraint_id, n)
+
+Sets the angular limit damping factor for a constraint. This damping applies specifically to the angular motion of an object when it reaches the limit of its allowed rotational range.
+
+Note: Only applies to slide constraint
+
+#ref GetConstraintDampingLimAng
+
diff --git a/doc/nw/setconstraintdampinglimlin.txt b/doc/nw/setconstraintdampinglimlin.txt
new file mode 100644
index 0000000..16ae248
--- /dev/null
+++ b/doc/nw/setconstraintdampinglimlin.txt
@@ -0,0 +1,9 @@
+#title setConstraintDampingLimLin [RCBasic Doc]
+#header sub setConstraintDampingLimLin( constraint_id, n)
+
+Sets the linear limit damping factor for a constraint. This damping applies specifically to the linear (translational) motion of an object when it reaches the limit of its allowed range of movement along a specific axis.
+
+Note: Only applies to slide constraint
+
+#ref GetConstraintDampingLimLin
+
diff --git a/doc/nw/setconstraintdampingorthoang.txt b/doc/nw/setconstraintdampingorthoang.txt
new file mode 100644
index 0000000..9ab4d9a
--- /dev/null
+++ b/doc/nw/setconstraintdampingorthoang.txt
@@ -0,0 +1,8 @@
+#title setConstraintDampingOrthoAng [RCBasic Doc]
+#header sub setConstraintDampingOrthoAng( constraint_id, n)
+
+Sets the orthogonal angular damping factor applied to a constraint. This damping affects angular (rotational) motion that occurs perpendicular to the primary axis of movement defined by the constraint.
+
+Note: Only applies to slide constraint
+
+#ref GetConstraintDampingOrthoAng
diff --git a/doc/nw/setconstraintdampingortholin.txt b/doc/nw/setconstraintdampingortholin.txt
new file mode 100644
index 0000000..b94ca89
--- /dev/null
+++ b/doc/nw/setconstraintdampingortholin.txt
@@ -0,0 +1,8 @@
+#title setConstraintDampingOrthoLin [RCBasic Doc]
+#header sub setConstraintDampingOrthoLin( constraint_id, n)
+
+Sets the orthogonal linear damping factor for a constraint. This damping affects the linear (translational) motion of an object that occurs perpendicular to the primary direction of movement defined by the constraint.
+
+Note: Only applies to slide constraint
+
+#ref SetConstraintDampingOrthoLin
diff --git a/doc/nw/setconstraintfixthresh.txt b/doc/nw/setconstraintfixthresh.txt
new file mode 100644
index 0000000..8074cd6
--- /dev/null
+++ b/doc/nw/setconstraintfixthresh.txt
@@ -0,0 +1,9 @@
+#title setConstraintFixThresh [RCBasic Doc]
+#header sub setConstraintFixThresh( constraint_id, fixThresh)
+
+Sets the fix threshold value associated with that constraint. This threshold is used to control how the constraint behaves when the angle of the rotation between the actors approaches the limits defined by the cone twist constraint.
+
+The fix threshold defines a limit or tolerance for how closely the angle between the two actors can approach the constraint's limits before corrective actions are taken. When the angular motion exceeds this threshold, the constraint applies corrective forces to bring the motion back within the allowed range.
+
+#ref GetConstraintFixThresh
+
diff --git a/doc/nw/setconstraintframes.txt b/doc/nw/setconstraintframes.txt
new file mode 100644
index 0000000..554e0a8
--- /dev/null
+++ b/doc/nw/setconstraintframes.txt
@@ -0,0 +1,4 @@
+#title setConstraintFrames [RCBasic Doc]
+#header sub setConstraintFrames( constraint_id, frameA_matrix, frameB_matrix)
+
+
diff --git a/doc/nw/setconstraintloweranglimit.txt b/doc/nw/setconstraintloweranglimit.txt
new file mode 100644
index 0000000..3881608
--- /dev/null
+++ b/doc/nw/setconstraintloweranglimit.txt
@@ -0,0 +1,4 @@
+#title setConstraintLowerAngLimit [RCBasic Doc]
+#header sub setConstraintLowerAngLimit( constraint_id, n)
+
+
diff --git a/doc/nw/setconstraintlowerlinlimit.txt b/doc/nw/setconstraintlowerlinlimit.txt
new file mode 100644
index 0000000..3ad7a53
--- /dev/null
+++ b/doc/nw/setconstraintlowerlinlimit.txt
@@ -0,0 +1,4 @@
+#title setConstraintLowerLinLimit [RCBasic Doc]
+#header sub setConstraintLowerLinLimit( constraint_id, n)
+
+
diff --git a/doc/nw/setconstraintpivota.txt b/doc/nw/setconstraintpivota.txt
new file mode 100644
index 0000000..48b87d8
--- /dev/null
+++ b/doc/nw/setconstraintpivota.txt
@@ -0,0 +1,4 @@
+#title setConstraintPivotA [RCBasic Doc]
+#header sub setConstraintPivotA( constraint_id, x, y, z)
+
+
diff --git a/doc/nw/setconstraintpivotb.txt b/doc/nw/setconstraintpivotb.txt
new file mode 100644
index 0000000..b75cd89
--- /dev/null
+++ b/doc/nw/setconstraintpivotb.txt
@@ -0,0 +1,4 @@
+#title setConstraintPivotB [RCBasic Doc]
+#header sub setConstraintPivotB( constraint_id, x, y, z)
+
+
diff --git a/doc/nw/setconstraintrestitutiondirang.txt b/doc/nw/setconstraintrestitutiondirang.txt
new file mode 100644
index 0000000..0180b56
--- /dev/null
+++ b/doc/nw/setconstraintrestitutiondirang.txt
@@ -0,0 +1,4 @@
+#title setConstraintRestitutionDirAng [RCBasic Doc]
+#header sub setConstraintRestitutionDirAng( constraint_id, n)
+
+
diff --git a/doc/nw/setconstraintrestitutiondirlin.txt b/doc/nw/setconstraintrestitutiondirlin.txt
new file mode 100644
index 0000000..b41b9bd
--- /dev/null
+++ b/doc/nw/setconstraintrestitutiondirlin.txt
@@ -0,0 +1,4 @@
+#title setConstraintRestitutionDirLin [RCBasic Doc]
+#header sub setConstraintRestitutionDirLin( constraint_id, n)
+
+
diff --git a/doc/nw/setconstraintrestitutionlimang.txt b/doc/nw/setconstraintrestitutionlimang.txt
new file mode 100644
index 0000000..bd0f13a
--- /dev/null
+++ b/doc/nw/setconstraintrestitutionlimang.txt
@@ -0,0 +1,4 @@
+#title setConstraintRestitutionLimAng [RCBasic Doc]
+#header sub setConstraintRestitutionLimAng( constraint_id, n)
+
+
diff --git a/doc/nw/setconstraintrestitutionlimlin.txt b/doc/nw/setconstraintrestitutionlimlin.txt
new file mode 100644
index 0000000..08ca5c5
--- /dev/null
+++ b/doc/nw/setconstraintrestitutionlimlin.txt
@@ -0,0 +1,4 @@
+#title setConstraintRestitutionLimLin [RCBasic Doc]
+#header sub setConstraintRestitutionLimLin( constraint_id, n)
+
+
diff --git a/doc/nw/setconstraintrestitutionorthoang.txt b/doc/nw/setconstraintrestitutionorthoang.txt
new file mode 100644
index 0000000..b61ff84
--- /dev/null
+++ b/doc/nw/setconstraintrestitutionorthoang.txt
@@ -0,0 +1,4 @@
+#title setConstraintRestitutionOrthoAng [RCBasic Doc]
+#header sub setConstraintRestitutionOrthoAng( constraint_id, n)
+
+
diff --git a/doc/nw/setconstraintrestitutionortholin.txt b/doc/nw/setconstraintrestitutionortholin.txt
new file mode 100644
index 0000000..823363e
--- /dev/null
+++ b/doc/nw/setconstraintrestitutionortholin.txt
@@ -0,0 +1,4 @@
+#title setConstraintRestitutionOrthoLin [RCBasic Doc]
+#header sub setConstraintRestitutionOrthoLin( constraint_id, n)
+
+
diff --git a/doc/nw/setconstraintsoftnessdirang.txt b/doc/nw/setconstraintsoftnessdirang.txt
new file mode 100644
index 0000000..cadb266
--- /dev/null
+++ b/doc/nw/setconstraintsoftnessdirang.txt
@@ -0,0 +1,4 @@
+#title setConstraintSoftnessDirAng [RCBasic Doc]
+#header sub setConstraintSoftnessDirAng( constraint_id, n)
+
+
diff --git a/doc/nw/setconstraintsoftnessdirlin.txt b/doc/nw/setconstraintsoftnessdirlin.txt
new file mode 100644
index 0000000..3175a26
--- /dev/null
+++ b/doc/nw/setconstraintsoftnessdirlin.txt
@@ -0,0 +1,4 @@
+#title setConstraintSoftnessDirLin [RCBasic Doc]
+#header sub setConstraintSoftnessDirLin( constraint_id, n)
+
+
diff --git a/doc/nw/setconstraintsoftnesslimang.txt b/doc/nw/setconstraintsoftnesslimang.txt
new file mode 100644
index 0000000..d95a1dd
--- /dev/null
+++ b/doc/nw/setconstraintsoftnesslimang.txt
@@ -0,0 +1,4 @@
+#title setConstraintSoftnessLimAng [RCBasic Doc]
+#header sub setConstraintSoftnessLimAng( constraint_id, n)
+
+
diff --git a/doc/nw/setconstraintsoftnesslimlin.txt b/doc/nw/setconstraintsoftnesslimlin.txt
new file mode 100644
index 0000000..9ad9c87
--- /dev/null
+++ b/doc/nw/setconstraintsoftnesslimlin.txt
@@ -0,0 +1,4 @@
+#title setConstraintSoftnessLimLin [RCBasic Doc]
+#header sub setConstraintSoftnessLimLin( constraint_id, n)
+
+
diff --git a/doc/nw/setconstraintsoftnessorthoang.txt b/doc/nw/setconstraintsoftnessorthoang.txt
new file mode 100644
index 0000000..7d6ec32
--- /dev/null
+++ b/doc/nw/setconstraintsoftnessorthoang.txt
@@ -0,0 +1,4 @@
+#title setConstraintSoftnessOrthoAng [RCBasic Doc]
+#header sub setConstraintSoftnessOrthoAng( constraint_id, n)
+
+
diff --git a/doc/nw/setconstraintsoftnessortholin.txt b/doc/nw/setconstraintsoftnessortholin.txt
new file mode 100644
index 0000000..aa87256
--- /dev/null
+++ b/doc/nw/setconstraintsoftnessortholin.txt
@@ -0,0 +1,4 @@
+#title setConstraintSoftnessOrthoLin [RCBasic Doc]
+#header sub setConstraintSoftnessOrthoLin( constraint_id, n)
+
+
diff --git a/doc/nw/setconstraintsolveriterations.txt b/doc/nw/setconstraintsolveriterations.txt
new file mode 100644
index 0000000..6c375bb
--- /dev/null
+++ b/doc/nw/setconstraintsolveriterations.txt
@@ -0,0 +1,4 @@
+#title setConstraintSolverIterations [RCBasic Doc]
+#header sub setConstraintSolverIterations( constraint_id, num)
+
+
diff --git a/doc/nw/setconstraintupperanglimit.txt b/doc/nw/setconstraintupperanglimit.txt
new file mode 100644
index 0000000..da069a7
--- /dev/null
+++ b/doc/nw/setconstraintupperanglimit.txt
@@ -0,0 +1,4 @@
+#title setConstraintUpperAngLimit [RCBasic Doc]
+#header sub setConstraintUpperAngLimit( constraint_id, n)
+
+
diff --git a/doc/nw/setconstraintupperlinlimit.txt b/doc/nw/setconstraintupperlinlimit.txt
new file mode 100644
index 0000000..b896f16
--- /dev/null
+++ b/doc/nw/setconstraintupperlinlimit.txt
@@ -0,0 +1,4 @@
+#title setConstraintUpperLinLimit [RCBasic Doc]
+#header sub setConstraintUpperLinLimit( constraint_id, n)
+
+
diff --git a/doc/nw/setsliderestitutionortholin.txt b/doc/nw/setsliderestitutionortholin.txt
new file mode 100644
index 0000000..3cd9aa8
--- /dev/null
+++ b/doc/nw/setsliderestitutionortholin.txt
@@ -0,0 +1,10 @@
+#title setSlideRestitutionOrthoLin [RCBasic Doc]
+#header sub setSlideRestitutionOrthoLin( constraint_id, n)
+
+Sets the restitution value for orthogonal linear motion. This value determines how much energy is conserved (or how "bouncy" the interaction is) when linear motion occurs in a direction orthogonal (perpendicular) to the primary sliding axis of the constraint.
+
+Orthogonal Linear Motion: In the context of a slider constraint, orthogonal linear motion refers to translational movement along axes that are perpendicular to the main sliding axis of the constraint.
+
+Restitution: Restitution is a measure of how much energy is retained or conserved during a collision or interaction. A restitution value of 0.0 indicates no bounce (perfectly inelastic), while 1.0 indicates maximum bounce (perfectly elastic). For orthogonal linear motion, this value describes how much the actors bounce or retain energy when they hit limits or experience movement perpendicular to the slider’s main axis.
+
+#ref GetSlideRestitutionOrthoLin
diff --git a/rcbasic_build/intern_inc/switch_cases.h b/rcbasic_build/intern_inc/switch_cases.h
index 26545ae..b0f6b90 100644
--- a/rcbasic_build/intern_inc/switch_cases.h
+++ b/rcbasic_build/intern_inc/switch_cases.h
@@ -1,6 +1,6 @@
rc_fprint( FPRINT_TXT$ )
rc_input( INPUT$_PROMPT$ )
-rc_tst( &TST_X )
+rc_tst( )
#/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_inc/exceptions/rc_arrayDim.h
#/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_inc/exceptions/rc_stringArrayDim.h
#/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_inc/exceptions/rc_numberArrayDim.h
@@ -175,7 +175,7 @@ rc_flashWindow( FLASHWINDOW_FLAG )
rc_windowIsGrabbed( )
rc_canvasOpen( OPENCANVAS_W, OPENCANVAS_H, OPENCANVAS_VIEWPORT_X, OPENCANVAS_VIEWPORT_Y, OPENCANVAS_VIEWPORT_W, OPENCANVAS_VIEWPORT_H, OPENCANVAS_MODE )
rc_canvasClose( CLOSECANVAS_C_NUM )
-rc_setCanvas3D( SETCANVAS3D_C_NUM, SETCANVAS3D_FLAG )
+rc_canvasOpen3D( OPENCANVAS3D_W, OPENCANVAS3D_H, OPENCANVAS3D_VIEWPORT_X, OPENCANVAS3D_VIEWPORT_Y, OPENCANVAS3D_VIEWPORT_W, OPENCANVAS3D_VIEWPORT_H, OPENCANVAS3D_MODE )
rc_setCanvasVisible( SETCANVASVISIBLE_C_NUM, SETCANVASVISIBLE_FLAG )
rc_canvasIsVisible( CANVASISVISIBLE_C_NUM )
rc_setCanvasViewport( SETCANVASVIEWPORT_CNUM, SETCANVASVIEWPORT_X, SETCANVASVIEWPORT_Y, SETCANVASVIEWPORT_W, SETCANVASVIEWPORT_H )
@@ -189,11 +189,13 @@ rc_setCanvasAlpha( SETCANVASALPHA_C_NUM, SETCANVASALPHA_A )
rc_canvasAlpha( GETCANVASALPHA_C_NUM )
rc_setCanvasColorMod( SETCANVASCOLORMOD_C_NUM, SETCANVASCOLORMOD_C )
rc_getCanvasColorMod( GETCANVASCOLORMOD_C_NUM )
-rc_cloneCanvas( CLONECANVAS_SRC, CLONECANVAS_DST )
+rc_cloneCanvas( CLONECANVAS_C_NUM, CLONECANVAS_MODE )
rc_setCanvasZ( SETCANVASZ_C_NUM, SETCANVASZ_Z )
rc_getCanvasZ( GETCANVASZ_C_NUM )
rc_canvasClip( CANVASCLIP_X, CANVASCLIP_Y, CANVASCLIP_W, CANVASCLIP_H )
rc_activeCanvas( )
+rc_setCanvasPhysics2D( SETCANVASPHYSICS2D_C_NUM, SETCANVASPHYSICS2D_STATE )
+rc_canvasOpenSpriteLayer( OPENSPRITECANVAS_W, OPENSPRITECANVAS_H, OPENSPRITECANVAS_VIEWPORT_X, OPENSPRITECANVAS_VIEWPORT_Y, OPENSPRITECANVAS_VIEWPORT_W, OPENSPRITECANVAS_VIEWPORT_H )
rc_drawCircle( CIRCLE_X, CIRCLE_Y, CIRCLE_RADIUS )
rc_drawCircleFill( CIRCLEFILL_X, CIRCLEFILL_Y, CIRCLEFILL_RADIUS )
rc_drawEllipse( ELLIPSE_X, ELLIPSE_Y, ELLIPSE_RX, ELLIPSE_RY )
@@ -212,7 +214,7 @@ rc_loadImage( LOADIMAGE_IMG$ )
rc_loadImageEx( LOADIMAGEEX_IMG$, LOADIMAGEEX_COLKEY )
rc_createImage( CREATEIMAGE_W, CREATEIMAGE_H, &CREATEIMAGE_BUFFER )
rc_createImageEx( CREATEIMAGEEX_W, CREATEIMAGEEX_H, &CREATEIMAGEEX_BUFFER, CREATEIMAGEEX_COLOR )
-rc_getImageBuffer( GETIMAGEBUFFER_IMG_ID, &GETIMAGEBUFFER_BUFFER )
+rc_getImageBuffer( BUFFERFROMIMAGE_SLOT, &BUFFERFROMIMAGE_BUFFER )
rc_imageExists( IMAGEEXISTS_SLOT )
rc_setColorKey( COLORKEY_SLOT, COLORKEY_C )
rc_setBilinearFilter( SETBILINEARFILTER_FLAG )
@@ -461,10 +463,11 @@ rc_createWaterPlaneActor( CREATEWATERPLANEACTOR_W, CREATEWATERPLANEACTOR_H )
rc_createLightActor( )
rc_createBillboardActor( )
rc_createTerrainActor( CREATETERRAINACTOR_HMAP_FILE$ )
+rc_createParticleActor( CREATEPARTICLEACTOR_PARTICLE_TYPE )
rc_deleteActor( DELETEACTOR_ACTOR )
rc_getActorTransform( GETACTORTRANSFORM_ACTOR, GETACTORTRANSFORM_MATRIX )
rc_setActorPosition( SETACTORPOSITION_ACTOR, SETACTORPOSITION_X, SETACTORPOSITION_Y, SETACTORPOSITION_Z )
-rc_translateActor( TRANSLATEACTOR_ACTOR, TRANSLATEACTOR_X, TRANSLATEACTOR_Y, TRANSLATEACTOR_Z )
+rc_translateActorLocal( TRANSLATEACTORLOCAL_ACTOR, TRANSLATEACTORLOCAL_X, TRANSLATEACTORLOCAL_Y, TRANSLATEACTORLOCAL_Z )
rc_translateActorWorld( TRANSLATEACTORWORLD_ACTOR, TRANSLATEACTORWORLD_X, TRANSLATEACTORWORLD_Y, TRANSLATEACTORWORLD_Z )
rc_getActorPosition( GETACTORPOSITION_ACTOR, &GETACTORPOSITION_X, &GETACTORPOSITION_Y, &GETACTORPOSITION_Z )
rc_setActorScale( SETACTORSCALE_ACTOR, SETACTORSCALE_X, SETACTORSCALE_Y, SETACTORSCALE_Z )
@@ -479,6 +482,7 @@ rc_setActorAutoCulling( SETACTORAUTOCULLING_ACTOR, SETACTORAUTOCULLING_CULL_TYP
rc_getActorAutoCulling( GETACTORAUTOCULLING_ACTOR )
rc_addActorShadow( ADDACTORSHADOW_ACTOR )
rc_removeActorShadow( REMOVEACTORSHADOW_ACTOR )
+rc_actorExists( ACTOREXISTS_ACTOR )
rc_setGravity3D( SETGRAVITY3D_X, SETGRAVITY3D_Y, SETGRAVITY3D_Z )
rc_getGravity3D( &GETGRAVITY3D_X, &GETGRAVITY3D_Y, &GETGRAVITY3D_Z )
rc_setActorCollisionShape( SETACTORCOLLISIONSHAPE_ACTOR, SETACTORCOLLISIONSHAPE_SHAPE_TYPE, SETACTORCOLLISIONSHAPE_MASS )
@@ -520,8 +524,8 @@ rc_clearActorForces( CLEARACTORFORCES_ACTOR )
rc_updateActorInertiaTensor( UPDATEACTORINERTIATENSOR_ACTOR )
rc_getActorCOMPosition( GETACTORCOMPOSITION_ACTOR, &GETACTORCOMPOSITION_X, &GETACTORCOMPOSITION_Y, &GETACTORCOMPOSITION_Z )
rc_getActorRotationQ( GETACTORROTATIONQ_ACTOR, &GETACTORROTATIONQ_X, &GETACTORROTATIONQ_Y, &GETACTORROTATIONQ_Z, &GETACTORROTATIONQ_W )
-rc_getActorLinearVelocity( GETACTORLINEARVELOCITY_ACTOR, &GETACTORLINEARVELOCITY_X, &GETACTORLINEARVELOCITY_Y, &GETACTORLINEARVELOCITY_Z )
-rc_getActorAngularVelocity( GETACTORANGULARVELOCITY_ACTOR, &GETACTORANGULARVELOCITY_X, &GETACTORANGULARVELOCITY_Y, &GETACTORANGULARVELOCITY_Z )
+rc_getActorLinearVelocityWorld( GETACTORLINEARVELOCITYWORLD_ACTOR, &GETACTORLINEARVELOCITYWORLD_X, &GETACTORLINEARVELOCITYWORLD_Y, &GETACTORLINEARVELOCITYWORLD_Z )
+rc_getActorAngularVelocityWorld( GETACTORANGULARVELOCITYWORLD_ACTOR, &GETACTORANGULARVELOCITYWORLD_X, &GETACTORANGULARVELOCITYWORLD_Y, &GETACTORANGULARVELOCITYWORLD_Z )
rc_setActorLinearVelocityLocal( SETACTORLINEARVELOCITYLOCAL_ACTOR, SETACTORLINEARVELOCITYLOCAL_X, SETACTORLINEARVELOCITYLOCAL_Y, SETACTORLINEARVELOCITYLOCAL_Z )
rc_setActorLinearVelocityWorld( SETACTORLINEARVELOCITYWORLD_ACTOR, SETACTORLINEARVELOCITYWORLD_X, SETACTORLINEARVELOCITYWORLD_Y, SETACTORLINEARVELOCITYWORLD_Z )
rc_setActorAngularVelocityLocal( SETACTORANGULARVELOCITYLOCAL_ACTOR, SETACTORANGULARVELOCITYLOCAL_X, SETACTORANGULARVELOCITYLOCAL_Y, SETACTORANGULARVELOCITYLOCAL_Z )
@@ -537,12 +541,13 @@ rc_getActorAngularFactor( GETACTORANGULARFACTOR_ACTOR, &GETACTORANGULARFACTOR_X
rc_computeActorGyroImpulseLocal( COMPUTEACTORGYROIMPULSELOCAL_ACTOR, COMPUTEACTORGYROIMPULSELOCAL_DT, &COMPUTEACTORGYROIMPULSELOCAL_X, &COMPUTEACTORGYROIMPULSELOCAL_Y, &COMPUTEACTORGYROIMPULSELOCAL_Z )
rc_computeActorGyroImpulseWorld( COMPUTEACTORGYROIMPULSEWORLD_ACTOR, COMPUTEACTORGYROIMPULSEWORLD_DT, &COMPUTEACTORGYROIMPULSEWORLD_X, &COMPUTEACTORGYROIMPULSEWORLD_Y, &COMPUTEACTORGYROIMPULSEWORLD_Z )
rc_getActorLocalInertia( GETACTORLOCALINERTIA_ACTOR, &GETACTORLOCALINERTIA_X, &GETACTORLOCALINERTIA_Y, &GETACTORLOCALINERTIA_Z )
+rc_setActorSleepState( SETACTORSLEEPSTATE_ACTOR, SETACTORSLEEPSTATE_STATE )
rc_createPointConstraint( CREATEPOINTCONSTRAINT_ACTORA, CREATEPOINTCONSTRAINT_PXA, CREATEPOINTCONSTRAINT_PYA, CREATEPOINTCONSTRAINT_PZA )
rc_createPointConstraintEx( CREATEPOINTCONSTRAINTEX_ACTORA, CREATEPOINTCONSTRAINTEX_ACTORB, CREATEPOINTCONSTRAINTEX_PXA, CREATEPOINTCONSTRAINTEX_PYA, CREATEPOINTCONSTRAINTEX_PZA, CREATEPOINTCONSTRAINTEX_PXB, CREATEPOINTCONSTRAINTEX_PYB, CREATEPOINTCONSTRAINTEX_PZB )
-rc_setConstraintPivotA( SETCONSTRAINTPIVOTA_CONSTRAINT_ID, SETCONSTRAINTPIVOTA_X, SETCONSTRAINTPIVOTA_Y, SETCONSTRAINTPIVOTA_Z )
-rc_setConstraintPivotB( SETCONSTRAINTPIVOTB_CONSTRAINT_ID, SETCONSTRAINTPIVOTB_X, SETCONSTRAINTPIVOTB_Y, SETCONSTRAINTPIVOTB_Z )
-rc_createHingeConstraint( CREATEHINGECONSTRAINT_ACTORA, CREATEHINGECONSTRAINT_PXA, CREATEHINGECONSTRAINT_PYA, CREATEHINGECONSTRAINT_PZA, CREATEHINGECONSTRAINT_AXA, CREATEHINGECONSTRAINT_AYA, CREATEHINGECONSTRAINT_AZA )
-rc_createHingeConstraintEx( CREATEHINGECONSTRAINTEX_ACTORA, CREATEHINGECONSTRAINTEX_ACTORB, CREATEHINGECONSTRAINTEX_PXA, CREATEHINGECONSTRAINTEX_PYA, CREATEHINGECONSTRAINTEX_PZA, CREATEHINGECONSTRAINTEX_PXB, CREATEHINGECONSTRAINTEX_PYB, CREATEHINGECONSTRAINTEX_PZB, CREATEHINGECONSTRAINTEX_AXA, CREATEHINGECONSTRAINTEX_AYA, CREATEHINGECONSTRAINTEX_AZA, CREATEHINGECONSTRAINTEX_AXB, CREATEHINGECONSTRAINTEX_AYB, CREATEHINGECONSTRAINTEX_AZB )
+rc_setPointPivotA( SETPOINTPIVOTA_CONSTRAINT_ID, SETPOINTPIVOTA_X, SETPOINTPIVOTA_Y, SETPOINTPIVOTA_Z )
+rc_setPointPivotB( SETPOINTPIVOTB_CONSTRAINT_ID, SETPOINTPIVOTB_X, SETPOINTPIVOTB_Y, SETPOINTPIVOTB_Z )
+rc_createHingeConstraint( CREATEHINGECONSTRAINT_ACTORA, CREATEHINGECONSTRAINT_FRAMEA, CREATEHINGECONSTRAINT_USEREFERENCEFRAMEA )
+rc_createHingeConstraintEx( CREATEHINGECONSTRAINTEX_ACTORA, CREATEHINGECONSTRAINTEX_ACTORB, CREATEHINGECONSTRAINTEX_FRAMEA, CREATEHINGECONSTRAINTEX_FRAMEB, CREATEHINGECONSTRAINTEX_USEREFERENCEFRAMEA )
rc_createSlideConstraint( CREATESLIDECONSTRAINT_ACTORA, CREATESLIDECONSTRAINT_FRAMEINB_MATRIX, CREATESLIDECONSTRAINT_USELINEARREFERENCEFRAMEA )
rc_createSlideConstraintEx( CREATESLIDECONSTRAINTEX_ACTORA, CREATESLIDECONSTRAINTEX_ACTORB, CREATESLIDECONSTRAINTEX_FRAMEINA_MATRIX, CREATESLIDECONSTRAINTEX_FRAMEINB_MATRIX, CREATESLIDECONSTRAINTEX_USELINEARREFERENCEFRAMEA )
rc_createConeConstraint( CREATECONECONSTRAINT_ACTORA, CREATECONECONSTRAINT_RBAFRAME_MATRIX )
@@ -556,95 +561,95 @@ rc_getHingeAngleEx( GETHINGEANGLEEX_CONSTRAINT_ID, GETHINGEANGLEEX_T_MATRIXA,
rc_getConstraintBreakingImpulseThreshold( GETCONSTRAINTBREAKINGIMPULSETHRESHOLD_CONSTRAINT_ID )
rc_getConstraintAFrame( GETCONSTRAINTAFRAME_CONSTRAINT_ID, GETCONSTRAINTAFRAME_MA )
rc_getConstraintBFrame( GETCONSTRAINTBFRAME_CONSTRAINT_ID, GETCONSTRAINTBFRAME_MA )
-rc_setConstraintAxis( SETCONSTRAINTAXIS_CONSTRAINT_ID, SETCONSTRAINTAXIS_X, SETCONSTRAINTAXIS_Y, SETCONSTRAINTAXIS_Z )
+rc_setHingeAxis( SETHINGEAXIS_CONSTRAINT_ID, SETHINGEAXIS_X, SETHINGEAXIS_Y, SETHINGEAXIS_Z )
rc_setConstraintBreakingImpulseThreshold( SETCONSTRAINTBREAKINGIMPULSETHRESHOLD_CONSTRAINT_ID, SETCONSTRAINTBREAKINGIMPULSETHRESHOLD_THRESHOLD )
rc_setConstraintFrames( SETCONSTRAINTFRAMES_CONSTRAINT_ID, SETCONSTRAINTFRAMES_FRAMEA_MATRIX, SETCONSTRAINTFRAMES_FRAMEB_MATRIX )
rc_setHingeLimit( SETHINGELIMIT_CONSTRAINT_ID, SETHINGELIMIT_LOW, SETHINGELIMIT_HIGH, SETHINGELIMIT_SOFTNESS, SETHINGELIMIT_BIAS_FACTOR, SETHINGELIMIT_RELAXATION_FACTOR )
rc_setConeLimit( SETCONELIMIT_CONSTRAINT_ID, SETCONELIMIT_SWINGSPAN1, SETCONELIMIT_SWINGSPAN2, SETCONELIMIT_TWISTSPAN, SETCONELIMIT_SOFTNESS, SETCONELIMIT_BIAS_FACTOR, SETCONELIMIT_RELAXATION_FACTOR )
-rc_getConstraintLimitBiasFactor( GETCONSTRAINTLIMITBIASFACTOR_CONSTRAINT_ID )
-rc_getLimitRelaxationFactor( GETLIMITRELAXATIONFACTOR_CONSTRAINT_ID )
-rc_getConstraintLimitSign( GETCONSTRAINTLIMITSIGN_CONSTRAINT_ID )
+rc_getHingeLimitBiasFactor( GETHINGELIMITBIASFACTOR_CONSTRAINT_ID )
+rc_getHingeLimitRelaxationFactor( GETHINGELIMITRELAXATIONFACTOR_CONSTRAINT_ID )
+rc_getHingeLimitSign( GETHINGELIMITSIGN_CONSTRAINT_ID )
rc_getHingeSolveLimit( GETHINGESOLVELIMIT_CONSTRAINT_ID )
rc_useHingeReferenceFrameA( USEHINGEREFERENCEFRAMEA_CONSTRAINT_ID, USEHINGEREFERENCEFRAMEA_FLAG )
rc_getConstraintAppliedImpulse( GETCONSTRAINTAPPLIEDIMPULSE_CONSTRAINT_ID )
rc_getConstraintFixedActor( GETCONSTRAINTFIXEDACTOR_CONSTRAINT_ID )
-rc_getConstraintPivotA( GETCONSTRAINTPIVOTA_CONSTRAINT_ID, & GETCONSTRAINTPIVOTA_X, & GETCONSTRAINTPIVOTA_Y, & GETCONSTRAINTPIVOTA_Z )
-rc_getConstraintPivotB( GETCONSTRAINTPIVOTB_CONSTRAINT_ID, & GETCONSTRAINTPIVOTB_X, & GETCONSTRAINTPIVOTB_Y, & GETCONSTRAINTPIVOTB_Z )
+rc_getPointPivotA( GETPOINTPIVOTA_CONSTRAINT_ID, & GETPOINTPIVOTA_X, & GETPOINTPIVOTA_Y, & GETPOINTPIVOTA_Z )
+rc_getPointPivotB( GETPOINTPIVOTB_CONSTRAINT_ID, & GETPOINTPIVOTB_X, & GETPOINTPIVOTB_Y, & GETPOINTPIVOTB_Z )
rc_getConstraintActorA( GETCONSTRAINTACTORA_CONSTRAINT_ID )
rc_getConstraintActorB( GETCONSTRAINTACTORB_CONSTRAINT_ID )
rc_setConstraintSolverIterations( SETCONSTRAINTSOLVERITERATIONS_CONSTRAINT_ID, SETCONSTRAINTSOLVERITERATIONS_NUM )
-rc_getConstraintBiasFactor( GETCONSTRAINTBIASFACTOR_CONSTRAINT_ID )
-rc_getConstraintDamping( GETCONSTRAINTDAMPING_CONSTRAINT_ID )
-rc_getConstraintFixThresh( GETCONSTRAINTFIXTHRESH_CONSTRAINT_ID )
-rc_getConstraintLimit( GETCONSTRAINTLIMIT_CONSTRAINT_ID, GETCONSTRAINTLIMIT_LIMIT_INDEX )
+rc_getConeBiasFactor( GETCONEBIASFACTOR_CONSTRAINT_ID )
+rc_getConeDamping( GETCONEDAMPING_CONSTRAINT_ID )
+rc_getConeFixThresh( GETCONEFIXTHRESH_CONSTRAINT_ID )
+rc_getConeLimit( GETCONELIMIT_CONSTRAINT_ID, GETCONELIMIT_LIMIT_INDEX )
rc_getConstraintLimitSoftness( GETCONSTRAINTLIMITSOFTNESS_CONSTRAINT_ID )
rc_getConstraintSolverIterations( GETCONSTRAINTSOLVERITERATIONS_CONSTRAINT_ID )
-rc_getConstraintAnglePoint( GETCONSTRAINTANGLEPOINT_CONSTRAINT_ID, GETCONSTRAINTANGLEPOINT_ANGLE, GETCONSTRAINTANGLEPOINT_C_LEN, & GETCONSTRAINTANGLEPOINT_X, & GETCONSTRAINTANGLEPOINT_Y, & GETCONSTRAINTANGLEPOINT_Z )
+rc_getConeAnglePoint( GETCONEANGLEPOINT_CONSTRAINT_ID, GETCONEANGLEPOINT_ANGLE, GETCONEANGLEPOINT_C_LEN, & GETCONEANGLEPOINT_X, & GETCONEANGLEPOINT_Y, & GETCONEANGLEPOINT_Z )
rc_getConstraintAngularOnly( GETCONSTRAINTANGULARONLY_CONSTRAINT_ID )
-rc_getConstraintSolveSwingLimit( GETCONSTRAINTSOLVESWINGLIMIT_CONSTRAINT_ID )
-rc_getConstraintSolveTwistLimit( GETCONSTRAINTSOLVETWISTLIMIT_CONSTRAINT_ID )
-rc_getConstraintSolveLimit( GETCONSTRAINTSOLVELIMIT_CONSTRAINT_ID )
-rc_getConstraintSwingSpan1( GETCONSTRAINTSWINGSPAN1_CONSTRAINT_ID )
-rc_getConstraintSwingSpan2( GETCONSTRAINTSWINGSPAN2_CONSTRAINT_ID )
-rc_getConstraintTwistAngle( GETCONSTRAINTTWISTANGLE_CONSTRAINT_ID )
-rc_getConstraintTwistLimitSign( GETCONSTRAINTTWISTLIMITSIGN_CONSTRAINT_ID )
-rc_getConstraintTwistSpan( GETCONSTRAINTTWISTSPAN_CONSTRAINT_ID )
+rc_getConeSolveSwingLimit( GETCONESOLVESWINGLIMIT_CONSTRAINT_ID )
+rc_getConeSolveTwistLimit( GETCONESOLVETWISTLIMIT_CONSTRAINT_ID )
+rc_getConeSwingSpan1( GETCONESWINGSPAN1_CONSTRAINT_ID )
+rc_getConeSwingSpan2( GETCONESWINGSPAN2_CONSTRAINT_ID )
+rc_getConeTwistAngle( GETCONETWISTANGLE_CONSTRAINT_ID )
+rc_getConeTwistLimitSign( GETCONETWISTLIMITSIGN_CONSTRAINT_ID )
+rc_getConeTwistSpan( GETCONETWISTSPAN_CONSTRAINT_ID )
rc_setConstraintAngularOnly( SETCONSTRAINTANGULARONLY_CONSTRAINT_ID, SETCONSTRAINTANGULARONLY_FLAG )
-rc_setConstraintDamping( SETCONSTRAINTDAMPING_CONSTRAINT_ID, SETCONSTRAINTDAMPING_DAMPING )
-rc_setConstraintFixThresh( SETCONSTRAINTFIXTHRESH_CONSTRAINT_ID, SETCONSTRAINTFIXTHRESH_FIXTHRESH )
-rc_getConstraintAnchorA( GETCONSTRAINTANCHORA_CONSTRAINT_ID, & GETCONSTRAINTANCHORA_X, & GETCONSTRAINTANCHORA_Y, & GETCONSTRAINTANCHORA_Z )
-rc_getConstraintAnchorB( GETCONSTRAINTANCHORB_CONSTRAINT_ID, & GETCONSTRAINTANCHORB_X, & GETCONSTRAINTANCHORB_Y, & GETCONSTRAINTANCHORB_Z )
-rc_getConstraintAngDepth( GETCONSTRAINTANGDEPTH_CONSTRAINT_ID )
-rc_getConstraintAngularPos( GETCONSTRAINTANGULARPOS_CONSTRAINT_ID )
-rc_getConstraintDampingDirAng( GETCONSTRAINTDAMPINGDIRANG_CONSTRAINT_ID )
-rc_getConstraintDampingDirLin( GETCONSTRAINTDAMPINGDIRLIN_CONSTRAINT_ID )
-rc_getConstraintDampingLimAng( GETCONSTRAINTDAMPINGLIMANG_CONSTRAINT_ID )
-rc_getConstraintDampingLimLin( GETCONSTRAINTDAMPINGLIMLIN_CONSTRAINT_ID )
-rc_getConstraintDampingOrthoAng( GETCONSTRAINTDAMPINGORTHOANG_CONSTRAINT_ID )
-rc_getConstraintDampingOrthoLin( GETCONSTRAINTDAMPINGORTHOLIN_CONSTRAINT_ID )
-rc_getConstraintLinearPos( GETCONSTRAINTLINEARPOS_CONSTRAINT_ID )
-rc_getConstraintLinDepth( GETCONSTRAINTLINDEPTH_CONSTRAINT_ID )
-rc_getConstraintLowerAngLimit( GETCONSTRAINTLOWERANGLIMIT_CONSTRAINT_ID )
-rc_getConstraintLowerLinLimit( GETCONSTRAINTLOWERLINLIMIT_CONSTRAINT_ID )
-rc_getConstraintRestitutionDirAng( GETCONSTRAINTRESTITUTIONDIRANG_CONSTRAINT_ID )
-rc_getConstraintRestitutionDirLin( GETCONSTRAINTRESTITUTIONDIRLIN_CONSTRAINT_ID )
-rc_getConstraintRestitutionLimAng( GETCONSTRAINTRESTITUTIONLIMANG_CONSTRAINT_ID )
-rc_getConstraintRestitutionLimLin( GETCONSTRAINTRESTITUTIONLIMLIN_CONSTRAINT_ID )
-rc_getConstraintRestitutionOrthoAng( GETCONSTRAINTRESTITUTIONORTHOANG_CONSTRAINT_ID )
-rc_getConstraintRestitutionOrthoLin( GETCONSTRAINTRESTITUTIONORTHOLIN_CONSTRAINT_ID )
-rc_getConstraintSoftnessDirAng( GETCONSTRAINTSOFTNESSDIRANG_CONSTRAINT_ID )
-rc_getConstraintSoftnessDirLin( GETCONSTRAINTSOFTNESSDIRLIN_CONSTRAINT_ID )
-rc_getConstraintSoftnessLimAng( GETCONSTRAINTSOFTNESSLIMANG_CONSTRAINT_ID )
-rc_getConstraintSoftnessLimLin( GETCONSTRAINTSOFTNESSLIMLIN_CONSTRAINT_ID )
-rc_getConstraintSoftnessOrthoAng( GETCONSTRAINTSOFTNESSORTHOANG_CONSTRAINT_ID )
-rc_getConstraintSoftnessOrthoLin( GETCONSTRAINTSOFTNESSORTHOLIN_CONSTRAINT_ID )
-rc_getConstraintSolveAngLimit( GETCONSTRAINTSOLVEANGLIMIT_CONSTRAINT_ID )
-rc_getConstraintSolveLinLimit( GETCONSTRAINTSOLVELINLIMIT_CONSTRAINT_ID )
-rc_getConstraintUpperAngLimit( GETCONSTRAINTUPPERANGLIMIT_CONSTRAINT_ID )
-rc_getConstraintUpperLinLimit( GETCONSTRAINTUPPERLINLIMIT_CONSTRAINT_ID )
-rc_getConstraintUseFrameOffset( GETCONSTRAINTUSEFRAMEOFFSET_CONSTRAINT_ID )
-rc_setConstraintDampingDirAng( SETCONSTRAINTDAMPINGDIRANG_CONSTRAINT_ID, SETCONSTRAINTDAMPINGDIRANG_N )
-rc_setConstraintDampingDirLin( SETCONSTRAINTDAMPINGDIRLIN_CONSTRAINT_ID, SETCONSTRAINTDAMPINGDIRLIN_N )
-rc_setConstraintDampingLimAng( SETCONSTRAINTDAMPINGLIMANG_CONSTRAINT_ID, SETCONSTRAINTDAMPINGLIMANG_N )
-rc_setConstraintDampingLimLin( SETCONSTRAINTDAMPINGLIMLIN_CONSTRAINT_ID, SETCONSTRAINTDAMPINGLIMLIN_N )
-rc_setConstraintDampingOrthoAng( SETCONSTRAINTDAMPINGORTHOANG_CONSTRAINT_ID, SETCONSTRAINTDAMPINGORTHOANG_N )
-rc_setConstraintDampingOrthoLin( SETCONSTRAINTDAMPINGORTHOLIN_CONSTRAINT_ID, SETCONSTRAINTDAMPINGORTHOLIN_N )
-rc_setConstraintLowerAngLimit( SETCONSTRAINTLOWERANGLIMIT_CONSTRAINT_ID, SETCONSTRAINTLOWERANGLIMIT_N )
-rc_setConstraintLowerLinLimit( SETCONSTRAINTLOWERLINLIMIT_CONSTRAINT_ID, SETCONSTRAINTLOWERLINLIMIT_N )
-rc_setConstraintRestitutionDirAng( SETCONSTRAINTRESTITUTIONDIRANG_CONSTRAINT_ID, SETCONSTRAINTRESTITUTIONDIRANG_N )
-rc_setConstraintRestitutionDirLin( SETCONSTRAINTRESTITUTIONDIRLIN_CONSTRAINT_ID, SETCONSTRAINTRESTITUTIONDIRLIN_N )
-rc_setConstraintRestitutionLimAng( SETCONSTRAINTRESTITUTIONLIMANG_CONSTRAINT_ID, SETCONSTRAINTRESTITUTIONLIMANG_N )
-rc_setConstraintRestitutionLimLin( SETCONSTRAINTRESTITUTIONLIMLIN_CONSTRAINT_ID, SETCONSTRAINTRESTITUTIONLIMLIN_N )
-rc_setConstraintRestitutionOrthoAng( SETCONSTRAINTRESTITUTIONORTHOANG_CONSTRAINT_ID, SETCONSTRAINTRESTITUTIONORTHOANG_N )
-rc_setConstraintRestitutionOrthoLin( SETCONSTRAINTRESTITUTIONORTHOLIN_CONSTRAINT_ID, SETCONSTRAINTRESTITUTIONORTHOLIN_N )
-rc_setConstraintSoftnessDirAng( SETCONSTRAINTSOFTNESSDIRANG_CONSTRAINT_ID, SETCONSTRAINTSOFTNESSDIRANG_N )
-rc_setConstraintSoftnessDirLin( SETCONSTRAINTSOFTNESSDIRLIN_CONSTRAINT_ID, SETCONSTRAINTSOFTNESSDIRLIN_N )
-rc_setConstraintSoftnessLimAng( SETCONSTRAINTSOFTNESSLIMANG_CONSTRAINT_ID, SETCONSTRAINTSOFTNESSLIMANG_N )
-rc_setConstraintSoftnessLimLin( SETCONSTRAINTSOFTNESSLIMLIN_CONSTRAINT_ID, SETCONSTRAINTSOFTNESSLIMLIN_N )
-rc_setConstraintSoftnessOrthoAng( SETCONSTRAINTSOFTNESSORTHOANG_CONSTRAINT_ID, SETCONSTRAINTSOFTNESSORTHOANG_N )
-rc_setConstraintSoftnessOrthoLin( SETCONSTRAINTSOFTNESSORTHOLIN_CONSTRAINT_ID, SETCONSTRAINTSOFTNESSORTHOLIN_N )
-rc_setConstraintUpperAngLimit( SETCONSTRAINTUPPERANGLIMIT_CONSTRAINT_ID, SETCONSTRAINTUPPERANGLIMIT_N )
-rc_setConstraintUpperLinLimit( SETCONSTRAINTUPPERLINLIMIT_CONSTRAINT_ID, SETCONSTRAINTUPPERLINLIMIT_N )
+rc_setConeDamping( SETCONEDAMPING_CONSTRAINT_ID, SETCONEDAMPING_DAMPING )
+rc_setConeFixThresh( SETCONEFIXTHRESH_CONSTRAINT_ID, SETCONEFIXTHRESH_FIXTHRESH )
+rc_getSlideAnchorA( GETSLIDEANCHORA_CONSTRAINT_ID, & GETSLIDEANCHORA_X, & GETSLIDEANCHORA_Y, & GETSLIDEANCHORA_Z )
+rc_getSlideAnchorB( GETSLIDEANCHORB_CONSTRAINT_ID, & GETSLIDEANCHORB_X, & GETSLIDEANCHORB_Y, & GETSLIDEANCHORB_Z )
+rc_getSlideAngDepth( GETSLIDEANGDEPTH_CONSTRAINT_ID )
+rc_getSlideAngularPos( GETSLIDEANGULARPOS_CONSTRAINT_ID )
+rc_getSlideDampingDirAng( GETSLIDEDAMPINGDIRANG_CONSTRAINT_ID )
+rc_getSlideDampingDirLin( GETSLIDEDAMPINGDIRLIN_CONSTRAINT_ID )
+rc_getSlideDampingLimAng( GETSLIDEDAMPINGLIMANG_CONSTRAINT_ID )
+rc_getSlideDampingLimLin( GETSLIDEDAMPINGLIMLIN_CONSTRAINT_ID )
+rc_getSlideDampingOrthoAng( GETSLIDEDAMPINGORTHOANG_CONSTRAINT_ID )
+rc_getSlideDampingOrthoLin( GETSLIDEDAMPINGORTHOLIN_CONSTRAINT_ID )
+rc_getSlideLinearPos( GETSLIDELINEARPOS_CONSTRAINT_ID )
+rc_getSlideLinDepth( GETSLIDELINDEPTH_CONSTRAINT_ID )
+rc_getSlideLowerAngLimit( GETSLIDELOWERANGLIMIT_CONSTRAINT_ID )
+rc_getSlideLowerLinLimit( GETSLIDELOWERLINLIMIT_CONSTRAINT_ID )
+rc_getSlideRestitutionDirAng( GETSLIDERESTITUTIONDIRANG_CONSTRAINT_ID )
+rc_getSlideRestitutionDirLin( GETSLIDERESTITUTIONDIRLIN_CONSTRAINT_ID )
+rc_getSlideRestitutionLimAng( GETSLIDERESTITUTIONLIMANG_CONSTRAINT_ID )
+rc_getSlideRestitutionLimLin( GETSLIDERESTITUTIONLIMLIN_CONSTRAINT_ID )
+rc_getSlideRestitutionOrthoAng( GETSLIDERESTITUTIONORTHOANG_CONSTRAINT_ID )
+rc_getSlideRestitutionOrthoLin( GETSLIDERESTITUTIONORTHOLIN_CONSTRAINT_ID )
+rc_getSlideSoftnessDirAng( GETSLIDESOFTNESSDIRANG_CONSTRAINT_ID )
+rc_getSlideSoftnessDirLin( GETSLIDESOFTNESSDIRLIN_CONSTRAINT_ID )
+rc_getSlideSoftnessLimAng( GETSLIDESOFTNESSLIMANG_CONSTRAINT_ID )
+rc_getSlideSoftnessLimLin( GETSLIDESOFTNESSLIMLIN_CONSTRAINT_ID )
+rc_getSlideSoftnessOrthoAng( GETSLIDESOFTNESSORTHOANG_CONSTRAINT_ID )
+rc_getSlideSoftnessOrthoLin( GETSLIDESOFTNESSORTHOLIN_CONSTRAINT_ID )
+rc_getSlideSolveAngLimit( GETSLIDESOLVEANGLIMIT_CONSTRAINT_ID )
+rc_getSlideSolveLinLimit( GETSLIDESOLVELINLIMIT_CONSTRAINT_ID )
+rc_getSlideUpperAngLimit( GETSLIDEUPPERANGLIMIT_CONSTRAINT_ID )
+rc_getSlideUpperLinLimit( GETSLIDEUPPERLINLIMIT_CONSTRAINT_ID )
+rc_getSlideUseFrameOffset( GETSLIDEUSEFRAMEOFFSET_CONSTRAINT_ID )
+rc_setSlideDampingDirAng( SETSLIDEDAMPINGDIRANG_CONSTRAINT_ID, SETSLIDEDAMPINGDIRANG_N )
+rc_setSlideDampingDirLin( SETSLIDEDAMPINGDIRLIN_CONSTRAINT_ID, SETSLIDEDAMPINGDIRLIN_N )
+rc_setSlideDampingLimAng( SETSLIDEDAMPINGLIMANG_CONSTRAINT_ID, SETSLIDEDAMPINGLIMANG_N )
+rc_setSlideDampingLimLin( SETSLIDEDAMPINGLIMLIN_CONSTRAINT_ID, SETSLIDEDAMPINGLIMLIN_N )
+rc_setSlideDampingOrthoAng( SETSLIDEDAMPINGORTHOANG_CONSTRAINT_ID, SETSLIDEDAMPINGORTHOANG_N )
+rc_setSlideDampingOrthoLin( SETSLIDEDAMPINGORTHOLIN_CONSTRAINT_ID, SETSLIDEDAMPINGORTHOLIN_N )
+rc_setSlideLowerAngLimit( SETSLIDELOWERANGLIMIT_CONSTRAINT_ID, SETSLIDELOWERANGLIMIT_N )
+rc_setSlideLowerLinLimit( SETSLIDELOWERLINLIMIT_CONSTRAINT_ID, SETSLIDELOWERLINLIMIT_N )
+rc_setSlideRestitutionDirAng( SETSLIDERESTITUTIONDIRANG_CONSTRAINT_ID, SETSLIDERESTITUTIONDIRANG_N )
+rc_setSlideRestitutionDirLin( SETSLIDERESTITUTIONDIRLIN_CONSTRAINT_ID, SETSLIDERESTITUTIONDIRLIN_N )
+rc_setSlideRestitutionLimAng( SETSLIDERESTITUTIONLIMANG_CONSTRAINT_ID, SETSLIDERESTITUTIONLIMANG_N )
+rc_setSlideRestitutionLimLin( SETSLIDERESTITUTIONLIMLIN_CONSTRAINT_ID, SETSLIDERESTITUTIONLIMLIN_N )
+rc_setSlideRestitutionOrthoAng( SETSLIDERESTITUTIONORTHOANG_CONSTRAINT_ID, SETSLIDERESTITUTIONORTHOANG_N )
+rc_setSlideRestitutionOrthoLin( SETSLIDERESTITUTIONORTHOLIN_CONSTRAINT_ID, SETSLIDERESTITUTIONORTHOLIN_N )
+rc_setSlideSoftnessDirAng( SETSLIDESOFTNESSDIRANG_CONSTRAINT_ID, SETSLIDESOFTNESSDIRANG_N )
+rc_setSlideSoftnessDirLin( SETSLIDESOFTNESSDIRLIN_CONSTRAINT_ID, SETSLIDESOFTNESSDIRLIN_N )
+rc_setSlideSoftnessLimAng( SETSLIDESOFTNESSLIMANG_CONSTRAINT_ID, SETSLIDESOFTNESSLIMANG_N )
+rc_setSlideSoftnessLimLin( SETSLIDESOFTNESSLIMLIN_CONSTRAINT_ID, SETSLIDESOFTNESSLIMLIN_N )
+rc_setSlideSoftnessOrthoAng( SETSLIDESOFTNESSORTHOANG_CONSTRAINT_ID, SETSLIDESOFTNESSORTHOANG_N )
+rc_setSlideSoftnessOrthoLin( SETSLIDESOFTNESSORTHOLIN_CONSTRAINT_ID, SETSLIDESOFTNESSORTHOLIN_N )
+rc_setSlideUpperAngLimit( SETSLIDEUPPERANGLIMIT_CONSTRAINT_ID, SETSLIDEUPPERANGLIMIT_N )
+rc_setSlideUpperLinLimit( SETSLIDEUPPERLINLIMIT_CONSTRAINT_ID, SETSLIDEUPPERLINLIMIT_N )
+rc_constraintExists( CONSTRAINTEXISTS_CONSTRAINT_ID )
rc_setCameraPosition( SETCAMERAPOSITION_X, SETCAMERAPOSITION_Y, SETCAMERAPOSITION_Z )
rc_getCameraPosition( &GETCAMERAPOSITION_X, &GETCAMERAPOSITION_Y, &GETCAMERAPOSITION_Z )
rc_translateCamera( TRANSLATECAMERA_X, TRANSLATECAMERA_Y, TRANSLATECAMERA_Z )
@@ -663,7 +668,6 @@ rc_addSceneSkyBox( ADDSCENESKYBOX_IMG_TOP, ADDSCENESKYBOX_IMG_BOTTOM, ADDSCENE
rc_addSceneSkyDome( ADDSCENESKYDOME_IMG )
rc_addSceneSkyDomeEx( ADDSCENESKYDOMEEX_IMG, ADDSCENESKYDOMEEX_HORIRES, ADDSCENESKYDOMEEX_VERTRES, ADDSCENESKYDOMEEX_TXPERCENTAGE, ADDSCENESKYDOMEEX_SPHEREPERCENTAGE, ADDSCENESKYDOMEEX_RADIUS )
rc_removeSceneSky( )
-rc_setWorld3DDeltaTime( SETWORLD3DDELTATIME_DT )
rc_setWorld3DMaxSubSteps( SETWORLD3DMAXSUBSTEPS_STEPS )
rc_setWorld3DTimeStep( SETWORLD3DTIMESTEP_TS )
rc_startParticleEmitter( STARTPARTICLEEMITTER_ACTOR )
@@ -677,10 +681,10 @@ rc_getParticleNormalDirectionMod( GETPARTICLENORMALDIRECTIONMOD_ACTOR )
rc_useParticleNormalDirection( USEPARTICLENORMALDIRECTION_ACTOR, USEPARTICLENORMALDIRECTION_FLAG )
rc_particleIsUsingNormalDirection( PARTICLEISUSINGNORMALDIRECTION_ACTOR )
rc_setParticleMesh( SETPARTICLEMESH_ACTOR, SETPARTICLEMESH_MESH )
-rc_setParticleMinParticlesPerSecond( SETPARTICLEMINPARTICLESPERSECOND_ACTOR, SETPARTICLEMINPARTICLESPERSECOND_MINPARTICLESPERSECOND )
-rc_getParticleMinParticlesPerSecond( GETPARTICLEMINPARTICLESPERSECOND_ACTOR )
-rc_setParticleMaxParticlesPerSecond( SETPARTICLEMAXPARTICLESPERSECOND_ACTOR, SETPARTICLEMAXPARTICLESPERSECOND_MAXPARTICLESPERSECOND )
-rc_getParticleMaxParticlesPerSecond( GETPARTICLEMAXPARTICLESPERSECOND_ACTOR )
+rc_setMinParticlesPerSecond( SETMINPARTICLESPERSECOND_ACTOR, SETMINPARTICLESPERSECOND_MINPARTICLESPERSECOND )
+rc_getMinParticlesPerSecond( GETMINPARTICLESPERSECOND_ACTOR )
+rc_setMaxParticlesPerSecond( SETMAXPARTICLESPERSECOND_ACTOR, SETMAXPARTICLESPERSECOND_MAXPARTICLESPERSECOND )
+rc_getMaxParticlesPerSecond( GETMAXPARTICLESPERSECOND_ACTOR )
rc_setParticleMinStartColor( SETPARTICLEMINSTARTCOLOR_ACTOR, SETPARTICLEMINSTARTCOLOR_COLOR )
rc_getParticleMinStartColor( GETPARTICLEMINSTARTCOLOR_ACTOR )
rc_setParticleMaxStartColor( SETPARTICLEMAXSTARTCOLOR_ACTOR, SETPARTICLEMAXSTARTCOLOR_COLOR )
@@ -709,6 +713,7 @@ rc_setParticleLength( SETPARTICLELENGTH_ACTOR, SETPARTICLELENGTH_P_LEN )
rc_getParticleLength( GETPARTICLELENGTH_ACTOR )
rc_useParticleOutlineOnly( USEPARTICLEOUTLINEONLY_ACTOR, USEPARTICLEOUTLINEONLY_FLAG )
rc_particleIsUsingOutlineOnly( PARTICLEISUSINGOUTLINEONLY_ACTOR )
+rc_getParticleType( GETPARTICLETYPE_ACTOR )
rc_lightIsCastingShadow( LIGHTISCASTINGSHADOW_ACTOR )
rc_getLightType( GETLIGHTTYPE_ACTOR )
rc_getLightRadius( GETLIGHTRADIUS_ACTOR )
@@ -821,3 +826,4 @@ rc_setActorMaterialFlag( SETACTORMATERIALFLAG_ACTOR, SETACTORMATERIALFLAG_FLA
rc_getActorMaterialFlag( GETACTORMATERIALFLAG_ACTOR, GETACTORMATERIALFLAG_MATERIAL, GETACTORMATERIALFLAG_FLAG )
rc_setActorMaterialType( SETACTORMATERIALTYPE_ACTOR, SETACTORMATERIALTYPE_MATERIAL_TYPE )
rc_getActorMaterialType( GETACTORMATERIALTYPE_ACTOR, GETACTORMATERIALTYPE_MATERIAL )
+rc_materialExists( MATERIALEXISTS_MATERIAL )
diff --git a/rcbasic_build/intern_lib/actor.bas b/rcbasic_build/intern_lib/actor.bas
index 8ab39f7..b9c982d 100644
--- a/rcbasic_build/intern_lib/actor.bas
+++ b/rcbasic_build/intern_lib/actor.bas
@@ -6,10 +6,11 @@ function CreateWaterPlaneActor( w, h )
function CreateLightActor( )
function CreateBillboardActor( )
function CreateTerrainActor( hmap_file$ )
+function CreateParticleActor( particle_type )
sub DeleteActor( actor )
sub GetActorTransform( actor, matrix )
sub SetActorPosition( actor, x, y, z )
-sub TranslateActor( actor, x, y, z )
+sub TranslateActorLocal( actor, x, y, z )
sub TranslateActorWorld( actor, x, y, z )
sub GetActorPosition( actor, ByRef x, ByRef y, ByRef z )
sub SetActorScale( actor, x, y, z )
@@ -24,3 +25,4 @@ sub SetActorAutoCulling( actor, cull_type )
function GetActorAutoCulling( actor )
sub AddActorShadow( actor )
sub RemoveActorShadow( actor )
+function ActorExists( actor )
diff --git a/rcbasic_build/intern_lib/actor_physics.bas b/rcbasic_build/intern_lib/actor_physics.bas
index 2d1116f..118972b 100644
--- a/rcbasic_build/intern_lib/actor_physics.bas
+++ b/rcbasic_build/intern_lib/actor_physics.bas
@@ -39,8 +39,8 @@ sub clearActorForces( actor)
sub updateActorInertiaTensor( actor)
sub getActorCOMPosition( actor, ByRef x, ByRef y, ByRef z)
sub getActorRotationQ( actor, ByRef x, ByRef y, ByRef z, ByRef w)
-sub getActorLinearVelocity( actor, ByRef x, ByRef y, ByRef z)
-sub getActorAngularVelocity( actor, ByRef x, ByRef y, ByRef z)
+sub getActorLinearVelocityWorld( actor, ByRef x, ByRef y, ByRef z)
+sub getActorAngularVelocityWorld( actor, ByRef x, ByRef y, ByRef z)
sub setActorLinearVelocityLocal( actor, x, y, z)
sub setActorLinearVelocityWorld( actor, x, y, z)
sub setActorAngularVelocityLocal( actor, x, y, z)
@@ -56,3 +56,4 @@ sub getActorAngularFactor( actor, ByRef x, ByRef y, ByRef z)
sub computeActorGyroImpulseLocal( actor, dt, ByRef x, ByRef y, ByRef z)
sub computeActorGyroImpulseWorld( actor, dt, ByRef x, ByRef y, ByRef z)
sub getActorLocalInertia( actor, ByRef x, ByRef y, ByRef z)
+sub SetActorSleepState(actor, state)
diff --git a/rcbasic_build/intern_lib/canvas.bas b/rcbasic_build/intern_lib/canvas.bas
index 1ec921b..4bc360c 100644
--- a/rcbasic_build/intern_lib/canvas.bas
+++ b/rcbasic_build/intern_lib/canvas.bas
@@ -1,6 +1,6 @@
function OpenCanvas( w, h, viewport_x, viewport_y, viewport_w, viewport_h, mode)
Sub CloseCanvas(c_num)
-Sub SetCanvas3D(c_num, flag)
+function OpenCanvas3D( w, h, viewport_x, viewport_y, viewport_w, viewport_h, mode)
sub SetCanvasVisible(c_num, flag)
function CanvasIsVisible(c_num)
sub SetCanvasViewport(cnum, x, y, w, h)
@@ -14,8 +14,10 @@ sub SetCanvasAlpha(c_num, a)
function GetCanvasAlpha(c_num)
sub SetCanvasColorMod(c_num, c)
function GetCanvasColorMod(c_num)
-sub CloneCanvas(src, dst)
+function CloneCanvas(c_num, mode)
sub SetCanvasZ(c_num, z)
function GetCanvasZ(c_num)
function CanvasClip(x, y, w, h)
function ActiveCanvas()
+sub SetCanvasPhysics2D(c_num, state)
+function OpenSpriteCanvas(w, h, viewport_x, viewport_y, viewport_w, viewport_h)
diff --git a/rcbasic_build/intern_lib/conio.bas b/rcbasic_build/intern_lib/conio.bas
index 37bb891..51474f0 100644
--- a/rcbasic_build/intern_lib/conio.bas
+++ b/rcbasic_build/intern_lib/conio.bas
@@ -1,3 +1,3 @@
sub Fprint(txt$)
function Input$(prompt$)
-sub tst(byref x)
+sub tst()
diff --git a/rcbasic_build/intern_lib/constraint3D.bas b/rcbasic_build/intern_lib/constraint3D.bas
index 4bc05c5..5fd0e17 100644
--- a/rcbasic_build/intern_lib/constraint3D.bas
+++ b/rcbasic_build/intern_lib/constraint3D.bas
@@ -1,9 +1,9 @@
function createPointConstraint( actorA, pxA, pyA, pzA)
function createPointConstraintEx( actorA, actorB, pxA, pyA, pzA, pxB, pyB, pzB)
-sub setConstraintPivotA( constraint_id, x, y, z)
-sub setConstraintPivotB( constraint_id, x, y, z)
-function createHingeConstraint( actorA, pxA, pyA, pzA, axA, ayA, azA)
-function createHingeConstraintEx( actorA, actorB, pxA, pyA, pzA, pxB, pyB, pzB, axA, ayA, azA, axB, ayB, azB)
+sub setPointPivotA( constraint_id, x, y, z)
+sub setPointPivotB( constraint_id, x, y, z)
+function createHingeConstraint( actorA, frameA, useReferenceFrameA )
+function createHingeConstraintEx( actorA, actorB, frameA, frameB, useReferenceFrameA)
function createSlideConstraint( actorA, frameInB_matrix, useLinearReferenceFrameA)
function createSlideConstraintEx( actorA, actorB, frameInA_matrix, frameInB_matrix, useLinearReferenceFrameA)
function createConeConstraint( actorA, rbAFrame_matrix)
@@ -17,92 +17,92 @@ function getHingeAngleEx( constraint_id, t_matrixA, t_matrixB)
function getConstraintBreakingImpulseThreshold( constraint_id)
function getConstraintAFrame( constraint_id, mA)
function getConstraintBFrame( constraint_id, mA)
-sub setConstraintAxis( constraint_id, x, y, z)
+sub setHingeAxis( constraint_id, x, y, z)
sub setConstraintBreakingImpulseThreshold( constraint_id, threshold)
sub setConstraintFrames( constraint_id, frameA_matrix, frameB_matrix)
sub setHingeLimit( constraint_id, low, high, softness, bias_factor, relaxation_factor)
sub setConeLimit( constraint_id, swingSpan1, swingSpan2, twistSpan, softness, bias_factor, relaxation_factor)
-function getConstraintLimitBiasFactor( constraint_id)
-function getLimitRelaxationFactor( constraint_id)
-function getConstraintLimitSign( constraint_id)
+function getHingeLimitBiasFactor( constraint_id)
+function getHingeLimitRelaxationFactor( constraint_id)
+function getHingeLimitSign( constraint_id)
function getHingeSolveLimit( constraint_id)
sub useHingeReferenceFrameA( constraint_id, flag)
function getConstraintAppliedImpulse( constraint_id)
function getConstraintFixedActor( constraint_id)
-sub getConstraintPivotA( constraint_id, ByRef x, ByRef y, ByRef z)
-sub getConstraintPivotB( constraint_id, ByRef x, ByRef y, ByRef z)
+sub getPointPivotA( constraint_id, ByRef x, ByRef y, ByRef z)
+sub getPointPivotB( constraint_id, ByRef x, ByRef y, ByRef z)
function getConstraintActorA( constraint_id)
function getConstraintActorB( constraint_id)
sub setConstraintSolverIterations( constraint_id, num)
-function getConstraintBiasFactor( constraint_id)
-function getConstraintDamping( constraint_id)
-function getConstraintFixThresh( constraint_id)
-function getConstraintLimit( constraint_id, limit_index)
+function getConeBiasFactor( constraint_id)
+function getConeDamping( constraint_id)
+function getConeFixThresh( constraint_id)
+function getConeLimit( constraint_id, limit_index)
function getConstraintLimitSoftness( constraint_id)
function getConstraintSolverIterations( constraint_id)
-sub getConstraintAnglePoint( constraint_id, angle, c_len, ByRef x, ByRef y, ByRef z)
+sub getConeAnglePoint( constraint_id, angle, c_len, ByRef x, ByRef y, ByRef z)
function getConstraintAngularOnly( constraint_id)
-function getConstraintSolveSwingLimit( constraint_id)
-function getConstraintSolveTwistLimit( constraint_id)
-function getConstraintSolveLimit( constraint_id)
-function getConstraintSwingSpan1( constraint_id)
-function getConstraintSwingSpan2( constraint_id)
-function getConstraintTwistAngle( constraint_id)
-function getConstraintTwistLimitSign( constraint_id)
-function getConstraintTwistSpan( constraint_id)
+function getConeSolveSwingLimit( constraint_id)
+function getConeSolveTwistLimit( constraint_id)
+function getConeSwingSpan1( constraint_id)
+function getConeSwingSpan2( constraint_id)
+function getConeTwistAngle( constraint_id)
+function getConeTwistLimitSign( constraint_id)
+function getConeTwistSpan( constraint_id)
sub setConstraintAngularOnly( constraint_id, flag)
-sub setConstraintDamping( constraint_id, damping)
-sub setConstraintFixThresh( constraint_id, fixThresh)
-sub getConstraintAnchorA( constraint_id, ByRef x, ByRef y, ByRef z)
-sub getConstraintAnchorB( constraint_id, ByRef x, ByRef y, ByRef z)
-function getConstraintAngDepth( constraint_id)
-function getConstraintAngularPos( constraint_id)
-function getConstraintDampingDirAng( constraint_id)
-function getConstraintDampingDirLin( constraint_id)
-function getConstraintDampingLimAng( constraint_id)
-function getConstraintDampingLimLin( constraint_id)
-function getConstraintDampingOrthoAng( constraint_id)
-function getConstraintDampingOrthoLin( constraint_id)
-function getConstraintLinearPos( constraint_id)
-function getConstraintLinDepth( constraint_id)
-function getConstraintLowerAngLimit( constraint_id)
-function getConstraintLowerLinLimit( constraint_id)
-function getConstraintRestitutionDirAng( constraint_id)
-function getConstraintRestitutionDirLin( constraint_id)
-function getConstraintRestitutionLimAng( constraint_id)
-function getConstraintRestitutionLimLin( constraint_id)
-function getConstraintRestitutionOrthoAng( constraint_id)
-function getConstraintRestitutionOrthoLin( constraint_id)
-function getConstraintSoftnessDirAng( constraint_id)
-function getConstraintSoftnessDirLin( constraint_id)
-function getConstraintSoftnessLimAng( constraint_id)
-function getConstraintSoftnessLimLin( constraint_id)
-function getConstraintSoftnessOrthoAng( constraint_id)
-function getConstraintSoftnessOrthoLin( constraint_id)
-function getConstraintSolveAngLimit( constraint_id)
-function getConstraintSolveLinLimit( constraint_id)
-function getConstraintUpperAngLimit( constraint_id)
-function getConstraintUpperLinLimit( constraint_id)
-function getConstraintUseFrameOffset( constraint_id)
-sub setConstraintDampingDirAng( constraint_id, n)
-sub setConstraintDampingDirLin( constraint_id, n)
-sub setConstraintDampingLimAng( constraint_id, n)
-sub setConstraintDampingLimLin( constraint_id, n)
-sub setConstraintDampingOrthoAng( constraint_id, n)
-sub setConstraintDampingOrthoLin( constraint_id, n)
-sub setConstraintLowerAngLimit( constraint_id, n)
-sub setConstraintLowerLinLimit( constraint_id, n)
-sub setConstraintRestitutionDirAng( constraint_id, n)
-sub setConstraintRestitutionDirLin( constraint_id, n)
-sub setConstraintRestitutionLimAng( constraint_id, n)
-sub setConstraintRestitutionLimLin( constraint_id, n)
-sub setConstraintRestitutionOrthoAng( constraint_id, n)
-sub setConstraintRestitutionOrthoLin( constraint_id, n)
-sub setConstraintSoftnessDirAng( constraint_id, n)
-sub setConstraintSoftnessDirLin( constraint_id, n)
-sub setConstraintSoftnessLimAng( constraint_id, n)
-sub setConstraintSoftnessLimLin( constraint_id, n)
-sub setConstraintSoftnessOrthoAng( constraint_id, n)
-sub setConstraintSoftnessOrthoLin( constraint_id, n)
-sub setConstraintUpperAngLimit( constraint_id, n)
-sub setConstraintUpperLinLimit( constraint_id, n)
+sub setConeDamping( constraint_id, damping)
+sub setConeFixThresh( constraint_id, fixThresh)
+sub getSlideAnchorA( constraint_id, ByRef x, ByRef y, ByRef z)
+sub getSlideAnchorB( constraint_id, ByRef x, ByRef y, ByRef z)
+function getSlideAngDepth( constraint_id)
+function getSlideAngularPos( constraint_id)
+function getSlideDampingDirAng( constraint_id)
+function getSlideDampingDirLin( constraint_id)
+function getSlideDampingLimAng( constraint_id)
+function getSlideDampingLimLin( constraint_id)
+function getSlideDampingOrthoAng( constraint_id)
+function getSlideDampingOrthoLin( constraint_id)
+function getSlideLinearPos( constraint_id)
+function getSlideLinDepth( constraint_id)
+function getSlideLowerAngLimit( constraint_id)
+function getSlideLowerLinLimit( constraint_id)
+function getSlideRestitutionDirAng( constraint_id)
+function getSlideRestitutionDirLin( constraint_id)
+function getSlideRestitutionLimAng( constraint_id)
+function getSlideRestitutionLimLin( constraint_id)
+function getSlideRestitutionOrthoAng( constraint_id)
+function getSlideRestitutionOrthoLin( constraint_id)
+function getSlideSoftnessDirAng( constraint_id)
+function getSlideSoftnessDirLin( constraint_id)
+function getSlideSoftnessLimAng( constraint_id)
+function getSlideSoftnessLimLin( constraint_id)
+function getSlideSoftnessOrthoAng( constraint_id)
+function getSlideSoftnessOrthoLin( constraint_id)
+function getSlideSolveAngLimit( constraint_id)
+function getSlideSolveLinLimit( constraint_id)
+function getSlideUpperAngLimit( constraint_id)
+function getSlideUpperLinLimit( constraint_id)
+function getSlideUseFrameOffset( constraint_id)
+sub setSlideDampingDirAng( constraint_id, n)
+sub setSlideDampingDirLin( constraint_id, n)
+sub setSlideDampingLimAng( constraint_id, n)
+sub setSlideDampingLimLin( constraint_id, n)
+sub setSlideDampingOrthoAng( constraint_id, n)
+sub setSlideDampingOrthoLin( constraint_id, n)
+sub setSlideLowerAngLimit( constraint_id, n)
+sub setSlideLowerLinLimit( constraint_id, n)
+sub setSlideRestitutionDirAng( constraint_id, n)
+sub setSlideRestitutionDirLin( constraint_id, n)
+sub setSlideRestitutionLimAng( constraint_id, n)
+sub setSlideRestitutionLimLin( constraint_id, n)
+sub setSlideRestitutionOrthoAng( constraint_id, n)
+sub setSlideRestitutionOrthoLin( constraint_id, n)
+sub setSlideSoftnessDirAng( constraint_id, n)
+sub setSlideSoftnessDirLin( constraint_id, n)
+sub setSlideSoftnessLimAng( constraint_id, n)
+sub setSlideSoftnessLimLin( constraint_id, n)
+sub setSlideSoftnessOrthoAng( constraint_id, n)
+sub setSlideSoftnessOrthoLin( constraint_id, n)
+sub setSlideUpperAngLimit( constraint_id, n)
+sub setSlideUpperLinLimit( constraint_id, n)
+function ConstraintExists( constraint_id )
diff --git a/rcbasic_build/intern_lib/images.bas b/rcbasic_build/intern_lib/images.bas
index c030f44..45331c7 100644
--- a/rcbasic_build/intern_lib/images.bas
+++ b/rcbasic_build/intern_lib/images.bas
@@ -2,7 +2,7 @@ function LoadImage( img$ )
function LoadImageEx(img$, colkey)
function createImage(w, h, byref buffer)
function createImageEx(w, h, byref buffer, color)
-sub getImageBuffer(img_id, byref buffer)
+sub BufferFromImage(slot, byref buffer)
function ImageExists(slot)
sub ColorKey(slot, c)
sub setBilinearFilter( flag )
diff --git a/rcbasic_build/intern_lib/materials.bas b/rcbasic_build/intern_lib/materials.bas
index 904ca90..20ef4b5 100644
--- a/rcbasic_build/intern_lib/materials.bas
+++ b/rcbasic_build/intern_lib/materials.bas
@@ -56,3 +56,4 @@ sub setActorMaterialFlag( actor, flag, flag_value)
function getActorMaterialFlag( actor, material, flag)
sub setActorMaterialType( actor, material_type)
function getActorMaterialType( actor, material)
+function MaterialExists( material )
diff --git a/rcbasic_build/intern_lib/particles.bas b/rcbasic_build/intern_lib/particles.bas
index 68adf58..a51612d 100644
--- a/rcbasic_build/intern_lib/particles.bas
+++ b/rcbasic_build/intern_lib/particles.bas
@@ -9,10 +9,10 @@ function getParticleNormalDirectionMod( actor)
sub useParticleNormalDirection( actor, flag)
function particleIsUsingNormalDirection( actor)
sub setParticleMesh( actor, mesh)
-sub setParticleMinParticlesPerSecond( actor, minParticlesPerSecond)
-function getParticleMinParticlesPerSecond( actor)
-sub setParticleMaxParticlesPerSecond( actor, maxParticlesPerSecond)
-function getParticleMaxParticlesPerSecond( actor)
+sub setMinParticlesPerSecond( actor, minParticlesPerSecond)
+function getMinParticlesPerSecond( actor)
+sub setMaxParticlesPerSecond( actor, maxParticlesPerSecond)
+function getMaxParticlesPerSecond( actor)
sub setParticleMinStartColor( actor, color)
function getParticleMinStartColor( actor)
sub setParticleMaxStartColor( actor, color)
@@ -41,3 +41,4 @@ sub setParticleLength( actor, p_len)
function getParticleLength( actor)
sub useParticleOutlineOnly( actor, flag)
function particleIsUsingOutlineOnly( actor)
+function getParticleType( actor )
diff --git a/rcbasic_build/intern_lib/scene.bas b/rcbasic_build/intern_lib/scene.bas
index 48a6986..67e5361 100644
--- a/rcbasic_build/intern_lib/scene.bas
+++ b/rcbasic_build/intern_lib/scene.bas
@@ -2,6 +2,5 @@ sub AddSceneSkyBox( img_top, img_bottom, img_left, img_right, img_front, img_bac
sub AddSceneSkyDome( img )
sub AddSceneSkyDomeEx( img, horiRes, vertRes, txPercentage, spherePercentage, radius)
sub RemoveSceneSky( )
-sub SetWorld3DDeltaTime( dt )
sub SetWorld3DMaxSubSteps( steps )
sub SetWorld3DTimeStep( ts )
diff --git a/rcbasic_build/main.cpp b/rcbasic_build/main.cpp
index 1567007..bc213ee 100755
--- a/rcbasic_build/main.cpp
+++ b/rcbasic_build/main.cpp
@@ -912,7 +912,7 @@ int main(int argc, char * argv[])
{
string line = "";
- //rcbasic_dev("embedded_functions.bas"); rcbasic_output_debug_info(); return 0;
+ rcbasic_dev("embedded_functions.bas"); rcbasic_output_debug_info(); return 0;
string rc_filename = "";// = "tst.bas";
diff --git a/rcbasic_build/rc_builtin.h b/rcbasic_build/rc_builtin.h
index 20b96a6..2fbb974 100755
--- a/rcbasic_build/rc_builtin.h
+++ b/rcbasic_build/rc_builtin.h
@@ -9,7 +9,6 @@ void init_embedded_functions()
embed_function("Input$", ID_TYPE_FN_STR);
add_embedded_arg("prompt$", ID_TYPE_STR);
embed_function("tst", ID_TYPE_SUB);
- add_embedded_arg("x", ID_TYPE_BYREF_NUM);
embed_function("ArrayDim", ID_TYPE_FN_NUM);
add_embedded_arg("id", ID_TYPE_BYREF_NUM);
embed_function("StringArrayDim", ID_TYPE_FN_NUM);
@@ -455,9 +454,14 @@ void init_embedded_functions()
add_embedded_arg("mode", ID_TYPE_NUM);
embed_function("CloseCanvas", ID_TYPE_SUB);
add_embedded_arg("c_num", ID_TYPE_NUM);
- embed_function("SetCanvas3D", ID_TYPE_SUB);
- add_embedded_arg("c_num", ID_TYPE_NUM);
- add_embedded_arg("flag", ID_TYPE_NUM);
+ embed_function("OpenCanvas3D", ID_TYPE_FN_NUM);
+ add_embedded_arg("w", ID_TYPE_NUM);
+ add_embedded_arg("h", ID_TYPE_NUM);
+ add_embedded_arg("viewport_x", ID_TYPE_NUM);
+ add_embedded_arg("viewport_y", ID_TYPE_NUM);
+ add_embedded_arg("viewport_w", ID_TYPE_NUM);
+ add_embedded_arg("viewport_h", ID_TYPE_NUM);
+ add_embedded_arg("mode", ID_TYPE_NUM);
embed_function("SetCanvasVisible", ID_TYPE_SUB);
add_embedded_arg("c_num", ID_TYPE_NUM);
add_embedded_arg("flag", ID_TYPE_NUM);
@@ -500,9 +504,9 @@ void init_embedded_functions()
add_embedded_arg("c", ID_TYPE_NUM);
embed_function("GetCanvasColorMod", ID_TYPE_FN_NUM);
add_embedded_arg("c_num", ID_TYPE_NUM);
- embed_function("CloneCanvas", ID_TYPE_SUB);
- add_embedded_arg("src", ID_TYPE_NUM);
- add_embedded_arg("dst", ID_TYPE_NUM);
+ embed_function("CloneCanvas", ID_TYPE_FN_NUM);
+ add_embedded_arg("c_num", ID_TYPE_NUM);
+ add_embedded_arg("mode", ID_TYPE_NUM);
embed_function("SetCanvasZ", ID_TYPE_SUB);
add_embedded_arg("c_num", ID_TYPE_NUM);
add_embedded_arg("z", ID_TYPE_NUM);
@@ -514,6 +518,16 @@ void init_embedded_functions()
add_embedded_arg("w", ID_TYPE_NUM);
add_embedded_arg("h", ID_TYPE_NUM);
embed_function("ActiveCanvas", ID_TYPE_FN_NUM);
+ embed_function("SetCanvasPhysics2D", ID_TYPE_SUB);
+ add_embedded_arg("c_num", ID_TYPE_NUM);
+ add_embedded_arg("state", ID_TYPE_NUM);
+ embed_function("OpenSpriteCanvas", ID_TYPE_FN_NUM);
+ add_embedded_arg("w", ID_TYPE_NUM);
+ add_embedded_arg("h", ID_TYPE_NUM);
+ add_embedded_arg("viewport_x", ID_TYPE_NUM);
+ add_embedded_arg("viewport_y", ID_TYPE_NUM);
+ add_embedded_arg("viewport_w", ID_TYPE_NUM);
+ add_embedded_arg("viewport_h", ID_TYPE_NUM);
embed_function("Circle", ID_TYPE_SUB);
add_embedded_arg("x", ID_TYPE_NUM);
add_embedded_arg("y", ID_TYPE_NUM);
@@ -585,8 +599,8 @@ void init_embedded_functions()
add_embedded_arg("h", ID_TYPE_NUM);
add_embedded_arg("buffer", ID_TYPE_BYREF_NUM);
add_embedded_arg("color", ID_TYPE_NUM);
- embed_function("getImageBuffer", ID_TYPE_SUB);
- add_embedded_arg("img_id", ID_TYPE_NUM);
+ embed_function("BufferFromImage", ID_TYPE_SUB);
+ add_embedded_arg("slot", ID_TYPE_NUM);
add_embedded_arg("buffer", ID_TYPE_BYREF_NUM);
embed_function("ImageExists", ID_TYPE_FN_NUM);
add_embedded_arg("slot", ID_TYPE_NUM);
@@ -1310,6 +1324,8 @@ void init_embedded_functions()
embed_function("CreateBillboardActor", ID_TYPE_FN_NUM);
embed_function("CreateTerrainActor", ID_TYPE_FN_NUM);
add_embedded_arg("hmap_file$", ID_TYPE_STR);
+ embed_function("CreateParticleActor", ID_TYPE_FN_NUM);
+ add_embedded_arg("particle_type", ID_TYPE_NUM);
embed_function("DeleteActor", ID_TYPE_SUB);
add_embedded_arg("actor", ID_TYPE_NUM);
embed_function("GetActorTransform", ID_TYPE_SUB);
@@ -1320,7 +1336,7 @@ void init_embedded_functions()
add_embedded_arg("x", ID_TYPE_NUM);
add_embedded_arg("y", ID_TYPE_NUM);
add_embedded_arg("z", ID_TYPE_NUM);
- embed_function("TranslateActor", ID_TYPE_SUB);
+ embed_function("TranslateActorLocal", ID_TYPE_SUB);
add_embedded_arg("actor", ID_TYPE_NUM);
add_embedded_arg("x", ID_TYPE_NUM);
add_embedded_arg("y", ID_TYPE_NUM);
@@ -1379,6 +1395,8 @@ void init_embedded_functions()
add_embedded_arg("actor", ID_TYPE_NUM);
embed_function("RemoveActorShadow", ID_TYPE_SUB);
add_embedded_arg("actor", ID_TYPE_NUM);
+ embed_function("ActorExists", ID_TYPE_FN_NUM);
+ add_embedded_arg("actor", ID_TYPE_NUM);
embed_function("SetGravity3D", ID_TYPE_SUB);
add_embedded_arg("x", ID_TYPE_NUM);
add_embedded_arg("y", ID_TYPE_NUM);
@@ -1558,12 +1576,12 @@ void init_embedded_functions()
add_embedded_arg("y", ID_TYPE_BYREF_NUM);
add_embedded_arg("z", ID_TYPE_BYREF_NUM);
add_embedded_arg("w", ID_TYPE_BYREF_NUM);
- embed_function("getActorLinearVelocity", ID_TYPE_SUB);
+ embed_function("getActorLinearVelocityWorld", ID_TYPE_SUB);
add_embedded_arg("actor", ID_TYPE_NUM);
add_embedded_arg("x", ID_TYPE_BYREF_NUM);
add_embedded_arg("y", ID_TYPE_BYREF_NUM);
add_embedded_arg("z", ID_TYPE_BYREF_NUM);
- embed_function("getActorAngularVelocity", ID_TYPE_SUB);
+ embed_function("getActorAngularVelocityWorld", ID_TYPE_SUB);
add_embedded_arg("actor", ID_TYPE_NUM);
add_embedded_arg("x", ID_TYPE_BYREF_NUM);
add_embedded_arg("y", ID_TYPE_BYREF_NUM);
@@ -1654,6 +1672,9 @@ void init_embedded_functions()
add_embedded_arg("x", ID_TYPE_BYREF_NUM);
add_embedded_arg("y", ID_TYPE_BYREF_NUM);
add_embedded_arg("z", ID_TYPE_BYREF_NUM);
+ embed_function("SetActorSleepState", ID_TYPE_SUB);
+ add_embedded_arg("actor", ID_TYPE_NUM);
+ add_embedded_arg("state", ID_TYPE_NUM);
embed_function("createPointConstraint", ID_TYPE_FN_NUM);
add_embedded_arg("actorA", ID_TYPE_NUM);
add_embedded_arg("pxA", ID_TYPE_NUM);
@@ -1668,39 +1689,26 @@ void init_embedded_functions()
add_embedded_arg("pxB", ID_TYPE_NUM);
add_embedded_arg("pyB", ID_TYPE_NUM);
add_embedded_arg("pzB", ID_TYPE_NUM);
- embed_function("setConstraintPivotA", ID_TYPE_SUB);
+ embed_function("setPointPivotA", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("x", ID_TYPE_NUM);
add_embedded_arg("y", ID_TYPE_NUM);
add_embedded_arg("z", ID_TYPE_NUM);
- embed_function("setConstraintPivotB", ID_TYPE_SUB);
+ embed_function("setPointPivotB", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("x", ID_TYPE_NUM);
add_embedded_arg("y", ID_TYPE_NUM);
add_embedded_arg("z", ID_TYPE_NUM);
embed_function("createHingeConstraint", ID_TYPE_FN_NUM);
add_embedded_arg("actorA", ID_TYPE_NUM);
- add_embedded_arg("pxA", ID_TYPE_NUM);
- add_embedded_arg("pyA", ID_TYPE_NUM);
- add_embedded_arg("pzA", ID_TYPE_NUM);
- add_embedded_arg("axA", ID_TYPE_NUM);
- add_embedded_arg("ayA", ID_TYPE_NUM);
- add_embedded_arg("azA", ID_TYPE_NUM);
+ add_embedded_arg("frameA", ID_TYPE_NUM);
+ add_embedded_arg("useReferenceFrameA", ID_TYPE_NUM);
embed_function("createHingeConstraintEx", ID_TYPE_FN_NUM);
add_embedded_arg("actorA", ID_TYPE_NUM);
add_embedded_arg("actorB", ID_TYPE_NUM);
- add_embedded_arg("pxA", ID_TYPE_NUM);
- add_embedded_arg("pyA", ID_TYPE_NUM);
- add_embedded_arg("pzA", ID_TYPE_NUM);
- add_embedded_arg("pxB", ID_TYPE_NUM);
- add_embedded_arg("pyB", ID_TYPE_NUM);
- add_embedded_arg("pzB", ID_TYPE_NUM);
- add_embedded_arg("axA", ID_TYPE_NUM);
- add_embedded_arg("ayA", ID_TYPE_NUM);
- add_embedded_arg("azA", ID_TYPE_NUM);
- add_embedded_arg("axB", ID_TYPE_NUM);
- add_embedded_arg("ayB", ID_TYPE_NUM);
- add_embedded_arg("azB", ID_TYPE_NUM);
+ add_embedded_arg("frameA", ID_TYPE_NUM);
+ add_embedded_arg("frameB", ID_TYPE_NUM);
+ add_embedded_arg("useReferenceFrameA", ID_TYPE_NUM);
embed_function("createSlideConstraint", ID_TYPE_FN_NUM);
add_embedded_arg("actorA", ID_TYPE_NUM);
add_embedded_arg("frameInB_matrix", ID_TYPE_NUM);
@@ -1754,7 +1762,7 @@ void init_embedded_functions()
embed_function("getConstraintBFrame", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("mA", ID_TYPE_NUM);
- embed_function("setConstraintAxis", ID_TYPE_SUB);
+ embed_function("setHingeAxis", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("x", ID_TYPE_NUM);
add_embedded_arg("y", ID_TYPE_NUM);
@@ -1781,11 +1789,11 @@ void init_embedded_functions()
add_embedded_arg("softness", ID_TYPE_NUM);
add_embedded_arg("bias_factor", ID_TYPE_NUM);
add_embedded_arg("relaxation_factor", ID_TYPE_NUM);
- embed_function("getConstraintLimitBiasFactor", ID_TYPE_FN_NUM);
+ embed_function("getHingeLimitBiasFactor", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getLimitRelaxationFactor", ID_TYPE_FN_NUM);
+ embed_function("getHingeLimitRelaxationFactor", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintLimitSign", ID_TYPE_FN_NUM);
+ embed_function("getHingeLimitSign", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
embed_function("getHingeSolveLimit", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
@@ -1796,12 +1804,12 @@ void init_embedded_functions()
add_embedded_arg("constraint_id", ID_TYPE_NUM);
embed_function("getConstraintFixedActor", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintPivotA", ID_TYPE_SUB);
+ embed_function("getPointPivotA", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("x", ID_TYPE_BYREF_NUM);
add_embedded_arg("y", ID_TYPE_BYREF_NUM);
add_embedded_arg("z", ID_TYPE_BYREF_NUM);
- embed_function("getConstraintPivotB", ID_TYPE_SUB);
+ embed_function("getPointPivotB", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("x", ID_TYPE_BYREF_NUM);
add_embedded_arg("y", ID_TYPE_BYREF_NUM);
@@ -1813,20 +1821,20 @@ void init_embedded_functions()
embed_function("setConstraintSolverIterations", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("num", ID_TYPE_NUM);
- embed_function("getConstraintBiasFactor", ID_TYPE_FN_NUM);
+ embed_function("getConeBiasFactor", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintDamping", ID_TYPE_FN_NUM);
+ embed_function("getConeDamping", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintFixThresh", ID_TYPE_FN_NUM);
+ embed_function("getConeFixThresh", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintLimit", ID_TYPE_FN_NUM);
+ embed_function("getConeLimit", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("limit_index", ID_TYPE_NUM);
embed_function("getConstraintLimitSoftness", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
embed_function("getConstraintSolverIterations", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintAnglePoint", ID_TYPE_SUB);
+ embed_function("getConeAnglePoint", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("angle", ID_TYPE_NUM);
add_embedded_arg("c_len", ID_TYPE_NUM);
@@ -1835,165 +1843,165 @@ void init_embedded_functions()
add_embedded_arg("z", ID_TYPE_BYREF_NUM);
embed_function("getConstraintAngularOnly", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintSolveSwingLimit", ID_TYPE_FN_NUM);
+ embed_function("getConeSolveSwingLimit", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintSolveTwistLimit", ID_TYPE_FN_NUM);
+ embed_function("getConeSolveTwistLimit", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintSolveLimit", ID_TYPE_FN_NUM);
+ embed_function("getConeSwingSpan1", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintSwingSpan1", ID_TYPE_FN_NUM);
+ embed_function("getConeSwingSpan2", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintSwingSpan2", ID_TYPE_FN_NUM);
+ embed_function("getConeTwistAngle", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintTwistAngle", ID_TYPE_FN_NUM);
+ embed_function("getConeTwistLimitSign", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintTwistLimitSign", ID_TYPE_FN_NUM);
- add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintTwistSpan", ID_TYPE_FN_NUM);
+ embed_function("getConeTwistSpan", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
embed_function("setConstraintAngularOnly", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("flag", ID_TYPE_NUM);
- embed_function("setConstraintDamping", ID_TYPE_SUB);
+ embed_function("setConeDamping", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("damping", ID_TYPE_NUM);
- embed_function("setConstraintFixThresh", ID_TYPE_SUB);
+ embed_function("setConeFixThresh", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("fixThresh", ID_TYPE_NUM);
- embed_function("getConstraintAnchorA", ID_TYPE_SUB);
+ embed_function("getSlideAnchorA", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("x", ID_TYPE_BYREF_NUM);
add_embedded_arg("y", ID_TYPE_BYREF_NUM);
add_embedded_arg("z", ID_TYPE_BYREF_NUM);
- embed_function("getConstraintAnchorB", ID_TYPE_SUB);
+ embed_function("getSlideAnchorB", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("x", ID_TYPE_BYREF_NUM);
add_embedded_arg("y", ID_TYPE_BYREF_NUM);
add_embedded_arg("z", ID_TYPE_BYREF_NUM);
- embed_function("getConstraintAngDepth", ID_TYPE_FN_NUM);
+ embed_function("getSlideAngDepth", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintAngularPos", ID_TYPE_FN_NUM);
+ embed_function("getSlideAngularPos", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintDampingDirAng", ID_TYPE_FN_NUM);
+ embed_function("getSlideDampingDirAng", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintDampingDirLin", ID_TYPE_FN_NUM);
+ embed_function("getSlideDampingDirLin", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintDampingLimAng", ID_TYPE_FN_NUM);
+ embed_function("getSlideDampingLimAng", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintDampingLimLin", ID_TYPE_FN_NUM);
+ embed_function("getSlideDampingLimLin", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintDampingOrthoAng", ID_TYPE_FN_NUM);
+ embed_function("getSlideDampingOrthoAng", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintDampingOrthoLin", ID_TYPE_FN_NUM);
+ embed_function("getSlideDampingOrthoLin", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintLinearPos", ID_TYPE_FN_NUM);
+ embed_function("getSlideLinearPos", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintLinDepth", ID_TYPE_FN_NUM);
+ embed_function("getSlideLinDepth", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintLowerAngLimit", ID_TYPE_FN_NUM);
+ embed_function("getSlideLowerAngLimit", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintLowerLinLimit", ID_TYPE_FN_NUM);
+ embed_function("getSlideLowerLinLimit", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintRestitutionDirAng", ID_TYPE_FN_NUM);
+ embed_function("getSlideRestitutionDirAng", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintRestitutionDirLin", ID_TYPE_FN_NUM);
+ embed_function("getSlideRestitutionDirLin", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintRestitutionLimAng", ID_TYPE_FN_NUM);
+ embed_function("getSlideRestitutionLimAng", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintRestitutionLimLin", ID_TYPE_FN_NUM);
+ embed_function("getSlideRestitutionLimLin", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintRestitutionOrthoAng", ID_TYPE_FN_NUM);
+ embed_function("getSlideRestitutionOrthoAng", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintRestitutionOrthoLin", ID_TYPE_FN_NUM);
+ embed_function("getSlideRestitutionOrthoLin", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintSoftnessDirAng", ID_TYPE_FN_NUM);
+ embed_function("getSlideSoftnessDirAng", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintSoftnessDirLin", ID_TYPE_FN_NUM);
+ embed_function("getSlideSoftnessDirLin", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintSoftnessLimAng", ID_TYPE_FN_NUM);
+ embed_function("getSlideSoftnessLimAng", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintSoftnessLimLin", ID_TYPE_FN_NUM);
+ embed_function("getSlideSoftnessLimLin", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintSoftnessOrthoAng", ID_TYPE_FN_NUM);
+ embed_function("getSlideSoftnessOrthoAng", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintSoftnessOrthoLin", ID_TYPE_FN_NUM);
+ embed_function("getSlideSoftnessOrthoLin", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintSolveAngLimit", ID_TYPE_FN_NUM);
+ embed_function("getSlideSolveAngLimit", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintSolveLinLimit", ID_TYPE_FN_NUM);
+ embed_function("getSlideSolveLinLimit", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintUpperAngLimit", ID_TYPE_FN_NUM);
+ embed_function("getSlideUpperAngLimit", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintUpperLinLimit", ID_TYPE_FN_NUM);
+ embed_function("getSlideUpperLinLimit", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("getConstraintUseFrameOffset", ID_TYPE_FN_NUM);
+ embed_function("getSlideUseFrameOffset", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
- embed_function("setConstraintDampingDirAng", ID_TYPE_SUB);
+ embed_function("setSlideDampingDirAng", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
- embed_function("setConstraintDampingDirLin", ID_TYPE_SUB);
+ embed_function("setSlideDampingDirLin", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
- embed_function("setConstraintDampingLimAng", ID_TYPE_SUB);
+ embed_function("setSlideDampingLimAng", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
- embed_function("setConstraintDampingLimLin", ID_TYPE_SUB);
+ embed_function("setSlideDampingLimLin", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
- embed_function("setConstraintDampingOrthoAng", ID_TYPE_SUB);
+ embed_function("setSlideDampingOrthoAng", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
- embed_function("setConstraintDampingOrthoLin", ID_TYPE_SUB);
+ embed_function("setSlideDampingOrthoLin", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
- embed_function("setConstraintLowerAngLimit", ID_TYPE_SUB);
+ embed_function("setSlideLowerAngLimit", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
- embed_function("setConstraintLowerLinLimit", ID_TYPE_SUB);
+ embed_function("setSlideLowerLinLimit", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
- embed_function("setConstraintRestitutionDirAng", ID_TYPE_SUB);
+ embed_function("setSlideRestitutionDirAng", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
- embed_function("setConstraintRestitutionDirLin", ID_TYPE_SUB);
+ embed_function("setSlideRestitutionDirLin", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
- embed_function("setConstraintRestitutionLimAng", ID_TYPE_SUB);
+ embed_function("setSlideRestitutionLimAng", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
- embed_function("setConstraintRestitutionLimLin", ID_TYPE_SUB);
+ embed_function("setSlideRestitutionLimLin", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
- embed_function("setConstraintRestitutionOrthoAng", ID_TYPE_SUB);
+ embed_function("setSlideRestitutionOrthoAng", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
- embed_function("setConstraintRestitutionOrthoLin", ID_TYPE_SUB);
+ embed_function("setSlideRestitutionOrthoLin", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
- embed_function("setConstraintSoftnessDirAng", ID_TYPE_SUB);
+ embed_function("setSlideSoftnessDirAng", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
- embed_function("setConstraintSoftnessDirLin", ID_TYPE_SUB);
+ embed_function("setSlideSoftnessDirLin", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
- embed_function("setConstraintSoftnessLimAng", ID_TYPE_SUB);
+ embed_function("setSlideSoftnessLimAng", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
- embed_function("setConstraintSoftnessLimLin", ID_TYPE_SUB);
+ embed_function("setSlideSoftnessLimLin", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
- embed_function("setConstraintSoftnessOrthoAng", ID_TYPE_SUB);
+ embed_function("setSlideSoftnessOrthoAng", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
- embed_function("setConstraintSoftnessOrthoLin", ID_TYPE_SUB);
+ embed_function("setSlideSoftnessOrthoLin", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
- embed_function("setConstraintUpperAngLimit", ID_TYPE_SUB);
+ embed_function("setSlideUpperAngLimit", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
- embed_function("setConstraintUpperLinLimit", ID_TYPE_SUB);
+ embed_function("setSlideUpperLinLimit", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
+ embed_function("ConstraintExists", ID_TYPE_FN_NUM);
+ add_embedded_arg("constraint_id", ID_TYPE_NUM);
embed_function("SetCameraPosition", ID_TYPE_SUB);
add_embedded_arg("x", ID_TYPE_NUM);
add_embedded_arg("y", ID_TYPE_NUM);
@@ -2047,8 +2055,6 @@ void init_embedded_functions()
add_embedded_arg("spherePercentage", ID_TYPE_NUM);
add_embedded_arg("radius", ID_TYPE_NUM);
embed_function("RemoveSceneSky", ID_TYPE_SUB);
- embed_function("SetWorld3DDeltaTime", ID_TYPE_SUB);
- add_embedded_arg("dt", ID_TYPE_NUM);
embed_function("SetWorld3DMaxSubSteps", ID_TYPE_SUB);
add_embedded_arg("steps", ID_TYPE_NUM);
embed_function("SetWorld3DTimeStep", ID_TYPE_SUB);
@@ -2085,15 +2091,15 @@ void init_embedded_functions()
embed_function("setParticleMesh", ID_TYPE_SUB);
add_embedded_arg("actor", ID_TYPE_NUM);
add_embedded_arg("mesh", ID_TYPE_NUM);
- embed_function("setParticleMinParticlesPerSecond", ID_TYPE_SUB);
+ embed_function("setMinParticlesPerSecond", ID_TYPE_SUB);
add_embedded_arg("actor", ID_TYPE_NUM);
add_embedded_arg("minParticlesPerSecond", ID_TYPE_NUM);
- embed_function("getParticleMinParticlesPerSecond", ID_TYPE_FN_NUM);
+ embed_function("getMinParticlesPerSecond", ID_TYPE_FN_NUM);
add_embedded_arg("actor", ID_TYPE_NUM);
- embed_function("setParticleMaxParticlesPerSecond", ID_TYPE_SUB);
+ embed_function("setMaxParticlesPerSecond", ID_TYPE_SUB);
add_embedded_arg("actor", ID_TYPE_NUM);
add_embedded_arg("maxParticlesPerSecond", ID_TYPE_NUM);
- embed_function("getParticleMaxParticlesPerSecond", ID_TYPE_FN_NUM);
+ embed_function("getMaxParticlesPerSecond", ID_TYPE_FN_NUM);
add_embedded_arg("actor", ID_TYPE_NUM);
embed_function("setParticleMinStartColor", ID_TYPE_SUB);
add_embedded_arg("actor", ID_TYPE_NUM);
@@ -2192,6 +2198,8 @@ void init_embedded_functions()
add_embedded_arg("flag", ID_TYPE_NUM);
embed_function("particleIsUsingOutlineOnly", ID_TYPE_FN_NUM);
add_embedded_arg("actor", ID_TYPE_NUM);
+ embed_function("getParticleType", ID_TYPE_FN_NUM);
+ add_embedded_arg("actor", ID_TYPE_NUM);
embed_function("lightIsCastingShadow", ID_TYPE_FN_NUM);
add_embedded_arg("actor", ID_TYPE_NUM);
embed_function("getLightType", ID_TYPE_FN_NUM);
@@ -2510,6 +2518,8 @@ void init_embedded_functions()
embed_function("getActorMaterialType", ID_TYPE_FN_NUM);
add_embedded_arg("actor", ID_TYPE_NUM);
add_embedded_arg("material", ID_TYPE_NUM);
+ embed_function("MaterialExists", ID_TYPE_FN_NUM);
+ add_embedded_arg("material", ID_TYPE_NUM);
}
void init_embedded_types()
diff --git a/rcbasic_build/rcbasic4_changes.ods b/rcbasic_build/rcbasic4_changes.ods
index 506c968..e4cd4d8 100644
Binary files a/rcbasic_build/rcbasic4_changes.ods and b/rcbasic_build/rcbasic4_changes.ods differ
diff --git a/rcbasic_build/rcbasic_dev.txt b/rcbasic_build/rcbasic_dev.txt
index 721ca08..6682617 100644
--- a/rcbasic_build/rcbasic_dev.txt
+++ b/rcbasic_build/rcbasic_dev.txt
@@ -3,7 +3,6 @@ add_embedded_arg("txt$", ID_TYPE_STR);
embed_function("Input$", ID_TYPE_FN_STR);
add_embedded_arg("prompt$", ID_TYPE_STR);
embed_function("tst", ID_TYPE_SUB);
-add_embedded_arg("x", ID_TYPE_BYREF_NUM);
embed_function("ArrayDim", ID_TYPE_FN_NUM);
add_embedded_arg("id", ID_TYPE_BYREF_NUM);
embed_function("StringArrayDim", ID_TYPE_FN_NUM);
@@ -449,9 +448,14 @@ add_embedded_arg("viewport_h", ID_TYPE_NUM);
add_embedded_arg("mode", ID_TYPE_NUM);
embed_function("CloseCanvas", ID_TYPE_SUB);
add_embedded_arg("c_num", ID_TYPE_NUM);
-embed_function("SetCanvas3D", ID_TYPE_SUB);
-add_embedded_arg("c_num", ID_TYPE_NUM);
-add_embedded_arg("flag", ID_TYPE_NUM);
+embed_function("OpenCanvas3D", ID_TYPE_FN_NUM);
+add_embedded_arg("w", ID_TYPE_NUM);
+add_embedded_arg("h", ID_TYPE_NUM);
+add_embedded_arg("viewport_x", ID_TYPE_NUM);
+add_embedded_arg("viewport_y", ID_TYPE_NUM);
+add_embedded_arg("viewport_w", ID_TYPE_NUM);
+add_embedded_arg("viewport_h", ID_TYPE_NUM);
+add_embedded_arg("mode", ID_TYPE_NUM);
embed_function("SetCanvasVisible", ID_TYPE_SUB);
add_embedded_arg("c_num", ID_TYPE_NUM);
add_embedded_arg("flag", ID_TYPE_NUM);
@@ -494,9 +498,9 @@ add_embedded_arg("c_num", ID_TYPE_NUM);
add_embedded_arg("c", ID_TYPE_NUM);
embed_function("GetCanvasColorMod", ID_TYPE_FN_NUM);
add_embedded_arg("c_num", ID_TYPE_NUM);
-embed_function("CloneCanvas", ID_TYPE_SUB);
-add_embedded_arg("src", ID_TYPE_NUM);
-add_embedded_arg("dst", ID_TYPE_NUM);
+embed_function("CloneCanvas", ID_TYPE_FN_NUM);
+add_embedded_arg("c_num", ID_TYPE_NUM);
+add_embedded_arg("mode", ID_TYPE_NUM);
embed_function("SetCanvasZ", ID_TYPE_SUB);
add_embedded_arg("c_num", ID_TYPE_NUM);
add_embedded_arg("z", ID_TYPE_NUM);
@@ -508,6 +512,16 @@ add_embedded_arg("y", ID_TYPE_NUM);
add_embedded_arg("w", ID_TYPE_NUM);
add_embedded_arg("h", ID_TYPE_NUM);
embed_function("ActiveCanvas", ID_TYPE_FN_NUM);
+embed_function("SetCanvasPhysics2D", ID_TYPE_SUB);
+add_embedded_arg("c_num", ID_TYPE_NUM);
+add_embedded_arg("state", ID_TYPE_NUM);
+embed_function("OpenSpriteCanvas", ID_TYPE_FN_NUM);
+add_embedded_arg("w", ID_TYPE_NUM);
+add_embedded_arg("h", ID_TYPE_NUM);
+add_embedded_arg("viewport_x", ID_TYPE_NUM);
+add_embedded_arg("viewport_y", ID_TYPE_NUM);
+add_embedded_arg("viewport_w", ID_TYPE_NUM);
+add_embedded_arg("viewport_h", ID_TYPE_NUM);
embed_function("Circle", ID_TYPE_SUB);
add_embedded_arg("x", ID_TYPE_NUM);
add_embedded_arg("y", ID_TYPE_NUM);
@@ -579,8 +593,8 @@ add_embedded_arg("w", ID_TYPE_NUM);
add_embedded_arg("h", ID_TYPE_NUM);
add_embedded_arg("buffer", ID_TYPE_BYREF_NUM);
add_embedded_arg("color", ID_TYPE_NUM);
-embed_function("getImageBuffer", ID_TYPE_SUB);
-add_embedded_arg("img_id", ID_TYPE_NUM);
+embed_function("BufferFromImage", ID_TYPE_SUB);
+add_embedded_arg("slot", ID_TYPE_NUM);
add_embedded_arg("buffer", ID_TYPE_BYREF_NUM);
embed_function("ImageExists", ID_TYPE_FN_NUM);
add_embedded_arg("slot", ID_TYPE_NUM);
@@ -1304,6 +1318,8 @@ embed_function("CreateLightActor", ID_TYPE_FN_NUM);
embed_function("CreateBillboardActor", ID_TYPE_FN_NUM);
embed_function("CreateTerrainActor", ID_TYPE_FN_NUM);
add_embedded_arg("hmap_file$", ID_TYPE_STR);
+embed_function("CreateParticleActor", ID_TYPE_FN_NUM);
+add_embedded_arg("particle_type", ID_TYPE_NUM);
embed_function("DeleteActor", ID_TYPE_SUB);
add_embedded_arg("actor", ID_TYPE_NUM);
embed_function("GetActorTransform", ID_TYPE_SUB);
@@ -1314,7 +1330,7 @@ add_embedded_arg("actor", ID_TYPE_NUM);
add_embedded_arg("x", ID_TYPE_NUM);
add_embedded_arg("y", ID_TYPE_NUM);
add_embedded_arg("z", ID_TYPE_NUM);
-embed_function("TranslateActor", ID_TYPE_SUB);
+embed_function("TranslateActorLocal", ID_TYPE_SUB);
add_embedded_arg("actor", ID_TYPE_NUM);
add_embedded_arg("x", ID_TYPE_NUM);
add_embedded_arg("y", ID_TYPE_NUM);
@@ -1373,6 +1389,8 @@ embed_function("AddActorShadow", ID_TYPE_SUB);
add_embedded_arg("actor", ID_TYPE_NUM);
embed_function("RemoveActorShadow", ID_TYPE_SUB);
add_embedded_arg("actor", ID_TYPE_NUM);
+embed_function("ActorExists", ID_TYPE_FN_NUM);
+add_embedded_arg("actor", ID_TYPE_NUM);
embed_function("SetGravity3D", ID_TYPE_SUB);
add_embedded_arg("x", ID_TYPE_NUM);
add_embedded_arg("y", ID_TYPE_NUM);
@@ -1552,12 +1570,12 @@ add_embedded_arg("x", ID_TYPE_BYREF_NUM);
add_embedded_arg("y", ID_TYPE_BYREF_NUM);
add_embedded_arg("z", ID_TYPE_BYREF_NUM);
add_embedded_arg("w", ID_TYPE_BYREF_NUM);
-embed_function("getActorLinearVelocity", ID_TYPE_SUB);
+embed_function("getActorLinearVelocityWorld", ID_TYPE_SUB);
add_embedded_arg("actor", ID_TYPE_NUM);
add_embedded_arg("x", ID_TYPE_BYREF_NUM);
add_embedded_arg("y", ID_TYPE_BYREF_NUM);
add_embedded_arg("z", ID_TYPE_BYREF_NUM);
-embed_function("getActorAngularVelocity", ID_TYPE_SUB);
+embed_function("getActorAngularVelocityWorld", ID_TYPE_SUB);
add_embedded_arg("actor", ID_TYPE_NUM);
add_embedded_arg("x", ID_TYPE_BYREF_NUM);
add_embedded_arg("y", ID_TYPE_BYREF_NUM);
@@ -1648,6 +1666,9 @@ add_embedded_arg("actor", ID_TYPE_NUM);
add_embedded_arg("x", ID_TYPE_BYREF_NUM);
add_embedded_arg("y", ID_TYPE_BYREF_NUM);
add_embedded_arg("z", ID_TYPE_BYREF_NUM);
+embed_function("SetActorSleepState", ID_TYPE_SUB);
+add_embedded_arg("actor", ID_TYPE_NUM);
+add_embedded_arg("state", ID_TYPE_NUM);
embed_function("createPointConstraint", ID_TYPE_FN_NUM);
add_embedded_arg("actorA", ID_TYPE_NUM);
add_embedded_arg("pxA", ID_TYPE_NUM);
@@ -1662,39 +1683,26 @@ add_embedded_arg("pzA", ID_TYPE_NUM);
add_embedded_arg("pxB", ID_TYPE_NUM);
add_embedded_arg("pyB", ID_TYPE_NUM);
add_embedded_arg("pzB", ID_TYPE_NUM);
-embed_function("setConstraintPivotA", ID_TYPE_SUB);
+embed_function("setPointPivotA", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("x", ID_TYPE_NUM);
add_embedded_arg("y", ID_TYPE_NUM);
add_embedded_arg("z", ID_TYPE_NUM);
-embed_function("setConstraintPivotB", ID_TYPE_SUB);
+embed_function("setPointPivotB", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("x", ID_TYPE_NUM);
add_embedded_arg("y", ID_TYPE_NUM);
add_embedded_arg("z", ID_TYPE_NUM);
embed_function("createHingeConstraint", ID_TYPE_FN_NUM);
add_embedded_arg("actorA", ID_TYPE_NUM);
-add_embedded_arg("pxA", ID_TYPE_NUM);
-add_embedded_arg("pyA", ID_TYPE_NUM);
-add_embedded_arg("pzA", ID_TYPE_NUM);
-add_embedded_arg("axA", ID_TYPE_NUM);
-add_embedded_arg("ayA", ID_TYPE_NUM);
-add_embedded_arg("azA", ID_TYPE_NUM);
+add_embedded_arg("frameA", ID_TYPE_NUM);
+add_embedded_arg("useReferenceFrameA", ID_TYPE_NUM);
embed_function("createHingeConstraintEx", ID_TYPE_FN_NUM);
add_embedded_arg("actorA", ID_TYPE_NUM);
add_embedded_arg("actorB", ID_TYPE_NUM);
-add_embedded_arg("pxA", ID_TYPE_NUM);
-add_embedded_arg("pyA", ID_TYPE_NUM);
-add_embedded_arg("pzA", ID_TYPE_NUM);
-add_embedded_arg("pxB", ID_TYPE_NUM);
-add_embedded_arg("pyB", ID_TYPE_NUM);
-add_embedded_arg("pzB", ID_TYPE_NUM);
-add_embedded_arg("axA", ID_TYPE_NUM);
-add_embedded_arg("ayA", ID_TYPE_NUM);
-add_embedded_arg("azA", ID_TYPE_NUM);
-add_embedded_arg("axB", ID_TYPE_NUM);
-add_embedded_arg("ayB", ID_TYPE_NUM);
-add_embedded_arg("azB", ID_TYPE_NUM);
+add_embedded_arg("frameA", ID_TYPE_NUM);
+add_embedded_arg("frameB", ID_TYPE_NUM);
+add_embedded_arg("useReferenceFrameA", ID_TYPE_NUM);
embed_function("createSlideConstraint", ID_TYPE_FN_NUM);
add_embedded_arg("actorA", ID_TYPE_NUM);
add_embedded_arg("frameInB_matrix", ID_TYPE_NUM);
@@ -1748,7 +1756,7 @@ add_embedded_arg("mA", ID_TYPE_NUM);
embed_function("getConstraintBFrame", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("mA", ID_TYPE_NUM);
-embed_function("setConstraintAxis", ID_TYPE_SUB);
+embed_function("setHingeAxis", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("x", ID_TYPE_NUM);
add_embedded_arg("y", ID_TYPE_NUM);
@@ -1775,11 +1783,11 @@ add_embedded_arg("twistSpan", ID_TYPE_NUM);
add_embedded_arg("softness", ID_TYPE_NUM);
add_embedded_arg("bias_factor", ID_TYPE_NUM);
add_embedded_arg("relaxation_factor", ID_TYPE_NUM);
-embed_function("getConstraintLimitBiasFactor", ID_TYPE_FN_NUM);
+embed_function("getHingeLimitBiasFactor", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getLimitRelaxationFactor", ID_TYPE_FN_NUM);
+embed_function("getHingeLimitRelaxationFactor", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintLimitSign", ID_TYPE_FN_NUM);
+embed_function("getHingeLimitSign", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
embed_function("getHingeSolveLimit", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
@@ -1790,12 +1798,12 @@ embed_function("getConstraintAppliedImpulse", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
embed_function("getConstraintFixedActor", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintPivotA", ID_TYPE_SUB);
+embed_function("getPointPivotA", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("x", ID_TYPE_BYREF_NUM);
add_embedded_arg("y", ID_TYPE_BYREF_NUM);
add_embedded_arg("z", ID_TYPE_BYREF_NUM);
-embed_function("getConstraintPivotB", ID_TYPE_SUB);
+embed_function("getPointPivotB", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("x", ID_TYPE_BYREF_NUM);
add_embedded_arg("y", ID_TYPE_BYREF_NUM);
@@ -1807,20 +1815,20 @@ add_embedded_arg("constraint_id", ID_TYPE_NUM);
embed_function("setConstraintSolverIterations", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("num", ID_TYPE_NUM);
-embed_function("getConstraintBiasFactor", ID_TYPE_FN_NUM);
+embed_function("getConeBiasFactor", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintDamping", ID_TYPE_FN_NUM);
+embed_function("getConeDamping", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintFixThresh", ID_TYPE_FN_NUM);
+embed_function("getConeFixThresh", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintLimit", ID_TYPE_FN_NUM);
+embed_function("getConeLimit", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("limit_index", ID_TYPE_NUM);
embed_function("getConstraintLimitSoftness", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
embed_function("getConstraintSolverIterations", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintAnglePoint", ID_TYPE_SUB);
+embed_function("getConeAnglePoint", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("angle", ID_TYPE_NUM);
add_embedded_arg("c_len", ID_TYPE_NUM);
@@ -1829,165 +1837,165 @@ add_embedded_arg("y", ID_TYPE_BYREF_NUM);
add_embedded_arg("z", ID_TYPE_BYREF_NUM);
embed_function("getConstraintAngularOnly", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintSolveSwingLimit", ID_TYPE_FN_NUM);
+embed_function("getConeSolveSwingLimit", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintSolveTwistLimit", ID_TYPE_FN_NUM);
+embed_function("getConeSolveTwistLimit", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintSolveLimit", ID_TYPE_FN_NUM);
+embed_function("getConeSwingSpan1", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintSwingSpan1", ID_TYPE_FN_NUM);
+embed_function("getConeSwingSpan2", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintSwingSpan2", ID_TYPE_FN_NUM);
+embed_function("getConeTwistAngle", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintTwistAngle", ID_TYPE_FN_NUM);
+embed_function("getConeTwistLimitSign", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintTwistLimitSign", ID_TYPE_FN_NUM);
-add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintTwistSpan", ID_TYPE_FN_NUM);
+embed_function("getConeTwistSpan", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
embed_function("setConstraintAngularOnly", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("flag", ID_TYPE_NUM);
-embed_function("setConstraintDamping", ID_TYPE_SUB);
+embed_function("setConeDamping", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("damping", ID_TYPE_NUM);
-embed_function("setConstraintFixThresh", ID_TYPE_SUB);
+embed_function("setConeFixThresh", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("fixThresh", ID_TYPE_NUM);
-embed_function("getConstraintAnchorA", ID_TYPE_SUB);
+embed_function("getSlideAnchorA", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("x", ID_TYPE_BYREF_NUM);
add_embedded_arg("y", ID_TYPE_BYREF_NUM);
add_embedded_arg("z", ID_TYPE_BYREF_NUM);
-embed_function("getConstraintAnchorB", ID_TYPE_SUB);
+embed_function("getSlideAnchorB", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("x", ID_TYPE_BYREF_NUM);
add_embedded_arg("y", ID_TYPE_BYREF_NUM);
add_embedded_arg("z", ID_TYPE_BYREF_NUM);
-embed_function("getConstraintAngDepth", ID_TYPE_FN_NUM);
+embed_function("getSlideAngDepth", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintAngularPos", ID_TYPE_FN_NUM);
+embed_function("getSlideAngularPos", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintDampingDirAng", ID_TYPE_FN_NUM);
+embed_function("getSlideDampingDirAng", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintDampingDirLin", ID_TYPE_FN_NUM);
+embed_function("getSlideDampingDirLin", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintDampingLimAng", ID_TYPE_FN_NUM);
+embed_function("getSlideDampingLimAng", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintDampingLimLin", ID_TYPE_FN_NUM);
+embed_function("getSlideDampingLimLin", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintDampingOrthoAng", ID_TYPE_FN_NUM);
+embed_function("getSlideDampingOrthoAng", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintDampingOrthoLin", ID_TYPE_FN_NUM);
+embed_function("getSlideDampingOrthoLin", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintLinearPos", ID_TYPE_FN_NUM);
+embed_function("getSlideLinearPos", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintLinDepth", ID_TYPE_FN_NUM);
+embed_function("getSlideLinDepth", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintLowerAngLimit", ID_TYPE_FN_NUM);
+embed_function("getSlideLowerAngLimit", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintLowerLinLimit", ID_TYPE_FN_NUM);
+embed_function("getSlideLowerLinLimit", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintRestitutionDirAng", ID_TYPE_FN_NUM);
+embed_function("getSlideRestitutionDirAng", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintRestitutionDirLin", ID_TYPE_FN_NUM);
+embed_function("getSlideRestitutionDirLin", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintRestitutionLimAng", ID_TYPE_FN_NUM);
+embed_function("getSlideRestitutionLimAng", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintRestitutionLimLin", ID_TYPE_FN_NUM);
+embed_function("getSlideRestitutionLimLin", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintRestitutionOrthoAng", ID_TYPE_FN_NUM);
+embed_function("getSlideRestitutionOrthoAng", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintRestitutionOrthoLin", ID_TYPE_FN_NUM);
+embed_function("getSlideRestitutionOrthoLin", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintSoftnessDirAng", ID_TYPE_FN_NUM);
+embed_function("getSlideSoftnessDirAng", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintSoftnessDirLin", ID_TYPE_FN_NUM);
+embed_function("getSlideSoftnessDirLin", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintSoftnessLimAng", ID_TYPE_FN_NUM);
+embed_function("getSlideSoftnessLimAng", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintSoftnessLimLin", ID_TYPE_FN_NUM);
+embed_function("getSlideSoftnessLimLin", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintSoftnessOrthoAng", ID_TYPE_FN_NUM);
+embed_function("getSlideSoftnessOrthoAng", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintSoftnessOrthoLin", ID_TYPE_FN_NUM);
+embed_function("getSlideSoftnessOrthoLin", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintSolveAngLimit", ID_TYPE_FN_NUM);
+embed_function("getSlideSolveAngLimit", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintSolveLinLimit", ID_TYPE_FN_NUM);
+embed_function("getSlideSolveLinLimit", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintUpperAngLimit", ID_TYPE_FN_NUM);
+embed_function("getSlideUpperAngLimit", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintUpperLinLimit", ID_TYPE_FN_NUM);
+embed_function("getSlideUpperLinLimit", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("getConstraintUseFrameOffset", ID_TYPE_FN_NUM);
+embed_function("getSlideUseFrameOffset", ID_TYPE_FN_NUM);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
-embed_function("setConstraintDampingDirAng", ID_TYPE_SUB);
+embed_function("setSlideDampingDirAng", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
-embed_function("setConstraintDampingDirLin", ID_TYPE_SUB);
+embed_function("setSlideDampingDirLin", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
-embed_function("setConstraintDampingLimAng", ID_TYPE_SUB);
+embed_function("setSlideDampingLimAng", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
-embed_function("setConstraintDampingLimLin", ID_TYPE_SUB);
+embed_function("setSlideDampingLimLin", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
-embed_function("setConstraintDampingOrthoAng", ID_TYPE_SUB);
+embed_function("setSlideDampingOrthoAng", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
-embed_function("setConstraintDampingOrthoLin", ID_TYPE_SUB);
+embed_function("setSlideDampingOrthoLin", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
-embed_function("setConstraintLowerAngLimit", ID_TYPE_SUB);
+embed_function("setSlideLowerAngLimit", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
-embed_function("setConstraintLowerLinLimit", ID_TYPE_SUB);
+embed_function("setSlideLowerLinLimit", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
-embed_function("setConstraintRestitutionDirAng", ID_TYPE_SUB);
+embed_function("setSlideRestitutionDirAng", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
-embed_function("setConstraintRestitutionDirLin", ID_TYPE_SUB);
+embed_function("setSlideRestitutionDirLin", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
-embed_function("setConstraintRestitutionLimAng", ID_TYPE_SUB);
+embed_function("setSlideRestitutionLimAng", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
-embed_function("setConstraintRestitutionLimLin", ID_TYPE_SUB);
+embed_function("setSlideRestitutionLimLin", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
-embed_function("setConstraintRestitutionOrthoAng", ID_TYPE_SUB);
+embed_function("setSlideRestitutionOrthoAng", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
-embed_function("setConstraintRestitutionOrthoLin", ID_TYPE_SUB);
+embed_function("setSlideRestitutionOrthoLin", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
-embed_function("setConstraintSoftnessDirAng", ID_TYPE_SUB);
+embed_function("setSlideSoftnessDirAng", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
-embed_function("setConstraintSoftnessDirLin", ID_TYPE_SUB);
+embed_function("setSlideSoftnessDirLin", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
-embed_function("setConstraintSoftnessLimAng", ID_TYPE_SUB);
+embed_function("setSlideSoftnessLimAng", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
-embed_function("setConstraintSoftnessLimLin", ID_TYPE_SUB);
+embed_function("setSlideSoftnessLimLin", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
-embed_function("setConstraintSoftnessOrthoAng", ID_TYPE_SUB);
+embed_function("setSlideSoftnessOrthoAng", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
-embed_function("setConstraintSoftnessOrthoLin", ID_TYPE_SUB);
+embed_function("setSlideSoftnessOrthoLin", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
-embed_function("setConstraintUpperAngLimit", ID_TYPE_SUB);
+embed_function("setSlideUpperAngLimit", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
-embed_function("setConstraintUpperLinLimit", ID_TYPE_SUB);
+embed_function("setSlideUpperLinLimit", ID_TYPE_SUB);
add_embedded_arg("constraint_id", ID_TYPE_NUM);
add_embedded_arg("n", ID_TYPE_NUM);
+embed_function("ConstraintExists", ID_TYPE_FN_NUM);
+add_embedded_arg("constraint_id", ID_TYPE_NUM);
embed_function("SetCameraPosition", ID_TYPE_SUB);
add_embedded_arg("x", ID_TYPE_NUM);
add_embedded_arg("y", ID_TYPE_NUM);
@@ -2041,8 +2049,6 @@ add_embedded_arg("txPercentage", ID_TYPE_NUM);
add_embedded_arg("spherePercentage", ID_TYPE_NUM);
add_embedded_arg("radius", ID_TYPE_NUM);
embed_function("RemoveSceneSky", ID_TYPE_SUB);
-embed_function("SetWorld3DDeltaTime", ID_TYPE_SUB);
-add_embedded_arg("dt", ID_TYPE_NUM);
embed_function("SetWorld3DMaxSubSteps", ID_TYPE_SUB);
add_embedded_arg("steps", ID_TYPE_NUM);
embed_function("SetWorld3DTimeStep", ID_TYPE_SUB);
@@ -2079,15 +2085,15 @@ add_embedded_arg("actor", ID_TYPE_NUM);
embed_function("setParticleMesh", ID_TYPE_SUB);
add_embedded_arg("actor", ID_TYPE_NUM);
add_embedded_arg("mesh", ID_TYPE_NUM);
-embed_function("setParticleMinParticlesPerSecond", ID_TYPE_SUB);
+embed_function("setMinParticlesPerSecond", ID_TYPE_SUB);
add_embedded_arg("actor", ID_TYPE_NUM);
add_embedded_arg("minParticlesPerSecond", ID_TYPE_NUM);
-embed_function("getParticleMinParticlesPerSecond", ID_TYPE_FN_NUM);
+embed_function("getMinParticlesPerSecond", ID_TYPE_FN_NUM);
add_embedded_arg("actor", ID_TYPE_NUM);
-embed_function("setParticleMaxParticlesPerSecond", ID_TYPE_SUB);
+embed_function("setMaxParticlesPerSecond", ID_TYPE_SUB);
add_embedded_arg("actor", ID_TYPE_NUM);
add_embedded_arg("maxParticlesPerSecond", ID_TYPE_NUM);
-embed_function("getParticleMaxParticlesPerSecond", ID_TYPE_FN_NUM);
+embed_function("getMaxParticlesPerSecond", ID_TYPE_FN_NUM);
add_embedded_arg("actor", ID_TYPE_NUM);
embed_function("setParticleMinStartColor", ID_TYPE_SUB);
add_embedded_arg("actor", ID_TYPE_NUM);
@@ -2186,6 +2192,8 @@ add_embedded_arg("actor", ID_TYPE_NUM);
add_embedded_arg("flag", ID_TYPE_NUM);
embed_function("particleIsUsingOutlineOnly", ID_TYPE_FN_NUM);
add_embedded_arg("actor", ID_TYPE_NUM);
+embed_function("getParticleType", ID_TYPE_FN_NUM);
+add_embedded_arg("actor", ID_TYPE_NUM);
embed_function("lightIsCastingShadow", ID_TYPE_FN_NUM);
add_embedded_arg("actor", ID_TYPE_NUM);
embed_function("getLightType", ID_TYPE_FN_NUM);
@@ -2504,3 +2512,5 @@ add_embedded_arg("material_type", ID_TYPE_NUM);
embed_function("getActorMaterialType", ID_TYPE_FN_NUM);
add_embedded_arg("actor", ID_TYPE_NUM);
add_embedded_arg("material", ID_TYPE_NUM);
+embed_function("MaterialExists", ID_TYPE_FN_NUM);
+add_embedded_arg("material", ID_TYPE_NUM);
diff --git a/rcbasic_build/rcbasic_dev2.txt b/rcbasic_build/rcbasic_dev2.txt
index b71f76b..fbdd23d 100644
--- a/rcbasic_build/rcbasic_dev2.txt
+++ b/rcbasic_build/rcbasic_dev2.txt
@@ -3,7 +3,6 @@
#define FN_Input$ 1
#define INPUT$_PROMPT$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
#define FN_tst 2
-#define TST_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define FN_ArrayDim 3
#define ARRAYDIM_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define FN_StringArrayDim 4
@@ -449,9 +448,14 @@
#define OPENCANVAS_MODE num_var[6].nref[0].value[ num_var[6].byref_offset ]
#define FN_CloseCanvas 176
#define CLOSECANVAS_C_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetCanvas3D 177
-#define SETCANVAS3D_C_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCANVAS3D_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_OpenCanvas3D 177
+#define OPENCANVAS3D_W num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define OPENCANVAS3D_H num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define OPENCANVAS3D_VIEWPORT_X num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define OPENCANVAS3D_VIEWPORT_Y num_var[3].nref[0].value[ num_var[3].byref_offset ]
+#define OPENCANVAS3D_VIEWPORT_W num_var[4].nref[0].value[ num_var[4].byref_offset ]
+#define OPENCANVAS3D_VIEWPORT_H num_var[5].nref[0].value[ num_var[5].byref_offset ]
+#define OPENCANVAS3D_MODE num_var[6].nref[0].value[ num_var[6].byref_offset ]
#define FN_SetCanvasVisible 178
#define SETCANVASVISIBLE_C_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETCANVASVISIBLE_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
@@ -495,8 +499,8 @@
#define FN_GetCanvasColorMod 190
#define GETCANVASCOLORMOD_C_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define FN_CloneCanvas 191
-#define CLONECANVAS_SRC num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define CLONECANVAS_DST num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define CLONECANVAS_C_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define CLONECANVAS_MODE num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define FN_SetCanvasZ 192
#define SETCANVASZ_C_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETCANVASZ_Z num_var[1].nref[0].value[ num_var[1].byref_offset ]
@@ -508,114 +512,124 @@
#define CANVASCLIP_W num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define CANVASCLIP_H num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define FN_ActiveCanvas 195
-#define FN_Circle 196
+#define FN_SetCanvasPhysics2D 196
+#define SETCANVASPHYSICS2D_C_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETCANVASPHYSICS2D_STATE num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_OpenSpriteCanvas 197
+#define OPENSPRITECANVAS_W num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define OPENSPRITECANVAS_H num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define OPENSPRITECANVAS_VIEWPORT_X num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define OPENSPRITECANVAS_VIEWPORT_Y num_var[3].nref[0].value[ num_var[3].byref_offset ]
+#define OPENSPRITECANVAS_VIEWPORT_W num_var[4].nref[0].value[ num_var[4].byref_offset ]
+#define OPENSPRITECANVAS_VIEWPORT_H num_var[5].nref[0].value[ num_var[5].byref_offset ]
+#define FN_Circle 198
#define CIRCLE_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CIRCLE_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define CIRCLE_RADIUS num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_CircleFill 197
+#define FN_CircleFill 199
#define CIRCLEFILL_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CIRCLEFILL_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define CIRCLEFILL_RADIUS num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_Ellipse 198
+#define FN_Ellipse 200
#define ELLIPSE_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define ELLIPSE_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define ELLIPSE_RX num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define ELLIPSE_RY num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_EllipseFill 199
+#define FN_EllipseFill 201
#define ELLIPSEFILL_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define ELLIPSEFILL_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define ELLIPSEFILL_RX num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define ELLIPSEFILL_RY num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_FloodFill 200
+#define FN_FloodFill 202
#define FLOODFILL_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define FLOODFILL_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetPixel 201
+#define FN_GetPixel 203
#define GETPIXEL_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETPIXEL_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_SetColor 202
+#define FN_SetColor 204
#define SETCOLOR_C num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_Line 203
+#define FN_Line 205
#define LINE_X1 num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define LINE_Y1 num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define LINE_X2 num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define LINE_Y2 num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_Poly 204
+#define FN_Poly 206
#define POLY_N num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define POLY_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define POLY_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_Rect 205
+#define FN_Rect 207
#define RECT_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define RECT_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define RECT_W num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define RECT_H num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_RectFill 206
+#define FN_RectFill 208
#define RECTFILL_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define RECTFILL_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define RECTFILL_W num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define RECTFILL_H num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_RGB 207
+#define FN_RGB 209
#define RGB_R num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define RGB_G num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define RGB_B num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_RGBA 208
+#define FN_RGBA 210
#define RGBA_R num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define RGBA_G num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define RGBA_B num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define RGBA_A num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_Pset 209
+#define FN_Pset 211
#define PSET_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define PSET_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_LoadImage 210
+#define FN_LoadImage 212
#define LOADIMAGE_IMG$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_LoadImageEx 211
+#define FN_LoadImageEx 213
#define LOADIMAGEEX_IMG$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
#define LOADIMAGEEX_COLKEY num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_createImage 212
+#define FN_createImage 214
#define CREATEIMAGE_W num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CREATEIMAGE_H num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define CREATEIMAGE_BUFFER num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_createImageEx 213
+#define FN_createImageEx 215
#define CREATEIMAGEEX_W num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CREATEIMAGEEX_H num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define CREATEIMAGEEX_BUFFER num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define CREATEIMAGEEX_COLOR num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getImageBuffer 214
-#define GETIMAGEBUFFER_IMG_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define GETIMAGEBUFFER_BUFFER num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_ImageExists 215
+#define FN_BufferFromImage 216
+#define BUFFERFROMIMAGE_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define BUFFERFROMIMAGE_BUFFER num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_ImageExists 217
#define IMAGEEXISTS_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_ColorKey 216
+#define FN_ColorKey 218
#define COLORKEY_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define COLORKEY_C num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setBilinearFilter 217
+#define FN_setBilinearFilter 219
#define SETBILINEARFILTER_FLAG num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getBilinearFilter 218
-#define FN_CopyImage 219
+#define FN_getBilinearFilter 220
+#define FN_CopyImage 221
#define COPYIMAGE_IMG_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_DeleteImage 220
+#define FN_DeleteImage 222
#define DELETEIMAGE_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetImageAlpha 221
+#define FN_SetImageAlpha 223
#define SETIMAGEALPHA_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETIMAGEALPHA_A num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetImageAlpha 222
+#define FN_GetImageAlpha 224
#define GETIMAGEALPHA_IMG_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetImageSize 223
+#define FN_GetImageSize 225
#define GETIMAGESIZE_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETIMAGESIZE_W num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETIMAGESIZE_H num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_SetBlendMode 224
+#define FN_SetBlendMode 226
#define SETBLENDMODE_BLEND_MODE num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetBlendMode 225
-#define FN_SetImageColorMod 226
+#define FN_GetBlendMode 227
+#define FN_SetImageColorMod 228
#define SETIMAGECOLORMOD_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETIMAGECOLORMOD_C num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetImageColorMod 227
+#define FN_GetImageColorMod 229
#define GETIMAGECOLORMOD_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_DrawImage 228
+#define FN_DrawImage 230
#define DRAWIMAGE_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define DRAWIMAGE_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define DRAWIMAGE_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_DrawImage_Blit 229
+#define FN_DrawImage_Blit 231
#define DRAWIMAGE_BLIT_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define DRAWIMAGE_BLIT_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define DRAWIMAGE_BLIT_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -623,7 +637,7 @@
#define DRAWIMAGE_BLIT_SRC_Y num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define DRAWIMAGE_BLIT_SRC_W num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define DRAWIMAGE_BLIT_SRC_H num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_DrawImage_BlitEx 230
+#define FN_DrawImage_BlitEx 232
#define DRAWIMAGE_BLITEX_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define DRAWIMAGE_BLITEX_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define DRAWIMAGE_BLITEX_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -633,12 +647,12 @@
#define DRAWIMAGE_BLITEX_SRC_Y num_var[6].nref[0].value[ num_var[6].byref_offset ]
#define DRAWIMAGE_BLITEX_SRC_W num_var[7].nref[0].value[ num_var[7].byref_offset ]
#define DRAWIMAGE_BLITEX_SRC_H num_var[8].nref[0].value[ num_var[8].byref_offset ]
-#define FN_DrawImage_Rotate 231
+#define FN_DrawImage_Rotate 233
#define DRAWIMAGE_ROTATE_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define DRAWIMAGE_ROTATE_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define DRAWIMAGE_ROTATE_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define DRAWIMAGE_ROTATE_ANGLE num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_DrawImage_RotateEx 232
+#define FN_DrawImage_RotateEx 234
#define DRAWIMAGE_ROTATEEX_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define DRAWIMAGE_ROTATEEX_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define DRAWIMAGE_ROTATEEX_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -647,13 +661,13 @@
#define DRAWIMAGE_ROTATEEX_SRC_W num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define DRAWIMAGE_ROTATEEX_SRC_H num_var[6].nref[0].value[ num_var[6].byref_offset ]
#define DRAWIMAGE_ROTATEEX_ANGLE num_var[7].nref[0].value[ num_var[7].byref_offset ]
-#define FN_DrawImage_Zoom 233
+#define FN_DrawImage_Zoom 235
#define DRAWIMAGE_ZOOM_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define DRAWIMAGE_ZOOM_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define DRAWIMAGE_ZOOM_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define DRAWIMAGE_ZOOM_ZX num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define DRAWIMAGE_ZOOM_ZY num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define FN_DrawImage_ZoomEx 234
+#define FN_DrawImage_ZoomEx 236
#define DRAWIMAGE_ZOOMEX_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define DRAWIMAGE_ZOOMEX_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define DRAWIMAGE_ZOOMEX_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -663,14 +677,14 @@
#define DRAWIMAGE_ZOOMEX_SRC_H num_var[6].nref[0].value[ num_var[6].byref_offset ]
#define DRAWIMAGE_ZOOMEX_ZX num_var[7].nref[0].value[ num_var[7].byref_offset ]
#define DRAWIMAGE_ZOOMEX_ZY num_var[8].nref[0].value[ num_var[8].byref_offset ]
-#define FN_DrawImage_Rotozoom 235
+#define FN_DrawImage_Rotozoom 237
#define DRAWIMAGE_ROTOZOOM_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define DRAWIMAGE_ROTOZOOM_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define DRAWIMAGE_ROTOZOOM_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define DRAWIMAGE_ROTOZOOM_ANGLE num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define DRAWIMAGE_ROTOZOOM_ZX num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define DRAWIMAGE_ROTOZOOM_ZY num_var[5].nref[0].value[ num_var[5].byref_offset ]
-#define FN_DrawImage_RotozoomEx 236
+#define FN_DrawImage_RotozoomEx 238
#define DRAWIMAGE_ROTOZOOMEX_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define DRAWIMAGE_ROTOZOOMEX_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define DRAWIMAGE_ROTOZOOMEX_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -681,13 +695,13 @@
#define DRAWIMAGE_ROTOZOOMEX_ANGLE num_var[7].nref[0].value[ num_var[7].byref_offset ]
#define DRAWIMAGE_ROTOZOOMEX_ZX num_var[8].nref[0].value[ num_var[8].byref_offset ]
#define DRAWIMAGE_ROTOZOOMEX_ZY num_var[9].nref[0].value[ num_var[9].byref_offset ]
-#define FN_DrawImage_Flip 237
+#define FN_DrawImage_Flip 239
#define DRAWIMAGE_FLIP_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define DRAWIMAGE_FLIP_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define DRAWIMAGE_FLIP_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define DRAWIMAGE_FLIP_H num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define DRAWIMAGE_FLIP_V num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define FN_DrawImage_FlipEx 238
+#define FN_DrawImage_FlipEx 240
#define DRAWIMAGE_FLIPEX_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define DRAWIMAGE_FLIPEX_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define DRAWIMAGE_FLIPEX_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -697,588 +711,588 @@
#define DRAWIMAGE_FLIPEX_SRC_H num_var[6].nref[0].value[ num_var[6].byref_offset ]
#define DRAWIMAGE_FLIPEX_H num_var[7].nref[0].value[ num_var[7].byref_offset ]
#define DRAWIMAGE_FLIPEX_V num_var[8].nref[0].value[ num_var[8].byref_offset ]
-#define FN_InKey 239
-#define FN_Key 240
+#define FN_InKey 241
+#define FN_Key 242
#define KEY_KEY_CODE num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_WaitKey 241
-#define FN_HideMouse 242
-#define FN_ShowMouse 243
-#define FN_MouseIsVisible 244
-#define FN_GetMouse 245
+#define FN_WaitKey 243
+#define FN_HideMouse 244
+#define FN_ShowMouse 245
+#define FN_MouseIsVisible 246
+#define FN_GetMouse 247
#define GETMOUSE_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETMOUSE_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETMOUSE_MB1 num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETMOUSE_MB2 num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define GETMOUSE_MB3 num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define FN_MouseX 246
-#define FN_MouseY 247
-#define FN_MouseButton 248
+#define FN_MouseX 248
+#define FN_MouseY 249
+#define FN_MouseButton 250
#define MOUSEBUTTON_MB num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetMouseWheel 249
+#define FN_GetMouseWheel 251
#define GETMOUSEWHEEL_X_AXIS num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETMOUSEWHEEL_Y_AXIS num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_MouseWheelX 250
-#define FN_MouseWheelY 251
-#define FN_GetGlobalMouse 252
+#define FN_MouseWheelX 252
+#define FN_MouseWheelY 253
+#define FN_GetGlobalMouse 254
#define GETGLOBALMOUSE_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETGLOBALMOUSE_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETGLOBALMOUSE_MB1 num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETGLOBALMOUSE_MB2 num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define GETGLOBALMOUSE_MB3 num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define FN_GlobalMouseX 253
-#define FN_GlobalMouseY 254
-#define FN_WarpMouse 255
+#define FN_GlobalMouseX 255
+#define FN_GlobalMouseY 256
+#define FN_WarpMouse 257
#define WARPMOUSE_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define WARPMOUSE_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_WarpMouseGlobal 256
+#define FN_WarpMouseGlobal 258
#define WARPMOUSEGLOBAL_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define WARPMOUSEGLOBAL_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_SetMouseZone 257
+#define FN_SetMouseZone 259
#define SETMOUSEZONE_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMOUSEZONE_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETMOUSEZONE_W num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETMOUSEZONE_H num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_ClearMouseZone 258
-#define FN_CreateSound 259
+#define FN_ClearMouseZone 260
+#define FN_CreateSound 261
#define CREATESOUND_BUFFER num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CREATESOUND_BUFFER_SIZE num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define CREATESOUND_VOL num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_LoadSound 260
+#define FN_LoadSound 262
#define LOADSOUND_SND_FILE$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_LoadMusic 261
+#define FN_LoadMusic 263
#define LOADMUSIC_MUSIC_FILE$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_PlaySound 262
+#define FN_PlaySound 264
#define PLAYSOUND_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define PLAYSOUND_CHANNEL num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define PLAYSOUND_LOOPS num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_PlaySoundTimed 263
+#define FN_PlaySoundTimed 265
#define PLAYSOUNDTIMED_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define PLAYSOUNDTIMED_CHANNEL num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define PLAYSOUNDTIMED_LOOPS num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define PLAYSOUNDTIMED_MS num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_PlayMusic 264
+#define FN_PlayMusic 266
#define PLAYMUSIC_MLOOPS num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_PauseSound 265
+#define FN_PauseSound 267
#define PAUSESOUND_CHANNEL num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_ResumeSound 266
+#define FN_ResumeSound 268
#define RESUMESOUND_CHANNEL num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_PauseMusic 267
-#define FN_ResumeMusic 268
-#define FN_DeleteSound 269
+#define FN_PauseMusic 269
+#define FN_ResumeMusic 270
+#define FN_DeleteSound 271
#define DELETESOUND_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_DeleteMusic 270
-#define FN_FadeMusicIn 271
+#define FN_DeleteMusic 272
+#define FN_FadeMusicIn 273
#define FADEMUSICIN_FADE_TIME num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define FADEMUSICIN_LOOPS num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_FadeMusicOut 272
+#define FN_FadeMusicOut 274
#define FADEMUSICOUT_FADE_TIME num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_MusicExists 273
-#define FN_SetMusicVolume 274
+#define FN_MusicExists 275
+#define FN_SetMusicVolume 276
#define SETMUSICVOLUME_VOL num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetMusicVolume 275
-#define FN_SetMusicPosition 276
+#define FN_GetMusicVolume 277
+#define FN_SetMusicPosition 278
#define SETMUSICPOSITION_POS num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetMusicPosition 277
-#define FN_RewindMusic 278
-#define FN_SetSoundChannels 279
+#define FN_GetMusicPosition 279
+#define FN_RewindMusic 280
+#define FN_SetSoundChannels 281
#define SETSOUNDCHANNELS_MAX_CHANNELS num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_NumSoundChannels 280
-#define FN_SoundIsEnabled 281
-#define FN_SoundExists 282
+#define FN_NumSoundChannels 282
+#define FN_SoundIsEnabled 283
+#define FN_SoundExists 284
#define SOUNDEXISTS_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetChannelVolume 283
+#define FN_SetChannelVolume 285
#define SETCHANNELVOLUME_CHANNEL num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETCHANNELVOLUME_VOL num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetChannelVolume 284
+#define FN_GetChannelVolume 286
#define GETCHANNELVOLUME_CHANNEL num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetSoundVolume 285
+#define FN_SetSoundVolume 287
#define SETSOUNDVOLUME_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETSOUNDVOLUME_VOL num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetSoundVolume 286
+#define FN_GetSoundVolume 288
#define GETSOUNDVOLUME_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_StopMusic 287
-#define FN_StopSound 288
+#define FN_StopMusic 289
+#define FN_StopSound 290
#define STOPSOUND_CHANNEL num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetChannelPanning 289
+#define FN_SetChannelPanning 291
#define SETCHANNELPANNING_CHANNEL num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETCHANNELPANNING_LEFT_VALUE num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETCHANNELPANNING_RIGHT_VALUE num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_SetChannelDistance 290
+#define FN_SetChannelDistance 292
#define SETCHANNELDISTANCE_CHANNEL num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETCHANNELDISTANCE_DIST_VALUE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_ChannelIsPlaying 291
+#define FN_ChannelIsPlaying 293
#define CHANNELISPLAYING_CHANNEL num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_ChannelIsPaused 292
+#define FN_ChannelIsPaused 294
#define CHANNELISPAUSED_CHANNEL num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_QueryAudioSpec 293
+#define FN_QueryAudioSpec 295
#define QUERYAUDIOSPEC_FREQ num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define QUERYAUDIOSPEC_FORMAT num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define QUERYAUDIOSPEC_CHANNELS num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_MusicIsPlaying 294
-#define FN_SetChannelSpacePosition 295
+#define FN_MusicIsPlaying 296
+#define FN_SetChannelSpacePosition 297
#define SETCHANNELSPACEPOSITION_CHANNEL num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETCHANNELSPACEPOSITION_ANGLE num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETCHANNELSPACEPOSITION_DISTANCE num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_NumJoysticks 296
-#define FN_NumJoyAxes 297
+#define FN_NumJoysticks 298
+#define FN_NumJoyAxes 299
#define NUMJOYAXES_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_NumJoyButtons 298
+#define FN_NumJoyButtons 300
#define NUMJOYBUTTONS_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_NumJoyHats 299
+#define FN_NumJoyHats 301
#define NUMJOYHATS_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_NumJoyTrackBalls 300
+#define FN_NumJoyTrackBalls 302
#define NUMJOYTRACKBALLS_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_JoyAxis 301
+#define FN_JoyAxis 303
#define JOYAXIS_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define JOYAXIS_JOY_AXIS num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_JoyButton 302
+#define FN_JoyButton 304
#define JOYBUTTON_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define JOYBUTTON_JOY_BUTTON num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_JoyHat 303
+#define FN_JoyHat 305
#define JOYHAT_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define JOYHAT_JOY_HAT num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetJoyTrackBall 304
+#define FN_GetJoyTrackBall 306
#define GETJOYTRACKBALL_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETJOYTRACKBALL_BALL num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETJOYTRACKBALL_DX num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETJOYTRACKBALL_DY num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_JoyName$ 305
+#define FN_JoyName$ 307
#define JOYNAME$_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_JoystickIsConnected 306
+#define FN_JoystickIsConnected 308
#define JOYSTICKISCONNECTED_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_JoyRumblePlay 307
+#define FN_JoyRumblePlay 309
#define JOYRUMBLEPLAY_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define JOYRUMBLEPLAY_STRENGTH num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define JOYRUMBLEPLAY_DURATION num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_JoyRumbleStop 308
+#define FN_JoyRumbleStop 310
#define JOYRUMBLESTOP_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_JoystickIsHaptic 309
+#define FN_JoystickIsHaptic 311
#define JOYSTICKISHAPTIC_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_LoadFont 310
+#define FN_LoadFont 312
#define LOADFONT_FNT_FILE$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
#define LOADFONT_FONT_SIZE num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_DeleteFont 311
+#define FN_DeleteFont 313
#define DELETEFONT_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_FontExists 312
+#define FN_FontExists 314
#define FONTEXISTS_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetFont 313
+#define FN_SetFont 315
#define SETFONT_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_DrawText 314
+#define FN_DrawText 316
#define DRAWTEXT_TXT$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
#define DRAWTEXT_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define DRAWTEXT_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetTextSize 315
+#define FN_GetTextSize 317
#define GETTEXTSIZE_TXT$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
#define GETTEXTSIZE_W num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETTEXTSIZE_H num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetTextWidth 316
+#define FN_GetTextWidth 318
#define GETTEXTWIDTH_TXT$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_GetTextHeight 317
+#define FN_GetTextHeight 319
#define GETTEXTHEIGHT_TXT$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_TouchPressure 318
-#define FN_GetTouch 319
+#define FN_TouchPressure 320
+#define FN_GetTouch 321
#define GETTOUCH_STATUS num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETTOUCH_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETTOUCH_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETTOUCH_DX num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define GETTOUCH_DY num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define FN_GetMultiTouch 320
+#define FN_GetMultiTouch 322
#define GETMULTITOUCH_STATUS num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETMULTITOUCH_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETMULTITOUCH_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETMULTITOUCH_FINGERS num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define GETMULTITOUCH_DIST num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define GETMULTITOUCH_THETA num_var[5].nref[0].value[ num_var[5].byref_offset ]
-#define FN_GetTouchFinger 321
+#define FN_GetTouchFinger 323
#define GETTOUCHFINGER_FINGER num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETTOUCHFINGER_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETTOUCHFINGER_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETTOUCHFINGER_PRESSURE num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_NumFingers 322
-#define FN_GetAccel 323
+#define FN_NumFingers 324
+#define FN_GetAccel 325
#define GETACCEL_ACCEL_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACCEL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACCEL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETACCEL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_AccelName$ 324
+#define FN_AccelName$ 326
#define ACCELNAME$_ACCEL_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_NumAccels 325
-#define FN_GetGyro 326
+#define FN_NumAccels 327
+#define FN_GetGyro 328
#define GETGYRO_GYRO_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETGYRO_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETGYRO_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETGYRO_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_GyroName$ 327
+#define FN_GyroName$ 329
#define GYRONAME$_GYRO_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_NumGyros 328
-#define FN_CheckSockets 329
+#define FN_NumGyros 330
+#define FN_CheckSockets 331
#define CHECKSOCKETS_TIMEOUT_MS num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_TCP_SocketReady 330
+#define FN_TCP_SocketReady 332
#define TCP_SOCKETREADY_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_UDP_SocketReady 331
+#define FN_UDP_SocketReady 333
#define UDP_SOCKETREADY_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_TCP_OpenSocket 332
+#define FN_TCP_OpenSocket 334
#define TCP_OPENSOCKET_HOST$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
#define TCP_OPENSOCKET_PORT num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_TCP_CloseSocket 333
+#define FN_TCP_CloseSocket 335
#define TCP_CLOSESOCKET_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_TCP_RemoteHost 334
+#define FN_TCP_RemoteHost 336
#define TCP_REMOTEHOST_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_TCP_RemotePort 335
+#define FN_TCP_RemotePort 337
#define TCP_REMOTEPORT_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_TCP_GetData 336
+#define FN_TCP_GetData 338
#define TCP_GETDATA_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define TCP_GETDATA_NUMBYTES num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define TCP_GETDATA_SDATA$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_TCP_SendData 337
+#define FN_TCP_SendData 339
#define TCP_SENDDATA_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define TCP_SENDDATA_SDATA$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_TCP_AcceptSocket 338
+#define FN_TCP_AcceptSocket 340
#define TCP_ACCEPTSOCKET_SERVER num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define TCP_ACCEPTSOCKET_CLIENT num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_UDP_OpenSocket 339
+#define FN_UDP_OpenSocket 341
#define UDP_OPENSOCKET_PORT num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_UDP_CloseSocket 340
+#define FN_UDP_CloseSocket 342
#define UDP_CLOSESOCKET_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_UDP_GetData 341
+#define FN_UDP_GetData 343
#define UDP_GETDATA_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define UDP_GETDATA_HOST$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
#define UDP_GETDATA_PORT num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define UDP_GETDATA_SDATA$ str_var[1].sref[0].value[ str_var[1].byref_offset ]
-#define FN_UDP_Length 342
-#define FN_UDP_MaxLength 343
-#define FN_UDP_RemoteHost$ 344
+#define FN_UDP_Length 344
+#define FN_UDP_MaxLength 345
+#define FN_UDP_RemoteHost$ 346
#define UDP_REMOTEHOST$_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_UDP_RemotePort 345
+#define FN_UDP_RemotePort 347
#define UDP_REMOTEPORT_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_UDP_SendData 346
+#define FN_UDP_SendData 348
#define UDP_SENDDATA_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define UDP_SENDDATA_HOST$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
#define UDP_SENDDATA_PORT num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define UDP_SENDDATA_SDATA$ str_var[1].sref[0].value[ str_var[1].byref_offset ]
-#define FN_LoadVideo 347
+#define FN_LoadVideo 349
#define LOADVIDEO_VID$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_PlayVideo 348
+#define FN_PlayVideo 350
#define PLAYVIDEO_VLOOPS num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_PauseVideo 349
-#define FN_StopVideo 350
-#define FN_SetVideoPosition 351
+#define FN_PauseVideo 351
+#define FN_StopVideo 352
+#define FN_SetVideoPosition 353
#define SETVIDEOPOSITION_POS num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_ResumeVideo 352
-#define FN_GetVideoPosition 353
-#define FN_DeleteVideo 354
-#define FN_VideoIsPlaying 355
-#define FN_VideoEnd 356
-#define FN_GetVideoStats 357
+#define FN_ResumeVideo 354
+#define FN_GetVideoPosition 355
+#define FN_DeleteVideo 356
+#define FN_VideoIsPlaying 357
+#define FN_VideoEnd 358
+#define FN_GetVideoStats 359
#define GETVIDEOSTATS_VFILE$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
#define GETVIDEOSTATS_VLEN num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETVIDEOSTATS_VFPS num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETVIDEOSTATS_FRAME_W num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETVIDEOSTATS_FRAME_H num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_SetVideoDrawRect 358
+#define FN_SetVideoDrawRect 360
#define SETVIDEODRAWRECT_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETVIDEODRAWRECT_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETVIDEODRAWRECT_W num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETVIDEODRAWRECT_H num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_GetVideoDrawRect 359
+#define FN_GetVideoDrawRect 361
#define GETVIDEODRAWRECT_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETVIDEODRAWRECT_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETVIDEODRAWRECT_W num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETVIDEODRAWRECT_H num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_GetVideoSize 360
+#define FN_GetVideoSize 362
#define GETVIDEOSIZE_W num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETVIDEOSIZE_H num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_VideoExists 361
-#define FN_SetVideoVolume 362
+#define FN_VideoExists 363
+#define FN_SetVideoVolume 364
#define SETVIDEOVOLUME_VOL num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetVideoVolume 363
-#define FN_System 364
+#define FN_GetVideoVolume 365
+#define FN_System 366
#define SYSTEM_CMD$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_OS$ 365
-#define FN_Command$ 366
+#define FN_OS$ 367
+#define FN_Command$ 368
#define COMMAND$_ARG num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_NumCommands 367
-#define FN_Env$ 368
+#define FN_NumCommands 369
+#define FN_Env$ 370
#define ENV$_V$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_SetEnv 369
+#define FN_SetEnv 371
#define SETENV_VAR$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
#define SETENV_VALUE$ str_var[1].sref[0].value[ str_var[1].byref_offset ]
-#define FN_PrefPath$ 370
+#define FN_PrefPath$ 372
#define PREFPATH$_ORG_NAME$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
#define PREFPATH$_APP_NAME$ str_var[1].sref[0].value[ str_var[1].byref_offset ]
-#define FN_Android_GetExternalStoragePath$ 371
-#define FN_Android_GetExternalStorageState 372
-#define FN_Android_GetInternalStoragePath$ 373
-#define FN_Android_JNI_Message$ 374
+#define FN_Android_GetExternalStoragePath$ 373
+#define FN_Android_GetExternalStorageState 374
+#define FN_Android_GetInternalStoragePath$ 375
+#define FN_Android_JNI_Message$ 376
#define ANDROID_JNI_MESSAGE$_ARG$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_Runtime_Utility_Message$ 375
+#define FN_Runtime_Utility_Message$ 377
#define RUNTIME_UTILITY_MESSAGE$_ARG$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_GetDesktopDisplayMode 376
+#define FN_GetDesktopDisplayMode 378
#define GETDESKTOPDISPLAYMODE_INDEX num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETDESKTOPDISPLAYMODE_W num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETDESKTOPDISPLAYMODE_H num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETDESKTOPDISPLAYMODE_FREQ num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_GetPowerInfo 377
+#define FN_GetPowerInfo 379
#define GETPOWERINFO_STATUS num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETPOWERINFO_SECS num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETPOWERINFO_PCT num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_EvalJS$ 378
+#define FN_EvalJS$ 380
#define EVALJS$_JS_CODE$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_SystemReturnStdOut$ 379
+#define FN_SystemReturnStdOut$ 381
#define SYSTEMRETURNSTDOUT$_CMD$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_OpenURL 380
+#define FN_OpenURL 382
#define OPENURL_URL$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_MessageBox 381
+#define FN_MessageBox 383
#define MESSAGEBOX_TITLE$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
#define MESSAGEBOX_MSG$ str_var[1].sref[0].value[ str_var[1].byref_offset ]
-#define FN_Runtime$ 382
-#define FN_NumCPUs 383
-#define FN_SystemRam 384
-#define FN_DimMatrix 385
+#define FN_Runtime$ 384
+#define FN_NumCPUs 385
+#define FN_SystemRam 386
+#define FN_DimMatrix 387
#define DIMMATRIX_M_ROWS num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define DIMMATRIX_M_COLS num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_DeleteMatrix 386
+#define FN_DeleteMatrix 388
#define DELETEMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_AddMatrix 387
+#define FN_AddMatrix 389
#define ADDMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define ADDMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define ADDMATRIX_MC num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_AugmentMatrix 388
+#define FN_AugmentMatrix 390
#define AUGMENTMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define AUGMENTMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define AUGMENTMATRIX_MC num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_CopyMatrix 389
+#define FN_CopyMatrix 391
#define COPYMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define COPYMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_InsertMatrixColumns 390
+#define FN_InsertMatrixColumns 392
#define INSERTMATRIXCOLUMNS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define INSERTMATRIXCOLUMNS_C num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define INSERTMATRIXCOLUMNS_NUM_COLS num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_InsertMatrixRows 391
+#define FN_InsertMatrixRows 393
#define INSERTMATRIXROWS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define INSERTMATRIXROWS_R num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define INSERTMATRIXROWS_NUM_ROWS num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_MultiplyMatrix 392
+#define FN_MultiplyMatrix 394
#define MULTIPLYMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define MULTIPLYMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define MULTIPLYMATRIX_MC num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_CubeMatrix 393
+#define FN_CubeMatrix 395
#define CUBEMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CUBEMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_DeleteMatrixColumns 394
+#define FN_DeleteMatrixColumns 396
#define DELETEMATRIXCOLUMNS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define DELETEMATRIXCOLUMNS_C num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define DELETEMATRIXCOLUMNS_NUM_COLS num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_DeleteMatrixRows 395
+#define FN_DeleteMatrixRows 397
#define DELETEMATRIXROWS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define DELETEMATRIXROWS_R num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define DELETEMATRIXROWS_NUM_ROWS num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_ClearMatrix 396
+#define FN_ClearMatrix 398
#define CLEARMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_ClearMatrixColumns 397
+#define FN_ClearMatrixColumns 399
#define CLEARMATRIXCOLUMNS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CLEARMATRIXCOLUMNS_C num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define CLEARMATRIXCOLUMNS_NUM_COLS num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_ClearMatrixRows 398
+#define FN_ClearMatrixRows 400
#define CLEARMATRIXROWS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CLEARMATRIXROWS_R num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define CLEARMATRIXROWS_NUM_ROWS num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_FillMatrix 399
+#define FN_FillMatrix 401
#define FILLMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define FILLMATRIX_V num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_FillMatrixColumns 400
+#define FN_FillMatrixColumns 402
#define FILLMATRIXCOLUMNS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define FILLMATRIXCOLUMNS_C num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define FILLMATRIXCOLUMNS_NUM_COLS num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define FILLMATRIXCOLUMNS_V num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_FillMatrixRows 401
+#define FN_FillMatrixRows 403
#define FILLMATRIXROWS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define FILLMATRIXROWS_R num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define FILLMATRIXROWS_NUM_ROWS num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define FILLMATRIXROWS_V num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_CopyMatrixColumns 402
+#define FN_CopyMatrixColumns 404
#define COPYMATRIXCOLUMNS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define COPYMATRIXCOLUMNS_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define COPYMATRIXCOLUMNS_C num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define COPYMATRIXCOLUMNS_NUM_COLS num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_CopyMatrixRows 403
+#define FN_CopyMatrixRows 405
#define COPYMATRIXROWS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define COPYMATRIXROWS_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define COPYMATRIXROWS_R num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define COPYMATRIXROWS_NUM_ROWS num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_SetIdentityMatrix 404
+#define FN_SetIdentityMatrix 406
#define SETIDENTITYMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETIDENTITYMATRIX_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_SolveMatrix 405
+#define FN_SolveMatrix 407
#define SOLVEMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SOLVEMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SOLVEMATRIX_MC num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_IsEqualMatrix 406
+#define FN_IsEqualMatrix 408
#define ISEQUALMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define ISEQUALMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define ISEQUALMATRIX_TOLERANCE num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_Determinant 407
+#define FN_Determinant 409
#define DETERMINANT_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_AdjointMatrix 408
+#define FN_AdjointMatrix 410
#define ADJOINTMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define ADJOINTMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_InvertMatrix 409
+#define FN_InvertMatrix 411
#define INVERTMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define INVERTMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_MatrixFromBuffer 410
+#define FN_MatrixFromBuffer 412
#define MATRIXFROMBUFFER_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define MATRIXFROMBUFFER_R num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define MATRIXFROMBUFFER_C num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define MATRIXFROMBUFFER_BUFFER num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_BufferFromMatrix 411
+#define FN_BufferFromMatrix 413
#define BUFFERFROMMATRIX_BUFFER num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define BUFFERFROMMATRIX_MA num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_RandomizeMatrix 412
+#define FN_RandomizeMatrix 414
#define RANDOMIZEMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define RANDOMIZEMATRIX_VMIN num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define RANDOMIZEMATRIX_VMAX num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_MatrixValue 413
+#define FN_MatrixValue 415
#define MATRIXVALUE_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define MATRIXVALUE_R num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define MATRIXVALUE_C num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_SetMatrixValue 414
+#define FN_SetMatrixValue 416
#define SETMATRIXVALUE_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATRIXVALUE_R num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETMATRIXVALUE_C num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETMATRIXVALUE_V num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_ScalarMatrix 415
+#define FN_ScalarMatrix 417
#define SCALARMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SCALARMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SCALARMATRIX_S_VALUE num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_ScalarMatrixColumns 416
+#define FN_ScalarMatrixColumns 418
#define SCALARMATRIXCOLUMNS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SCALARMATRIXCOLUMNS_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SCALARMATRIXCOLUMNS_C num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SCALARMATRIXCOLUMNS_NUM_COLS num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define SCALARMATRIXCOLUMNS_S_VALUE num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define FN_ScalarMatrixRows 417
+#define FN_ScalarMatrixRows 419
#define SCALARMATRIXROWS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SCALARMATRIXROWS_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SCALARMATRIXROWS_R num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SCALARMATRIXROWS_NUM_ROWS num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define SCALARMATRIXROWS_S_VALUE num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define FN_SquareMatrix 418
+#define FN_SquareMatrix 420
#define SQUAREMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SQUAREMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_CofactorMatrix 419
+#define FN_CofactorMatrix 421
#define COFACTORMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define COFACTORMATRIX_R num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define COFACTORMATRIX_C num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_SubtractMatrix 420
+#define FN_SubtractMatrix 422
#define SUBTRACTMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SUBTRACTMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SUBTRACTMATRIX_MC num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_SwapMatrix 421
+#define FN_SwapMatrix 423
#define SWAPMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SWAPMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_SwapMatrixColumn 422
+#define FN_SwapMatrixColumn 424
#define SWAPMATRIXCOLUMN_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SWAPMATRIXCOLUMN_C1 num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SWAPMATRIXCOLUMN_C2 num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_SwapMatrixRow 423
+#define FN_SwapMatrixRow 425
#define SWAPMATRIXROW_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SWAPMATRIXROW_R1 num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SWAPMATRIXROW_R2 num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_TransposeMatrix 424
+#define FN_TransposeMatrix 426
#define TRANSPOSEMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define TRANSPOSEMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_UnAugmentMatrix 425
+#define FN_UnAugmentMatrix 427
#define UNAUGMENTMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define UNAUGMENTMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define UNAUGMENTMATRIX_MC num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_ZeroMatrix 426
+#define FN_ZeroMatrix 428
#define ZEROMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetMatrixSize 427
+#define FN_GetMatrixSize 429
#define GETMATRIXSIZE_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETMATRIXSIZE_R num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETMATRIXSIZE_C num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_IncrementMatrixRows 428
+#define FN_IncrementMatrixRows 430
#define INCREMENTMATRIXROWS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define INCREMENTMATRIXROWS_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define INCREMENTMATRIXROWS_R num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define INCREMENTMATRIXROWS_NUM_ROWS num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define INCREMENTMATRIXROWS_VALUE num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define FN_IncrementMatrixColumns 429
+#define FN_IncrementMatrixColumns 431
#define INCREMENTMATRIXCOLUMNS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define INCREMENTMATRIXCOLUMNS_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define INCREMENTMATRIXCOLUMNS_C num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define INCREMENTMATRIXCOLUMNS_NUM_COLS num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define INCREMENTMATRIXCOLUMNS_VALUE num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define FN_JoinMatrixRows 430
+#define FN_JoinMatrixRows 432
#define JOINMATRIXROWS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define JOINMATRIXROWS_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define JOINMATRIXROWS_MC num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_JoinMatrixColumns 431
+#define FN_JoinMatrixColumns 433
#define JOINMATRIXCOLUMNS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define JOINMATRIXCOLUMNS_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define JOINMATRIXCOLUMNS_MC num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_ClipMatrix 432
+#define FN_ClipMatrix 434
#define CLIPMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CLIPMATRIX_R num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define CLIPMATRIX_C num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define CLIPMATRIX_NUM_ROWS num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define CLIPMATRIX_NUM_COLS num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define CLIPMATRIX_MB num_var[5].nref[0].value[ num_var[5].byref_offset ]
-#define FN_SetMatrixTranslation 433
+#define FN_SetMatrixTranslation 435
#define SETMATRIXTRANSLATION_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATRIXTRANSLATION_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETMATRIXTRANSLATION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETMATRIXTRANSLATION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_SetMatrixRotation 434
+#define FN_SetMatrixRotation 436
#define SETMATRIXROTATION_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATRIXROTATION_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETMATRIXROTATION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETMATRIXROTATION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_SetMatrixScale 435
+#define FN_SetMatrixScale 437
#define SETMATRIXSCALE_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATRIXSCALE_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETMATRIXSCALE_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETMATRIXSCALE_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_GetMatrixTranslation 436
+#define FN_GetMatrixTranslation 438
#define GETMATRIXTRANSLATION_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETMATRIXTRANSLATION_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETMATRIXTRANSLATION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETMATRIXTRANSLATION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_GetMatrixRotation 437
+#define FN_GetMatrixRotation 439
#define GETMATRIXROTATION_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETMATRIXROTATION_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETMATRIXROTATION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETMATRIXROTATION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_GetMatrixScale 438
+#define FN_GetMatrixScale 440
#define GETMATRIXSCALE_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETMATRIXSCALE_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETMATRIXSCALE_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETMATRIXSCALE_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_GetClipboardText$ 439
-#define FN_SetClipboardText 440
+#define FN_GetClipboardText$ 441
+#define FN_SetClipboardText 442
#define SETCLIPBOARDTEXT_TXT$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_HasClipboardText 441
-#define FN_ReadInput_Start 442
-#define FN_ReadInput_Stop 443
-#define FN_ReadInput_Text$ 444
-#define FN_ReadInput_SetText 445
+#define FN_HasClipboardText 443
+#define FN_ReadInput_Start 444
+#define FN_ReadInput_Stop 445
+#define FN_ReadInput_Text$ 446
+#define FN_ReadInput_SetText 447
#define READINPUT_SETTEXT_TXT$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_ReadInput_ToggleBackspace 446
+#define FN_ReadInput_ToggleBackspace 448
#define READINPUT_TOGGLEBACKSPACE_FLAG num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_CreateSprite 447
+#define FN_CreateSprite 449
#define CREATESPRITE_IMG num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_DeleteSprite 448
+#define FN_DeleteSprite 450
#define DELETESPRITE_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetSpritePosition 449
+#define FN_SetSpritePosition 451
#define SETSPRITEPOSITION_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETSPRITEPOSITION_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETSPRITEPOSITION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_LoadMesh 450
+#define FN_LoadMesh 452
#define LOADMESH_MESH_FILE$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_DeleteMesh 451
+#define FN_DeleteMesh 453
#define DELETEMESH_MESH num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_CreateMesh 452
-#define FN_AddMeshBuffer 453
+#define FN_CreateMesh 454
+#define FN_AddMeshBuffer 455
#define ADDMESHBUFFER_MESH num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define ADDMESHBUFFER_VERTEX_COUNT num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define ADDMESHBUFFER_VERTEX_DATA num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -1286,206 +1300,210 @@
#define ADDMESHBUFFER_UV_DATA num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define ADDMESHBUFFER_INDEX_COUNT num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define ADDMESHBUFFER_INDEX_DATA num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_LoadMeshFromArchive 454
+#define FN_LoadMeshFromArchive 456
#define LOADMESHFROMARCHIVE_ARCHIVE$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
#define LOADMESHFROMARCHIVE_MESH_FILE$ str_var[1].sref[0].value[ str_var[1].byref_offset ]
-#define FN_CreateMeshActor 455
+#define FN_CreateMeshActor 457
#define CREATEMESHACTOR_MESH num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_CreateMeshOctreeActor 456
+#define FN_CreateMeshOctreeActor 458
#define CREATEMESHOCTREEACTOR_MESH num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_CreateCubeActor 457
+#define FN_CreateCubeActor 459
#define CREATECUBEACTOR_CUBE_SIZE num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_CreateSphereActor 458
+#define FN_CreateSphereActor 460
#define CREATESPHEREACTOR_RADIUS num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_CreateWaterPlaneActor 459
+#define FN_CreateWaterPlaneActor 461
#define CREATEWATERPLANEACTOR_W num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CREATEWATERPLANEACTOR_H num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_CreateLightActor 460
-#define FN_CreateBillboardActor 461
-#define FN_CreateTerrainActor 462
+#define FN_CreateLightActor 462
+#define FN_CreateBillboardActor 463
+#define FN_CreateTerrainActor 464
#define CREATETERRAINACTOR_HMAP_FILE$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_DeleteActor 463
+#define FN_CreateParticleActor 465
+#define CREATEPARTICLEACTOR_PARTICLE_TYPE num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_DeleteActor 466
#define DELETEACTOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetActorTransform 464
+#define FN_GetActorTransform 467
#define GETACTORTRANSFORM_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORTRANSFORM_MATRIX num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_SetActorPosition 465
+#define FN_SetActorPosition 468
#define SETACTORPOSITION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORPOSITION_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORPOSITION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETACTORPOSITION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_TranslateActor 466
-#define TRANSLATEACTOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define TRANSLATEACTOR_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define TRANSLATEACTOR_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define TRANSLATEACTOR_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_TranslateActorWorld 467
+#define FN_TranslateActorLocal 469
+#define TRANSLATEACTORLOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define TRANSLATEACTORLOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define TRANSLATEACTORLOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define TRANSLATEACTORLOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
+#define FN_TranslateActorWorld 470
#define TRANSLATEACTORWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define TRANSLATEACTORWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define TRANSLATEACTORWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define TRANSLATEACTORWORLD_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_GetActorPosition 468
+#define FN_GetActorPosition 471
#define GETACTORPOSITION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORPOSITION_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORPOSITION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETACTORPOSITION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_SetActorScale 469
+#define FN_SetActorScale 472
#define SETACTORSCALE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORSCALE_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORSCALE_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETACTORSCALE_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_ScaleActor 470
+#define FN_ScaleActor 473
#define SCALEACTOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SCALEACTOR_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SCALEACTOR_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SCALEACTOR_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_GetActorScale 471
+#define FN_GetActorScale 474
#define GETACTORSCALE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORSCALE_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORSCALE_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETACTORSCALE_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_SetActorRotation 472
+#define FN_SetActorRotation 475
#define SETACTORROTATION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORROTATION_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORROTATION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETACTORROTATION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_RotateActor 473
+#define FN_RotateActor 476
#define ROTATEACTOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define ROTATEACTOR_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define ROTATEACTOR_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define ROTATEACTOR_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_GetActorRotation 474
+#define FN_GetActorRotation 477
#define GETACTORROTATION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORROTATION_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORROTATION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETACTORROTATION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_SetActorVisible 475
+#define FN_SetActorVisible 478
#define SETACTORVISIBLE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORVISIBLE_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_ActorIsVisible 476
+#define FN_ActorIsVisible 479
#define ACTORISVISIBLE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetActorAutoCulling 477
+#define FN_SetActorAutoCulling 480
#define SETACTORAUTOCULLING_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORAUTOCULLING_CULL_TYPE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetActorAutoCulling 478
+#define FN_GetActorAutoCulling 481
#define GETACTORAUTOCULLING_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_AddActorShadow 479
+#define FN_AddActorShadow 482
#define ADDACTORSHADOW_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_RemoveActorShadow 480
+#define FN_RemoveActorShadow 483
#define REMOVEACTORSHADOW_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetGravity3D 481
+#define FN_ActorExists 484
+#define ACTOREXISTS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_SetGravity3D 485
#define SETGRAVITY3D_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETGRAVITY3D_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETGRAVITY3D_Z num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_GetGravity3D 482
+#define FN_GetGravity3D 486
#define GETGRAVITY3D_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETGRAVITY3D_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETGRAVITY3D_Z num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_SetActorCollisionShape 483
+#define FN_SetActorCollisionShape 487
#define SETACTORCOLLISIONSHAPE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORCOLLISIONSHAPE_SHAPE_TYPE num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORCOLLISIONSHAPE_MASS num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_GetActorCollisionShape 484
+#define FN_GetActorCollisionShape 488
#define GETACTORCOLLISIONSHAPE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetActorSolid 485
+#define FN_SetActorSolid 489
#define SETACTORSOLID_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORSOLID_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_ActorIsSolid 486
+#define FN_ActorIsSolid 490
#define ACTORISSOLID_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetActorCollision 487
+#define FN_GetActorCollision 491
#define GETACTORCOLLISION_ACTOR1 num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORCOLLISION_ACTOR2 num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_SetActorGravity 488
+#define FN_SetActorGravity 492
#define SETACTORGRAVITY_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORGRAVITY_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORGRAVITY_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETACTORGRAVITY_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_GetActorGravity 489
+#define FN_GetActorGravity 493
#define GETACTORGRAVITY_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORGRAVITY_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORGRAVITY_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETACTORGRAVITY_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_setActorDamping 490
+#define FN_setActorDamping 494
#define SETACTORDAMPING_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORDAMPING_LIN_DAMPING num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORDAMPING_ANG_DAMPING num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_getActorLinearDamping 491
+#define FN_getActorLinearDamping 495
#define GETACTORLINEARDAMPING_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getActorAngularDamping 492
+#define FN_getActorAngularDamping 496
#define GETACTORANGULARDAMPING_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getActorLinearSleepThreshold 493
+#define FN_getActorLinearSleepThreshold 497
#define GETACTORLINEARSLEEPTHRESHOLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getActorAngularSleepThreshold 494
+#define FN_getActorAngularSleepThreshold 498
#define GETACTORANGULARSLEEPTHRESHOLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_applyActorDamping 495
+#define FN_applyActorDamping 499
#define APPLYACTORDAMPING_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define APPLYACTORDAMPING_TIMESTEP num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setActorMassProperties 496
+#define FN_setActorMassProperties 500
#define SETACTORMASSPROPERTIES_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORMASSPROPERTIES_MASS num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORMASSPROPERTIES_INERTIA_X num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETACTORMASSPROPERTIES_INERTIA_Y num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define SETACTORMASSPROPERTIES_INERTIA_Z num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define FN_getActorLinearFactor 497
+#define FN_getActorLinearFactor 501
#define GETACTORLINEARFACTOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORLINEARFACTOR_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORLINEARFACTOR_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETACTORLINEARFACTOR_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_setActorLinearFactor 498
+#define FN_setActorLinearFactor 502
#define SETACTORLINEARFACTOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORLINEARFACTOR_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORLINEARFACTOR_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETACTORLINEARFACTOR_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getActorInverseMass 499
+#define FN_getActorInverseMass 503
#define GETACTORINVERSEMASS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_integrateActorVelocities 500
+#define FN_integrateActorVelocities 504
#define INTEGRATEACTORVELOCITIES_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define INTEGRATEACTORVELOCITIES_V_STEP num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_applyActorCentralForceLocal 501
+#define FN_applyActorCentralForceLocal 505
#define APPLYACTORCENTRALFORCELOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define APPLYACTORCENTRALFORCELOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define APPLYACTORCENTRALFORCELOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define APPLYACTORCENTRALFORCELOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_applyActorCentralForceWorld 502
+#define FN_applyActorCentralForceWorld 506
#define APPLYACTORCENTRALFORCEWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define APPLYACTORCENTRALFORCEWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define APPLYACTORCENTRALFORCEWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define APPLYACTORCENTRALFORCEWORLD_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getActorTotalForce 503
+#define FN_getActorTotalForce 507
#define GETACTORTOTALFORCE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORTOTALFORCE_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORTOTALFORCE_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETACTORTOTALFORCE_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getActorTotalTorque 504
+#define FN_getActorTotalTorque 508
#define GETACTORTOTALTORQUE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORTOTALTORQUE_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORTOTALTORQUE_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETACTORTOTALTORQUE_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getActorInverseInertiaDiagLocal 505
+#define FN_getActorInverseInertiaDiagLocal 509
#define GETACTORINVERSEINERTIADIAGLOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORINVERSEINERTIADIAGLOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORINVERSEINERTIADIAGLOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETACTORINVERSEINERTIADIAGLOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_setActorInverseInertiaDiagLocal 506
+#define FN_setActorInverseInertiaDiagLocal 510
#define SETACTORINVERSEINERTIADIAGLOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORINVERSEINERTIADIAGLOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORINVERSEINERTIADIAGLOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETACTORINVERSEINERTIADIAGLOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_setActorSleepThresholds 507
+#define FN_setActorSleepThresholds 511
#define SETACTORSLEEPTHRESHOLDS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORSLEEPTHRESHOLDS_LINEAR num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORSLEEPTHRESHOLDS_ANGULAR num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_applyActorTorqueLocal 508
+#define FN_applyActorTorqueLocal 512
#define APPLYACTORTORQUELOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define APPLYACTORTORQUELOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define APPLYACTORTORQUELOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define APPLYACTORTORQUELOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_applyActorTorqueWorld 509
+#define FN_applyActorTorqueWorld 513
#define APPLYACTORTORQUEWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define APPLYACTORTORQUEWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define APPLYACTORTORQUEWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define APPLYACTORTORQUEWORLD_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_applyActorForceLocal 510
+#define FN_applyActorForceLocal 514
#define APPLYACTORFORCELOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define APPLYACTORFORCELOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define APPLYACTORFORCELOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -1493,7 +1511,7 @@
#define APPLYACTORFORCELOCAL_REL_X num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define APPLYACTORFORCELOCAL_REL_Y num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define APPLYACTORFORCELOCAL_REL_Z num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_applyActorForceWorld 511
+#define FN_applyActorForceWorld 515
#define APPLYACTORFORCEWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define APPLYACTORFORCEWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define APPLYACTORFORCEWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -1501,27 +1519,27 @@
#define APPLYACTORFORCEWORLD_REL_X num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define APPLYACTORFORCEWORLD_REL_Y num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define APPLYACTORFORCEWORLD_REL_Z num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_applyActorCentralImpulseLocal 512
+#define FN_applyActorCentralImpulseLocal 516
#define APPLYACTORCENTRALIMPULSELOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define APPLYACTORCENTRALIMPULSELOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define APPLYACTORCENTRALIMPULSELOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define APPLYACTORCENTRALIMPULSELOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_applyActorCentralImpulseWorld 513
+#define FN_applyActorCentralImpulseWorld 517
#define APPLYACTORCENTRALIMPULSEWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define APPLYACTORCENTRALIMPULSEWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define APPLYACTORCENTRALIMPULSEWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define APPLYACTORCENTRALIMPULSEWORLD_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_applyActorTorqueImpulseLocal 514
+#define FN_applyActorTorqueImpulseLocal 518
#define APPLYACTORTORQUEIMPULSELOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define APPLYACTORTORQUEIMPULSELOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define APPLYACTORTORQUEIMPULSELOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define APPLYACTORTORQUEIMPULSELOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_applyActorTorqueImpulseWorld 515
+#define FN_applyActorTorqueImpulseWorld 519
#define APPLYACTORTORQUEIMPULSEWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define APPLYACTORTORQUEIMPULSEWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define APPLYACTORTORQUEIMPULSEWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define APPLYACTORTORQUEIMPULSEWORLD_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_applyActorImpulseLocal 516
+#define FN_applyActorImpulseLocal 520
#define APPLYACTORIMPULSELOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define APPLYACTORIMPULSELOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define APPLYACTORIMPULSELOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -1529,7 +1547,7 @@
#define APPLYACTORIMPULSELOCAL_REL_X num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define APPLYACTORIMPULSELOCAL_REL_Y num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define APPLYACTORIMPULSELOCAL_REL_Z num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_applyActorImpulseWorld 517
+#define FN_applyActorImpulseWorld 521
#define APPLYACTORIMPULSEWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define APPLYACTORIMPULSEWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define APPLYACTORIMPULSEWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -1537,52 +1555,52 @@
#define APPLYACTORIMPULSEWORLD_REL_X num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define APPLYACTORIMPULSEWORLD_REL_Y num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define APPLYACTORIMPULSEWORLD_REL_Z num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_clearActorForces 518
+#define FN_clearActorForces 522
#define CLEARACTORFORCES_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_updateActorInertiaTensor 519
+#define FN_updateActorInertiaTensor 523
#define UPDATEACTORINERTIATENSOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getActorCOMPosition 520
+#define FN_getActorCOMPosition 524
#define GETACTORCOMPOSITION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORCOMPOSITION_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORCOMPOSITION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETACTORCOMPOSITION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getActorRotationQ 521
+#define FN_getActorRotationQ 525
#define GETACTORROTATIONQ_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORROTATIONQ_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORROTATIONQ_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETACTORROTATIONQ_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define GETACTORROTATIONQ_W num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define FN_getActorLinearVelocity 522
-#define GETACTORLINEARVELOCITY_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define GETACTORLINEARVELOCITY_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define GETACTORLINEARVELOCITY_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define GETACTORLINEARVELOCITY_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getActorAngularVelocity 523
-#define GETACTORANGULARVELOCITY_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define GETACTORANGULARVELOCITY_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define GETACTORANGULARVELOCITY_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define GETACTORANGULARVELOCITY_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_setActorLinearVelocityLocal 524
+#define FN_getActorLinearVelocityWorld 526
+#define GETACTORLINEARVELOCITYWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define GETACTORLINEARVELOCITYWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define GETACTORLINEARVELOCITYWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define GETACTORLINEARVELOCITYWORLD_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
+#define FN_getActorAngularVelocityWorld 527
+#define GETACTORANGULARVELOCITYWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define GETACTORANGULARVELOCITYWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define GETACTORANGULARVELOCITYWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define GETACTORANGULARVELOCITYWORLD_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
+#define FN_setActorLinearVelocityLocal 528
#define SETACTORLINEARVELOCITYLOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORLINEARVELOCITYLOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORLINEARVELOCITYLOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETACTORLINEARVELOCITYLOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_setActorLinearVelocityWorld 525
+#define FN_setActorLinearVelocityWorld 529
#define SETACTORLINEARVELOCITYWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORLINEARVELOCITYWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORLINEARVELOCITYWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETACTORLINEARVELOCITYWORLD_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_setActorAngularVelocityLocal 526
+#define FN_setActorAngularVelocityLocal 530
#define SETACTORANGULARVELOCITYLOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORANGULARVELOCITYLOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORANGULARVELOCITYLOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETACTORANGULARVELOCITYLOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_setActorAngularVelocityWorld 527
+#define FN_setActorAngularVelocityWorld 531
#define SETACTORANGULARVELOCITYWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORANGULARVELOCITYWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORANGULARVELOCITYWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETACTORANGULARVELOCITYWORLD_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getActorLocalPointVelocity 528
+#define FN_getActorLocalPointVelocity 532
#define GETACTORLOCALPOINTVELOCITY_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORLOCALPOINTVELOCITY_REL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORLOCALPOINTVELOCITY_REL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -1590,17 +1608,17 @@
#define GETACTORLOCALPOINTVELOCITY_X num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define GETACTORLOCALPOINTVELOCITY_Y num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define GETACTORLOCALPOINTVELOCITY_Z num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_getActorLinearVelocityLocal 529
+#define FN_getActorLinearVelocityLocal 533
#define GETACTORLINEARVELOCITYLOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORLINEARVELOCITYLOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORLINEARVELOCITYLOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETACTORLINEARVELOCITYLOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getActorAngularVelocityLocal 530
+#define FN_getActorAngularVelocityLocal 534
#define GETACTORANGULARVELOCITYLOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORANGULARVELOCITYLOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORANGULARVELOCITYLOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETACTORANGULARVELOCITYLOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getActorAABB 531
+#define FN_getActorAABB 535
#define GETACTORAABB_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORAABB_MIN_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORAABB_MIN_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -1608,7 +1626,7 @@
#define GETACTORAABB_MAX_X num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define GETACTORAABB_MAX_Y num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define GETACTORAABB_MAX_Z num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_computeActorImpulseDenominator 532
+#define FN_computeActorImpulseDenominator 536
#define COMPUTEACTORIMPULSEDENOMINATOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define COMPUTEACTORIMPULSEDENOMINATOR_POS_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define COMPUTEACTORIMPULSEDENOMINATOR_POS_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -1616,44 +1634,47 @@
#define COMPUTEACTORIMPULSEDENOMINATOR_NORMAL_X num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define COMPUTEACTORIMPULSEDENOMINATOR_NORMAL_Y num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define COMPUTEACTORIMPULSEDENOMINATOR_NORMAL_Z num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_computeActorAngularImpulseDenominator 533
+#define FN_computeActorAngularImpulseDenominator 537
#define COMPUTEACTORANGULARIMPULSEDENOMINATOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define COMPUTEACTORANGULARIMPULSEDENOMINATOR_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define COMPUTEACTORANGULARIMPULSEDENOMINATOR_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define COMPUTEACTORANGULARIMPULSEDENOMINATOR_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_setActorAngularFactor 534
+#define FN_setActorAngularFactor 538
#define SETACTORANGULARFACTOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORANGULARFACTOR_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORANGULARFACTOR_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETACTORANGULARFACTOR_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getActorAngularFactor 535
+#define FN_getActorAngularFactor 539
#define GETACTORANGULARFACTOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORANGULARFACTOR_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORANGULARFACTOR_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETACTORANGULARFACTOR_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_computeActorGyroImpulseLocal 536
+#define FN_computeActorGyroImpulseLocal 540
#define COMPUTEACTORGYROIMPULSELOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define COMPUTEACTORGYROIMPULSELOCAL_DT num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define COMPUTEACTORGYROIMPULSELOCAL_X num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define COMPUTEACTORGYROIMPULSELOCAL_Y num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define COMPUTEACTORGYROIMPULSELOCAL_Z num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define FN_computeActorGyroImpulseWorld 537
+#define FN_computeActorGyroImpulseWorld 541
#define COMPUTEACTORGYROIMPULSEWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define COMPUTEACTORGYROIMPULSEWORLD_DT num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define COMPUTEACTORGYROIMPULSEWORLD_X num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define COMPUTEACTORGYROIMPULSEWORLD_Y num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define COMPUTEACTORGYROIMPULSEWORLD_Z num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define FN_getActorLocalInertia 538
+#define FN_getActorLocalInertia 542
#define GETACTORLOCALINERTIA_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORLOCALINERTIA_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORLOCALINERTIA_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETACTORLOCALINERTIA_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_createPointConstraint 539
+#define FN_SetActorSleepState 543
+#define SETACTORSLEEPSTATE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETACTORSLEEPSTATE_STATE num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_createPointConstraint 544
#define CREATEPOINTCONSTRAINT_ACTORA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CREATEPOINTCONSTRAINT_PXA num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define CREATEPOINTCONSTRAINT_PYA num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define CREATEPOINTCONSTRAINT_PZA num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_createPointConstraintEx 540
+#define FN_createPointConstraintEx 545
#define CREATEPOINTCONSTRAINTEX_ACTORA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CREATEPOINTCONSTRAINTEX_ACTORB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define CREATEPOINTCONSTRAINTEX_PXA num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -1662,60 +1683,47 @@
#define CREATEPOINTCONSTRAINTEX_PXB num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define CREATEPOINTCONSTRAINTEX_PYB num_var[6].nref[0].value[ num_var[6].byref_offset ]
#define CREATEPOINTCONSTRAINTEX_PZB num_var[7].nref[0].value[ num_var[7].byref_offset ]
-#define FN_setConstraintPivotA 541
-#define SETCONSTRAINTPIVOTA_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTPIVOTA_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define SETCONSTRAINTPIVOTA_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define SETCONSTRAINTPIVOTA_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_setConstraintPivotB 542
-#define SETCONSTRAINTPIVOTB_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTPIVOTB_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define SETCONSTRAINTPIVOTB_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define SETCONSTRAINTPIVOTB_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_createHingeConstraint 543
+#define FN_setPointPivotA 546
+#define SETPOINTPIVOTA_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETPOINTPIVOTA_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define SETPOINTPIVOTA_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define SETPOINTPIVOTA_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
+#define FN_setPointPivotB 547
+#define SETPOINTPIVOTB_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETPOINTPIVOTB_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define SETPOINTPIVOTB_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define SETPOINTPIVOTB_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
+#define FN_createHingeConstraint 548
#define CREATEHINGECONSTRAINT_ACTORA num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define CREATEHINGECONSTRAINT_PXA num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define CREATEHINGECONSTRAINT_PYA num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define CREATEHINGECONSTRAINT_PZA num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define CREATEHINGECONSTRAINT_AXA num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define CREATEHINGECONSTRAINT_AYA num_var[5].nref[0].value[ num_var[5].byref_offset ]
-#define CREATEHINGECONSTRAINT_AZA num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_createHingeConstraintEx 544
+#define CREATEHINGECONSTRAINT_FRAMEA num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define CREATEHINGECONSTRAINT_USEREFERENCEFRAMEA num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define FN_createHingeConstraintEx 549
#define CREATEHINGECONSTRAINTEX_ACTORA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CREATEHINGECONSTRAINTEX_ACTORB num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define CREATEHINGECONSTRAINTEX_PXA num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define CREATEHINGECONSTRAINTEX_PYA num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define CREATEHINGECONSTRAINTEX_PZA num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define CREATEHINGECONSTRAINTEX_PXB num_var[5].nref[0].value[ num_var[5].byref_offset ]
-#define CREATEHINGECONSTRAINTEX_PYB num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define CREATEHINGECONSTRAINTEX_PZB num_var[7].nref[0].value[ num_var[7].byref_offset ]
-#define CREATEHINGECONSTRAINTEX_AXA num_var[8].nref[0].value[ num_var[8].byref_offset ]
-#define CREATEHINGECONSTRAINTEX_AYA num_var[9].nref[0].value[ num_var[9].byref_offset ]
-#define CREATEHINGECONSTRAINTEX_AZA num_var[10].nref[0].value[ num_var[10].byref_offset ]
-#define CREATEHINGECONSTRAINTEX_AXB num_var[11].nref[0].value[ num_var[11].byref_offset ]
-#define CREATEHINGECONSTRAINTEX_AYB num_var[12].nref[0].value[ num_var[12].byref_offset ]
-#define CREATEHINGECONSTRAINTEX_AZB num_var[13].nref[0].value[ num_var[13].byref_offset ]
-#define FN_createSlideConstraint 545
+#define CREATEHINGECONSTRAINTEX_FRAMEA num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define CREATEHINGECONSTRAINTEX_FRAMEB num_var[3].nref[0].value[ num_var[3].byref_offset ]
+#define CREATEHINGECONSTRAINTEX_USEREFERENCEFRAMEA num_var[4].nref[0].value[ num_var[4].byref_offset ]
+#define FN_createSlideConstraint 550
#define CREATESLIDECONSTRAINT_ACTORA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CREATESLIDECONSTRAINT_FRAMEINB_MATRIX num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define CREATESLIDECONSTRAINT_USELINEARREFERENCEFRAMEA num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_createSlideConstraintEx 546
+#define FN_createSlideConstraintEx 551
#define CREATESLIDECONSTRAINTEX_ACTORA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CREATESLIDECONSTRAINTEX_ACTORB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define CREATESLIDECONSTRAINTEX_FRAMEINA_MATRIX num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define CREATESLIDECONSTRAINTEX_FRAMEINB_MATRIX num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define CREATESLIDECONSTRAINTEX_USELINEARREFERENCEFRAMEA num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define FN_createConeConstraint 547
+#define FN_createConeConstraint 552
#define CREATECONECONSTRAINT_ACTORA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CREATECONECONSTRAINT_RBAFRAME_MATRIX num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_createConeConstraintEx 548
+#define FN_createConeConstraintEx 553
#define CREATECONECONSTRAINTEX_ACTORA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CREATECONECONSTRAINTEX_ACTORB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define CREATECONECONSTRAINTEX_RBAFRAME_MATRIX num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define CREATECONECONSTRAINTEX_RBBFRAME_MATRIX num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_deleteConstraint 549
+#define FN_deleteConstraint 554
#define DELETECONSTRAINT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintFrameOffsetA 550
+#define FN_getConstraintFrameOffsetA 555
#define GETCONSTRAINTFRAMEOFFSETA_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETCONSTRAINTFRAMEOFFSETA_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETCONSTRAINTFRAMEOFFSETA_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -1723,7 +1731,7 @@
#define GETCONSTRAINTFRAMEOFFSETA_RX num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define GETCONSTRAINTFRAMEOFFSETA_RY num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define GETCONSTRAINTFRAMEOFFSETA_RZ num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_getConstraintFrameOffsetB 551
+#define FN_getConstraintFrameOffsetB 556
#define GETCONSTRAINTFRAMEOFFSETB_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETCONSTRAINTFRAMEOFFSETB_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETCONSTRAINTFRAMEOFFSETB_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -1731,43 +1739,43 @@
#define GETCONSTRAINTFRAMEOFFSETB_RX num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define GETCONSTRAINTFRAMEOFFSETB_RY num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define GETCONSTRAINTFRAMEOFFSETB_RZ num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_useConstraintFrameOffset 552
+#define FN_useConstraintFrameOffset 557
#define USECONSTRAINTFRAMEOFFSET_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define USECONSTRAINTFRAMEOFFSET_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getHingeAngle 553
+#define FN_getHingeAngle 558
#define GETHINGEANGLE_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getHingeAngleEx 554
+#define FN_getHingeAngleEx 559
#define GETHINGEANGLEEX_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETHINGEANGLEEX_T_MATRIXA num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETHINGEANGLEEX_T_MATRIXB num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_getConstraintBreakingImpulseThreshold 555
+#define FN_getConstraintBreakingImpulseThreshold 560
#define GETCONSTRAINTBREAKINGIMPULSETHRESHOLD_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintAFrame 556
+#define FN_getConstraintAFrame 561
#define GETCONSTRAINTAFRAME_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETCONSTRAINTAFRAME_MA num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getConstraintBFrame 557
+#define FN_getConstraintBFrame 562
#define GETCONSTRAINTBFRAME_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETCONSTRAINTBFRAME_MA num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintAxis 558
-#define SETCONSTRAINTAXIS_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTAXIS_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define SETCONSTRAINTAXIS_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define SETCONSTRAINTAXIS_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_setConstraintBreakingImpulseThreshold 559
+#define FN_setHingeAxis 563
+#define SETHINGEAXIS_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETHINGEAXIS_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define SETHINGEAXIS_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define SETHINGEAXIS_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
+#define FN_setConstraintBreakingImpulseThreshold 564
#define SETCONSTRAINTBREAKINGIMPULSETHRESHOLD_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETCONSTRAINTBREAKINGIMPULSETHRESHOLD_THRESHOLD num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintFrames 560
+#define FN_setConstraintFrames 565
#define SETCONSTRAINTFRAMES_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETCONSTRAINTFRAMES_FRAMEA_MATRIX num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETCONSTRAINTFRAMES_FRAMEB_MATRIX num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_setHingeLimit 561
+#define FN_setHingeLimit 566
#define SETHINGELIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETHINGELIMIT_LOW num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETHINGELIMIT_HIGH num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETHINGELIMIT_SOFTNESS num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define SETHINGELIMIT_BIAS_FACTOR num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define SETHINGELIMIT_RELAXATION_FACTOR num_var[5].nref[0].value[ num_var[5].byref_offset ]
-#define FN_setConeLimit 562
+#define FN_setConeLimit 567
#define SETCONELIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETCONELIMIT_SWINGSPAN1 num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETCONELIMIT_SWINGSPAN2 num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -1775,382 +1783,380 @@
#define SETCONELIMIT_SOFTNESS num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define SETCONELIMIT_BIAS_FACTOR num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define SETCONELIMIT_RELAXATION_FACTOR num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_getConstraintLimitBiasFactor 563
-#define GETCONSTRAINTLIMITBIASFACTOR_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getLimitRelaxationFactor 564
-#define GETLIMITRELAXATIONFACTOR_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintLimitSign 565
-#define GETCONSTRAINTLIMITSIGN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getHingeSolveLimit 566
+#define FN_getHingeLimitBiasFactor 568
+#define GETHINGELIMITBIASFACTOR_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getHingeLimitRelaxationFactor 569
+#define GETHINGELIMITRELAXATIONFACTOR_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getHingeLimitSign 570
+#define GETHINGELIMITSIGN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getHingeSolveLimit 571
#define GETHINGESOLVELIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_useHingeReferenceFrameA 567
+#define FN_useHingeReferenceFrameA 572
#define USEHINGEREFERENCEFRAMEA_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define USEHINGEREFERENCEFRAMEA_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getConstraintAppliedImpulse 568
+#define FN_getConstraintAppliedImpulse 573
#define GETCONSTRAINTAPPLIEDIMPULSE_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintFixedActor 569
+#define FN_getConstraintFixedActor 574
#define GETCONSTRAINTFIXEDACTOR_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintPivotA 570
-#define GETCONSTRAINTPIVOTA_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define GETCONSTRAINTPIVOTA_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define GETCONSTRAINTPIVOTA_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define GETCONSTRAINTPIVOTA_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getConstraintPivotB 571
-#define GETCONSTRAINTPIVOTB_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define GETCONSTRAINTPIVOTB_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define GETCONSTRAINTPIVOTB_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define GETCONSTRAINTPIVOTB_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getConstraintActorA 572
+#define FN_getPointPivotA 575
+#define GETPOINTPIVOTA_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define GETPOINTPIVOTA_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define GETPOINTPIVOTA_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define GETPOINTPIVOTA_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
+#define FN_getPointPivotB 576
+#define GETPOINTPIVOTB_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define GETPOINTPIVOTB_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define GETPOINTPIVOTB_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define GETPOINTPIVOTB_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
+#define FN_getConstraintActorA 577
#define GETCONSTRAINTACTORA_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintActorB 573
+#define FN_getConstraintActorB 578
#define GETCONSTRAINTACTORB_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setConstraintSolverIterations 574
+#define FN_setConstraintSolverIterations 579
#define SETCONSTRAINTSOLVERITERATIONS_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETCONSTRAINTSOLVERITERATIONS_NUM num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getConstraintBiasFactor 575
-#define GETCONSTRAINTBIASFACTOR_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintDamping 576
-#define GETCONSTRAINTDAMPING_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintFixThresh 577
-#define GETCONSTRAINTFIXTHRESH_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintLimit 578
-#define GETCONSTRAINTLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define GETCONSTRAINTLIMIT_LIMIT_INDEX num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getConstraintLimitSoftness 579
+#define FN_getConeBiasFactor 580
+#define GETCONEBIASFACTOR_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getConeDamping 581
+#define GETCONEDAMPING_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getConeFixThresh 582
+#define GETCONEFIXTHRESH_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getConeLimit 583
+#define GETCONELIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define GETCONELIMIT_LIMIT_INDEX num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_getConstraintLimitSoftness 584
#define GETCONSTRAINTLIMITSOFTNESS_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintSolverIterations 580
+#define FN_getConstraintSolverIterations 585
#define GETCONSTRAINTSOLVERITERATIONS_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintAnglePoint 581
-#define GETCONSTRAINTANGLEPOINT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define GETCONSTRAINTANGLEPOINT_ANGLE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define GETCONSTRAINTANGLEPOINT_C_LEN num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define GETCONSTRAINTANGLEPOINT_X num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define GETCONSTRAINTANGLEPOINT_Y num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define GETCONSTRAINTANGLEPOINT_Z num_var[5].nref[0].value[ num_var[5].byref_offset ]
-#define FN_getConstraintAngularOnly 582
+#define FN_getConeAnglePoint 586
+#define GETCONEANGLEPOINT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define GETCONEANGLEPOINT_ANGLE num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define GETCONEANGLEPOINT_C_LEN num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define GETCONEANGLEPOINT_X num_var[3].nref[0].value[ num_var[3].byref_offset ]
+#define GETCONEANGLEPOINT_Y num_var[4].nref[0].value[ num_var[4].byref_offset ]
+#define GETCONEANGLEPOINT_Z num_var[5].nref[0].value[ num_var[5].byref_offset ]
+#define FN_getConstraintAngularOnly 587
#define GETCONSTRAINTANGULARONLY_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintSolveSwingLimit 583
-#define GETCONSTRAINTSOLVESWINGLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintSolveTwistLimit 584
-#define GETCONSTRAINTSOLVETWISTLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintSolveLimit 585
-#define GETCONSTRAINTSOLVELIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintSwingSpan1 586
-#define GETCONSTRAINTSWINGSPAN1_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintSwingSpan2 587
-#define GETCONSTRAINTSWINGSPAN2_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintTwistAngle 588
-#define GETCONSTRAINTTWISTANGLE_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintTwistLimitSign 589
-#define GETCONSTRAINTTWISTLIMITSIGN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintTwistSpan 590
-#define GETCONSTRAINTTWISTSPAN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setConstraintAngularOnly 591
+#define FN_getConeSolveSwingLimit 588
+#define GETCONESOLVESWINGLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getConeSolveTwistLimit 589
+#define GETCONESOLVETWISTLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getConeSwingSpan1 590
+#define GETCONESWINGSPAN1_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getConeSwingSpan2 591
+#define GETCONESWINGSPAN2_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getConeTwistAngle 592
+#define GETCONETWISTANGLE_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getConeTwistLimitSign 593
+#define GETCONETWISTLIMITSIGN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getConeTwistSpan 594
+#define GETCONETWISTSPAN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_setConstraintAngularOnly 595
#define SETCONSTRAINTANGULARONLY_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETCONSTRAINTANGULARONLY_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintDamping 592
-#define SETCONSTRAINTDAMPING_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTDAMPING_DAMPING num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintFixThresh 593
-#define SETCONSTRAINTFIXTHRESH_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTFIXTHRESH_FIXTHRESH num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getConstraintAnchorA 594
-#define GETCONSTRAINTANCHORA_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define GETCONSTRAINTANCHORA_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define GETCONSTRAINTANCHORA_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define GETCONSTRAINTANCHORA_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getConstraintAnchorB 595
-#define GETCONSTRAINTANCHORB_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define GETCONSTRAINTANCHORB_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define GETCONSTRAINTANCHORB_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define GETCONSTRAINTANCHORB_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getConstraintAngDepth 596
-#define GETCONSTRAINTANGDEPTH_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintAngularPos 597
-#define GETCONSTRAINTANGULARPOS_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintDampingDirAng 598
-#define GETCONSTRAINTDAMPINGDIRANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintDampingDirLin 599
-#define GETCONSTRAINTDAMPINGDIRLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintDampingLimAng 600
-#define GETCONSTRAINTDAMPINGLIMANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintDampingLimLin 601
-#define GETCONSTRAINTDAMPINGLIMLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintDampingOrthoAng 602
-#define GETCONSTRAINTDAMPINGORTHOANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintDampingOrthoLin 603
-#define GETCONSTRAINTDAMPINGORTHOLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintLinearPos 604
-#define GETCONSTRAINTLINEARPOS_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintLinDepth 605
-#define GETCONSTRAINTLINDEPTH_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintLowerAngLimit 606
-#define GETCONSTRAINTLOWERANGLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintLowerLinLimit 607
-#define GETCONSTRAINTLOWERLINLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintRestitutionDirAng 608
-#define GETCONSTRAINTRESTITUTIONDIRANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintRestitutionDirLin 609
-#define GETCONSTRAINTRESTITUTIONDIRLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintRestitutionLimAng 610
-#define GETCONSTRAINTRESTITUTIONLIMANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintRestitutionLimLin 611
-#define GETCONSTRAINTRESTITUTIONLIMLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintRestitutionOrthoAng 612
-#define GETCONSTRAINTRESTITUTIONORTHOANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintRestitutionOrthoLin 613
-#define GETCONSTRAINTRESTITUTIONORTHOLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintSoftnessDirAng 614
-#define GETCONSTRAINTSOFTNESSDIRANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintSoftnessDirLin 615
-#define GETCONSTRAINTSOFTNESSDIRLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintSoftnessLimAng 616
-#define GETCONSTRAINTSOFTNESSLIMANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintSoftnessLimLin 617
-#define GETCONSTRAINTSOFTNESSLIMLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintSoftnessOrthoAng 618
-#define GETCONSTRAINTSOFTNESSORTHOANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintSoftnessOrthoLin 619
-#define GETCONSTRAINTSOFTNESSORTHOLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintSolveAngLimit 620
-#define GETCONSTRAINTSOLVEANGLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintSolveLinLimit 621
-#define GETCONSTRAINTSOLVELINLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintUpperAngLimit 622
-#define GETCONSTRAINTUPPERANGLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintUpperLinLimit 623
-#define GETCONSTRAINTUPPERLINLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintUseFrameOffset 624
-#define GETCONSTRAINTUSEFRAMEOFFSET_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setConstraintDampingDirAng 625
-#define SETCONSTRAINTDAMPINGDIRANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTDAMPINGDIRANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintDampingDirLin 626
-#define SETCONSTRAINTDAMPINGDIRLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTDAMPINGDIRLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintDampingLimAng 627
-#define SETCONSTRAINTDAMPINGLIMANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTDAMPINGLIMANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintDampingLimLin 628
-#define SETCONSTRAINTDAMPINGLIMLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTDAMPINGLIMLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintDampingOrthoAng 629
-#define SETCONSTRAINTDAMPINGORTHOANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTDAMPINGORTHOANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintDampingOrthoLin 630
-#define SETCONSTRAINTDAMPINGORTHOLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTDAMPINGORTHOLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintLowerAngLimit 631
-#define SETCONSTRAINTLOWERANGLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTLOWERANGLIMIT_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintLowerLinLimit 632
-#define SETCONSTRAINTLOWERLINLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTLOWERLINLIMIT_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintRestitutionDirAng 633
-#define SETCONSTRAINTRESTITUTIONDIRANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTRESTITUTIONDIRANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintRestitutionDirLin 634
-#define SETCONSTRAINTRESTITUTIONDIRLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTRESTITUTIONDIRLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintRestitutionLimAng 635
-#define SETCONSTRAINTRESTITUTIONLIMANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTRESTITUTIONLIMANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintRestitutionLimLin 636
-#define SETCONSTRAINTRESTITUTIONLIMLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTRESTITUTIONLIMLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintRestitutionOrthoAng 637
-#define SETCONSTRAINTRESTITUTIONORTHOANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTRESTITUTIONORTHOANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintRestitutionOrthoLin 638
-#define SETCONSTRAINTRESTITUTIONORTHOLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTRESTITUTIONORTHOLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintSoftnessDirAng 639
-#define SETCONSTRAINTSOFTNESSDIRANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTSOFTNESSDIRANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintSoftnessDirLin 640
-#define SETCONSTRAINTSOFTNESSDIRLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTSOFTNESSDIRLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintSoftnessLimAng 641
-#define SETCONSTRAINTSOFTNESSLIMANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTSOFTNESSLIMANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintSoftnessLimLin 642
-#define SETCONSTRAINTSOFTNESSLIMLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTSOFTNESSLIMLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintSoftnessOrthoAng 643
-#define SETCONSTRAINTSOFTNESSORTHOANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTSOFTNESSORTHOANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintSoftnessOrthoLin 644
-#define SETCONSTRAINTSOFTNESSORTHOLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTSOFTNESSORTHOLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintUpperAngLimit 645
-#define SETCONSTRAINTUPPERANGLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTUPPERANGLIMIT_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintUpperLinLimit 646
-#define SETCONSTRAINTUPPERLINLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTUPPERLINLIMIT_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_SetCameraPosition 647
+#define FN_setConeDamping 596
+#define SETCONEDAMPING_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETCONEDAMPING_DAMPING num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setConeFixThresh 597
+#define SETCONEFIXTHRESH_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETCONEFIXTHRESH_FIXTHRESH num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_getSlideAnchorA 598
+#define GETSLIDEANCHORA_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define GETSLIDEANCHORA_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define GETSLIDEANCHORA_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define GETSLIDEANCHORA_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
+#define FN_getSlideAnchorB 599
+#define GETSLIDEANCHORB_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define GETSLIDEANCHORB_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define GETSLIDEANCHORB_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define GETSLIDEANCHORB_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
+#define FN_getSlideAngDepth 600
+#define GETSLIDEANGDEPTH_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideAngularPos 601
+#define GETSLIDEANGULARPOS_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideDampingDirAng 602
+#define GETSLIDEDAMPINGDIRANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideDampingDirLin 603
+#define GETSLIDEDAMPINGDIRLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideDampingLimAng 604
+#define GETSLIDEDAMPINGLIMANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideDampingLimLin 605
+#define GETSLIDEDAMPINGLIMLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideDampingOrthoAng 606
+#define GETSLIDEDAMPINGORTHOANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideDampingOrthoLin 607
+#define GETSLIDEDAMPINGORTHOLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideLinearPos 608
+#define GETSLIDELINEARPOS_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideLinDepth 609
+#define GETSLIDELINDEPTH_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideLowerAngLimit 610
+#define GETSLIDELOWERANGLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideLowerLinLimit 611
+#define GETSLIDELOWERLINLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideRestitutionDirAng 612
+#define GETSLIDERESTITUTIONDIRANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideRestitutionDirLin 613
+#define GETSLIDERESTITUTIONDIRLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideRestitutionLimAng 614
+#define GETSLIDERESTITUTIONLIMANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideRestitutionLimLin 615
+#define GETSLIDERESTITUTIONLIMLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideRestitutionOrthoAng 616
+#define GETSLIDERESTITUTIONORTHOANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideRestitutionOrthoLin 617
+#define GETSLIDERESTITUTIONORTHOLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideSoftnessDirAng 618
+#define GETSLIDESOFTNESSDIRANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideSoftnessDirLin 619
+#define GETSLIDESOFTNESSDIRLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideSoftnessLimAng 620
+#define GETSLIDESOFTNESSLIMANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideSoftnessLimLin 621
+#define GETSLIDESOFTNESSLIMLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideSoftnessOrthoAng 622
+#define GETSLIDESOFTNESSORTHOANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideSoftnessOrthoLin 623
+#define GETSLIDESOFTNESSORTHOLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideSolveAngLimit 624
+#define GETSLIDESOLVEANGLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideSolveLinLimit 625
+#define GETSLIDESOLVELINLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideUpperAngLimit 626
+#define GETSLIDEUPPERANGLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideUpperLinLimit 627
+#define GETSLIDEUPPERLINLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideUseFrameOffset 628
+#define GETSLIDEUSEFRAMEOFFSET_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_setSlideDampingDirAng 629
+#define SETSLIDEDAMPINGDIRANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDEDAMPINGDIRANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideDampingDirLin 630
+#define SETSLIDEDAMPINGDIRLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDEDAMPINGDIRLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideDampingLimAng 631
+#define SETSLIDEDAMPINGLIMANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDEDAMPINGLIMANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideDampingLimLin 632
+#define SETSLIDEDAMPINGLIMLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDEDAMPINGLIMLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideDampingOrthoAng 633
+#define SETSLIDEDAMPINGORTHOANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDEDAMPINGORTHOANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideDampingOrthoLin 634
+#define SETSLIDEDAMPINGORTHOLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDEDAMPINGORTHOLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideLowerAngLimit 635
+#define SETSLIDELOWERANGLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDELOWERANGLIMIT_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideLowerLinLimit 636
+#define SETSLIDELOWERLINLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDELOWERLINLIMIT_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideRestitutionDirAng 637
+#define SETSLIDERESTITUTIONDIRANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDERESTITUTIONDIRANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideRestitutionDirLin 638
+#define SETSLIDERESTITUTIONDIRLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDERESTITUTIONDIRLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideRestitutionLimAng 639
+#define SETSLIDERESTITUTIONLIMANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDERESTITUTIONLIMANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideRestitutionLimLin 640
+#define SETSLIDERESTITUTIONLIMLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDERESTITUTIONLIMLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideRestitutionOrthoAng 641
+#define SETSLIDERESTITUTIONORTHOANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDERESTITUTIONORTHOANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideRestitutionOrthoLin 642
+#define SETSLIDERESTITUTIONORTHOLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDERESTITUTIONORTHOLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideSoftnessDirAng 643
+#define SETSLIDESOFTNESSDIRANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDESOFTNESSDIRANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideSoftnessDirLin 644
+#define SETSLIDESOFTNESSDIRLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDESOFTNESSDIRLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideSoftnessLimAng 645
+#define SETSLIDESOFTNESSLIMANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDESOFTNESSLIMANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideSoftnessLimLin 646
+#define SETSLIDESOFTNESSLIMLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDESOFTNESSLIMLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideSoftnessOrthoAng 647
+#define SETSLIDESOFTNESSORTHOANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDESOFTNESSORTHOANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideSoftnessOrthoLin 648
+#define SETSLIDESOFTNESSORTHOLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDESOFTNESSORTHOLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideUpperAngLimit 649
+#define SETSLIDEUPPERANGLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDEUPPERANGLIMIT_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideUpperLinLimit 650
+#define SETSLIDEUPPERLINLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDEUPPERLINLIMIT_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_ConstraintExists 651
+#define CONSTRAINTEXISTS_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_SetCameraPosition 652
#define SETCAMERAPOSITION_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETCAMERAPOSITION_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETCAMERAPOSITION_Z num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_GetCameraPosition 648
+#define FN_GetCameraPosition 653
#define GETCAMERAPOSITION_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETCAMERAPOSITION_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETCAMERAPOSITION_Z num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_TranslateCamera 649
+#define FN_TranslateCamera 654
#define TRANSLATECAMERA_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define TRANSLATECAMERA_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define TRANSLATECAMERA_Z num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_SetCameraRotation 650
+#define FN_SetCameraRotation 655
#define SETCAMERAROTATION_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETCAMERAROTATION_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETCAMERAROTATION_Z num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_GetCameraRotation 651
+#define FN_GetCameraRotation 656
#define GETCAMERAROTATION_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETCAMERAROTATION_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETCAMERAROTATION_Z num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_RotateCamera 652
+#define FN_RotateCamera 657
#define ROTATECAMERA_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define ROTATECAMERA_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define ROTATECAMERA_Z num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_SetCameraFOV 653
+#define FN_SetCameraFOV 658
#define SETCAMERAFOV_FOV num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetCameraFOV 654
-#define FN_SetCameraAspectRatio 655
+#define FN_GetCameraFOV 659
+#define FN_SetCameraAspectRatio 660
#define SETCAMERAASPECTRATIO_ASPECT num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetCameraAspectRatio 656
-#define FN_SetCameraFarValue 657
+#define FN_GetCameraAspectRatio 661
+#define FN_SetCameraFarValue 662
#define SETCAMERAFARVALUE_ZF num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetCameraFarValue 658
-#define FN_SetCameraNearValue 659
+#define FN_GetCameraFarValue 663
+#define FN_SetCameraNearValue 664
#define SETCAMERANEARVALUE_ZN num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetCameraNearValue 660
-#define FN_AddSceneSkyBox 661
+#define FN_GetCameraNearValue 665
+#define FN_AddSceneSkyBox 666
#define ADDSCENESKYBOX_IMG_TOP num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define ADDSCENESKYBOX_IMG_BOTTOM num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define ADDSCENESKYBOX_IMG_LEFT num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define ADDSCENESKYBOX_IMG_RIGHT num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define ADDSCENESKYBOX_IMG_FRONT num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define ADDSCENESKYBOX_IMG_BACK num_var[5].nref[0].value[ num_var[5].byref_offset ]
-#define FN_AddSceneSkyDome 662
+#define FN_AddSceneSkyDome 667
#define ADDSCENESKYDOME_IMG num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_AddSceneSkyDomeEx 663
+#define FN_AddSceneSkyDomeEx 668
#define ADDSCENESKYDOMEEX_IMG num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define ADDSCENESKYDOMEEX_HORIRES num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define ADDSCENESKYDOMEEX_VERTRES num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define ADDSCENESKYDOMEEX_TXPERCENTAGE num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define ADDSCENESKYDOMEEX_SPHEREPERCENTAGE num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define ADDSCENESKYDOMEEX_RADIUS num_var[5].nref[0].value[ num_var[5].byref_offset ]
-#define FN_RemoveSceneSky 664
-#define FN_SetWorld3DDeltaTime 665
-#define SETWORLD3DDELTATIME_DT num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetWorld3DMaxSubSteps 666
+#define FN_RemoveSceneSky 669
+#define FN_SetWorld3DMaxSubSteps 670
#define SETWORLD3DMAXSUBSTEPS_STEPS num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetWorld3DTimeStep 667
+#define FN_SetWorld3DTimeStep 671
#define SETWORLD3DTIMESTEP_TS num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_startParticleEmitter 668
+#define FN_startParticleEmitter 672
#define STARTPARTICLEEMITTER_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_stopParticleEmitter 669
+#define FN_stopParticleEmitter 673
#define STOPPARTICLEEMITTER_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleDirection 670
+#define FN_setParticleDirection 674
#define SETPARTICLEDIRECTION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEDIRECTION_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETPARTICLEDIRECTION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETPARTICLEDIRECTION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getParticleDirection 671
+#define FN_getParticleDirection 675
#define GETPARTICLEDIRECTION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETPARTICLEDIRECTION_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETPARTICLEDIRECTION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETPARTICLEDIRECTION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_useParticleEveryMeshVertex 672
+#define FN_useParticleEveryMeshVertex 676
#define USEPARTICLEEVERYMESHVERTEX_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define USEPARTICLEEVERYMESHVERTEX_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_particleIsUsingEveryMeshVertex 673
+#define FN_particleIsUsingEveryMeshVertex 677
#define PARTICLEISUSINGEVERYMESHVERTEX_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleNormalDirectionMod 674
+#define FN_setParticleNormalDirectionMod 678
#define SETPARTICLENORMALDIRECTIONMOD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLENORMALDIRECTIONMOD_ND_MOD num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleNormalDirectionMod 675
+#define FN_getParticleNormalDirectionMod 679
#define GETPARTICLENORMALDIRECTIONMOD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_useParticleNormalDirection 676
+#define FN_useParticleNormalDirection 680
#define USEPARTICLENORMALDIRECTION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define USEPARTICLENORMALDIRECTION_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_particleIsUsingNormalDirection 677
+#define FN_particleIsUsingNormalDirection 681
#define PARTICLEISUSINGNORMALDIRECTION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleMesh 678
+#define FN_setParticleMesh 682
#define SETPARTICLEMESH_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEMESH_MESH num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setParticleMinParticlesPerSecond 679
-#define SETPARTICLEMINPARTICLESPERSECOND_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETPARTICLEMINPARTICLESPERSECOND_MINPARTICLESPERSECOND num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleMinParticlesPerSecond 680
-#define GETPARTICLEMINPARTICLESPERSECOND_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleMaxParticlesPerSecond 681
-#define SETPARTICLEMAXPARTICLESPERSECOND_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETPARTICLEMAXPARTICLESPERSECOND_MAXPARTICLESPERSECOND num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleMaxParticlesPerSecond 682
-#define GETPARTICLEMAXPARTICLESPERSECOND_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleMinStartColor 683
+#define FN_setMinParticlesPerSecond 683
+#define SETMINPARTICLESPERSECOND_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETMINPARTICLESPERSECOND_MINPARTICLESPERSECOND num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_getMinParticlesPerSecond 684
+#define GETMINPARTICLESPERSECOND_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_setMaxParticlesPerSecond 685
+#define SETMAXPARTICLESPERSECOND_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETMAXPARTICLESPERSECOND_MAXPARTICLESPERSECOND num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_getMaxParticlesPerSecond 686
+#define GETMAXPARTICLESPERSECOND_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_setParticleMinStartColor 687
#define SETPARTICLEMINSTARTCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEMINSTARTCOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleMinStartColor 684
+#define FN_getParticleMinStartColor 688
#define GETPARTICLEMINSTARTCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleMaxStartColor 685
+#define FN_setParticleMaxStartColor 689
#define SETPARTICLEMAXSTARTCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEMAXSTARTCOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleMaxStartColor 686
+#define FN_getParticleMaxStartColor 690
#define GETPARTICLEMAXSTARTCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleMinLife 687
+#define FN_setParticleMinLife 691
#define SETPARTICLEMINLIFE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEMINLIFE_MINLIFE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleMinLife 688
+#define FN_getParticleMinLife 692
#define GETPARTICLEMINLIFE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleMaxLife 689
+#define FN_setParticleMaxLife 693
#define SETPARTICLEMAXLIFE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEMAXLIFE_MAXLIFE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleMaxLife 690
+#define FN_getParticleMaxLife 694
#define GETPARTICLEMAXLIFE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleMaxAngle 691
+#define FN_setParticleMaxAngle 695
#define SETPARTICLEMAXANGLE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEMAXANGLE_MAXANGLE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleMaxAngle 692
+#define FN_getParticleMaxAngle 696
#define GETPARTICLEMAXANGLE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleMinStartSize 693
+#define FN_setParticleMinStartSize 697
#define SETPARTICLEMINSTARTSIZE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEMINSTARTSIZE_W num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETPARTICLEMINSTARTSIZE_H num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_getParticleMinStartSize 694
+#define FN_getParticleMinStartSize 698
#define GETPARTICLEMINSTARTSIZE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETPARTICLEMINSTARTSIZE_W num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETPARTICLEMINSTARTSIZE_H num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_setParticleMaxStartSize 695
+#define FN_setParticleMaxStartSize 699
#define SETPARTICLEMAXSTARTSIZE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEMAXSTARTSIZE_W num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETPARTICLEMAXSTARTSIZE_H num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_getParticleMaxStartSize 696
+#define FN_getParticleMaxStartSize 700
#define GETPARTICLEMAXSTARTSIZE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETPARTICLEMAXSTARTSIZE_W num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETPARTICLEMAXSTARTSIZE_H num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_setParticleCenter 697
+#define FN_setParticleCenter 701
#define SETPARTICLECENTER_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLECENTER_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETPARTICLECENTER_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETPARTICLECENTER_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getParticleCenter 698
+#define FN_getParticleCenter 702
#define GETPARTICLECENTER_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETPARTICLECENTER_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETPARTICLECENTER_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETPARTICLECENTER_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_setParticleRadius 699
+#define FN_setParticleRadius 703
#define SETPARTICLERADIUS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLERADIUS_RADIUS num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleRadius 700
+#define FN_getParticleRadius 704
#define GETPARTICLERADIUS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleRingThickness 701
+#define FN_setParticleRingThickness 705
#define SETPARTICLERINGTHICKNESS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLERINGTHICKNESS_RINGTHICKNESS num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleRingThickness 702
+#define FN_getParticleRingThickness 706
#define GETPARTICLERINGTHICKNESS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleBox 703
+#define FN_setParticleBox 707
#define SETPARTICLEBOX_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEBOX_MIN_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETPARTICLEBOX_MIN_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -2158,7 +2164,7 @@
#define SETPARTICLEBOX_MAX_X num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define SETPARTICLEBOX_MAX_Y num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define SETPARTICLEBOX_MAX_Z num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_getParticleBox 704
+#define FN_getParticleBox 708
#define GETPARTICLEBOX_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETPARTICLEBOX_MIN_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETPARTICLEBOX_MIN_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -2166,82 +2172,84 @@
#define GETPARTICLEBOX_MAX_X num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define GETPARTICLEBOX_MAX_Y num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define GETPARTICLEBOX_MAX_Z num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_setParticleNormal 705
+#define FN_setParticleNormal 709
#define SETPARTICLENORMAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLENORMAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETPARTICLENORMAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETPARTICLENORMAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getParticleNormal 706
+#define FN_getParticleNormal 710
#define GETPARTICLENORMAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETPARTICLENORMAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETPARTICLENORMAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETPARTICLENORMAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_setParticleLength 707
+#define FN_setParticleLength 711
#define SETPARTICLELENGTH_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLELENGTH_P_LEN num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleLength 708
+#define FN_getParticleLength 712
#define GETPARTICLELENGTH_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_useParticleOutlineOnly 709
+#define FN_useParticleOutlineOnly 713
#define USEPARTICLEOUTLINEONLY_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define USEPARTICLEOUTLINEONLY_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_particleIsUsingOutlineOnly 710
+#define FN_particleIsUsingOutlineOnly 714
#define PARTICLEISUSINGOUTLINEONLY_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_lightIsCastingShadow 711
+#define FN_getParticleType 715
+#define GETPARTICLETYPE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_lightIsCastingShadow 716
#define LIGHTISCASTINGSHADOW_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getLightType 712
+#define FN_getLightType 717
#define GETLIGHTTYPE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getLightRadius 713
+#define FN_getLightRadius 718
#define GETLIGHTRADIUS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setLightType 714
+#define FN_setLightType 719
#define SETLIGHTTYPE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTTYPE_LIGHT_TYPE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setLightRadius 715
+#define FN_setLightRadius 720
#define SETLIGHTRADIUS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTRADIUS_RADIUS num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setLightShadowCast 716
+#define FN_setLightShadowCast 721
#define SETLIGHTSHADOWCAST_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTSHADOWCAST_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_SetLightAmbientColor 717
+#define FN_SetLightAmbientColor 722
#define SETLIGHTAMBIENTCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTAMBIENTCOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetLightAmbientColor 718
+#define FN_GetLightAmbientColor 723
#define GETLIGHTAMBIENTCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetLightAttenuation 719
+#define FN_SetLightAttenuation 724
#define SETLIGHTATTENUATION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTATTENUATION_L_CONSTANT num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETLIGHTATTENUATION_L_LINEAR num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETLIGHTATTENUATION_L_QUADRATIC num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_GetLightAttenuation 720
+#define FN_GetLightAttenuation 725
#define GETLIGHTATTENUATION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETLIGHTATTENUATION_CONSTANT num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETLIGHTATTENUATION_LINEAR num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETLIGHTATTENUATION_QUADRATIC num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_SetLightDiffuseColor 721
+#define FN_SetLightDiffuseColor 726
#define SETLIGHTDIFFUSECOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTDIFFUSECOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetLightDiffuseColor 722
+#define FN_GetLightDiffuseColor 727
#define GETLIGHTDIFFUSECOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetLightFalloff 723
+#define FN_SetLightFalloff 728
#define SETLIGHTFALLOFF_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTFALLOFF_FALLOFF num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetLightFalloff 724
+#define FN_GetLightFalloff 729
#define GETLIGHTFALLOFF_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetLightInnerCone 725
+#define FN_SetLightInnerCone 730
#define SETLIGHTINNERCONE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTINNERCONE_ANGLE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetLightInnerCone 726
+#define FN_GetLightInnerCone 731
#define GETLIGHTINNERCONE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetLightOuterCone 727
+#define FN_SetLightOuterCone 732
#define SETLIGHTOUTERCONE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTOUTERCONE_ANGLE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetLightOuterCone 728
+#define FN_GetLightOuterCone 733
#define GETLIGHTOUTERCONE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetLightSpecularColor 729
+#define FN_SetLightSpecularColor 734
#define SETLIGHTSPECULARCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTSPECULARCOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetLightSpecularColor 730
+#define FN_GetLightSpecularColor 735
#define GETLIGHTSPECULARCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetTerrainPatchAABB 731
+#define FN_GetTerrainPatchAABB 736
#define GETTERRAINPATCHAABB_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETTERRAINPATCHAABB_PATCHX num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETTERRAINPATCHAABB_PATCHZ num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -2251,256 +2259,258 @@
#define GETTERRAINPATCHAABB_MAXX num_var[6].nref[0].value[ num_var[6].byref_offset ]
#define GETTERRAINPATCHAABB_MAXY num_var[7].nref[0].value[ num_var[7].byref_offset ]
#define GETTERRAINPATCHAABB_MAXZ num_var[8].nref[0].value[ num_var[8].byref_offset ]
-#define FN_GetTerrainPatchLOD 732
+#define FN_GetTerrainPatchLOD 737
#define GETTERRAINPATCHLOD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETTERRAINPATCHLOD_PATCHX num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETTERRAINPATCHLOD_PATCHZ num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_GetTerrainHeight 733
+#define FN_GetTerrainHeight 738
#define GETTERRAINHEIGHT_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETTERRAINHEIGHT_PATCHX num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETTERRAINHEIGHT_PATCHZ num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_GetTerrainCenter 734
+#define FN_GetTerrainCenter 739
#define GETTERRAINCENTER_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETTERRAINCENTER_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETTERRAINCENTER_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETTERRAINCENTER_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_SetTerrainLODDistance 735
+#define FN_SetTerrainLODDistance 740
#define SETTERRAINLODDISTANCE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETTERRAINLODDISTANCE_LOD num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETTERRAINLODDISTANCE_DISTANCE num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_ScaleTerrainTexture 736
+#define FN_ScaleTerrainTexture 741
#define SCALETERRAINTEXTURE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SCALETERRAINTEXTURE_SCALE num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SCALETERRAINTEXTURE_SCALE2 num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_SetTerrainCameraMovementDelta 737
+#define FN_SetTerrainCameraMovementDelta 742
#define SETTERRAINCAMERAMOVEMENTDELTA_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETTERRAINCAMERAMOVEMENTDELTA_DELTA num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_SetTerrainCameraRotationDelta 738
+#define FN_SetTerrainCameraRotationDelta 743
#define SETTERRAINCAMERAROTATIONDELTA_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETTERRAINCAMERAROTATIONDELTA_DELTA num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_SetTerrainPatchLOD 739
+#define FN_SetTerrainPatchLOD 744
#define SETTERRAINPATCHLOD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETTERRAINPATCHLOD_PATCHX num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETTERRAINPATCHLOD_PATCHZ num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETTERRAINPATCHLOD_LOD num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_setWaterWindForce 740
+#define FN_setWaterWindForce 745
#define SETWATERWINDFORCE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETWATERWINDFORCE_F num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getWaterWindForce 741
+#define FN_getWaterWindForce 746
#define GETWATERWINDFORCE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setWaterWaveHeight 742
+#define FN_setWaterWaveHeight 747
#define SETWATERWAVEHEIGHT_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETWATERWAVEHEIGHT_H num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getWaterWaveHeight 743
+#define FN_getWaterWaveHeight 748
#define GETWATERWAVEHEIGHT_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setWaterWindDirection 744
+#define FN_setWaterWindDirection 749
#define SETWATERWINDDIRECTION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETWATERWINDDIRECTION_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETWATERWINDDIRECTION_Z num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_getWaterWindDirection 745
+#define FN_getWaterWindDirection 750
#define GETWATERWINDDIRECTION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETWATERWINDDIRECTION_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETWATERWINDDIRECTION_Z num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_setWaterColor 746
+#define FN_setWaterColor 751
#define SETWATERCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETWATERCOLOR_C num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getWaterColor 747
+#define FN_getWaterColor 752
#define GETWATERCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setWaterColorBlendFactor 748
+#define FN_setWaterColorBlendFactor 753
#define SETWATERCOLORBLENDFACTOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETWATERCOLORBLENDFACTOR_CBFACTOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getWaterColorBlendFactor 749
+#define FN_getWaterColorBlendFactor 754
#define GETWATERCOLORBLENDFACTOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetActorAnimation 750
+#define FN_SetActorAnimation 755
#define SETACTORANIMATION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORANIMATION_START_FRAME num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORANIMATION_END_FRAME num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_SetActorAnimationSpeed 751
+#define FN_SetActorAnimationSpeed 756
#define SETACTORANIMATIONSPEED_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORANIMATIONSPEED_SPEED num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_SetActorFrame 752
+#define FN_SetActorFrame 757
#define SETACTORFRAME_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORFRAME_FRAME num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_SetActorMD2Animation 753
+#define FN_SetActorMD2Animation 758
#define SETACTORMD2ANIMATION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORMD2ANIMATION_ANIM num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_SetActorMD2AnimationByName 754
+#define FN_SetActorMD2AnimationByName 759
#define SETACTORMD2ANIMATIONBYNAME_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORMD2ANIMATIONBYNAME_ANIM_NAME$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_GetActorAnimationSpeed 755
+#define FN_GetActorAnimationSpeed 760
#define GETACTORANIMATIONSPEED_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetActorEndFrame 756
+#define FN_GetActorEndFrame 761
#define GETACTORENDFRAME_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetActorCurrentFrame 757
+#define FN_GetActorCurrentFrame 762
#define GETACTORCURRENTFRAME_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetActorStartFrame 758
+#define FN_GetActorStartFrame 763
#define GETACTORSTARTFRAME_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_StartActorTransition 759
+#define FN_StartActorTransition 764
#define STARTACTORTRANSITION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define STARTACTORTRANSITION_FRAME num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define STARTACTORTRANSITION_TRANSITION_TIME num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_StopActorTransition 760
+#define FN_StopActorTransition 765
#define STOPACTORTRANSITION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_ActorIsInTransition 761
+#define FN_ActorIsInTransition 766
#define ACTORISINTRANSITION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetActorTransitionTime 762
+#define FN_GetActorTransitionTime 767
#define GETACTORTRANSITIONTIME_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_actorAnimationIsLooped 763
+#define FN_actorAnimationIsLooped 768
#define ACTORANIMATIONISLOOPED_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_loopActorAnimation 764
+#define FN_loopActorAnimation 769
#define LOOPACTORANIMATION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define LOOPACTORANIMATION_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_createMaterial 765
-#define FN_deleteMaterial 766
+#define FN_createMaterial 770
+#define FN_deleteMaterial 771
#define DELETEMATERIAL_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setActorMaterial 767
+#define FN_setActorMaterial 772
#define SETACTORMATERIAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORMATERIAL_MATERIAL_NUM num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORMATERIAL_MATERIAL_ID num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_getActorMaterial 768
+#define FN_getActorMaterial 773
#define GETACTORMATERIAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORMATERIAL_MATERIAL_NUM num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_copyActorMaterial 769
+#define FN_copyActorMaterial 774
#define COPYACTORMATERIAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define COPYACTORMATERIAL_MATERIAL_NUM num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_copyMaterial 770
+#define FN_copyMaterial 775
#define COPYMATERIAL_SMATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialTextureCanvas 771
+#define FN_setMaterialTextureCanvas 776
#define SETMATERIALTEXTURECANVAS_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALTEXTURECANVAS_LEVEL num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETMATERIALTEXTURECANVAS_CANVAS_ID num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_setMaterialAmbientColor 772
+#define FN_setMaterialAmbientColor 777
#define SETMATERIALAMBIENTCOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALAMBIENTCOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialAmbientColor 773
+#define FN_getMaterialAmbientColor 778
#define GETMATERIALAMBIENTCOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialAntiAliasing 774
+#define FN_setMaterialAntiAliasing 779
#define SETMATERIALANTIALIASING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALANTIALIASING_AA num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialAntiAliasing 775
+#define FN_getMaterialAntiAliasing 780
#define GETMATERIALANTIALIASING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialBackfaceCulling 776
+#define FN_setMaterialBackfaceCulling 781
#define SETMATERIALBACKFACECULLING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALBACKFACECULLING_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialBackfaceCulling 777
+#define FN_getMaterialBackfaceCulling 782
#define GETMATERIALBACKFACECULLING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialBlendFactor 778
+#define FN_setMaterialBlendFactor 783
#define SETMATERIALBLENDFACTOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALBLENDFACTOR_BF num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialBlendFactor 779
+#define FN_getMaterialBlendFactor 784
#define GETMATERIALBLENDFACTOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialBlendMode 780
+#define FN_setMaterialBlendMode 785
#define SETMATERIALBLENDMODE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALBLENDMODE_BLEND_MODE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialBlendMode 781
+#define FN_getMaterialBlendMode 786
#define GETMATERIALBLENDMODE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialColorMask 782
+#define FN_setMaterialColorMask 787
#define SETMATERIALCOLORMASK_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALCOLORMASK_COLOR_MASK num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialColorMask 783
+#define FN_getMaterialColorMask 788
#define GETMATERIALCOLORMASK_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialColorMode 784
+#define FN_setMaterialColorMode 789
#define SETMATERIALCOLORMODE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALCOLORMODE_COLOR_MODE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialColorMode 785
+#define FN_getMaterialColorMode 790
#define GETMATERIALCOLORMODE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialDiffuseColor 786
+#define FN_setMaterialDiffuseColor 791
#define SETMATERIALDIFFUSECOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALDIFFUSECOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialDiffuseColor 787
+#define FN_getMaterialDiffuseColor 792
#define GETMATERIALDIFFUSECOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialEmissiveColor 788
+#define FN_setMaterialEmissiveColor 793
#define SETMATERIALEMISSIVECOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALEMISSIVECOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialEmissiveColor 789
+#define FN_getMaterialEmissiveColor 794
#define GETMATERIALEMISSIVECOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialFog 790
+#define FN_setMaterialFog 795
#define SETMATERIALFOG_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALFOG_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialFog 791
+#define FN_getMaterialFog 796
#define GETMATERIALFOG_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialFrontfaceCulling 792
+#define FN_setMaterialFrontfaceCulling 797
#define SETMATERIALFRONTFACECULLING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALFRONTFACECULLING_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialFrontfaceCulling 793
+#define FN_getMaterialFrontfaceCulling 798
#define GETMATERIALFRONTFACECULLING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialGouraudShading 794
+#define FN_setMaterialGouraudShading 799
#define SETMATERIALGOURAUDSHADING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALGOURAUDSHADING_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_materialIsGouraudShaded 795
+#define FN_materialIsGouraudShaded 800
#define MATERIALISGOURAUDSHADED_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_materialIsAplhaBlend 796
+#define FN_materialIsAplhaBlend 801
#define MATERIALISAPLHABLEND_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_materialIsTransparent 797
+#define FN_materialIsTransparent 802
#define MATERIALISTRANSPARENT_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialLighting 798
+#define FN_setMaterialLighting 803
#define SETMATERIALLIGHTING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALLIGHTING_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_materialIsLit 799
+#define FN_materialIsLit 804
#define MATERIALISLIT_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialType 800
+#define FN_setMaterialType 805
#define SETMATERIALTYPE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALTYPE_MAT_TYPE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialType 801
+#define FN_getMaterialType 806
#define GETMATERIALTYPE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialNormalize 802
+#define FN_setMaterialNormalize 807
#define SETMATERIALNORMALIZE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALNORMALIZE_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_materialIsNormalized 803
+#define FN_materialIsNormalized 808
#define MATERIALISNORMALIZED_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialPointCloud 804
+#define FN_setMaterialPointCloud 809
#define SETMATERIALPOINTCLOUD_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALPOINTCLOUD_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_materialIsPointCloud 805
+#define FN_materialIsPointCloud 810
#define MATERIALISPOINTCLOUD_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialFlag 806
+#define FN_setMaterialFlag 811
#define SETMATERIALFLAG_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALFLAG_MATERIAL_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETMATERIALFLAG_F_VALUE num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_getMaterialFlag 807
+#define FN_getMaterialFlag 812
#define GETMATERIALFLAG_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETMATERIALFLAG_MATERIAL_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setMaterialTexture 808
+#define FN_setMaterialTexture 813
#define SETMATERIALTEXTURE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALTEXTURE_LEVEL num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETMATERIALTEXTURE_IMG_ID num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_setMaterialShininess 809
+#define FN_setMaterialShininess 814
#define SETMATERIALSHININESS_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALSHININESS_SHININESS num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialShininess 810
+#define FN_getMaterialShininess 815
#define GETMATERIALSHININESS_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialSpecularColor 811
+#define FN_setMaterialSpecularColor 816
#define SETMATERIALSPECULARCOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALSPECULARCOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialSpecularColor 812
+#define FN_getMaterialSpecularColor 817
#define GETMATERIALSPECULARCOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialThickness 813
+#define FN_setMaterialThickness 818
#define SETMATERIALTHICKNESS_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALTHICKNESS_THICKNESS num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialThickness 814
+#define FN_getMaterialThickness 819
#define GETMATERIALTHICKNESS_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialWireframe 815
+#define FN_setMaterialWireframe 820
#define SETMATERIALWIREFRAME_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALWIREFRAME_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_materialIsWireframe 816
+#define FN_materialIsWireframe 821
#define MATERIALISWIREFRAME_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setActorTexture 817
+#define FN_setActorTexture 822
#define SETACTORTEXTURE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORTEXTURE_LAYER num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORTEXTURE_IMAGE_ID num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_getActorMaterialCount 818
+#define FN_getActorMaterialCount 823
#define GETACTORMATERIALCOUNT_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setActorMaterialFlag 819
+#define FN_setActorMaterialFlag 824
#define SETACTORMATERIALFLAG_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORMATERIALFLAG_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORMATERIALFLAG_FLAG_VALUE num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_getActorMaterialFlag 820
+#define FN_getActorMaterialFlag 825
#define GETACTORMATERIALFLAG_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORMATERIALFLAG_MATERIAL num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORMATERIALFLAG_FLAG num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_setActorMaterialType 821
+#define FN_setActorMaterialType 826
#define SETACTORMATERIALTYPE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORMATERIALTYPE_MATERIAL_TYPE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getActorMaterialType 822
+#define FN_getActorMaterialType 827
#define GETACTORMATERIALTYPE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORMATERIALTYPE_MATERIAL num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_MaterialExists 828
+#define MATERIALEXISTS_MATERIAL num_var[0].nref[0].value[ num_var[0].byref_offset ]
diff --git a/rcbasic_build/rcbasic_dev3.txt b/rcbasic_build/rcbasic_dev3.txt
index 6d84512..1a14de4 100644
--- a/rcbasic_build/rcbasic_dev3.txt
+++ b/rcbasic_build/rcbasic_dev3.txt
@@ -5,7 +5,7 @@ case FN_Input$: //String Function
rc_push_str(rc_input( INPUT$_PROMPT$ ));
break;
case FN_tst: //Sub Procedure
- rc_tst( &TST_X );
+ rc_tst( );
break;
case FN_ArrayDim: //Number Function
//DUMMY CASE
@@ -556,8 +556,8 @@ case FN_OpenCanvas: //Number Function
case FN_CloseCanvas: //Sub Procedure
rc_canvasClose( CLOSECANVAS_C_NUM );
break;
-case FN_SetCanvas3D: //Sub Procedure
- rc_setCanvas3D( SETCANVAS3D_C_NUM, SETCANVAS3D_FLAG );
+case FN_OpenCanvas3D: //Number Function
+ rc_push_num(rc_canvasOpen3D( OPENCANVAS3D_W, OPENCANVAS3D_H, OPENCANVAS3D_VIEWPORT_X, OPENCANVAS3D_VIEWPORT_Y, OPENCANVAS3D_VIEWPORT_W, OPENCANVAS3D_VIEWPORT_H, OPENCANVAS3D_MODE ));
break;
case FN_SetCanvasVisible: //Sub Procedure
rc_setCanvasVisible( SETCANVASVISIBLE_C_NUM, SETCANVASVISIBLE_FLAG );
@@ -598,8 +598,8 @@ case FN_SetCanvasColorMod: //Sub Procedure
case FN_GetCanvasColorMod: //Number Function
rc_push_num(rc_getCanvasColorMod( GETCANVASCOLORMOD_C_NUM ));
break;
-case FN_CloneCanvas: //Sub Procedure
- rc_cloneCanvas( CLONECANVAS_SRC, CLONECANVAS_DST );
+case FN_CloneCanvas: //Number Function
+ rc_push_num(rc_cloneCanvas( CLONECANVAS_C_NUM, CLONECANVAS_MODE ));
break;
case FN_SetCanvasZ: //Sub Procedure
rc_setCanvasZ( SETCANVASZ_C_NUM, SETCANVASZ_Z );
@@ -613,6 +613,12 @@ case FN_CanvasClip: //Number Function
case FN_ActiveCanvas: //Number Function
rc_push_num(rc_activeCanvas( ));
break;
+case FN_SetCanvasPhysics2D: //Sub Procedure
+ rc_setCanvasPhysics2D( SETCANVASPHYSICS2D_C_NUM, SETCANVASPHYSICS2D_STATE );
+ break;
+case FN_OpenSpriteCanvas: //Number Function
+ rc_push_num(rc_canvasOpenSpriteLayer( OPENSPRITECANVAS_W, OPENSPRITECANVAS_H, OPENSPRITECANVAS_VIEWPORT_X, OPENSPRITECANVAS_VIEWPORT_Y, OPENSPRITECANVAS_VIEWPORT_W, OPENSPRITECANVAS_VIEWPORT_H ));
+ break;
case FN_Circle: //Sub Procedure
rc_drawCircle( CIRCLE_X, CIRCLE_Y, CIRCLE_RADIUS );
break;
@@ -667,8 +673,8 @@ case FN_createImage: //Number Function
case FN_createImageEx: //Number Function
rc_push_num(rc_createImageEx( CREATEIMAGEEX_W, CREATEIMAGEEX_H, &CREATEIMAGEEX_BUFFER, CREATEIMAGEEX_COLOR ));
break;
-case FN_getImageBuffer: //Sub Procedure
- rc_getImageBuffer( GETIMAGEBUFFER_IMG_ID, &GETIMAGEBUFFER_BUFFER );
+case FN_BufferFromImage: //Sub Procedure
+ rc_getImageBuffer( BUFFERFROMIMAGE_SLOT, &BUFFERFROMIMAGE_BUFFER );
break;
case FN_ImageExists: //Number Function
rc_push_num(rc_imageExists( IMAGEEXISTS_SLOT ));
@@ -1415,6 +1421,9 @@ case FN_CreateBillboardActor: //Number Function
case FN_CreateTerrainActor: //Number Function
rc_push_num(rc_createTerrainActor( CREATETERRAINACTOR_HMAP_FILE$ ));
break;
+case FN_CreateParticleActor: //Number Function
+ rc_push_num(rc_createParticleActor( CREATEPARTICLEACTOR_PARTICLE_TYPE ));
+ break;
case FN_DeleteActor: //Sub Procedure
rc_deleteActor( DELETEACTOR_ACTOR );
break;
@@ -1424,8 +1433,8 @@ case FN_GetActorTransform: //Sub Procedure
case FN_SetActorPosition: //Sub Procedure
rc_setActorPosition( SETACTORPOSITION_ACTOR, SETACTORPOSITION_X, SETACTORPOSITION_Y, SETACTORPOSITION_Z );
break;
-case FN_TranslateActor: //Sub Procedure
- rc_translateActor( TRANSLATEACTOR_ACTOR, TRANSLATEACTOR_X, TRANSLATEACTOR_Y, TRANSLATEACTOR_Z );
+case FN_TranslateActorLocal: //Sub Procedure
+ rc_translateActorLocal( TRANSLATEACTORLOCAL_ACTOR, TRANSLATEACTORLOCAL_X, TRANSLATEACTORLOCAL_Y, TRANSLATEACTORLOCAL_Z );
break;
case FN_TranslateActorWorld: //Sub Procedure
rc_translateActorWorld( TRANSLATEACTORWORLD_ACTOR, TRANSLATEACTORWORLD_X, TRANSLATEACTORWORLD_Y, TRANSLATEACTORWORLD_Z );
@@ -1469,6 +1478,9 @@ case FN_AddActorShadow: //Sub Procedure
case FN_RemoveActorShadow: //Sub Procedure
rc_removeActorShadow( REMOVEACTORSHADOW_ACTOR );
break;
+case FN_ActorExists: //Number Function
+ rc_push_num(rc_actorExists( ACTOREXISTS_ACTOR ));
+ break;
case FN_SetGravity3D: //Sub Procedure
rc_setGravity3D( SETGRAVITY3D_X, SETGRAVITY3D_Y, SETGRAVITY3D_Z );
break;
@@ -1592,11 +1604,11 @@ case FN_getActorCOMPosition: //Sub Procedure
case FN_getActorRotationQ: //Sub Procedure
rc_getActorRotationQ( GETACTORROTATIONQ_ACTOR, &GETACTORROTATIONQ_X, &GETACTORROTATIONQ_Y, &GETACTORROTATIONQ_Z, &GETACTORROTATIONQ_W );
break;
-case FN_getActorLinearVelocity: //Sub Procedure
- rc_getActorLinearVelocity( GETACTORLINEARVELOCITY_ACTOR, &GETACTORLINEARVELOCITY_X, &GETACTORLINEARVELOCITY_Y, &GETACTORLINEARVELOCITY_Z );
+case FN_getActorLinearVelocityWorld: //Sub Procedure
+ rc_getActorLinearVelocityWorld( GETACTORLINEARVELOCITYWORLD_ACTOR, &GETACTORLINEARVELOCITYWORLD_X, &GETACTORLINEARVELOCITYWORLD_Y, &GETACTORLINEARVELOCITYWORLD_Z );
break;
-case FN_getActorAngularVelocity: //Sub Procedure
- rc_getActorAngularVelocity( GETACTORANGULARVELOCITY_ACTOR, &GETACTORANGULARVELOCITY_X, &GETACTORANGULARVELOCITY_Y, &GETACTORANGULARVELOCITY_Z );
+case FN_getActorAngularVelocityWorld: //Sub Procedure
+ rc_getActorAngularVelocityWorld( GETACTORANGULARVELOCITYWORLD_ACTOR, &GETACTORANGULARVELOCITYWORLD_X, &GETACTORANGULARVELOCITYWORLD_Y, &GETACTORANGULARVELOCITYWORLD_Z );
break;
case FN_setActorLinearVelocityLocal: //Sub Procedure
rc_setActorLinearVelocityLocal( SETACTORLINEARVELOCITYLOCAL_ACTOR, SETACTORLINEARVELOCITYLOCAL_X, SETACTORLINEARVELOCITYLOCAL_Y, SETACTORLINEARVELOCITYLOCAL_Z );
@@ -1643,23 +1655,26 @@ case FN_computeActorGyroImpulseWorld: //Sub Procedure
case FN_getActorLocalInertia: //Sub Procedure
rc_getActorLocalInertia( GETACTORLOCALINERTIA_ACTOR, &GETACTORLOCALINERTIA_X, &GETACTORLOCALINERTIA_Y, &GETACTORLOCALINERTIA_Z );
break;
+case FN_SetActorSleepState: //Sub Procedure
+ rc_setActorSleepState( SETACTORSLEEPSTATE_ACTOR, SETACTORSLEEPSTATE_STATE );
+ break;
case FN_createPointConstraint: //Number Function
rc_push_num(rc_createPointConstraint( CREATEPOINTCONSTRAINT_ACTORA, CREATEPOINTCONSTRAINT_PXA, CREATEPOINTCONSTRAINT_PYA, CREATEPOINTCONSTRAINT_PZA ));
break;
case FN_createPointConstraintEx: //Number Function
rc_push_num(rc_createPointConstraintEx( CREATEPOINTCONSTRAINTEX_ACTORA, CREATEPOINTCONSTRAINTEX_ACTORB, CREATEPOINTCONSTRAINTEX_PXA, CREATEPOINTCONSTRAINTEX_PYA, CREATEPOINTCONSTRAINTEX_PZA, CREATEPOINTCONSTRAINTEX_PXB, CREATEPOINTCONSTRAINTEX_PYB, CREATEPOINTCONSTRAINTEX_PZB ));
break;
-case FN_setConstraintPivotA: //Sub Procedure
- rc_setConstraintPivotA( SETCONSTRAINTPIVOTA_CONSTRAINT_ID, SETCONSTRAINTPIVOTA_X, SETCONSTRAINTPIVOTA_Y, SETCONSTRAINTPIVOTA_Z );
+case FN_setPointPivotA: //Sub Procedure
+ rc_setPointPivotA( SETPOINTPIVOTA_CONSTRAINT_ID, SETPOINTPIVOTA_X, SETPOINTPIVOTA_Y, SETPOINTPIVOTA_Z );
break;
-case FN_setConstraintPivotB: //Sub Procedure
- rc_setConstraintPivotB( SETCONSTRAINTPIVOTB_CONSTRAINT_ID, SETCONSTRAINTPIVOTB_X, SETCONSTRAINTPIVOTB_Y, SETCONSTRAINTPIVOTB_Z );
+case FN_setPointPivotB: //Sub Procedure
+ rc_setPointPivotB( SETPOINTPIVOTB_CONSTRAINT_ID, SETPOINTPIVOTB_X, SETPOINTPIVOTB_Y, SETPOINTPIVOTB_Z );
break;
case FN_createHingeConstraint: //Number Function
- rc_push_num(rc_createHingeConstraint( CREATEHINGECONSTRAINT_ACTORA, CREATEHINGECONSTRAINT_PXA, CREATEHINGECONSTRAINT_PYA, CREATEHINGECONSTRAINT_PZA, CREATEHINGECONSTRAINT_AXA, CREATEHINGECONSTRAINT_AYA, CREATEHINGECONSTRAINT_AZA ));
+ rc_push_num(rc_createHingeConstraint( CREATEHINGECONSTRAINT_ACTORA, CREATEHINGECONSTRAINT_FRAMEA, CREATEHINGECONSTRAINT_USEREFERENCEFRAMEA ));
break;
case FN_createHingeConstraintEx: //Number Function
- rc_push_num(rc_createHingeConstraintEx( CREATEHINGECONSTRAINTEX_ACTORA, CREATEHINGECONSTRAINTEX_ACTORB, CREATEHINGECONSTRAINTEX_PXA, CREATEHINGECONSTRAINTEX_PYA, CREATEHINGECONSTRAINTEX_PZA, CREATEHINGECONSTRAINTEX_PXB, CREATEHINGECONSTRAINTEX_PYB, CREATEHINGECONSTRAINTEX_PZB, CREATEHINGECONSTRAINTEX_AXA, CREATEHINGECONSTRAINTEX_AYA, CREATEHINGECONSTRAINTEX_AZA, CREATEHINGECONSTRAINTEX_AXB, CREATEHINGECONSTRAINTEX_AYB, CREATEHINGECONSTRAINTEX_AZB ));
+ rc_push_num(rc_createHingeConstraintEx( CREATEHINGECONSTRAINTEX_ACTORA, CREATEHINGECONSTRAINTEX_ACTORB, CREATEHINGECONSTRAINTEX_FRAMEA, CREATEHINGECONSTRAINTEX_FRAMEB, CREATEHINGECONSTRAINTEX_USEREFERENCEFRAMEA ));
break;
case FN_createSlideConstraint: //Number Function
rc_push_num(rc_createSlideConstraint( CREATESLIDECONSTRAINT_ACTORA, CREATESLIDECONSTRAINT_FRAMEINB_MATRIX, CREATESLIDECONSTRAINT_USELINEARREFERENCEFRAMEA ));
@@ -1700,8 +1715,8 @@ case FN_getConstraintAFrame: //Number Function
case FN_getConstraintBFrame: //Number Function
rc_push_num(rc_getConstraintBFrame( GETCONSTRAINTBFRAME_CONSTRAINT_ID, GETCONSTRAINTBFRAME_MA ));
break;
-case FN_setConstraintAxis: //Sub Procedure
- rc_setConstraintAxis( SETCONSTRAINTAXIS_CONSTRAINT_ID, SETCONSTRAINTAXIS_X, SETCONSTRAINTAXIS_Y, SETCONSTRAINTAXIS_Z );
+case FN_setHingeAxis: //Sub Procedure
+ rc_setHingeAxis( SETHINGEAXIS_CONSTRAINT_ID, SETHINGEAXIS_X, SETHINGEAXIS_Y, SETHINGEAXIS_Z );
break;
case FN_setConstraintBreakingImpulseThreshold: //Sub Procedure
rc_setConstraintBreakingImpulseThreshold( SETCONSTRAINTBREAKINGIMPULSETHRESHOLD_CONSTRAINT_ID, SETCONSTRAINTBREAKINGIMPULSETHRESHOLD_THRESHOLD );
@@ -1715,14 +1730,14 @@ case FN_setHingeLimit: //Sub Procedure
case FN_setConeLimit: //Sub Procedure
rc_setConeLimit( SETCONELIMIT_CONSTRAINT_ID, SETCONELIMIT_SWINGSPAN1, SETCONELIMIT_SWINGSPAN2, SETCONELIMIT_TWISTSPAN, SETCONELIMIT_SOFTNESS, SETCONELIMIT_BIAS_FACTOR, SETCONELIMIT_RELAXATION_FACTOR );
break;
-case FN_getConstraintLimitBiasFactor: //Number Function
- rc_push_num(rc_getConstraintLimitBiasFactor( GETCONSTRAINTLIMITBIASFACTOR_CONSTRAINT_ID ));
+case FN_getHingeLimitBiasFactor: //Number Function
+ rc_push_num(rc_getHingeLimitBiasFactor( GETHINGELIMITBIASFACTOR_CONSTRAINT_ID ));
break;
-case FN_getLimitRelaxationFactor: //Number Function
- rc_push_num(rc_getLimitRelaxationFactor( GETLIMITRELAXATIONFACTOR_CONSTRAINT_ID ));
+case FN_getHingeLimitRelaxationFactor: //Number Function
+ rc_push_num(rc_getHingeLimitRelaxationFactor( GETHINGELIMITRELAXATIONFACTOR_CONSTRAINT_ID ));
break;
-case FN_getConstraintLimitSign: //Number Function
- rc_push_num(rc_getConstraintLimitSign( GETCONSTRAINTLIMITSIGN_CONSTRAINT_ID ));
+case FN_getHingeLimitSign: //Number Function
+ rc_push_num(rc_getHingeLimitSign( GETHINGELIMITSIGN_CONSTRAINT_ID ));
break;
case FN_getHingeSolveLimit: //Number Function
rc_push_num(rc_getHingeSolveLimit( GETHINGESOLVELIMIT_CONSTRAINT_ID ));
@@ -1736,11 +1751,11 @@ case FN_getConstraintAppliedImpulse: //Number Function
case FN_getConstraintFixedActor: //Number Function
rc_push_num(rc_getConstraintFixedActor( GETCONSTRAINTFIXEDACTOR_CONSTRAINT_ID ));
break;
-case FN_getConstraintPivotA: //Sub Procedure
- rc_getConstraintPivotA( GETCONSTRAINTPIVOTA_CONSTRAINT_ID, & GETCONSTRAINTPIVOTA_X, & GETCONSTRAINTPIVOTA_Y, & GETCONSTRAINTPIVOTA_Z );
+case FN_getPointPivotA: //Sub Procedure
+ rc_getPointPivotA( GETPOINTPIVOTA_CONSTRAINT_ID, & GETPOINTPIVOTA_X, & GETPOINTPIVOTA_Y, & GETPOINTPIVOTA_Z );
break;
-case FN_getConstraintPivotB: //Sub Procedure
- rc_getConstraintPivotB( GETCONSTRAINTPIVOTB_CONSTRAINT_ID, & GETCONSTRAINTPIVOTB_X, & GETCONSTRAINTPIVOTB_Y, & GETCONSTRAINTPIVOTB_Z );
+case FN_getPointPivotB: //Sub Procedure
+ rc_getPointPivotB( GETPOINTPIVOTB_CONSTRAINT_ID, & GETPOINTPIVOTB_X, & GETPOINTPIVOTB_Y, & GETPOINTPIVOTB_Z );
break;
case FN_getConstraintActorA: //Number Function
rc_push_num(rc_getConstraintActorA( GETCONSTRAINTACTORA_CONSTRAINT_ID ));
@@ -1751,17 +1766,17 @@ case FN_getConstraintActorB: //Number Function
case FN_setConstraintSolverIterations: //Sub Procedure
rc_setConstraintSolverIterations( SETCONSTRAINTSOLVERITERATIONS_CONSTRAINT_ID, SETCONSTRAINTSOLVERITERATIONS_NUM );
break;
-case FN_getConstraintBiasFactor: //Number Function
- rc_push_num(rc_getConstraintBiasFactor( GETCONSTRAINTBIASFACTOR_CONSTRAINT_ID ));
+case FN_getConeBiasFactor: //Number Function
+ rc_push_num(rc_getConeBiasFactor( GETCONEBIASFACTOR_CONSTRAINT_ID ));
break;
-case FN_getConstraintDamping: //Number Function
- rc_push_num(rc_getConstraintDamping( GETCONSTRAINTDAMPING_CONSTRAINT_ID ));
+case FN_getConeDamping: //Number Function
+ rc_push_num(rc_getConeDamping( GETCONEDAMPING_CONSTRAINT_ID ));
break;
-case FN_getConstraintFixThresh: //Number Function
- rc_push_num(rc_getConstraintFixThresh( GETCONSTRAINTFIXTHRESH_CONSTRAINT_ID ));
+case FN_getConeFixThresh: //Number Function
+ rc_push_num(rc_getConeFixThresh( GETCONEFIXTHRESH_CONSTRAINT_ID ));
break;
-case FN_getConstraintLimit: //Number Function
- rc_push_num(rc_getConstraintLimit( GETCONSTRAINTLIMIT_CONSTRAINT_ID, GETCONSTRAINTLIMIT_LIMIT_INDEX ));
+case FN_getConeLimit: //Number Function
+ rc_push_num(rc_getConeLimit( GETCONELIMIT_CONSTRAINT_ID, GETCONELIMIT_LIMIT_INDEX ));
break;
case FN_getConstraintLimitSoftness: //Number Function
rc_push_num(rc_getConstraintLimitSoftness( GETCONSTRAINTLIMITSOFTNESS_CONSTRAINT_ID ));
@@ -1769,203 +1784,203 @@ case FN_getConstraintLimitSoftness: //Number Function
case FN_getConstraintSolverIterations: //Number Function
rc_push_num(rc_getConstraintSolverIterations( GETCONSTRAINTSOLVERITERATIONS_CONSTRAINT_ID ));
break;
-case FN_getConstraintAnglePoint: //Sub Procedure
- rc_getConstraintAnglePoint( GETCONSTRAINTANGLEPOINT_CONSTRAINT_ID, GETCONSTRAINTANGLEPOINT_ANGLE, GETCONSTRAINTANGLEPOINT_C_LEN, & GETCONSTRAINTANGLEPOINT_X, & GETCONSTRAINTANGLEPOINT_Y, & GETCONSTRAINTANGLEPOINT_Z );
+case FN_getConeAnglePoint: //Sub Procedure
+ rc_getConeAnglePoint( GETCONEANGLEPOINT_CONSTRAINT_ID, GETCONEANGLEPOINT_ANGLE, GETCONEANGLEPOINT_C_LEN, & GETCONEANGLEPOINT_X, & GETCONEANGLEPOINT_Y, & GETCONEANGLEPOINT_Z );
break;
case FN_getConstraintAngularOnly: //Number Function
rc_push_num(rc_getConstraintAngularOnly( GETCONSTRAINTANGULARONLY_CONSTRAINT_ID ));
break;
-case FN_getConstraintSolveSwingLimit: //Number Function
- rc_push_num(rc_getConstraintSolveSwingLimit( GETCONSTRAINTSOLVESWINGLIMIT_CONSTRAINT_ID ));
+case FN_getConeSolveSwingLimit: //Number Function
+ rc_push_num(rc_getConeSolveSwingLimit( GETCONESOLVESWINGLIMIT_CONSTRAINT_ID ));
break;
-case FN_getConstraintSolveTwistLimit: //Number Function
- rc_push_num(rc_getConstraintSolveTwistLimit( GETCONSTRAINTSOLVETWISTLIMIT_CONSTRAINT_ID ));
+case FN_getConeSolveTwistLimit: //Number Function
+ rc_push_num(rc_getConeSolveTwistLimit( GETCONESOLVETWISTLIMIT_CONSTRAINT_ID ));
break;
-case FN_getConstraintSolveLimit: //Number Function
- rc_push_num(rc_getConstraintSolveLimit( GETCONSTRAINTSOLVELIMIT_CONSTRAINT_ID ));
+case FN_getConeSwingSpan1: //Number Function
+ rc_push_num(rc_getConeSwingSpan1( GETCONESWINGSPAN1_CONSTRAINT_ID ));
break;
-case FN_getConstraintSwingSpan1: //Number Function
- rc_push_num(rc_getConstraintSwingSpan1( GETCONSTRAINTSWINGSPAN1_CONSTRAINT_ID ));
+case FN_getConeSwingSpan2: //Number Function
+ rc_push_num(rc_getConeSwingSpan2( GETCONESWINGSPAN2_CONSTRAINT_ID ));
break;
-case FN_getConstraintSwingSpan2: //Number Function
- rc_push_num(rc_getConstraintSwingSpan2( GETCONSTRAINTSWINGSPAN2_CONSTRAINT_ID ));
+case FN_getConeTwistAngle: //Number Function
+ rc_push_num(rc_getConeTwistAngle( GETCONETWISTANGLE_CONSTRAINT_ID ));
break;
-case FN_getConstraintTwistAngle: //Number Function
- rc_push_num(rc_getConstraintTwistAngle( GETCONSTRAINTTWISTANGLE_CONSTRAINT_ID ));
+case FN_getConeTwistLimitSign: //Number Function
+ rc_push_num(rc_getConeTwistLimitSign( GETCONETWISTLIMITSIGN_CONSTRAINT_ID ));
break;
-case FN_getConstraintTwistLimitSign: //Number Function
- rc_push_num(rc_getConstraintTwistLimitSign( GETCONSTRAINTTWISTLIMITSIGN_CONSTRAINT_ID ));
- break;
-case FN_getConstraintTwistSpan: //Number Function
- rc_push_num(rc_getConstraintTwistSpan( GETCONSTRAINTTWISTSPAN_CONSTRAINT_ID ));
+case FN_getConeTwistSpan: //Number Function
+ rc_push_num(rc_getConeTwistSpan( GETCONETWISTSPAN_CONSTRAINT_ID ));
break;
case FN_setConstraintAngularOnly: //Sub Procedure
rc_setConstraintAngularOnly( SETCONSTRAINTANGULARONLY_CONSTRAINT_ID, SETCONSTRAINTANGULARONLY_FLAG );
break;
-case FN_setConstraintDamping: //Sub Procedure
- rc_setConstraintDamping( SETCONSTRAINTDAMPING_CONSTRAINT_ID, SETCONSTRAINTDAMPING_DAMPING );
+case FN_setConeDamping: //Sub Procedure
+ rc_setConeDamping( SETCONEDAMPING_CONSTRAINT_ID, SETCONEDAMPING_DAMPING );
break;
-case FN_setConstraintFixThresh: //Sub Procedure
- rc_setConstraintFixThresh( SETCONSTRAINTFIXTHRESH_CONSTRAINT_ID, SETCONSTRAINTFIXTHRESH_FIXTHRESH );
+case FN_setConeFixThresh: //Sub Procedure
+ rc_setConeFixThresh( SETCONEFIXTHRESH_CONSTRAINT_ID, SETCONEFIXTHRESH_FIXTHRESH );
break;
-case FN_getConstraintAnchorA: //Sub Procedure
- rc_getConstraintAnchorA( GETCONSTRAINTANCHORA_CONSTRAINT_ID, & GETCONSTRAINTANCHORA_X, & GETCONSTRAINTANCHORA_Y, & GETCONSTRAINTANCHORA_Z );
+case FN_getSlideAnchorA: //Sub Procedure
+ rc_getSlideAnchorA( GETSLIDEANCHORA_CONSTRAINT_ID, & GETSLIDEANCHORA_X, & GETSLIDEANCHORA_Y, & GETSLIDEANCHORA_Z );
break;
-case FN_getConstraintAnchorB: //Sub Procedure
- rc_getConstraintAnchorB( GETCONSTRAINTANCHORB_CONSTRAINT_ID, & GETCONSTRAINTANCHORB_X, & GETCONSTRAINTANCHORB_Y, & GETCONSTRAINTANCHORB_Z );
+case FN_getSlideAnchorB: //Sub Procedure
+ rc_getSlideAnchorB( GETSLIDEANCHORB_CONSTRAINT_ID, & GETSLIDEANCHORB_X, & GETSLIDEANCHORB_Y, & GETSLIDEANCHORB_Z );
break;
-case FN_getConstraintAngDepth: //Number Function
- rc_push_num(rc_getConstraintAngDepth( GETCONSTRAINTANGDEPTH_CONSTRAINT_ID ));
+case FN_getSlideAngDepth: //Number Function
+ rc_push_num(rc_getSlideAngDepth( GETSLIDEANGDEPTH_CONSTRAINT_ID ));
break;
-case FN_getConstraintAngularPos: //Number Function
- rc_push_num(rc_getConstraintAngularPos( GETCONSTRAINTANGULARPOS_CONSTRAINT_ID ));
+case FN_getSlideAngularPos: //Number Function
+ rc_push_num(rc_getSlideAngularPos( GETSLIDEANGULARPOS_CONSTRAINT_ID ));
break;
-case FN_getConstraintDampingDirAng: //Number Function
- rc_push_num(rc_getConstraintDampingDirAng( GETCONSTRAINTDAMPINGDIRANG_CONSTRAINT_ID ));
+case FN_getSlideDampingDirAng: //Number Function
+ rc_push_num(rc_getSlideDampingDirAng( GETSLIDEDAMPINGDIRANG_CONSTRAINT_ID ));
break;
-case FN_getConstraintDampingDirLin: //Number Function
- rc_push_num(rc_getConstraintDampingDirLin( GETCONSTRAINTDAMPINGDIRLIN_CONSTRAINT_ID ));
+case FN_getSlideDampingDirLin: //Number Function
+ rc_push_num(rc_getSlideDampingDirLin( GETSLIDEDAMPINGDIRLIN_CONSTRAINT_ID ));
break;
-case FN_getConstraintDampingLimAng: //Number Function
- rc_push_num(rc_getConstraintDampingLimAng( GETCONSTRAINTDAMPINGLIMANG_CONSTRAINT_ID ));
+case FN_getSlideDampingLimAng: //Number Function
+ rc_push_num(rc_getSlideDampingLimAng( GETSLIDEDAMPINGLIMANG_CONSTRAINT_ID ));
break;
-case FN_getConstraintDampingLimLin: //Number Function
- rc_push_num(rc_getConstraintDampingLimLin( GETCONSTRAINTDAMPINGLIMLIN_CONSTRAINT_ID ));
+case FN_getSlideDampingLimLin: //Number Function
+ rc_push_num(rc_getSlideDampingLimLin( GETSLIDEDAMPINGLIMLIN_CONSTRAINT_ID ));
break;
-case FN_getConstraintDampingOrthoAng: //Number Function
- rc_push_num(rc_getConstraintDampingOrthoAng( GETCONSTRAINTDAMPINGORTHOANG_CONSTRAINT_ID ));
+case FN_getSlideDampingOrthoAng: //Number Function
+ rc_push_num(rc_getSlideDampingOrthoAng( GETSLIDEDAMPINGORTHOANG_CONSTRAINT_ID ));
break;
-case FN_getConstraintDampingOrthoLin: //Number Function
- rc_push_num(rc_getConstraintDampingOrthoLin( GETCONSTRAINTDAMPINGORTHOLIN_CONSTRAINT_ID ));
+case FN_getSlideDampingOrthoLin: //Number Function
+ rc_push_num(rc_getSlideDampingOrthoLin( GETSLIDEDAMPINGORTHOLIN_CONSTRAINT_ID ));
break;
-case FN_getConstraintLinearPos: //Number Function
- rc_push_num(rc_getConstraintLinearPos( GETCONSTRAINTLINEARPOS_CONSTRAINT_ID ));
+case FN_getSlideLinearPos: //Number Function
+ rc_push_num(rc_getSlideLinearPos( GETSLIDELINEARPOS_CONSTRAINT_ID ));
break;
-case FN_getConstraintLinDepth: //Number Function
- rc_push_num(rc_getConstraintLinDepth( GETCONSTRAINTLINDEPTH_CONSTRAINT_ID ));
+case FN_getSlideLinDepth: //Number Function
+ rc_push_num(rc_getSlideLinDepth( GETSLIDELINDEPTH_CONSTRAINT_ID ));
break;
-case FN_getConstraintLowerAngLimit: //Number Function
- rc_push_num(rc_getConstraintLowerAngLimit( GETCONSTRAINTLOWERANGLIMIT_CONSTRAINT_ID ));
+case FN_getSlideLowerAngLimit: //Number Function
+ rc_push_num(rc_getSlideLowerAngLimit( GETSLIDELOWERANGLIMIT_CONSTRAINT_ID ));
break;
-case FN_getConstraintLowerLinLimit: //Number Function
- rc_push_num(rc_getConstraintLowerLinLimit( GETCONSTRAINTLOWERLINLIMIT_CONSTRAINT_ID ));
+case FN_getSlideLowerLinLimit: //Number Function
+ rc_push_num(rc_getSlideLowerLinLimit( GETSLIDELOWERLINLIMIT_CONSTRAINT_ID ));
break;
-case FN_getConstraintRestitutionDirAng: //Number Function
- rc_push_num(rc_getConstraintRestitutionDirAng( GETCONSTRAINTRESTITUTIONDIRANG_CONSTRAINT_ID ));
+case FN_getSlideRestitutionDirAng: //Number Function
+ rc_push_num(rc_getSlideRestitutionDirAng( GETSLIDERESTITUTIONDIRANG_CONSTRAINT_ID ));
break;
-case FN_getConstraintRestitutionDirLin: //Number Function
- rc_push_num(rc_getConstraintRestitutionDirLin( GETCONSTRAINTRESTITUTIONDIRLIN_CONSTRAINT_ID ));
+case FN_getSlideRestitutionDirLin: //Number Function
+ rc_push_num(rc_getSlideRestitutionDirLin( GETSLIDERESTITUTIONDIRLIN_CONSTRAINT_ID ));
break;
-case FN_getConstraintRestitutionLimAng: //Number Function
- rc_push_num(rc_getConstraintRestitutionLimAng( GETCONSTRAINTRESTITUTIONLIMANG_CONSTRAINT_ID ));
+case FN_getSlideRestitutionLimAng: //Number Function
+ rc_push_num(rc_getSlideRestitutionLimAng( GETSLIDERESTITUTIONLIMANG_CONSTRAINT_ID ));
break;
-case FN_getConstraintRestitutionLimLin: //Number Function
- rc_push_num(rc_getConstraintRestitutionLimLin( GETCONSTRAINTRESTITUTIONLIMLIN_CONSTRAINT_ID ));
+case FN_getSlideRestitutionLimLin: //Number Function
+ rc_push_num(rc_getSlideRestitutionLimLin( GETSLIDERESTITUTIONLIMLIN_CONSTRAINT_ID ));
break;
-case FN_getConstraintRestitutionOrthoAng: //Number Function
- rc_push_num(rc_getConstraintRestitutionOrthoAng( GETCONSTRAINTRESTITUTIONORTHOANG_CONSTRAINT_ID ));
+case FN_getSlideRestitutionOrthoAng: //Number Function
+ rc_push_num(rc_getSlideRestitutionOrthoAng( GETSLIDERESTITUTIONORTHOANG_CONSTRAINT_ID ));
break;
-case FN_getConstraintRestitutionOrthoLin: //Number Function
- rc_push_num(rc_getConstraintRestitutionOrthoLin( GETCONSTRAINTRESTITUTIONORTHOLIN_CONSTRAINT_ID ));
+case FN_getSlideRestitutionOrthoLin: //Number Function
+ rc_push_num(rc_getSlideRestitutionOrthoLin( GETSLIDERESTITUTIONORTHOLIN_CONSTRAINT_ID ));
break;
-case FN_getConstraintSoftnessDirAng: //Number Function
- rc_push_num(rc_getConstraintSoftnessDirAng( GETCONSTRAINTSOFTNESSDIRANG_CONSTRAINT_ID ));
+case FN_getSlideSoftnessDirAng: //Number Function
+ rc_push_num(rc_getSlideSoftnessDirAng( GETSLIDESOFTNESSDIRANG_CONSTRAINT_ID ));
break;
-case FN_getConstraintSoftnessDirLin: //Number Function
- rc_push_num(rc_getConstraintSoftnessDirLin( GETCONSTRAINTSOFTNESSDIRLIN_CONSTRAINT_ID ));
+case FN_getSlideSoftnessDirLin: //Number Function
+ rc_push_num(rc_getSlideSoftnessDirLin( GETSLIDESOFTNESSDIRLIN_CONSTRAINT_ID ));
break;
-case FN_getConstraintSoftnessLimAng: //Number Function
- rc_push_num(rc_getConstraintSoftnessLimAng( GETCONSTRAINTSOFTNESSLIMANG_CONSTRAINT_ID ));
+case FN_getSlideSoftnessLimAng: //Number Function
+ rc_push_num(rc_getSlideSoftnessLimAng( GETSLIDESOFTNESSLIMANG_CONSTRAINT_ID ));
break;
-case FN_getConstraintSoftnessLimLin: //Number Function
- rc_push_num(rc_getConstraintSoftnessLimLin( GETCONSTRAINTSOFTNESSLIMLIN_CONSTRAINT_ID ));
+case FN_getSlideSoftnessLimLin: //Number Function
+ rc_push_num(rc_getSlideSoftnessLimLin( GETSLIDESOFTNESSLIMLIN_CONSTRAINT_ID ));
break;
-case FN_getConstraintSoftnessOrthoAng: //Number Function
- rc_push_num(rc_getConstraintSoftnessOrthoAng( GETCONSTRAINTSOFTNESSORTHOANG_CONSTRAINT_ID ));
+case FN_getSlideSoftnessOrthoAng: //Number Function
+ rc_push_num(rc_getSlideSoftnessOrthoAng( GETSLIDESOFTNESSORTHOANG_CONSTRAINT_ID ));
break;
-case FN_getConstraintSoftnessOrthoLin: //Number Function
- rc_push_num(rc_getConstraintSoftnessOrthoLin( GETCONSTRAINTSOFTNESSORTHOLIN_CONSTRAINT_ID ));
+case FN_getSlideSoftnessOrthoLin: //Number Function
+ rc_push_num(rc_getSlideSoftnessOrthoLin( GETSLIDESOFTNESSORTHOLIN_CONSTRAINT_ID ));
break;
-case FN_getConstraintSolveAngLimit: //Number Function
- rc_push_num(rc_getConstraintSolveAngLimit( GETCONSTRAINTSOLVEANGLIMIT_CONSTRAINT_ID ));
+case FN_getSlideSolveAngLimit: //Number Function
+ rc_push_num(rc_getSlideSolveAngLimit( GETSLIDESOLVEANGLIMIT_CONSTRAINT_ID ));
break;
-case FN_getConstraintSolveLinLimit: //Number Function
- rc_push_num(rc_getConstraintSolveLinLimit( GETCONSTRAINTSOLVELINLIMIT_CONSTRAINT_ID ));
+case FN_getSlideSolveLinLimit: //Number Function
+ rc_push_num(rc_getSlideSolveLinLimit( GETSLIDESOLVELINLIMIT_CONSTRAINT_ID ));
break;
-case FN_getConstraintUpperAngLimit: //Number Function
- rc_push_num(rc_getConstraintUpperAngLimit( GETCONSTRAINTUPPERANGLIMIT_CONSTRAINT_ID ));
+case FN_getSlideUpperAngLimit: //Number Function
+ rc_push_num(rc_getSlideUpperAngLimit( GETSLIDEUPPERANGLIMIT_CONSTRAINT_ID ));
break;
-case FN_getConstraintUpperLinLimit: //Number Function
- rc_push_num(rc_getConstraintUpperLinLimit( GETCONSTRAINTUPPERLINLIMIT_CONSTRAINT_ID ));
+case FN_getSlideUpperLinLimit: //Number Function
+ rc_push_num(rc_getSlideUpperLinLimit( GETSLIDEUPPERLINLIMIT_CONSTRAINT_ID ));
break;
-case FN_getConstraintUseFrameOffset: //Number Function
- rc_push_num(rc_getConstraintUseFrameOffset( GETCONSTRAINTUSEFRAMEOFFSET_CONSTRAINT_ID ));
+case FN_getSlideUseFrameOffset: //Number Function
+ rc_push_num(rc_getSlideUseFrameOffset( GETSLIDEUSEFRAMEOFFSET_CONSTRAINT_ID ));
break;
-case FN_setConstraintDampingDirAng: //Sub Procedure
- rc_setConstraintDampingDirAng( SETCONSTRAINTDAMPINGDIRANG_CONSTRAINT_ID, SETCONSTRAINTDAMPINGDIRANG_N );
+case FN_setSlideDampingDirAng: //Sub Procedure
+ rc_setSlideDampingDirAng( SETSLIDEDAMPINGDIRANG_CONSTRAINT_ID, SETSLIDEDAMPINGDIRANG_N );
break;
-case FN_setConstraintDampingDirLin: //Sub Procedure
- rc_setConstraintDampingDirLin( SETCONSTRAINTDAMPINGDIRLIN_CONSTRAINT_ID, SETCONSTRAINTDAMPINGDIRLIN_N );
+case FN_setSlideDampingDirLin: //Sub Procedure
+ rc_setSlideDampingDirLin( SETSLIDEDAMPINGDIRLIN_CONSTRAINT_ID, SETSLIDEDAMPINGDIRLIN_N );
break;
-case FN_setConstraintDampingLimAng: //Sub Procedure
- rc_setConstraintDampingLimAng( SETCONSTRAINTDAMPINGLIMANG_CONSTRAINT_ID, SETCONSTRAINTDAMPINGLIMANG_N );
+case FN_setSlideDampingLimAng: //Sub Procedure
+ rc_setSlideDampingLimAng( SETSLIDEDAMPINGLIMANG_CONSTRAINT_ID, SETSLIDEDAMPINGLIMANG_N );
break;
-case FN_setConstraintDampingLimLin: //Sub Procedure
- rc_setConstraintDampingLimLin( SETCONSTRAINTDAMPINGLIMLIN_CONSTRAINT_ID, SETCONSTRAINTDAMPINGLIMLIN_N );
+case FN_setSlideDampingLimLin: //Sub Procedure
+ rc_setSlideDampingLimLin( SETSLIDEDAMPINGLIMLIN_CONSTRAINT_ID, SETSLIDEDAMPINGLIMLIN_N );
break;
-case FN_setConstraintDampingOrthoAng: //Sub Procedure
- rc_setConstraintDampingOrthoAng( SETCONSTRAINTDAMPINGORTHOANG_CONSTRAINT_ID, SETCONSTRAINTDAMPINGORTHOANG_N );
+case FN_setSlideDampingOrthoAng: //Sub Procedure
+ rc_setSlideDampingOrthoAng( SETSLIDEDAMPINGORTHOANG_CONSTRAINT_ID, SETSLIDEDAMPINGORTHOANG_N );
break;
-case FN_setConstraintDampingOrthoLin: //Sub Procedure
- rc_setConstraintDampingOrthoLin( SETCONSTRAINTDAMPINGORTHOLIN_CONSTRAINT_ID, SETCONSTRAINTDAMPINGORTHOLIN_N );
+case FN_setSlideDampingOrthoLin: //Sub Procedure
+ rc_setSlideDampingOrthoLin( SETSLIDEDAMPINGORTHOLIN_CONSTRAINT_ID, SETSLIDEDAMPINGORTHOLIN_N );
break;
-case FN_setConstraintLowerAngLimit: //Sub Procedure
- rc_setConstraintLowerAngLimit( SETCONSTRAINTLOWERANGLIMIT_CONSTRAINT_ID, SETCONSTRAINTLOWERANGLIMIT_N );
+case FN_setSlideLowerAngLimit: //Sub Procedure
+ rc_setSlideLowerAngLimit( SETSLIDELOWERANGLIMIT_CONSTRAINT_ID, SETSLIDELOWERANGLIMIT_N );
break;
-case FN_setConstraintLowerLinLimit: //Sub Procedure
- rc_setConstraintLowerLinLimit( SETCONSTRAINTLOWERLINLIMIT_CONSTRAINT_ID, SETCONSTRAINTLOWERLINLIMIT_N );
+case FN_setSlideLowerLinLimit: //Sub Procedure
+ rc_setSlideLowerLinLimit( SETSLIDELOWERLINLIMIT_CONSTRAINT_ID, SETSLIDELOWERLINLIMIT_N );
break;
-case FN_setConstraintRestitutionDirAng: //Sub Procedure
- rc_setConstraintRestitutionDirAng( SETCONSTRAINTRESTITUTIONDIRANG_CONSTRAINT_ID, SETCONSTRAINTRESTITUTIONDIRANG_N );
+case FN_setSlideRestitutionDirAng: //Sub Procedure
+ rc_setSlideRestitutionDirAng( SETSLIDERESTITUTIONDIRANG_CONSTRAINT_ID, SETSLIDERESTITUTIONDIRANG_N );
break;
-case FN_setConstraintRestitutionDirLin: //Sub Procedure
- rc_setConstraintRestitutionDirLin( SETCONSTRAINTRESTITUTIONDIRLIN_CONSTRAINT_ID, SETCONSTRAINTRESTITUTIONDIRLIN_N );
+case FN_setSlideRestitutionDirLin: //Sub Procedure
+ rc_setSlideRestitutionDirLin( SETSLIDERESTITUTIONDIRLIN_CONSTRAINT_ID, SETSLIDERESTITUTIONDIRLIN_N );
break;
-case FN_setConstraintRestitutionLimAng: //Sub Procedure
- rc_setConstraintRestitutionLimAng( SETCONSTRAINTRESTITUTIONLIMANG_CONSTRAINT_ID, SETCONSTRAINTRESTITUTIONLIMANG_N );
+case FN_setSlideRestitutionLimAng: //Sub Procedure
+ rc_setSlideRestitutionLimAng( SETSLIDERESTITUTIONLIMANG_CONSTRAINT_ID, SETSLIDERESTITUTIONLIMANG_N );
break;
-case FN_setConstraintRestitutionLimLin: //Sub Procedure
- rc_setConstraintRestitutionLimLin( SETCONSTRAINTRESTITUTIONLIMLIN_CONSTRAINT_ID, SETCONSTRAINTRESTITUTIONLIMLIN_N );
+case FN_setSlideRestitutionLimLin: //Sub Procedure
+ rc_setSlideRestitutionLimLin( SETSLIDERESTITUTIONLIMLIN_CONSTRAINT_ID, SETSLIDERESTITUTIONLIMLIN_N );
break;
-case FN_setConstraintRestitutionOrthoAng: //Sub Procedure
- rc_setConstraintRestitutionOrthoAng( SETCONSTRAINTRESTITUTIONORTHOANG_CONSTRAINT_ID, SETCONSTRAINTRESTITUTIONORTHOANG_N );
+case FN_setSlideRestitutionOrthoAng: //Sub Procedure
+ rc_setSlideRestitutionOrthoAng( SETSLIDERESTITUTIONORTHOANG_CONSTRAINT_ID, SETSLIDERESTITUTIONORTHOANG_N );
break;
-case FN_setConstraintRestitutionOrthoLin: //Sub Procedure
- rc_setConstraintRestitutionOrthoLin( SETCONSTRAINTRESTITUTIONORTHOLIN_CONSTRAINT_ID, SETCONSTRAINTRESTITUTIONORTHOLIN_N );
+case FN_setSlideRestitutionOrthoLin: //Sub Procedure
+ rc_setSlideRestitutionOrthoLin( SETSLIDERESTITUTIONORTHOLIN_CONSTRAINT_ID, SETSLIDERESTITUTIONORTHOLIN_N );
break;
-case FN_setConstraintSoftnessDirAng: //Sub Procedure
- rc_setConstraintSoftnessDirAng( SETCONSTRAINTSOFTNESSDIRANG_CONSTRAINT_ID, SETCONSTRAINTSOFTNESSDIRANG_N );
+case FN_setSlideSoftnessDirAng: //Sub Procedure
+ rc_setSlideSoftnessDirAng( SETSLIDESOFTNESSDIRANG_CONSTRAINT_ID, SETSLIDESOFTNESSDIRANG_N );
break;
-case FN_setConstraintSoftnessDirLin: //Sub Procedure
- rc_setConstraintSoftnessDirLin( SETCONSTRAINTSOFTNESSDIRLIN_CONSTRAINT_ID, SETCONSTRAINTSOFTNESSDIRLIN_N );
+case FN_setSlideSoftnessDirLin: //Sub Procedure
+ rc_setSlideSoftnessDirLin( SETSLIDESOFTNESSDIRLIN_CONSTRAINT_ID, SETSLIDESOFTNESSDIRLIN_N );
break;
-case FN_setConstraintSoftnessLimAng: //Sub Procedure
- rc_setConstraintSoftnessLimAng( SETCONSTRAINTSOFTNESSLIMANG_CONSTRAINT_ID, SETCONSTRAINTSOFTNESSLIMANG_N );
+case FN_setSlideSoftnessLimAng: //Sub Procedure
+ rc_setSlideSoftnessLimAng( SETSLIDESOFTNESSLIMANG_CONSTRAINT_ID, SETSLIDESOFTNESSLIMANG_N );
break;
-case FN_setConstraintSoftnessLimLin: //Sub Procedure
- rc_setConstraintSoftnessLimLin( SETCONSTRAINTSOFTNESSLIMLIN_CONSTRAINT_ID, SETCONSTRAINTSOFTNESSLIMLIN_N );
+case FN_setSlideSoftnessLimLin: //Sub Procedure
+ rc_setSlideSoftnessLimLin( SETSLIDESOFTNESSLIMLIN_CONSTRAINT_ID, SETSLIDESOFTNESSLIMLIN_N );
break;
-case FN_setConstraintSoftnessOrthoAng: //Sub Procedure
- rc_setConstraintSoftnessOrthoAng( SETCONSTRAINTSOFTNESSORTHOANG_CONSTRAINT_ID, SETCONSTRAINTSOFTNESSORTHOANG_N );
+case FN_setSlideSoftnessOrthoAng: //Sub Procedure
+ rc_setSlideSoftnessOrthoAng( SETSLIDESOFTNESSORTHOANG_CONSTRAINT_ID, SETSLIDESOFTNESSORTHOANG_N );
break;
-case FN_setConstraintSoftnessOrthoLin: //Sub Procedure
- rc_setConstraintSoftnessOrthoLin( SETCONSTRAINTSOFTNESSORTHOLIN_CONSTRAINT_ID, SETCONSTRAINTSOFTNESSORTHOLIN_N );
+case FN_setSlideSoftnessOrthoLin: //Sub Procedure
+ rc_setSlideSoftnessOrthoLin( SETSLIDESOFTNESSORTHOLIN_CONSTRAINT_ID, SETSLIDESOFTNESSORTHOLIN_N );
break;
-case FN_setConstraintUpperAngLimit: //Sub Procedure
- rc_setConstraintUpperAngLimit( SETCONSTRAINTUPPERANGLIMIT_CONSTRAINT_ID, SETCONSTRAINTUPPERANGLIMIT_N );
+case FN_setSlideUpperAngLimit: //Sub Procedure
+ rc_setSlideUpperAngLimit( SETSLIDEUPPERANGLIMIT_CONSTRAINT_ID, SETSLIDEUPPERANGLIMIT_N );
break;
-case FN_setConstraintUpperLinLimit: //Sub Procedure
- rc_setConstraintUpperLinLimit( SETCONSTRAINTUPPERLINLIMIT_CONSTRAINT_ID, SETCONSTRAINTUPPERLINLIMIT_N );
+case FN_setSlideUpperLinLimit: //Sub Procedure
+ rc_setSlideUpperLinLimit( SETSLIDEUPPERLINLIMIT_CONSTRAINT_ID, SETSLIDEUPPERLINLIMIT_N );
+ break;
+case FN_ConstraintExists: //Number Function
+ rc_push_num(rc_constraintExists( CONSTRAINTEXISTS_CONSTRAINT_ID ));
break;
case FN_SetCameraPosition: //Sub Procedure
rc_setCameraPosition( SETCAMERAPOSITION_X, SETCAMERAPOSITION_Y, SETCAMERAPOSITION_Z );
@@ -2021,9 +2036,6 @@ case FN_AddSceneSkyDomeEx: //Sub Procedure
case FN_RemoveSceneSky: //Sub Procedure
rc_removeSceneSky( );
break;
-case FN_SetWorld3DDeltaTime: //Sub Procedure
- rc_setWorld3DDeltaTime( SETWORLD3DDELTATIME_DT );
- break;
case FN_SetWorld3DMaxSubSteps: //Sub Procedure
rc_setWorld3DMaxSubSteps( SETWORLD3DMAXSUBSTEPS_STEPS );
break;
@@ -2063,17 +2075,17 @@ case FN_particleIsUsingNormalDirection: //Number Function
case FN_setParticleMesh: //Sub Procedure
rc_setParticleMesh( SETPARTICLEMESH_ACTOR, SETPARTICLEMESH_MESH );
break;
-case FN_setParticleMinParticlesPerSecond: //Sub Procedure
- rc_setParticleMinParticlesPerSecond( SETPARTICLEMINPARTICLESPERSECOND_ACTOR, SETPARTICLEMINPARTICLESPERSECOND_MINPARTICLESPERSECOND );
+case FN_setMinParticlesPerSecond: //Sub Procedure
+ rc_setMinParticlesPerSecond( SETMINPARTICLESPERSECOND_ACTOR, SETMINPARTICLESPERSECOND_MINPARTICLESPERSECOND );
break;
-case FN_getParticleMinParticlesPerSecond: //Number Function
- rc_push_num(rc_getParticleMinParticlesPerSecond( GETPARTICLEMINPARTICLESPERSECOND_ACTOR ));
+case FN_getMinParticlesPerSecond: //Number Function
+ rc_push_num(rc_getMinParticlesPerSecond( GETMINPARTICLESPERSECOND_ACTOR ));
break;
-case FN_setParticleMaxParticlesPerSecond: //Sub Procedure
- rc_setParticleMaxParticlesPerSecond( SETPARTICLEMAXPARTICLESPERSECOND_ACTOR, SETPARTICLEMAXPARTICLESPERSECOND_MAXPARTICLESPERSECOND );
+case FN_setMaxParticlesPerSecond: //Sub Procedure
+ rc_setMaxParticlesPerSecond( SETMAXPARTICLESPERSECOND_ACTOR, SETMAXPARTICLESPERSECOND_MAXPARTICLESPERSECOND );
break;
-case FN_getParticleMaxParticlesPerSecond: //Number Function
- rc_push_num(rc_getParticleMaxParticlesPerSecond( GETPARTICLEMAXPARTICLESPERSECOND_ACTOR ));
+case FN_getMaxParticlesPerSecond: //Number Function
+ rc_push_num(rc_getMaxParticlesPerSecond( GETMAXPARTICLESPERSECOND_ACTOR ));
break;
case FN_setParticleMinStartColor: //Sub Procedure
rc_setParticleMinStartColor( SETPARTICLEMINSTARTCOLOR_ACTOR, SETPARTICLEMINSTARTCOLOR_COLOR );
@@ -2159,6 +2171,9 @@ case FN_useParticleOutlineOnly: //Sub Procedure
case FN_particleIsUsingOutlineOnly: //Number Function
rc_push_num(rc_particleIsUsingOutlineOnly( PARTICLEISUSINGOUTLINEONLY_ACTOR ));
break;
+case FN_getParticleType: //Number Function
+ rc_push_num(rc_getParticleType( GETPARTICLETYPE_ACTOR ));
+ break;
case FN_lightIsCastingShadow: //Number Function
rc_push_num(rc_lightIsCastingShadow( LIGHTISCASTINGSHADOW_ACTOR ));
break;
@@ -2495,3 +2510,6 @@ case FN_setActorMaterialType: //Sub Procedure
case FN_getActorMaterialType: //Number Function
rc_push_num(rc_getActorMaterialType( GETACTORMATERIALTYPE_ACTOR, GETACTORMATERIALTYPE_MATERIAL ));
break;
+case FN_MaterialExists: //Number Function
+ rc_push_num(rc_materialExists( MATERIALEXISTS_MATERIAL ));
+ break;
diff --git a/rcbasic_build/tokenizer.h b/rcbasic_build/tokenizer.h
index e91f8de..2cd70d7 100755
--- a/rcbasic_build/tokenizer.h
+++ b/rcbasic_build/tokenizer.h
@@ -1009,8 +1009,200 @@ string rc_keywordToken(string sline)
else if(sline.compare("ON_ERROR_CONTINUE")==0)
return "0";
else if(sline.compare("ON_ERROR_STOP")==0)
- return "1";
- else
+ return "1";
+ else if(sline.compare("FLASH_CANCEL")==0)
+ return "" + rc_intToString((int)SDL_FLASH_CANCEL);
+ else if(sline.compare("FLASH_BRIEFLY")==0)
+ return "" + rc_intToString((int)SDL_FLASH_BRIEFLY);
+ else if(sline.compare("FLASH_UNTIL_FOCUSED")==0)
+ return "" + rc_intToString((int)SDL_FLASH_UNTIL_FOCUSED);
+ else if(sline.compare("SHAPE_TYPE_NONE")==0)
+ return "0";
+ else if(sline.compare("SHAPE_TYPE_BOX")==0)
+ return "1";
+ else if(sline.compare("SHAPE_TYPE_SPHERE")==0)
+ return "2";
+ else if(sline.compare("SHAPE_TYPE_CYLINDER")==0)
+ return "3";
+ else if(sline.compare("SHAPE_TYPE_CAPSULE")==0)
+ return "4";
+ else if(sline.compare("SHAPE_TYPE_CONE")==0)
+ return "5";
+ else if(sline.compare("SHAPE_TYPE_CONVEXHULL")==0)
+ return "6";
+ else if(sline.compare("SHAPE_TYPE_TRIMESH")==0)
+ return "7";
+ else if(sline.compare("MATERIAL_FLAG_WIREFRAME")==0)
+ return "" + rc_intToString( 0x1);
+ else if(sline.compare("MATERIAL_FLAG_POINTCLOUD")==0)
+ return "" + rc_intToString( 0x2);
+ else if(sline.compare("MATERIAL_FLAG_GOURAUD_SHADING")==0)
+ return "" + rc_intToString( 0x4);
+ else if(sline.compare("MATERIAL_FLAG_LIGHTING")==0)
+ return "" + rc_intToString( 0x8);
+ else if(sline.compare("MATERIAL_FLAG_ZBUFFER")==0)
+ return "" + rc_intToString( 0x10);
+ else if(sline.compare("MATERIAL_FLAG_ZWRITE_ENABLE")==0)
+ return "" + rc_intToString( 0x20);
+ else if(sline.compare("MATERIAL_FLAG_BACK_FACE_CULLING")==0)
+ return "" + rc_intToString( 0x40);
+ else if(sline.compare("MATERIAL_FLAG_FRONT_FACE_CULLING")==0)
+ return "" + rc_intToString( 0x80);
+ else if(sline.compare("MATERIAL_FLAG_BILINEAR_FILTER")==0)
+ return "" + rc_intToString( 0x100);
+ else if(sline.compare("MATERIAL_FLAG_TRILINEAR_FILTER")==0)
+ return "" + rc_intToString( 0x200);
+ else if(sline.compare("MATERIAL_FLAG_ANISOTROPIC_FILTER")==0)
+ return "" + rc_intToString( 0x400);
+ else if(sline.compare("MATERIAL_FLAG_FOG_ENABLE")==0)
+ return "" + rc_intToString( 0x800);
+ else if(sline.compare("MATERIAL_FLAG_NORMALIZE_NORMALS")==0)
+ return "" + rc_intToString( 0x1000);
+ else if(sline.compare("MATERIAL_FLAG_TEXTURE_WRAP")==0)
+ return "" + rc_intToString( 0x2000);
+ else if(sline.compare("MATERIAL_FLAG_ANTI_ALIASING")==0)
+ return "" + rc_intToString( 0x4000);
+ else if(sline.compare("MATERIAL_FLAG_COLOR_MASK")==0)
+ return "" + rc_intToString( 0x8000);
+ else if(sline.compare("MATERIAL_FLAG_COLOR_MATERIAL")==0)
+ return "" + rc_intToString( 0x10000);
+ else if(sline.compare("MATERIAL_FLAG_USE_MIP_MAPS")==0)
+ return "" + rc_intToString( 0x20000);
+ else if(sline.compare("MATERIAL_FLAG_BLEND_OPERATION")==0)
+ return "" + rc_intToString( 0x40000);
+ else if(sline.compare("MATERIAL_FLAG_POLYGON_OFFSET")==0)
+ return "" + rc_intToString( 0x80000);
+ else if(sline.compare("MATERIAL_TYPE_SOLID")==0)
+ return "0";
+ else if(sline.compare("MATERIAL_TYPE_SOLID_2_LAYER")==0)
+ return "1";
+ else if(sline.compare("MATERIAL_TYPE_LIGHTMAP")==0)
+ return "2";
+ else if(sline.compare("MATERIAL_TYPE_LIGHTMAP_ADD")==0)
+ return "3";
+ else if(sline.compare("MATERIAL_TYPE_LIGHTMAP_M2")==0)
+ return "4";
+ else if(sline.compare("MATERIAL_TYPE_LIGHTMAP_M4")==0)
+ return "5";
+ else if(sline.compare("MATERIAL_TYPE_LIGHTMAP_LIGHTING")==0)
+ return "6";
+ else if(sline.compare("MATERIAL_TYPE_LIGHTMAP_LIGHTING_M2")==0)
+ return "7";
+ else if(sline.compare("MATERIAL_TYPE_LIGHTMAP_LIGHTING_M4")==0)
+ return "8";
+ else if(sline.compare("MATERIAL_TYPE_DETAIL_MAP")==0)
+ return "9";
+ else if(sline.compare("MATERIAL_TYPE_SPHERE_MAP")==0)
+ return "10";
+ else if(sline.compare("MATERIAL_TYPE_REFLECTION_2_LAYER")==0)
+ return "11";
+ else if(sline.compare("MATERIAL_TYPE_TRANSPARENT_ADD_COLOR")==0)
+ return "12";
+ else if(sline.compare("MATERIAL_TYPE_TRANSPARENT_ALPHA_CHANNEL")==0)
+ return "13";
+ else if(sline.compare("MATERIAL_TYPE_TRANSPARENT_ALPHA_CHANNEL_REF")==0)
+ return "14";
+ else if(sline.compare("MATERIAL_TYPE_TRANSPARENT_VERTEX_ALPHA")==0)
+ return "15";
+ else if(sline.compare("MATERIAL_TYPE_TRANSPARENT_REFLECTION_2_LAYER")==0)
+ return "16";
+ else if(sline.compare("MATERIAL_TYPE_NORMAL_MAP_SOLID")==0)
+ return "17";
+ else if(sline.compare("MATERIAL_TYPE_NORMAL_MAP_TRANSPARENT_ADD_COLOR")==0)
+ return "18";
+ else if(sline.compare("MATERIAL_TYPE_NORMAL_MAP_TRANSPARENT_VERTEX_ALPHA")==0)
+ return "19";
+ else if(sline.compare("MATERIAL_TYPE_PARALLAX_MAP_SOLID")==0)
+ return "20";
+ else if(sline.compare("MATERIAL_TYPE_PARALLAX_MAP_TRANSPARENT_ADD_COLOR")==0)
+ return "21";
+ else if(sline.compare("MATERIAL_TYPE_PARALLAX_MAP_TRANSPARENT_VERTEX_ALPHA")==0)
+ return "22";
+ else if(sline.compare("MATERIAL_TYPE_ONETEXTURE_BLEND")==0)
+ return "23";
+ else if(sline.compare("MATERIAL_TYPE_FORCE_32BIT")==0)
+ return "24";
+ else if(sline.compare("BLEND_MODE_NONE")==0)
+ return "0";
+ else if(sline.compare("BLEND_MODE_ADD")==0)
+ return "1";
+ else if(sline.compare("BLEND_MODE_SUBTRACT")==0)
+ return "2";
+ else if(sline.compare("BLEND_MODE_REVSUBTRACT")==0)
+ return "3";
+ else if(sline.compare("BLEND_MODE_MIN")==0)
+ return "4";
+ else if(sline.compare("BLEND_MODE_MAX")==0)
+ return "5";
+ else if(sline.compare("BLEND_MODE_MIN_FACTOR")==0)
+ return "6";
+ else if(sline.compare("BLEND_MODE_MAX_FACTOR")==0)
+ return "7";
+ else if(sline.compare("BLEND_MODE_MIN_ALPHA")==0)
+ return "8";
+ else if(sline.compare("BLEND_MODE_MAX_ALPHA")==0)
+ return "9";
+ else if(sline.compare("LIGHT_TYPE_POINT")==0)
+ return "0";
+ else if(sline.compare("LIGHT_TYPE_SPOT")==0)
+ return "1";
+ else if(sline.compare("LIGHT_TYPE_DIRECTIONAL")==0)
+ return "2";
+ else if(sline.compare("AA_MODE_OFF")==0)
+ return "0";
+ else if(sline.compare("AA_MODE_SIMPLE")==0)
+ return "1";
+ else if(sline.compare("AA_MODE_QUALITY")==0)
+ return "3";
+ else if(sline.compare("AA_MODE_LINE_SMOOTH")==0)
+ return "4";
+ else if(sline.compare("AA_MODE_POINT_SMOOTH")==0)
+ return "8";
+ else if(sline.compare("AA_MODE_FULL_BASIC")==0)
+ return "15";
+ else if(sline.compare("AA_MODE_ALPHA_TO_COVERAGE")==0)
+ return "16";
+ else if(sline.compare("COLOR_MODE_NONE")==0)
+ return "0";
+ else if(sline.compare("COLOR_MODE_DIFFUSE")==0)
+ return "1";
+ else if(sline.compare("COLOR_MODE_AMBIENT")==0)
+ return "2";
+ else if(sline.compare("COLOR_MODE_EMISSIVE")==0)
+ return "3";
+ else if(sline.compare("COLOR_MODE_SPECULAR")==0)
+ return "4";
+ else if(sline.compare("COLOR_MODE_DIFFUSE_AND_AMBIENT")==0)
+ return "5";
+ else if(sline.compare("PARTICLE_TYPE_POINT")==0)
+ return "1";
+ else if(sline.compare("PARTICLE_TYPE_BOX")==0)
+ return "2";
+ else if(sline.compare("PARTICLE_TYPE_SPHERE")==0)
+ return "3";
+ else if(sline.compare("PARTICLE_TYPE_CYLINDER")==0)
+ return "4";
+ else if(sline.compare("PARTICLE_TYPE_MESH")==0)
+ return "5";
+ else if(sline.compare("PARTICLE_TYPE_RING")==0)
+ return "6";
+ else if(sline.compare("AUTOCULLING_OFF")==0)
+ return "0";
+ else if(sline.compare("AUTOCULLING_BOX")==0)
+ return "1";
+ else if(sline.compare("AUTOCULLING_FRUSTUM_BOX")==0)
+ return "2";
+ else if(sline.compare("AUTOCULLING_FRUSTUM_SPHERE")==0)
+ return "4";
+ else if(sline.compare("AUTOCULLING_OCC_QUERY")==0)
+ return "8";
+ else if(sline.compare("SPRITE_TYPE_STATIC")==0)
+ return "0";
+ else if(sline.compare("SPRITE_TYPE_KINEMATIC")==0)
+ return "1";
+ else if(sline.compare("SPRITE_TYPE_DYNAMIC")==0)
+ return "2";
+ else
{
for(int i = 0; i < rc_constants.size(); i++)
{
diff --git a/rcbasic_runtime/rc_defines.h b/rcbasic_runtime/rc_defines.h
index c827232..3dfe89b 100755
--- a/rcbasic_runtime/rc_defines.h
+++ b/rcbasic_runtime/rc_defines.h
@@ -6,7 +6,6 @@
#define FN_Input$ 1
#define INPUT$_PROMPT$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
#define FN_tst 2
-#define TST_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define FN_ArrayDim 3
#define ARRAYDIM_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define FN_StringArrayDim 4
@@ -452,9 +451,14 @@
#define OPENCANVAS_MODE num_var[6].nref[0].value[ num_var[6].byref_offset ]
#define FN_CloseCanvas 176
#define CLOSECANVAS_C_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetCanvas3D 177
-#define SETCANVAS3D_C_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCANVAS3D_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_OpenCanvas3D 177
+#define OPENCANVAS3D_W num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define OPENCANVAS3D_H num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define OPENCANVAS3D_VIEWPORT_X num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define OPENCANVAS3D_VIEWPORT_Y num_var[3].nref[0].value[ num_var[3].byref_offset ]
+#define OPENCANVAS3D_VIEWPORT_W num_var[4].nref[0].value[ num_var[4].byref_offset ]
+#define OPENCANVAS3D_VIEWPORT_H num_var[5].nref[0].value[ num_var[5].byref_offset ]
+#define OPENCANVAS3D_MODE num_var[6].nref[0].value[ num_var[6].byref_offset ]
#define FN_SetCanvasVisible 178
#define SETCANVASVISIBLE_C_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETCANVASVISIBLE_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
@@ -498,8 +502,8 @@
#define FN_GetCanvasColorMod 190
#define GETCANVASCOLORMOD_C_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define FN_CloneCanvas 191
-#define CLONECANVAS_SRC num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define CLONECANVAS_DST num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define CLONECANVAS_C_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define CLONECANVAS_MODE num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define FN_SetCanvasZ 192
#define SETCANVASZ_C_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETCANVASZ_Z num_var[1].nref[0].value[ num_var[1].byref_offset ]
@@ -511,114 +515,124 @@
#define CANVASCLIP_W num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define CANVASCLIP_H num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define FN_ActiveCanvas 195
-#define FN_Circle 196
+#define FN_SetCanvasPhysics2D 196
+#define SETCANVASPHYSICS2D_C_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETCANVASPHYSICS2D_STATE num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_OpenSpriteCanvas 197
+#define OPENSPRITECANVAS_W num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define OPENSPRITECANVAS_H num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define OPENSPRITECANVAS_VIEWPORT_X num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define OPENSPRITECANVAS_VIEWPORT_Y num_var[3].nref[0].value[ num_var[3].byref_offset ]
+#define OPENSPRITECANVAS_VIEWPORT_W num_var[4].nref[0].value[ num_var[4].byref_offset ]
+#define OPENSPRITECANVAS_VIEWPORT_H num_var[5].nref[0].value[ num_var[5].byref_offset ]
+#define FN_Circle 198
#define CIRCLE_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CIRCLE_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define CIRCLE_RADIUS num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_CircleFill 197
+#define FN_CircleFill 199
#define CIRCLEFILL_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CIRCLEFILL_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define CIRCLEFILL_RADIUS num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_Ellipse 198
+#define FN_Ellipse 200
#define ELLIPSE_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define ELLIPSE_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define ELLIPSE_RX num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define ELLIPSE_RY num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_EllipseFill 199
+#define FN_EllipseFill 201
#define ELLIPSEFILL_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define ELLIPSEFILL_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define ELLIPSEFILL_RX num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define ELLIPSEFILL_RY num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_FloodFill 200
+#define FN_FloodFill 202
#define FLOODFILL_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define FLOODFILL_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetPixel 201
+#define FN_GetPixel 203
#define GETPIXEL_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETPIXEL_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_SetColor 202
+#define FN_SetColor 204
#define SETCOLOR_C num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_Line 203
+#define FN_Line 205
#define LINE_X1 num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define LINE_Y1 num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define LINE_X2 num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define LINE_Y2 num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_Poly 204
+#define FN_Poly 206
#define POLY_N num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define POLY_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define POLY_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_Rect 205
+#define FN_Rect 207
#define RECT_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define RECT_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define RECT_W num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define RECT_H num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_RectFill 206
+#define FN_RectFill 208
#define RECTFILL_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define RECTFILL_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define RECTFILL_W num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define RECTFILL_H num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_RGB 207
+#define FN_RGB 209
#define RGB_R num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define RGB_G num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define RGB_B num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_RGBA 208
+#define FN_RGBA 210
#define RGBA_R num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define RGBA_G num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define RGBA_B num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define RGBA_A num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_Pset 209
+#define FN_Pset 211
#define PSET_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define PSET_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_LoadImage 210
+#define FN_LoadImage 212
#define LOADIMAGE_IMG$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_LoadImageEx 211
+#define FN_LoadImageEx 213
#define LOADIMAGEEX_IMG$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
#define LOADIMAGEEX_COLKEY num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_createImage 212
+#define FN_createImage 214
#define CREATEIMAGE_W num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CREATEIMAGE_H num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define CREATEIMAGE_BUFFER num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_createImageEx 213
+#define FN_createImageEx 215
#define CREATEIMAGEEX_W num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CREATEIMAGEEX_H num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define CREATEIMAGEEX_BUFFER num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define CREATEIMAGEEX_COLOR num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getImageBuffer 214
-#define GETIMAGEBUFFER_IMG_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define GETIMAGEBUFFER_BUFFER num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_ImageExists 215
+#define FN_BufferFromImage 216
+#define BUFFERFROMIMAGE_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define BUFFERFROMIMAGE_BUFFER num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_ImageExists 217
#define IMAGEEXISTS_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_ColorKey 216
+#define FN_ColorKey 218
#define COLORKEY_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define COLORKEY_C num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setBilinearFilter 217
+#define FN_setBilinearFilter 219
#define SETBILINEARFILTER_FLAG num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getBilinearFilter 218
-#define FN_CopyImage 219
+#define FN_getBilinearFilter 220
+#define FN_CopyImage 221
#define COPYIMAGE_IMG_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_DeleteImage 220
+#define FN_DeleteImage 222
#define DELETEIMAGE_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetImageAlpha 221
+#define FN_SetImageAlpha 223
#define SETIMAGEALPHA_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETIMAGEALPHA_A num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetImageAlpha 222
+#define FN_GetImageAlpha 224
#define GETIMAGEALPHA_IMG_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetImageSize 223
+#define FN_GetImageSize 225
#define GETIMAGESIZE_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETIMAGESIZE_W num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETIMAGESIZE_H num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_SetBlendMode 224
+#define FN_SetBlendMode 226
#define SETBLENDMODE_BLEND_MODE num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetBlendMode 225
-#define FN_SetImageColorMod 226
+#define FN_GetBlendMode 227
+#define FN_SetImageColorMod 228
#define SETIMAGECOLORMOD_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETIMAGECOLORMOD_C num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetImageColorMod 227
+#define FN_GetImageColorMod 229
#define GETIMAGECOLORMOD_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_DrawImage 228
+#define FN_DrawImage 230
#define DRAWIMAGE_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define DRAWIMAGE_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define DRAWIMAGE_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_DrawImage_Blit 229
+#define FN_DrawImage_Blit 231
#define DRAWIMAGE_BLIT_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define DRAWIMAGE_BLIT_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define DRAWIMAGE_BLIT_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -626,7 +640,7 @@
#define DRAWIMAGE_BLIT_SRC_Y num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define DRAWIMAGE_BLIT_SRC_W num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define DRAWIMAGE_BLIT_SRC_H num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_DrawImage_BlitEx 230
+#define FN_DrawImage_BlitEx 232
#define DRAWIMAGE_BLITEX_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define DRAWIMAGE_BLITEX_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define DRAWIMAGE_BLITEX_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -636,12 +650,12 @@
#define DRAWIMAGE_BLITEX_SRC_Y num_var[6].nref[0].value[ num_var[6].byref_offset ]
#define DRAWIMAGE_BLITEX_SRC_W num_var[7].nref[0].value[ num_var[7].byref_offset ]
#define DRAWIMAGE_BLITEX_SRC_H num_var[8].nref[0].value[ num_var[8].byref_offset ]
-#define FN_DrawImage_Rotate 231
+#define FN_DrawImage_Rotate 233
#define DRAWIMAGE_ROTATE_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define DRAWIMAGE_ROTATE_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define DRAWIMAGE_ROTATE_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define DRAWIMAGE_ROTATE_ANGLE num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_DrawImage_RotateEx 232
+#define FN_DrawImage_RotateEx 234
#define DRAWIMAGE_ROTATEEX_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define DRAWIMAGE_ROTATEEX_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define DRAWIMAGE_ROTATEEX_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -650,13 +664,13 @@
#define DRAWIMAGE_ROTATEEX_SRC_W num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define DRAWIMAGE_ROTATEEX_SRC_H num_var[6].nref[0].value[ num_var[6].byref_offset ]
#define DRAWIMAGE_ROTATEEX_ANGLE num_var[7].nref[0].value[ num_var[7].byref_offset ]
-#define FN_DrawImage_Zoom 233
+#define FN_DrawImage_Zoom 235
#define DRAWIMAGE_ZOOM_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define DRAWIMAGE_ZOOM_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define DRAWIMAGE_ZOOM_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define DRAWIMAGE_ZOOM_ZX num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define DRAWIMAGE_ZOOM_ZY num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define FN_DrawImage_ZoomEx 234
+#define FN_DrawImage_ZoomEx 236
#define DRAWIMAGE_ZOOMEX_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define DRAWIMAGE_ZOOMEX_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define DRAWIMAGE_ZOOMEX_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -666,14 +680,14 @@
#define DRAWIMAGE_ZOOMEX_SRC_H num_var[6].nref[0].value[ num_var[6].byref_offset ]
#define DRAWIMAGE_ZOOMEX_ZX num_var[7].nref[0].value[ num_var[7].byref_offset ]
#define DRAWIMAGE_ZOOMEX_ZY num_var[8].nref[0].value[ num_var[8].byref_offset ]
-#define FN_DrawImage_Rotozoom 235
+#define FN_DrawImage_Rotozoom 237
#define DRAWIMAGE_ROTOZOOM_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define DRAWIMAGE_ROTOZOOM_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define DRAWIMAGE_ROTOZOOM_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define DRAWIMAGE_ROTOZOOM_ANGLE num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define DRAWIMAGE_ROTOZOOM_ZX num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define DRAWIMAGE_ROTOZOOM_ZY num_var[5].nref[0].value[ num_var[5].byref_offset ]
-#define FN_DrawImage_RotozoomEx 236
+#define FN_DrawImage_RotozoomEx 238
#define DRAWIMAGE_ROTOZOOMEX_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define DRAWIMAGE_ROTOZOOMEX_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define DRAWIMAGE_ROTOZOOMEX_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -684,13 +698,13 @@
#define DRAWIMAGE_ROTOZOOMEX_ANGLE num_var[7].nref[0].value[ num_var[7].byref_offset ]
#define DRAWIMAGE_ROTOZOOMEX_ZX num_var[8].nref[0].value[ num_var[8].byref_offset ]
#define DRAWIMAGE_ROTOZOOMEX_ZY num_var[9].nref[0].value[ num_var[9].byref_offset ]
-#define FN_DrawImage_Flip 237
+#define FN_DrawImage_Flip 239
#define DRAWIMAGE_FLIP_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define DRAWIMAGE_FLIP_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define DRAWIMAGE_FLIP_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define DRAWIMAGE_FLIP_H num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define DRAWIMAGE_FLIP_V num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define FN_DrawImage_FlipEx 238
+#define FN_DrawImage_FlipEx 240
#define DRAWIMAGE_FLIPEX_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define DRAWIMAGE_FLIPEX_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define DRAWIMAGE_FLIPEX_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -700,588 +714,588 @@
#define DRAWIMAGE_FLIPEX_SRC_H num_var[6].nref[0].value[ num_var[6].byref_offset ]
#define DRAWIMAGE_FLIPEX_H num_var[7].nref[0].value[ num_var[7].byref_offset ]
#define DRAWIMAGE_FLIPEX_V num_var[8].nref[0].value[ num_var[8].byref_offset ]
-#define FN_InKey 239
-#define FN_Key 240
+#define FN_InKey 241
+#define FN_Key 242
#define KEY_KEY_CODE num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_WaitKey 241
-#define FN_HideMouse 242
-#define FN_ShowMouse 243
-#define FN_MouseIsVisible 244
-#define FN_GetMouse 245
+#define FN_WaitKey 243
+#define FN_HideMouse 244
+#define FN_ShowMouse 245
+#define FN_MouseIsVisible 246
+#define FN_GetMouse 247
#define GETMOUSE_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETMOUSE_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETMOUSE_MB1 num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETMOUSE_MB2 num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define GETMOUSE_MB3 num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define FN_MouseX 246
-#define FN_MouseY 247
-#define FN_MouseButton 248
+#define FN_MouseX 248
+#define FN_MouseY 249
+#define FN_MouseButton 250
#define MOUSEBUTTON_MB num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetMouseWheel 249
+#define FN_GetMouseWheel 251
#define GETMOUSEWHEEL_X_AXIS num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETMOUSEWHEEL_Y_AXIS num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_MouseWheelX 250
-#define FN_MouseWheelY 251
-#define FN_GetGlobalMouse 252
+#define FN_MouseWheelX 252
+#define FN_MouseWheelY 253
+#define FN_GetGlobalMouse 254
#define GETGLOBALMOUSE_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETGLOBALMOUSE_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETGLOBALMOUSE_MB1 num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETGLOBALMOUSE_MB2 num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define GETGLOBALMOUSE_MB3 num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define FN_GlobalMouseX 253
-#define FN_GlobalMouseY 254
-#define FN_WarpMouse 255
+#define FN_GlobalMouseX 255
+#define FN_GlobalMouseY 256
+#define FN_WarpMouse 257
#define WARPMOUSE_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define WARPMOUSE_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_WarpMouseGlobal 256
+#define FN_WarpMouseGlobal 258
#define WARPMOUSEGLOBAL_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define WARPMOUSEGLOBAL_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_SetMouseZone 257
+#define FN_SetMouseZone 259
#define SETMOUSEZONE_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMOUSEZONE_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETMOUSEZONE_W num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETMOUSEZONE_H num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_ClearMouseZone 258
-#define FN_CreateSound 259
+#define FN_ClearMouseZone 260
+#define FN_CreateSound 261
#define CREATESOUND_BUFFER num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CREATESOUND_BUFFER_SIZE num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define CREATESOUND_VOL num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_LoadSound 260
+#define FN_LoadSound 262
#define LOADSOUND_SND_FILE$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_LoadMusic 261
+#define FN_LoadMusic 263
#define LOADMUSIC_MUSIC_FILE$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_PlaySound 262
+#define FN_PlaySound 264
#define PLAYSOUND_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define PLAYSOUND_CHANNEL num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define PLAYSOUND_LOOPS num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_PlaySoundTimed 263
+#define FN_PlaySoundTimed 265
#define PLAYSOUNDTIMED_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define PLAYSOUNDTIMED_CHANNEL num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define PLAYSOUNDTIMED_LOOPS num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define PLAYSOUNDTIMED_MS num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_PlayMusic 264
+#define FN_PlayMusic 266
#define PLAYMUSIC_MLOOPS num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_PauseSound 265
+#define FN_PauseSound 267
#define PAUSESOUND_CHANNEL num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_ResumeSound 266
+#define FN_ResumeSound 268
#define RESUMESOUND_CHANNEL num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_PauseMusic 267
-#define FN_ResumeMusic 268
-#define FN_DeleteSound 269
+#define FN_PauseMusic 269
+#define FN_ResumeMusic 270
+#define FN_DeleteSound 271
#define DELETESOUND_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_DeleteMusic 270
-#define FN_FadeMusicIn 271
+#define FN_DeleteMusic 272
+#define FN_FadeMusicIn 273
#define FADEMUSICIN_FADE_TIME num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define FADEMUSICIN_LOOPS num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_FadeMusicOut 272
+#define FN_FadeMusicOut 274
#define FADEMUSICOUT_FADE_TIME num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_MusicExists 273
-#define FN_SetMusicVolume 274
+#define FN_MusicExists 275
+#define FN_SetMusicVolume 276
#define SETMUSICVOLUME_VOL num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetMusicVolume 275
-#define FN_SetMusicPosition 276
+#define FN_GetMusicVolume 277
+#define FN_SetMusicPosition 278
#define SETMUSICPOSITION_POS num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetMusicPosition 277
-#define FN_RewindMusic 278
-#define FN_SetSoundChannels 279
+#define FN_GetMusicPosition 279
+#define FN_RewindMusic 280
+#define FN_SetSoundChannels 281
#define SETSOUNDCHANNELS_MAX_CHANNELS num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_NumSoundChannels 280
-#define FN_SoundIsEnabled 281
-#define FN_SoundExists 282
+#define FN_NumSoundChannels 282
+#define FN_SoundIsEnabled 283
+#define FN_SoundExists 284
#define SOUNDEXISTS_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetChannelVolume 283
+#define FN_SetChannelVolume 285
#define SETCHANNELVOLUME_CHANNEL num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETCHANNELVOLUME_VOL num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetChannelVolume 284
+#define FN_GetChannelVolume 286
#define GETCHANNELVOLUME_CHANNEL num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetSoundVolume 285
+#define FN_SetSoundVolume 287
#define SETSOUNDVOLUME_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETSOUNDVOLUME_VOL num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetSoundVolume 286
+#define FN_GetSoundVolume 288
#define GETSOUNDVOLUME_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_StopMusic 287
-#define FN_StopSound 288
+#define FN_StopMusic 289
+#define FN_StopSound 290
#define STOPSOUND_CHANNEL num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetChannelPanning 289
+#define FN_SetChannelPanning 291
#define SETCHANNELPANNING_CHANNEL num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETCHANNELPANNING_LEFT_VALUE num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETCHANNELPANNING_RIGHT_VALUE num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_SetChannelDistance 290
+#define FN_SetChannelDistance 292
#define SETCHANNELDISTANCE_CHANNEL num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETCHANNELDISTANCE_DIST_VALUE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_ChannelIsPlaying 291
+#define FN_ChannelIsPlaying 293
#define CHANNELISPLAYING_CHANNEL num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_ChannelIsPaused 292
+#define FN_ChannelIsPaused 294
#define CHANNELISPAUSED_CHANNEL num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_QueryAudioSpec 293
+#define FN_QueryAudioSpec 295
#define QUERYAUDIOSPEC_FREQ num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define QUERYAUDIOSPEC_FORMAT num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define QUERYAUDIOSPEC_CHANNELS num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_MusicIsPlaying 294
-#define FN_SetChannelSpacePosition 295
+#define FN_MusicIsPlaying 296
+#define FN_SetChannelSpacePosition 297
#define SETCHANNELSPACEPOSITION_CHANNEL num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETCHANNELSPACEPOSITION_ANGLE num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETCHANNELSPACEPOSITION_DISTANCE num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_NumJoysticks 296
-#define FN_NumJoyAxes 297
+#define FN_NumJoysticks 298
+#define FN_NumJoyAxes 299
#define NUMJOYAXES_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_NumJoyButtons 298
+#define FN_NumJoyButtons 300
#define NUMJOYBUTTONS_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_NumJoyHats 299
+#define FN_NumJoyHats 301
#define NUMJOYHATS_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_NumJoyTrackBalls 300
+#define FN_NumJoyTrackBalls 302
#define NUMJOYTRACKBALLS_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_JoyAxis 301
+#define FN_JoyAxis 303
#define JOYAXIS_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define JOYAXIS_JOY_AXIS num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_JoyButton 302
+#define FN_JoyButton 304
#define JOYBUTTON_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define JOYBUTTON_JOY_BUTTON num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_JoyHat 303
+#define FN_JoyHat 305
#define JOYHAT_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define JOYHAT_JOY_HAT num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetJoyTrackBall 304
+#define FN_GetJoyTrackBall 306
#define GETJOYTRACKBALL_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETJOYTRACKBALL_BALL num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETJOYTRACKBALL_DX num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETJOYTRACKBALL_DY num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_JoyName$ 305
+#define FN_JoyName$ 307
#define JOYNAME$_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_JoystickIsConnected 306
+#define FN_JoystickIsConnected 308
#define JOYSTICKISCONNECTED_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_JoyRumblePlay 307
+#define FN_JoyRumblePlay 309
#define JOYRUMBLEPLAY_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define JOYRUMBLEPLAY_STRENGTH num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define JOYRUMBLEPLAY_DURATION num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_JoyRumbleStop 308
+#define FN_JoyRumbleStop 310
#define JOYRUMBLESTOP_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_JoystickIsHaptic 309
+#define FN_JoystickIsHaptic 311
#define JOYSTICKISHAPTIC_JOY_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_LoadFont 310
+#define FN_LoadFont 312
#define LOADFONT_FNT_FILE$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
#define LOADFONT_FONT_SIZE num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_DeleteFont 311
+#define FN_DeleteFont 313
#define DELETEFONT_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_FontExists 312
+#define FN_FontExists 314
#define FONTEXISTS_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetFont 313
+#define FN_SetFont 315
#define SETFONT_SLOT num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_DrawText 314
+#define FN_DrawText 316
#define DRAWTEXT_TXT$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
#define DRAWTEXT_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define DRAWTEXT_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetTextSize 315
+#define FN_GetTextSize 317
#define GETTEXTSIZE_TXT$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
#define GETTEXTSIZE_W num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETTEXTSIZE_H num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetTextWidth 316
+#define FN_GetTextWidth 318
#define GETTEXTWIDTH_TXT$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_GetTextHeight 317
+#define FN_GetTextHeight 319
#define GETTEXTHEIGHT_TXT$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_TouchPressure 318
-#define FN_GetTouch 319
+#define FN_TouchPressure 320
+#define FN_GetTouch 321
#define GETTOUCH_STATUS num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETTOUCH_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETTOUCH_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETTOUCH_DX num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define GETTOUCH_DY num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define FN_GetMultiTouch 320
+#define FN_GetMultiTouch 322
#define GETMULTITOUCH_STATUS num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETMULTITOUCH_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETMULTITOUCH_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETMULTITOUCH_FINGERS num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define GETMULTITOUCH_DIST num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define GETMULTITOUCH_THETA num_var[5].nref[0].value[ num_var[5].byref_offset ]
-#define FN_GetTouchFinger 321
+#define FN_GetTouchFinger 323
#define GETTOUCHFINGER_FINGER num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETTOUCHFINGER_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETTOUCHFINGER_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETTOUCHFINGER_PRESSURE num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_NumFingers 322
-#define FN_GetAccel 323
+#define FN_NumFingers 324
+#define FN_GetAccel 325
#define GETACCEL_ACCEL_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACCEL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACCEL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETACCEL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_AccelName$ 324
+#define FN_AccelName$ 326
#define ACCELNAME$_ACCEL_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_NumAccels 325
-#define FN_GetGyro 326
+#define FN_NumAccels 327
+#define FN_GetGyro 328
#define GETGYRO_GYRO_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETGYRO_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETGYRO_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETGYRO_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_GyroName$ 327
+#define FN_GyroName$ 329
#define GYRONAME$_GYRO_NUM num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_NumGyros 328
-#define FN_CheckSockets 329
+#define FN_NumGyros 330
+#define FN_CheckSockets 331
#define CHECKSOCKETS_TIMEOUT_MS num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_TCP_SocketReady 330
+#define FN_TCP_SocketReady 332
#define TCP_SOCKETREADY_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_UDP_SocketReady 331
+#define FN_UDP_SocketReady 333
#define UDP_SOCKETREADY_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_TCP_OpenSocket 332
+#define FN_TCP_OpenSocket 334
#define TCP_OPENSOCKET_HOST$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
#define TCP_OPENSOCKET_PORT num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_TCP_CloseSocket 333
+#define FN_TCP_CloseSocket 335
#define TCP_CLOSESOCKET_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_TCP_RemoteHost 334
+#define FN_TCP_RemoteHost 336
#define TCP_REMOTEHOST_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_TCP_RemotePort 335
+#define FN_TCP_RemotePort 337
#define TCP_REMOTEPORT_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_TCP_GetData 336
+#define FN_TCP_GetData 338
#define TCP_GETDATA_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define TCP_GETDATA_NUMBYTES num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define TCP_GETDATA_SDATA$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_TCP_SendData 337
+#define FN_TCP_SendData 339
#define TCP_SENDDATA_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define TCP_SENDDATA_SDATA$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_TCP_AcceptSocket 338
+#define FN_TCP_AcceptSocket 340
#define TCP_ACCEPTSOCKET_SERVER num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define TCP_ACCEPTSOCKET_CLIENT num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_UDP_OpenSocket 339
+#define FN_UDP_OpenSocket 341
#define UDP_OPENSOCKET_PORT num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_UDP_CloseSocket 340
+#define FN_UDP_CloseSocket 342
#define UDP_CLOSESOCKET_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_UDP_GetData 341
+#define FN_UDP_GetData 343
#define UDP_GETDATA_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define UDP_GETDATA_HOST$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
#define UDP_GETDATA_PORT num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define UDP_GETDATA_SDATA$ str_var[1].sref[0].value[ str_var[1].byref_offset ]
-#define FN_UDP_Length 342
-#define FN_UDP_MaxLength 343
-#define FN_UDP_RemoteHost$ 344
+#define FN_UDP_Length 344
+#define FN_UDP_MaxLength 345
+#define FN_UDP_RemoteHost$ 346
#define UDP_REMOTEHOST$_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_UDP_RemotePort 345
+#define FN_UDP_RemotePort 347
#define UDP_REMOTEPORT_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_UDP_SendData 346
+#define FN_UDP_SendData 348
#define UDP_SENDDATA_SOCKET num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define UDP_SENDDATA_HOST$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
#define UDP_SENDDATA_PORT num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define UDP_SENDDATA_SDATA$ str_var[1].sref[0].value[ str_var[1].byref_offset ]
-#define FN_LoadVideo 347
+#define FN_LoadVideo 349
#define LOADVIDEO_VID$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_PlayVideo 348
+#define FN_PlayVideo 350
#define PLAYVIDEO_VLOOPS num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_PauseVideo 349
-#define FN_StopVideo 350
-#define FN_SetVideoPosition 351
+#define FN_PauseVideo 351
+#define FN_StopVideo 352
+#define FN_SetVideoPosition 353
#define SETVIDEOPOSITION_POS num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_ResumeVideo 352
-#define FN_GetVideoPosition 353
-#define FN_DeleteVideo 354
-#define FN_VideoIsPlaying 355
-#define FN_VideoEnd 356
-#define FN_GetVideoStats 357
+#define FN_ResumeVideo 354
+#define FN_GetVideoPosition 355
+#define FN_DeleteVideo 356
+#define FN_VideoIsPlaying 357
+#define FN_VideoEnd 358
+#define FN_GetVideoStats 359
#define GETVIDEOSTATS_VFILE$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
#define GETVIDEOSTATS_VLEN num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETVIDEOSTATS_VFPS num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETVIDEOSTATS_FRAME_W num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETVIDEOSTATS_FRAME_H num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_SetVideoDrawRect 358
+#define FN_SetVideoDrawRect 360
#define SETVIDEODRAWRECT_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETVIDEODRAWRECT_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETVIDEODRAWRECT_W num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETVIDEODRAWRECT_H num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_GetVideoDrawRect 359
+#define FN_GetVideoDrawRect 361
#define GETVIDEODRAWRECT_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETVIDEODRAWRECT_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETVIDEODRAWRECT_W num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETVIDEODRAWRECT_H num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_GetVideoSize 360
+#define FN_GetVideoSize 362
#define GETVIDEOSIZE_W num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETVIDEOSIZE_H num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_VideoExists 361
-#define FN_SetVideoVolume 362
+#define FN_VideoExists 363
+#define FN_SetVideoVolume 364
#define SETVIDEOVOLUME_VOL num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetVideoVolume 363
-#define FN_System 364
+#define FN_GetVideoVolume 365
+#define FN_System 366
#define SYSTEM_CMD$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_OS$ 365
-#define FN_Command$ 366
+#define FN_OS$ 367
+#define FN_Command$ 368
#define COMMAND$_ARG num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_NumCommands 367
-#define FN_Env$ 368
+#define FN_NumCommands 369
+#define FN_Env$ 370
#define ENV$_V$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_SetEnv 369
+#define FN_SetEnv 371
#define SETENV_VAR$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
#define SETENV_VALUE$ str_var[1].sref[0].value[ str_var[1].byref_offset ]
-#define FN_PrefPath$ 370
+#define FN_PrefPath$ 372
#define PREFPATH$_ORG_NAME$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
#define PREFPATH$_APP_NAME$ str_var[1].sref[0].value[ str_var[1].byref_offset ]
-#define FN_Android_GetExternalStoragePath$ 371
-#define FN_Android_GetExternalStorageState 372
-#define FN_Android_GetInternalStoragePath$ 373
-#define FN_Android_JNI_Message$ 374
+#define FN_Android_GetExternalStoragePath$ 373
+#define FN_Android_GetExternalStorageState 374
+#define FN_Android_GetInternalStoragePath$ 375
+#define FN_Android_JNI_Message$ 376
#define ANDROID_JNI_MESSAGE$_ARG$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_Runtime_Utility_Message$ 375
+#define FN_Runtime_Utility_Message$ 377
#define RUNTIME_UTILITY_MESSAGE$_ARG$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_GetDesktopDisplayMode 376
+#define FN_GetDesktopDisplayMode 378
#define GETDESKTOPDISPLAYMODE_INDEX num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETDESKTOPDISPLAYMODE_W num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETDESKTOPDISPLAYMODE_H num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETDESKTOPDISPLAYMODE_FREQ num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_GetPowerInfo 377
+#define FN_GetPowerInfo 379
#define GETPOWERINFO_STATUS num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETPOWERINFO_SECS num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETPOWERINFO_PCT num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_EvalJS$ 378
+#define FN_EvalJS$ 380
#define EVALJS$_JS_CODE$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_SystemReturnStdOut$ 379
+#define FN_SystemReturnStdOut$ 381
#define SYSTEMRETURNSTDOUT$_CMD$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_OpenURL 380
+#define FN_OpenURL 382
#define OPENURL_URL$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_MessageBox 381
+#define FN_MessageBox 383
#define MESSAGEBOX_TITLE$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
#define MESSAGEBOX_MSG$ str_var[1].sref[0].value[ str_var[1].byref_offset ]
-#define FN_Runtime$ 382
-#define FN_NumCPUs 383
-#define FN_SystemRam 384
-#define FN_DimMatrix 385
+#define FN_Runtime$ 384
+#define FN_NumCPUs 385
+#define FN_SystemRam 386
+#define FN_DimMatrix 387
#define DIMMATRIX_M_ROWS num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define DIMMATRIX_M_COLS num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_DeleteMatrix 386
+#define FN_DeleteMatrix 388
#define DELETEMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_AddMatrix 387
+#define FN_AddMatrix 389
#define ADDMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define ADDMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define ADDMATRIX_MC num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_AugmentMatrix 388
+#define FN_AugmentMatrix 390
#define AUGMENTMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define AUGMENTMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define AUGMENTMATRIX_MC num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_CopyMatrix 389
+#define FN_CopyMatrix 391
#define COPYMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define COPYMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_InsertMatrixColumns 390
+#define FN_InsertMatrixColumns 392
#define INSERTMATRIXCOLUMNS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define INSERTMATRIXCOLUMNS_C num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define INSERTMATRIXCOLUMNS_NUM_COLS num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_InsertMatrixRows 391
+#define FN_InsertMatrixRows 393
#define INSERTMATRIXROWS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define INSERTMATRIXROWS_R num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define INSERTMATRIXROWS_NUM_ROWS num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_MultiplyMatrix 392
+#define FN_MultiplyMatrix 394
#define MULTIPLYMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define MULTIPLYMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define MULTIPLYMATRIX_MC num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_CubeMatrix 393
+#define FN_CubeMatrix 395
#define CUBEMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CUBEMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_DeleteMatrixColumns 394
+#define FN_DeleteMatrixColumns 396
#define DELETEMATRIXCOLUMNS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define DELETEMATRIXCOLUMNS_C num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define DELETEMATRIXCOLUMNS_NUM_COLS num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_DeleteMatrixRows 395
+#define FN_DeleteMatrixRows 397
#define DELETEMATRIXROWS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define DELETEMATRIXROWS_R num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define DELETEMATRIXROWS_NUM_ROWS num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_ClearMatrix 396
+#define FN_ClearMatrix 398
#define CLEARMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_ClearMatrixColumns 397
+#define FN_ClearMatrixColumns 399
#define CLEARMATRIXCOLUMNS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CLEARMATRIXCOLUMNS_C num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define CLEARMATRIXCOLUMNS_NUM_COLS num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_ClearMatrixRows 398
+#define FN_ClearMatrixRows 400
#define CLEARMATRIXROWS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CLEARMATRIXROWS_R num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define CLEARMATRIXROWS_NUM_ROWS num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_FillMatrix 399
+#define FN_FillMatrix 401
#define FILLMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define FILLMATRIX_V num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_FillMatrixColumns 400
+#define FN_FillMatrixColumns 402
#define FILLMATRIXCOLUMNS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define FILLMATRIXCOLUMNS_C num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define FILLMATRIXCOLUMNS_NUM_COLS num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define FILLMATRIXCOLUMNS_V num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_FillMatrixRows 401
+#define FN_FillMatrixRows 403
#define FILLMATRIXROWS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define FILLMATRIXROWS_R num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define FILLMATRIXROWS_NUM_ROWS num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define FILLMATRIXROWS_V num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_CopyMatrixColumns 402
+#define FN_CopyMatrixColumns 404
#define COPYMATRIXCOLUMNS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define COPYMATRIXCOLUMNS_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define COPYMATRIXCOLUMNS_C num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define COPYMATRIXCOLUMNS_NUM_COLS num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_CopyMatrixRows 403
+#define FN_CopyMatrixRows 405
#define COPYMATRIXROWS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define COPYMATRIXROWS_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define COPYMATRIXROWS_R num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define COPYMATRIXROWS_NUM_ROWS num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_SetIdentityMatrix 404
+#define FN_SetIdentityMatrix 406
#define SETIDENTITYMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETIDENTITYMATRIX_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_SolveMatrix 405
+#define FN_SolveMatrix 407
#define SOLVEMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SOLVEMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SOLVEMATRIX_MC num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_IsEqualMatrix 406
+#define FN_IsEqualMatrix 408
#define ISEQUALMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define ISEQUALMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define ISEQUALMATRIX_TOLERANCE num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_Determinant 407
+#define FN_Determinant 409
#define DETERMINANT_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_AdjointMatrix 408
+#define FN_AdjointMatrix 410
#define ADJOINTMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define ADJOINTMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_InvertMatrix 409
+#define FN_InvertMatrix 411
#define INVERTMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define INVERTMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_MatrixFromBuffer 410
+#define FN_MatrixFromBuffer 412
#define MATRIXFROMBUFFER_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define MATRIXFROMBUFFER_R num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define MATRIXFROMBUFFER_C num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define MATRIXFROMBUFFER_BUFFER num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_BufferFromMatrix 411
+#define FN_BufferFromMatrix 413
#define BUFFERFROMMATRIX_BUFFER num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define BUFFERFROMMATRIX_MA num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_RandomizeMatrix 412
+#define FN_RandomizeMatrix 414
#define RANDOMIZEMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define RANDOMIZEMATRIX_VMIN num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define RANDOMIZEMATRIX_VMAX num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_MatrixValue 413
+#define FN_MatrixValue 415
#define MATRIXVALUE_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define MATRIXVALUE_R num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define MATRIXVALUE_C num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_SetMatrixValue 414
+#define FN_SetMatrixValue 416
#define SETMATRIXVALUE_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATRIXVALUE_R num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETMATRIXVALUE_C num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETMATRIXVALUE_V num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_ScalarMatrix 415
+#define FN_ScalarMatrix 417
#define SCALARMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SCALARMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SCALARMATRIX_S_VALUE num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_ScalarMatrixColumns 416
+#define FN_ScalarMatrixColumns 418
#define SCALARMATRIXCOLUMNS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SCALARMATRIXCOLUMNS_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SCALARMATRIXCOLUMNS_C num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SCALARMATRIXCOLUMNS_NUM_COLS num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define SCALARMATRIXCOLUMNS_S_VALUE num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define FN_ScalarMatrixRows 417
+#define FN_ScalarMatrixRows 419
#define SCALARMATRIXROWS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SCALARMATRIXROWS_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SCALARMATRIXROWS_R num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SCALARMATRIXROWS_NUM_ROWS num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define SCALARMATRIXROWS_S_VALUE num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define FN_SquareMatrix 418
+#define FN_SquareMatrix 420
#define SQUAREMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SQUAREMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_CofactorMatrix 419
+#define FN_CofactorMatrix 421
#define COFACTORMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define COFACTORMATRIX_R num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define COFACTORMATRIX_C num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_SubtractMatrix 420
+#define FN_SubtractMatrix 422
#define SUBTRACTMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SUBTRACTMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SUBTRACTMATRIX_MC num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_SwapMatrix 421
+#define FN_SwapMatrix 423
#define SWAPMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SWAPMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_SwapMatrixColumn 422
+#define FN_SwapMatrixColumn 424
#define SWAPMATRIXCOLUMN_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SWAPMATRIXCOLUMN_C1 num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SWAPMATRIXCOLUMN_C2 num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_SwapMatrixRow 423
+#define FN_SwapMatrixRow 425
#define SWAPMATRIXROW_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SWAPMATRIXROW_R1 num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SWAPMATRIXROW_R2 num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_TransposeMatrix 424
+#define FN_TransposeMatrix 426
#define TRANSPOSEMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define TRANSPOSEMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_UnAugmentMatrix 425
+#define FN_UnAugmentMatrix 427
#define UNAUGMENTMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define UNAUGMENTMATRIX_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define UNAUGMENTMATRIX_MC num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_ZeroMatrix 426
+#define FN_ZeroMatrix 428
#define ZEROMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetMatrixSize 427
+#define FN_GetMatrixSize 429
#define GETMATRIXSIZE_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETMATRIXSIZE_R num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETMATRIXSIZE_C num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_IncrementMatrixRows 428
+#define FN_IncrementMatrixRows 430
#define INCREMENTMATRIXROWS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define INCREMENTMATRIXROWS_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define INCREMENTMATRIXROWS_R num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define INCREMENTMATRIXROWS_NUM_ROWS num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define INCREMENTMATRIXROWS_VALUE num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define FN_IncrementMatrixColumns 429
+#define FN_IncrementMatrixColumns 431
#define INCREMENTMATRIXCOLUMNS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define INCREMENTMATRIXCOLUMNS_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define INCREMENTMATRIXCOLUMNS_C num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define INCREMENTMATRIXCOLUMNS_NUM_COLS num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define INCREMENTMATRIXCOLUMNS_VALUE num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define FN_JoinMatrixRows 430
+#define FN_JoinMatrixRows 432
#define JOINMATRIXROWS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define JOINMATRIXROWS_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define JOINMATRIXROWS_MC num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_JoinMatrixColumns 431
+#define FN_JoinMatrixColumns 433
#define JOINMATRIXCOLUMNS_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define JOINMATRIXCOLUMNS_MB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define JOINMATRIXCOLUMNS_MC num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_ClipMatrix 432
+#define FN_ClipMatrix 434
#define CLIPMATRIX_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CLIPMATRIX_R num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define CLIPMATRIX_C num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define CLIPMATRIX_NUM_ROWS num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define CLIPMATRIX_NUM_COLS num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define CLIPMATRIX_MB num_var[5].nref[0].value[ num_var[5].byref_offset ]
-#define FN_SetMatrixTranslation 433
+#define FN_SetMatrixTranslation 435
#define SETMATRIXTRANSLATION_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATRIXTRANSLATION_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETMATRIXTRANSLATION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETMATRIXTRANSLATION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_SetMatrixRotation 434
+#define FN_SetMatrixRotation 436
#define SETMATRIXROTATION_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATRIXROTATION_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETMATRIXROTATION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETMATRIXROTATION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_SetMatrixScale 435
+#define FN_SetMatrixScale 437
#define SETMATRIXSCALE_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATRIXSCALE_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETMATRIXSCALE_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETMATRIXSCALE_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_GetMatrixTranslation 436
+#define FN_GetMatrixTranslation 438
#define GETMATRIXTRANSLATION_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETMATRIXTRANSLATION_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETMATRIXTRANSLATION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETMATRIXTRANSLATION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_GetMatrixRotation 437
+#define FN_GetMatrixRotation 439
#define GETMATRIXROTATION_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETMATRIXROTATION_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETMATRIXROTATION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETMATRIXROTATION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_GetMatrixScale 438
+#define FN_GetMatrixScale 440
#define GETMATRIXSCALE_MA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETMATRIXSCALE_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETMATRIXSCALE_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETMATRIXSCALE_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_GetClipboardText$ 439
-#define FN_SetClipboardText 440
+#define FN_GetClipboardText$ 441
+#define FN_SetClipboardText 442
#define SETCLIPBOARDTEXT_TXT$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_HasClipboardText 441
-#define FN_ReadInput_Start 442
-#define FN_ReadInput_Stop 443
-#define FN_ReadInput_Text$ 444
-#define FN_ReadInput_SetText 445
+#define FN_HasClipboardText 443
+#define FN_ReadInput_Start 444
+#define FN_ReadInput_Stop 445
+#define FN_ReadInput_Text$ 446
+#define FN_ReadInput_SetText 447
#define READINPUT_SETTEXT_TXT$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_ReadInput_ToggleBackspace 446
+#define FN_ReadInput_ToggleBackspace 448
#define READINPUT_TOGGLEBACKSPACE_FLAG num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_CreateSprite 447
+#define FN_CreateSprite 449
#define CREATESPRITE_IMG num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_DeleteSprite 448
+#define FN_DeleteSprite 450
#define DELETESPRITE_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetSpritePosition 449
+#define FN_SetSpritePosition 451
#define SETSPRITEPOSITION_SPRITE num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETSPRITEPOSITION_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETSPRITEPOSITION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_LoadMesh 450
+#define FN_LoadMesh 452
#define LOADMESH_MESH_FILE$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_DeleteMesh 451
+#define FN_DeleteMesh 453
#define DELETEMESH_MESH num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_CreateMesh 452
-#define FN_AddMeshBuffer 453
+#define FN_CreateMesh 454
+#define FN_AddMeshBuffer 455
#define ADDMESHBUFFER_MESH num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define ADDMESHBUFFER_VERTEX_COUNT num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define ADDMESHBUFFER_VERTEX_DATA num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -1289,206 +1303,210 @@
#define ADDMESHBUFFER_UV_DATA num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define ADDMESHBUFFER_INDEX_COUNT num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define ADDMESHBUFFER_INDEX_DATA num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_LoadMeshFromArchive 454
+#define FN_LoadMeshFromArchive 456
#define LOADMESHFROMARCHIVE_ARCHIVE$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
#define LOADMESHFROMARCHIVE_MESH_FILE$ str_var[1].sref[0].value[ str_var[1].byref_offset ]
-#define FN_CreateMeshActor 455
+#define FN_CreateMeshActor 457
#define CREATEMESHACTOR_MESH num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_CreateMeshOctreeActor 456
+#define FN_CreateMeshOctreeActor 458
#define CREATEMESHOCTREEACTOR_MESH num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_CreateCubeActor 457
+#define FN_CreateCubeActor 459
#define CREATECUBEACTOR_CUBE_SIZE num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_CreateSphereActor 458
+#define FN_CreateSphereActor 460
#define CREATESPHEREACTOR_RADIUS num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_CreateWaterPlaneActor 459
+#define FN_CreateWaterPlaneActor 461
#define CREATEWATERPLANEACTOR_W num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CREATEWATERPLANEACTOR_H num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_CreateLightActor 460
-#define FN_CreateBillboardActor 461
-#define FN_CreateTerrainActor 462
+#define FN_CreateLightActor 462
+#define FN_CreateBillboardActor 463
+#define FN_CreateTerrainActor 464
#define CREATETERRAINACTOR_HMAP_FILE$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_DeleteActor 463
+#define FN_CreateParticleActor 465
+#define CREATEPARTICLEACTOR_PARTICLE_TYPE num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_DeleteActor 466
#define DELETEACTOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetActorTransform 464
+#define FN_GetActorTransform 467
#define GETACTORTRANSFORM_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORTRANSFORM_MATRIX num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_SetActorPosition 465
+#define FN_SetActorPosition 468
#define SETACTORPOSITION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORPOSITION_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORPOSITION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETACTORPOSITION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_TranslateActor 466
-#define TRANSLATEACTOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define TRANSLATEACTOR_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define TRANSLATEACTOR_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define TRANSLATEACTOR_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_TranslateActorWorld 467
+#define FN_TranslateActorLocal 469
+#define TRANSLATEACTORLOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define TRANSLATEACTORLOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define TRANSLATEACTORLOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define TRANSLATEACTORLOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
+#define FN_TranslateActorWorld 470
#define TRANSLATEACTORWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define TRANSLATEACTORWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define TRANSLATEACTORWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define TRANSLATEACTORWORLD_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_GetActorPosition 468
+#define FN_GetActorPosition 471
#define GETACTORPOSITION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORPOSITION_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORPOSITION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETACTORPOSITION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_SetActorScale 469
+#define FN_SetActorScale 472
#define SETACTORSCALE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORSCALE_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORSCALE_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETACTORSCALE_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_ScaleActor 470
+#define FN_ScaleActor 473
#define SCALEACTOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SCALEACTOR_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SCALEACTOR_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SCALEACTOR_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_GetActorScale 471
+#define FN_GetActorScale 474
#define GETACTORSCALE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORSCALE_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORSCALE_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETACTORSCALE_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_SetActorRotation 472
+#define FN_SetActorRotation 475
#define SETACTORROTATION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORROTATION_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORROTATION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETACTORROTATION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_RotateActor 473
+#define FN_RotateActor 476
#define ROTATEACTOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define ROTATEACTOR_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define ROTATEACTOR_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define ROTATEACTOR_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_GetActorRotation 474
+#define FN_GetActorRotation 477
#define GETACTORROTATION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORROTATION_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORROTATION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETACTORROTATION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_SetActorVisible 475
+#define FN_SetActorVisible 478
#define SETACTORVISIBLE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORVISIBLE_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_ActorIsVisible 476
+#define FN_ActorIsVisible 479
#define ACTORISVISIBLE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetActorAutoCulling 477
+#define FN_SetActorAutoCulling 480
#define SETACTORAUTOCULLING_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORAUTOCULLING_CULL_TYPE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetActorAutoCulling 478
+#define FN_GetActorAutoCulling 481
#define GETACTORAUTOCULLING_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_AddActorShadow 479
+#define FN_AddActorShadow 482
#define ADDACTORSHADOW_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_RemoveActorShadow 480
+#define FN_RemoveActorShadow 483
#define REMOVEACTORSHADOW_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetGravity3D 481
+#define FN_ActorExists 484
+#define ACTOREXISTS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_SetGravity3D 485
#define SETGRAVITY3D_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETGRAVITY3D_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETGRAVITY3D_Z num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_GetGravity3D 482
+#define FN_GetGravity3D 486
#define GETGRAVITY3D_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETGRAVITY3D_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETGRAVITY3D_Z num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_SetActorCollisionShape 483
+#define FN_SetActorCollisionShape 487
#define SETACTORCOLLISIONSHAPE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORCOLLISIONSHAPE_SHAPE_TYPE num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORCOLLISIONSHAPE_MASS num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_GetActorCollisionShape 484
+#define FN_GetActorCollisionShape 488
#define GETACTORCOLLISIONSHAPE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetActorSolid 485
+#define FN_SetActorSolid 489
#define SETACTORSOLID_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORSOLID_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_ActorIsSolid 486
+#define FN_ActorIsSolid 490
#define ACTORISSOLID_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetActorCollision 487
+#define FN_GetActorCollision 491
#define GETACTORCOLLISION_ACTOR1 num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORCOLLISION_ACTOR2 num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_SetActorGravity 488
+#define FN_SetActorGravity 492
#define SETACTORGRAVITY_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORGRAVITY_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORGRAVITY_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETACTORGRAVITY_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_GetActorGravity 489
+#define FN_GetActorGravity 493
#define GETACTORGRAVITY_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORGRAVITY_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORGRAVITY_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETACTORGRAVITY_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_setActorDamping 490
+#define FN_setActorDamping 494
#define SETACTORDAMPING_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORDAMPING_LIN_DAMPING num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORDAMPING_ANG_DAMPING num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_getActorLinearDamping 491
+#define FN_getActorLinearDamping 495
#define GETACTORLINEARDAMPING_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getActorAngularDamping 492
+#define FN_getActorAngularDamping 496
#define GETACTORANGULARDAMPING_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getActorLinearSleepThreshold 493
+#define FN_getActorLinearSleepThreshold 497
#define GETACTORLINEARSLEEPTHRESHOLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getActorAngularSleepThreshold 494
+#define FN_getActorAngularSleepThreshold 498
#define GETACTORANGULARSLEEPTHRESHOLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_applyActorDamping 495
+#define FN_applyActorDamping 499
#define APPLYACTORDAMPING_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define APPLYACTORDAMPING_TIMESTEP num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setActorMassProperties 496
+#define FN_setActorMassProperties 500
#define SETACTORMASSPROPERTIES_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORMASSPROPERTIES_MASS num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORMASSPROPERTIES_INERTIA_X num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETACTORMASSPROPERTIES_INERTIA_Y num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define SETACTORMASSPROPERTIES_INERTIA_Z num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define FN_getActorLinearFactor 497
+#define FN_getActorLinearFactor 501
#define GETACTORLINEARFACTOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORLINEARFACTOR_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORLINEARFACTOR_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETACTORLINEARFACTOR_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_setActorLinearFactor 498
+#define FN_setActorLinearFactor 502
#define SETACTORLINEARFACTOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORLINEARFACTOR_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORLINEARFACTOR_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETACTORLINEARFACTOR_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getActorInverseMass 499
+#define FN_getActorInverseMass 503
#define GETACTORINVERSEMASS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_integrateActorVelocities 500
+#define FN_integrateActorVelocities 504
#define INTEGRATEACTORVELOCITIES_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define INTEGRATEACTORVELOCITIES_V_STEP num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_applyActorCentralForceLocal 501
+#define FN_applyActorCentralForceLocal 505
#define APPLYACTORCENTRALFORCELOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define APPLYACTORCENTRALFORCELOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define APPLYACTORCENTRALFORCELOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define APPLYACTORCENTRALFORCELOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_applyActorCentralForceWorld 502
+#define FN_applyActorCentralForceWorld 506
#define APPLYACTORCENTRALFORCEWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define APPLYACTORCENTRALFORCEWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define APPLYACTORCENTRALFORCEWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define APPLYACTORCENTRALFORCEWORLD_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getActorTotalForce 503
+#define FN_getActorTotalForce 507
#define GETACTORTOTALFORCE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORTOTALFORCE_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORTOTALFORCE_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETACTORTOTALFORCE_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getActorTotalTorque 504
+#define FN_getActorTotalTorque 508
#define GETACTORTOTALTORQUE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORTOTALTORQUE_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORTOTALTORQUE_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETACTORTOTALTORQUE_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getActorInverseInertiaDiagLocal 505
+#define FN_getActorInverseInertiaDiagLocal 509
#define GETACTORINVERSEINERTIADIAGLOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORINVERSEINERTIADIAGLOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORINVERSEINERTIADIAGLOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETACTORINVERSEINERTIADIAGLOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_setActorInverseInertiaDiagLocal 506
+#define FN_setActorInverseInertiaDiagLocal 510
#define SETACTORINVERSEINERTIADIAGLOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORINVERSEINERTIADIAGLOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORINVERSEINERTIADIAGLOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETACTORINVERSEINERTIADIAGLOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_setActorSleepThresholds 507
+#define FN_setActorSleepThresholds 511
#define SETACTORSLEEPTHRESHOLDS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORSLEEPTHRESHOLDS_LINEAR num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORSLEEPTHRESHOLDS_ANGULAR num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_applyActorTorqueLocal 508
+#define FN_applyActorTorqueLocal 512
#define APPLYACTORTORQUELOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define APPLYACTORTORQUELOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define APPLYACTORTORQUELOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define APPLYACTORTORQUELOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_applyActorTorqueWorld 509
+#define FN_applyActorTorqueWorld 513
#define APPLYACTORTORQUEWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define APPLYACTORTORQUEWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define APPLYACTORTORQUEWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define APPLYACTORTORQUEWORLD_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_applyActorForceLocal 510
+#define FN_applyActorForceLocal 514
#define APPLYACTORFORCELOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define APPLYACTORFORCELOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define APPLYACTORFORCELOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -1496,7 +1514,7 @@
#define APPLYACTORFORCELOCAL_REL_X num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define APPLYACTORFORCELOCAL_REL_Y num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define APPLYACTORFORCELOCAL_REL_Z num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_applyActorForceWorld 511
+#define FN_applyActorForceWorld 515
#define APPLYACTORFORCEWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define APPLYACTORFORCEWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define APPLYACTORFORCEWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -1504,27 +1522,27 @@
#define APPLYACTORFORCEWORLD_REL_X num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define APPLYACTORFORCEWORLD_REL_Y num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define APPLYACTORFORCEWORLD_REL_Z num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_applyActorCentralImpulseLocal 512
+#define FN_applyActorCentralImpulseLocal 516
#define APPLYACTORCENTRALIMPULSELOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define APPLYACTORCENTRALIMPULSELOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define APPLYACTORCENTRALIMPULSELOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define APPLYACTORCENTRALIMPULSELOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_applyActorCentralImpulseWorld 513
+#define FN_applyActorCentralImpulseWorld 517
#define APPLYACTORCENTRALIMPULSEWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define APPLYACTORCENTRALIMPULSEWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define APPLYACTORCENTRALIMPULSEWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define APPLYACTORCENTRALIMPULSEWORLD_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_applyActorTorqueImpulseLocal 514
+#define FN_applyActorTorqueImpulseLocal 518
#define APPLYACTORTORQUEIMPULSELOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define APPLYACTORTORQUEIMPULSELOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define APPLYACTORTORQUEIMPULSELOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define APPLYACTORTORQUEIMPULSELOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_applyActorTorqueImpulseWorld 515
+#define FN_applyActorTorqueImpulseWorld 519
#define APPLYACTORTORQUEIMPULSEWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define APPLYACTORTORQUEIMPULSEWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define APPLYACTORTORQUEIMPULSEWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define APPLYACTORTORQUEIMPULSEWORLD_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_applyActorImpulseLocal 516
+#define FN_applyActorImpulseLocal 520
#define APPLYACTORIMPULSELOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define APPLYACTORIMPULSELOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define APPLYACTORIMPULSELOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -1532,7 +1550,7 @@
#define APPLYACTORIMPULSELOCAL_REL_X num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define APPLYACTORIMPULSELOCAL_REL_Y num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define APPLYACTORIMPULSELOCAL_REL_Z num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_applyActorImpulseWorld 517
+#define FN_applyActorImpulseWorld 521
#define APPLYACTORIMPULSEWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define APPLYACTORIMPULSEWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define APPLYACTORIMPULSEWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -1540,52 +1558,52 @@
#define APPLYACTORIMPULSEWORLD_REL_X num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define APPLYACTORIMPULSEWORLD_REL_Y num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define APPLYACTORIMPULSEWORLD_REL_Z num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_clearActorForces 518
+#define FN_clearActorForces 522
#define CLEARACTORFORCES_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_updateActorInertiaTensor 519
+#define FN_updateActorInertiaTensor 523
#define UPDATEACTORINERTIATENSOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getActorCOMPosition 520
+#define FN_getActorCOMPosition 524
#define GETACTORCOMPOSITION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORCOMPOSITION_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORCOMPOSITION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETACTORCOMPOSITION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getActorRotationQ 521
+#define FN_getActorRotationQ 525
#define GETACTORROTATIONQ_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORROTATIONQ_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORROTATIONQ_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETACTORROTATIONQ_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define GETACTORROTATIONQ_W num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define FN_getActorLinearVelocity 522
-#define GETACTORLINEARVELOCITY_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define GETACTORLINEARVELOCITY_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define GETACTORLINEARVELOCITY_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define GETACTORLINEARVELOCITY_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getActorAngularVelocity 523
-#define GETACTORANGULARVELOCITY_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define GETACTORANGULARVELOCITY_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define GETACTORANGULARVELOCITY_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define GETACTORANGULARVELOCITY_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_setActorLinearVelocityLocal 524
+#define FN_getActorLinearVelocityWorld 526
+#define GETACTORLINEARVELOCITYWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define GETACTORLINEARVELOCITYWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define GETACTORLINEARVELOCITYWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define GETACTORLINEARVELOCITYWORLD_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
+#define FN_getActorAngularVelocityWorld 527
+#define GETACTORANGULARVELOCITYWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define GETACTORANGULARVELOCITYWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define GETACTORANGULARVELOCITYWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define GETACTORANGULARVELOCITYWORLD_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
+#define FN_setActorLinearVelocityLocal 528
#define SETACTORLINEARVELOCITYLOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORLINEARVELOCITYLOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORLINEARVELOCITYLOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETACTORLINEARVELOCITYLOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_setActorLinearVelocityWorld 525
+#define FN_setActorLinearVelocityWorld 529
#define SETACTORLINEARVELOCITYWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORLINEARVELOCITYWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORLINEARVELOCITYWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETACTORLINEARVELOCITYWORLD_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_setActorAngularVelocityLocal 526
+#define FN_setActorAngularVelocityLocal 530
#define SETACTORANGULARVELOCITYLOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORANGULARVELOCITYLOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORANGULARVELOCITYLOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETACTORANGULARVELOCITYLOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_setActorAngularVelocityWorld 527
+#define FN_setActorAngularVelocityWorld 531
#define SETACTORANGULARVELOCITYWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORANGULARVELOCITYWORLD_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORANGULARVELOCITYWORLD_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETACTORANGULARVELOCITYWORLD_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getActorLocalPointVelocity 528
+#define FN_getActorLocalPointVelocity 532
#define GETACTORLOCALPOINTVELOCITY_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORLOCALPOINTVELOCITY_REL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORLOCALPOINTVELOCITY_REL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -1593,17 +1611,17 @@
#define GETACTORLOCALPOINTVELOCITY_X num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define GETACTORLOCALPOINTVELOCITY_Y num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define GETACTORLOCALPOINTVELOCITY_Z num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_getActorLinearVelocityLocal 529
+#define FN_getActorLinearVelocityLocal 533
#define GETACTORLINEARVELOCITYLOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORLINEARVELOCITYLOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORLINEARVELOCITYLOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETACTORLINEARVELOCITYLOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getActorAngularVelocityLocal 530
+#define FN_getActorAngularVelocityLocal 534
#define GETACTORANGULARVELOCITYLOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORANGULARVELOCITYLOCAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORANGULARVELOCITYLOCAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETACTORANGULARVELOCITYLOCAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getActorAABB 531
+#define FN_getActorAABB 535
#define GETACTORAABB_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORAABB_MIN_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORAABB_MIN_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -1611,7 +1629,7 @@
#define GETACTORAABB_MAX_X num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define GETACTORAABB_MAX_Y num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define GETACTORAABB_MAX_Z num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_computeActorImpulseDenominator 532
+#define FN_computeActorImpulseDenominator 536
#define COMPUTEACTORIMPULSEDENOMINATOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define COMPUTEACTORIMPULSEDENOMINATOR_POS_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define COMPUTEACTORIMPULSEDENOMINATOR_POS_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -1619,44 +1637,47 @@
#define COMPUTEACTORIMPULSEDENOMINATOR_NORMAL_X num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define COMPUTEACTORIMPULSEDENOMINATOR_NORMAL_Y num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define COMPUTEACTORIMPULSEDENOMINATOR_NORMAL_Z num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_computeActorAngularImpulseDenominator 533
+#define FN_computeActorAngularImpulseDenominator 537
#define COMPUTEACTORANGULARIMPULSEDENOMINATOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define COMPUTEACTORANGULARIMPULSEDENOMINATOR_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define COMPUTEACTORANGULARIMPULSEDENOMINATOR_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define COMPUTEACTORANGULARIMPULSEDENOMINATOR_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_setActorAngularFactor 534
+#define FN_setActorAngularFactor 538
#define SETACTORANGULARFACTOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORANGULARFACTOR_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORANGULARFACTOR_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETACTORANGULARFACTOR_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getActorAngularFactor 535
+#define FN_getActorAngularFactor 539
#define GETACTORANGULARFACTOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORANGULARFACTOR_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORANGULARFACTOR_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETACTORANGULARFACTOR_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_computeActorGyroImpulseLocal 536
+#define FN_computeActorGyroImpulseLocal 540
#define COMPUTEACTORGYROIMPULSELOCAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define COMPUTEACTORGYROIMPULSELOCAL_DT num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define COMPUTEACTORGYROIMPULSELOCAL_X num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define COMPUTEACTORGYROIMPULSELOCAL_Y num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define COMPUTEACTORGYROIMPULSELOCAL_Z num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define FN_computeActorGyroImpulseWorld 537
+#define FN_computeActorGyroImpulseWorld 541
#define COMPUTEACTORGYROIMPULSEWORLD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define COMPUTEACTORGYROIMPULSEWORLD_DT num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define COMPUTEACTORGYROIMPULSEWORLD_X num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define COMPUTEACTORGYROIMPULSEWORLD_Y num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define COMPUTEACTORGYROIMPULSEWORLD_Z num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define FN_getActorLocalInertia 538
+#define FN_getActorLocalInertia 542
#define GETACTORLOCALINERTIA_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORLOCALINERTIA_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORLOCALINERTIA_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETACTORLOCALINERTIA_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_createPointConstraint 539
+#define FN_SetActorSleepState 543
+#define SETACTORSLEEPSTATE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETACTORSLEEPSTATE_STATE num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_createPointConstraint 544
#define CREATEPOINTCONSTRAINT_ACTORA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CREATEPOINTCONSTRAINT_PXA num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define CREATEPOINTCONSTRAINT_PYA num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define CREATEPOINTCONSTRAINT_PZA num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_createPointConstraintEx 540
+#define FN_createPointConstraintEx 545
#define CREATEPOINTCONSTRAINTEX_ACTORA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CREATEPOINTCONSTRAINTEX_ACTORB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define CREATEPOINTCONSTRAINTEX_PXA num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -1665,60 +1686,47 @@
#define CREATEPOINTCONSTRAINTEX_PXB num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define CREATEPOINTCONSTRAINTEX_PYB num_var[6].nref[0].value[ num_var[6].byref_offset ]
#define CREATEPOINTCONSTRAINTEX_PZB num_var[7].nref[0].value[ num_var[7].byref_offset ]
-#define FN_setConstraintPivotA 541
-#define SETCONSTRAINTPIVOTA_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTPIVOTA_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define SETCONSTRAINTPIVOTA_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define SETCONSTRAINTPIVOTA_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_setConstraintPivotB 542
-#define SETCONSTRAINTPIVOTB_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTPIVOTB_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define SETCONSTRAINTPIVOTB_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define SETCONSTRAINTPIVOTB_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_createHingeConstraint 543
+#define FN_setPointPivotA 546
+#define SETPOINTPIVOTA_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETPOINTPIVOTA_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define SETPOINTPIVOTA_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define SETPOINTPIVOTA_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
+#define FN_setPointPivotB 547
+#define SETPOINTPIVOTB_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETPOINTPIVOTB_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define SETPOINTPIVOTB_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define SETPOINTPIVOTB_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
+#define FN_createHingeConstraint 548
#define CREATEHINGECONSTRAINT_ACTORA num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define CREATEHINGECONSTRAINT_PXA num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define CREATEHINGECONSTRAINT_PYA num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define CREATEHINGECONSTRAINT_PZA num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define CREATEHINGECONSTRAINT_AXA num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define CREATEHINGECONSTRAINT_AYA num_var[5].nref[0].value[ num_var[5].byref_offset ]
-#define CREATEHINGECONSTRAINT_AZA num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_createHingeConstraintEx 544
+#define CREATEHINGECONSTRAINT_FRAMEA num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define CREATEHINGECONSTRAINT_USEREFERENCEFRAMEA num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define FN_createHingeConstraintEx 549
#define CREATEHINGECONSTRAINTEX_ACTORA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CREATEHINGECONSTRAINTEX_ACTORB num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define CREATEHINGECONSTRAINTEX_PXA num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define CREATEHINGECONSTRAINTEX_PYA num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define CREATEHINGECONSTRAINTEX_PZA num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define CREATEHINGECONSTRAINTEX_PXB num_var[5].nref[0].value[ num_var[5].byref_offset ]
-#define CREATEHINGECONSTRAINTEX_PYB num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define CREATEHINGECONSTRAINTEX_PZB num_var[7].nref[0].value[ num_var[7].byref_offset ]
-#define CREATEHINGECONSTRAINTEX_AXA num_var[8].nref[0].value[ num_var[8].byref_offset ]
-#define CREATEHINGECONSTRAINTEX_AYA num_var[9].nref[0].value[ num_var[9].byref_offset ]
-#define CREATEHINGECONSTRAINTEX_AZA num_var[10].nref[0].value[ num_var[10].byref_offset ]
-#define CREATEHINGECONSTRAINTEX_AXB num_var[11].nref[0].value[ num_var[11].byref_offset ]
-#define CREATEHINGECONSTRAINTEX_AYB num_var[12].nref[0].value[ num_var[12].byref_offset ]
-#define CREATEHINGECONSTRAINTEX_AZB num_var[13].nref[0].value[ num_var[13].byref_offset ]
-#define FN_createSlideConstraint 545
+#define CREATEHINGECONSTRAINTEX_FRAMEA num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define CREATEHINGECONSTRAINTEX_FRAMEB num_var[3].nref[0].value[ num_var[3].byref_offset ]
+#define CREATEHINGECONSTRAINTEX_USEREFERENCEFRAMEA num_var[4].nref[0].value[ num_var[4].byref_offset ]
+#define FN_createSlideConstraint 550
#define CREATESLIDECONSTRAINT_ACTORA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CREATESLIDECONSTRAINT_FRAMEINB_MATRIX num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define CREATESLIDECONSTRAINT_USELINEARREFERENCEFRAMEA num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_createSlideConstraintEx 546
+#define FN_createSlideConstraintEx 551
#define CREATESLIDECONSTRAINTEX_ACTORA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CREATESLIDECONSTRAINTEX_ACTORB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define CREATESLIDECONSTRAINTEX_FRAMEINA_MATRIX num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define CREATESLIDECONSTRAINTEX_FRAMEINB_MATRIX num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define CREATESLIDECONSTRAINTEX_USELINEARREFERENCEFRAMEA num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define FN_createConeConstraint 547
+#define FN_createConeConstraint 552
#define CREATECONECONSTRAINT_ACTORA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CREATECONECONSTRAINT_RBAFRAME_MATRIX num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_createConeConstraintEx 548
+#define FN_createConeConstraintEx 553
#define CREATECONECONSTRAINTEX_ACTORA num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define CREATECONECONSTRAINTEX_ACTORB num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define CREATECONECONSTRAINTEX_RBAFRAME_MATRIX num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define CREATECONECONSTRAINTEX_RBBFRAME_MATRIX num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_deleteConstraint 549
+#define FN_deleteConstraint 554
#define DELETECONSTRAINT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintFrameOffsetA 550
+#define FN_getConstraintFrameOffsetA 555
#define GETCONSTRAINTFRAMEOFFSETA_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETCONSTRAINTFRAMEOFFSETA_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETCONSTRAINTFRAMEOFFSETA_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -1726,7 +1734,7 @@
#define GETCONSTRAINTFRAMEOFFSETA_RX num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define GETCONSTRAINTFRAMEOFFSETA_RY num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define GETCONSTRAINTFRAMEOFFSETA_RZ num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_getConstraintFrameOffsetB 551
+#define FN_getConstraintFrameOffsetB 556
#define GETCONSTRAINTFRAMEOFFSETB_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETCONSTRAINTFRAMEOFFSETB_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETCONSTRAINTFRAMEOFFSETB_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -1734,43 +1742,43 @@
#define GETCONSTRAINTFRAMEOFFSETB_RX num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define GETCONSTRAINTFRAMEOFFSETB_RY num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define GETCONSTRAINTFRAMEOFFSETB_RZ num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_useConstraintFrameOffset 552
+#define FN_useConstraintFrameOffset 557
#define USECONSTRAINTFRAMEOFFSET_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define USECONSTRAINTFRAMEOFFSET_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getHingeAngle 553
+#define FN_getHingeAngle 558
#define GETHINGEANGLE_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getHingeAngleEx 554
+#define FN_getHingeAngleEx 559
#define GETHINGEANGLEEX_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETHINGEANGLEEX_T_MATRIXA num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETHINGEANGLEEX_T_MATRIXB num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_getConstraintBreakingImpulseThreshold 555
+#define FN_getConstraintBreakingImpulseThreshold 560
#define GETCONSTRAINTBREAKINGIMPULSETHRESHOLD_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintAFrame 556
+#define FN_getConstraintAFrame 561
#define GETCONSTRAINTAFRAME_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETCONSTRAINTAFRAME_MA num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getConstraintBFrame 557
+#define FN_getConstraintBFrame 562
#define GETCONSTRAINTBFRAME_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETCONSTRAINTBFRAME_MA num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintAxis 558
-#define SETCONSTRAINTAXIS_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTAXIS_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define SETCONSTRAINTAXIS_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define SETCONSTRAINTAXIS_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_setConstraintBreakingImpulseThreshold 559
+#define FN_setHingeAxis 563
+#define SETHINGEAXIS_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETHINGEAXIS_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define SETHINGEAXIS_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define SETHINGEAXIS_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
+#define FN_setConstraintBreakingImpulseThreshold 564
#define SETCONSTRAINTBREAKINGIMPULSETHRESHOLD_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETCONSTRAINTBREAKINGIMPULSETHRESHOLD_THRESHOLD num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintFrames 560
+#define FN_setConstraintFrames 565
#define SETCONSTRAINTFRAMES_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETCONSTRAINTFRAMES_FRAMEA_MATRIX num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETCONSTRAINTFRAMES_FRAMEB_MATRIX num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_setHingeLimit 561
+#define FN_setHingeLimit 566
#define SETHINGELIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETHINGELIMIT_LOW num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETHINGELIMIT_HIGH num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETHINGELIMIT_SOFTNESS num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define SETHINGELIMIT_BIAS_FACTOR num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define SETHINGELIMIT_RELAXATION_FACTOR num_var[5].nref[0].value[ num_var[5].byref_offset ]
-#define FN_setConeLimit 562
+#define FN_setConeLimit 567
#define SETCONELIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETCONELIMIT_SWINGSPAN1 num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETCONELIMIT_SWINGSPAN2 num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -1778,382 +1786,380 @@
#define SETCONELIMIT_SOFTNESS num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define SETCONELIMIT_BIAS_FACTOR num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define SETCONELIMIT_RELAXATION_FACTOR num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_getConstraintLimitBiasFactor 563
-#define GETCONSTRAINTLIMITBIASFACTOR_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getLimitRelaxationFactor 564
-#define GETLIMITRELAXATIONFACTOR_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintLimitSign 565
-#define GETCONSTRAINTLIMITSIGN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getHingeSolveLimit 566
+#define FN_getHingeLimitBiasFactor 568
+#define GETHINGELIMITBIASFACTOR_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getHingeLimitRelaxationFactor 569
+#define GETHINGELIMITRELAXATIONFACTOR_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getHingeLimitSign 570
+#define GETHINGELIMITSIGN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getHingeSolveLimit 571
#define GETHINGESOLVELIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_useHingeReferenceFrameA 567
+#define FN_useHingeReferenceFrameA 572
#define USEHINGEREFERENCEFRAMEA_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define USEHINGEREFERENCEFRAMEA_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getConstraintAppliedImpulse 568
+#define FN_getConstraintAppliedImpulse 573
#define GETCONSTRAINTAPPLIEDIMPULSE_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintFixedActor 569
+#define FN_getConstraintFixedActor 574
#define GETCONSTRAINTFIXEDACTOR_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintPivotA 570
-#define GETCONSTRAINTPIVOTA_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define GETCONSTRAINTPIVOTA_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define GETCONSTRAINTPIVOTA_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define GETCONSTRAINTPIVOTA_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getConstraintPivotB 571
-#define GETCONSTRAINTPIVOTB_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define GETCONSTRAINTPIVOTB_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define GETCONSTRAINTPIVOTB_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define GETCONSTRAINTPIVOTB_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getConstraintActorA 572
+#define FN_getPointPivotA 575
+#define GETPOINTPIVOTA_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define GETPOINTPIVOTA_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define GETPOINTPIVOTA_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define GETPOINTPIVOTA_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
+#define FN_getPointPivotB 576
+#define GETPOINTPIVOTB_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define GETPOINTPIVOTB_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define GETPOINTPIVOTB_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define GETPOINTPIVOTB_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
+#define FN_getConstraintActorA 577
#define GETCONSTRAINTACTORA_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintActorB 573
+#define FN_getConstraintActorB 578
#define GETCONSTRAINTACTORB_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setConstraintSolverIterations 574
+#define FN_setConstraintSolverIterations 579
#define SETCONSTRAINTSOLVERITERATIONS_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETCONSTRAINTSOLVERITERATIONS_NUM num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getConstraintBiasFactor 575
-#define GETCONSTRAINTBIASFACTOR_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintDamping 576
-#define GETCONSTRAINTDAMPING_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintFixThresh 577
-#define GETCONSTRAINTFIXTHRESH_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintLimit 578
-#define GETCONSTRAINTLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define GETCONSTRAINTLIMIT_LIMIT_INDEX num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getConstraintLimitSoftness 579
+#define FN_getConeBiasFactor 580
+#define GETCONEBIASFACTOR_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getConeDamping 581
+#define GETCONEDAMPING_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getConeFixThresh 582
+#define GETCONEFIXTHRESH_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getConeLimit 583
+#define GETCONELIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define GETCONELIMIT_LIMIT_INDEX num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_getConstraintLimitSoftness 584
#define GETCONSTRAINTLIMITSOFTNESS_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintSolverIterations 580
+#define FN_getConstraintSolverIterations 585
#define GETCONSTRAINTSOLVERITERATIONS_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintAnglePoint 581
-#define GETCONSTRAINTANGLEPOINT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define GETCONSTRAINTANGLEPOINT_ANGLE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define GETCONSTRAINTANGLEPOINT_C_LEN num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define GETCONSTRAINTANGLEPOINT_X num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define GETCONSTRAINTANGLEPOINT_Y num_var[4].nref[0].value[ num_var[4].byref_offset ]
-#define GETCONSTRAINTANGLEPOINT_Z num_var[5].nref[0].value[ num_var[5].byref_offset ]
-#define FN_getConstraintAngularOnly 582
+#define FN_getConeAnglePoint 586
+#define GETCONEANGLEPOINT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define GETCONEANGLEPOINT_ANGLE num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define GETCONEANGLEPOINT_C_LEN num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define GETCONEANGLEPOINT_X num_var[3].nref[0].value[ num_var[3].byref_offset ]
+#define GETCONEANGLEPOINT_Y num_var[4].nref[0].value[ num_var[4].byref_offset ]
+#define GETCONEANGLEPOINT_Z num_var[5].nref[0].value[ num_var[5].byref_offset ]
+#define FN_getConstraintAngularOnly 587
#define GETCONSTRAINTANGULARONLY_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintSolveSwingLimit 583
-#define GETCONSTRAINTSOLVESWINGLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintSolveTwistLimit 584
-#define GETCONSTRAINTSOLVETWISTLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintSolveLimit 585
-#define GETCONSTRAINTSOLVELIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintSwingSpan1 586
-#define GETCONSTRAINTSWINGSPAN1_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintSwingSpan2 587
-#define GETCONSTRAINTSWINGSPAN2_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintTwistAngle 588
-#define GETCONSTRAINTTWISTANGLE_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintTwistLimitSign 589
-#define GETCONSTRAINTTWISTLIMITSIGN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintTwistSpan 590
-#define GETCONSTRAINTTWISTSPAN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setConstraintAngularOnly 591
+#define FN_getConeSolveSwingLimit 588
+#define GETCONESOLVESWINGLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getConeSolveTwistLimit 589
+#define GETCONESOLVETWISTLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getConeSwingSpan1 590
+#define GETCONESWINGSPAN1_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getConeSwingSpan2 591
+#define GETCONESWINGSPAN2_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getConeTwistAngle 592
+#define GETCONETWISTANGLE_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getConeTwistLimitSign 593
+#define GETCONETWISTLIMITSIGN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getConeTwistSpan 594
+#define GETCONETWISTSPAN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_setConstraintAngularOnly 595
#define SETCONSTRAINTANGULARONLY_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETCONSTRAINTANGULARONLY_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintDamping 592
-#define SETCONSTRAINTDAMPING_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTDAMPING_DAMPING num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintFixThresh 593
-#define SETCONSTRAINTFIXTHRESH_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTFIXTHRESH_FIXTHRESH num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getConstraintAnchorA 594
-#define GETCONSTRAINTANCHORA_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define GETCONSTRAINTANCHORA_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define GETCONSTRAINTANCHORA_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define GETCONSTRAINTANCHORA_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getConstraintAnchorB 595
-#define GETCONSTRAINTANCHORB_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define GETCONSTRAINTANCHORB_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define GETCONSTRAINTANCHORB_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define GETCONSTRAINTANCHORB_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getConstraintAngDepth 596
-#define GETCONSTRAINTANGDEPTH_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintAngularPos 597
-#define GETCONSTRAINTANGULARPOS_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintDampingDirAng 598
-#define GETCONSTRAINTDAMPINGDIRANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintDampingDirLin 599
-#define GETCONSTRAINTDAMPINGDIRLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintDampingLimAng 600
-#define GETCONSTRAINTDAMPINGLIMANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintDampingLimLin 601
-#define GETCONSTRAINTDAMPINGLIMLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintDampingOrthoAng 602
-#define GETCONSTRAINTDAMPINGORTHOANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintDampingOrthoLin 603
-#define GETCONSTRAINTDAMPINGORTHOLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintLinearPos 604
-#define GETCONSTRAINTLINEARPOS_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintLinDepth 605
-#define GETCONSTRAINTLINDEPTH_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintLowerAngLimit 606
-#define GETCONSTRAINTLOWERANGLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintLowerLinLimit 607
-#define GETCONSTRAINTLOWERLINLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintRestitutionDirAng 608
-#define GETCONSTRAINTRESTITUTIONDIRANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintRestitutionDirLin 609
-#define GETCONSTRAINTRESTITUTIONDIRLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintRestitutionLimAng 610
-#define GETCONSTRAINTRESTITUTIONLIMANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintRestitutionLimLin 611
-#define GETCONSTRAINTRESTITUTIONLIMLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintRestitutionOrthoAng 612
-#define GETCONSTRAINTRESTITUTIONORTHOANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintRestitutionOrthoLin 613
-#define GETCONSTRAINTRESTITUTIONORTHOLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintSoftnessDirAng 614
-#define GETCONSTRAINTSOFTNESSDIRANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintSoftnessDirLin 615
-#define GETCONSTRAINTSOFTNESSDIRLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintSoftnessLimAng 616
-#define GETCONSTRAINTSOFTNESSLIMANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintSoftnessLimLin 617
-#define GETCONSTRAINTSOFTNESSLIMLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintSoftnessOrthoAng 618
-#define GETCONSTRAINTSOFTNESSORTHOANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintSoftnessOrthoLin 619
-#define GETCONSTRAINTSOFTNESSORTHOLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintSolveAngLimit 620
-#define GETCONSTRAINTSOLVEANGLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintSolveLinLimit 621
-#define GETCONSTRAINTSOLVELINLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintUpperAngLimit 622
-#define GETCONSTRAINTUPPERANGLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintUpperLinLimit 623
-#define GETCONSTRAINTUPPERLINLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getConstraintUseFrameOffset 624
-#define GETCONSTRAINTUSEFRAMEOFFSET_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setConstraintDampingDirAng 625
-#define SETCONSTRAINTDAMPINGDIRANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTDAMPINGDIRANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintDampingDirLin 626
-#define SETCONSTRAINTDAMPINGDIRLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTDAMPINGDIRLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintDampingLimAng 627
-#define SETCONSTRAINTDAMPINGLIMANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTDAMPINGLIMANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintDampingLimLin 628
-#define SETCONSTRAINTDAMPINGLIMLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTDAMPINGLIMLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintDampingOrthoAng 629
-#define SETCONSTRAINTDAMPINGORTHOANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTDAMPINGORTHOANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintDampingOrthoLin 630
-#define SETCONSTRAINTDAMPINGORTHOLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTDAMPINGORTHOLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintLowerAngLimit 631
-#define SETCONSTRAINTLOWERANGLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTLOWERANGLIMIT_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintLowerLinLimit 632
-#define SETCONSTRAINTLOWERLINLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTLOWERLINLIMIT_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintRestitutionDirAng 633
-#define SETCONSTRAINTRESTITUTIONDIRANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTRESTITUTIONDIRANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintRestitutionDirLin 634
-#define SETCONSTRAINTRESTITUTIONDIRLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTRESTITUTIONDIRLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintRestitutionLimAng 635
-#define SETCONSTRAINTRESTITUTIONLIMANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTRESTITUTIONLIMANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintRestitutionLimLin 636
-#define SETCONSTRAINTRESTITUTIONLIMLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTRESTITUTIONLIMLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintRestitutionOrthoAng 637
-#define SETCONSTRAINTRESTITUTIONORTHOANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTRESTITUTIONORTHOANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintRestitutionOrthoLin 638
-#define SETCONSTRAINTRESTITUTIONORTHOLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTRESTITUTIONORTHOLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintSoftnessDirAng 639
-#define SETCONSTRAINTSOFTNESSDIRANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTSOFTNESSDIRANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintSoftnessDirLin 640
-#define SETCONSTRAINTSOFTNESSDIRLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTSOFTNESSDIRLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintSoftnessLimAng 641
-#define SETCONSTRAINTSOFTNESSLIMANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTSOFTNESSLIMANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintSoftnessLimLin 642
-#define SETCONSTRAINTSOFTNESSLIMLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTSOFTNESSLIMLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintSoftnessOrthoAng 643
-#define SETCONSTRAINTSOFTNESSORTHOANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTSOFTNESSORTHOANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintSoftnessOrthoLin 644
-#define SETCONSTRAINTSOFTNESSORTHOLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTSOFTNESSORTHOLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintUpperAngLimit 645
-#define SETCONSTRAINTUPPERANGLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTUPPERANGLIMIT_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setConstraintUpperLinLimit 646
-#define SETCONSTRAINTUPPERLINLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETCONSTRAINTUPPERLINLIMIT_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_SetCameraPosition 647
+#define FN_setConeDamping 596
+#define SETCONEDAMPING_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETCONEDAMPING_DAMPING num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setConeFixThresh 597
+#define SETCONEFIXTHRESH_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETCONEFIXTHRESH_FIXTHRESH num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_getSlideAnchorA 598
+#define GETSLIDEANCHORA_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define GETSLIDEANCHORA_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define GETSLIDEANCHORA_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define GETSLIDEANCHORA_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
+#define FN_getSlideAnchorB 599
+#define GETSLIDEANCHORB_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define GETSLIDEANCHORB_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define GETSLIDEANCHORB_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
+#define GETSLIDEANCHORB_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
+#define FN_getSlideAngDepth 600
+#define GETSLIDEANGDEPTH_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideAngularPos 601
+#define GETSLIDEANGULARPOS_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideDampingDirAng 602
+#define GETSLIDEDAMPINGDIRANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideDampingDirLin 603
+#define GETSLIDEDAMPINGDIRLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideDampingLimAng 604
+#define GETSLIDEDAMPINGLIMANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideDampingLimLin 605
+#define GETSLIDEDAMPINGLIMLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideDampingOrthoAng 606
+#define GETSLIDEDAMPINGORTHOANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideDampingOrthoLin 607
+#define GETSLIDEDAMPINGORTHOLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideLinearPos 608
+#define GETSLIDELINEARPOS_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideLinDepth 609
+#define GETSLIDELINDEPTH_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideLowerAngLimit 610
+#define GETSLIDELOWERANGLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideLowerLinLimit 611
+#define GETSLIDELOWERLINLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideRestitutionDirAng 612
+#define GETSLIDERESTITUTIONDIRANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideRestitutionDirLin 613
+#define GETSLIDERESTITUTIONDIRLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideRestitutionLimAng 614
+#define GETSLIDERESTITUTIONLIMANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideRestitutionLimLin 615
+#define GETSLIDERESTITUTIONLIMLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideRestitutionOrthoAng 616
+#define GETSLIDERESTITUTIONORTHOANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideRestitutionOrthoLin 617
+#define GETSLIDERESTITUTIONORTHOLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideSoftnessDirAng 618
+#define GETSLIDESOFTNESSDIRANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideSoftnessDirLin 619
+#define GETSLIDESOFTNESSDIRLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideSoftnessLimAng 620
+#define GETSLIDESOFTNESSLIMANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideSoftnessLimLin 621
+#define GETSLIDESOFTNESSLIMLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideSoftnessOrthoAng 622
+#define GETSLIDESOFTNESSORTHOANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideSoftnessOrthoLin 623
+#define GETSLIDESOFTNESSORTHOLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideSolveAngLimit 624
+#define GETSLIDESOLVEANGLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideSolveLinLimit 625
+#define GETSLIDESOLVELINLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideUpperAngLimit 626
+#define GETSLIDEUPPERANGLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideUpperLinLimit 627
+#define GETSLIDEUPPERLINLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_getSlideUseFrameOffset 628
+#define GETSLIDEUSEFRAMEOFFSET_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_setSlideDampingDirAng 629
+#define SETSLIDEDAMPINGDIRANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDEDAMPINGDIRANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideDampingDirLin 630
+#define SETSLIDEDAMPINGDIRLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDEDAMPINGDIRLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideDampingLimAng 631
+#define SETSLIDEDAMPINGLIMANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDEDAMPINGLIMANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideDampingLimLin 632
+#define SETSLIDEDAMPINGLIMLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDEDAMPINGLIMLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideDampingOrthoAng 633
+#define SETSLIDEDAMPINGORTHOANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDEDAMPINGORTHOANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideDampingOrthoLin 634
+#define SETSLIDEDAMPINGORTHOLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDEDAMPINGORTHOLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideLowerAngLimit 635
+#define SETSLIDELOWERANGLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDELOWERANGLIMIT_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideLowerLinLimit 636
+#define SETSLIDELOWERLINLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDELOWERLINLIMIT_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideRestitutionDirAng 637
+#define SETSLIDERESTITUTIONDIRANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDERESTITUTIONDIRANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideRestitutionDirLin 638
+#define SETSLIDERESTITUTIONDIRLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDERESTITUTIONDIRLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideRestitutionLimAng 639
+#define SETSLIDERESTITUTIONLIMANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDERESTITUTIONLIMANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideRestitutionLimLin 640
+#define SETSLIDERESTITUTIONLIMLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDERESTITUTIONLIMLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideRestitutionOrthoAng 641
+#define SETSLIDERESTITUTIONORTHOANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDERESTITUTIONORTHOANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideRestitutionOrthoLin 642
+#define SETSLIDERESTITUTIONORTHOLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDERESTITUTIONORTHOLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideSoftnessDirAng 643
+#define SETSLIDESOFTNESSDIRANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDESOFTNESSDIRANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideSoftnessDirLin 644
+#define SETSLIDESOFTNESSDIRLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDESOFTNESSDIRLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideSoftnessLimAng 645
+#define SETSLIDESOFTNESSLIMANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDESOFTNESSLIMANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideSoftnessLimLin 646
+#define SETSLIDESOFTNESSLIMLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDESOFTNESSLIMLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideSoftnessOrthoAng 647
+#define SETSLIDESOFTNESSORTHOANG_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDESOFTNESSORTHOANG_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideSoftnessOrthoLin 648
+#define SETSLIDESOFTNESSORTHOLIN_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDESOFTNESSORTHOLIN_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideUpperAngLimit 649
+#define SETSLIDEUPPERANGLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDEUPPERANGLIMIT_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_setSlideUpperLinLimit 650
+#define SETSLIDEUPPERLINLIMIT_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETSLIDEUPPERLINLIMIT_N num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_ConstraintExists 651
+#define CONSTRAINTEXISTS_CONSTRAINT_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_SetCameraPosition 652
#define SETCAMERAPOSITION_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETCAMERAPOSITION_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETCAMERAPOSITION_Z num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_GetCameraPosition 648
+#define FN_GetCameraPosition 653
#define GETCAMERAPOSITION_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETCAMERAPOSITION_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETCAMERAPOSITION_Z num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_TranslateCamera 649
+#define FN_TranslateCamera 654
#define TRANSLATECAMERA_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define TRANSLATECAMERA_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define TRANSLATECAMERA_Z num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_SetCameraRotation 650
+#define FN_SetCameraRotation 655
#define SETCAMERAROTATION_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETCAMERAROTATION_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETCAMERAROTATION_Z num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_GetCameraRotation 651
+#define FN_GetCameraRotation 656
#define GETCAMERAROTATION_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETCAMERAROTATION_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETCAMERAROTATION_Z num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_RotateCamera 652
+#define FN_RotateCamera 657
#define ROTATECAMERA_X num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define ROTATECAMERA_Y num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define ROTATECAMERA_Z num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_SetCameraFOV 653
+#define FN_SetCameraFOV 658
#define SETCAMERAFOV_FOV num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetCameraFOV 654
-#define FN_SetCameraAspectRatio 655
+#define FN_GetCameraFOV 659
+#define FN_SetCameraAspectRatio 660
#define SETCAMERAASPECTRATIO_ASPECT num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetCameraAspectRatio 656
-#define FN_SetCameraFarValue 657
+#define FN_GetCameraAspectRatio 661
+#define FN_SetCameraFarValue 662
#define SETCAMERAFARVALUE_ZF num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetCameraFarValue 658
-#define FN_SetCameraNearValue 659
+#define FN_GetCameraFarValue 663
+#define FN_SetCameraNearValue 664
#define SETCAMERANEARVALUE_ZN num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetCameraNearValue 660
-#define FN_AddSceneSkyBox 661
+#define FN_GetCameraNearValue 665
+#define FN_AddSceneSkyBox 666
#define ADDSCENESKYBOX_IMG_TOP num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define ADDSCENESKYBOX_IMG_BOTTOM num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define ADDSCENESKYBOX_IMG_LEFT num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define ADDSCENESKYBOX_IMG_RIGHT num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define ADDSCENESKYBOX_IMG_FRONT num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define ADDSCENESKYBOX_IMG_BACK num_var[5].nref[0].value[ num_var[5].byref_offset ]
-#define FN_AddSceneSkyDome 662
+#define FN_AddSceneSkyDome 667
#define ADDSCENESKYDOME_IMG num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_AddSceneSkyDomeEx 663
+#define FN_AddSceneSkyDomeEx 668
#define ADDSCENESKYDOMEEX_IMG num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define ADDSCENESKYDOMEEX_HORIRES num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define ADDSCENESKYDOMEEX_VERTRES num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define ADDSCENESKYDOMEEX_TXPERCENTAGE num_var[3].nref[0].value[ num_var[3].byref_offset ]
#define ADDSCENESKYDOMEEX_SPHEREPERCENTAGE num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define ADDSCENESKYDOMEEX_RADIUS num_var[5].nref[0].value[ num_var[5].byref_offset ]
-#define FN_RemoveSceneSky 664
-#define FN_SetWorld3DDeltaTime 665
-#define SETWORLD3DDELTATIME_DT num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetWorld3DMaxSubSteps 666
+#define FN_RemoveSceneSky 669
+#define FN_SetWorld3DMaxSubSteps 670
#define SETWORLD3DMAXSUBSTEPS_STEPS num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetWorld3DTimeStep 667
+#define FN_SetWorld3DTimeStep 671
#define SETWORLD3DTIMESTEP_TS num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_startParticleEmitter 668
+#define FN_startParticleEmitter 672
#define STARTPARTICLEEMITTER_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_stopParticleEmitter 669
+#define FN_stopParticleEmitter 673
#define STOPPARTICLEEMITTER_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleDirection 670
+#define FN_setParticleDirection 674
#define SETPARTICLEDIRECTION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEDIRECTION_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETPARTICLEDIRECTION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETPARTICLEDIRECTION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getParticleDirection 671
+#define FN_getParticleDirection 675
#define GETPARTICLEDIRECTION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETPARTICLEDIRECTION_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETPARTICLEDIRECTION_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETPARTICLEDIRECTION_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_useParticleEveryMeshVertex 672
+#define FN_useParticleEveryMeshVertex 676
#define USEPARTICLEEVERYMESHVERTEX_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define USEPARTICLEEVERYMESHVERTEX_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_particleIsUsingEveryMeshVertex 673
+#define FN_particleIsUsingEveryMeshVertex 677
#define PARTICLEISUSINGEVERYMESHVERTEX_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleNormalDirectionMod 674
+#define FN_setParticleNormalDirectionMod 678
#define SETPARTICLENORMALDIRECTIONMOD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLENORMALDIRECTIONMOD_ND_MOD num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleNormalDirectionMod 675
+#define FN_getParticleNormalDirectionMod 679
#define GETPARTICLENORMALDIRECTIONMOD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_useParticleNormalDirection 676
+#define FN_useParticleNormalDirection 680
#define USEPARTICLENORMALDIRECTION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define USEPARTICLENORMALDIRECTION_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_particleIsUsingNormalDirection 677
+#define FN_particleIsUsingNormalDirection 681
#define PARTICLEISUSINGNORMALDIRECTION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleMesh 678
+#define FN_setParticleMesh 682
#define SETPARTICLEMESH_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEMESH_MESH num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setParticleMinParticlesPerSecond 679
-#define SETPARTICLEMINPARTICLESPERSECOND_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETPARTICLEMINPARTICLESPERSECOND_MINPARTICLESPERSECOND num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleMinParticlesPerSecond 680
-#define GETPARTICLEMINPARTICLESPERSECOND_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleMaxParticlesPerSecond 681
-#define SETPARTICLEMAXPARTICLESPERSECOND_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define SETPARTICLEMAXPARTICLESPERSECOND_MAXPARTICLESPERSECOND num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleMaxParticlesPerSecond 682
-#define GETPARTICLEMAXPARTICLESPERSECOND_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleMinStartColor 683
+#define FN_setMinParticlesPerSecond 683
+#define SETMINPARTICLESPERSECOND_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETMINPARTICLESPERSECOND_MINPARTICLESPERSECOND num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_getMinParticlesPerSecond 684
+#define GETMINPARTICLESPERSECOND_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_setMaxParticlesPerSecond 685
+#define SETMAXPARTICLESPERSECOND_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define SETMAXPARTICLESPERSECOND_MAXPARTICLESPERSECOND num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_getMaxParticlesPerSecond 686
+#define GETMAXPARTICLESPERSECOND_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_setParticleMinStartColor 687
#define SETPARTICLEMINSTARTCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEMINSTARTCOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleMinStartColor 684
+#define FN_getParticleMinStartColor 688
#define GETPARTICLEMINSTARTCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleMaxStartColor 685
+#define FN_setParticleMaxStartColor 689
#define SETPARTICLEMAXSTARTCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEMAXSTARTCOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleMaxStartColor 686
+#define FN_getParticleMaxStartColor 690
#define GETPARTICLEMAXSTARTCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleMinLife 687
+#define FN_setParticleMinLife 691
#define SETPARTICLEMINLIFE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEMINLIFE_MINLIFE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleMinLife 688
+#define FN_getParticleMinLife 692
#define GETPARTICLEMINLIFE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleMaxLife 689
+#define FN_setParticleMaxLife 693
#define SETPARTICLEMAXLIFE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEMAXLIFE_MAXLIFE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleMaxLife 690
+#define FN_getParticleMaxLife 694
#define GETPARTICLEMAXLIFE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleMaxAngle 691
+#define FN_setParticleMaxAngle 695
#define SETPARTICLEMAXANGLE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEMAXANGLE_MAXANGLE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleMaxAngle 692
+#define FN_getParticleMaxAngle 696
#define GETPARTICLEMAXANGLE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleMinStartSize 693
+#define FN_setParticleMinStartSize 697
#define SETPARTICLEMINSTARTSIZE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEMINSTARTSIZE_W num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETPARTICLEMINSTARTSIZE_H num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_getParticleMinStartSize 694
+#define FN_getParticleMinStartSize 698
#define GETPARTICLEMINSTARTSIZE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETPARTICLEMINSTARTSIZE_W num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETPARTICLEMINSTARTSIZE_H num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_setParticleMaxStartSize 695
+#define FN_setParticleMaxStartSize 699
#define SETPARTICLEMAXSTARTSIZE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEMAXSTARTSIZE_W num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETPARTICLEMAXSTARTSIZE_H num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_getParticleMaxStartSize 696
+#define FN_getParticleMaxStartSize 700
#define GETPARTICLEMAXSTARTSIZE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETPARTICLEMAXSTARTSIZE_W num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETPARTICLEMAXSTARTSIZE_H num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_setParticleCenter 697
+#define FN_setParticleCenter 701
#define SETPARTICLECENTER_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLECENTER_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETPARTICLECENTER_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETPARTICLECENTER_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getParticleCenter 698
+#define FN_getParticleCenter 702
#define GETPARTICLECENTER_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETPARTICLECENTER_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETPARTICLECENTER_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETPARTICLECENTER_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_setParticleRadius 699
+#define FN_setParticleRadius 703
#define SETPARTICLERADIUS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLERADIUS_RADIUS num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleRadius 700
+#define FN_getParticleRadius 704
#define GETPARTICLERADIUS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleRingThickness 701
+#define FN_setParticleRingThickness 705
#define SETPARTICLERINGTHICKNESS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLERINGTHICKNESS_RINGTHICKNESS num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleRingThickness 702
+#define FN_getParticleRingThickness 706
#define GETPARTICLERINGTHICKNESS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setParticleBox 703
+#define FN_setParticleBox 707
#define SETPARTICLEBOX_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLEBOX_MIN_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETPARTICLEBOX_MIN_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -2161,7 +2167,7 @@
#define SETPARTICLEBOX_MAX_X num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define SETPARTICLEBOX_MAX_Y num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define SETPARTICLEBOX_MAX_Z num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_getParticleBox 704
+#define FN_getParticleBox 708
#define GETPARTICLEBOX_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETPARTICLEBOX_MIN_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETPARTICLEBOX_MIN_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -2169,82 +2175,84 @@
#define GETPARTICLEBOX_MAX_X num_var[4].nref[0].value[ num_var[4].byref_offset ]
#define GETPARTICLEBOX_MAX_Y num_var[5].nref[0].value[ num_var[5].byref_offset ]
#define GETPARTICLEBOX_MAX_Z num_var[6].nref[0].value[ num_var[6].byref_offset ]
-#define FN_setParticleNormal 705
+#define FN_setParticleNormal 709
#define SETPARTICLENORMAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLENORMAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETPARTICLENORMAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETPARTICLENORMAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_getParticleNormal 706
+#define FN_getParticleNormal 710
#define GETPARTICLENORMAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETPARTICLENORMAL_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETPARTICLENORMAL_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETPARTICLENORMAL_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_setParticleLength 707
+#define FN_setParticleLength 711
#define SETPARTICLELENGTH_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETPARTICLELENGTH_P_LEN num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getParticleLength 708
+#define FN_getParticleLength 712
#define GETPARTICLELENGTH_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_useParticleOutlineOnly 709
+#define FN_useParticleOutlineOnly 713
#define USEPARTICLEOUTLINEONLY_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define USEPARTICLEOUTLINEONLY_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_particleIsUsingOutlineOnly 710
+#define FN_particleIsUsingOutlineOnly 714
#define PARTICLEISUSINGOUTLINEONLY_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_lightIsCastingShadow 711
+#define FN_getParticleType 715
+#define GETPARTICLETYPE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
+#define FN_lightIsCastingShadow 716
#define LIGHTISCASTINGSHADOW_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getLightType 712
+#define FN_getLightType 717
#define GETLIGHTTYPE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_getLightRadius 713
+#define FN_getLightRadius 718
#define GETLIGHTRADIUS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setLightType 714
+#define FN_setLightType 719
#define SETLIGHTTYPE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTTYPE_LIGHT_TYPE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setLightRadius 715
+#define FN_setLightRadius 720
#define SETLIGHTRADIUS_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTRADIUS_RADIUS num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setLightShadowCast 716
+#define FN_setLightShadowCast 721
#define SETLIGHTSHADOWCAST_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTSHADOWCAST_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_SetLightAmbientColor 717
+#define FN_SetLightAmbientColor 722
#define SETLIGHTAMBIENTCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTAMBIENTCOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetLightAmbientColor 718
+#define FN_GetLightAmbientColor 723
#define GETLIGHTAMBIENTCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetLightAttenuation 719
+#define FN_SetLightAttenuation 724
#define SETLIGHTATTENUATION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTATTENUATION_L_CONSTANT num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETLIGHTATTENUATION_L_LINEAR num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETLIGHTATTENUATION_L_QUADRATIC num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_GetLightAttenuation 720
+#define FN_GetLightAttenuation 725
#define GETLIGHTATTENUATION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETLIGHTATTENUATION_CONSTANT num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETLIGHTATTENUATION_LINEAR num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETLIGHTATTENUATION_QUADRATIC num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_SetLightDiffuseColor 721
+#define FN_SetLightDiffuseColor 726
#define SETLIGHTDIFFUSECOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTDIFFUSECOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetLightDiffuseColor 722
+#define FN_GetLightDiffuseColor 727
#define GETLIGHTDIFFUSECOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetLightFalloff 723
+#define FN_SetLightFalloff 728
#define SETLIGHTFALLOFF_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTFALLOFF_FALLOFF num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetLightFalloff 724
+#define FN_GetLightFalloff 729
#define GETLIGHTFALLOFF_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetLightInnerCone 725
+#define FN_SetLightInnerCone 730
#define SETLIGHTINNERCONE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTINNERCONE_ANGLE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetLightInnerCone 726
+#define FN_GetLightInnerCone 731
#define GETLIGHTINNERCONE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetLightOuterCone 727
+#define FN_SetLightOuterCone 732
#define SETLIGHTOUTERCONE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTOUTERCONE_ANGLE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetLightOuterCone 728
+#define FN_GetLightOuterCone 733
#define GETLIGHTOUTERCONE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetLightSpecularColor 729
+#define FN_SetLightSpecularColor 734
#define SETLIGHTSPECULARCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETLIGHTSPECULARCOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_GetLightSpecularColor 730
+#define FN_GetLightSpecularColor 735
#define GETLIGHTSPECULARCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetTerrainPatchAABB 731
+#define FN_GetTerrainPatchAABB 736
#define GETTERRAINPATCHAABB_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETTERRAINPATCHAABB_PATCHX num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETTERRAINPATCHAABB_PATCHZ num_var[2].nref[0].value[ num_var[2].byref_offset ]
@@ -2254,259 +2262,261 @@
#define GETTERRAINPATCHAABB_MAXX num_var[6].nref[0].value[ num_var[6].byref_offset ]
#define GETTERRAINPATCHAABB_MAXY num_var[7].nref[0].value[ num_var[7].byref_offset ]
#define GETTERRAINPATCHAABB_MAXZ num_var[8].nref[0].value[ num_var[8].byref_offset ]
-#define FN_GetTerrainPatchLOD 732
+#define FN_GetTerrainPatchLOD 737
#define GETTERRAINPATCHLOD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETTERRAINPATCHLOD_PATCHX num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETTERRAINPATCHLOD_PATCHZ num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_GetTerrainHeight 733
+#define FN_GetTerrainHeight 738
#define GETTERRAINHEIGHT_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETTERRAINHEIGHT_PATCHX num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETTERRAINHEIGHT_PATCHZ num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_GetTerrainCenter 734
+#define FN_GetTerrainCenter 739
#define GETTERRAINCENTER_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETTERRAINCENTER_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETTERRAINCENTER_Y num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define GETTERRAINCENTER_Z num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_SetTerrainLODDistance 735
+#define FN_SetTerrainLODDistance 740
#define SETTERRAINLODDISTANCE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETTERRAINLODDISTANCE_LOD num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETTERRAINLODDISTANCE_DISTANCE num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_ScaleTerrainTexture 736
+#define FN_ScaleTerrainTexture 741
#define SCALETERRAINTEXTURE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SCALETERRAINTEXTURE_SCALE num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SCALETERRAINTEXTURE_SCALE2 num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_SetTerrainCameraMovementDelta 737
+#define FN_SetTerrainCameraMovementDelta 742
#define SETTERRAINCAMERAMOVEMENTDELTA_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETTERRAINCAMERAMOVEMENTDELTA_DELTA num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_SetTerrainCameraRotationDelta 738
+#define FN_SetTerrainCameraRotationDelta 743
#define SETTERRAINCAMERAROTATIONDELTA_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETTERRAINCAMERAROTATIONDELTA_DELTA num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_SetTerrainPatchLOD 739
+#define FN_SetTerrainPatchLOD 744
#define SETTERRAINPATCHLOD_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETTERRAINPATCHLOD_PATCHX num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETTERRAINPATCHLOD_PATCHZ num_var[2].nref[0].value[ num_var[2].byref_offset ]
#define SETTERRAINPATCHLOD_LOD num_var[3].nref[0].value[ num_var[3].byref_offset ]
-#define FN_setWaterWindForce 740
+#define FN_setWaterWindForce 745
#define SETWATERWINDFORCE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETWATERWINDFORCE_F num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getWaterWindForce 741
+#define FN_getWaterWindForce 746
#define GETWATERWINDFORCE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setWaterWaveHeight 742
+#define FN_setWaterWaveHeight 747
#define SETWATERWAVEHEIGHT_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETWATERWAVEHEIGHT_H num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getWaterWaveHeight 743
+#define FN_getWaterWaveHeight 748
#define GETWATERWAVEHEIGHT_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setWaterWindDirection 744
+#define FN_setWaterWindDirection 749
#define SETWATERWINDDIRECTION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETWATERWINDDIRECTION_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETWATERWINDDIRECTION_Z num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_getWaterWindDirection 745
+#define FN_getWaterWindDirection 750
#define GETWATERWINDDIRECTION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETWATERWINDDIRECTION_X num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETWATERWINDDIRECTION_Z num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_setWaterColor 746
+#define FN_setWaterColor 751
#define SETWATERCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETWATERCOLOR_C num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getWaterColor 747
+#define FN_getWaterColor 752
#define GETWATERCOLOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setWaterColorBlendFactor 748
+#define FN_setWaterColorBlendFactor 753
#define SETWATERCOLORBLENDFACTOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETWATERCOLORBLENDFACTOR_CBFACTOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getWaterColorBlendFactor 749
+#define FN_getWaterColorBlendFactor 754
#define GETWATERCOLORBLENDFACTOR_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_SetActorAnimation 750
+#define FN_SetActorAnimation 755
#define SETACTORANIMATION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORANIMATION_START_FRAME num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORANIMATION_END_FRAME num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_SetActorAnimationSpeed 751
+#define FN_SetActorAnimationSpeed 756
#define SETACTORANIMATIONSPEED_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORANIMATIONSPEED_SPEED num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_SetActorFrame 752
+#define FN_SetActorFrame 757
#define SETACTORFRAME_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORFRAME_FRAME num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_SetActorMD2Animation 753
+#define FN_SetActorMD2Animation 758
#define SETACTORMD2ANIMATION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORMD2ANIMATION_ANIM num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_SetActorMD2AnimationByName 754
+#define FN_SetActorMD2AnimationByName 759
#define SETACTORMD2ANIMATIONBYNAME_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORMD2ANIMATIONBYNAME_ANIM_NAME$ str_var[0].sref[0].value[ str_var[0].byref_offset ]
-#define FN_GetActorAnimationSpeed 755
+#define FN_GetActorAnimationSpeed 760
#define GETACTORANIMATIONSPEED_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetActorEndFrame 756
+#define FN_GetActorEndFrame 761
#define GETACTORENDFRAME_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetActorCurrentFrame 757
+#define FN_GetActorCurrentFrame 762
#define GETACTORCURRENTFRAME_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetActorStartFrame 758
+#define FN_GetActorStartFrame 763
#define GETACTORSTARTFRAME_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_StartActorTransition 759
+#define FN_StartActorTransition 764
#define STARTACTORTRANSITION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define STARTACTORTRANSITION_FRAME num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define STARTACTORTRANSITION_TRANSITION_TIME num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_StopActorTransition 760
+#define FN_StopActorTransition 765
#define STOPACTORTRANSITION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_ActorIsInTransition 761
+#define FN_ActorIsInTransition 766
#define ACTORISINTRANSITION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_GetActorTransitionTime 762
+#define FN_GetActorTransitionTime 767
#define GETACTORTRANSITIONTIME_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_actorAnimationIsLooped 763
+#define FN_actorAnimationIsLooped 768
#define ACTORANIMATIONISLOOPED_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_loopActorAnimation 764
+#define FN_loopActorAnimation 769
#define LOOPACTORANIMATION_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define LOOPACTORANIMATION_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_createMaterial 765
-#define FN_deleteMaterial 766
+#define FN_createMaterial 770
+#define FN_deleteMaterial 771
#define DELETEMATERIAL_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setActorMaterial 767
+#define FN_setActorMaterial 772
#define SETACTORMATERIAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORMATERIAL_MATERIAL_NUM num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORMATERIAL_MATERIAL_ID num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_getActorMaterial 768
+#define FN_getActorMaterial 773
#define GETACTORMATERIAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORMATERIAL_MATERIAL_NUM num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_copyActorMaterial 769
+#define FN_copyActorMaterial 774
#define COPYACTORMATERIAL_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define COPYACTORMATERIAL_MATERIAL_NUM num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_copyMaterial 770
+#define FN_copyMaterial 775
#define COPYMATERIAL_SMATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialTextureCanvas 771
+#define FN_setMaterialTextureCanvas 776
#define SETMATERIALTEXTURECANVAS_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALTEXTURECANVAS_LEVEL num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETMATERIALTEXTURECANVAS_CANVAS_ID num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_setMaterialAmbientColor 772
+#define FN_setMaterialAmbientColor 777
#define SETMATERIALAMBIENTCOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALAMBIENTCOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialAmbientColor 773
+#define FN_getMaterialAmbientColor 778
#define GETMATERIALAMBIENTCOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialAntiAliasing 774
+#define FN_setMaterialAntiAliasing 779
#define SETMATERIALANTIALIASING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALANTIALIASING_AA num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialAntiAliasing 775
+#define FN_getMaterialAntiAliasing 780
#define GETMATERIALANTIALIASING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialBackfaceCulling 776
+#define FN_setMaterialBackfaceCulling 781
#define SETMATERIALBACKFACECULLING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALBACKFACECULLING_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialBackfaceCulling 777
+#define FN_getMaterialBackfaceCulling 782
#define GETMATERIALBACKFACECULLING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialBlendFactor 778
+#define FN_setMaterialBlendFactor 783
#define SETMATERIALBLENDFACTOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALBLENDFACTOR_BF num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialBlendFactor 779
+#define FN_getMaterialBlendFactor 784
#define GETMATERIALBLENDFACTOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialBlendMode 780
+#define FN_setMaterialBlendMode 785
#define SETMATERIALBLENDMODE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALBLENDMODE_BLEND_MODE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialBlendMode 781
+#define FN_getMaterialBlendMode 786
#define GETMATERIALBLENDMODE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialColorMask 782
+#define FN_setMaterialColorMask 787
#define SETMATERIALCOLORMASK_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALCOLORMASK_COLOR_MASK num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialColorMask 783
+#define FN_getMaterialColorMask 788
#define GETMATERIALCOLORMASK_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialColorMode 784
+#define FN_setMaterialColorMode 789
#define SETMATERIALCOLORMODE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALCOLORMODE_COLOR_MODE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialColorMode 785
+#define FN_getMaterialColorMode 790
#define GETMATERIALCOLORMODE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialDiffuseColor 786
+#define FN_setMaterialDiffuseColor 791
#define SETMATERIALDIFFUSECOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALDIFFUSECOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialDiffuseColor 787
+#define FN_getMaterialDiffuseColor 792
#define GETMATERIALDIFFUSECOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialEmissiveColor 788
+#define FN_setMaterialEmissiveColor 793
#define SETMATERIALEMISSIVECOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALEMISSIVECOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialEmissiveColor 789
+#define FN_getMaterialEmissiveColor 794
#define GETMATERIALEMISSIVECOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialFog 790
+#define FN_setMaterialFog 795
#define SETMATERIALFOG_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALFOG_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialFog 791
+#define FN_getMaterialFog 796
#define GETMATERIALFOG_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialFrontfaceCulling 792
+#define FN_setMaterialFrontfaceCulling 797
#define SETMATERIALFRONTFACECULLING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALFRONTFACECULLING_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialFrontfaceCulling 793
+#define FN_getMaterialFrontfaceCulling 798
#define GETMATERIALFRONTFACECULLING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialGouraudShading 794
+#define FN_setMaterialGouraudShading 799
#define SETMATERIALGOURAUDSHADING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALGOURAUDSHADING_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_materialIsGouraudShaded 795
+#define FN_materialIsGouraudShaded 800
#define MATERIALISGOURAUDSHADED_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_materialIsAplhaBlend 796
+#define FN_materialIsAplhaBlend 801
#define MATERIALISAPLHABLEND_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_materialIsTransparent 797
+#define FN_materialIsTransparent 802
#define MATERIALISTRANSPARENT_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialLighting 798
+#define FN_setMaterialLighting 803
#define SETMATERIALLIGHTING_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALLIGHTING_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_materialIsLit 799
+#define FN_materialIsLit 804
#define MATERIALISLIT_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialType 800
+#define FN_setMaterialType 805
#define SETMATERIALTYPE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALTYPE_MAT_TYPE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialType 801
+#define FN_getMaterialType 806
#define GETMATERIALTYPE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialNormalize 802
+#define FN_setMaterialNormalize 807
#define SETMATERIALNORMALIZE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALNORMALIZE_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_materialIsNormalized 803
+#define FN_materialIsNormalized 808
#define MATERIALISNORMALIZED_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialPointCloud 804
+#define FN_setMaterialPointCloud 809
#define SETMATERIALPOINTCLOUD_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALPOINTCLOUD_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_materialIsPointCloud 805
+#define FN_materialIsPointCloud 810
#define MATERIALISPOINTCLOUD_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialFlag 806
+#define FN_setMaterialFlag 811
#define SETMATERIALFLAG_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALFLAG_MATERIAL_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETMATERIALFLAG_F_VALUE num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_getMaterialFlag 807
+#define FN_getMaterialFlag 812
#define GETMATERIALFLAG_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETMATERIALFLAG_MATERIAL_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_setMaterialTexture 808
+#define FN_setMaterialTexture 813
#define SETMATERIALTEXTURE_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALTEXTURE_LEVEL num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETMATERIALTEXTURE_IMG_ID num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_setMaterialShininess 809
+#define FN_setMaterialShininess 814
#define SETMATERIALSHININESS_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALSHININESS_SHININESS num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialShininess 810
+#define FN_getMaterialShininess 815
#define GETMATERIALSHININESS_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialSpecularColor 811
+#define FN_setMaterialSpecularColor 816
#define SETMATERIALSPECULARCOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALSPECULARCOLOR_COLOR num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialSpecularColor 812
+#define FN_getMaterialSpecularColor 817
#define GETMATERIALSPECULARCOLOR_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialThickness 813
+#define FN_setMaterialThickness 818
#define SETMATERIALTHICKNESS_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALTHICKNESS_THICKNESS num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getMaterialThickness 814
+#define FN_getMaterialThickness 819
#define GETMATERIALTHICKNESS_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setMaterialWireframe 815
+#define FN_setMaterialWireframe 820
#define SETMATERIALWIREFRAME_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETMATERIALWIREFRAME_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_materialIsWireframe 816
+#define FN_materialIsWireframe 821
#define MATERIALISWIREFRAME_MATERIAL_ID num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setActorTexture 817
+#define FN_setActorTexture 822
#define SETACTORTEXTURE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORTEXTURE_LAYER num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORTEXTURE_IMAGE_ID num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_getActorMaterialCount 818
+#define FN_getActorMaterialCount 823
#define GETACTORMATERIALCOUNT_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
-#define FN_setActorMaterialFlag 819
+#define FN_setActorMaterialFlag 824
#define SETACTORMATERIALFLAG_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORMATERIALFLAG_FLAG num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define SETACTORMATERIALFLAG_FLAG_VALUE num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_getActorMaterialFlag 820
+#define FN_getActorMaterialFlag 825
#define GETACTORMATERIALFLAG_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORMATERIALFLAG_MATERIAL num_var[1].nref[0].value[ num_var[1].byref_offset ]
#define GETACTORMATERIALFLAG_FLAG num_var[2].nref[0].value[ num_var[2].byref_offset ]
-#define FN_setActorMaterialType 821
+#define FN_setActorMaterialType 826
#define SETACTORMATERIALTYPE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define SETACTORMATERIALTYPE_MATERIAL_TYPE num_var[1].nref[0].value[ num_var[1].byref_offset ]
-#define FN_getActorMaterialType 822
+#define FN_getActorMaterialType 827
#define GETACTORMATERIALTYPE_ACTOR num_var[0].nref[0].value[ num_var[0].byref_offset ]
#define GETACTORMATERIALTYPE_MATERIAL num_var[1].nref[0].value[ num_var[1].byref_offset ]
+#define FN_MaterialExists 828
+#define MATERIALEXISTS_MATERIAL num_var[0].nref[0].value[ num_var[0].byref_offset ]
#endif // RC_DEFINES_H_INCLUDED
diff --git a/rcbasic_runtime/rc_func130_cases.h b/rcbasic_runtime/rc_func130_cases.h
index 8b73511..32f7772 100644
--- a/rcbasic_runtime/rc_func130_cases.h
+++ b/rcbasic_runtime/rc_func130_cases.h
@@ -5,7 +5,7 @@ case FN_Input$: //String Function
rc_push_str(rc_input( INPUT$_PROMPT$ ));
break;
case FN_tst: //Sub Procedure
- rc_tst( &TST_X );
+ rc_tst( );
break;
case FN_ArrayDim: //Number Function
//DUMMY CASE
@@ -556,8 +556,8 @@ case FN_OpenCanvas: //Number Function
case FN_CloseCanvas: //Sub Procedure
rc_canvasClose( CLOSECANVAS_C_NUM );
break;
-case FN_SetCanvas3D: //Sub Procedure
- rc_setCanvas3D( SETCANVAS3D_C_NUM, SETCANVAS3D_FLAG );
+case FN_OpenCanvas3D: //Number Function
+ rc_push_num(rc_canvasOpen3D( OPENCANVAS3D_W, OPENCANVAS3D_H, OPENCANVAS3D_VIEWPORT_X, OPENCANVAS3D_VIEWPORT_Y, OPENCANVAS3D_VIEWPORT_W, OPENCANVAS3D_VIEWPORT_H, OPENCANVAS3D_MODE ));
break;
case FN_SetCanvasVisible: //Sub Procedure
rc_setCanvasVisible( SETCANVASVISIBLE_C_NUM, SETCANVASVISIBLE_FLAG );
@@ -598,8 +598,8 @@ case FN_SetCanvasColorMod: //Sub Procedure
case FN_GetCanvasColorMod: //Number Function
rc_push_num(rc_getCanvasColorMod( GETCANVASCOLORMOD_C_NUM ));
break;
-case FN_CloneCanvas: //Sub Procedure
- rc_cloneCanvas( CLONECANVAS_SRC, CLONECANVAS_DST );
+case FN_CloneCanvas: //Number Function
+ rc_push_num(rc_cloneCanvas( CLONECANVAS_C_NUM, CLONECANVAS_MODE ));
break;
case FN_SetCanvasZ: //Sub Procedure
rc_setCanvasZ( SETCANVASZ_C_NUM, SETCANVASZ_Z );
@@ -613,6 +613,12 @@ case FN_CanvasClip: //Number Function
case FN_ActiveCanvas: //Number Function
rc_push_num(rc_activeCanvas( ));
break;
+case FN_SetCanvasPhysics2D: //Sub Procedure
+ rc_setCanvasPhysics2D( SETCANVASPHYSICS2D_C_NUM, SETCANVASPHYSICS2D_STATE );
+ break;
+case FN_OpenSpriteCanvas: //Number Function
+ rc_push_num(rc_canvasOpenSpriteLayer( OPENSPRITECANVAS_W, OPENSPRITECANVAS_H, OPENSPRITECANVAS_VIEWPORT_X, OPENSPRITECANVAS_VIEWPORT_Y, OPENSPRITECANVAS_VIEWPORT_W, OPENSPRITECANVAS_VIEWPORT_H ));
+ break;
case FN_Circle: //Sub Procedure
rc_drawCircle( CIRCLE_X, CIRCLE_Y, CIRCLE_RADIUS );
break;
@@ -667,8 +673,8 @@ case FN_createImage: //Number Function
case FN_createImageEx: //Number Function
rc_push_num(rc_createImageEx( CREATEIMAGEEX_W, CREATEIMAGEEX_H, &CREATEIMAGEEX_BUFFER, CREATEIMAGEEX_COLOR ));
break;
-case FN_getImageBuffer: //Sub Procedure
- rc_getImageBuffer( GETIMAGEBUFFER_IMG_ID, &GETIMAGEBUFFER_BUFFER );
+case FN_BufferFromImage: //Sub Procedure
+ rc_getImageBuffer( BUFFERFROMIMAGE_SLOT, &BUFFERFROMIMAGE_BUFFER );
break;
case FN_ImageExists: //Number Function
rc_push_num(rc_imageExists( IMAGEEXISTS_SLOT ));
@@ -1415,6 +1421,9 @@ case FN_CreateBillboardActor: //Number Function
case FN_CreateTerrainActor: //Number Function
rc_push_num(rc_createTerrainActor( CREATETERRAINACTOR_HMAP_FILE$ ));
break;
+case FN_CreateParticleActor: //Number Function
+ rc_push_num(rc_createParticleActor( CREATEPARTICLEACTOR_PARTICLE_TYPE ));
+ break;
case FN_DeleteActor: //Sub Procedure
rc_deleteActor( DELETEACTOR_ACTOR );
break;
@@ -1424,8 +1433,8 @@ case FN_GetActorTransform: //Sub Procedure
case FN_SetActorPosition: //Sub Procedure
rc_setActorPosition( SETACTORPOSITION_ACTOR, SETACTORPOSITION_X, SETACTORPOSITION_Y, SETACTORPOSITION_Z );
break;
-case FN_TranslateActor: //Sub Procedure
- rc_translateActor( TRANSLATEACTOR_ACTOR, TRANSLATEACTOR_X, TRANSLATEACTOR_Y, TRANSLATEACTOR_Z );
+case FN_TranslateActorLocal: //Sub Procedure
+ rc_translateActorLocal( TRANSLATEACTORLOCAL_ACTOR, TRANSLATEACTORLOCAL_X, TRANSLATEACTORLOCAL_Y, TRANSLATEACTORLOCAL_Z );
break;
case FN_TranslateActorWorld: //Sub Procedure
rc_translateActorWorld( TRANSLATEACTORWORLD_ACTOR, TRANSLATEACTORWORLD_X, TRANSLATEACTORWORLD_Y, TRANSLATEACTORWORLD_Z );
@@ -1469,6 +1478,9 @@ case FN_AddActorShadow: //Sub Procedure
case FN_RemoveActorShadow: //Sub Procedure
rc_removeActorShadow( REMOVEACTORSHADOW_ACTOR );
break;
+case FN_ActorExists: //Number Function
+ rc_push_num(rc_actorExists( ACTOREXISTS_ACTOR ));
+ break;
case FN_SetGravity3D: //Sub Procedure
rc_setGravity3D( SETGRAVITY3D_X, SETGRAVITY3D_Y, SETGRAVITY3D_Z );
break;
@@ -1592,11 +1604,11 @@ case FN_getActorCOMPosition: //Sub Procedure
case FN_getActorRotationQ: //Sub Procedure
rc_getActorRotationQ( GETACTORROTATIONQ_ACTOR, &GETACTORROTATIONQ_X, &GETACTORROTATIONQ_Y, &GETACTORROTATIONQ_Z, &GETACTORROTATIONQ_W );
break;
-case FN_getActorLinearVelocity: //Sub Procedure
- rc_getActorLinearVelocity( GETACTORLINEARVELOCITY_ACTOR, &GETACTORLINEARVELOCITY_X, &GETACTORLINEARVELOCITY_Y, &GETACTORLINEARVELOCITY_Z );
+case FN_getActorLinearVelocityWorld: //Sub Procedure
+ rc_getActorLinearVelocityWorld( GETACTORLINEARVELOCITYWORLD_ACTOR, &GETACTORLINEARVELOCITYWORLD_X, &GETACTORLINEARVELOCITYWORLD_Y, &GETACTORLINEARVELOCITYWORLD_Z );
break;
-case FN_getActorAngularVelocity: //Sub Procedure
- rc_getActorAngularVelocity( GETACTORANGULARVELOCITY_ACTOR, &GETACTORANGULARVELOCITY_X, &GETACTORANGULARVELOCITY_Y, &GETACTORANGULARVELOCITY_Z );
+case FN_getActorAngularVelocityWorld: //Sub Procedure
+ rc_getActorAngularVelocityWorld( GETACTORANGULARVELOCITYWORLD_ACTOR, &GETACTORANGULARVELOCITYWORLD_X, &GETACTORANGULARVELOCITYWORLD_Y, &GETACTORANGULARVELOCITYWORLD_Z );
break;
case FN_setActorLinearVelocityLocal: //Sub Procedure
rc_setActorLinearVelocityLocal( SETACTORLINEARVELOCITYLOCAL_ACTOR, SETACTORLINEARVELOCITYLOCAL_X, SETACTORLINEARVELOCITYLOCAL_Y, SETACTORLINEARVELOCITYLOCAL_Z );
@@ -1643,23 +1655,26 @@ case FN_computeActorGyroImpulseWorld: //Sub Procedure
case FN_getActorLocalInertia: //Sub Procedure
rc_getActorLocalInertia( GETACTORLOCALINERTIA_ACTOR, &GETACTORLOCALINERTIA_X, &GETACTORLOCALINERTIA_Y, &GETACTORLOCALINERTIA_Z );
break;
+case FN_SetActorSleepState: //Sub Procedure
+ rc_setActorSleepState( SETACTORSLEEPSTATE_ACTOR, SETACTORSLEEPSTATE_STATE );
+ break;
case FN_createPointConstraint: //Number Function
rc_push_num(rc_createPointConstraint( CREATEPOINTCONSTRAINT_ACTORA, CREATEPOINTCONSTRAINT_PXA, CREATEPOINTCONSTRAINT_PYA, CREATEPOINTCONSTRAINT_PZA ));
break;
case FN_createPointConstraintEx: //Number Function
rc_push_num(rc_createPointConstraintEx( CREATEPOINTCONSTRAINTEX_ACTORA, CREATEPOINTCONSTRAINTEX_ACTORB, CREATEPOINTCONSTRAINTEX_PXA, CREATEPOINTCONSTRAINTEX_PYA, CREATEPOINTCONSTRAINTEX_PZA, CREATEPOINTCONSTRAINTEX_PXB, CREATEPOINTCONSTRAINTEX_PYB, CREATEPOINTCONSTRAINTEX_PZB ));
break;
-case FN_setConstraintPivotA: //Sub Procedure
- rc_setConstraintPivotA( SETCONSTRAINTPIVOTA_CONSTRAINT_ID, SETCONSTRAINTPIVOTA_X, SETCONSTRAINTPIVOTA_Y, SETCONSTRAINTPIVOTA_Z );
+case FN_setPointPivotA: //Sub Procedure
+ rc_setPointPivotA( SETPOINTPIVOTA_CONSTRAINT_ID, SETPOINTPIVOTA_X, SETPOINTPIVOTA_Y, SETPOINTPIVOTA_Z );
break;
-case FN_setConstraintPivotB: //Sub Procedure
- rc_setConstraintPivotB( SETCONSTRAINTPIVOTB_CONSTRAINT_ID, SETCONSTRAINTPIVOTB_X, SETCONSTRAINTPIVOTB_Y, SETCONSTRAINTPIVOTB_Z );
+case FN_setPointPivotB: //Sub Procedure
+ rc_setPointPivotB( SETPOINTPIVOTB_CONSTRAINT_ID, SETPOINTPIVOTB_X, SETPOINTPIVOTB_Y, SETPOINTPIVOTB_Z );
break;
case FN_createHingeConstraint: //Number Function
- rc_push_num(rc_createHingeConstraint( CREATEHINGECONSTRAINT_ACTORA, CREATEHINGECONSTRAINT_PXA, CREATEHINGECONSTRAINT_PYA, CREATEHINGECONSTRAINT_PZA, CREATEHINGECONSTRAINT_AXA, CREATEHINGECONSTRAINT_AYA, CREATEHINGECONSTRAINT_AZA ));
+ rc_push_num(rc_createHingeConstraint( CREATEHINGECONSTRAINT_ACTORA, CREATEHINGECONSTRAINT_FRAMEA, CREATEHINGECONSTRAINT_USEREFERENCEFRAMEA ));
break;
case FN_createHingeConstraintEx: //Number Function
- rc_push_num(rc_createHingeConstraintEx( CREATEHINGECONSTRAINTEX_ACTORA, CREATEHINGECONSTRAINTEX_ACTORB, CREATEHINGECONSTRAINTEX_PXA, CREATEHINGECONSTRAINTEX_PYA, CREATEHINGECONSTRAINTEX_PZA, CREATEHINGECONSTRAINTEX_PXB, CREATEHINGECONSTRAINTEX_PYB, CREATEHINGECONSTRAINTEX_PZB, CREATEHINGECONSTRAINTEX_AXA, CREATEHINGECONSTRAINTEX_AYA, CREATEHINGECONSTRAINTEX_AZA, CREATEHINGECONSTRAINTEX_AXB, CREATEHINGECONSTRAINTEX_AYB, CREATEHINGECONSTRAINTEX_AZB ));
+ rc_push_num(rc_createHingeConstraintEx( CREATEHINGECONSTRAINTEX_ACTORA, CREATEHINGECONSTRAINTEX_ACTORB, CREATEHINGECONSTRAINTEX_FRAMEA, CREATEHINGECONSTRAINTEX_FRAMEB, CREATEHINGECONSTRAINTEX_USEREFERENCEFRAMEA ));
break;
case FN_createSlideConstraint: //Number Function
rc_push_num(rc_createSlideConstraint( CREATESLIDECONSTRAINT_ACTORA, CREATESLIDECONSTRAINT_FRAMEINB_MATRIX, CREATESLIDECONSTRAINT_USELINEARREFERENCEFRAMEA ));
@@ -1700,8 +1715,8 @@ case FN_getConstraintAFrame: //Number Function
case FN_getConstraintBFrame: //Number Function
rc_push_num(rc_getConstraintBFrame( GETCONSTRAINTBFRAME_CONSTRAINT_ID, GETCONSTRAINTBFRAME_MA ));
break;
-case FN_setConstraintAxis: //Sub Procedure
- rc_setConstraintAxis( SETCONSTRAINTAXIS_CONSTRAINT_ID, SETCONSTRAINTAXIS_X, SETCONSTRAINTAXIS_Y, SETCONSTRAINTAXIS_Z );
+case FN_setHingeAxis: //Sub Procedure
+ rc_setHingeAxis( SETHINGEAXIS_CONSTRAINT_ID, SETHINGEAXIS_X, SETHINGEAXIS_Y, SETHINGEAXIS_Z );
break;
case FN_setConstraintBreakingImpulseThreshold: //Sub Procedure
rc_setConstraintBreakingImpulseThreshold( SETCONSTRAINTBREAKINGIMPULSETHRESHOLD_CONSTRAINT_ID, SETCONSTRAINTBREAKINGIMPULSETHRESHOLD_THRESHOLD );
@@ -1715,14 +1730,14 @@ case FN_setHingeLimit: //Sub Procedure
case FN_setConeLimit: //Sub Procedure
rc_setConeLimit( SETCONELIMIT_CONSTRAINT_ID, SETCONELIMIT_SWINGSPAN1, SETCONELIMIT_SWINGSPAN2, SETCONELIMIT_TWISTSPAN, SETCONELIMIT_SOFTNESS, SETCONELIMIT_BIAS_FACTOR, SETCONELIMIT_RELAXATION_FACTOR );
break;
-case FN_getConstraintLimitBiasFactor: //Number Function
- rc_push_num(rc_getConstraintLimitBiasFactor( GETCONSTRAINTLIMITBIASFACTOR_CONSTRAINT_ID ));
+case FN_getHingeLimitBiasFactor: //Number Function
+ rc_push_num(rc_getHingeLimitBiasFactor( GETHINGELIMITBIASFACTOR_CONSTRAINT_ID ));
break;
-case FN_getLimitRelaxationFactor: //Number Function
- rc_push_num(rc_getLimitRelaxationFactor( GETLIMITRELAXATIONFACTOR_CONSTRAINT_ID ));
+case FN_getHingeLimitRelaxationFactor: //Number Function
+ rc_push_num(rc_getHingeLimitRelaxationFactor( GETHINGELIMITRELAXATIONFACTOR_CONSTRAINT_ID ));
break;
-case FN_getConstraintLimitSign: //Number Function
- rc_push_num(rc_getConstraintLimitSign( GETCONSTRAINTLIMITSIGN_CONSTRAINT_ID ));
+case FN_getHingeLimitSign: //Number Function
+ rc_push_num(rc_getHingeLimitSign( GETHINGELIMITSIGN_CONSTRAINT_ID ));
break;
case FN_getHingeSolveLimit: //Number Function
rc_push_num(rc_getHingeSolveLimit( GETHINGESOLVELIMIT_CONSTRAINT_ID ));
@@ -1736,11 +1751,11 @@ case FN_getConstraintAppliedImpulse: //Number Function
case FN_getConstraintFixedActor: //Number Function
rc_push_num(rc_getConstraintFixedActor( GETCONSTRAINTFIXEDACTOR_CONSTRAINT_ID ));
break;
-case FN_getConstraintPivotA: //Sub Procedure
- rc_getConstraintPivotA( GETCONSTRAINTPIVOTA_CONSTRAINT_ID, & GETCONSTRAINTPIVOTA_X, & GETCONSTRAINTPIVOTA_Y, & GETCONSTRAINTPIVOTA_Z );
+case FN_getPointPivotA: //Sub Procedure
+ rc_getPointPivotA( GETPOINTPIVOTA_CONSTRAINT_ID, & GETPOINTPIVOTA_X, & GETPOINTPIVOTA_Y, & GETPOINTPIVOTA_Z );
break;
-case FN_getConstraintPivotB: //Sub Procedure
- rc_getConstraintPivotB( GETCONSTRAINTPIVOTB_CONSTRAINT_ID, & GETCONSTRAINTPIVOTB_X, & GETCONSTRAINTPIVOTB_Y, & GETCONSTRAINTPIVOTB_Z );
+case FN_getPointPivotB: //Sub Procedure
+ rc_getPointPivotB( GETPOINTPIVOTB_CONSTRAINT_ID, & GETPOINTPIVOTB_X, & GETPOINTPIVOTB_Y, & GETPOINTPIVOTB_Z );
break;
case FN_getConstraintActorA: //Number Function
rc_push_num(rc_getConstraintActorA( GETCONSTRAINTACTORA_CONSTRAINT_ID ));
@@ -1751,17 +1766,17 @@ case FN_getConstraintActorB: //Number Function
case FN_setConstraintSolverIterations: //Sub Procedure
rc_setConstraintSolverIterations( SETCONSTRAINTSOLVERITERATIONS_CONSTRAINT_ID, SETCONSTRAINTSOLVERITERATIONS_NUM );
break;
-case FN_getConstraintBiasFactor: //Number Function
- rc_push_num(rc_getConstraintBiasFactor( GETCONSTRAINTBIASFACTOR_CONSTRAINT_ID ));
+case FN_getConeBiasFactor: //Number Function
+ rc_push_num(rc_getConeBiasFactor( GETCONEBIASFACTOR_CONSTRAINT_ID ));
break;
-case FN_getConstraintDamping: //Number Function
- rc_push_num(rc_getConstraintDamping( GETCONSTRAINTDAMPING_CONSTRAINT_ID ));
+case FN_getConeDamping: //Number Function
+ rc_push_num(rc_getConeDamping( GETCONEDAMPING_CONSTRAINT_ID ));
break;
-case FN_getConstraintFixThresh: //Number Function
- rc_push_num(rc_getConstraintFixThresh( GETCONSTRAINTFIXTHRESH_CONSTRAINT_ID ));
+case FN_getConeFixThresh: //Number Function
+ rc_push_num(rc_getConeFixThresh( GETCONEFIXTHRESH_CONSTRAINT_ID ));
break;
-case FN_getConstraintLimit: //Number Function
- rc_push_num(rc_getConstraintLimit( GETCONSTRAINTLIMIT_CONSTRAINT_ID, GETCONSTRAINTLIMIT_LIMIT_INDEX ));
+case FN_getConeLimit: //Number Function
+ rc_push_num(rc_getConeLimit( GETCONELIMIT_CONSTRAINT_ID, GETCONELIMIT_LIMIT_INDEX ));
break;
case FN_getConstraintLimitSoftness: //Number Function
rc_push_num(rc_getConstraintLimitSoftness( GETCONSTRAINTLIMITSOFTNESS_CONSTRAINT_ID ));
@@ -1769,203 +1784,203 @@ case FN_getConstraintLimitSoftness: //Number Function
case FN_getConstraintSolverIterations: //Number Function
rc_push_num(rc_getConstraintSolverIterations( GETCONSTRAINTSOLVERITERATIONS_CONSTRAINT_ID ));
break;
-case FN_getConstraintAnglePoint: //Sub Procedure
- rc_getConstraintAnglePoint( GETCONSTRAINTANGLEPOINT_CONSTRAINT_ID, GETCONSTRAINTANGLEPOINT_ANGLE, GETCONSTRAINTANGLEPOINT_C_LEN, & GETCONSTRAINTANGLEPOINT_X, & GETCONSTRAINTANGLEPOINT_Y, & GETCONSTRAINTANGLEPOINT_Z );
+case FN_getConeAnglePoint: //Sub Procedure
+ rc_getConeAnglePoint( GETCONEANGLEPOINT_CONSTRAINT_ID, GETCONEANGLEPOINT_ANGLE, GETCONEANGLEPOINT_C_LEN, & GETCONEANGLEPOINT_X, & GETCONEANGLEPOINT_Y, & GETCONEANGLEPOINT_Z );
break;
case FN_getConstraintAngularOnly: //Number Function
rc_push_num(rc_getConstraintAngularOnly( GETCONSTRAINTANGULARONLY_CONSTRAINT_ID ));
break;
-case FN_getConstraintSolveSwingLimit: //Number Function
- rc_push_num(rc_getConstraintSolveSwingLimit( GETCONSTRAINTSOLVESWINGLIMIT_CONSTRAINT_ID ));
+case FN_getConeSolveSwingLimit: //Number Function
+ rc_push_num(rc_getConeSolveSwingLimit( GETCONESOLVESWINGLIMIT_CONSTRAINT_ID ));
break;
-case FN_getConstraintSolveTwistLimit: //Number Function
- rc_push_num(rc_getConstraintSolveTwistLimit( GETCONSTRAINTSOLVETWISTLIMIT_CONSTRAINT_ID ));
+case FN_getConeSolveTwistLimit: //Number Function
+ rc_push_num(rc_getConeSolveTwistLimit( GETCONESOLVETWISTLIMIT_CONSTRAINT_ID ));
break;
-case FN_getConstraintSolveLimit: //Number Function
- rc_push_num(rc_getConstraintSolveLimit( GETCONSTRAINTSOLVELIMIT_CONSTRAINT_ID ));
+case FN_getConeSwingSpan1: //Number Function
+ rc_push_num(rc_getConeSwingSpan1( GETCONESWINGSPAN1_CONSTRAINT_ID ));
break;
-case FN_getConstraintSwingSpan1: //Number Function
- rc_push_num(rc_getConstraintSwingSpan1( GETCONSTRAINTSWINGSPAN1_CONSTRAINT_ID ));
+case FN_getConeSwingSpan2: //Number Function
+ rc_push_num(rc_getConeSwingSpan2( GETCONESWINGSPAN2_CONSTRAINT_ID ));
break;
-case FN_getConstraintSwingSpan2: //Number Function
- rc_push_num(rc_getConstraintSwingSpan2( GETCONSTRAINTSWINGSPAN2_CONSTRAINT_ID ));
+case FN_getConeTwistAngle: //Number Function
+ rc_push_num(rc_getConeTwistAngle( GETCONETWISTANGLE_CONSTRAINT_ID ));
break;
-case FN_getConstraintTwistAngle: //Number Function
- rc_push_num(rc_getConstraintTwistAngle( GETCONSTRAINTTWISTANGLE_CONSTRAINT_ID ));
+case FN_getConeTwistLimitSign: //Number Function
+ rc_push_num(rc_getConeTwistLimitSign( GETCONETWISTLIMITSIGN_CONSTRAINT_ID ));
break;
-case FN_getConstraintTwistLimitSign: //Number Function
- rc_push_num(rc_getConstraintTwistLimitSign( GETCONSTRAINTTWISTLIMITSIGN_CONSTRAINT_ID ));
- break;
-case FN_getConstraintTwistSpan: //Number Function
- rc_push_num(rc_getConstraintTwistSpan( GETCONSTRAINTTWISTSPAN_CONSTRAINT_ID ));
+case FN_getConeTwistSpan: //Number Function
+ rc_push_num(rc_getConeTwistSpan( GETCONETWISTSPAN_CONSTRAINT_ID ));
break;
case FN_setConstraintAngularOnly: //Sub Procedure
rc_setConstraintAngularOnly( SETCONSTRAINTANGULARONLY_CONSTRAINT_ID, SETCONSTRAINTANGULARONLY_FLAG );
break;
-case FN_setConstraintDamping: //Sub Procedure
- rc_setConstraintDamping( SETCONSTRAINTDAMPING_CONSTRAINT_ID, SETCONSTRAINTDAMPING_DAMPING );
+case FN_setConeDamping: //Sub Procedure
+ rc_setConeDamping( SETCONEDAMPING_CONSTRAINT_ID, SETCONEDAMPING_DAMPING );
break;
-case FN_setConstraintFixThresh: //Sub Procedure
- rc_setConstraintFixThresh( SETCONSTRAINTFIXTHRESH_CONSTRAINT_ID, SETCONSTRAINTFIXTHRESH_FIXTHRESH );
+case FN_setConeFixThresh: //Sub Procedure
+ rc_setConeFixThresh( SETCONEFIXTHRESH_CONSTRAINT_ID, SETCONEFIXTHRESH_FIXTHRESH );
break;
-case FN_getConstraintAnchorA: //Sub Procedure
- rc_getConstraintAnchorA( GETCONSTRAINTANCHORA_CONSTRAINT_ID, & GETCONSTRAINTANCHORA_X, & GETCONSTRAINTANCHORA_Y, & GETCONSTRAINTANCHORA_Z );
+case FN_getSlideAnchorA: //Sub Procedure
+ rc_getSlideAnchorA( GETSLIDEANCHORA_CONSTRAINT_ID, & GETSLIDEANCHORA_X, & GETSLIDEANCHORA_Y, & GETSLIDEANCHORA_Z );
break;
-case FN_getConstraintAnchorB: //Sub Procedure
- rc_getConstraintAnchorB( GETCONSTRAINTANCHORB_CONSTRAINT_ID, & GETCONSTRAINTANCHORB_X, & GETCONSTRAINTANCHORB_Y, & GETCONSTRAINTANCHORB_Z );
+case FN_getSlideAnchorB: //Sub Procedure
+ rc_getSlideAnchorB( GETSLIDEANCHORB_CONSTRAINT_ID, & GETSLIDEANCHORB_X, & GETSLIDEANCHORB_Y, & GETSLIDEANCHORB_Z );
break;
-case FN_getConstraintAngDepth: //Number Function
- rc_push_num(rc_getConstraintAngDepth( GETCONSTRAINTANGDEPTH_CONSTRAINT_ID ));
+case FN_getSlideAngDepth: //Number Function
+ rc_push_num(rc_getSlideAngDepth( GETSLIDEANGDEPTH_CONSTRAINT_ID ));
break;
-case FN_getConstraintAngularPos: //Number Function
- rc_push_num(rc_getConstraintAngularPos( GETCONSTRAINTANGULARPOS_CONSTRAINT_ID ));
+case FN_getSlideAngularPos: //Number Function
+ rc_push_num(rc_getSlideAngularPos( GETSLIDEANGULARPOS_CONSTRAINT_ID ));
break;
-case FN_getConstraintDampingDirAng: //Number Function
- rc_push_num(rc_getConstraintDampingDirAng( GETCONSTRAINTDAMPINGDIRANG_CONSTRAINT_ID ));
+case FN_getSlideDampingDirAng: //Number Function
+ rc_push_num(rc_getSlideDampingDirAng( GETSLIDEDAMPINGDIRANG_CONSTRAINT_ID ));
break;
-case FN_getConstraintDampingDirLin: //Number Function
- rc_push_num(rc_getConstraintDampingDirLin( GETCONSTRAINTDAMPINGDIRLIN_CONSTRAINT_ID ));
+case FN_getSlideDampingDirLin: //Number Function
+ rc_push_num(rc_getSlideDampingDirLin( GETSLIDEDAMPINGDIRLIN_CONSTRAINT_ID ));
break;
-case FN_getConstraintDampingLimAng: //Number Function
- rc_push_num(rc_getConstraintDampingLimAng( GETCONSTRAINTDAMPINGLIMANG_CONSTRAINT_ID ));
+case FN_getSlideDampingLimAng: //Number Function
+ rc_push_num(rc_getSlideDampingLimAng( GETSLIDEDAMPINGLIMANG_CONSTRAINT_ID ));
break;
-case FN_getConstraintDampingLimLin: //Number Function
- rc_push_num(rc_getConstraintDampingLimLin( GETCONSTRAINTDAMPINGLIMLIN_CONSTRAINT_ID ));
+case FN_getSlideDampingLimLin: //Number Function
+ rc_push_num(rc_getSlideDampingLimLin( GETSLIDEDAMPINGLIMLIN_CONSTRAINT_ID ));
break;
-case FN_getConstraintDampingOrthoAng: //Number Function
- rc_push_num(rc_getConstraintDampingOrthoAng( GETCONSTRAINTDAMPINGORTHOANG_CONSTRAINT_ID ));
+case FN_getSlideDampingOrthoAng: //Number Function
+ rc_push_num(rc_getSlideDampingOrthoAng( GETSLIDEDAMPINGORTHOANG_CONSTRAINT_ID ));
break;
-case FN_getConstraintDampingOrthoLin: //Number Function
- rc_push_num(rc_getConstraintDampingOrthoLin( GETCONSTRAINTDAMPINGORTHOLIN_CONSTRAINT_ID ));
+case FN_getSlideDampingOrthoLin: //Number Function
+ rc_push_num(rc_getSlideDampingOrthoLin( GETSLIDEDAMPINGORTHOLIN_CONSTRAINT_ID ));
break;
-case FN_getConstraintLinearPos: //Number Function
- rc_push_num(rc_getConstraintLinearPos( GETCONSTRAINTLINEARPOS_CONSTRAINT_ID ));
+case FN_getSlideLinearPos: //Number Function
+ rc_push_num(rc_getSlideLinearPos( GETSLIDELINEARPOS_CONSTRAINT_ID ));
break;
-case FN_getConstraintLinDepth: //Number Function
- rc_push_num(rc_getConstraintLinDepth( GETCONSTRAINTLINDEPTH_CONSTRAINT_ID ));
+case FN_getSlideLinDepth: //Number Function
+ rc_push_num(rc_getSlideLinDepth( GETSLIDELINDEPTH_CONSTRAINT_ID ));
break;
-case FN_getConstraintLowerAngLimit: //Number Function
- rc_push_num(rc_getConstraintLowerAngLimit( GETCONSTRAINTLOWERANGLIMIT_CONSTRAINT_ID ));
+case FN_getSlideLowerAngLimit: //Number Function
+ rc_push_num(rc_getSlideLowerAngLimit( GETSLIDELOWERANGLIMIT_CONSTRAINT_ID ));
break;
-case FN_getConstraintLowerLinLimit: //Number Function
- rc_push_num(rc_getConstraintLowerLinLimit( GETCONSTRAINTLOWERLINLIMIT_CONSTRAINT_ID ));
+case FN_getSlideLowerLinLimit: //Number Function
+ rc_push_num(rc_getSlideLowerLinLimit( GETSLIDELOWERLINLIMIT_CONSTRAINT_ID ));
break;
-case FN_getConstraintRestitutionDirAng: //Number Function
- rc_push_num(rc_getConstraintRestitutionDirAng( GETCONSTRAINTRESTITUTIONDIRANG_CONSTRAINT_ID ));
+case FN_getSlideRestitutionDirAng: //Number Function
+ rc_push_num(rc_getSlideRestitutionDirAng( GETSLIDERESTITUTIONDIRANG_CONSTRAINT_ID ));
break;
-case FN_getConstraintRestitutionDirLin: //Number Function
- rc_push_num(rc_getConstraintRestitutionDirLin( GETCONSTRAINTRESTITUTIONDIRLIN_CONSTRAINT_ID ));
+case FN_getSlideRestitutionDirLin: //Number Function
+ rc_push_num(rc_getSlideRestitutionDirLin( GETSLIDERESTITUTIONDIRLIN_CONSTRAINT_ID ));
break;
-case FN_getConstraintRestitutionLimAng: //Number Function
- rc_push_num(rc_getConstraintRestitutionLimAng( GETCONSTRAINTRESTITUTIONLIMANG_CONSTRAINT_ID ));
+case FN_getSlideRestitutionLimAng: //Number Function
+ rc_push_num(rc_getSlideRestitutionLimAng( GETSLIDERESTITUTIONLIMANG_CONSTRAINT_ID ));
break;
-case FN_getConstraintRestitutionLimLin: //Number Function
- rc_push_num(rc_getConstraintRestitutionLimLin( GETCONSTRAINTRESTITUTIONLIMLIN_CONSTRAINT_ID ));
+case FN_getSlideRestitutionLimLin: //Number Function
+ rc_push_num(rc_getSlideRestitutionLimLin( GETSLIDERESTITUTIONLIMLIN_CONSTRAINT_ID ));
break;
-case FN_getConstraintRestitutionOrthoAng: //Number Function
- rc_push_num(rc_getConstraintRestitutionOrthoAng( GETCONSTRAINTRESTITUTIONORTHOANG_CONSTRAINT_ID ));
+case FN_getSlideRestitutionOrthoAng: //Number Function
+ rc_push_num(rc_getSlideRestitutionOrthoAng( GETSLIDERESTITUTIONORTHOANG_CONSTRAINT_ID ));
break;
-case FN_getConstraintRestitutionOrthoLin: //Number Function
- rc_push_num(rc_getConstraintRestitutionOrthoLin( GETCONSTRAINTRESTITUTIONORTHOLIN_CONSTRAINT_ID ));
+case FN_getSlideRestitutionOrthoLin: //Number Function
+ rc_push_num(rc_getSlideRestitutionOrthoLin( GETSLIDERESTITUTIONORTHOLIN_CONSTRAINT_ID ));
break;
-case FN_getConstraintSoftnessDirAng: //Number Function
- rc_push_num(rc_getConstraintSoftnessDirAng( GETCONSTRAINTSOFTNESSDIRANG_CONSTRAINT_ID ));
+case FN_getSlideSoftnessDirAng: //Number Function
+ rc_push_num(rc_getSlideSoftnessDirAng( GETSLIDESOFTNESSDIRANG_CONSTRAINT_ID ));
break;
-case FN_getConstraintSoftnessDirLin: //Number Function
- rc_push_num(rc_getConstraintSoftnessDirLin( GETCONSTRAINTSOFTNESSDIRLIN_CONSTRAINT_ID ));
+case FN_getSlideSoftnessDirLin: //Number Function
+ rc_push_num(rc_getSlideSoftnessDirLin( GETSLIDESOFTNESSDIRLIN_CONSTRAINT_ID ));
break;
-case FN_getConstraintSoftnessLimAng: //Number Function
- rc_push_num(rc_getConstraintSoftnessLimAng( GETCONSTRAINTSOFTNESSLIMANG_CONSTRAINT_ID ));
+case FN_getSlideSoftnessLimAng: //Number Function
+ rc_push_num(rc_getSlideSoftnessLimAng( GETSLIDESOFTNESSLIMANG_CONSTRAINT_ID ));
break;
-case FN_getConstraintSoftnessLimLin: //Number Function
- rc_push_num(rc_getConstraintSoftnessLimLin( GETCONSTRAINTSOFTNESSLIMLIN_CONSTRAINT_ID ));
+case FN_getSlideSoftnessLimLin: //Number Function
+ rc_push_num(rc_getSlideSoftnessLimLin( GETSLIDESOFTNESSLIMLIN_CONSTRAINT_ID ));
break;
-case FN_getConstraintSoftnessOrthoAng: //Number Function
- rc_push_num(rc_getConstraintSoftnessOrthoAng( GETCONSTRAINTSOFTNESSORTHOANG_CONSTRAINT_ID ));
+case FN_getSlideSoftnessOrthoAng: //Number Function
+ rc_push_num(rc_getSlideSoftnessOrthoAng( GETSLIDESOFTNESSORTHOANG_CONSTRAINT_ID ));
break;
-case FN_getConstraintSoftnessOrthoLin: //Number Function
- rc_push_num(rc_getConstraintSoftnessOrthoLin( GETCONSTRAINTSOFTNESSORTHOLIN_CONSTRAINT_ID ));
+case FN_getSlideSoftnessOrthoLin: //Number Function
+ rc_push_num(rc_getSlideSoftnessOrthoLin( GETSLIDESOFTNESSORTHOLIN_CONSTRAINT_ID ));
break;
-case FN_getConstraintSolveAngLimit: //Number Function
- rc_push_num(rc_getConstraintSolveAngLimit( GETCONSTRAINTSOLVEANGLIMIT_CONSTRAINT_ID ));
+case FN_getSlideSolveAngLimit: //Number Function
+ rc_push_num(rc_getSlideSolveAngLimit( GETSLIDESOLVEANGLIMIT_CONSTRAINT_ID ));
break;
-case FN_getConstraintSolveLinLimit: //Number Function
- rc_push_num(rc_getConstraintSolveLinLimit( GETCONSTRAINTSOLVELINLIMIT_CONSTRAINT_ID ));
+case FN_getSlideSolveLinLimit: //Number Function
+ rc_push_num(rc_getSlideSolveLinLimit( GETSLIDESOLVELINLIMIT_CONSTRAINT_ID ));
break;
-case FN_getConstraintUpperAngLimit: //Number Function
- rc_push_num(rc_getConstraintUpperAngLimit( GETCONSTRAINTUPPERANGLIMIT_CONSTRAINT_ID ));
+case FN_getSlideUpperAngLimit: //Number Function
+ rc_push_num(rc_getSlideUpperAngLimit( GETSLIDEUPPERANGLIMIT_CONSTRAINT_ID ));
break;
-case FN_getConstraintUpperLinLimit: //Number Function
- rc_push_num(rc_getConstraintUpperLinLimit( GETCONSTRAINTUPPERLINLIMIT_CONSTRAINT_ID ));
+case FN_getSlideUpperLinLimit: //Number Function
+ rc_push_num(rc_getSlideUpperLinLimit( GETSLIDEUPPERLINLIMIT_CONSTRAINT_ID ));
break;
-case FN_getConstraintUseFrameOffset: //Number Function
- rc_push_num(rc_getConstraintUseFrameOffset( GETCONSTRAINTUSEFRAMEOFFSET_CONSTRAINT_ID ));
+case FN_getSlideUseFrameOffset: //Number Function
+ rc_push_num(rc_getSlideUseFrameOffset( GETSLIDEUSEFRAMEOFFSET_CONSTRAINT_ID ));
break;
-case FN_setConstraintDampingDirAng: //Sub Procedure
- rc_setConstraintDampingDirAng( SETCONSTRAINTDAMPINGDIRANG_CONSTRAINT_ID, SETCONSTRAINTDAMPINGDIRANG_N );
+case FN_setSlideDampingDirAng: //Sub Procedure
+ rc_setSlideDampingDirAng( SETSLIDEDAMPINGDIRANG_CONSTRAINT_ID, SETSLIDEDAMPINGDIRANG_N );
break;
-case FN_setConstraintDampingDirLin: //Sub Procedure
- rc_setConstraintDampingDirLin( SETCONSTRAINTDAMPINGDIRLIN_CONSTRAINT_ID, SETCONSTRAINTDAMPINGDIRLIN_N );
+case FN_setSlideDampingDirLin: //Sub Procedure
+ rc_setSlideDampingDirLin( SETSLIDEDAMPINGDIRLIN_CONSTRAINT_ID, SETSLIDEDAMPINGDIRLIN_N );
break;
-case FN_setConstraintDampingLimAng: //Sub Procedure
- rc_setConstraintDampingLimAng( SETCONSTRAINTDAMPINGLIMANG_CONSTRAINT_ID, SETCONSTRAINTDAMPINGLIMANG_N );
+case FN_setSlideDampingLimAng: //Sub Procedure
+ rc_setSlideDampingLimAng( SETSLIDEDAMPINGLIMANG_CONSTRAINT_ID, SETSLIDEDAMPINGLIMANG_N );
break;
-case FN_setConstraintDampingLimLin: //Sub Procedure
- rc_setConstraintDampingLimLin( SETCONSTRAINTDAMPINGLIMLIN_CONSTRAINT_ID, SETCONSTRAINTDAMPINGLIMLIN_N );
+case FN_setSlideDampingLimLin: //Sub Procedure
+ rc_setSlideDampingLimLin( SETSLIDEDAMPINGLIMLIN_CONSTRAINT_ID, SETSLIDEDAMPINGLIMLIN_N );
break;
-case FN_setConstraintDampingOrthoAng: //Sub Procedure
- rc_setConstraintDampingOrthoAng( SETCONSTRAINTDAMPINGORTHOANG_CONSTRAINT_ID, SETCONSTRAINTDAMPINGORTHOANG_N );
+case FN_setSlideDampingOrthoAng: //Sub Procedure
+ rc_setSlideDampingOrthoAng( SETSLIDEDAMPINGORTHOANG_CONSTRAINT_ID, SETSLIDEDAMPINGORTHOANG_N );
break;
-case FN_setConstraintDampingOrthoLin: //Sub Procedure
- rc_setConstraintDampingOrthoLin( SETCONSTRAINTDAMPINGORTHOLIN_CONSTRAINT_ID, SETCONSTRAINTDAMPINGORTHOLIN_N );
+case FN_setSlideDampingOrthoLin: //Sub Procedure
+ rc_setSlideDampingOrthoLin( SETSLIDEDAMPINGORTHOLIN_CONSTRAINT_ID, SETSLIDEDAMPINGORTHOLIN_N );
break;
-case FN_setConstraintLowerAngLimit: //Sub Procedure
- rc_setConstraintLowerAngLimit( SETCONSTRAINTLOWERANGLIMIT_CONSTRAINT_ID, SETCONSTRAINTLOWERANGLIMIT_N );
+case FN_setSlideLowerAngLimit: //Sub Procedure
+ rc_setSlideLowerAngLimit( SETSLIDELOWERANGLIMIT_CONSTRAINT_ID, SETSLIDELOWERANGLIMIT_N );
break;
-case FN_setConstraintLowerLinLimit: //Sub Procedure
- rc_setConstraintLowerLinLimit( SETCONSTRAINTLOWERLINLIMIT_CONSTRAINT_ID, SETCONSTRAINTLOWERLINLIMIT_N );
+case FN_setSlideLowerLinLimit: //Sub Procedure
+ rc_setSlideLowerLinLimit( SETSLIDELOWERLINLIMIT_CONSTRAINT_ID, SETSLIDELOWERLINLIMIT_N );
break;
-case FN_setConstraintRestitutionDirAng: //Sub Procedure
- rc_setConstraintRestitutionDirAng( SETCONSTRAINTRESTITUTIONDIRANG_CONSTRAINT_ID, SETCONSTRAINTRESTITUTIONDIRANG_N );
+case FN_setSlideRestitutionDirAng: //Sub Procedure
+ rc_setSlideRestitutionDirAng( SETSLIDERESTITUTIONDIRANG_CONSTRAINT_ID, SETSLIDERESTITUTIONDIRANG_N );
break;
-case FN_setConstraintRestitutionDirLin: //Sub Procedure
- rc_setConstraintRestitutionDirLin( SETCONSTRAINTRESTITUTIONDIRLIN_CONSTRAINT_ID, SETCONSTRAINTRESTITUTIONDIRLIN_N );
+case FN_setSlideRestitutionDirLin: //Sub Procedure
+ rc_setSlideRestitutionDirLin( SETSLIDERESTITUTIONDIRLIN_CONSTRAINT_ID, SETSLIDERESTITUTIONDIRLIN_N );
break;
-case FN_setConstraintRestitutionLimAng: //Sub Procedure
- rc_setConstraintRestitutionLimAng( SETCONSTRAINTRESTITUTIONLIMANG_CONSTRAINT_ID, SETCONSTRAINTRESTITUTIONLIMANG_N );
+case FN_setSlideRestitutionLimAng: //Sub Procedure
+ rc_setSlideRestitutionLimAng( SETSLIDERESTITUTIONLIMANG_CONSTRAINT_ID, SETSLIDERESTITUTIONLIMANG_N );
break;
-case FN_setConstraintRestitutionLimLin: //Sub Procedure
- rc_setConstraintRestitutionLimLin( SETCONSTRAINTRESTITUTIONLIMLIN_CONSTRAINT_ID, SETCONSTRAINTRESTITUTIONLIMLIN_N );
+case FN_setSlideRestitutionLimLin: //Sub Procedure
+ rc_setSlideRestitutionLimLin( SETSLIDERESTITUTIONLIMLIN_CONSTRAINT_ID, SETSLIDERESTITUTIONLIMLIN_N );
break;
-case FN_setConstraintRestitutionOrthoAng: //Sub Procedure
- rc_setConstraintRestitutionOrthoAng( SETCONSTRAINTRESTITUTIONORTHOANG_CONSTRAINT_ID, SETCONSTRAINTRESTITUTIONORTHOANG_N );
+case FN_setSlideRestitutionOrthoAng: //Sub Procedure
+ rc_setSlideRestitutionOrthoAng( SETSLIDERESTITUTIONORTHOANG_CONSTRAINT_ID, SETSLIDERESTITUTIONORTHOANG_N );
break;
-case FN_setConstraintRestitutionOrthoLin: //Sub Procedure
- rc_setConstraintRestitutionOrthoLin( SETCONSTRAINTRESTITUTIONORTHOLIN_CONSTRAINT_ID, SETCONSTRAINTRESTITUTIONORTHOLIN_N );
+case FN_setSlideRestitutionOrthoLin: //Sub Procedure
+ rc_setSlideRestitutionOrthoLin( SETSLIDERESTITUTIONORTHOLIN_CONSTRAINT_ID, SETSLIDERESTITUTIONORTHOLIN_N );
break;
-case FN_setConstraintSoftnessDirAng: //Sub Procedure
- rc_setConstraintSoftnessDirAng( SETCONSTRAINTSOFTNESSDIRANG_CONSTRAINT_ID, SETCONSTRAINTSOFTNESSDIRANG_N );
+case FN_setSlideSoftnessDirAng: //Sub Procedure
+ rc_setSlideSoftnessDirAng( SETSLIDESOFTNESSDIRANG_CONSTRAINT_ID, SETSLIDESOFTNESSDIRANG_N );
break;
-case FN_setConstraintSoftnessDirLin: //Sub Procedure
- rc_setConstraintSoftnessDirLin( SETCONSTRAINTSOFTNESSDIRLIN_CONSTRAINT_ID, SETCONSTRAINTSOFTNESSDIRLIN_N );
+case FN_setSlideSoftnessDirLin: //Sub Procedure
+ rc_setSlideSoftnessDirLin( SETSLIDESOFTNESSDIRLIN_CONSTRAINT_ID, SETSLIDESOFTNESSDIRLIN_N );
break;
-case FN_setConstraintSoftnessLimAng: //Sub Procedure
- rc_setConstraintSoftnessLimAng( SETCONSTRAINTSOFTNESSLIMANG_CONSTRAINT_ID, SETCONSTRAINTSOFTNESSLIMANG_N );
+case FN_setSlideSoftnessLimAng: //Sub Procedure
+ rc_setSlideSoftnessLimAng( SETSLIDESOFTNESSLIMANG_CONSTRAINT_ID, SETSLIDESOFTNESSLIMANG_N );
break;
-case FN_setConstraintSoftnessLimLin: //Sub Procedure
- rc_setConstraintSoftnessLimLin( SETCONSTRAINTSOFTNESSLIMLIN_CONSTRAINT_ID, SETCONSTRAINTSOFTNESSLIMLIN_N );
+case FN_setSlideSoftnessLimLin: //Sub Procedure
+ rc_setSlideSoftnessLimLin( SETSLIDESOFTNESSLIMLIN_CONSTRAINT_ID, SETSLIDESOFTNESSLIMLIN_N );
break;
-case FN_setConstraintSoftnessOrthoAng: //Sub Procedure
- rc_setConstraintSoftnessOrthoAng( SETCONSTRAINTSOFTNESSORTHOANG_CONSTRAINT_ID, SETCONSTRAINTSOFTNESSORTHOANG_N );
+case FN_setSlideSoftnessOrthoAng: //Sub Procedure
+ rc_setSlideSoftnessOrthoAng( SETSLIDESOFTNESSORTHOANG_CONSTRAINT_ID, SETSLIDESOFTNESSORTHOANG_N );
break;
-case FN_setConstraintSoftnessOrthoLin: //Sub Procedure
- rc_setConstraintSoftnessOrthoLin( SETCONSTRAINTSOFTNESSORTHOLIN_CONSTRAINT_ID, SETCONSTRAINTSOFTNESSORTHOLIN_N );
+case FN_setSlideSoftnessOrthoLin: //Sub Procedure
+ rc_setSlideSoftnessOrthoLin( SETSLIDESOFTNESSORTHOLIN_CONSTRAINT_ID, SETSLIDESOFTNESSORTHOLIN_N );
break;
-case FN_setConstraintUpperAngLimit: //Sub Procedure
- rc_setConstraintUpperAngLimit( SETCONSTRAINTUPPERANGLIMIT_CONSTRAINT_ID, SETCONSTRAINTUPPERANGLIMIT_N );
+case FN_setSlideUpperAngLimit: //Sub Procedure
+ rc_setSlideUpperAngLimit( SETSLIDEUPPERANGLIMIT_CONSTRAINT_ID, SETSLIDEUPPERANGLIMIT_N );
break;
-case FN_setConstraintUpperLinLimit: //Sub Procedure
- rc_setConstraintUpperLinLimit( SETCONSTRAINTUPPERLINLIMIT_CONSTRAINT_ID, SETCONSTRAINTUPPERLINLIMIT_N );
+case FN_setSlideUpperLinLimit: //Sub Procedure
+ rc_setSlideUpperLinLimit( SETSLIDEUPPERLINLIMIT_CONSTRAINT_ID, SETSLIDEUPPERLINLIMIT_N );
+ break;
+case FN_ConstraintExists: //Number Function
+ rc_push_num(rc_constraintExists( CONSTRAINTEXISTS_CONSTRAINT_ID ));
break;
case FN_SetCameraPosition: //Sub Procedure
rc_setCameraPosition( SETCAMERAPOSITION_X, SETCAMERAPOSITION_Y, SETCAMERAPOSITION_Z );
@@ -2021,9 +2036,6 @@ case FN_AddSceneSkyDomeEx: //Sub Procedure
case FN_RemoveSceneSky: //Sub Procedure
rc_removeSceneSky( );
break;
-case FN_SetWorld3DDeltaTime: //Sub Procedure
- rc_setWorld3DDeltaTime( SETWORLD3DDELTATIME_DT );
- break;
case FN_SetWorld3DMaxSubSteps: //Sub Procedure
rc_setWorld3DMaxSubSteps( SETWORLD3DMAXSUBSTEPS_STEPS );
break;
@@ -2063,17 +2075,17 @@ case FN_particleIsUsingNormalDirection: //Number Function
case FN_setParticleMesh: //Sub Procedure
rc_setParticleMesh( SETPARTICLEMESH_ACTOR, SETPARTICLEMESH_MESH );
break;
-case FN_setParticleMinParticlesPerSecond: //Sub Procedure
- rc_setParticleMinParticlesPerSecond( SETPARTICLEMINPARTICLESPERSECOND_ACTOR, SETPARTICLEMINPARTICLESPERSECOND_MINPARTICLESPERSECOND );
+case FN_setMinParticlesPerSecond: //Sub Procedure
+ rc_setMinParticlesPerSecond( SETMINPARTICLESPERSECOND_ACTOR, SETMINPARTICLESPERSECOND_MINPARTICLESPERSECOND );
break;
-case FN_getParticleMinParticlesPerSecond: //Number Function
- rc_push_num(rc_getParticleMinParticlesPerSecond( GETPARTICLEMINPARTICLESPERSECOND_ACTOR ));
+case FN_getMinParticlesPerSecond: //Number Function
+ rc_push_num(rc_getMinParticlesPerSecond( GETMINPARTICLESPERSECOND_ACTOR ));
break;
-case FN_setParticleMaxParticlesPerSecond: //Sub Procedure
- rc_setParticleMaxParticlesPerSecond( SETPARTICLEMAXPARTICLESPERSECOND_ACTOR, SETPARTICLEMAXPARTICLESPERSECOND_MAXPARTICLESPERSECOND );
+case FN_setMaxParticlesPerSecond: //Sub Procedure
+ rc_setMaxParticlesPerSecond( SETMAXPARTICLESPERSECOND_ACTOR, SETMAXPARTICLESPERSECOND_MAXPARTICLESPERSECOND );
break;
-case FN_getParticleMaxParticlesPerSecond: //Number Function
- rc_push_num(rc_getParticleMaxParticlesPerSecond( GETPARTICLEMAXPARTICLESPERSECOND_ACTOR ));
+case FN_getMaxParticlesPerSecond: //Number Function
+ rc_push_num(rc_getMaxParticlesPerSecond( GETMAXPARTICLESPERSECOND_ACTOR ));
break;
case FN_setParticleMinStartColor: //Sub Procedure
rc_setParticleMinStartColor( SETPARTICLEMINSTARTCOLOR_ACTOR, SETPARTICLEMINSTARTCOLOR_COLOR );
@@ -2159,6 +2171,9 @@ case FN_useParticleOutlineOnly: //Sub Procedure
case FN_particleIsUsingOutlineOnly: //Number Function
rc_push_num(rc_particleIsUsingOutlineOnly( PARTICLEISUSINGOUTLINEONLY_ACTOR ));
break;
+case FN_getParticleType: //Number Function
+ rc_push_num(rc_getParticleType( GETPARTICLETYPE_ACTOR ));
+ break;
case FN_lightIsCastingShadow: //Number Function
rc_push_num(rc_lightIsCastingShadow( LIGHTISCASTINGSHADOW_ACTOR ));
break;
@@ -2495,4 +2510,7 @@ case FN_setActorMaterialType: //Sub Procedure
case FN_getActorMaterialType: //Number Function
rc_push_num(rc_getActorMaterialType( GETACTORMATERIALTYPE_ACTOR, GETACTORMATERIALTYPE_MATERIAL ));
break;
+case FN_MaterialExists: //Number Function
+ rc_push_num(rc_materialExists( MATERIALEXISTS_MATERIAL ));
+ break;
diff --git a/rcbasic_runtime/rc_gfx.h b/rcbasic_runtime/rc_gfx.h
index 2d4e16b..7ad5687 100644
--- a/rcbasic_runtime/rc_gfx.h
+++ b/rcbasic_runtime/rc_gfx.h
@@ -853,27 +853,34 @@ void sortCanvasZ()
//std::cout << std::endl;
}
-Uint32 rc_canvasOpen(int w, int h, int vx, int vy, int vw, int vh, int mode)
+int rc_canvasOpen(int w, int h, int vx, int vy, int vw, int vh, int mode, int canvas_type=RC_CANVAS_TYPE_2D)
{
if(!VideoDriver)
return -1;
rc_canvas_obj canvas;
+ canvas.type = canvas_type;
+ canvas.show3D = false;
+ canvas.physics2D.enabled = false;
+
canvas.texture = VideoDriver->addRenderTargetTexture(irr::core::dimension2d(w,h), "rt", ECF_A8R8G8B8);
- canvas.sprite_layer = VideoDriver->addRenderTargetTexture(irr::core::dimension2d(w,h), "rt", ECF_A8R8G8B8);
+ //canvas.sprite_layer = VideoDriver->addRenderTargetTexture(irr::core::dimension2d(w,h), "rt", ECF_A8R8G8B8);
if(!canvas.texture)
return -1;
- if(SceneManager)
+ if(SceneManager && canvas_type==RC_CANVAS_TYPE_3D)
{
+ canvas.show3D = true;
canvas.camera.init(SceneManager, 0, 0, 0);
//canvas.camera = SceneManager->addCameraSceneNode(0, vector3df(0,0,0), vector3df(0,0,0));
//canvas.camera->setPosition(irr::core::vector3df(0,0,0));
//canvas.camera->setTarget(irr::core::vector3df(0,0,100));
//canvas.camera->bindTargetAndRotation(true);
}
+ else if(!SceneManager)
+ return -1;
//std::cout << "texture format = " << canvas.texture->getColorFormat() << std::endl;
@@ -893,12 +900,16 @@ Uint32 rc_canvasOpen(int w, int h, int vx, int vy, int vw, int vh, int mode)
canvas.color_mod = irr::video::SColor(255,255,255,255).color;
//2D Physics World
- b2Vec2 gravity(0, -9.8);
- canvas.physics2D.world = new b2World(gravity);
- canvas.physics2D.timeStep = 1/20.0; //the length of time passed to simulate (seconds)
- canvas.physics2D.velocityIterations = 8; //how strongly to correct velocity
- canvas.physics2D.positionIterations = 3; //how strongly to correct position
-
+ canvas.physics2D.world = NULL;
+ if(canvas_type == RC_CANVAS_TYPE_SPRITE)
+ {
+ b2Vec2 gravity(0, -9.8);
+ canvas.physics2D.world = new b2World(gravity);
+ canvas.physics2D.timeStep = 1/20.0; //the length of time passed to simulate (seconds)
+ canvas.physics2D.velocityIterations = 8; //how strongly to correct velocity
+ canvas.physics2D.positionIterations = 3; //how strongly to correct position
+ canvas.physics2D.enabled = true;
+ }
switch(mode)
{
@@ -957,6 +968,20 @@ void rc_canvasClose(int canvas_id)
rc_canvas[canvas_id].texture = NULL;
+ if(rc_canvas[canvas_id].physics2D.world)
+ delete rc_canvas[canvas_id].physics2D.world;
+
+ rc_canvas[canvas_id].physics2D.world = NULL;
+
+ //sprites are destroyed when the world is deleted so I just to set the active attribute to false and set the body to NULL
+ for(int i = 0; i < rc_canvas[canvas_id].sprite.size(); i++)
+ {
+ rc_canvas[canvas_id].sprite[i]->active = false;
+ rc_canvas[canvas_id].sprite[i]->physics.body = NULL;
+ }
+
+ rc_canvas[canvas_id].sprite.clear();
+
if(rc_active_canvas == canvas_id)
rc_active_canvas = -1;
@@ -976,6 +1001,22 @@ void rc_setCanvas3D(int canvas_id, bool flag)
rc_canvas[canvas_id].show3D = flag;
}
+int rc_canvasOpen3D(int vx, int vy, int vw, int vh, int mode)
+{
+ return rc_canvasOpen(vw, vh, vx, vy, vw, vh, mode, RC_CANVAS_TYPE_3D);
+}
+
+int rc_canvasOpenSpriteLayer(int w, int h, int vx, int vy, int vw, int vh)
+{
+ return rc_canvasOpen(w, h, vx, vy, vw, vh, 1, RC_CANVAS_TYPE_SPRITE);
+}
+
+void rc_setCanvasPhysics2D(int canvas_id, bool flag)
+{
+ if(canvas_id > 0 && canvas_id < rc_canvas.size())
+ rc_canvas[canvas_id].physics2D.enabled = flag;
+}
+
void rc_setActiveCanvas(int canvas_id)
{
rc_active_canvas = canvas_id;
@@ -1167,8 +1208,12 @@ int rc_cloneCanvas(int origin_canvas_id, int mode)
return -1;
rc_canvas_obj canvas;
+ canvas.type = rc_canvas[origin_canvas_id].type;
+ canvas.physics2D.enabled = false; //There is no need for this to process its own physics since its done on the origin
+ canvas.show3D = rc_canvas[origin_canvas_id].show3D;
+ canvas.color_mod = rc_canvas[origin_canvas_id].color_mod;
canvas.texture = rc_canvas[origin_canvas_id].texture;
- canvas.sprite_layer = rc_canvas[origin_canvas_id].sprite_layer;
+ //canvas.sprite_layer = rc_canvas[origin_canvas_id].sprite_layer;
if(!canvas.texture)
return -1;
@@ -3119,10 +3164,10 @@ int rc_createSprite(int img_id)
if(rc_active_canvas < 0 || rc_active_canvas >= rc_canvas.size())
return -1;
- if(rc_canvas[rc_active_canvas].show3D)
+ if(rc_canvas[rc_active_canvas].type != RC_CANVAS_TYPE_SPRITE)
return -1;
- std::cout << "debug 1" << std::endl;
+ //std::cout << "debug 1" << std::endl;
int spr_id = -1;
for(int i = 0; i < rc_sprite.size(); i++)
@@ -3180,6 +3225,7 @@ void rc_deleteSprite(int spr_id)
}
rc_sprite[spr_id].active = false;
+ rc_sprite[spr_id].parent_canvas = -1;
for(int i = 0; i < rc_canvas[rc_active_canvas].sprite.size(); i++)
{
@@ -3193,7 +3239,7 @@ void rc_deleteSprite(int spr_id)
}
}
-void rc_setSpriteBodyType(int spr_id, int body_type)
+void rc_setSpriteType(int spr_id, int body_type)
{
if(spr_id < 0 || spr_id >= rc_sprite.size())
return;
@@ -3219,14 +3265,13 @@ void rc_setSpritePosition(int spr_id, double x, double y)
//This function is called on each canvas on update
void drawSprites(int canvas_id)
{
- if(rc_canvas[canvas_id].show3D)
- return;
-
float step = rc_canvas[canvas_id].physics2D.timeStep;
int32 velocityIterations = rc_canvas[canvas_id].physics2D.velocityIterations;
int32 positionIterations = rc_canvas[canvas_id].physics2D.positionIterations;
- rc_canvas[canvas_id].physics2D.world->Step(step, velocityIterations, positionIterations);
+ if(rc_canvas[canvas_id].physics2D.enabled)
+ rc_canvas[canvas_id].physics2D.world->Step(step, velocityIterations, positionIterations);
+
//Setting the render target to the current canvas. NOTE: I might change this target to a separate sprite layer later.
VideoDriver->setRenderTarget(rc_canvas[canvas_id].texture, false, false);
@@ -3252,6 +3297,8 @@ void drawSprites(int canvas_id)
b2Vec2 physics_pos;
+ irr::f32 RAD_TO_DEG = 180.0/3.141592653589793238463;
+
for(int spr_index = 0; spr_index < rc_canvas[canvas_id].sprite.size(); spr_index++)
{
rc_sprite2D_obj* sprite = rc_canvas[canvas_id].sprite[spr_index];
@@ -3272,7 +3319,7 @@ void drawSprites(int canvas_id)
rotationPoint.set(x + (src_size.Width/2), y + (src_size.Height/2));
- rotation = -1 * (sprite->physics.body->GetAngle() * (180.0/3.141592653589793238463)); //convert Box2D radians to degrees
+ rotation = -1 * (sprite->physics.body->GetAngle() * RAD_TO_DEG); //convert Box2D radians to degrees
scale.set(sprite->scale.X, sprite->scale.Y);
@@ -3724,7 +3771,9 @@ bool rc_update()
//std::cout << "draw canvas[" << canvas_id << "]" << std::endl;
- drawSprites(canvas_id);
+ if(rc_canvas[canvas_id].type == RC_CANVAS_TYPE_SPRITE)
+ drawSprites(canvas_id);
+
draw2DImage2(VideoDriver, rc_canvas[canvas_id].texture, src, dest, irr::core::vector2d(0, 0), 0, true, color, screenSize);
//drawSprites(canvas_id);
diff --git a/rcbasic_runtime/rc_gfx3D.h b/rcbasic_runtime/rc_gfx3D.h
index 51102ed..d1dbacb 100644
--- a/rcbasic_runtime/rc_gfx3D.h
+++ b/rcbasic_runtime/rc_gfx3D.h
@@ -358,6 +358,18 @@ void rc_setActorCollisionShape(int actor_id, int shape_type, double mass)
rc_actor[actor_id].physics.rigid_body->getIdentification()->setId(actor_id);
rc_actor[actor_id].physics.rigid_body->getPointer()->setActivationState(ACTIVE_TAG);
rc_actor[actor_id].physics.rigid_body->getPointer()->setActivationState(DISABLE_DEACTIVATION);
+ rc_actor[actor_id].physics.rigid_body->getPointer()->updateInertiaTensor();
+ }
+}
+
+void rc_setActorSleepState(int actor, int state)
+{
+ if(actor < 0 || actor >= rc_actor.size())
+ return;
+
+ if(rc_actor[actor].physics.rigid_body)
+ {
+ rc_actor[actor].physics.rigid_body->getPointer()->forceActivationState(state);
}
}
@@ -399,6 +411,14 @@ bool rc_actorIsSolid(int actor_id)
return rc_actor[actor_id].physics.isSolid;
}
+bool rc_actorExists(int actor_id)
+{
+ if(actor_id < 0 || actor_id >= rc_actor.size())
+ return false;
+
+ return (rc_actor[actor_id].node_type > 0);
+}
+
bool rc_getActorCollision(int actor1, int actor2)
{
@@ -1278,6 +1298,14 @@ int rc_getActorMaterial(int actor, int material_num)
return material_id;
}
+bool rc_materialExists(int material_id)
+{
+ if(material_id < 0 || material_id >= rc_material.size())
+ return false;
+
+ return rc_material[material_id].isUsed;
+}
+
void rc_setMaterialAmbientColor(int material_id, Uint32 color)
{
if(material_id < 0 || material_id >= rc_material.size())
@@ -2028,6 +2056,24 @@ int rc_getActorTexture(int actor, int material, int layer)
}
+
+bool rc_getActorTransform(int actor, int t_mat)
+{
+ if(actor < 0 || actor >= rc_actor.size())
+ return false;
+
+ if(t_mat < 0 || t_mat >= rc_matrix.size())
+ return false;
+
+ if(!rc_matrix[t_mat].active)
+ return false;
+
+ irr::core::matrix4 m = rc_actor[actor].mesh_node->getAbsoluteTransformation();
+ rc_convertFromIrrMatrix(m, t_mat);
+
+ return true;
+}
+
//set actor position
void rc_setActorPosition(int actor, double x, double y, double z)
{
@@ -2053,7 +2099,7 @@ void rc_setActorPosition(int actor, double x, double y, double z)
}
//translate actor from local orientation
-void rc_translateActor(int actor, double x, double y, double z)
+void rc_translateActorLocal(int actor, double x, double y, double z)
{
if(actor < 0 || actor >= rc_actor.size())
return;
@@ -2665,7 +2711,7 @@ void rc_getActorRotationQ(int actor, double* x, double* y, double* z, double* w)
}
}
-void rc_getActorLinearVelocity(int actor, double* x, double* y, double* z)
+void rc_getActorLinearVelocityWorld(int actor, double* x, double* y, double* z)
{
if(actor < 0 || actor >= rc_actor.size())
return;
@@ -2683,7 +2729,7 @@ void rc_getActorLinearVelocity(int actor, double* x, double* y, double* z)
}
}
-void rc_getActorAngularVelocity(int actor, double* x, double* y, double* z)
+void rc_getActorAngularVelocityWorld(int actor, double* x, double* y, double* z)
{
if(actor < 0 || actor >= rc_actor.size())
return;
@@ -2991,7 +3037,7 @@ int rc_createPointConstraintEx(int actorA, int actorB, double pxA, double pyA, d
}
}
-void rc_setConstraintPivotA(int constraint_id, double x, double y, double z)
+void rc_setPointPivotA(int constraint_id, double x, double y, double z)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return;
@@ -3003,7 +3049,7 @@ void rc_setConstraintPivotA(int constraint_id, double x, double y, double z)
}
}
-void rc_setConstraintPivotB(int constraint_id, double x, double y, double z)
+void rc_setPointPivotB(int constraint_id, double x, double y, double z)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return;
@@ -3015,7 +3061,7 @@ void rc_setConstraintPivotB(int constraint_id, double x, double y, double z)
}
}
-int rc_createHingeConstraint(int actorA, double pxA, double pyA, double pzA, double axA, double ayA, double azA)
+int rc_createHingeConstraint(int actorA, int frameInA_matrix, bool useReferenceFrameA)
{
if(actorA < 0 || actorA >= rc_actor.size())
return -1;
@@ -3024,9 +3070,12 @@ int rc_createHingeConstraint(int actorA, double pxA, double pyA, double pzA, dou
{
rc_constraint_obj hinge;
hinge.type = RC_CONSTRAINT_TYPE_HINGE;
- btVector3 pvtA(pxA, pyA, pzA);
- btVector3 axis(axA, ayA, azA);
- hinge.constraint = new btHingeConstraint(*rc_actor[actorA].physics.rigid_body->getPointer(), pvtA, axis);
+
+ irr::core::matrix4 irr_matA = rc_convertToIrrMatrix(frameInA_matrix);
+ btTransform frameInA;
+ btTransformFromIrrlichtMatrix(irr_matA, frameInA);
+
+ hinge.constraint = new btHingeConstraint(*rc_actor[actorA].physics.rigid_body->getPointer(), frameInA, useReferenceFrameA);
rc_physics3D.world->getPointer()->addConstraint(hinge.constraint);
int constraint_id = getConstraintId();
rc_physics3D.constraints[constraint_id] = hinge;
@@ -3035,8 +3084,7 @@ int rc_createHingeConstraint(int actorA, double pxA, double pyA, double pzA, dou
}
-int rc_createHingeConstraintEx(int actorA, int actorB, double pxA, double pyA, double pzA, double pxB, double pyB, double pzB,
- double axA, double ayA, double azA, double axB, double ayB, double azB)
+int rc_createHingeConstraintEx(int actorA, int actorB, int frameInA_matrix, int frameInB_matrix, bool useReferenceFrameA)
{
if(actorA < 0 || actorA >= rc_actor.size() || actorB < 0 || actorB >= rc_actor.size())
return -1;
@@ -3046,13 +3094,14 @@ int rc_createHingeConstraintEx(int actorA, int actorB, double pxA, double pyA,
rc_constraint_obj hinge;
hinge.type = RC_CONSTRAINT_TYPE_HINGE;
- btVector3 pvtA(pxA, pyA, pzA);
- btVector3 axisA(axA, ayA, azA);
+ irr::core::matrix4 irr_matA = rc_convertToIrrMatrix(frameInA_matrix);
+ irr::core::matrix4 irr_matB = rc_convertToIrrMatrix(frameInB_matrix);
- btVector3 pvtB(pxB, pyB, pzB);
- btVector3 axisB(axB, ayB, azB);
+ btTransform frameInA, frameInB;
+ btTransformFromIrrlichtMatrix(irr_matA, frameInA);
+ btTransformFromIrrlichtMatrix(irr_matB, frameInB);
- hinge.constraint = new btHingeConstraint(*rc_actor[actorA].physics.rigid_body->getPointer(), *rc_actor[actorB].physics.rigid_body->getPointer(), pvtA, pvtB, axisA, axisB);
+ hinge.constraint = new btHingeConstraint(*rc_actor[actorA].physics.rigid_body->getPointer(), *rc_actor[actorB].physics.rigid_body->getPointer(), frameInA, frameInB, useReferenceFrameA);
rc_physics3D.world->getPointer()->addConstraint(hinge.constraint);
int constraint_id = getConstraintId();
rc_physics3D.constraints[constraint_id] = hinge;
@@ -3169,6 +3218,17 @@ void rc_deleteConstraint(int constraint_id)
}
}
+bool rc_constraintExists(int constraint_id)
+{
+ if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
+ return false;
+
+ if(rc_physics3D.constraints[constraint_id].constraint)
+ return true;
+
+ return false;
+}
+
void rc_getConstraintFrameOffsetA(int constraint_id, double* x, double* y, double* z, double* rx, double* ry, double* rz)
{
@@ -3419,7 +3479,7 @@ int rc_getConstraintBFrame(int constraint_id, int mA)
}
//btHingeConstraint::setAxis()
-void rc_setConstraintAxis(int constraint_id, double x, double y, double z)
+void rc_setHingeAxis(int constraint_id, double x, double y, double z)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return;
@@ -3527,7 +3587,7 @@ void rc_setConeLimit(int constraint_id, double swingSpan1, double swingSpan2, do
}
//btHingeConstraint::getLimitBiasFactor()
-double rc_getConstraintLimitBiasFactor(int constraint_id)
+double rc_getHingeLimitBiasFactor(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -3542,7 +3602,7 @@ double rc_getConstraintLimitBiasFactor(int constraint_id)
}
//btHingeConstraint::getLimitRelaxationFactor()
-double rc_getLimitRelaxationFactor(int constraint_id)
+double rc_getHingeLimitRelaxationFactor(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -3557,7 +3617,7 @@ double rc_getLimitRelaxationFactor(int constraint_id)
}
//btHingeConstraint::getLimitSign()
-double rc_getConstraintLimitSign(int constraint_id)
+double rc_getHingeLimitSign(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -3671,7 +3731,7 @@ int rc_getConstraintFixedActor(int constraint_id)
}
//btPoint2PointConstraint::getPivotInA()
-void rc_getConstraintPivotA(int constraint_id, double* x, double* y, double* z)
+void rc_getPointPivotA(int constraint_id, double* x, double* y, double* z)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return;
@@ -3691,7 +3751,7 @@ void rc_getConstraintPivotA(int constraint_id, double* x, double* y, double* z)
}
//btPoint2PointConstraint::getPivotInB()
-void rc_getConstraintPivotB(int constraint_id, double* x, double* y, double* z)
+void rc_getPointPivotB(int constraint_id, double* x, double* y, double* z)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return;
@@ -3816,7 +3876,7 @@ void rc_setConstraintSolverIterations(int constraint_id, int num)
//
//btConeTwistConstraint::getBiasFactor()
-double rc_getConstraintBiasFactor(int constraint_id)
+double rc_getConeBiasFactor(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -3831,7 +3891,7 @@ double rc_getConstraintBiasFactor(int constraint_id)
}
//btConeTwistConstraint::getDamping()
-double rc_getConstraintDamping(int constraint_id)
+double rc_getConeDamping(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -3846,7 +3906,7 @@ double rc_getConstraintDamping(int constraint_id)
}
//btConeTwistConstraint::getFixThresh()
-double rc_getConstraintFixThresh(int constraint_id)
+double rc_getConeFixThresh(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -3861,7 +3921,7 @@ double rc_getConstraintFixThresh(int constraint_id)
}
//btConeTwistConstraint::getLimit()
-double rc_getConstraintLimit(int constraint_id, int limit_index)
+double rc_getConeLimit(int constraint_id, int limit_index)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -3926,7 +3986,7 @@ double rc_getConstraintSolverIterations(int constraint_id)
}
//btConeTwistConstraint::GetPointForAngle()
-void rc_getConstraintAnglePoint(int constraint_id, double angle, double len, double* x, double* y, double* z)
+void rc_getConeAnglePoint(int constraint_id, double angle, double len, double* x, double* y, double* z)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return;
@@ -3962,7 +4022,7 @@ bool rc_getConstraintAngularOnly(int constraint_id)
}
//btConeTwistConstraint::getSolveSwingLimit()
-int rc_getConstraintSolveSwingLimit(int constraint_id)
+int rc_getConeSolveSwingLimit(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -3976,8 +4036,7 @@ int rc_getConstraintSolveSwingLimit(int constraint_id)
return 0;
}
-//btConeTwistConstraint::getSolveTwistLimit()
-int rc_getConstraintSolveTwistLimit(int constraint_id)
+int rc_getConeSolveTwistLimit(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -3991,23 +4050,8 @@ int rc_getConstraintSolveTwistLimit(int constraint_id)
return 0;
}
-//btHingeConstraint::getSolveLimit()
-int rc_getConstraintSolveLimit(int constraint_id)
-{
- if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
- return 0;
-
- if(rc_physics3D.constraints[constraint_id].type == RC_CONSTRAINT_TYPE_HINGE)
- {
- btHingeConstraint* hinge = (btHingeConstraint*) rc_physics3D.constraints[constraint_id].constraint;
- return hinge->getSolveLimit();
- }
-
- return 0;
-}
-
//btConeTwistConstraint::getSwingSpan1()
-double rc_getConstraintSwingSpan1(int constraint_id)
+double rc_getConeSwingSpan1(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4022,7 +4066,7 @@ double rc_getConstraintSwingSpan1(int constraint_id)
}
//btConeTwistConstraint::getSwingSpan2()
-int rc_getConstraintSwingSpan2(int constraint_id)
+int rc_getConeSwingSpan2(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4037,7 +4081,7 @@ int rc_getConstraintSwingSpan2(int constraint_id)
}
//btConeTwistConstraint::getTwistAngle()
-double rc_getConstraintTwistAngle(int constraint_id)
+double rc_getConeTwistAngle(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4053,7 +4097,7 @@ double rc_getConstraintTwistAngle(int constraint_id)
//btConeTwistConstraint::getTwistLimitSign()
-double rc_getConstraintTwistLimitSign(int constraint_id)
+double rc_getConeTwistLimitSign(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4068,7 +4112,7 @@ double rc_getConstraintTwistLimitSign(int constraint_id)
}
//btConeTwistConstraint::getTwistSpan()
-int rc_getConstraintTwistSpan(int constraint_id)
+int rc_getConeTwistSpan(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4101,7 +4145,7 @@ void rc_setConstraintAngularOnly(int constraint_id, bool flag)
}
//btConeTwistConstraint::setDamping()
-void rc_setConstraintDamping(int constraint_id, double damping)
+void rc_setConeDamping(int constraint_id, double damping)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return;
@@ -4114,7 +4158,7 @@ void rc_setConstraintDamping(int constraint_id, double damping)
}
//btConeTwistConstraint::setFixThresh()
-void rc_setConstraintFixThresh(int constraint_id, double fixThresh)
+void rc_setConeFixThresh(int constraint_id, double fixThresh)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return;
@@ -4128,7 +4172,7 @@ void rc_setConstraintFixThresh(int constraint_id, double fixThresh)
//btSliderConstraint::getAncorInA()
-void rc_getConstraintAnchorA(int constraint_id, double* x, double* y, double* z)
+void rc_getSlideAnchorA(int constraint_id, double* x, double* y, double* z)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return;
@@ -4148,7 +4192,7 @@ void rc_getConstraintAnchorA(int constraint_id, double* x, double* y, double* z)
}
//btSliderConstraint::getAncorInB()
-void rc_getConstraintAnchorB(int constraint_id, double* x, double* y, double* z)
+void rc_getSlideAnchorB(int constraint_id, double* x, double* y, double* z)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return;
@@ -4168,7 +4212,7 @@ void rc_getConstraintAnchorB(int constraint_id, double* x, double* y, double* z)
}
//btSliderConstraint::getAngDepth()
-double rc_getConstraintAngDepth(int constraint_id)
+double rc_getSlideAngDepth(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4183,7 +4227,7 @@ double rc_getConstraintAngDepth(int constraint_id)
}
//btSliderConstraint::getAngularPos()
-double rc_getConstraintAngularPos(int constraint_id)
+double rc_getSlideAngularPos(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4198,7 +4242,7 @@ double rc_getConstraintAngularPos(int constraint_id)
}
//btSliderConstraint::getDampingDirAng()
-double rc_getConstraintDampingDirAng(int constraint_id)
+double rc_getSlideDampingDirAng(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4213,7 +4257,7 @@ double rc_getConstraintDampingDirAng(int constraint_id)
}
//btSliderConstraint::getDampingDirLin()
-double rc_getConstraintDampingDirLin(int constraint_id)
+double rc_getSlideDampingDirLin(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4228,7 +4272,7 @@ double rc_getConstraintDampingDirLin(int constraint_id)
}
//btSliderConstraint::getDampingLimAng()
-double rc_getConstraintDampingLimAng(int constraint_id)
+double rc_getSlideDampingLimAng(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4243,7 +4287,7 @@ double rc_getConstraintDampingLimAng(int constraint_id)
}
//btSliderConstraint::getDampingLimLin()
-double rc_getConstraintDampingLimLin(int constraint_id)
+double rc_getSlideDampingLimLin(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4258,7 +4302,7 @@ double rc_getConstraintDampingLimLin(int constraint_id)
}
//btSliderConstraint::getDampingOrthoAng()
-double rc_getConstraintDampingOrthoAng(int constraint_id)
+double rc_getSlideDampingOrthoAng(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4273,7 +4317,7 @@ double rc_getConstraintDampingOrthoAng(int constraint_id)
}
//btSliderConstraint::getDampingOrthoLin()
-double rc_getConstraintDampingOrthoLin(int constraint_id)
+double rc_getSlideDampingOrthoLin(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4288,7 +4332,7 @@ double rc_getConstraintDampingOrthoLin(int constraint_id)
}
//btSliderConstraint::getLinearPos()
-double rc_getConstraintLinearPos(int constraint_id)
+double rc_getSlideLinearPos(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4303,7 +4347,7 @@ double rc_getConstraintLinearPos(int constraint_id)
}
//btSliderConstraint::getLinDepth()
-double rc_getConstraintLinDepth(int constraint_id)
+double rc_getSlideLinDepth(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4318,7 +4362,7 @@ double rc_getConstraintLinDepth(int constraint_id)
}
//btSliderConstraint::getLowerAngLimit()
-double rc_getConstraintLowerAngLimit(int constraint_id)
+double rc_getSlideLowerAngLimit(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4333,7 +4377,7 @@ double rc_getConstraintLowerAngLimit(int constraint_id)
}
//btSliderConstraint::getLowerLinLimit()
-double rc_getConstraintLowerLinLimit(int constraint_id)
+double rc_getSlideLowerLinLimit(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4348,7 +4392,7 @@ double rc_getConstraintLowerLinLimit(int constraint_id)
}
//btSliderConstraint::getRestitutionDirAng()
-double rc_getConstraintRestitutionDirAng(int constraint_id)
+double rc_getSlideRestitutionDirAng(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4363,7 +4407,7 @@ double rc_getConstraintRestitutionDirAng(int constraint_id)
}
//btSliderConstraint::getRestitutionDirLin()
-double rc_getConstraintRestitutionDirLin(int constraint_id)
+double rc_getSlideRestitutionDirLin(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4378,7 +4422,7 @@ double rc_getConstraintRestitutionDirLin(int constraint_id)
}
//btSliderConstraint::getRestitutionLimAng()
-double rc_getConstraintRestitutionLimAng(int constraint_id)
+double rc_getSlideRestitutionLimAng(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4393,7 +4437,7 @@ double rc_getConstraintRestitutionLimAng(int constraint_id)
}
//btSliderConstraint::getRestitutionLimLin()
-double rc_getConstraintRestitutionLimLin(int constraint_id)
+double rc_getSlideRestitutionLimLin(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4408,7 +4452,7 @@ double rc_getConstraintRestitutionLimLin(int constraint_id)
}
//btSliderConstraint::getRestitutionOrthoAng()
-double rc_getConstraintRestitutionOrthoAng(int constraint_id)
+double rc_getSlideRestitutionOrthoAng(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4423,7 +4467,7 @@ double rc_getConstraintRestitutionOrthoAng(int constraint_id)
}
//btSliderConstraint::getRestitutionOrthoLin()
-double rc_getConstraintRestitutionOrthoLin(int constraint_id)
+double rc_getSlideRestitutionOrthoLin(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4438,7 +4482,7 @@ double rc_getConstraintRestitutionOrthoLin(int constraint_id)
}
//btSliderConstraint::getSoftnessDirAng()
-double rc_getConstraintSoftnessDirAng(int constraint_id)
+double rc_getSlideSoftnessDirAng(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4453,7 +4497,7 @@ double rc_getConstraintSoftnessDirAng(int constraint_id)
}
//btSliderConstraint::getSoftnessDirLin()
-double rc_getConstraintSoftnessDirLin(int constraint_id)
+double rc_getSlideSoftnessDirLin(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4468,7 +4512,7 @@ double rc_getConstraintSoftnessDirLin(int constraint_id)
}
//btSliderConstraint::getSoftnessLimAng()
-double rc_getConstraintSoftnessLimAng(int constraint_id)
+double rc_getSlideSoftnessLimAng(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4483,7 +4527,7 @@ double rc_getConstraintSoftnessLimAng(int constraint_id)
}
//btSliderConstraint::getSoftnessLimLin()
-double rc_getConstraintSoftnessLimLin(int constraint_id)
+double rc_getSlideSoftnessLimLin(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4498,7 +4542,7 @@ double rc_getConstraintSoftnessLimLin(int constraint_id)
}
//btSliderConstraint::getSoftnessOrthoAng()
-double rc_getConstraintSoftnessOrthoAng(int constraint_id)
+double rc_getSlideSoftnessOrthoAng(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4513,7 +4557,7 @@ double rc_getConstraintSoftnessOrthoAng(int constraint_id)
}
//btSliderConstraint::getSoftnessOrthoLin()
-double rc_getConstraintSoftnessOrthoLin(int constraint_id)
+double rc_getSlideSoftnessOrthoLin(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4528,7 +4572,7 @@ double rc_getConstraintSoftnessOrthoLin(int constraint_id)
}
//btSliderConstraint::getSolveAngLimit()
-bool rc_getConstraintSolveAngLimit(int constraint_id)
+bool rc_getSlideSolveAngLimit(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4543,7 +4587,7 @@ bool rc_getConstraintSolveAngLimit(int constraint_id)
}
//btSliderConstraint::getSolveLinLimit()
-bool rc_getConstraintSolveLinLimit(int constraint_id)
+bool rc_getSlideSolveLinLimit(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4558,7 +4602,7 @@ bool rc_getConstraintSolveLinLimit(int constraint_id)
}
//btSliderConstraint::getUpperAngLimit()
-double rc_getConstraintUpperAngLimit(int constraint_id)
+double rc_getSlideUpperAngLimit(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4573,7 +4617,7 @@ double rc_getConstraintUpperAngLimit(int constraint_id)
}
//btSliderConstraint::getUpperLinLimit()
-double rc_getConstraintUpperLinLimit(int constraint_id)
+double rc_getSlideUpperLinLimit(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4588,7 +4632,7 @@ double rc_getConstraintUpperLinLimit(int constraint_id)
}
//btSliderConstraint::getUseFrameOffset()
-bool rc_getConstraintUseFrameOffset(int constraint_id)
+bool rc_getSlideUseFrameOffset(int constraint_id)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return 0;
@@ -4603,7 +4647,7 @@ bool rc_getConstraintUseFrameOffset(int constraint_id)
}
//btSliderConstraint::setDampingDirAng()
-void rc_setConstraintDampingDirAng(int constraint_id, double n)
+void rc_setSlideDampingDirAng(int constraint_id, double n)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return;
@@ -4616,7 +4660,7 @@ void rc_setConstraintDampingDirAng(int constraint_id, double n)
}
//btSliderConstraint::setDampingDirLin()
-void rc_setConstraintDampingDirLin(int constraint_id, double n)
+void rc_setSlideDampingDirLin(int constraint_id, double n)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return;
@@ -4629,7 +4673,7 @@ void rc_setConstraintDampingDirLin(int constraint_id, double n)
}
//btSliderConstraint::setDampingLimAng()
-void rc_setConstraintDampingLimAng(int constraint_id, double n)
+void rc_setSlideDampingLimAng(int constraint_id, double n)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return;
@@ -4642,7 +4686,7 @@ void rc_setConstraintDampingLimAng(int constraint_id, double n)
}
//btSliderConstraint::setDampingLimLin()
-void rc_setConstraintDampingLimLin(int constraint_id, double n)
+void rc_setSlideDampingLimLin(int constraint_id, double n)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return;
@@ -4655,7 +4699,7 @@ void rc_setConstraintDampingLimLin(int constraint_id, double n)
}
//btSliderConstraint::setDampingOrthoAng()
-void rc_setConstraintDampingOrthoAng(int constraint_id, double n)
+void rc_setSlideDampingOrthoAng(int constraint_id, double n)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return;
@@ -4668,7 +4712,7 @@ void rc_setConstraintDampingOrthoAng(int constraint_id, double n)
}
//btSliderConstraint::setDampingOrthoLin()
-void rc_setConstraintDampingOrthoLin(int constraint_id, double n)
+void rc_setSlideDampingOrthoLin(int constraint_id, double n)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return;
@@ -4681,7 +4725,7 @@ void rc_setConstraintDampingOrthoLin(int constraint_id, double n)
}
//btSliderConstraint::setLowerAngLimit()
-void rc_setConstraintLowerAngLimit(int constraint_id, double n)
+void rc_setSlideLowerAngLimit(int constraint_id, double n)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return;
@@ -4694,7 +4738,7 @@ void rc_setConstraintLowerAngLimit(int constraint_id, double n)
}
//btSliderConstraint::setLowerLinLimit()
-void rc_setConstraintLowerLinLimit(int constraint_id, double n)
+void rc_setSlideLowerLinLimit(int constraint_id, double n)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return;
@@ -4707,7 +4751,7 @@ void rc_setConstraintLowerLinLimit(int constraint_id, double n)
}
//btSliderConstraint::setRestitutionDirAng()
-void rc_setConstraintRestitutionDirAng(int constraint_id, double n)
+void rc_setSlideRestitutionDirAng(int constraint_id, double n)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return;
@@ -4720,7 +4764,7 @@ void rc_setConstraintRestitutionDirAng(int constraint_id, double n)
}
//btSliderConstraint::setRestitutionDirLin()
-void rc_setConstraintRestitutionDirLin(int constraint_id, double n)
+void rc_setSlideRestitutionDirLin(int constraint_id, double n)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return;
@@ -4733,7 +4777,7 @@ void rc_setConstraintRestitutionDirLin(int constraint_id, double n)
}
//btSliderConstraint::setRestitutionLimAng()
-void rc_setConstraintRestitutionLimAng(int constraint_id, double n)
+void rc_setSlideRestitutionLimAng(int constraint_id, double n)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return;
@@ -4746,7 +4790,7 @@ void rc_setConstraintRestitutionLimAng(int constraint_id, double n)
}
//btSliderConstraint::setRestitutionLimLin()
-void rc_setConstraintRestitutionLimLin(int constraint_id, double n)
+void rc_setSlideRestitutionLimLin(int constraint_id, double n)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return;
@@ -4759,7 +4803,7 @@ void rc_setConstraintRestitutionLimLin(int constraint_id, double n)
}
//btSliderConstraint::setRestitutionOrthoAng()
-void rc_setConstraintRestitutionOrthoAng(int constraint_id, double n)
+void rc_setSlideRestitutionOrthoAng(int constraint_id, double n)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return;
@@ -4772,7 +4816,7 @@ void rc_setConstraintRestitutionOrthoAng(int constraint_id, double n)
}
//btSliderConstraint::setRestitutionOrthoLin()
-void rc_setConstraintRestitutionOrthoLin(int constraint_id, double n)
+void rc_setSlideRestitutionOrthoLin(int constraint_id, double n)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return;
@@ -4785,7 +4829,7 @@ void rc_setConstraintRestitutionOrthoLin(int constraint_id, double n)
}
//btSliderConstraint::setSoftnessDirAng()
-void rc_setConstraintSoftnessDirAng(int constraint_id, double n)
+void rc_setSlideSoftnessDirAng(int constraint_id, double n)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return;
@@ -4798,7 +4842,7 @@ void rc_setConstraintSoftnessDirAng(int constraint_id, double n)
}
//btSliderConstraint::setSoftnessDirLin()
-void rc_setConstraintSoftnessDirLin(int constraint_id, double n)
+void rc_setSlideSoftnessDirLin(int constraint_id, double n)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return;
@@ -4811,7 +4855,7 @@ void rc_setConstraintSoftnessDirLin(int constraint_id, double n)
}
//btSliderConstraint::setSoftnessLimAng()
-void rc_setConstraintSoftnessLimAng(int constraint_id, double n)
+void rc_setSlideSoftnessLimAng(int constraint_id, double n)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return;
@@ -4824,7 +4868,7 @@ void rc_setConstraintSoftnessLimAng(int constraint_id, double n)
}
//btSliderConstraint::setSoftnessLimLin()
-void rc_setConstraintSoftnessLimLin(int constraint_id, double n)
+void rc_setSlideSoftnessLimLin(int constraint_id, double n)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return;
@@ -4837,7 +4881,7 @@ void rc_setConstraintSoftnessLimLin(int constraint_id, double n)
}
//btSliderConstraint::setSoftnessOrthoAng()
-void rc_setConstraintSoftnessOrthoAng(int constraint_id, double n)
+void rc_setSlideSoftnessOrthoAng(int constraint_id, double n)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return;
@@ -4850,7 +4894,7 @@ void rc_setConstraintSoftnessOrthoAng(int constraint_id, double n)
}
//btSliderConstraint::setSoftnessOrthoLin()
-void rc_setConstraintSoftnessOrthoLin(int constraint_id, double n)
+void rc_setSlideSoftnessOrthoLin(int constraint_id, double n)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return;
@@ -4863,7 +4907,7 @@ void rc_setConstraintSoftnessOrthoLin(int constraint_id, double n)
}
//btSliderConstraint::setUpperAngLimit()
-void rc_setConstraintUpperAngLimit(int constraint_id, double n)
+void rc_setSlideUpperAngLimit(int constraint_id, double n)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return;
@@ -4876,7 +4920,7 @@ void rc_setConstraintUpperAngLimit(int constraint_id, double n)
}
//btSliderConstraint::setUpperLinLimit()
-void rc_setConstraintUpperLinLimit(int constraint_id, double n)
+void rc_setSlideUpperLinLimit(int constraint_id, double n)
{
if(constraint_id < 0 || constraint_id >= rc_physics3D.constraints.size())
return;
@@ -5026,6 +5070,20 @@ double rc_getActorAnimationSpeed(int actor)
return 0;
}
+void rc_setActorFrame(int actor, int frame)
+{
+ if(actor < 0 || actor >= rc_actor.size())
+ return;
+
+ switch(rc_actor[actor].node_type)
+ {
+ case RC_NODE_TYPE_MESH:
+ irr::scene::IAnimatedMeshSceneNode* node = (irr::scene::IAnimatedMeshSceneNode*)rc_actor[actor].mesh_node;
+ node->setCurrentFrame(frame);
+ break;
+ }
+}
+
//set actor animation speed
void rc_setActorAutoCulling(int actor, int cull_type)
{
@@ -5103,7 +5161,7 @@ bool rc_lightIsCastingShadow(int actor)
int rc_getLightType(int actor)
{
if(actor < 0 || actor >= rc_actor.size())
- return 0;
+ return -1;
switch(rc_actor[actor].node_type)
{
@@ -5112,7 +5170,7 @@ int rc_getLightType(int actor)
return (int)node->getLightType();
}
- return 0;
+ return -1;
}
double rc_getLightRadius(int actor)
@@ -5156,19 +5214,6 @@ void rc_setLightRadius(int actor, double radius)
}
}
-void rc_setActorFrame(int actor, int frame)
-{
- if(actor < 0 || actor >= rc_actor.size())
- return;
-
- switch(rc_actor[actor].node_type)
- {
- case RC_NODE_TYPE_MESH:
- irr::scene::IAnimatedMeshSceneNode* node = (irr::scene::IAnimatedMeshSceneNode*)rc_actor[actor].mesh_node;
- node->setCurrentFrame(frame);
- break;
- }
-}
void rc_setLightShadowCast(int actor, bool flag)
{
@@ -5681,6 +5726,17 @@ void rc_setTerrainPatchLOD(int actor, int patchX, int patchZ, int lod)
}
}
+int rc_getParticleType(int actor)
+{
+ if(actor < 0 || actor >= rc_actor.size())
+ return 0;
+
+ if(rc_actor[actor].node_type != RC_NODE_TYPE_PARTICLE)
+ return 0;
+
+ return rc_actor[actor].particle_properties.particle_type;
+}
+
void rc_startParticleEmitter(int actor)
{
if(actor < 0 || actor >= rc_actor.size())
@@ -5962,7 +6018,7 @@ void rc_setParticleMesh(int actor, int mesh)
}
}
-void rc_setParticleMinParticlesPerSecond(int actor, Uint32 minParticlesPerSecond)
+void rc_setMinParticlesPerSecond(int actor, Uint32 minParticlesPerSecond)
{
if(actor < 0 || actor >= rc_actor.size())
return;
@@ -5978,7 +6034,7 @@ void rc_setParticleMinParticlesPerSecond(int actor, Uint32 minParticlesPerSecond
node->getEmitter()->setMinParticlesPerSecond(minParticlesPerSecond);
}
-Uint32 rc_getParticleMinParticlesPerSecond(int actor)
+Uint32 rc_getMinParticlesPerSecond(int actor)
{
if(actor < 0 || actor >= rc_actor.size())
return 0;
@@ -5989,7 +6045,7 @@ Uint32 rc_getParticleMinParticlesPerSecond(int actor)
return rc_actor[actor].particle_properties.minParticlesPerSecond;
}
-void rc_setParticleMaxParticlesPerSecond(int actor, Uint32 maxParticlesPerSecond)
+void rc_setMaxParticlesPerSecond(int actor, Uint32 maxParticlesPerSecond)
{
if(actor < 0 || actor >= rc_actor.size())
return;
@@ -6005,7 +6061,7 @@ void rc_setParticleMaxParticlesPerSecond(int actor, Uint32 maxParticlesPerSecond
node->getEmitter()->setMaxParticlesPerSecond(maxParticlesPerSecond);
}
-Uint32 rc_getParticleMaxParticlesPerSecond(int actor)
+Uint32 rc_getMaxParticlesPerSecond(int actor)
{
if(actor < 0 || actor >= rc_actor.size())
return 0;
@@ -6531,23 +6587,6 @@ bool rc_particleIsUsingOutlineOnly(int actor)
-bool rc_getActorTransform(int actor, int t_mat)
-{
- if(actor < 0 || actor >= rc_actor.size())
- return false;
-
- if(t_mat < 0 || t_mat >= rc_matrix.size())
- return false;
-
- if(!rc_matrix[t_mat].active)
- return false;
-
- irr::core::matrix4 m = rc_actor[actor].mesh_node->getAbsoluteTransformation();
- rc_convertFromIrrMatrix(m, t_mat);
-
- return true;
-}
-
void rc_setCameraPosition(double x, double y, double z)
{
if(!(rc_active_canvas > 0 && rc_active_canvas < rc_canvas.size()))
diff --git a/rcbasic_runtime/rc_gfx_core.h b/rcbasic_runtime/rc_gfx_core.h
index 2872334..8471527 100644
--- a/rcbasic_runtime/rc_gfx_core.h
+++ b/rcbasic_runtime/rc_gfx_core.h
@@ -26,12 +26,12 @@ using namespace video;
using namespace scene;
-#define MAX_JOYSTICKS 8
+#define MAX_JOYSTICKS 32
#define MAX_FINGERS 10
-#define MAX_ACCELS 20
-#define MAX_GYROS 20
+#define MAX_ACCELS 32
+#define MAX_GYROS 32
SDL_Joystick * rc_joystick[MAX_JOYSTICKS];
int rc_joy_axis[MAX_JOYSTICKS][100];
@@ -274,17 +274,24 @@ rc_physicsWorld3D_obj rc_physics3D;
//Canvases
struct rc_physicsWorld2D_obj
{
+ bool enabled = false;
b2World* world;
float timeStep = 1/20.0; //the length of time passed to simulate (seconds)
int velocityIterations = 8; //how strongly to correct velocity
int positionIterations = 3; //how strongly to correct position
};
+#define RC_CANVAS_TYPE_2D 0
+#define RC_CANVAS_TYPE_3D 1
+#define RC_CANVAS_TYPE_SPRITE 2
+
struct rc_canvas_obj
{
irr::video::ITexture* texture;
- irr::video::ITexture* sprite_layer;
+ //irr::video::ITexture* sprite_layer;
+
+ int type;
irr::core::dimension2d dimension;
diff --git a/rcbasic_runtime/rc_test.h b/rcbasic_runtime/rc_test.h
index 3954f38..6f03a0b 100644
--- a/rcbasic_runtime/rc_test.h
+++ b/rcbasic_runtime/rc_test.h
@@ -1,12 +1,9 @@
#ifndef RC_TEST_H_INCLUDED
#define RC_TEST_H_INCLUDED
-void rc_tst(double* z)
+void rc_tst()
{
std::cout << "this is a test" << std::endl;
- *z = 37;
-
- std::cout << "the end" << std::endl;
}
#endif // RC_TEST_H_INCLUDED
diff --git a/unit_test/media/map-20kdm2.txt b/unit_test/media/map-20kdm2.txt
new file mode 100644
index 0000000..6db34ff
--- /dev/null
+++ b/unit_test/media/map-20kdm2.txt
@@ -0,0 +1,50 @@
+
+-=( Map Information )=- -----------------------------------------------
+
+ : Return to Castle: Quake
+ : 02/02/02 - ren 11/17/2002
+ : map-20kdm2.pk3
+ : Michael "<|3FG20K>" Cook
+ : bfg20k@nycap.rr.com / bfg20k@planetquake.com
+ : http://www.planetquake.com/bfg20k
+ : This is an Evil7 Castle! It has three tiers,
+ tight spaces, and plenty of room for various
+ battles.
+
+ : [HFX]Evil, for making great textures.
+
+-=( Construction )=- --------------------------------------------------
+
+ : None.
+ : Q3Radiant - Build 202 & Q3Build
+ : This isn't really a bug, but an added feature;
+ you can walk on top of the battlements.
+ : 3 weeks.
+ : 866mhz PIII, 512mb RAM
+
+-=( Play Information )=- ----------------------------------------------
+
+ : A good one.
+ : 2-8 Players
+ : Duh! wait, I THINK they're smarter than Forrest
+ Gump... You'll have to clarify that for me =).
+
+-={ Installation }=- --------------------------------------------------
+
+ : Unzip the the zip file map-20kdm2.zip into
+ your "Quake III Arena\baseq3" directory
+ Run Quake III Arena, and under console type
+ "/map 20kdm2" or select under Skirmish in
+ SIngle Player mode.
+
+-=( Copyright / Permissions )=- ---------------------------------------
+
+ : You not include or distribute this map in any
+ sort of commercial product without permission
+ from the author. You may not mass distribute
+ this level via any non-electronic means
+ including but not limited to compact disks,
+ and floppy disks without permission from the
+ author.
+
+-=( This is the End )=- -----------------------------------------------
diff --git a/unit_test/test.bas b/unit_test/test.bas
new file mode 100644
index 0000000..c081ae1
--- /dev/null
+++ b/unit_test/test.bas
@@ -0,0 +1,317 @@
+Sub cat( cat_name$ )
+ Print""
+ Print "---------------------["; UCase$(cat_name$); " Test]---------------------"
+End Sub
+
+
+cat("Console I/O")
+
+FPrint("Single Line")
+FPrint("Two\nLines")
+Print ""
+user_input$ = Input$("Enter Something: ")
+Print ""
+Print "You type: "; user_input$
+
+
+cat("Arrays")
+Dim num_array1D[7]
+Dim str_array1D$[11]
+Dim usr_array1D[22] As Empty
+
+Dim num_array2D[4, 6]
+Dim str_array2D$[3, 9]
+Dim usr_array2D[2,5] As Empty
+
+Dim num_array3D[13,11,6]
+Dim str_array3D[11,22,7]
+Dim usr_array3D[12,5,14] As Empty
+
+Print "*** ArrayDim() Test ***"
+Print ""
+
+Print "num_array1D[] dimensions: expected=1, returned="; ArrayDim(num_array1D)
+Print "str_array1D[] dimensions: expected=1, returned="; ArrayDim(str_array1D)
+Print "usr_array1D[] dimensions: expected=1, returned="; ArrayDim(usr_array1D)
+
+Print ""
+
+Print "num_array2D[] dimensions: expected=2, returned="; ArrayDim(num_array2D)
+Print "str_array2D[] dimensions: expected=2, returned="; ArrayDim(str_array2D)
+Print "usr_array2D[] dimensions: expected=2, returned="; ArrayDim(usr_array2D)
+
+Print ""
+
+Print "num_array3D[] dimensions: expected=3, returned="; ArrayDim(num_array3D)
+Print "str_array3D[] dimensions: expected=3, returned="; ArrayDim(str_array3D)
+Print "usr_array3D[] dimensions: expected=3, returned="; ArrayDim(usr_array3D)
+
+Print ""
+
+Print "*** ArraySize() Test ***"
+Print ""
+
+Print "num_array1D[] Size: expected=7,0,0, returned="; ArraySize(num_array1D,1); ","; ArraySize(num_array1D,2); ","; ArraySize(num_array1D,3)
+Print "str_array1D[] Size: expected=11,0,0, returned="; ArraySize(str_array1D,1); ","; ArraySize(str_array1D,2); ","; ArraySize(str_array1D,3)
+Print "usr_array1D[] Size: expected=22,0,0, returned="; ArraySize(usr_array1D,1); ","; ArraySize(usr_array1D,2); ","; ArraySize(usr_array1D,3)
+
+Print ""
+
+Print "num_array2D[] Size: expected=4,6,0, returned="; ArraySize(num_array2D,1); ","; ArraySize(num_array2D,2); ","; ArraySize(num_array2D,3)
+Print "str_array2D[] Size: expected=3,9,0, returned="; ArraySize(str_array2D,1); ","; ArraySize(str_array2D,2); ","; ArraySize(str_array2D,3)
+Print "usr_array2D[] Size: expected=2,5,0, returned="; ArraySize(usr_array2D,1); ","; ArraySize(usr_array2D,2); ","; ArraySize(usr_array2D,3)
+
+Print ""
+
+Print "num_array3D[] Size: expected=13,11,6, returned="; ArraySize(num_array3D,1); ","; ArraySize(num_array3D,2); ","; ArraySize(num_array3D,3)
+Print "str_array3D[] Size: expected=11,22,7, returned="; ArraySize(str_array3D,1); ","; ArraySize(str_array3D,2); ","; ArraySize(str_array3D,3)
+Print "usr_array3D[] Size: expected=12,5,14, returned="; ArraySize(usr_array3D,1); ","; ArraySize(usr_array3D,2); ","; ArraySize(usr_array3D,3)
+
+Print ""
+
+Print "*** ArrayCopy() Test ***"
+Print ""
+
+Dim num_array_copy1D_smaller[3]
+Dim num_array_copy1D_bigger[21]
+
+Dim str_array_copy1D_smaller$[3]
+Dim str_array_copy1D_bigger$[21]
+
+num_array1D[0] = -4
+num_array1D[1] = 12
+num_array1D[2] = 9
+num_array1D[6] = 99
+
+str_array1D$[0] = "zero"
+str_array1D$[4] = "FoUr"
+str_array1D$[9] = "NINE"
+str_array1D$[10] = "ten"
+
+Type Test_Type1
+ Dim x[5]
+ Dim y[7,5]
+ Dim txt_var1$
+ Dim txt_var2$[14]
+End Type
+
+Type Test_Type2
+ Dim t2_var1[7,5] As Test_Type1
+ Dim v1[25]
+ Dim txt_var1$
+End Type
+
+Type Test_Type3
+ Dim tst_t[7,5,9] As Test_Type2
+ Dim tst_t2 As Test_Type2
+ Dim x, y[6,5], z[21]
+ Dim txt_var1$[8,7]
+End Type
+
+Dim type_array[10] As Test_Type3
+Dim type_array_copy_smaller[3]
+Dim type_array_copy_bigger[19]
+
+type_array[0].tst_t[3,4,7].t2_var1[5,3].txt_var2$[7] = "test type array Case One"
+type_array[0].tst_t[3,4,7].t2_var1[5,3].y[4,2] = 42
+type_array[9].tst_t[6,4,8].t2_var1[5,3].txt_var2$[7] = "test type array Case Two"
+type_array[0].tst_t[3,4,7].v1[4] = 29.54
+type_array[9].txt_var1$[5,6] = "test type array Case Three"
+
+ArrayCopy(num_array1D, num_array_copy1D_smaller)
+ArrayCopy(num_array1D, num_array_copy1D_bigger)
+
+ArrayCopy(str_array1D, str_array_copy1D_smaller)
+ArrayCopy(str_array1D, str_array_copy1D_bigger)
+
+Print "test type"
+ArrayCopy(type_array, type_array_copy_smaller)
+Print "Not Dead yet"
+ArrayCopy(type_array, type_array_copy_bigger)
+
+Print "num_array1D[] Size: expected=7,0,0, returned="; ArraySize(num_array1D,1); ","; ArraySize(num_array1D,2); ","; ArraySize(num_array1D,3)
+Print "str_array1D[] Size: expected=11,0,0, returned="; ArraySize(str_array1D,1); ","; ArraySize(str_array1D,2); ","; ArraySize(str_array1D,3)
+Print "usr_array1D[] Size: expected=22,0,0, returned="; ArraySize(usr_array1D,1); ","; ArraySize(usr_array1D,2); ","; ArraySize(usr_array1D,3)
+
+
+
+'Testing User Types
+Type TestType1
+ Dim x, y[5]
+ Dim txt$[7]
+ Dim t2$
+End Type
+
+Type TestType2
+ Dim a
+ Dim b[12] As TestType1
+ Dim c As TestType1
+End Type
+
+Type TestType3
+ Dim r[6] As TestType2
+ Dim c As TestType1
+End Type
+
+
+Dim v[20] As TestType3
+
+v[4].r[2].b[11].txt$[4] = "hello"
+
+Print "Testing User Defined Types"
+Print "------------------------------"
+For i = 0 to ArraySize(v[4].r[2].b[11].txt$, 1)-1
+ Print "txt["; i; "] = "; v[4].r[2].b[11].txt$[i]
+Next
+
+
+Print ""
+Print "Testing Graphics and Physics"
+'Testing Graphics
+OpenWindow("Test Window", 640, 480, 0, 0)
+
+Dim w, h
+
+GetWindowSize(w, h)
+
+Print "Win Size = "; w;", "; h
+
+canvas1 = OpenCanvas(640, 480, 0, 0, 640, 480, 0)
+canvas2 = OpenCanvas(640, 480, 0, 0, 640, 480, 0)
+
+SetCanvasZ(canvas2, 0)
+
+SetCanvas3D(canvas1, true)
+
+fnt$ = "NotoSansJP-VariableFont_wght.ttf"
+hud_font = loadFont(fnt, 12)
+
+Canvas(canvas2)
+
+SetColor(RGB(255,255,255))
+Dim hud_txt$[9]
+hud_txt$[0] = "W/A/S/D Keys to Move"
+hud_txt$[1] = "R/F Keys to Move Up/Down"
+hud_txt$[2] = "Arrow Keys to Rotate Camera"
+hud_txt$[3] = "Z Key to Rotate Character"
+hud_txt$[4] = "X Key to Move Character Forward"
+hud_txt$[5] = "C Key to Move Character Up"
+
+For i = 0 to 5
+ DrawText(hud_txt$[i], 10, 10+(i*15))
+Next
+
+Canvas(canvas1)
+
+mesh1 = LoadMesh("media/sydney.md2")
+
+actor1 = CreateMeshActor(mesh1)
+actor1_texture = LoadImage("media/sydney.bmp")
+mat = CreateMaterial()
+SetMaterialTexture(mat, 0, actor1_texture)
+SetMaterialLighting(mat, false)
+SetActorMaterial(actor1, 0, mat)
+
+a_mat = GetActorMaterial(actor1, 0)
+SetMaterialLighting(a_mat, false)
+
+SetActorSolid(actor1, true)
+SetActorCollisionShape(actor1, 4, 25)
+TranslateActor(actor1, 0, 150, 0)
+
+
+level = LoadMeshFromArchive("media/map-20kdm2.pk3", "20kdm2.bsp")
+actor2 = CreateMeshOctreeActor(level)
+SetActorSolid(actor2, true)
+SetActorCollisionShape(actor2, 7, 0)
+
+
+Dim ax, ay, az
+
+Canvas(canvas1)
+SetActorPosition(actor1, 1160, 399, 2122)
+SetActorRotation(actor1, 0, 0, 0)
+
+SetCameraPosition(984, 488, 2303)
+SetCameraRotation(23, 1216, 0)
+
+init = true
+i = 0
+
+Dim vx, vy, vz
+mass = 8
+GetActorLocalInertia(actor1, vx, vy, vz)
+SetActorMassProperties(actor1, mass, vx, vy, vz)
+SetActorGravity(actor1, 0, -100, 0)
+
+While Not Key(K_ESCAPE)
+
+ SetActorAngularVelocityWorld(actor1, 0, 0, 0)
+
+ If Key(K_W) Then
+ Canvas(canvas1)
+ TranslateCamera(0,0,10)
+ ElseIf Key(K_S) Then
+ Canvas(canvas1)
+ TranslateCamera(0,0,-10)
+ End If
+
+ If Key(K_A) Then
+ Canvas(canvas1)
+ TranslateCamera(-10,0,0)
+ ElseIf Key(K_D) Then
+ Canvas(canvas1)
+ TranslateCamera(10,0,0)
+ End If
+
+ If Key(K_R) Then
+ Canvas(canvas1)
+ Dim crx, cry, crz
+ GetCameraPosition(crx, cry, crz)
+ SetCameraPosition(crx, cry+10, crz)
+ ElseIf Key(K_F) Then
+ Canvas(canvas1)
+ 'TranslateCameraW(0, -10, 0) - Haven't added this function yet
+ Dim crx, cry, crz
+ GetCameraPosition(crx, cry, crz)
+ SetCameraPosition(crx, cry-10, crz)
+ End If
+
+
+ If Key(K_UP) Then
+ Canvas(canvas1)
+ RotateCamera(1, 0, 0)
+ ElseIf Key(K_DOWN) Then
+ Canvas(canvas1)
+ RotateCamera(-1, 0, 0)
+ End If
+
+ If Key(K_LEFT) Then
+ Canvas(canvas1)
+ Dim crx, cry, crz
+ GetCameraRotation(crx, cry, crz)
+
+ RotateCamera(-1*crx, 0, 0)
+ RotateCamera(0, -1, 0)
+ RotateCamera(crx, 0, 0)
+ ElseIf Key(K_RIGHT) Then
+ Canvas(canvas1)
+ Dim crx, cry, crz
+ GetCameraRotation(crx, cry, crz)
+ SetCameraRotation(crx, cry+1, crz)
+ End If
+
+ If Key(K_Z) Then
+ SetActorAngularVelocityLocal(actor1, 0, 10, 0)
+ End If
+
+ If Key(K_X) Then
+ SetActorLinearVelocityLocal(actor1, 60, 0, 0)
+ End If
+
+ If Key(K_C) Then
+ SetActorLinearVelocityLocal(actor1, 0, 60, 0)
+ End If
+
+ Update()
+Wend
diff --git a/unit_test/unittest_arrays.bas b/unit_test/unittest_arrays.bas
new file mode 100644
index 0000000..4ae8e08
--- /dev/null
+++ b/unit_test/unittest_arrays.bas
@@ -0,0 +1,154 @@
+Include "unittest_lib.bas"
+
+cat("Arrays")
+Dim num_array1D[7]
+Dim str_array1D$[11]
+Dim usr_array1D[22] As Empty
+
+Dim num_array2D[4, 6]
+Dim str_array2D$[3, 9]
+Dim usr_array2D[2,5] As Empty
+
+Dim num_array3D[13,11,6]
+Dim str_array3D[11,22,7]
+Dim usr_array3D[12,5,14] As Empty
+
+Print "*** ArrayDim() Test ***"
+Print ""
+
+Print "num_array1D[] dimensions: expected=1, returned="; ArrayDim(num_array1D)
+Print "str_array1D[] dimensions: expected=1, returned="; ArrayDim(str_array1D)
+Print "usr_array1D[] dimensions: expected=1, returned="; ArrayDim(usr_array1D)
+
+Print ""
+
+Print "num_array2D[] dimensions: expected=2, returned="; ArrayDim(num_array2D)
+Print "str_array2D[] dimensions: expected=2, returned="; ArrayDim(str_array2D)
+Print "usr_array2D[] dimensions: expected=2, returned="; ArrayDim(usr_array2D)
+
+Print ""
+
+Print "num_array3D[] dimensions: expected=3, returned="; ArrayDim(num_array3D)
+Print "str_array3D[] dimensions: expected=3, returned="; ArrayDim(str_array3D)
+Print "usr_array3D[] dimensions: expected=3, returned="; ArrayDim(usr_array3D)
+
+Print ""
+
+Print "*** ArraySize() Test ***"
+Print ""
+
+Print "num_array1D[] Size: expected=7,0,0, returned="; ArraySize(num_array1D,1); ","; ArraySize(num_array1D,2); ","; ArraySize(num_array1D,3)
+Print "str_array1D[] Size: expected=11,0,0, returned="; ArraySize(str_array1D,1); ","; ArraySize(str_array1D,2); ","; ArraySize(str_array1D,3)
+Print "usr_array1D[] Size: expected=22,0,0, returned="; ArraySize(usr_array1D,1); ","; ArraySize(usr_array1D,2); ","; ArraySize(usr_array1D,3)
+
+Print ""
+
+Print "num_array2D[] Size: expected=4,6,0, returned="; ArraySize(num_array2D,1); ","; ArraySize(num_array2D,2); ","; ArraySize(num_array2D,3)
+Print "str_array2D[] Size: expected=3,9,0, returned="; ArraySize(str_array2D,1); ","; ArraySize(str_array2D,2); ","; ArraySize(str_array2D,3)
+Print "usr_array2D[] Size: expected=2,5,0, returned="; ArraySize(usr_array2D,1); ","; ArraySize(usr_array2D,2); ","; ArraySize(usr_array2D,3)
+
+Print ""
+
+Print "num_array3D[] Size: expected=13,11,6, returned="; ArraySize(num_array3D,1); ","; ArraySize(num_array3D,2); ","; ArraySize(num_array3D,3)
+Print "str_array3D[] Size: expected=11,22,7, returned="; ArraySize(str_array3D,1); ","; ArraySize(str_array3D,2); ","; ArraySize(str_array3D,3)
+Print "usr_array3D[] Size: expected=12,5,14, returned="; ArraySize(usr_array3D,1); ","; ArraySize(usr_array3D,2); ","; ArraySize(usr_array3D,3)
+
+Print ""
+
+Print "*** ArrayCopy() Test ***"
+Print ""
+
+Dim num_array_copy1D_smaller[3]
+Dim num_array_copy1D_bigger[21]
+
+Dim str_array_copy1D_smaller$[3]
+Dim str_array_copy1D_bigger$[21]
+
+num_array1D[0] = -4
+num_array1D[1] = 12
+num_array1D[2] = 9
+num_array1D[6] = 99
+
+str_array1D$[0] = "zero"
+str_array1D$[4] = "FoUr"
+str_array1D$[9] = "NINE"
+str_array1D$[10] = "ten"
+
+Type Test_Type1
+ Dim x[5]
+ Dim y[7,5]
+ Dim txt_var1$
+ Dim txt_var2$[14]
+End Type
+
+Type Test_Type2
+ Dim t2_var1[7,5] As Test_Type1
+ Dim v1[25]
+ Dim txt_var1$
+End Type
+
+Type Test_Type3
+ Dim tst_t[7,5,9] As Test_Type2
+ Dim tst_t2 As Test_Type2
+ Dim x, y[6,5], z[21]
+ Dim txt_var1$[8,7]
+End Type
+
+Dim type_array[10] As Test_Type3
+Dim type_array_copy1D_smaller[3] As Test_Type3
+Dim type_array_copy1D_bigger[19] As Test_Type3
+
+type_array[0].tst_t[3,4,7].t2_var1[5,3].txt_var2$[7] = "test type array Case One"
+type_array[0].tst_t[3,4,7].t2_var1[5,3].y[4,2] = 42
+type_array[9].tst_t[6,4,8].t2_var1[5,3].txt_var2$[7] = "test type array Case Two"
+type_array[0].tst_t[3,4,7].v1[4] = 29.54
+type_array[9].txt_var1$[5,6] = "test type array Case Three"
+
+ArrayCopy(num_array1D, num_array_copy1D_smaller)
+ArrayCopy(num_array1D, num_array_copy1D_bigger)
+
+ArrayCopy(str_array1D, str_array_copy1D_smaller)
+ArrayCopy(str_array1D, str_array_copy1D_bigger)
+
+ArrayCopy(type_array, type_array_copy1D_smaller)
+ArrayCopy(type_array, type_array_copy1D_bigger)
+
+Print "num_array_copy1D_smaller[] Size: expected=7,0,0, returned="; ArraySize(num_array_copy1D_smaller,1); ","; ArraySize(num_array_copy1D_smaller,2); ","; ArraySize(num_array_copy1D_smaller,3)
+Print "num_array_copy1D_smaller[0] Value: expected=-4, returned="; num_array_copy1D_smaller[0]
+Print "num_array_copy1D_smaller[1] Value: expected=12, returned="; num_array_copy1D_smaller[1]
+Print "num_array_copy1D_smaller[6] Value: expected=99, returned="; num_array_copy1D_smaller[6]
+Print ""
+Print "num_array_copy1D_bigger[] Size: expected=7,0,0, returned="; ArraySize(num_array_copy1D_bigger,1); ","; ArraySize(num_array_copy1D_bigger,2); ","; ArraySize(num_array_copy1D_bigger,3)
+Print "num_array_copy1D_bigger[0] Value: expected=-4, returned="; num_array_copy1D_bigger[0]
+Print "num_array_copy1D_bigger[1] Value: expected=12, returned="; num_array_copy1D_bigger[1]
+Print "num_array_copy1D_bigger[6] Value: expected=99, returned="; num_array_copy1D_bigger[6]
+Print ""
+Print dash_line$
+Print ""
+
+Print "str_array_copy1D_smaller[] Size: expected=11,0,0, returned="; ArraySize(str_array_copy1D_smaller,1); ","; ArraySize(str_array_copy1D_smaller,2); ","; ArraySize(str_array_copy1D_smaller,3)
+Print "str_array_copy1D_smaller[0] Value: expected=\qzero\q, returned=\q"; str_array_copy1D_smaller[0];"\q"
+Print "str_array_copy1D_smaller[4] Value: expected=\qFoUr\q, returned=\q"; str_array_copy1D_smaller[4];"\q"
+Print "str_array_copy1D_smaller[10] Value: expected=\qten\q, returned=\q"; str_array_copy1D_smaller[10];"\q"
+Print ""
+Print "str_array_copy1D_bigger[] Size: expected=11,0,0, returned="; ArraySize(str_array_copy1D_bigger,1); ","; ArraySize(str_array_copy1D_bigger,2); ","; ArraySize(str_array_copy1D_bigger,3)
+Print "str_array_copy1D_smaller[0] Value: expected=\qzero\q, returned=\q"; str_array_copy1D_bigger[0];"\q"
+Print "str_array_copy1D_smaller[4] Value: expected=\qFoUr\q, returned=\q"; str_array_copy1D_bigger[4];"\q"
+Print "str_array_copy1D_smaller[10] Value: expected=\qten\q, returned=\q"; str_array_copy1D_bigger[10];"\q"
+Print ""
+Print dash_line$
+Print ""
+
+Print "type_array_copy1D_smaller[] Size: expected=10,0,0, returned="; ArraySize(type_array_copy1D_smaller,1); ","; ArraySize(type_array_copy1D_smaller,2); ","; ArraySize(type_array_copy1D_smaller,3)
+Print "type_array_copy1D_smaller[] Number Member Value: expected=42, returned="; type_array_copy1D_smaller[0].tst_t[3,4,7].t2_var1[5,3].y[4,2]
+Print "type_array_copy1D_smaller[] Number Member Value: expected=29.54, returned="; type_array_copy1D_smaller[0].tst_t[3,4,7].v1[4]
+Print "type_array_copy1D_smaller[] String Member Value: expected=\qtest type array Case Two\q, returned=\q"; type_array_copy1D_smaller[9].tst_t[6,4,8].t2_var1[5,3].txt_var2$[7];"\q"
+Print ""
+Print "type_array_copy1D_bigger[] Size: expected=10,0,0, returned="; ArraySize(type_array_copy1D_bigger,1); ","; ArraySize(type_array_copy1D_bigger,2); ","; ArraySize(type_array_copy1D_bigger,3)
+Print "type_array_copy1D_bigger[] Number Member Value: expected=42, returned="; type_array_copy1D_bigger[0].tst_t[3,4,7].t2_var1[5,3].y[4,2]
+Print "type_array_copy1D_bigger[] Number Member Value: expected=29.54, returned="; type_array_copy1D_bigger[0].tst_t[3,4,7].v1[4]
+Print "type_array_copy1D_bigger[] String Member Value: expected=\qtest type array Case Two\q, returned=\q"; type_array_copy1D_bigger[9].tst_t[6,4,8].t2_var1[5,3].txt_var2$[7];"\q"
+Print ""
+Print dash_line$
+Print ""
+
diff --git a/unit_test/unittest_conio.bas b/unit_test/unittest_conio.bas
new file mode 100644
index 0000000..39c4869
--- /dev/null
+++ b/unit_test/unittest_conio.bas
@@ -0,0 +1,11 @@
+Include "unittest_lib.bas"
+
+cat("Console I/O")
+
+FPrint("Single Line")
+Print "\n"
+FPrint("Two\nLines")
+Print "\n"
+user_input$ = Input$("Enter Something: ")
+Print ""
+Print "You type: "; user_input$
diff --git a/unit_test/unittest_lib.bas b/unit_test/unittest_lib.bas
new file mode 100644
index 0000000..679e1ef
--- /dev/null
+++ b/unit_test/unittest_lib.bas
@@ -0,0 +1,9 @@
+Include Once
+
+Sub cat( cat_name$ )
+ Print""
+ Print "---------------------["; UCase$(cat_name$); " Test]---------------------"
+End Sub
+
+dash_line$ = "--------------------------------------------------------------------------"
+
diff --git a/unit_test/unittest_strings.bas b/unit_test/unittest_strings.bas
new file mode 100644
index 0000000..e4c896d
--- /dev/null
+++ b/unit_test/unittest_strings.bas
@@ -0,0 +1,200 @@
+Include "unittest_lib.bas"
+
+cat("Strings")
+
+Dim txt$
+
+Print "txt$=\q\q"
+Print ""
+Print "txt Len: Expected=0 Returned="; Len(txt$)
+Print "txt Size: Expected=0 Returned="; Size(txt$)
+
+Print ""
+
+txt = "hello world"
+
+Print "txt$=\q"; txt; "\q"
+Print ""
+Print "txt Len: Expected=11 Returned="; Len(txt$)
+Print "txt Size: Expected=11 Returned="; Size(txt$)
+
+Print ""
+
+txt = "こんにちは世界"
+
+Print "txt$=\q"; txt; "\q"
+Print ""
+Print "txt Len: Expected=7 Returned="; Len(txt$)
+Print "txt Size: Expected=21 Returned="; Size(txt$)
+
+Print ""
+
+Print "txt ASC: Expected=12371 Returned="; Asc(txt)
+
+txt = "ABCDE"
+Print "txt$=\q"; txt; "\q"
+Print ""
+Print "txt ASC: Expected=65 Returned="; Asc(txt)
+Print ""
+
+txt = "B"
+Print "txt$=\q"; txt; "\q"
+Print ""
+Print "txt ASC: Expected=66 Returned="; Asc(txt)
+Print ""
+
+
+txt = ""
+Print "txt$=\q"; txt; "\q"
+Print ""
+Print "txt ASC: Expected=0 Returned="; Asc(txt)
+Print ""
+
+Print "Chr$: Expected=\q界\q"; " Returned=\q"; Chr$(30028); "\q"
+Print ""
+
+txt = "ちは世界"
+
+txt = Insert(txt, "ん", 3)
+
+Print "Insert$: Expected=\qちは世ん界\q"; " Returned=\q"; Insert(txt, "ん", 3); "\q"
+Print ""
+
+i = InStr(txt, "ん")
+
+Print "InStr$: Expected=3"; " Returned="; i
+Print ""
+
+Print "LCase$: Expected=\qhello world\q"; " Returned=\q"; LCase$("HELLO world"); "\q"
+Print "LCase$: Expected=\q\q"; " Returned=\q"; LCase$(""); "\q"
+Print ""
+
+Print "UCase$: Expected=\qHELLO WORLD\q"; " Returned=\q"; UCase$("HELLO world"); "\q"
+Print "UCase$: Expected=\q\q"; " Returned=\q"; UCase$(""); "\q"
+Print ""
+
+txt = "hello world"
+Print "Left$: Expected=\qhel\q"; " Returned=\q"; Left$(txt, 3); "\q"
+txt = "ちは世ん界"
+Print "Left$: Expected=\qちは世\q"; " Returned=\q"; Left$(txt, 3); "\q"
+txt = ""
+Print "Left$: Expected=\q\q"; " Returned=\q"; Left$(txt, 3); "\q"
+Print ""
+
+
+txt = "hello world"
+Print "Right$: Expected=\qrld\q"; " Returned=\q"; Right$(txt, 3); "\q"
+txt = "ちは世ん界"
+Print "Right$: Expected=\q世ん界\q"; " Returned=\q"; Right$(txt, 3); "\q"
+txt = ""
+Print "Right$: Expected=\q\q"; " Returned=\q"; Right$(txt, 3); "\q"
+Print ""
+
+
+txt = "hello world"
+Print "Mid$: Expected=\qlo w\q"; " Returned=\q"; Mid$(txt, 3, 4); "\q"
+txt = "ちは世ん界"
+Print "Mid$: Expected=\qは世\q"; " Returned=\q"; Mid$(txt, 1, 2); "\q"
+txt = ""
+Print "Mid$: Expected=\q\q"; " Returned=\q"; Mid$(txt, 1, 2); "\q"
+Print ""
+
+
+txt = " hello world "
+Print "LTrim$: Expected=\qhello world \q"; " Returned=\q"; LTrim$(txt); "\q"
+txt = " ちは世ん界 "
+Print "LTrim$: Expected=\qちは世ん界 \q"; " Returned=\q"; LTrim$(txt); "\q"
+txt = " "
+Print "LTrim$: Expected=\q\q"; " Returned=\q"; LTrim$(txt); "\q"
+txt = ""
+Print "LTrim$: Expected=\q\q"; " Returned=\q"; LTrim$(txt); "\q"
+Print ""
+
+txt = " hello world "
+Print "RTrim$: Expected=\q hello world\q"; " Returned=\q"; RTrim$(txt); "\q"
+txt = " ちは世ん界 "
+Print "RTrim$: Expected=\q ちは世ん界\q"; " Returned=\q"; RTrim$(txt); "\q"
+txt = " "
+Print "RTrim$: Expected=\q\q"; " Returned=\q"; RTrim$(txt); "\q"
+txt = ""
+Print "RTrim$: Expected=\q\q"; " Returned=\q"; RTrim$(txt); "\q"
+Print ""
+
+
+txt = " hello world "
+Print "Trim$: Expected=\qhello world\q"; " Returned=\q"; Trim$(txt); "\q"
+txt = " ちは世ん界 "
+Print "Trim$: Expected=\qちは世ん界\q"; " Returned=\q"; Trim$(txt); "\q"
+txt = " "
+Print "Trim$: Expected=\q\q"; " Returned=\q"; Trim$(txt); "\q"
+txt = ""
+Print "Trim$: Expected=\q\q"; " Returned=\q"; Trim$(txt); "\q"
+Print ""
+
+
+txt = " hello world "
+Print "Replace$: Expected=\qheppo worpd\q"; " Returned=\q"; Replace$(txt,"l", "p"); "\q"
+txt = " ちは世ん界 "
+Print "Replace$: Expected=\q ちhelloん界 \q"; " Returned=\q"; Replace$(txt, "は世", "hello"); "\q"
+txt = " "
+Print "Replace$: Expected=\qz \q"; " Returned=\q"; Replace$(txt, " ", "z"); "\q"
+txt = ""
+Print "Replace$: Expected=\q\q"; " Returned=\q"; Replace$(txt, "", "zzz"); "\q"
+Print ""
+
+
+txt = " hello world "
+Print "ReplaceSubstr$: Expected=\q ghjillo world \q"; " Returned=\q"; ReplaceSubstr$(txt,"ghji",3); "\q"
+txt = " ちは世ん界 "
+Print "ReplaceSubstr$: Expected=\q ghji世ん界 \q"; " Returned=\q"; ReplaceSubstr$(txt, "ghji", 3); "\q"
+txt = " "
+Print "ReplaceSubstr$: Expected=\q z \q"; " Returned=\q"; ReplaceSubstr$(txt, "z", 1); "\q"
+txt = ""
+Print "ReplaceSubstr$: Expected=\q\q"; " Returned=\q"; ReplaceSubstr$(txt, "zzz", 0); "\q"
+Print ""
+
+
+txt = " hello world "
+Print "Reverse$: Expected=\q dlrow olleh \q"; " Returned=\q"; Reverse$(txt); "\q"
+txt = " ちは世ん界 "
+Print "Reverse$: Expected=\q 界ん世はち \q"; " Returned=\q"; Reverse$(txt); "\q"
+txt = " "
+Print "Reverse$: Expected=\q \q"; " Returned=\q"; Reverse$(txt); "\q"
+txt = ""
+Print "Reverse$: Expected=\q\q"; " Returned=\q"; Reverse$(txt); "\q"
+Print ""
+
+Print "StringFill$: Expected=\qzzz\q"; " Returned=\q"; StringFill$("z", 3); "\q"
+Print "StringFill$: Expected=\q\q"; " Returned=\q"; StringFill$("", 3); "\q"
+Print "StringFill$: Expected=\q界ん界ん界ん界ん\q"; " Returned=\q"; StringFill$("界ん", 4); "\q"
+Print "StringFill$: Expected=\q\q"; " Returned=\q"; StringFill$("AB", 0); "\q"
+
+Print ""
+Print "Str$: Expected=\q21\q"; " Returned=\q"; Str$(21); "\q"
+Print "Str$: Expected=\q-1\q"; " Returned=\q"; Str$(-1); "\q"
+Print "Str$: Expected=\q0\q"; " Returned=\q"; Str$(0); "\q"
+Print "Str$: Expected=\q3.1234\q"; " Returned=\q"; Str$(3.1234); "\q"
+
+Print ""
+Print "Str_F$: Expected=\q21.000000\q"; " Returned=\q"; Str_F$(21); "\q"
+Print "Str_F$: Expected=\q-1.000000\q"; " Returned=\q"; Str_F$(-1); "\q"
+Print "Str_F$: Expected=\q0.000000\q"; " Returned=\q"; Str_F$(0); "\q"
+Print "Str_F$: Expected=\q3.123400\q"; " Returned=\q"; Str_F$(3.1234); "\q"
+
+Print ""
+Print "Str_S$: Expected=\q2.100000e+01\q"; " Returned=\q"; Str_S$(21); "\q"
+Print "Str_S$: Expected=\q-1.000000e+00\q"; " Returned=\q"; Str_S$(-1); "\q"
+Print "Str_S$: Expected=\q0.000000e+00\q"; " Returned=\q"; Str_S$(0); "\q"
+Print "Str_S$: Expected=\q3.123400e+00\q"; " Returned=\q"; Str_S$(3.1234); "\q"
+Print ""
+
+Print "Tally: Expected=4"; " Returned="; Tally("tallyhotallyhotallyhotallyho", "tally")
+Print "Tally: Expected=0"; " Returned="; Tally("tallyhotallyhotallyhotallyho", "yes")
+Print "Tally: Expected=3"; " Returned="; Tally("界ん界ん界ん界ん", "界ん界")
+Print "Tally: Expected=2"; " Returned="; Tally("tallyhotallyhotallyho", "hotally")
+
+/'
+function Val(n$)
+function BufferFromString(s$, ByRef buffer)
+function StringFromBuffer$(ByRef buffer, buffer_size)
+'/