Fixed Post Processing functions

This commit is contained in:
n00b87
2025-11-23 03:16:43 -06:00
parent f53f486c54
commit f11d41622b
18 changed files with 2095 additions and 2077 deletions

View File

@@ -208,13 +208,12 @@ 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_addPostEffect( ADDPOSTEFFECT_C_NUM, ADDPOSTEFFECT_EFFECT_TYPE )
rc_removePostEffect( REMOVEPOSTEFFECT_C_NUM, REMOVEPOSTEFFECT_EFFECT_NUM )
rc_setPostEffectProperty( SETPOSTEFFECTPROPERTY_C_NUM, SETPOSTEFFECTPROPERTY_EFFECT_NUM, SETPOSTEFFECTPROPERTY_PROPERTY, SETPOSTEFFECTPROPERTY_PROPERTY_VALUE )
rc_getPostEffectProperty( GETPOSTEFFECTPROPERTY_C_NUM, GETPOSTEFFECTPROPERTY_EFFECT_NUM, GETPOSTEFFECTPROPERTY_PROPERTY )
rc_clearPostEffects( CLEARPOSTEFFECTS_C_NUM )
rc_setPostEffectActive( SETPOSTEFFECTACTIVE_C_NUM, SETPOSTEFFECTACTIVE_EFFECT_NUM, SETPOSTEFFECTACTIVE_FLAG )
rc_postEffectIsActive( POSTEFFECTISACTIVE_C_NUM, POSTEFFECTISACTIVE_EFFECT_NUM )
rc_setPostEffect( SETPOSTEFFECT_C_NUM, SETPOSTEFFECT_EFFECT_TYPE )
rc_clearPostEffect( CLEARPOSTEFFECT_C_NUM )
rc_setPostEffectProperty( SETPOSTEFFECTPROPERTY_C_NUM, SETPOSTEFFECTPROPERTY_PROPERTY, SETPOSTEFFECTPROPERTY_PROPERTY_VALUE )
rc_getPostEffectProperty( GETPOSTEFFECTPROPERTY_C_NUM, GETPOSTEFFECTPROPERTY_PROPERTY )
rc_setPostEffectActive( SETPOSTEFFECTACTIVE_C_NUM, SETPOSTEFFECTACTIVE_FLAG )
rc_postEffectIsActive( POSTEFFECTISACTIVE_C_NUM )
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

@@ -30,10 +30,9 @@ function GetSpriteCanvasBilinearFilter( c_num )
function GetSpriteCanvasPhysics( c_num )
function SetSpriteCanvasRenderPriority( c_num, priority, order )
sub GetSpriteCanvasRenderPriority( c_num, ByRef priority, ByRef order )
function AddPostEffect( c_num, effect_type )
sub RemovePostEffect( c_num, effect_num )
sub SetPostEffectProperty( c_num, effect_num, property, property_value )
function GetPostEffectProperty( c_num, effect_num, property)
sub ClearPostEffects( c_num )
sub SetPostEffectActive( c_num, effect_num, flag )
function PostEffectIsActive( c_num, effect_num )
function SetPostEffect( c_num, effect_type )
sub ClearPostEffect( c_num )
sub SetPostEffectProperty( c_num, property, property_value )
function GetPostEffectProperty( c_num, property)
sub SetPostEffectActive( c_num, flag )
function PostEffectIsActive( c_num )

View File

@@ -926,7 +926,7 @@ int main(int argc, char * argv[])
bool clean_after_build = true;
//DEBUG START
//chdir("/home/n00b/GameDev/Ambient/Ambient_Project");
//chdir("/home/n00b/Music/v47/RCBasic_Package/examples/Serenity_Demo2");
//rc_filename = "main.bas";
//rc_filename = "/home/n00b/test/SpriteShapeTest/main.bas";
//rc_filename = "/home/n00b/Programs/RCBasic_v400_Linux64/examples/Constraint/main.bas";

View File

