From 3a03aaa148678a51910e29a12955497e397bb078 Mon Sep 17 00:00:00 2001 From: n00b Date: Sun, 15 Dec 2024 23:12:45 -0500 Subject: [PATCH] Updated docs --- doc/doc_files/images/rcbasic_icon.png | Bin 0 -> 49639 bytes doc/doc_files/images/window_gfx_structure.png | Bin 0 -> 25243 bytes doc/files/actoranimationislooped.html | 8 +-- doc/files/actoranimationislooped.txt | 8 +-- doc/files/actorexists.html | 3 + doc/files/actorexists.txt | 2 +- doc/files/applyactorimpulseworld.html | 4 +- doc/files/applyactorimpulseworld.txt | 4 +- doc/files/applyactortorqueimpulselocal.html | 4 +- doc/files/applyactortorqueimpulselocal.txt | 4 +- doc/files/applyactortorqueimpulseworld.html | 4 +- doc/files/applyactortorqueimpulseworld.txt | 4 +- doc/files/applyactortorquelocal.html | 4 +- doc/files/applyactortorquelocal.txt | 4 +- doc/files/applyactortorqueworld.html | 4 +- doc/files/applyactortorqueworld.txt | 4 +- doc/files/arrayfill.html | 2 +- doc/files/arrayfill.txt | 2 +- doc/files/arraysize.html | 2 +- doc/files/arraysize.txt | 2 +- doc/files/asc.html | 2 +- doc/files/asc.txt | 2 +- doc/files/asin.html | 2 +- doc/files/asin.txt | 2 +- doc/files/atan.html | 2 +- doc/files/atan.txt | 2 +- doc/files/box3d.html | 17 +++++ doc/files/box3d.txt | 4 ++ doc/files/castray2d.html | 30 ++++++++ doc/files/castray2d_all.html | 30 ++++++++ doc/files/castray3d.html | 30 ++++++++ doc/files/castray3d_all.html | 30 ++++++++ doc/files/clearcanvas.html | 3 + doc/files/clearcanvas.txt | 2 + ...computeactorangularimpulsedenominator.html | 2 +- .../computeactorangularimpulsedenominator.txt | 2 +- doc/files/computeactorgyroimpulselocal.html | 2 +- doc/files/computeactorgyroimpulselocal.txt | 2 +- doc/files/computeactorgyroimpulseworld.html | 2 +- doc/files/computeactorgyroimpulseworld.txt | 2 +- doc/files/computeactorimpulsedenominator.html | 2 +- doc/files/computeactorimpulsedenominator.txt | 2 +- doc/files/constraintexists.html | 3 + doc/files/constraintexists.txt | 2 +- doc/files/copyactormaterial.html | 4 +- doc/files/copyactormaterial.txt | 4 +- doc/files/copymaterial.html | 4 +- doc/files/copymaterial.txt | 4 +- doc/files/createhingeconstraint.html | 4 +- doc/files/createhingeconstraint.txt | 4 +- doc/files/createhingeconstraintex.html | 4 +- doc/files/createhingeconstraintex.txt | 4 +- doc/files/createmeshoctreeactor.txt | 8 --- doc/files/createpointconstraint.html | 4 +- doc/files/createpointconstraint.txt | 4 +- doc/files/createpointconstraintex.html | 4 +- doc/files/createpointconstraintex.txt | 4 +- doc/files/createslideconstraint.html | 4 +- doc/files/createslideconstraint.txt | 4 +- doc/files/createslideconstraintex.html | 4 +- doc/files/createslideconstraintex.txt | 4 +- doc/files/deleteactor.html | 3 + doc/files/deleteactor.txt | 2 + doc/files/deleteconstraint.html | 4 +- doc/files/deleteconstraint.txt | 4 +- doc/files/deletefont.html | 2 +- doc/files/deletefont.txt | 2 +- doc/files/deleteimage.html | 2 +- doc/files/deleteimage.txt | 2 +- doc/files/deletematerial.html | 7 +- doc/files/deletematerial.txt | 6 +- doc/files/drawimage_rotateex.txt | 2 +- doc/files/floodfill.html | 3 + doc/files/floodfill.txt | 2 + doc/files/fprint.html | 3 + doc/files/fprint.txt | 2 + doc/files/getactorrotationq.html | 2 +- doc/files/getactorrotationq.txt | 2 +- doc/files/getrayhit2d.html | 35 ++++++++++ doc/files/getrayhit3d.html | 35 ++++++++++ doc/files/getwatercolor.txt | 4 -- doc/files/getwatercolorblendfactor.txt | 4 -- doc/files/getwaterwaveheight.txt | 4 -- doc/files/getwaterwinddirection.txt | 4 -- doc/files/getwaterwindforce.txt | 4 -- doc/files/lcase.html | 4 +- doc/files/lcase.txt | 4 +- doc/files/line3d.html | 17 +++++ doc/files/line3d.txt | 4 ++ doc/files/loopactoranimation.html | 4 +- doc/files/loopactoranimation.txt | 4 +- doc/files/ltrim.html | 8 ++- doc/files/ltrim.txt | 6 +- doc/files/materialexists.html | 3 + doc/files/materialexists.txt | 2 +- doc/files/materialisaplhablend.html | 4 +- doc/files/materialisaplhablend.txt | 4 +- doc/files/materialisgouraudshaded.html | 4 +- doc/files/materialisgouraudshaded.txt | 4 +- doc/files/materialislit.html | 4 +- doc/files/materialislit.txt | 4 +- doc/files/materialisnormalized.html | 4 +- doc/files/materialisnormalized.txt | 4 +- doc/files/materialispointcloud.html | 4 +- doc/files/materialispointcloud.txt | 4 +- doc/files/materialistransparent.html | 4 +- doc/files/materialistransparent.txt | 4 +- doc/files/materialiswireframe.html | 4 +- doc/files/materialiswireframe.txt | 4 +- doc/files/setcanvas3d.txt | 4 -- doc/files/setwatercolor.txt | 4 -- doc/files/setwatercolorblendfactor.txt | 4 -- doc/files/setwaterwaveheight.txt | 4 -- doc/files/setwaterwinddirection.txt | 4 -- doc/files/setwaterwindforce.txt | 4 -- doc/files/setworld3ddeltatime.txt | 4 -- doc/files/tcp_acceptsocket.html | 4 +- doc/files/translateactor.txt | 4 -- doc/files/triangle.html | 17 +++++ doc/files/triangle.txt | 5 ++ doc/files/triangle3d.html | 17 +++++ doc/files/triangle3d.txt | 4 ++ doc/files/tst.txt | 4 -- doc/style.css | 65 ++++++++++++++++++ 124 files changed, 518 insertions(+), 202 deletions(-) create mode 100755 doc/doc_files/images/rcbasic_icon.png create mode 100755 doc/doc_files/images/window_gfx_structure.png create mode 100644 doc/files/box3d.html create mode 100644 doc/files/box3d.txt create mode 100644 doc/files/castray2d.html create mode 100644 doc/files/castray2d_all.html create mode 100644 doc/files/castray3d.html create mode 100644 doc/files/castray3d_all.html delete mode 100644 doc/files/createmeshoctreeactor.txt create mode 100644 doc/files/getrayhit2d.html create mode 100644 doc/files/getrayhit3d.html delete mode 100644 doc/files/getwatercolor.txt delete mode 100644 doc/files/getwatercolorblendfactor.txt delete mode 100644 doc/files/getwaterwaveheight.txt delete mode 100644 doc/files/getwaterwinddirection.txt delete mode 100644 doc/files/getwaterwindforce.txt create mode 100644 doc/files/line3d.html create mode 100644 doc/files/line3d.txt delete mode 100644 doc/files/setcanvas3d.txt delete mode 100644 doc/files/setwatercolor.txt delete mode 100644 doc/files/setwatercolorblendfactor.txt delete mode 100644 doc/files/setwaterwaveheight.txt delete mode 100644 doc/files/setwaterwinddirection.txt delete mode 100644 doc/files/setwaterwindforce.txt delete mode 100644 doc/files/setworld3ddeltatime.txt delete mode 100644 doc/files/translateactor.txt create mode 100644 doc/files/triangle.html create mode 100644 doc/files/triangle.txt create mode 100644 doc/files/triangle3d.html create mode 100644 doc/files/triangle3d.txt delete mode 100644 doc/files/tst.txt create mode 100644 doc/style.css diff --git a/doc/doc_files/images/rcbasic_icon.png b/doc/doc_files/images/rcbasic_icon.png new file mode 100755 index 0000000000000000000000000000000000000000..a90eb8f0dfc4f998206b6d761c8557e62a495d1b GIT binary patch literal 49639 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 literal 0 HcmV?d00001 diff --git a/doc/doc_files/images/window_gfx_structure.png b/doc/doc_files/images/window_gfx_structure.png new file mode 100755 index 0000000000000000000000000000000000000000..f915073e65eb46527c69b50f772a9c3e5b1d9c16 GIT binary patch literal 25243 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𝔍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 AZU6uP literal 0 HcmV?d00001 diff --git a/doc/files/actoranimationislooped.html b/doc/files/actoranimationislooped.html index 6a2ee22..6c82705 100644 --- a/doc/files/actoranimationislooped.html +++ b/doc/files/actoranimationislooped.html @@ -3,19 +3,19 @@ - actorAnimationIsLooped [RCBasic Doc] + ActorAnimationIsLooped [RCBasic Doc] -

