Merge pull request #49 from n00b87/joint_stuff

Added JointExists() and SpriteExists()
This commit is contained in:
Rodney Cunningham
2024-12-22 18:28:49 -05:00
committed by GitHub
16 changed files with 1135 additions and 1072 deletions

View File

@@ -1225,6 +1225,8 @@ ul, #myUL {
<li><a href="getspritesource.html" target="main">GetSpriteSource</a></li> <li><a href="getspritesource.html" target="main">GetSpriteSource</a></li>
<li><a href="spriteexists.html" target="main">SpriteExists</a></li>
</ul> </ul>
</li> </li>
@@ -1523,6 +1525,8 @@ ul, #myUL {
<li><a href="deletejoint.html" target="main">DeleteJoint</a></li> <li><a href="deletejoint.html" target="main">DeleteJoint</a></li>
<li><a href="jointexists.html" target="main">JointExists</a></li>
</ul> </ul>
</li> </li>

View File

@@ -0,0 +1,4 @@
#title JointExists [RCBasic Doc]
#header function JointExists( joint_id )

4
doc/files/setfps.txt Normal file
View File

@@ -0,0 +1,4 @@
#title SetFPS [RCBasic Doc]
#header Sub SetFPS(fps_val)

View File

@@ -0,0 +1,4 @@
#title SpriteExists [RCBasic Doc]
#header Function SpriteExists(sprite)

View File

@@ -478,6 +478,7 @@ rc_setSpriteType( SETSPRITETYPE_SPRITE, SETSPRITETYPE_SPRITE_TYPE )
rc_getSpriteType( GETSPRITETYPE_SPRITE ) rc_getSpriteType( GETSPRITETYPE_SPRITE )
rc_setSpriteSource( SETSPRITESOURCE_SPRITE, SETSPRITESOURCE_IMG ) rc_setSpriteSource( SETSPRITESOURCE_SPRITE, SETSPRITESOURCE_IMG )
rc_getSpriteSource( GETSPRITESOURCE_SPRITE ) rc_getSpriteSource( GETSPRITESOURCE_SPRITE )
rc_spriteExists( SPRITEEXISTS_SPRITE )
rc_createSpriteAnimation( CREATESPRITEANIMATION_SPRITE, CREATESPRITEANIMATION_ANIM_LENGTH, CREATESPRITEANIMATION_SPEED ) rc_createSpriteAnimation( CREATESPRITEANIMATION_SPRITE, CREATESPRITEANIMATION_ANIM_LENGTH, CREATESPRITEANIMATION_SPEED )
rc_setSpriteFrame( SETSPRITEFRAME_SPRITE, SETSPRITEFRAME_FRAME ) rc_setSpriteFrame( SETSPRITEFRAME_SPRITE, SETSPRITEFRAME_FRAME )
rc_getSpriteFrame( GETSPRITEFRAME_SPRITE ) rc_getSpriteFrame( GETSPRITEFRAME_SPRITE )
@@ -615,6 +616,7 @@ rc_getJointAngle( GETJOINTANGLE_JOINT_ID )
rc_getJointLinearSpeed( GETJOINTLINEARSPEED_JOINT_ID ) rc_getJointLinearSpeed( GETJOINTLINEARSPEED_JOINT_ID )
rc_getJointAngularSpeed( GETJOINTANGULARSPEED_JOINT_ID ) rc_getJointAngularSpeed( GETJOINTANGULARSPEED_JOINT_ID )
rc_deleteJoint( DELETEJOINT_JOINT_ID ) rc_deleteJoint( DELETEJOINT_JOINT_ID )
rc_jointExists( JOINTEXISTS_JOINT_ID )
rc_createTileSet( CREATETILESET_IMG_ID, CREATETILESET_TILE_W, CREATETILESET_TILE_H ) rc_createTileSet( CREATETILESET_IMG_ID, CREATETILESET_TILE_W, CREATETILESET_TILE_H )
rc_setTileAnimationLength( SETTILEANIMATIONLENGTH_TILESET, SETTILEANIMATIONLENGTH_BASE_TILE, SETTILEANIMATIONLENGTH_NUM_FRAMES ) rc_setTileAnimationLength( SETTILEANIMATIONLENGTH_TILESET, SETTILEANIMATIONLENGTH_BASE_TILE, SETTILEANIMATIONLENGTH_NUM_FRAMES )
rc_getTileAnimationLength( GETTILEANIMATIONLENGTH_TILESET, GETTILEANIMATIONLENGTH_BASE_TILE ) rc_getTileAnimationLength( GETTILEANIMATIONLENGTH_TILESET, GETTILEANIMATIONLENGTH_BASE_TILE )

View File

@@ -66,3 +66,4 @@ function getJointAngle( joint_id)
function getJointLinearSpeed( joint_id) function getJointLinearSpeed( joint_id)
function getJointAngularSpeed( joint_id) function getJointAngularSpeed( joint_id)
Sub DeleteJoint( joint_id ) Sub DeleteJoint( joint_id )
function JointExists( joint_id )

