68 Commits

Author SHA1 Message Date
n00b
adec3d0039 Fixed GetPixel() 2024-11-24 07:23:30 -05:00
n00b
917a2a10eb Automated build scripts 2024-11-23 17:01:42 -05:00
n00b
26f89808ba Added function changes to compiler and runtime 2024-11-23 15:54:12 -05:00
n00b
a2363aa63a Changed ReadInput_Text() to ReadInput_GetText 2024-11-23 11:53:39 -05:00
n00b
d79a8f9602 Added default material for drawing 2D objects 2024-11-23 09:46:33 -05:00
n00b
b56f0185cf Fixed runtime only accepting filename main.cbc 2024-11-22 11:10:50 -05:00
n00b
f3c49b8a8b Emscripten build script 2024-11-19 00:06:41 -05:00
n00b
33ece2b755 Emscripten build script 2024-11-19 00:04:17 -05:00
n00b
5048597745 Added GetSpriteRestitutionThreshold() 2024-11-17 23:16:51 -05:00
Rodney Cunningham
b9275b7d80 Merge pull request #20 from n00b87/performance_boost
Replaced loop to read numbers from code/data segments with a single cast
2024-11-15 23:36:36 -05:00
n00b
f35b940637 Replaced loop to read numbers from code/data segments with a single cast 2024-11-15 23:07:53 -05:00
Rodney Cunningham
cf47eb2039 Merge pull request #19 from n00b87/fix_animation_system
Fixed looping animations for actors
2024-11-15 22:22:55 -05:00
n00b
c085150def Fixed looping animations for actors 2024-11-15 22:19:40 -05:00
Rodney Cunningham
378c25ffde Merge pull request #18 from n00b87/missing_functions
Added new physics functions
2024-11-15 21:01:15 -05:00
n00b
40ca65cb3f Added new physics functions
* Added some new physics functions
* Added new documentation
* Added some auto checks for OS to rc_os_defines.h
* Fixed bugs on settting and getting position of sprites
2024-11-15 20:42:08 -05:00
Rodney Cunningham
3f4a1ce1cc Merge pull request #17 from n00b87/sdl2_ogles2
Sdl2 ogles2
2024-11-15 09:40:54 -05:00
n00b
ac30b0f7bb Fixed a bug with getting the sprite position not using the offset for box2d 2024-11-15 09:24:19 -05:00
n00b
370c2bed33 Finalized support for emscripten build 2024-11-15 08:20:18 -05:00
n00b
73fb1bded8 Fixed sprite alignment with box2d fixtures 2024-11-13 22:31:03 -05:00
Rodney Cunningham
fc082973d2 Merge pull request #16 from arc1tec4/dev
Dev - createTileSet doc
2024-11-13 22:13:47 -05:00
arc1tec4
a8c3f059cc Add files via upload 2024-11-13 17:45:29 -07:00
arc1tec4
89258b691d Add files via upload 2024-11-13 17:44:51 -07:00
arc1tec4
3972f8b927 Add files via upload 2024-11-13 17:44:04 -07:00
Rodney Cunningham
5719ad1dbd Merge pull request #15 from arc1tec4/dev
createsprite doc
2024-11-12 23:21:34 -05:00
n00b
a08ab8760c Fixed paint canvas scaling on ogles2 2024-11-12 23:12:55 -05:00
arc1tec4
0b132399fc Delete doc/doc_files/images/test 2024-11-12 18:50:41 -07:00
arc1tec4
79ec4b5ae0 Delete doc/doc_files/theEye.png 2024-11-12 18:50:16 -07:00
arc1tec4
c506ea110c Add files via upload 2024-11-12 18:49:29 -07:00
arc1tec4
bac4a2734f Create test 2024-11-12 18:49:08 -07:00
arc1tec4
5ff184aff6 Fleshed out createsprite DOC 2024-11-12 18:47:06 -07:00
arc1tec4
ca2c818b25 Fleshed out createSprite DOC files 2024-11-12 18:45:43 -07:00
Rodney Cunningham
229aebfec3 Merge pull request #14 from arc1tec4/dev
Dev - push from fork
2024-11-11 22:10:15 -05:00
arc1tec4
9e61ea1c5e Add files via upload 2024-11-11 20:02:07 -07:00
arc1tec4
78e3281bf3 Fixed-Hopefully functions 2024-11-11 16:44:14 -07:00
arc1tec4
cf6feab5c1 Add files via upload 2024-11-11 16:41:10 -07:00
arc1tec4
5221ac5e8f Delete doc/doc_files/setspritegravity.html 2024-11-11 16:40:14 -07:00
arc1tec4
3e2b01d794 Delete doc/doc_files/getspritegravity.html 2024-11-11 16:39:51 -07:00
arc1tec4
b4b18b4860 Delete doc/files/getspritegravity.txt 2024-11-11 16:39:35 -07:00
arc1tec4
8fd6acbde3 Delete doc/files/setspritegravity.txt 2024-11-11 16:39:14 -07:00
arc1tec4
a0b3025848 Add files via upload 2024-11-11 16:38:26 -07:00
arc1tec4
fe5b5bc389 Delete getspritegravity.txt 2024-11-11 16:37:36 -07:00
arc1tec4
ceee3fc5d0 Delete rc_spritelib.h 2024-11-11 16:37:24 -07:00
arc1tec4
34c023a976 Delete setspritegravity.html 2024-11-11 16:37:12 -07:00
arc1tec4
74f9fc8969 Delete setspritegravity.txt 2024-11-11 16:37:02 -07:00
arc1tec4
a13d3de54f Delete getspritegravity.html 2024-11-11 16:36:50 -07:00
n00b
b66e458590 Fixed Keyboard input for WebGL 2024-11-11 13:37:23 -05:00
arc1tec4
19f67fa883 Add files via upload 2024-11-10 22:17:58 -07:00
arc1tec4
f8296f44cf Add files via upload 2024-11-10 22:17:02 -07:00
arc1tec4
f30aaffc4c Add files via upload 2024-11-10 22:15:47 -07:00
arc1tec4
1e47d69e23 Add files via upload 2024-11-10 22:13:24 -07:00
arc1tec4
5c53e7067b Add files via upload 2024-11-10 22:10:42 -07:00
arc1tec4
de0101253d Merge branch 'n00b87:dev' into dev 2024-11-10 22:09:38 -07:00
arc1tec4
cbb578981a Add files via upload 2024-11-10 22:08:47 -07:00
n00b
bffa478064 Added GLES2 support 2024-11-10 19:05:55 -05:00
Rodney Cunningham
f7b6e8e609 Merge pull request #13 from n00b87/use_degrees
Converted radian parameters and return values to degrees
2024-10-30 08:18:02 -04:00
n00b
ece34a3989 Converted radian parameters and return values to degrees 2024-10-29 23:25:24 -04:00
Rodney Cunningham
77ab9983a7 Merge pull request #12 from n00b87/doc_upgrade
Doc upgrade
2024-10-28 22:26:51 -04:00
n00b
2a580f9686 Finished documentation
Finished documentation on sprite physics and joints
Fixed some bugs in sprite physics
Added safety checks for joint types
Added code to free up joints when a canvas is destroyed
2024-10-28 22:22:33 -04:00
n00b
8f1b72a8e2 Added Sprite Physics and Joints 2024-10-27 23:24:37 -04:00
n00b
d49b9f5d58 Merge branch 'dev' of github.com:n00b87/RCBASIC4 into doc_upgrade
merge from dev
2024-10-27 11:52:56 -04:00
n00b
87ccd04589 WIP 2024-10-27 11:52:28 -04:00
Rodney Cunningham
4d8ff846f3 Merge pull request #11 from arc1tec4/dev
Few functions to review
2024-10-27 11:28:25 -04:00
arc1tec4
67d3373429 Add files via upload 2024-10-27 08:52:02 -06:00
n00b
6edb1bc09d generated docs added 2024-10-24 23:25:02 -04:00
n00b
b14019f9a9 Added top navbar rcdoc files 2024-10-24 22:51:34 -04:00
n00b
86fee87c0f Added macro to the tracker that automates generating categories for the bottom navbar in the manual 2024-10-23 22:53:02 -04:00
n00b
6a763febf9 Added tile documentation 2024-10-21 20:01:48 -04:00
Rodney Cunningham
4b64af34be Merge pull request #10 from n00b87/tiling
Finished Tiling System
2024-10-21 18:52:53 -04:00
2060 changed files with 48591 additions and 14199 deletions