function actorAnimationIsLooped( actor )

+

function ActorAnimationIsLooped( actor )

Returns true if an actors animation is set to looped.

- Note: Actor animation is set to looped with the loopActorAnimation() function. + Note: Actor animation is set to looped with the LoopActorAnimation() function.


Related: - loopActorAnimation + LoopActorAnimation

diff --git a/doc/files/actoranimationislooped.txt b/doc/files/actoranimationislooped.txt index b583e76..81c89ee 100644 --- a/doc/files/actoranimationislooped.txt +++ b/doc/files/actoranimationislooped.txt @@ -1,8 +1,8 @@ -#title actorAnimationIsLooped [RCBasic Doc] -#header function actorAnimationIsLooped( actor ) +#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. +Note: Actor animation is set to looped with the LoopActorAnimation() function. -#ref loopActorAnimation +#ref LoopActorAnimation diff --git a/doc/files/actorexists.html b/doc/files/actorexists.html index 642ccd7..63778ab 100644 --- a/doc/files/actorexists.html +++ b/doc/files/actorexists.html @@ -9,6 +9,9 @@

function ActorExists( actor )

+ Returns true if the id passed is a valid actor +

+

\ No newline at end of file diff --git a/doc/files/actorexists.txt b/doc/files/actorexists.txt index bba61ed..2b585c8 100644 --- a/doc/files/actorexists.txt +++ b/doc/files/actorexists.txt @@ -1,4 +1,4 @@ #title ActorExists [RCBasic Doc] #header function ActorExists( actor ) - +Returns true if the id passed is a valid actor diff --git a/doc/files/applyactorimpulseworld.html b/doc/files/applyactorimpulseworld.html index 8d8b6c4..b2a8d08 100644 --- a/doc/files/applyactorimpulseworld.html +++ b/doc/files/applyactorimpulseworld.html @@ -3,11 +3,11 @@ - applyActorImpulseWorld [RCBasic Doc] + ApplyActorImpulseWorld [RCBasic Doc] -

sub applyActorImpulseWorld( actor, x, y, z, rel_x, rel_y, rel_z)

+

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.

diff --git a/doc/files/applyactorimpulseworld.txt b/doc/files/applyactorimpulseworld.txt index 8ab74b3..92d6da9 100644 --- a/doc/files/applyactorimpulseworld.txt +++ b/doc/files/applyactorimpulseworld.txt @@ -1,5 +1,5 @@ -#title applyActorImpulseWorld [RCBasic Doc] -#header sub applyActorImpulseWorld( actor, x, y, z, rel_x, rel_y, rel_z) +#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. diff --git a/doc/files/applyactortorqueimpulselocal.html b/doc/files/applyactortorqueimpulselocal.html index c738226..9c4ef56 100644 --- a/doc/files/applyactortorqueimpulselocal.html +++ b/doc/files/applyactortorqueimpulselocal.html @@ -3,11 +3,11 @@ - applyActorTorqueImpulseLocal [RCBasic Doc] + ApplyActorTorqueImpulseLocal [RCBasic Doc] -

sub applyActorTorqueImpulseLocal( actor, x, y, z)

+

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.

diff --git a/doc/files/applyactortorqueimpulselocal.txt b/doc/files/applyactortorqueimpulselocal.txt index 819c097..9ed03df 100644 --- a/doc/files/applyactortorqueimpulselocal.txt +++ b/doc/files/applyactortorqueimpulselocal.txt @@ -1,5 +1,5 @@ -#title applyActorTorqueImpulseLocal [RCBasic Doc] -#header sub applyActorTorqueImpulseLocal( actor, x, y, z) +#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. diff --git a/doc/files/applyactortorqueimpulseworld.html b/doc/files/applyactortorqueimpulseworld.html index ffc8248..ff2c529 100644 --- a/doc/files/applyactortorqueimpulseworld.html +++ b/doc/files/applyactortorqueimpulseworld.html @@ -3,11 +3,11 @@ - applyActorTorqueImpulseWorld [RCBasic Doc] + ApplyActorTorqueImpulseWorld [RCBasic Doc] -

sub applyActorTorqueImpulseWorld( actor, x, y, z)

+

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.

diff --git a/doc/files/applyactortorqueimpulseworld.txt b/doc/files/applyactortorqueimpulseworld.txt index d6d4ede..e8126f5 100644 --- a/doc/files/applyactortorqueimpulseworld.txt +++ b/doc/files/applyactortorqueimpulseworld.txt @@ -1,5 +1,5 @@ -#title applyActorTorqueImpulseWorld [RCBasic Doc] -#header sub applyActorTorqueImpulseWorld( actor, x, y, z) +#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. diff --git a/doc/files/applyactortorquelocal.html b/doc/files/applyactortorquelocal.html index 02b61a4..04a2a1d 100644 --- a/doc/files/applyactortorquelocal.html +++ b/doc/files/applyactortorquelocal.html @@ -3,11 +3,11 @@ - applyActorTorqueLocal [RCBasic Doc] + ApplyActorTorqueLocal [RCBasic Doc] -

sub applyActorTorqueLocal( actor, x, y, z)

+

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.

diff --git a/doc/files/applyactortorquelocal.txt b/doc/files/applyactortorquelocal.txt index c931a18..4e3a0ee 100644 --- a/doc/files/applyactortorquelocal.txt +++ b/doc/files/applyactortorquelocal.txt @@ -1,5 +1,5 @@ -#title applyActorTorqueLocal [RCBasic Doc] -#header sub applyActorTorqueLocal( actor, x, y, z) +#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. diff --git a/doc/files/applyactortorqueworld.html b/doc/files/applyactortorqueworld.html index d2265c8..70fc39e 100644 --- a/doc/files/applyactortorqueworld.html +++ b/doc/files/applyactortorqueworld.html @@ -3,11 +3,11 @@ - applyActorTorqueWorld [RCBasic Doc] + ApplyActorTorqueWorld [RCBasic Doc] -

sub applyActorTorqueWorld( actor, x, y, z)

+

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.

diff --git a/doc/files/applyactortorqueworld.txt b/doc/files/applyactortorqueworld.txt index 5dd6b8c..cde6ac9 100644 --- a/doc/files/applyactortorqueworld.txt +++ b/doc/files/applyactortorqueworld.txt @@ -1,5 +1,5 @@ -#title applyActorTorqueWorld [RCBasic Doc] -#header sub applyActorTorqueWorld( actor, x, y, z) +#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. diff --git a/doc/files/arrayfill.html b/doc/files/arrayfill.html index c6c12c0..3a86c70 100644 --- a/doc/files/arrayfill.html +++ b/doc/files/arrayfill.html @@ -7,7 +7,7 @@ -

sub ArrayFill(ByRef src, fdata)

+

Sub ArrayFill(ByRef src, fdata)

Fills all the elements in an array with the value in fdata

