Added SetSpriteCanvasRenderPriority function

This commit is contained in:
n00b87
2025-09-19 22:04:43 -05:00
parent 15e8426f99
commit 8120a1fd96
35 changed files with 2489 additions and 1985 deletions

View File

@@ -204,6 +204,8 @@ rc_getSpriteCanvasAntiAliasMode( GETSPRITECANVASANTIALIASMODE_C_NUM )
rc_setSpriteCanvasBilinearFilter( SETSPRITECANVASBILINEARFILTER_C_NUM, SETSPRITECANVASBILINEARFILTER_FLAG )
rc_getSpriteCanvasBilinearFilter( GETSPRITECANVASBILINEARFILTER_C_NUM )
rc_getSpriteCanvasPhysics( GETSPRITECANVASPHYSICS_C_NUM )
rc_setSpriteCanvasRenderPriority( SETSPRITECANVASRENDERPRIORITY_C_NUM, SETSPRITECANVASRENDERPRIORITY_PRIORITY, SETSPRITECANVASRENDERPRIORITY_ORDER )
rc_getSpriteCanvasRenderPriority( GETSPRITECANVASRENDERPRIORITY_C_NUM, &GETSPRITECANVASRENDERPRIORITY_PRIORITY, &GETSPRITECANVASRENDERPRIORITY_ORDER )
rc_drawCircle( CIRCLE_X, CIRCLE_Y, CIRCLE_RADIUS )
rc_drawCircleFill( CIRCLEFILL_X, CIRCLEFILL_Y, CIRCLEFILL_RADIUS )
rc_drawEllipse( ELLIPSE_X, ELLIPSE_Y, ELLIPSE_RX, ELLIPSE_RY )

View File

@@ -28,3 +28,5 @@ function GetSpriteCanvasAntiAliasMode( c_num )
sub SetSpriteCanvasBilinearFilter( c_num, flag )
function GetSpriteCanvasBilinearFilter( c_num )
function GetSpriteCanvasPhysics( c_num )
function SetSpriteCanvasRenderPriority( c_num, priority, order )
sub GetSpriteCanvasRenderPriority( c_num, ByRef priority, ByRef order )

View File

@@ -543,6 +543,14 @@ void init_embedded_functions()
add_embedded_arg("c_num", ID_TYPE_NUM);
embed_function("GetSpriteCanvasPhysics", ID_TYPE_FN_NUM);
add_embedded_arg("c_num", ID_TYPE_NUM);
embed_function("SetSpriteCanvasRenderPriority", ID_TYPE_FN_NUM);
add_embedded_arg("c_num", ID_TYPE_NUM);
add_embedded_arg("priority", ID_TYPE_NUM);
add_embedded_arg("order", ID_TYPE_NUM);
embed_function("GetSpriteCanvasRenderPriority", ID_TYPE_SUB);
add_embedded_arg("c_num", ID_TYPE_NUM);
add_embedded_arg("priority", ID_TYPE_BYREF_NUM);
add_embedded_arg("order", ID_TYPE_BYREF_NUM);
embed_function("Circle", ID_TYPE_SUB);
add_embedded_arg("x", ID_TYPE_NUM);
add_embedded_arg("y", ID_TYPE_NUM);

Binary file not shown.

View File

@@ -1,5 +1,5 @@
# depslib dependency file v1.0
1752011337 source:/home/n00b/Projects/RCBASIC4/rcbasic_build/main.cpp
1756692651 source:/home/n00b/Projects/RCBASIC4/rcbasic_build/main.cpp
<iostream>
<stack>
<vector>
@@ -54,7 +54,7 @@
1752004854 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_global.h
<inttypes.h>
1752011318 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_builtin.h
1756692659 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_builtin.h
"identifier.h"
1752004854 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_vm_asm.h

View File