View File

@@ -0,0 +1,48 @@
#!/bin/bash
BASEDIR=$(dirname 0)
cd $BASEDIR
RCBASIC_BUILD_ERROR=2
RCBASIC_RUNTIME_ERROR=2
export RCBASIC_BUILD_MAIN_DIR=/home/n00bc0de/Projects
export RCBASIC_BUILD_JOURNAL=build_journal.sh
#RCBASIC_BUILD
if [ -e $RCBASIC_BUILD_JOURNAL ]
then
rm $RCBASIC_BUILD_JOURNAL
fi
touch build_journal.sh
chmod +x build_journal.sh
pushd $BASEDIR/RCBASIC4/rcbasic_build
./build.sh
popd
source $RCBASIC_BUILD_JOURNAL
echo "RCBASIC_BUILD STATUS = $RCBASIC_BUILD_ERROR"
#RCBASIC_RUNTIME
if [ $RCBASIC_BUILD_ERROR == 0 ]
then
pushd $BASEDIR/RCBASIC4/rcbasic_runtime
./build.sh
popd
source $RCBASIC_BUILD_JOURNAL
echo "RCBASIC_RUNTIME STATUS = $RCBASIC_RUNTIME_ERROR"
fi
echo "rcbasic_build status=$RCBASIC_BUILD_ERROR"
echo "rcbasic_RUNTIME status=$RCBASIC_RUNTIME_ERROR"