diff --git a/doc/files/arrayfill.txt b/doc/files/arrayfill.txt index 254fd76..08ff811 100644 --- a/doc/files/arrayfill.txt +++ b/doc/files/arrayfill.txt @@ -1,5 +1,5 @@ #title ArrayFill [RCBasic Doc] -#header sub ArrayFill(ByRef src, fdata) +#header Sub ArrayFill(ByRef src, fdata) Fills all the elements in an array with the value in fdata diff --git a/doc/files/arraysize.html b/doc/files/arraysize.html index 20f1cce..704c5a3 100644 --- a/doc/files/arraysize.html +++ b/doc/files/arraysize.html @@ -7,7 +7,7 @@ -

function ArraySize(Byref id, array_dim)

+

Function ArraySize(Byref id, array_dim)

Returns the number of elements in the given dimension of an array

diff --git a/doc/files/arraysize.txt b/doc/files/arraysize.txt index d4ca82d..e05767e 100644 --- a/doc/files/arraysize.txt +++ b/doc/files/arraysize.txt @@ -1,5 +1,5 @@ #title ArraySize [RCBasic Doc] -#header function ArraySize(Byref id, array_dim) +#header Function ArraySize(Byref id, array_dim) Returns the number of elements in the given dimension of an array diff --git a/doc/files/asc.html b/doc/files/asc.html index 07241b9..14aa178 100644 --- a/doc/files/asc.html +++ b/doc/files/asc.html @@ -7,7 +7,7 @@ -

function Asc(c$)

+

Function Asc(c$)

Returns the ASCII value of a character.

diff --git a/doc/files/asc.txt b/doc/files/asc.txt index 84a418d..6450a9e 100644 --- a/doc/files/asc.txt +++ b/doc/files/asc.txt @@ -1,4 +1,4 @@ #title Asc [RCBasic Doc] -#header function Asc(c$) +#header Function Asc(c$) Returns the ASCII value of a character. diff --git a/doc/files/asin.html b/doc/files/asin.html index ad191a6..53ff2c3 100644 --- a/doc/files/asin.html +++ b/doc/files/asin.html @@ -7,7 +7,7 @@ -

function Asin(n)

+

Function Asin(n)

Returns the ArcSine of a number.

diff --git a/doc/files/asin.txt b/doc/files/asin.txt index fb1fe18..c1ab938 100644 --- a/doc/files/asin.txt +++ b/doc/files/asin.txt @@ -1,4 +1,4 @@ #title Asin [RCBasic Doc] -#header function Asin(n) +#header Function Asin(n) Returns the ArcSine of a number. diff --git a/doc/files/atan.html b/doc/files/atan.html index b8cf337..06fe174 100644 --- a/doc/files/atan.html +++ b/doc/files/atan.html @@ -7,7 +7,7 @@ -

function Atan(n)

+

Function Atan(n)

Returns the ArcTangent of a number.

diff --git a/doc/files/atan.txt b/doc/files/atan.txt index d1761ed..f23eeaf 100644 --- a/doc/files/atan.txt +++ b/doc/files/atan.txt @@ -1,4 +1,4 @@ #title Atan [RCBasic Doc] -#header function Atan(n) +#header Function Atan(n) Returns the ArcTangent of a number. diff --git a/doc/files/box3d.html b/doc/files/box3d.html new file mode 100644 index 0000000..d8dd34b --- /dev/null +++ b/doc/files/box3d.html @@ -0,0 +1,17 @@ + + + + + + Box3D [RCBasic Doc] + + + +

sub Box3D(min_x, min_y, min_z, max_x, max_y, max_z)

+

+ Draws a box in 3D space +

+

+ + + \ No newline at end of file diff --git a/doc/files/box3d.txt b/doc/files/box3d.txt new file mode 100644 index 0000000..c750680 --- /dev/null +++ b/doc/files/box3d.txt @@ -0,0 +1,4 @@ +#title Box3D [RCBasic Doc] +#header sub Box3D(min_x, min_y, min_z, max_x, max_y, max_z) + +Draws a box in 3D space diff --git a/doc/files/castray2d.html b/doc/files/castray2d.html new file mode 100644 index 0000000..c460985 --- /dev/null +++ b/doc/files/castray2d.html @@ -0,0 +1,30 @@ + + + + + + CastRay2D [RCBasic Doc] + + + +

function CastRay2D( from_x, from_y, to_x, to_y )

+

+ Cast a ray and get the closest hit on the ray +

+

+ Returns 1 if there is a hit and 0 if not +

+

+ NOTE: GetRayHit2D is used to read each hit +

+

Related: + GetRayHit3D + CastRay3D + CastRay3D_All + CastRay2D_All + GetRayHit2D +

+

+ + + \ No newline at end of file diff --git a/doc/files/castray2d_all.html b/doc/files/castray2d_all.html new file mode 100644 index 0000000..2b2f9bb --- /dev/null +++ b/doc/files/castray2d_all.html @@ -0,0 +1,30 @@ + + + + + + CastRay2D_All [RCBasic Doc] + + + +

function CastRay2D_All( from_x, from_y, to_x, to_y )

+

+ Cast a ray and gets all hits on the ray +

+

+ Returns the number of hits from the ray cast +

+

+ NOTE: GetRayHit2D is used to read each hit +

+

Related: + GetRayHit3D + CastRay3D + CastRay3D_All + CastRay2D + GetRayHit2D +

+

+ + + \ No newline at end of file diff --git a/doc/files/castray3d.html b/doc/files/castray3d.html new file mode 100644 index 0000000..0847b09 --- /dev/null +++ b/doc/files/castray3d.html @@ -0,0 +1,30 @@ + + + + + + CastRay3D [RCBasic Doc] + + + +

function CastRay3D( from_x, from_y, from_z, to_x, to_y, to_z )

+

+ Cast a ray and get the closest hit on the ray +

+

+ Returns 1 if there is a hit and 0 if not +

+

+ NOTE: GetRayHit3D is used to read each hit +

+

Related: + GetRayHit3D + CastRay3D_All + CastRay2D + CastRay2D_All + GetRayHit2D +

+

+ + + \ No newline at end of file diff --git a/doc/files/castray3d_all.html b/doc/files/castray3d_all.html new file mode 100644 index 0000000..38fdbfa --- /dev/null +++ b/doc/files/castray3d_all.html @@ -0,0 +1,30 @@ + + + + + + CastRay3D_All [RCBasic Doc] + + + +

function CastRay3D_All( from_x, from_y, from_z, to_x, to_y, to_z )

+

+ Cast a ray and gets all hits on the ray +

+

+ Returns the number of hits from the ray cast +

+

+ NOTE: GetRayHit3D is used to read each hit +

+

Related: + GetRayHit3D + CastRay3D + CastRay2D + CastRay2D_All + GetRayHit2D +

+

+ + + \ No newline at end of file diff --git a/doc/files/clearcanvas.html b/doc/files/clearcanvas.html index e8e98ca..338383d 100644 --- a/doc/files/clearcanvas.html +++ b/doc/files/clearcanvas.html @@ -12,6 +12,9 @@ Clears the active drawing canvas

+ NOTE: This is only for drawing canvases (ie. Those opened with OpenCanvas()) +

+

\ No newline at end of file diff --git a/doc/files/clearcanvas.txt b/doc/files/clearcanvas.txt index e952865..3deb5fe 100644 --- a/doc/files/clearcanvas.txt +++ b/doc/files/clearcanvas.txt @@ -2,3 +2,5 @@ #header sub ClearCanvas() Clears the active drawing canvas + +NOTE: This is only for drawing canvases (ie. Those opened with OpenCanvas()) diff --git a/doc/files/computeactorangularimpulsedenominator.html b/doc/files/computeactorangularimpulsedenominator.html index 06962d3..c65a4ff 100644 --- a/doc/files/computeactorangularimpulsedenominator.html +++ b/doc/files/computeactorangularimpulsedenominator.html @@ -7,7 +7,7 @@ -

function ComputeActorAngularImpulseDenominator( actor, x, y, z)

+

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.

