Added GetSpriteRestitutionThreshold()

This commit is contained in:
n00b
2024-11-17 23:16:51 -05:00
parent b9275b7d80
commit 5048597745
10 changed files with 973 additions and 947 deletions

View File

@@ -919,7 +919,7 @@ int main(int argc, char * argv[])
bool clean_after_build = false;
//DEBUG START
rc_filename = "/home/n00b/Projects/RCBASIC4/rcbasic_runtime/bin/Release/unittest.bas";
//rc_filename = "/home/n00b/Projects/RCBASIC4/rcbasic_runtime/bin/Release/unittest.bas";
//DEBUG END
if(argc > 1)

View File

@@ -1534,6 +1534,8 @@ void init_embedded_functions()
embed_function("SetSpriteRestitutionThreshold", ID_TYPE_SUB);
add_embedded_arg("spr_id", ID_TYPE_NUM);
add_embedded_arg("threshold", ID_TYPE_NUM);
embed_function("GetSpriteRestitutionThreshold", ID_TYPE_FN_NUM);
add_embedded_arg("spr_id", ID_TYPE_NUM);
embed_function("GetSpriteAABB", ID_TYPE_SUB);
add_embedded_arg("spr_id", ID_TYPE_NUM);
add_embedded_arg("x1", ID_TYPE_BYREF_NUM);

View File

@@ -1015,6 +1015,7 @@ N main.SetSpriteRestitution restitution 1
N main.GetSpriteRestitution spr_id 0
N main.SetSpriteRestitutionThreshold spr_id 0
N main.SetSpriteRestitutionThreshold threshold 1
N main.GetSpriteRestitutionThreshold spr_id 0
N main.GetSpriteAABB spr_id 0
BN main.GetSpriteAABB x1 1
BN main.GetSpriteAABB y1 2

View File

@@ -1528,6 +1528,8 @@ add_embedded_arg("spr_id", ID_TYPE_NUM);
embed_function("SetSpriteRestitutionThreshold", ID_TYPE_SUB);
add_embedded_arg("spr_id", ID_TYPE_NUM);
add_embedded_arg("threshold", ID_TYPE_NUM);
embed_function("GetSpriteRestitutionThreshold", ID_TYPE_FN_NUM);
add_embedded_arg("spr_id", ID_TYPE_NUM);
embed_function("GetSpriteAABB", ID_TYPE_SUB);
add_embedded_arg("spr_id", ID_TYPE_NUM);
add_embedded_arg("x1", ID_TYPE_BYREF_NUM);

File diff suppressed because it is too large Load Diff

View File

@@ -1613,6 +1613,9 @@ case FN_GetSpriteRestitution: //Number Function
case FN_SetSpriteRestitutionThreshold: //Sub Procedure
rc_setSpriteRestitutionThreshold( SETSPRITERESTITUTIONTHRESHOLD_SPR_ID, SETSPRITERESTITUTIONTHRESHOLD_THRESHOLD );
break;
case FN_GetSpriteRestitutionThreshold: //Number Function
rc_push_num(rc_getSpriteRestitutionThreshold( GETSPRITERESTITUTIONTHRESHOLD_SPR_ID ));
break;
case FN_GetSpriteAABB: //Sub Procedure
rc_getSpriteAABB( GETSPRITEAABB_SPR_ID, &GETSPRITEAABB_X1, &GETSPRITEAABB_Y1, &GETSPRITEAABB_X2, &GETSPRITEAABB_Y2 );
break;

File diff suppressed because it is too large Load Diff

View File

@@ -1613,6 +1613,9 @@ case FN_GetSpriteRestitution: //Number Function
case FN_SetSpriteRestitutionThreshold: //Sub Procedure
rc_setSpriteRestitutionThreshold( SETSPRITERESTITUTIONTHRESHOLD_SPR_ID, SETSPRITERESTITUTIONTHRESHOLD_THRESHOLD );
break;
case FN_GetSpriteRestitutionThreshold: //Number Function
rc_push_num(rc_getSpriteRestitutionThreshold( GETSPRITERESTITUTIONTHRESHOLD_SPR_ID ));
break;
case FN_GetSpriteAABB: //Sub Procedure
rc_getSpriteAABB( GETSPRITEAABB_SPR_ID, &GETSPRITEAABB_X1, &GETSPRITEAABB_Y1, &GETSPRITEAABB_X2, &GETSPRITEAABB_Y2 );
break;

View File

@@ -447,6 +447,17 @@ void rc_setSpriteRestitutionThreshold( int spr_id, double threshold )
rc_sprite[spr_id].physics.fixture->SetRestitutionThreshold(threshold);
}
double rc_getSpriteRestitutionThreshold( int spr_id )
{
if(spr_id < 0 || spr_id >= rc_sprite.size())
return 0;
if(!rc_sprite[spr_id].active)
return 0;
return rc_sprite[spr_id].physics.fixture->GetRestitutionThreshold();
}
void rc_getSpriteAABB( int spr_id, double* x1, double* y1, double* x2, double* y2 )
{
if(spr_id < 0 || spr_id >= rc_sprite.size())

View File

@@ -1,5 +1,5 @@
# depslib dependency file v1.0
1731729523 source:/home/n00b/Projects/RCBASIC4/rcbasic_runtime/main.cpp
1731732087 source:/home/n00b/Projects/RCBASIC4/rcbasic_runtime/main.cpp
"rc_os_defines.h"
<emscripten.h>
<sys/param.h>
@@ -32,10 +32,10 @@
<irrtheora.h>
"rc_func130_cases.h"
1731728855 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_os_defines.h
1731732087 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_os_defines.h
<TargetConditionals.h>
1731722537 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_defines.h
1731903073 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_defines.h
1730291453 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_stdlib.h
"rc_os_defines.h"
@@ -1247,7 +1247,7 @@
1727545973 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/RealisticWater.h
<irrlicht.h>
1731729912 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_gfx.h
1731729981 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_gfx.h
"SDL.h"
<SDL2/SDL.h>
<irrlicht.h>
@@ -2272,7 +2272,7 @@
"rc_gfx_core.h"
<irrtheora.h>
1731722537 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_func130_cases.h
1731903073 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_func130_cases.h
1724469097 source:/home/n00b/Projects/irrBullet/src/irrBullet.cpp
"irrBullet.h"
@@ -2505,7 +2505,7 @@
<irrlicht.h>
<vector>
1731722537 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_sprite_physics.h
1731903210 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_sprite_physics.h
"rc_sprite2D.h"
1730291453 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_joints.h