View File

@@ -0,0 +1,25 @@
#!/bin/bash
BASEDIR=$(dirname 0)
echo "build journal path: $RCBASIC_BUILD_JOURNAL"
codeblocks --clean rcbasic_build.cbp
codeblocks --target=Release --build rcbasic_build.cbp
if [ ! -e $BASEDIR/bin/Release/rcbasic_build ]
then
pushd $RCBASIC_BUILD_MAIN_DIR
echo "export RCBASIC_BUILD_ERROR=1" >> $RCBASIC_BUILD_JOURNAL
popd
else
pushd $RCBASIC_BUILD_MAIN_DIR
echo "export RCBASIC_BUILD_ERROR=0" >> $RCBASIC_BUILD_JOURNAL
popd
fi

View File

@@ -0,0 +1,25 @@
#!/bin/bash
BASEDIR=$(dirname 0)
echo "build journal path: $RCBASIC_BUILD_JOURNAL"
codeblocks --clean rcbasic_runtime.cbp
codeblocks --target=Release --build rcbasic_runtime.cbp
if [ ! -e $BASEDIR/bin/Release/rcbasic_runtime ]
then
pushd $RCBASIC_BUILD_MAIN_DIR
echo "export RCBASIC_RUNTIME_ERROR=1" >> "$RCBASIC_BUILD_JOURNAL"
popd
else
pushd $RCBASIC_BUILD_MAIN_DIR
echo "export RCBASIC_RUNTIME_ERROR=0" >> "$RCBASIC_BUILD_JOURNAL"
popd
fi

View File

@@ -1,4 +0,0 @@
#title Abs [RCBasic Doc]
#header function Abs(n)
Returns the absolute value of n

View File

@@ -1,6 +0,0 @@
#title AccelName$ [RCBasic Doc]
#header function AccelName$(accel_num)
Returns the name of an accelerometer

View File

@@ -1,4 +0,0 @@
#title Acos [RCBasic Doc]
#header function Acos(n)
Returns the Arcosine of n

View File

@@ -1,22 +0,0 @@
#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

View File

@@ -1,8 +0,0 @@
#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

View File