diff --git a/doc/files/computeactorangularimpulsedenominator.txt b/doc/files/computeactorangularimpulsedenominator.txt index 1a66853..ecf5e43 100644 --- a/doc/files/computeactorangularimpulsedenominator.txt +++ b/doc/files/computeactorangularimpulsedenominator.txt @@ -1,5 +1,5 @@ #title ComputeActorAngularImpulseDenominator [RCBasic Doc] -#header function ComputeActorAngularImpulseDenominator( actor, x, y, z) +#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. diff --git a/doc/files/computeactorgyroimpulselocal.html b/doc/files/computeactorgyroimpulselocal.html index f18826e..265ce83 100644 --- a/doc/files/computeactorgyroimpulselocal.html +++ b/doc/files/computeactorgyroimpulselocal.html @@ -7,7 +7,7 @@ -

sub ComputeActorGyroImpulseLocal( actor, dt, ByRef x, ByRef y, ByRef z)

+

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.

diff --git a/doc/files/computeactorgyroimpulselocal.txt b/doc/files/computeactorgyroimpulselocal.txt index 4f91f63..bafdf61 100644 --- a/doc/files/computeactorgyroimpulselocal.txt +++ b/doc/files/computeactorgyroimpulselocal.txt @@ -1,5 +1,5 @@ #title ComputeActorGyroImpulseLocal [RCBasic Doc] -#header sub ComputeActorGyroImpulseLocal( actor, dt, ByRef x, ByRef y, ByRef z) +#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. diff --git a/doc/files/computeactorgyroimpulseworld.html b/doc/files/computeactorgyroimpulseworld.html index bad5d65..431aebd 100644 --- a/doc/files/computeactorgyroimpulseworld.html +++ b/doc/files/computeactorgyroimpulseworld.html @@ -7,7 +7,7 @@ -

sub ComputeActorGyroImpulseWorld( actor, dt, ByRef x, ByRef y, ByRef z)

+

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.

diff --git a/doc/files/computeactorgyroimpulseworld.txt b/doc/files/computeactorgyroimpulseworld.txt index cb04f05..875f3fb 100644 --- a/doc/files/computeactorgyroimpulseworld.txt +++ b/doc/files/computeactorgyroimpulseworld.txt @@ -1,5 +1,5 @@ #title ComputeActorGyroImpulseWorld [RCBasic Doc] -#header sub ComputeActorGyroImpulseWorld( actor, dt, ByRef x, ByRef y, ByRef z) +#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. diff --git a/doc/files/computeactorimpulsedenominator.html b/doc/files/computeactorimpulsedenominator.html index a3ce3de..7082ceb 100644 --- a/doc/files/computeactorimpulsedenominator.html +++ b/doc/files/computeactorimpulsedenominator.html @@ -7,7 +7,7 @@ -

function ComputeActorImpulseDenominator( actor, pos_x, pos_y, pos_z, normal_x, normal_y, normal_z)

+

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.

diff --git a/doc/files/computeactorimpulsedenominator.txt b/doc/files/computeactorimpulsedenominator.txt index 53250fe..c0b0cc0 100644 --- a/doc/files/computeactorimpulsedenominator.txt +++ b/doc/files/computeactorimpulsedenominator.txt @@ -1,5 +1,5 @@ #title ComputeActorImpulseDenominator [RCBasic Doc] -#header function ComputeActorImpulseDenominator( actor, pos_x, pos_y, pos_z, normal_x, normal_y, normal_z) +#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. diff --git a/doc/files/constraintexists.html b/doc/files/constraintexists.html index 9ac8234..42300e5 100644 --- a/doc/files/constraintexists.html +++ b/doc/files/constraintexists.html @@ -9,6 +9,9 @@

function ConstraintExists( constraint_id )

+ Returns true if the id passed is a valid constraint +

+

\ No newline at end of file diff --git a/doc/files/constraintexists.txt b/doc/files/constraintexists.txt index fc1851e..1ada7e3 100644 --- a/doc/files/constraintexists.txt +++ b/doc/files/constraintexists.txt @@ -1,4 +1,4 @@ #title ConstraintExists [RCBasic Doc] #header function ConstraintExists( constraint_id ) - +Returns true if the id passed is a valid constraint diff --git a/doc/files/copyactormaterial.html b/doc/files/copyactormaterial.html index acbb09c..1e3aac6 100644 --- a/doc/files/copyactormaterial.html +++ b/doc/files/copyactormaterial.html @@ -3,11 +3,11 @@ - copyActorMaterial [RCBasic Doc] + CopyActorMaterial [RCBasic Doc] -

function copyActorMaterial( actor, material_num)

+

function CopyActorMaterial( actor, material_num)

Returns a material id for a copy of an actor's material

diff --git a/doc/files/copyactormaterial.txt b/doc/files/copyactormaterial.txt index 6fc5ce6..30c9ba3 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) +#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/copymaterial.html b/doc/files/copymaterial.html index 075a306..7140ec2 100644 --- a/doc/files/copymaterial.html +++ b/doc/files/copymaterial.html @@ -3,11 +3,11 @@ - copyMaterial [RCBasic Doc] + CopyMaterial [RCBasic Doc] -

function copyMaterial( smaterial_id)

+

function CopyMaterial( smaterial_id)

Returns a copy of a material

diff --git a/doc/files/copymaterial.txt b/doc/files/copymaterial.txt index ec68fbe..4f7cb7e 100644 --- a/doc/files/copymaterial.txt +++ b/doc/files/copymaterial.txt @@ -1,4 +1,4 @@ -#title copyMaterial [RCBasic Doc] -#header function copyMaterial( smaterial_id) +#title CopyMaterial [RCBasic Doc] +#header function CopyMaterial( smaterial_id) Returns a copy of a material diff --git a/doc/files/createhingeconstraint.html b/doc/files/createhingeconstraint.html index 3b5cc44..32b22cc 100644 --- a/doc/files/createhingeconstraint.html +++ b/doc/files/createhingeconstraint.html @@ -3,11 +3,11 @@ - createHingeConstraint [RCBasic Doc] + CreateHingeConstraint [RCBasic Doc] -

function createHingeConstraint( actorA, frameA, useReferenceFrameA )

+

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.

diff --git a/doc/files/createhingeconstraint.txt b/doc/files/createhingeconstraint.txt index 0fc595e..9bab6d9 100644 --- a/doc/files/createhingeconstraint.txt +++ b/doc/files/createhingeconstraint.txt @@ -1,5 +1,5 @@ -#title createHingeConstraint [RCBasic Doc] -#header function createHingeConstraint( actorA, frameA, useReferenceFrameA ) +#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. diff --git a/doc/files/createhingeconstraintex.html b/doc/files/createhingeconstraintex.html index 5f2467b..9e1e9bd 100644 --- a/doc/files/createhingeconstraintex.html +++ b/doc/files/createhingeconstraintex.html @@ -3,11 +3,11 @@ - createHingeConstraintEx [RCBasic Doc] + CreateHingeConstraintEx [RCBasic Doc] -

function createHingeConstraintEx( actorA, actorB, frameA, frameB, useReferenceFrameA)

+

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.

diff --git a/doc/files/createhingeconstraintex.txt b/doc/files/createhingeconstraintex.txt index d68b2e6..ea53632 100644 --- a/doc/files/createhingeconstraintex.txt +++ b/doc/files/createhingeconstraintex.txt @@ -1,5 +1,5 @@ -#title createHingeConstraintEx [RCBasic Doc] -#header function createHingeConstraintEx( actorA, actorB, frameA, frameB, useReferenceFrameA) +#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. diff --git a/doc/files/createmeshoctreeactor.txt b/doc/files/createmeshoctreeactor.txt deleted file mode 100644 index 633ffe8..0000000 --- a/doc/files/createmeshoctreeactor.txt +++ /dev/null @@ -1,8 +0,0 @@ -#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/createpointconstraint.html b/doc/files/createpointconstraint.html index f9ecea7..a199c13 100644 --- a/doc/files/createpointconstraint.html +++ b/doc/files/createpointconstraint.html @@ -3,11 +3,11 @@ - createPointConstraint [RCBasic Doc] + CreatePointConstraint [RCBasic Doc] -

function createPointConstraint( actorA, pxA, pyA, pzA)