@@ -2,49 +2,26 @@
<CodeBlocks_layout_file>
<FileVersion major="1" minor="0" />
<ActiveTarget name="Debug" />
<File name="main.cpp" open="0" top="0" tabpos="13" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="28436" topLine="896" />
</Cursor>
</File>
<File name="rc_builtin.h" open="0" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="112317" topLine="2509" />
</Cursor>
</File>
<File name="tokenizer.h" open="1" top="1" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="46887" topLine="1109" />
</Cursor>
</File>
<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="9544" topLine="341" />
</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">
<File name="keywords.h" open="0" top="0" tabpos="25" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="13014" topLine="163" />
<Cursor1 position="105" topLine="17" />
</Cursor>
</File>
<File name="parser.h" open="1" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="tokenizer.h" open="1" top="0" tabpos="17" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="192713" topLine="4632" />
<Cursor1 position="52116" topLine="1283" />
</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>
<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="env_resolve.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="615" topLine="32" />
@@ -55,9 +32,32 @@
<Cursor1 position="0" topLine="0" />
</Cursor>
</File>
<File name="keywords.h" open="0" top="0" tabpos="25" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<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="105" topLine="17" />
<Cursor1 position="41761" topLine="1347" />
</Cursor>
</File>
<File name="parser.h" open="1" top="0" tabpos="16" 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="1" tabpos="18" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="28436" topLine="905" />
</Cursor>
</File>
<File name="rc_builtin.h" open="1" top="0" tabpos="19" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="112317" topLine="2532" />
</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">
<Cursor>
<Cursor1 position="13014" topLine="163" />
</Cursor>
</File>
</CodeBlocks_layout_file>

View File

@@ -520,6 +520,31 @@ add_embedded_arg("viewport_x", ID_TYPE_NUM);
add_embedded_arg("viewport_y", ID_TYPE_NUM);
add_embedded_arg("viewport_w", ID_TYPE_NUM);
add_embedded_arg("viewport_h", ID_TYPE_NUM);
embed_function("SetSpriteCanvasBlendMode", ID_TYPE_SUB);
add_embedded_arg("c_num", ID_TYPE_NUM);
add_embedded_arg("blend_mode", ID_TYPE_NUM);
embed_function("GetSpriteCanvasBlendMode", ID_TYPE_FN_NUM);
add_embedded_arg("c_num", ID_TYPE_NUM);
embed_function("SetSpriteCanvasAntiAliasMode", ID_TYPE_SUB);
add_embedded_arg("c_num", ID_TYPE_NUM);
add_embedded_arg("aa_mode", ID_TYPE_NUM);
embed_function("GetSpriteCanvasAntiAliasMode", ID_TYPE_FN_NUM);
add_embedded_arg("c_num", ID_TYPE_NUM);
embed_function("SetSpriteCanvasBilinearFilter", ID_TYPE_SUB);
add_embedded_arg("c_num", ID_TYPE_NUM);
add_embedded_arg("flag", ID_TYPE_NUM);
embed_function("GetSpriteCanvasBilinearFilter", ID_TYPE_FN_NUM);
add_embedded_arg("c_num", ID_TYPE_NUM);
embed_function("GetSpriteCanvasPhysics", ID_TYPE_FN_NUM);
add_embedded_arg("c_num", ID_TYPE_NUM);
embed_function("SetSpriteCanvasRenderPriority", ID_TYPE_FN_NUM);
add_embedded_arg("c_num", ID_TYPE_NUM);
add_embedded_arg("priority", ID_TYPE_NUM);
add_embedded_arg("order", ID_TYPE_NUM);
embed_function("GetSpriteCanvasRenderPriority", ID_TYPE_SUB);
add_embedded_arg("c_num", ID_TYPE_NUM);
add_embedded_arg("priority", ID_TYPE_BYREF_NUM);
add_embedded_arg("order", ID_TYPE_BYREF_NUM);
embed_function("Circle", ID_TYPE_SUB);
add_embedded_arg("x", ID_TYPE_NUM);
add_embedded_arg("y", ID_TYPE_NUM);

File diff suppressed because it is too large Load Diff

View File