@@ -1,6 +0,0 @@
#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

View File

@@ -1,15 +0,0 @@
#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

View File

@@ -1,13 +0,0 @@
#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

View File

@@ -1,9 +0,0 @@
#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

View File

@@ -1,4 +0,0 @@
#title AddMatrix [RCBasic Doc]
#header function AddMatrix(mA, mB, mC)
Adds matrix mA to matrix mB and stores the results in mC

View File

@@ -1,6 +0,0 @@
#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

View File

@@ -1,6 +0,0 @@
#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

View File

@@ -1,6 +0,0 @@
#title AddSceneSkyDome [RCBasic Doc]
#header sub AddSceneSkyDome( img )
Adds a sky dome to the scene
#ref AddSceneSkyDomeEx

View File

@@ -1,15 +0,0 @@
#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

View File

@@ -1,4 +0,0 @@
#title AdjointMatrix [RCBasic Doc]
#header function AdjointMatrix(mA, mB)
Stores the adjoint matrix of mA in mB

View File

@@ -1,4 +0,0 @@
#title AndBit [RCBasic Doc]
#header function AndBit(a,b)
Returns the bitwise AND operation of 2 numbers

View File

@@ -1,6 +0,0 @@
#title Android_GetExternalStoragePath$ [RCBasic Doc]
#header function Android_GetExternalStoragePath$()
Returns the designated external storage path
#ref Android_GetExternalStorageState Android_GetInternalStoragePath$

View File

@@ -1,16 +0,0 @@
#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$

View File

@@ -1,6 +0,0 @@
#title Android_GetInternalStoragePath$ [RCBasic Doc]
#header function Android_GetInternalStoragePath$()
Returns the internal storage path
#ref Android_GetExternalStorageState Android_GetExternalStoragePath$

View File

@@ -1,6 +0,0 @@
#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$

View File

@@ -1,10 +0,0 @@
#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

View File

@@ -1,10 +0,0 @@
#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

View File

@@ -1,10 +0,0 @@
#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

View File

@@ -1,11 +0,0 @@
#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

View File

@@ -1,22 +0,0 @@
#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

View File

@@ -1,11 +0,0 @@
#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

View File

@@ -1,11 +0,0 @@
#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

View File

@@ -1,12 +0,0 @@
#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

View File

@@ -1,11 +0,0 @@
#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

View File

@@ -1,10 +0,0 @@
#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

View File

@@ -1,10 +0,0 @@
#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

View File

@@ -1,10 +0,0 @@
#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

View File

@@ -1,11 +0,0 @@
#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

View File

@@ -1,8 +0,0 @@
#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

View File

@@ -1,6 +0,0 @@
#title ArrayDim [RCBasic Doc]
#header function ArrayDim(Byref id)
Returns the number of dimensions in an array
#ref ArrayCopy ArrayFill ArraySize

View File

@@ -1,6 +0,0 @@
#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

View File

@@ -1,6 +0,0 @@
#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

View File

@@ -1,4 +0,0 @@
#title Asc [RCBasic Doc]
#header function Asc(c$)
Returns the ASCII value of a character.

View File

@@ -1,4 +0,0 @@
#title Asin [RCBasic Doc]
#header function Asin(n)
Returns the ArcSine of a number.

View File

@@ -1,4 +0,0 @@
#title Atan [RCBasic Doc]
#header function Atan(n)
Returns the ArcTangent of a number.

View File

@@ -1,4 +0,0 @@
#title ATan2 [RCBasic Doc]
#header Function ATan2(y, x)
Returns the ArcTangent of x and y

View File

@@ -1,6 +0,0 @@
#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.

View File

@@ -1,4 +0,0 @@
#title Bin$ [RCBasic Doc]
#header function Bin$(n)
Returns the binary representation of a number.

View File

@@ -1,4 +0,0 @@
#title BufferFromImage [RCBasic Doc]
#header sub BufferFromImage(slot, byref buffer)

View File

@@ -1,8 +0,0 @@
#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

View File