View File

@@ -24,3 +24,4 @@ Sub SetSpriteType(sprite, sprite_type)
Function GetSpriteType(sprite) Function GetSpriteType(sprite)
Sub SetSpriteSource(sprite, img) Sub SetSpriteSource(sprite, img)
Function GetSpriteSource(sprite) Function GetSpriteSource(sprite)
Function SpriteExists(sprite)

View File

@@ -1388,6 +1388,8 @@ void init_embedded_functions()
add_embedded_arg("img", ID_TYPE_NUM); add_embedded_arg("img", ID_TYPE_NUM);
embed_function("GetSpriteSource", ID_TYPE_FN_NUM); embed_function("GetSpriteSource", ID_TYPE_FN_NUM);
add_embedded_arg("sprite", ID_TYPE_NUM); add_embedded_arg("sprite", ID_TYPE_NUM);
embed_function("SpriteExists", ID_TYPE_FN_NUM);
add_embedded_arg("sprite", ID_TYPE_NUM);
embed_function("CreateSpriteAnimation", ID_TYPE_FN_NUM); embed_function("CreateSpriteAnimation", ID_TYPE_FN_NUM);
add_embedded_arg("sprite", ID_TYPE_NUM); add_embedded_arg("sprite", ID_TYPE_NUM);
add_embedded_arg("anim_length", ID_TYPE_NUM); add_embedded_arg("anim_length", ID_TYPE_NUM);
@@ -1835,6 +1837,8 @@ void init_embedded_functions()
add_embedded_arg("joint_id", ID_TYPE_NUM); add_embedded_arg("joint_id", ID_TYPE_NUM);
embed_function("DeleteJoint", ID_TYPE_SUB); embed_function("DeleteJoint", ID_TYPE_SUB);
add_embedded_arg("joint_id", ID_TYPE_NUM); add_embedded_arg("joint_id", ID_TYPE_NUM);
embed_function("JointExists", ID_TYPE_FN_NUM);
add_embedded_arg("joint_id", ID_TYPE_NUM);
embed_function("CreateTileSet", ID_TYPE_FN_NUM); embed_function("CreateTileSet", ID_TYPE_FN_NUM);
add_embedded_arg("img_id", ID_TYPE_NUM); add_embedded_arg("img_id", ID_TYPE_NUM);
add_embedded_arg("tile_w", ID_TYPE_NUM); add_embedded_arg("tile_w", ID_TYPE_NUM);

Binary file not shown.

View File

@@ -1382,6 +1382,8 @@ add_embedded_arg("sprite", ID_TYPE_NUM);
add_embedded_arg("img", ID_TYPE_NUM); add_embedded_arg("img", ID_TYPE_NUM);
embed_function("GetSpriteSource", ID_TYPE_FN_NUM); embed_function("GetSpriteSource", ID_TYPE_FN_NUM);
add_embedded_arg("sprite", ID_TYPE_NUM); add_embedded_arg("sprite", ID_TYPE_NUM);
embed_function("SpriteExists", ID_TYPE_FN_NUM);
add_embedded_arg("sprite", ID_TYPE_NUM);
embed_function("CreateSpriteAnimation", ID_TYPE_FN_NUM); embed_function("CreateSpriteAnimation", ID_TYPE_FN_NUM);
add_embedded_arg("sprite", ID_TYPE_NUM); add_embedded_arg("sprite", ID_TYPE_NUM);
add_embedded_arg("anim_length", ID_TYPE_NUM); add_embedded_arg("anim_length", ID_TYPE_NUM);
@@ -1829,6 +1831,8 @@ embed_function("getJointAngularSpeed", ID_TYPE_FN_NUM);
add_embedded_arg("joint_id", ID_TYPE_NUM); add_embedded_arg("joint_id", ID_TYPE_NUM);
embed_function("DeleteJoint", ID_TYPE_SUB); embed_function("DeleteJoint", ID_TYPE_SUB);
add_embedded_arg("joint_id", ID_TYPE_NUM); add_embedded_arg("joint_id", ID_TYPE_NUM);
embed_function("JointExists", ID_TYPE_FN_NUM);
add_embedded_arg("joint_id", ID_TYPE_NUM);
embed_function("CreateTileSet", ID_TYPE_FN_NUM); embed_function("CreateTileSet", ID_TYPE_FN_NUM);
add_embedded_arg("img_id", ID_TYPE_NUM); add_embedded_arg("img_id", ID_TYPE_NUM);
add_embedded_arg("tile_w", ID_TYPE_NUM); add_embedded_arg("tile_w", ID_TYPE_NUM);

File diff suppressed because it is too large Load Diff

View File