@@ -622,6 +622,33 @@ case FN_SetCanvasPhysics2D: //Sub Procedure
case FN_OpenCanvasSpriteLayer: //Number Function
rc_push_num(rc_canvasOpenSpriteLayer( OPENCANVASSPRITELAYER_VIEWPORT_X, OPENCANVASSPRITELAYER_VIEWPORT_Y, OPENCANVASSPRITELAYER_VIEWPORT_W, OPENCANVASSPRITELAYER_VIEWPORT_H ));
break;
case FN_SetSpriteCanvasBlendMode: //Sub Procedure
rc_setSpriteCanvasBlendMode( SETSPRITECANVASBLENDMODE_C_NUM, SETSPRITECANVASBLENDMODE_BLEND_MODE );
break;
case FN_GetSpriteCanvasBlendMode: //Number Function
rc_push_num(rc_getSpriteCanvasBlendMode( GETSPRITECANVASBLENDMODE_C_NUM ));
break;
case FN_SetSpriteCanvasAntiAliasMode: //Sub Procedure
rc_setSpriteCanvasAntiAliasMode( SETSPRITECANVASANTIALIASMODE_C_NUM, SETSPRITECANVASANTIALIASMODE_AA_MODE );
break;
case FN_GetSpriteCanvasAntiAliasMode: //Number Function
rc_push_num(rc_getSpriteCanvasAntiAliasMode( GETSPRITECANVASANTIALIASMODE_C_NUM ));
break;
case FN_SetSpriteCanvasBilinearFilter: //Sub Procedure
rc_setSpriteCanvasBilinearFilter( SETSPRITECANVASBILINEARFILTER_C_NUM, SETSPRITECANVASBILINEARFILTER_FLAG );
break;
case FN_GetSpriteCanvasBilinearFilter: //Number Function
rc_push_num(rc_getSpriteCanvasBilinearFilter( GETSPRITECANVASBILINEARFILTER_C_NUM ));
break;
case FN_GetSpriteCanvasPhysics: //Number Function
rc_push_num(rc_getSpriteCanvasPhysics( GETSPRITECANVASPHYSICS_C_NUM ));
break;
case FN_SetSpriteCanvasRenderPriority: //Number Function
rc_push_num(rc_setSpriteCanvasRenderPriority( SETSPRITECANVASRENDERPRIORITY_C_NUM, SETSPRITECANVASRENDERPRIORITY_PRIORITY, SETSPRITECANVASRENDERPRIORITY_ORDER ));
break;
case FN_GetSpriteCanvasRenderPriority: //Sub Procedure
rc_getSpriteCanvasRenderPriority( GETSPRITECANVASRENDERPRIORITY_C_NUM, &GETSPRITECANVASRENDERPRIORITY_PRIORITY, &GETSPRITECANVASRENDERPRIORITY_ORDER );
break;
case FN_Circle: //Sub Procedure
rc_drawCircle( CIRCLE_X, CIRCLE_Y, CIRCLE_RADIUS );
break;

View File

@@ -1286,6 +1286,20 @@ string rc_keywordToken(string sline)
return "<num>3";
else if(sline.compare("SPRITE_SHAPE_CHAIN")==0)
return "<num>4";
else if(sline.compare("SPRITE_PRIORITY_NONE")==0)
return "<num>0";
else if(sline.compare("SPRITE_PRIORITY_LEAST_X")==0)
return "<num>1";
else if(sline.compare("SPRITE_PRIORITY_GREATEST_X")==0)
return "<num>2";
else if(sline.compare("SPRITE_PRIORITY_LEAST_Y")==0)
return "<num>3";
else if(sline.compare("SPRITE_PRIORITY_GREATEST_Y")==0)
return "<num>4";
else if(sline.compare("SPRITE_ORDER_ASCENDING")==0)
return "<num>0";
else if(sline.compare("SPRITE_ORDER_DESCENDING")==0)
return "<num>1";
else
{
for(int i = 0; i < rc_constants.size(); i++)