@@ -1,6 +0,0 @@
#title BufferFromString [RCBasic Doc]
#header function BufferFromString(s$, ByRef buffer)
Stores the byte value of a string into a number buffer
#ref StringFromBuffer$

View File

@@ -1,6 +0,0 @@
#title Canvas [RCBasic Doc]
#header sub Canvas(c_num)
Sets the active canvas for drawing commands to use
#ref ActiveCanvas

View File

@@ -1,6 +0,0 @@
#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

View File

@@ -1,6 +0,0 @@
#title CanvasIsVisible [RCBasic Doc]
#header function CanvasIsVisible(c_num)
Returns true if a canvas is shown in the Window
#ref SetCanvasVisible

View File

@@ -1,4 +0,0 @@
#title ChangeDir [RCBasic Doc]
#header sub ChangeDir(p$)
Sets the working directory that the directory commands use

View File

@@ -1,6 +0,0 @@
#title ChannelIsPaused [RCBasic Doc]
#header function ChannelIsPaused(channel)
Returns true if an audio channel is currently paused
#ref PauseSound

View File

@@ -1,6 +0,0 @@
#title ChannelIsPlaying [RCBasic Doc]
#header function ChannelIsPlaying(channel)
Returns true if an audio channel is playing
#ref ChannelIsPaused PlaySound PlaySoundTimed

View File

@@ -1,7 +0,0 @@
#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)

View File

@@ -1,4 +0,0 @@
#title Chr$ [RCBasic Doc]
#header function Chr$(n)
Returns the character with the matching ASCII value n.

View File

@@ -1,4 +0,0 @@
#title CInt32 [RCBasic Doc]
#header function CInt32(i)
Returns a 32-bit signed integer.

View File

@@ -1,4 +0,0 @@
#title CInt64 [RCBasic Doc]
#header function CInt64(i)
Returns a 64-bit signed integer.

View File

@@ -1,4 +0,0 @@
#title Circle [RCBasic Doc]
#header sub Circle(x,y,radius)
Draws a circle on the current canvas.

View File

@@ -1,4 +0,0 @@
#title CircleFill [RCBasic Doc]
#header sub CircleFill(x,y,radius)
Draws a filled circle on the current canvas.

View File

@@ -1,11 +0,0 @@
#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.
<b>Notes:</b>
#list
#li <b>Resets Forces:</b> It removes all linear forces (like those applied by applyActorForce or applyActorCentralForce) and torques (like those applied by applyActorTorque).
#li <b>Does Not Affect Velocity:</b> It clears only the applied forces and torques, but the current velocity (linear and angular) of the actor remains unchanged.
#li <b>Typically Used in Each Simulation Step:</b> Used to reset forces after each step, so that only new forces applied in the next step will affect the body.
#/list

View File

@@ -1,4 +0,0 @@
#title ClearCanvas [RCBasic Doc]
#header sub ClearCanvas()
Clears the active drawing canvas

View File

@@ -1,4 +0,0 @@
#title ClearMatrix [RCBasic Doc]
#header sub ClearMatrix(mA)
Sets all elements in a matrix to zero

View File

@@ -1,6 +0,0 @@
#title ClearMatrixColumns [RCBasic Doc]
#header function ClearMatrixColumns(mA, c, num_cols)
Sets all elements in the matrix columns specified to zero.
#ref ClearMatrix ClearMatrixRows

View File

@@ -1,6 +0,0 @@
#title ClearMatrixRows [RCBasic Doc]
#header function ClearMatrixRows(mA, r, num_rows)
Sets all elements in the matrix rows specified to zero.
#ref ClearMatrix ClearMatrixColumns

View File

@@ -1,4 +0,0 @@
#title ClearMouseZone [RCBasic Doc]
#header sub ClearMouseZone()
Removes the previously set mouse zone from the window

View File

@@ -1,6 +0,0 @@
#title ClearStack_N [RCBasic Doc]
#header sub ClearStack_N( num_stack )
Removes all elements from the stack
#ref ClearStack_S

View File

@@ -1,6 +0,0 @@
#title ClearStack_S [RCBasic Doc]
#header sub ClearStack_S( str_stack )
Removes all elements from the stack
#ref ClearStack_N