@@ -1466,6 +1466,9 @@ case FN_SetSpriteSource: //Sub Procedure
case FN_GetSpriteSource: //Number Function case FN_GetSpriteSource: //Number Function
rc_push_num(rc_getSpriteSource( GETSPRITESOURCE_SPRITE )); rc_push_num(rc_getSpriteSource( GETSPRITESOURCE_SPRITE ));
break; break;
case FN_SpriteExists: //Number Function
rc_push_num(rc_spriteExists( SPRITEEXISTS_SPRITE ));
break;
case FN_CreateSpriteAnimation: //Number Function case FN_CreateSpriteAnimation: //Number Function
rc_push_num(rc_createSpriteAnimation( CREATESPRITEANIMATION_SPRITE, CREATESPRITEANIMATION_ANIM_LENGTH, CREATESPRITEANIMATION_SPEED )); rc_push_num(rc_createSpriteAnimation( CREATESPRITEANIMATION_SPRITE, CREATESPRITEANIMATION_ANIM_LENGTH, CREATESPRITEANIMATION_SPEED ));
break; break;
@@ -1877,6 +1880,9 @@ case FN_getJointAngularSpeed: //Number Function
case FN_DeleteJoint: //Sub Procedure case FN_DeleteJoint: //Sub Procedure
rc_deleteJoint( DELETEJOINT_JOINT_ID ); rc_deleteJoint( DELETEJOINT_JOINT_ID );
break; break;
case FN_JointExists: //Number Function
rc_push_num(rc_jointExists( JOINTEXISTS_JOINT_ID ));
break;
case FN_CreateTileSet: //Number Function case FN_CreateTileSet: //Number Function
rc_push_num(rc_createTileSet( CREATETILESET_IMG_ID, CREATETILESET_TILE_W, CREATETILESET_TILE_H )); rc_push_num(rc_createTileSet( CREATETILESET_IMG_ID, CREATETILESET_TILE_W, CREATETILESET_TILE_H ));
break; break;

File diff suppressed because it is too large Load Diff

View File

@@ -1466,6 +1466,9 @@ case FN_SetSpriteSource: //Sub Procedure
case FN_GetSpriteSource: //Number Function case FN_GetSpriteSource: //Number Function
rc_push_num(rc_getSpriteSource( GETSPRITESOURCE_SPRITE )); rc_push_num(rc_getSpriteSource( GETSPRITESOURCE_SPRITE ));
break; break;
case FN_SpriteExists: //Number Function
rc_push_num(rc_spriteExists( SPRITEEXISTS_SPRITE ));
break;
case FN_CreateSpriteAnimation: //Number Function case FN_CreateSpriteAnimation: //Number Function
rc_push_num(rc_createSpriteAnimation( CREATESPRITEANIMATION_SPRITE, CREATESPRITEANIMATION_ANIM_LENGTH, CREATESPRITEANIMATION_SPEED )); rc_push_num(rc_createSpriteAnimation( CREATESPRITEANIMATION_SPRITE, CREATESPRITEANIMATION_ANIM_LENGTH, CREATESPRITEANIMATION_SPEED ));
break; break;
@@ -1877,6 +1880,9 @@ case FN_getJointAngularSpeed: //Number Function
case FN_DeleteJoint: //Sub Procedure case FN_DeleteJoint: //Sub Procedure
rc_deleteJoint( DELETEJOINT_JOINT_ID ); rc_deleteJoint( DELETEJOINT_JOINT_ID );
break; break;
case FN_JointExists: //Number Function
rc_push_num(rc_jointExists( JOINTEXISTS_JOINT_ID ));
break;
case FN_CreateTileSet: //Number Function case FN_CreateTileSet: //Number Function
rc_push_num(rc_createTileSet( CREATETILESET_IMG_ID, CREATETILESET_TILE_W, CREATETILESET_TILE_H )); rc_push_num(rc_createTileSet( CREATETILESET_IMG_ID, CREATETILESET_TILE_W, CREATETILESET_TILE_H ));
break; break;

View File

@@ -11,6 +11,14 @@
#include "rc_gfx_core.h" #include "rc_gfx_core.h"
bool rc_jointExists(int joint_id)
{
if(joint_id < 0 || joint_id >= rc_joint.size())
return false;
return rc_joint[joint_id].active;
}
int rc_createDistanceJoint(int spriteA, int spriteB, double aX, double aY, double bX, double bY, bool collide_connected) int rc_createDistanceJoint(int spriteA, int spriteB, double aX, double aY, double bX, double bY, bool collide_connected)
{ {
if(rc_active_canvas < 0 || rc_active_canvas >= rc_canvas.size()) if(rc_active_canvas < 0 || rc_active_canvas >= rc_canvas.size())

View File

@@ -304,6 +304,13 @@ void sortSpriteZ(int canvas_id)
} }
} }
bool rc_spriteExists(int spr_id)
{
if(spr_id < 0 || spr_id >= rc_sprite.size())
return false;
return rc_sprite[spr_id].active;
}
int rc_createSprite(int img_id, double w, double h) int rc_createSprite(int img_id, double w, double h)
{ {