Added GetSpriteCollision()

This commit is contained in:
n00b87
2026-03-04 00:52:27 -06:00
parent ea986a826b
commit 135b9f8bbb
17 changed files with 1884 additions and 1819 deletions

View File

@@ -527,6 +527,7 @@ rc_getSpriteAlpha( GETSPRITEALPHA_SPRITE )
rc_addSpriteChild( ADDSPRITECHILD_SPRITE, ADDSPRITECHILD_CHILD_SPRITE, ADDSPRITECHILD_X, ADDSPRITECHILD_Y )
rc_removeSpriteChild( REMOVESPRITECHILD_SPRITE, REMOVESPRITECHILD_CHILD_INDEX )
rc_getSpriteChildIndex( GETSPRITECHILDINDEX_SPRITE, GETSPRITECHILDINDEX_CHILD_SPRITE )
rc_getSpriteCollision( GETSPRITECOLLISION_SPRITEA, GETSPRITECOLLISION_SPRITEB )
rc_createSpriteAnimation( CREATESPRITEANIMATION_SPRITE, CREATESPRITEANIMATION_ANIM_LENGTH, CREATESPRITEANIMATION_SPEED )
rc_setSpriteFrame( SETSPRITEFRAME_SPRITE, SETSPRITEFRAME_FRAME )
rc_getSpriteFrame( GETSPRITEFRAME_SPRITE )

View File

@@ -32,3 +32,4 @@ Function GetSpriteAlpha(sprite)
Function AddSpriteChild(sprite, child_sprite, x, y)
Sub RemoveSpriteChild(sprite, child_index)
Function GetSpriteChildIndex(sprite, child_sprite)
Function GetSpriteCollision(spriteA, spriteB)

View File

@@ -926,6 +926,7 @@ int main(int argc, char * argv[])
bool clean_after_build = true;
//DEBUG START
//rcbasic_build_debug = true;
//chdir("/home/n00b/Programs/rcbasic/examples/Sprite_Test");
//chdir("/home/n00b/GameDev/Ambient/Ambient_Project");
rc_filename = "main.bas";
@@ -967,7 +968,7 @@ int main(int argc, char * argv[])
if(rc_filename.compare("--version")==0)
{
cout << "RCBASIC Compiler v4.8" << endl;
cout << "RCBASIC Compiler v4.9" << endl;
return 0;
}

View File

@@ -1555,6 +1555,9 @@ void init_embedded_functions()
embed_function("GetSpriteChildIndex", ID_TYPE_FN_NUM);
add_embedded_arg("sprite", ID_TYPE_NUM);
add_embedded_arg("child_sprite", ID_TYPE_NUM);
embed_function("GetSpriteCollision", ID_TYPE_FN_NUM);
add_embedded_arg("spriteA", ID_TYPE_NUM);
add_embedded_arg("spriteB", ID_TYPE_NUM);
embed_function("CreateSpriteAnimation", ID_TYPE_FN_NUM);
add_embedded_arg("sprite", ID_TYPE_NUM);
add_embedded_arg("anim_length", ID_TYPE_NUM);

Binary file not shown.

View File

@@ -1,5 +1,5 @@
# depslib dependency file v1.0
1771619583 source:/home/n00b/Projects/RCBASIC4/rcbasic_build/main.cpp
1772595486 source:/home/n00b/Projects/RCBASIC4/rcbasic_build/main.cpp
<iostream>
<stack>
<vector>
@@ -14,7 +14,7 @@
"env_resolve.h"
"identifier.h"
1764140917 /home/n00b/Projects/RCBASIC4/rcbasic_build/tokenizer.h
1772593300 /home/n00b/Projects/RCBASIC4/rcbasic_build/tokenizer.h
<iostream>
<string>
<cctype>
@@ -37,14 +37,14 @@
1752004854 /home/n00b/Projects/RCBASIC4/rcbasic_build/constants.h
<vector>
1770926352 /home/n00b/Projects/RCBASIC4/rcbasic_build/parser.h
1772593300 /home/n00b/Projects/RCBASIC4/rcbasic_build/parser.h
"tokenizer.h"
"identifier.h"
"rc_global.h"
"constants.h"
<inttypes.h>
1758412944 /home/n00b/Projects/RCBASIC4/rcbasic_build/identifier.h
1772593300 /home/n00b/Projects/RCBASIC4/rcbasic_build/identifier.h
<inttypes.h>
<stack>
"rc_global.h"
@@ -54,7 +54,7 @@
1752004854 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_global.h
<inttypes.h>
1771626799 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_builtin.h
1772593300 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_builtin.h
"identifier.h"
1752004854 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_vm_asm.h

View File

@@ -1549,6 +1549,9 @@ add_embedded_arg("child_index", ID_TYPE_NUM);
embed_function("GetSpriteChildIndex", ID_TYPE_FN_NUM);
add_embedded_arg("sprite", ID_TYPE_NUM);
add_embedded_arg("child_sprite", ID_TYPE_NUM);
embed_function("GetSpriteCollision", ID_TYPE_FN_NUM);
add_embedded_arg("spriteA", ID_TYPE_NUM);
add_embedded_arg("spriteB", ID_TYPE_NUM);
embed_function("CreateSpriteAnimation", ID_TYPE_FN_NUM);
add_embedded_arg("sprite", ID_TYPE_NUM);
add_embedded_arg("anim_length", ID_TYPE_NUM);

File diff suppressed because it is too large Load Diff

View File

@@ -1613,6 +1613,9 @@ case FN_RemoveSpriteChild: //Sub Procedure
case FN_GetSpriteChildIndex: //Number Function
rc_push_num(rc_getSpriteChildIndex( GETSPRITECHILDINDEX_SPRITE, GETSPRITECHILDINDEX_CHILD_SPRITE ));
break;
case FN_GetSpriteCollision: //Number Function
rc_push_num(rc_getSpriteCollision( GETSPRITECOLLISION_SPRITEA, GETSPRITECOLLISION_SPRITEB ));
break;
case FN_CreateSpriteAnimation: //Number Function
rc_push_num(rc_createSpriteAnimation( CREATESPRITEANIMATION_SPRITE, CREATESPRITEANIMATION_ANIM_LENGTH, CREATESPRITEANIMATION_SPEED ));
break;