+

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.

diff --git a/doc/files/createpointconstraint.txt b/doc/files/createpointconstraint.txt index b1376a9..351ed56 100644 --- a/doc/files/createpointconstraint.txt +++ b/doc/files/createpointconstraint.txt @@ -1,5 +1,5 @@ -#title createPointConstraint [RCBasic Doc] -#header function createPointConstraint( actorA, pxA, pyA, pzA) +#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. diff --git a/doc/files/createpointconstraintex.html b/doc/files/createpointconstraintex.html index b603e5d..1741ed2 100644 --- a/doc/files/createpointconstraintex.html +++ b/doc/files/createpointconstraintex.html @@ -3,11 +3,11 @@ - createPointConstraintEx [RCBasic Doc] + CreatePointConstraintEx [RCBasic Doc] -

function createPointConstraintEx( actorA, actorB, pxA, pyA, pzA, pxB, pyB, pzB)

+

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.

diff --git a/doc/files/createpointconstraintex.txt b/doc/files/createpointconstraintex.txt index f17b183..9817321 100644 --- a/doc/files/createpointconstraintex.txt +++ b/doc/files/createpointconstraintex.txt @@ -1,5 +1,5 @@ -#title createPointConstraintEx [RCBasic Doc] -#header function createPointConstraintEx( actorA, actorB, pxA, pyA, pzA, pxB, pyB, pzB) +#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. diff --git a/doc/files/createslideconstraint.html b/doc/files/createslideconstraint.html index d1f8c1e..2db0edc 100644 --- a/doc/files/createslideconstraint.html +++ b/doc/files/createslideconstraint.html @@ -3,11 +3,11 @@ - createSlideConstraint [RCBasic Doc] + CreateSlideConstraint [RCBasic Doc] -

function createSlideConstraint( actorA, frameInB_matrix, useLinearReferenceFrameA)

+

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.

diff --git a/doc/files/createslideconstraint.txt b/doc/files/createslideconstraint.txt index 5063718..03bd6cb 100644 --- a/doc/files/createslideconstraint.txt +++ b/doc/files/createslideconstraint.txt @@ -1,5 +1,5 @@ -#title createSlideConstraint [RCBasic Doc] -#header function createSlideConstraint( actorA, frameInB_matrix, useLinearReferenceFrameA) +#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. diff --git a/doc/files/createslideconstraintex.html b/doc/files/createslideconstraintex.html index 00371f4..b139388 100644 --- a/doc/files/createslideconstraintex.html +++ b/doc/files/createslideconstraintex.html @@ -3,11 +3,11 @@ - createSlideConstraintEx [RCBasic Doc] + CreateSlideConstraintEx [RCBasic Doc] -

function createSlideConstraintEx( actorA, actorB, frameInA_matrix, frameInB_matrix, useLinearReferenceFrameA)

+

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.

diff --git a/doc/files/createslideconstraintex.txt b/doc/files/createslideconstraintex.txt index 9aeeebe..3acc1cd 100644 --- a/doc/files/createslideconstraintex.txt +++ b/doc/files/createslideconstraintex.txt @@ -1,5 +1,5 @@ -#title createSlideConstraintEx [RCBasic Doc] -#header function createSlideConstraintEx( actorA, actorB, frameInA_matrix, frameInB_matrix, useLinearReferenceFrameA) +#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. diff --git a/doc/files/deleteactor.html b/doc/files/deleteactor.html index 0695d93..7efb430 100644 --- a/doc/files/deleteactor.html +++ b/doc/files/deleteactor.html @@ -12,6 +12,9 @@ Removes an actor from the scene and frees its memory

+ NOTE: Actors are all removed on clearScene so make sure you don't continue using the id after that. +

+

\ No newline at end of file diff --git a/doc/files/deleteactor.txt b/doc/files/deleteactor.txt index 38b80e9..3c7250d 100644 --- a/doc/files/deleteactor.txt +++ b/doc/files/deleteactor.txt @@ -2,3 +2,5 @@ #header sub DeleteActor( actor ) Removes an actor from the scene and frees its memory + +NOTE: Actors are all removed on clearScene so make sure you don't continue using the id after that. diff --git a/doc/files/deleteconstraint.html b/doc/files/deleteconstraint.html index d4ec770..2dca7ba 100644 --- a/doc/files/deleteconstraint.html +++ b/doc/files/deleteconstraint.html @@ -3,11 +3,11 @@ - deleteConstraint [RCBasic Doc] + DeleteConstraint [RCBasic Doc] -

sub deleteConstraint( constraint_id)

+

Sub DeleteConstraint( constraint_id)

Removes a constraint

diff --git a/doc/files/deleteconstraint.txt b/doc/files/deleteconstraint.txt index fe8dd8e..71ab51b 100644 --- a/doc/files/deleteconstraint.txt +++ b/doc/files/deleteconstraint.txt @@ -1,4 +1,4 @@ -#title deleteConstraint [RCBasic Doc] -#header sub deleteConstraint( constraint_id) +#title DeleteConstraint [RCBasic Doc] +#header Sub DeleteConstraint( constraint_id) Removes a constraint diff --git a/doc/files/deletefont.html b/doc/files/deletefont.html index a4e5d82..65a1bca 100644 --- a/doc/files/deletefont.html +++ b/doc/files/deletefont.html @@ -7,7 +7,7 @@ -

sub DeleteFont(font_id)

+

Sub DeleteFont(font_id)

Frees a font from memory

diff --git a/doc/files/deletefont.txt b/doc/files/deletefont.txt index 4a5f97e..097249b 100644 --- a/doc/files/deletefont.txt +++ b/doc/files/deletefont.txt @@ -1,4 +1,4 @@ #title DeleteFont [RCBasic Doc] -#header sub DeleteFont(font_id) +#header Sub DeleteFont(font_id) Frees a font from memory diff --git a/doc/files/deleteimage.html b/doc/files/deleteimage.html index 43ba22b..507d13f 100644 --- a/doc/files/deleteimage.html +++ b/doc/files/deleteimage.html @@ -7,7 +7,7 @@ -

sub DeleteImage(img)

+

Sub DeleteImage(img)

Removes an image from memory

diff --git a/doc/files/deleteimage.txt b/doc/files/deleteimage.txt index 164f0d0..db62800 100644 --- a/doc/files/deleteimage.txt +++ b/doc/files/deleteimage.txt @@ -1,4 +1,4 @@ #title DeleteImage [RCBasic Doc] -#header sub DeleteImage(img) +#header Sub DeleteImage(img) Removes an image from memory diff --git a/doc/files/deletematerial.html b/doc/files/deletematerial.html index 7424dda..9a41461 100644 --- a/doc/files/deletematerial.html +++ b/doc/files/deletematerial.html @@ -3,15 +3,18 @@ - deleteMaterial [RCBasic Doc] + DeleteMaterial [RCBasic Doc] -

sub deleteMaterial( material_id)

+

Sub DeleteMaterial( material_id)

Removes a material from memory

+ NOTE: In the case of actor materials, this will simple drop the reference to it but it will not remove the material from the actor. +

+

\ No newline at end of file diff --git a/doc/files/deletematerial.txt b/doc/files/deletematerial.txt index 5e4d8a5..65d6173 100644 --- a/doc/files/deletematerial.txt +++ b/doc/files/deletematerial.txt @@ -1,4 +1,6 @@ -#title deleteMaterial [RCBasic Doc] -#header sub deleteMaterial( material_id) +#title DeleteMaterial [RCBasic Doc] +#header Sub DeleteMaterial( material_id) Removes a material from memory + +NOTE: In the case of actor materials, this will simple drop the reference to it but it will not remove the material from the actor. diff --git a/doc/files/drawimage_rotateex.txt b/doc/files/drawimage_rotateex.txt index 6473745..ccf321b 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. +Draws a portion of an image to the current canvas rotated by a given angle. diff --git a/doc/files/floodfill.html b/doc/files/floodfill.html index ac60db3..afd743c 100644 --- a/doc/files/floodfill.html +++ b/doc/files/floodfill.html @@ -12,6 +12,9 @@ Fills a closed shape in with the current draw color