@@ -555,30 +555,23 @@ void init_embedded_functions()
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("AddPostEffect", ID_TYPE_FN_NUM);
embed_function("SetPostEffect", ID_TYPE_FN_NUM);
add_embedded_arg("c_num", ID_TYPE_NUM);
add_embedded_arg("effect_type", ID_TYPE_NUM);
embed_function("RemovePostEffect", ID_TYPE_SUB);
embed_function("ClearPostEffect", ID_TYPE_SUB);
add_embedded_arg("c_num", ID_TYPE_NUM);
add_embedded_arg("effect_num", ID_TYPE_NUM);
embed_function("SetPostEffectProperty", ID_TYPE_SUB);
add_embedded_arg("c_num", ID_TYPE_NUM);
add_embedded_arg("effect_num", ID_TYPE_NUM);
add_embedded_arg("property", ID_TYPE_NUM);
add_embedded_arg("property_value", ID_TYPE_NUM);
embed_function("GetPostEffectProperty", ID_TYPE_FN_NUM);
add_embedded_arg("c_num", ID_TYPE_NUM);
add_embedded_arg("effect_num", ID_TYPE_NUM);
add_embedded_arg("property", ID_TYPE_NUM);
embed_function("ClearPostEffects", ID_TYPE_SUB);
add_embedded_arg("c_num", ID_TYPE_NUM);
embed_function("SetPostEffectActive", ID_TYPE_SUB);
add_embedded_arg("c_num", ID_TYPE_NUM);
add_embedded_arg("effect_num", ID_TYPE_NUM);
add_embedded_arg("flag", ID_TYPE_NUM);
embed_function("PostEffectIsActive", ID_TYPE_FN_NUM);
add_embedded_arg("c_num", ID_TYPE_NUM);
add_embedded_arg("effect_num", ID_TYPE_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
1762837514 source:/home/n00b/Projects/RCBASIC4/rcbasic_build/main.cpp
1763875570 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>
1762837355 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_builtin.h
1763875558 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_builtin.h
"identifier.h"
1752004854 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_vm_asm.h

View File

@@ -549,30 +549,23 @@ 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("AddPostEffect", ID_TYPE_FN_NUM);
embed_function("SetPostEffect", ID_TYPE_FN_NUM);
add_embedded_arg("c_num", ID_TYPE_NUM);
add_embedded_arg("effect_type", ID_TYPE_NUM);
embed_function("RemovePostEffect", ID_TYPE_SUB);
embed_function("ClearPostEffect", ID_TYPE_SUB);
add_embedded_arg("c_num", ID_TYPE_NUM);
add_embedded_arg("effect_num", ID_TYPE_NUM);
embed_function("SetPostEffectProperty", ID_TYPE_SUB);
add_embedded_arg("c_num", ID_TYPE_NUM);
add_embedded_arg("effect_num", ID_TYPE_NUM);
add_embedded_arg("property", ID_TYPE_NUM);
add_embedded_arg("property_value", ID_TYPE_NUM);
embed_function("GetPostEffectProperty", ID_TYPE_FN_NUM);
add_embedded_arg("c_num", ID_TYPE_NUM);
add_embedded_arg("effect_num", ID_TYPE_NUM);
add_embedded_arg("property", ID_TYPE_NUM);
embed_function("ClearPostEffects", ID_TYPE_SUB);
add_embedded_arg("c_num", ID_TYPE_NUM);
embed_function("SetPostEffectActive", ID_TYPE_SUB);
add_embedded_arg("c_num", ID_TYPE_NUM);
add_embedded_arg("effect_num", ID_TYPE_NUM);
add_embedded_arg("flag", ID_TYPE_NUM);
embed_function("PostEffectIsActive", ID_TYPE_FN_NUM);
add_embedded_arg("c_num", ID_TYPE_NUM);
add_embedded_arg("effect_num", ID_TYPE_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

@@ -655,26 +655,23 @@ case FN_SetSpriteCanvasRenderPriority: //Number Function
case FN_GetSpriteCanvasRenderPriority: //Sub Procedure
rc_getSpriteCanvasRenderPriority( GETSPRITECANVASRENDERPRIORITY_C_NUM, &GETSPRITECANVASRENDERPRIORITY_PRIORITY, &GETSPRITECANVASRENDERPRIORITY_ORDER );
break;
case FN_AddPostEffect: //Number Function
rc_push_num(rc_addPostEffect( ADDPOSTEFFECT_C_NUM, ADDPOSTEFFECT_EFFECT_TYPE ));
case FN_SetPostEffect: //Number Function
rc_push_num(rc_setPostEffect( SETPOSTEFFECT_C_NUM, SETPOSTEFFECT_EFFECT_TYPE ));
break;
case FN_RemovePostEffect: //Sub Procedure
rc_removePostEffect( REMOVEPOSTEFFECT_C_NUM, REMOVEPOSTEFFECT_EFFECT_NUM );
case FN_ClearPostEffect: //Sub Procedure
rc_clearPostEffect( CLEARPOSTEFFECT_C_NUM );
break;
case FN_SetPostEffectProperty: //Sub Procedure
rc_setPostEffectProperty( SETPOSTEFFECTPROPERTY_C_NUM, SETPOSTEFFECTPROPERTY_EFFECT_NUM, SETPOSTEFFECTPROPERTY_PROPERTY, SETPOSTEFFECTPROPERTY_PROPERTY_VALUE );
rc_setPostEffectProperty( SETPOSTEFFECTPROPERTY_C_NUM, SETPOSTEFFECTPROPERTY_PROPERTY, SETPOSTEFFECTPROPERTY_PROPERTY_VALUE );
break;
case FN_GetPostEffectProperty: //Number Function
rc_push_num(rc_getPostEffectProperty( GETPOSTEFFECTPROPERTY_C_NUM, GETPOSTEFFECTPROPERTY_EFFECT_NUM, GETPOSTEFFECTPROPERTY_PROPERTY ));
break;
case FN_ClearPostEffects: //Sub Procedure
rc_clearPostEffects( CLEARPOSTEFFECTS_C_NUM );
rc_push_num(rc_getPostEffectProperty( GETPOSTEFFECTPROPERTY_C_NUM, GETPOSTEFFECTPROPERTY_PROPERTY ));
break;
case FN_SetPostEffectActive: //Sub Procedure
rc_setPostEffectActive( SETPOSTEFFECTACTIVE_C_NUM, SETPOSTEFFECTACTIVE_EFFECT_NUM, SETPOSTEFFECTACTIVE_FLAG );
rc_setPostEffectActive( SETPOSTEFFECTACTIVE_C_NUM, SETPOSTEFFECTACTIVE_FLAG );
break;
case FN_PostEffectIsActive: //Number Function
rc_push_num(rc_postEffectIsActive( POSTEFFECTISACTIVE_C_NUM, POSTEFFECTISACTIVE_EFFECT_NUM ));
rc_push_num(rc_postEffectIsActive( POSTEFFECTISACTIVE_C_NUM ));
break;
case FN_Circle: //Sub Procedure
rc_drawCircle( CIRCLE_X, CIRCLE_Y, CIRCLE_RADIUS );