View File

@@ -1,4 +0,0 @@
#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

View File

@@ -1,9 +0,0 @@
#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

View File

@@ -1,6 +0,0 @@
#title CloseCanvas [RCBasic Doc]
#header Sub CloseCanvas(c_num)
Closes a canvas
#ref OpenCanvas

View File

@@ -1,6 +0,0 @@
#title CloseFile [RCBasic Doc]
#header sub CloseFile( stream )
Closes a file
#ref OpenFile

View File

@@ -1,6 +0,0 @@
#title CloseWindow [RCBasic Doc]
#header sub CloseWindow( )
Closes the graphics window
#ref OpenWindow

View File

@@ -1,4 +0,0 @@
#title Cls [RCBasic Doc]
#header sub Cls()
Clears the back buffer on the window

View File

@@ -1,6 +0,0 @@
#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

View File

@@ -1,4 +0,0 @@
#title ColorKey [RCBasic Doc]
#header sub ColorKey(img_id, c)
Sets the color key for an image

View File

@@ -1,8 +0,0 @@
#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

View File

@@ -1,6 +0,0 @@
#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

View File

@@ -1,6 +0,0 @@
#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

View File

@@ -1,6 +0,0 @@
#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 actors 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

View File

@@ -1,6 +0,0 @@
#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. Its primarily used internally in the physics engine to calculate how an objects mass, inertia, and shape will affect the outcome of impulses, particularly in collisions or constraints like contact points between objects.
#ref ComputeActorAngularImpulseDenominator

View File

@@ -1,4 +0,0 @@
#title copyActorMaterial [RCBasic Doc]
#header function copyActorMaterial( actor, material_num)
Returns a material id for a copy of an actor's material

View File

@@ -1,4 +0,0 @@
#title CopyFile [RCBasic Doc]
#header sub CopyFile(src$, dst$)
Copies the contents of src$ file to a new dst$ file

View File

@@ -1,4 +0,0 @@
#title CopyImage [RCBasic Doc]
#header function CopyImage( img_id )
Returns a copy of an image

View File

@@ -1,4 +0,0 @@
#title copyMaterial [RCBasic Doc]
#header function copyMaterial( smaterial_id)
Returns a copy of a material

View File

@@ -1,4 +0,0 @@
#title CopyMatrix [RCBasic Doc]
#header sub CopyMatrix(mA, mB)
Copies matrix mA to matrix mB

View File

@@ -1,6 +0,0 @@
#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.

View File

@@ -1,7 +0,0 @@
#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.

View File

@@ -1,4 +0,0 @@
#title Cos [RCBasic Doc]
#header function Cos(n)
Returns the Cosine of an angle

View File

@@ -1,6 +0,0 @@
#title CreateBillboardActor [RCBasic Doc]
#header function CreateBillboardActor( )
Returns a billboard actor
Billboard actors are flat textured planes that are always facing the camera.

View File

@@ -1,19 +0,0 @@
#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

View File

@@ -1,23 +0,0 @@
#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

View File

@@ -1,6 +0,0 @@
#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

View File

@@ -1,17 +0,0 @@
#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

View File

@@ -1,23 +0,0 @@
#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

View File

@@ -1,6 +0,0 @@
#title CreateImage [RCBasic Doc]
#header function CreateImage(w, h, byref buffer)
Returns an image created from the buffer provided
#ref CreateImageEx LoadImage

View File

@@ -1,9 +0,0 @@
#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

View File

@@ -1,6 +0,0 @@
#title CreateLightActor [RCBasic Doc]
#header function CreateLightActor( )
Returns a new light in the scene
#ref CreateMeshActor CreateMeshOctreeActor CreateCubeActor CreateSphereActor CreateWaterPlaneActor CreateBillboardActor CreateTerrainActor

View File

@@ -1,4 +0,0 @@
#title createMaterial [RCBasic Doc]
#header function createMaterial()
Returns a new material

Some files were not shown because too many files have changed in this diff Show More