+ NOTE: It is not recommended to floodfill the full screen since its prone to stack overload +

+

\ No newline at end of file diff --git a/doc/files/floodfill.txt b/doc/files/floodfill.txt index be4b414..4b6ad3a 100644 --- a/doc/files/floodfill.txt +++ b/doc/files/floodfill.txt @@ -2,3 +2,5 @@ #header sub FloodFill(x,y) Fills a closed shape in with the current draw color + +NOTE: It is not recommended to floodfill the full screen since its prone to stack overload diff --git a/doc/files/fprint.html b/doc/files/fprint.html index 28a21af..ef37dea 100644 --- a/doc/files/fprint.html +++ b/doc/files/fprint.html @@ -12,6 +12,9 @@ Outputs text to the console

+ NOTE: It does the exact same thing as Print. This is here for legacy reasons (ie. I am too lazy to remove it.) +

+

\ No newline at end of file diff --git a/doc/files/fprint.txt b/doc/files/fprint.txt index 97b35de..e2cc2f5 100644 --- a/doc/files/fprint.txt +++ b/doc/files/fprint.txt @@ -2,3 +2,5 @@ #header sub Fprint(txt$) Outputs text to the console + +NOTE: It does the exact same thing as Print. This is here for legacy reasons (ie. I am too lazy to remove it.) diff --git a/doc/files/getactorrotationq.html b/doc/files/getactorrotationq.html index f79bb42..4775951 100644 --- a/doc/files/getactorrotationq.html +++ b/doc/files/getactorrotationq.html @@ -12,7 +12,7 @@ Gets the actors rotation as a quaternion.

- Note: This is useful for calculations that require quaternion but most developers should just use GetActorRotation() + Note: This is useful for calculations that require quaternion but most developers should just use GetActorTransform()


Related: GetActorRotation diff --git a/doc/files/getactorrotationq.txt b/doc/files/getactorrotationq.txt index b7c0450..0197547 100644 --- a/doc/files/getactorrotationq.txt +++ b/doc/files/getactorrotationq.txt @@ -3,6 +3,6 @@ Gets the actors rotation as a quaternion. -Note: This is useful for calculations that require quaternion but most developers should just use GetActorRotation() +Note: This is useful for calculations that require quaternion but most developers should just use GetActorTransform() #ref GetActorRotation SetActorRotation diff --git a/doc/files/getrayhit2d.html b/doc/files/getrayhit2d.html new file mode 100644 index 0000000..a3cd111 --- /dev/null +++ b/doc/files/getrayhit2d.html @@ -0,0 +1,35 @@ + + + + + + GetRayHit2D [RCBasic Doc] + + + +

sub GetRayHit2D( index, ByRef spr_id, ByRef x, ByRef y, ByRef normal_x, ByRef normal_y )

+

+ This function will get the collision point and the normal of a ray hit. +

+

+ NOTES: +

+
    +
  • + CastRay2D or CastRay2D_All must be called prior to calling this function +
  • +
  • + spr_id will return -1 if there was not a hit at the specified index +
  • +
+

Related: + GetRayHit3D + CastRay3D + CastRay3D_All + CastRay2D + CastRay2D_All +

+

+ + + \ No newline at end of file diff --git a/doc/files/getrayhit3d.html b/doc/files/getrayhit3d.html new file mode 100644 index 0000000..83d13c6 --- /dev/null +++ b/doc/files/getrayhit3d.html @@ -0,0 +1,35 @@ + + + + + + GetRayHit3D [RCBasic Doc] + + + +

sub GetRayHit3D( index, ByRef actor_id, ByRef x, ByRef y, ByRef z, ByRef normal_x, ByRef normal_y, ByRef normal_z )

+

+ This function will get the collision point and the normal of a ray hit. +

+

+ NOTES: +

+
    +
  • + CastRay3D or CastRay3D_All must be called prior to calling this function +
  • +
  • + actor_id will return -1 if there was not a hit at the specified index +
  • +
+

Related: + CastRay3D + CastRay3D_All + CastRay2D + CastRay2D_All + GetRayHit2D +

+

+ + + \ No newline at end of file diff --git a/doc/files/getwatercolor.txt b/doc/files/getwatercolor.txt deleted file mode 100644 index d228770..0000000 --- a/doc/files/getwatercolor.txt +++ /dev/null @@ -1,4 +0,0 @@ -#title getWaterColor [RCBasic Doc] -#header function getWaterColor( actor) - - diff --git a/doc/files/getwatercolorblendfactor.txt b/doc/files/getwatercolorblendfactor.txt deleted file mode 100644 index 95cf8bd..0000000 --- a/doc/files/getwatercolorblendfactor.txt +++ /dev/null @@ -1,4 +0,0 @@ -#title getWaterColorBlendFactor [RCBasic Doc] -#header function getWaterColorBlendFactor( actor) - - diff --git a/doc/files/getwaterwaveheight.txt b/doc/files/getwaterwaveheight.txt deleted file mode 100644 index cfa0909..0000000 --- a/doc/files/getwaterwaveheight.txt +++ /dev/null @@ -1,4 +0,0 @@ -#title getWaterWaveHeight [RCBasic Doc] -#header function getWaterWaveHeight( actor) - - diff --git a/doc/files/getwaterwinddirection.txt b/doc/files/getwaterwinddirection.txt deleted file mode 100644 index e2f6112..0000000 --- a/doc/files/getwaterwinddirection.txt +++ /dev/null @@ -1,4 +0,0 @@ -#title getWaterWindDirection [RCBasic Doc] -#header sub getWaterWindDirection( actor, ByRef x, ByRef z) - - diff --git a/doc/files/getwaterwindforce.txt b/doc/files/getwaterwindforce.txt deleted file mode 100644 index 4216525..0000000 --- a/doc/files/getwaterwindforce.txt +++ /dev/null @@ -1,4 +0,0 @@ -#title getWaterWindForce [RCBasic Doc] -#header function getWaterWindForce( actor) - - diff --git a/doc/files/lcase.html b/doc/files/lcase.html index cee7ca8..e0fdcff 100644 --- a/doc/files/lcase.html +++ b/doc/files/lcase.html @@ -3,11 +3,11 @@ - Lcase$ [RCBasic Doc] + LCase$ [RCBasic Doc] -

function Lcase$(src$)

+

function LCase$(src$)

Returns src$ converted to a completely lower-case string

diff --git a/doc/files/lcase.txt b/doc/files/lcase.txt index fb701e7..240b219 100644 --- a/doc/files/lcase.txt +++ b/doc/files/lcase.txt @@ -1,4 +1,4 @@ -#title Lcase$ [RCBasic Doc] -#header function Lcase$(src$) +#title LCase$ [RCBasic Doc] +#header function LCase$(src$) Returns src$ converted to a completely lower-case string diff --git a/doc/files/line3d.html b/doc/files/line3d.html new file mode 100644 index 0000000..2fb3b2a --- /dev/null +++ b/doc/files/line3d.html @@ -0,0 +1,17 @@ + + + + + + Line3D [RCBasic Doc] + + + +

sub Line3D(x1, y1, z1, x2, y2, z2)

+

+ Draws a line in 3D space +

+

+ + + \ No newline at end of file diff --git a/doc/files/line3d.txt b/doc/files/line3d.txt new file mode 100644 index 0000000..a9ce8a9 --- /dev/null +++ b/doc/files/line3d.txt @@ -0,0 +1,4 @@ +#title Line3D [RCBasic Doc] +#header sub Line3D(x1, y1, z1, x2, y2, z2) + +Draws a line in 3D space diff --git a/doc/files/loopactoranimation.html b/doc/files/loopactoranimation.html index 834ce51..4f2c970 100644 --- a/doc/files/loopactoranimation.html +++ b/doc/files/loopactoranimation.html @@ -3,11 +3,11 @@ - loopActorAnimation [RCBasic Doc] + LoopActorAnimation [RCBasic Doc] -

sub loopActorAnimation( actor, flag )

+

sub LoopActorAnimation( actor, flag )

Enables or disables actor animation loop

