Added JointExists() and SpriteExists()

This commit is contained in:
n00b
2024-12-22 18:16:13 -05:00
parent a2c9d4952c
commit f2af1d4045
16 changed files with 1135 additions and 1072 deletions

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

View File

@@ -11,6 +11,14 @@
#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)
{
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)
{