Added GetSpriteWorldCenter() function

This commit is contained in:
n00b87
2025-11-21 22:10:44 -06:00
parent 4df735e4f6
commit f53f486c54
13 changed files with 1343 additions and 1302 deletions

View File

@@ -593,6 +593,7 @@ rc_setSpriteChainLoop( SETSPRITECHAINLOOP_SPR_ID, &SETSPRITECHAINLOOP_VX, &SET
rc_setSpritePolygon( SETSPRITEPOLYGON_SPR_ID, &SETSPRITEPOLYGON_VX, &SETSPRITEPOLYGON_VY, SETSPRITEPOLYGON_V_COUNT )
rc_setSpriteShapeOffset( SETSPRITESHAPEOFFSET_SPR_ID, SETSPRITESHAPEOFFSET_X, SETSPRITESHAPEOFFSET_Y )
rc_getSpriteShapeOffset( GETSPRITESHAPEOFFSET_SPR_ID, &GETSPRITESHAPEOFFSET_X, &GETSPRITESHAPEOFFSET_Y )
rc_getSpriteWorldCenter( GETSPRITEWORLDCENTER_SPR_ID, &GETSPRITEWORLDCENTER_X, &GETSPRITEWORLDCENTER_Y )
rc_createDistanceJoint( CREATEDISTANCEJOINT_SPRITEA, CREATEDISTANCEJOINT_SPRITEB, CREATEDISTANCEJOINT_AX, CREATEDISTANCEJOINT_AY, CREATEDISTANCEJOINT_BX, CREATEDISTANCEJOINT_BY, CREATEDISTANCEJOINT_COLLIDE_CONNECT )
rc_createFrictionJoint( CREATEFRICTIONJOINT_SPRITEA, CREATEFRICTIONJOINT_SPRITEB, CREATEFRICTIONJOINT_X, CREATEFRICTIONJOINT_Y, CREATEFRICTIONJOINT_COLLIDE_CONNECT )
rc_createGearJoint( CREATEGEARJOINT_JOINTA, CREATEGEARJOINT_JOINTB, CREATEGEARJOINT_G_RATIO, CREATEGEARJOINT_COLLIDE_CONNECT )

View File

@@ -63,3 +63,4 @@ Sub SetSpriteChainLoop(spr_id, ByRef vx, ByRef vy, v_count)
Sub SetSpritePolygon(spr_id, ByRef vx, ByRef vy, v_count)
Sub SetSpriteShapeOffset( spr_id, x, y )
Sub GetSpriteShapeOffset( spr_id, ByRef x, ByRef y )
Sub GetSpriteWorldCenter( spr_id, ByRef x, ByRef y )

View File

@@ -1739,6 +1739,10 @@ void init_embedded_functions()
add_embedded_arg("spr_id", ID_TYPE_NUM);
add_embedded_arg("x", ID_TYPE_BYREF_NUM);
add_embedded_arg("y", ID_TYPE_BYREF_NUM);
embed_function("GetSpriteWorldCenter", ID_TYPE_SUB);
add_embedded_arg("spr_id", ID_TYPE_NUM);
add_embedded_arg("x", ID_TYPE_BYREF_NUM);
add_embedded_arg("y", ID_TYPE_BYREF_NUM);
embed_function("createDistanceJoint", ID_TYPE_FN_NUM);
add_embedded_arg("spriteA", ID_TYPE_NUM);
add_embedded_arg("spriteB", ID_TYPE_NUM);

Binary file not shown.

View File

@@ -2,32 +2,24 @@
<CodeBlocks_layout_file>
<FileVersion major="1" minor="0" />
<ActiveTarget name="Release" />
<File name="env_resolve.h" open="1" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="constants.h" open="0" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="0" />
</Cursor>
</File>
<File name="env_resolve.h" open="1" top="0" tabpos="29" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1114" topLine="29" />
</Cursor>
</File>
<File name="tokenizer.h" open="1" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="tokenizer.h" open="1" top="0" tabpos="26" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="53618" topLine="1300" />
</Cursor>
</File>
<File name="rc_vm_asm.h" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="main.cpp" open="1" top="0" tabpos="27" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="41761" topLine="1347" />
</Cursor>
</File>
<File name="parser.h" open="1" top="1" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="192713" topLine="4632" />
</Cursor>
<Folding>
<Collapse line="6341" />
</Folding>
</File>
<File name="main.cpp" open="1" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="33957" topLine="941" />
<Cursor1 position="28691" topLine="908" />
</Cursor>
</File>
<File name="rc_global.h" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
@@ -35,19 +27,9 @@
<Cursor1 position="13014" topLine="163" />
</Cursor>
</File>
<File name="rc_builtin.h" open="1" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="identifier.h" open="0" top="0" tabpos="26" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="112317" topLine="2523" />
</Cursor>
</File>
<File name="rc_utility.h" open="0" top="0" tabpos="27" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1747" topLine="35" />
</Cursor>
</File>
<File name="constants.h" open="0" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="0" />
<Cursor1 position="9544" topLine="341" />
</Cursor>
</File>
<File name="keywords.h" open="0" top="0" tabpos="25" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
@@ -55,9 +37,27 @@
<Cursor1 position="105" topLine="17" />
</Cursor>
</File>
<File name="identifier.h" open="0" top="0" tabpos="26" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="rc_builtin.h" open="1" top="0" tabpos="28" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="9544" topLine="341" />
<Cursor1 position="112317" topLine="2520" />
</Cursor>
</File>
<File name="rc_vm_asm.h" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="41761" topLine="1347" />
</Cursor>
</File>
<File name="parser.h" open="1" top="0" tabpos="25" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="192713" topLine="4659" />
</Cursor>
<Folding>
<Collapse line="6341" />
</Folding>
</File>
<File name="rc_utility.h" open="0" top="0" tabpos="27" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1747" topLine="35" />
</Cursor>
</File>
</CodeBlocks_layout_file>

View File

@@ -1733,6 +1733,10 @@ embed_function("GetSpriteShapeOffset", ID_TYPE_SUB);
add_embedded_arg("spr_id", ID_TYPE_NUM);
add_embedded_arg("x", ID_TYPE_BYREF_NUM);
add_embedded_arg("y", ID_TYPE_BYREF_NUM);
embed_function("GetSpriteWorldCenter", ID_TYPE_SUB);
add_embedded_arg("spr_id", ID_TYPE_NUM);
add_embedded_arg("x", ID_TYPE_BYREF_NUM);
add_embedded_arg("y", ID_TYPE_BYREF_NUM);
embed_function("createDistanceJoint", ID_TYPE_FN_NUM);
add_embedded_arg("spriteA", ID_TYPE_NUM);
add_embedded_arg("spriteB", ID_TYPE_NUM);

File diff suppressed because it is too large Load Diff

View File

@@ -1811,6 +1811,9 @@ case FN_SetSpriteShapeOffset: //Sub Procedure
case FN_GetSpriteShapeOffset: //Sub Procedure
rc_getSpriteShapeOffset( GETSPRITESHAPEOFFSET_SPR_ID, &GETSPRITESHAPEOFFSET_X, &GETSPRITESHAPEOFFSET_Y );
break;
case FN_GetSpriteWorldCenter: //Sub Procedure
rc_getSpriteWorldCenter( GETSPRITEWORLDCENTER_SPR_ID, &GETSPRITEWORLDCENTER_X, &GETSPRITEWORLDCENTER_Y );
break;
case FN_createDistanceJoint: //Number Function
rc_push_num(rc_createDistanceJoint( CREATEDISTANCEJOINT_SPRITEA, CREATEDISTANCEJOINT_SPRITEB, CREATEDISTANCEJOINT_AX, CREATEDISTANCEJOINT_AY, CREATEDISTANCEJOINT_BX, CREATEDISTANCEJOINT_BY, CREATEDISTANCEJOINT_COLLIDE_CONNECT ));
break;