diff --git a/doc/files/loopactoranimation.txt b/doc/files/loopactoranimation.txt index 9b049a4..e4343a2 100644 --- a/doc/files/loopactoranimation.txt +++ b/doc/files/loopactoranimation.txt @@ -1,4 +1,4 @@ -#title loopActorAnimation [RCBasic Doc] -#header sub loopActorAnimation( actor, flag ) +#title LoopActorAnimation [RCBasic Doc] +#header sub LoopActorAnimation( actor, flag ) Enables or disables actor animation loop diff --git a/doc/files/ltrim.html b/doc/files/ltrim.html index eaeefe6..ef3f472 100644 --- a/doc/files/ltrim.html +++ b/doc/files/ltrim.html @@ -3,14 +3,18 @@ - Ltrim$ [RCBasic Doc] + LTrim$ [RCBasic Doc] -

function Ltrim$(src$)

+

function LTrim$(src$)

Returns src$ with all the spaces before the first non-space character removed.

+

Related: + RTrim + Trim +

diff --git a/doc/files/ltrim.txt b/doc/files/ltrim.txt index df9fce2..c6cdb3c 100644 --- a/doc/files/ltrim.txt +++ b/doc/files/ltrim.txt @@ -1,4 +1,6 @@ -#title Ltrim$ [RCBasic Doc] -#header function Ltrim$(src$) +#title LTrim$ [RCBasic Doc] +#header function LTrim$(src$) Returns src$ with all the spaces before the first non-space character removed. + +#ref RTrim Trim diff --git a/doc/files/materialexists.html b/doc/files/materialexists.html index 28d8e90..19dd058 100644 --- a/doc/files/materialexists.html +++ b/doc/files/materialexists.html @@ -9,6 +9,9 @@

function MaterialExists( material )

+ Returns true if the material id is an existing material +

+

\ No newline at end of file diff --git a/doc/files/materialexists.txt b/doc/files/materialexists.txt index afd5574..f18ad2c 100644 --- a/doc/files/materialexists.txt +++ b/doc/files/materialexists.txt @@ -1,4 +1,4 @@ #title MaterialExists [RCBasic Doc] #header function MaterialExists( material ) - +Returns true if the material id is an existing material diff --git a/doc/files/materialisaplhablend.html b/doc/files/materialisaplhablend.html index 30353a3..638739e 100644 --- a/doc/files/materialisaplhablend.html +++ b/doc/files/materialisaplhablend.html @@ -3,11 +3,11 @@ - materialIsAplhaBlend [RCBasic Doc] + MaterialIsAplhaBlend [RCBasic Doc] -

function materialIsAplhaBlend( material_id)

+

function MaterialIsAplhaBlend( material_id)

Returns true if alpha blending is enabled for a material

diff --git a/doc/files/materialisaplhablend.txt b/doc/files/materialisaplhablend.txt index 0ef6991..01037bf 100644 --- a/doc/files/materialisaplhablend.txt +++ b/doc/files/materialisaplhablend.txt @@ -1,4 +1,4 @@ -#title materialIsAplhaBlend [RCBasic Doc] -#header function materialIsAplhaBlend( material_id) +#title MaterialIsAplhaBlend [RCBasic Doc] +#header function MaterialIsAplhaBlend( material_id) Returns true if alpha blending is enabled for a material diff --git a/doc/files/materialisgouraudshaded.html b/doc/files/materialisgouraudshaded.html index e889bb9..5e9c3d8 100644 --- a/doc/files/materialisgouraudshaded.html +++ b/doc/files/materialisgouraudshaded.html @@ -3,11 +3,11 @@ - materialIsGouraudShaded [RCBasic Doc] + MaterialIsGouraudShaded [RCBasic Doc] -

function materialIsGouraudShaded( material_id)

+

function MaterialIsGouraudShaded( material_id )

Returns true if material is set to goraud shading

diff --git a/doc/files/materialisgouraudshaded.txt b/doc/files/materialisgouraudshaded.txt index f6b94b9..be61944 100644 --- a/doc/files/materialisgouraudshaded.txt +++ b/doc/files/materialisgouraudshaded.txt @@ -1,4 +1,4 @@ -#title materialIsGouraudShaded [RCBasic Doc] -#header function materialIsGouraudShaded( material_id) +#title MaterialIsGouraudShaded [RCBasic Doc] +#header function MaterialIsGouraudShaded( material_id ) Returns true if material is set to goraud shading diff --git a/doc/files/materialislit.html b/doc/files/materialislit.html index 30c2f01..8d8cccb 100644 --- a/doc/files/materialislit.html +++ b/doc/files/materialislit.html @@ -3,11 +3,11 @@ - materialIsLit [RCBasic Doc] + MaterialIsLit [RCBasic Doc] -

function materialIsLit( material_id)

+

function MaterialIsLit( material_id )

Returns true if a material is affected by lights in the scene

diff --git a/doc/files/materialislit.txt b/doc/files/materialislit.txt index 9607570..42ad3c8 100644 --- a/doc/files/materialislit.txt +++ b/doc/files/materialislit.txt @@ -1,5 +1,5 @@ -#title materialIsLit [RCBasic Doc] -#header function materialIsLit( material_id) +#title MaterialIsLit [RCBasic Doc] +#header function MaterialIsLit( material_id ) Returns true if a material is affected by lights in the scene diff --git a/doc/files/materialisnormalized.html b/doc/files/materialisnormalized.html index 34cf5a2..97072ff 100644 --- a/doc/files/materialisnormalized.html +++ b/doc/files/materialisnormalized.html @@ -3,11 +3,11 @@ - materialIsNormalized [RCBasic Doc] + MaterialIsNormalized [RCBasic Doc] -

function materialIsNormalized( material_id)

+

function MaterialIsNormalized( material_id )

Returns true if material has normalized normals

diff --git a/doc/files/materialisnormalized.txt b/doc/files/materialisnormalized.txt index fdd280f..8fa2590 100644 --- a/doc/files/materialisnormalized.txt +++ b/doc/files/materialisnormalized.txt @@ -1,4 +1,4 @@ -#title materialIsNormalized [RCBasic Doc] -#header function materialIsNormalized( material_id) +#title MaterialIsNormalized [RCBasic Doc] +#header function MaterialIsNormalized( material_id ) Returns true if material has normalized normals diff --git a/doc/files/materialispointcloud.html b/doc/files/materialispointcloud.html index d71a5e0..e978c96 100644 --- a/doc/files/materialispointcloud.html +++ b/doc/files/materialispointcloud.html @@ -3,11 +3,11 @@ - materialIsPointCloud [RCBasic Doc] + MaterialIsPointCloud [RCBasic Doc] -

function materialIsPointCloud( material_id)

+

function MaterialIsPointCloud( material_id )

Returns true if material is set to render with point cloud

diff --git a/doc/files/materialispointcloud.txt b/doc/files/materialispointcloud.txt index 3c703f3..5796a38 100644 --- a/doc/files/materialispointcloud.txt +++ b/doc/files/materialispointcloud.txt @@ -1,4 +1,4 @@ -#title materialIsPointCloud [RCBasic Doc] -#header function materialIsPointCloud( material_id) +#title MaterialIsPointCloud [RCBasic Doc] +#header function MaterialIsPointCloud( material_id ) Returns true if material is set to render with point cloud diff --git a/doc/files/materialistransparent.html b/doc/files/materialistransparent.html index e16d041..5dc3329 100644 --- a/doc/files/materialistransparent.html +++ b/doc/files/materialistransparent.html @@ -3,11 +3,11 @@ - materialIsTransparent [RCBasic Doc] + MaterialIsTransparent [RCBasic Doc] -

function materialIsTransparent( material_id)

+

function MaterialIsTransparent( material_id)

Returns true if material is transparent

diff --git a/doc/files/materialistransparent.txt b/doc/files/materialistransparent.txt index 92bdce5..5e2d102 100644 --- a/doc/files/materialistransparent.txt +++ b/doc/files/materialistransparent.txt @@ -1,4 +1,4 @@ -#title materialIsTransparent [RCBasic Doc] -#header function materialIsTransparent( material_id) +#title MaterialIsTransparent [RCBasic Doc] +#header function MaterialIsTransparent( material_id) Returns true if material is transparent diff --git a/doc/files/materialiswireframe.html b/doc/files/materialiswireframe.html index 0a706d7..4aa8ba5 100644 --- a/doc/files/materialiswireframe.html +++ b/doc/files/materialiswireframe.html @@ -3,11 +3,11 @@ - materialIsWireframe [RCBasic Doc] + MaterialIsWireframe [RCBasic Doc] -

function materialIsWireframe( material_id)

+

function MaterialIsWireframe( material_id )

Returns true if the material is rendered with non-filled triangles

diff --git a/doc/files/materialiswireframe.txt b/doc/files/materialiswireframe.txt index aafe744..391e01b 100644 --- a/doc/files/materialiswireframe.txt +++ b/doc/files/materialiswireframe.txt @@ -1,4 +1,4 @@ -#title materialIsWireframe [RCBasic Doc] -#header function materialIsWireframe( material_id) +#title MaterialIsWireframe [RCBasic Doc] +#header function MaterialIsWireframe( material_id ) Returns true if the material is rendered with non-filled triangles diff --git a/doc/files/setcanvas3d.txt b/doc/files/setcanvas3d.txt deleted file mode 100644 index 6a06036..0000000 --- a/doc/files/setcanvas3d.txt +++ /dev/null @@ -1,4 +0,0 @@ -#title SetCanvas3D [RCBasic Doc] -#header Sub SetCanvas3D(c_num, flag) - - diff --git a/doc/files/setwatercolor.txt b/doc/files/setwatercolor.txt deleted file mode 100644 index 77c2e57..0000000 --- a/doc/files/setwatercolor.txt +++ /dev/null @@ -1,4 +0,0 @@ -#title setWaterColor [RCBasic Doc] -#header sub setWaterColor( actor, c) - - diff --git a/doc/files/setwatercolorblendfactor.txt b/doc/files/setwatercolorblendfactor.txt deleted file mode 100644 index f2c07a6..0000000 --- a/doc/files/setwatercolorblendfactor.txt +++ /dev/null @@ -1,4 +0,0 @@ -#title setWaterColorBlendFactor [RCBasic Doc] -#header sub setWaterColorBlendFactor( actor, cbfactor) - - diff --git a/doc/files/setwaterwaveheight.txt b/doc/files/setwaterwaveheight.txt deleted file mode 100644 index 631b22d..0000000 --- a/doc/files/setwaterwaveheight.txt +++ /dev/null @@ -1,4 +0,0 @@ -#title setWaterWaveHeight [RCBasic Doc] -#header sub setWaterWaveHeight( actor, h) - - diff --git a/doc/files/setwaterwinddirection.txt b/doc/files/setwaterwinddirection.txt deleted file mode 100644 index bda16fe..0000000 --- a/doc/files/setwaterwinddirection.txt +++ /dev/null @@ -1,4 +0,0 @@ -#title setWaterWindDirection [RCBasic Doc] -#header sub setWaterWindDirection( actor, x, z) - - diff --git a/doc/files/setwaterwindforce.txt b/doc/files/setwaterwindforce.txt deleted file mode 100644 index fd95393..0000000 --- a/doc/files/setwaterwindforce.txt +++ /dev/null @@ -1,4 +0,0 @@ -#title setWaterWindForce [RCBasic Doc] -#header sub setWaterWindForce( actor, f) - - diff --git a/doc/files/setworld3ddeltatime.txt b/doc/files/setworld3ddeltatime.txt deleted file mode 100644 index ef089fb..0000000 --- a/doc/files/setworld3ddeltatime.txt +++ /dev/null @@ -1,4 +0,0 @@ -#title SetWorld3DDeltaTime [RCBasic Doc] -#header sub SetWorld3DDeltaTime( dt ) - - diff --git a/doc/files/tcp_acceptsocket.html b/doc/files/tcp_acceptsocket.html index 7708fc2..57af5b0 100644 --- a/doc/files/tcp_acceptsocket.html +++ b/doc/files/tcp_acceptsocket.html @@ -7,9 +7,9 @@ -

function TCP_AcceptSocket(server, client)

+

function TCP_AcceptSocket(server)

- Attempts to accept a connection from a server socket. If successful it will open a client socket to communicate with the server and return true. If it fails it will return false. + Attempts to accept a connection from a server socket. If successful it will return a client socket id. If it fails it will return -1.

diff --git a/doc/files/translateactor.txt b/doc/files/translateactor.txt deleted file mode 100644 index 5d8b8e9..0000000 --- a/doc/files/translateactor.txt +++ /dev/null @@ -1,4 +0,0 @@ -#title TranslateActor [RCBasic Doc] -#header sub TranslateActor( actor, x, y, z ) - - diff --git a/doc/files/triangle.html b/doc/files/triangle.html new file mode 100644 index 0000000..ab9dc03 --- /dev/null +++ b/doc/files/triangle.html @@ -0,0 +1,17 @@ + + + + + + Triangle [RCBasic Doc] + + + +

sub Triangle(x1, y1, x2, y2, x3, y3)

+

+ Draws a filled Triangle +

+

+ + + \ No newline at end of file diff --git a/doc/files/triangle.txt b/doc/files/triangle.txt new file mode 100644 index 0000000..baf8414 --- /dev/null +++ b/doc/files/triangle.txt @@ -0,0 +1,5 @@ +#title Triangle [RCBasic Doc] +#header sub Triangle(x1, y1, x2, y2, x3, y3) + +Draws a filled Triangle + diff --git a/doc/files/triangle3d.html b/doc/files/triangle3d.html new file mode 100644 index 0000000..95dd959 --- /dev/null +++ b/doc/files/triangle3d.html @@ -0,0 +1,17 @@ + + + + + + Triangle3D [RCBasic Doc] + + + +

sub Triangle3D(x1, y1, z1, x2, y2, z2, x3, y3, z3)

+

+ Draws a triangle in 3D space +

+

+ + + \ No newline at end of file diff --git a/doc/files/triangle3d.txt b/doc/files/triangle3d.txt new file mode 100644 index 0000000..8a070f8 --- /dev/null +++ b/doc/files/triangle3d.txt @@ -0,0 +1,4 @@ +#title Triangle3D [RCBasic Doc] +#header sub Triangle3D(x1, y1, z1, x2, y2, z2, x3, y3, z3) + +Draws a triangle in 3D space diff --git a/doc/files/tst.txt b/doc/files/tst.txt deleted file mode 100644 index d7bf91f..0000000 --- a/doc/files/tst.txt +++ /dev/null @@ -1,4 +0,0 @@ -#title tst [RCBasic Doc] -#header sub tst() - - diff --git a/doc/style.css b/doc/style.css new file mode 100644 index 0000000..50cfb82 --- /dev/null +++ b/doc/style.css @@ -0,0 +1,65 @@ +table, th, td { border: 1px solid black; } th, td { padding: 10px; } +body { background-color: #064066; color: #FFFFFF; } +a { color: #40bfb8; } +a::before { + content: "---"; + font-family: monospace, monospace; + display: inline-block; + margin-right: 6px; + color: #064066; +} + +.rc_number { color: #0b9898; } +.rc_string { color: #dd4040; } +.rc_keyword { color: #6084a8; font-weight: bold; } +.rc_comment { color: #6e716e; } +#rc_code { font-family: Consolas,"courier new"; background-color: #2d3335; padding: 2px; font-size: 105%; } + + +ul, #myUL { + list-style-type: none; +} + +#myUL { + margin: 0; + padding: 0; +} + +.box { + cursor: pointer; + -webkit-user-select: none; /* Safari 3.1+ */ + -moz-user-select: none; /* Firefox 2+ */ + -ms-user-select: none; /* IE 10+ */ + user-select: none; +} + +.box::before { + content: "[+]"; + font-family: monospace, monospace; + font-weight: bold; + color: #40bfb8; + display: inline-block; + margin-right: 6px; +} + +.box { + font-weight: bold; + color: #40bfb8; + text-decoration: underline; +} + +.check-box::before { + content: "[-]"; + font-family: monospace, monospace; + font-weight: bold; + //color: dodgerblue; + color: #40bfb8; +} + +.nested { + display: none; +} + +.active { + display: block; +}