Fixed Post Processing functions
This commit is contained in:
@@ -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 )
|
||||
|
||||
@@ -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 )
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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.
@@ -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
|
||||
|
||||
@@ -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
@@ -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 );
|
||||
|
||||
@@ -4453,7 +4453,7 @@ int main(int argc, char * argv[])
|
||||
|
||||
//ogles2 test
|
||||
#ifdef RC_TESTING
|
||||
rc_intern_dirChange("/home/n00b/GameDev/Irrlicht Demo");
|
||||
rc_intern_dirChange("/home/n00b/Music/v47/RCBasic_Package/examples/Serenity_Demo2");
|
||||
//rc_intern_dirChange("");
|
||||
rc_filename = "main.cbc";
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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 );
|
||||
|
||||
@@ -1078,6 +1078,9 @@ int rc_canvasOpen(int w, int h, int vx, int vy, int vw, int vh, int mode, int ca
|
||||
canvas.type = canvas_type;
|
||||
canvas.show3D = false;
|
||||
canvas.physics2D.enabled = false;
|
||||
canvas.post_effect.object = NULL;
|
||||
canvas.post_effect.type = -1;
|
||||
canvas.post_effect.is_active = false;
|
||||
|
||||
#ifdef RC_DRIVER_GLES2
|
||||
Uint32 size_n = 2;
|
||||
@@ -1247,12 +1250,8 @@ void rc_canvasClose(int canvas_id)
|
||||
rc_canvas[canvas_id].sprite_id.clear();
|
||||
|
||||
//delete post effects for canvas
|
||||
for(int i = 0; i < rc_canvas[canvas_id].post_effect.size(); i++)
|
||||
{
|
||||
rc_removePostEffect(canvas_id, i);
|
||||
}
|
||||
rc_clearPostEffect(canvas_id);
|
||||
|
||||
rc_canvas[canvas_id].post_effect.clear();
|
||||
|
||||
if(rc_active_canvas == canvas_id)
|
||||
rc_active_canvas = -1;
|
||||
@@ -1537,6 +1536,9 @@ int rc_cloneCanvas(int origin_canvas_id, int mode)
|
||||
canvas.show3D = rc_canvas[origin_canvas_id].show3D;
|
||||
canvas.color_mod = rc_canvas[origin_canvas_id].color_mod;
|
||||
canvas.texture = rc_canvas[origin_canvas_id].texture;
|
||||
canvas.post_effect.is_active = false;
|
||||
canvas.post_effect.object = NULL;
|
||||
canvas.post_effect.type = -1;
|
||||
//canvas.sprite_layer = rc_canvas[origin_canvas_id].sprite_layer;
|
||||
|
||||
if(!canvas.texture)
|
||||
|
||||
@@ -405,7 +405,7 @@ struct rc_canvas_obj
|
||||
irr::core::array<irr::s32> sprite_id;
|
||||
rc_spriteCanvasProperties spriteCanvasProperties;
|
||||
|
||||
irr::core::array<rc_post_effect> post_effect;
|
||||
rc_post_effect post_effect;
|
||||
};
|
||||
|
||||
irr::core::array<rc_canvas_obj> rc_canvas;
|
||||
|
||||
@@ -920,39 +920,83 @@ public:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
int rc_addPostEffect(int canvas_id, int effect_type)
|
||||
void rc_clearPostEffect(int canvas_id)
|
||||
{
|
||||
if(canvas_id <= 0 || canvas_id >= rc_canvas.size())
|
||||
return -1;
|
||||
return;
|
||||
|
||||
int pp_id = -1;
|
||||
rc_canvas[canvas_id].post_effect.is_active = false;
|
||||
|
||||
for(int i = 0; i < rc_canvas[canvas_id].post_effect.size(); i++)
|
||||
if(rc_canvas[canvas_id].post_effect.object)
|
||||
{
|
||||
if(rc_canvas[canvas_id].post_effect[i].type < 0)
|
||||
switch(rc_canvas[canvas_id].post_effect.type)
|
||||
{
|
||||
pp_id = i;
|
||||
case RC_POST_PROCESS_BLOOM:
|
||||
{
|
||||
IPostProcessBloom* post_process = (IPostProcessBloom*)rc_canvas[canvas_id].post_effect.object;
|
||||
post_process->remove();
|
||||
}
|
||||
break;
|
||||
|
||||
case RC_POST_PROCESS_BLUR:
|
||||
{
|
||||
IPostProcessBlur* post_process = (IPostProcessBlur*)rc_canvas[canvas_id].post_effect.object;
|
||||
post_process->remove();
|
||||
}
|
||||
break;
|
||||
|
||||
case RC_POST_PROCESS_COLORIZE:
|
||||
{
|
||||
IPostProcessColor* post_process = (IPostProcessColor*)rc_canvas[canvas_id].post_effect.object;
|
||||
post_process->remove();
|
||||
}
|
||||
break;
|
||||
|
||||
case RC_POST_PROCESS_DISTORTION:
|
||||
{
|
||||
IPostProcessGlass* post_process = (IPostProcessGlass*)rc_canvas[canvas_id].post_effect.object;
|
||||
post_process->remove();
|
||||
}
|
||||
break;
|
||||
|
||||
case RC_POST_PROCESS_INVERT:
|
||||
{
|
||||
IPostProcessInvert* post_process = (IPostProcessInvert*)rc_canvas[canvas_id].post_effect.object;
|
||||
post_process->remove();
|
||||
}
|
||||
break;
|
||||
|
||||
case RC_POST_PROCESS_MOTION_BLUR:
|
||||
{
|
||||
IPostProcessMotionBlur* post_process = (IPostProcessMotionBlur*)rc_canvas[canvas_id].post_effect.object;
|
||||
post_process->remove();
|
||||
}
|
||||
break;
|
||||
|
||||
case RC_POST_PROCESS_RADIAL_BLUR:
|
||||
{
|
||||
IPostProcessRadialBlur* post_process = (IPostProcessRadialBlur*)rc_canvas[canvas_id].post_effect.object;
|
||||
post_process->remove();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(pp_id < 0)
|
||||
{
|
||||
pp_id = rc_canvas[canvas_id].post_effect.size();
|
||||
rc_canvas[canvas_id].post_effect.object = NULL;
|
||||
rc_canvas[canvas_id].post_effect.type = -1;
|
||||
}
|
||||
|
||||
rc_post_effect pfx;
|
||||
pfx.type = effect_type;
|
||||
pfx.object = NULL;
|
||||
pfx.is_active = true;
|
||||
rc_canvas[canvas_id].post_effect.push_back(pfx);
|
||||
}
|
||||
else
|
||||
{
|
||||
rc_canvas[canvas_id].post_effect[pp_id].type = effect_type;
|
||||
rc_canvas[canvas_id].post_effect[pp_id].object = NULL;
|
||||
rc_canvas[canvas_id].post_effect[pp_id].is_active = true;
|
||||
}
|
||||
|
||||
bool rc_setPostEffect(int canvas_id, int effect_type)
|
||||
{
|
||||
if(canvas_id <= 0 || canvas_id >= rc_canvas.size())
|
||||
return false;
|
||||
|
||||
rc_clearPostEffect(canvas_id);
|
||||
|
||||
rc_canvas[canvas_id].post_effect.type = effect_type;
|
||||
rc_canvas[canvas_id].post_effect.object = NULL;
|
||||
rc_canvas[canvas_id].post_effect.is_active = true;
|
||||
|
||||
|
||||
switch(effect_type)
|
||||
@@ -968,7 +1012,7 @@ int rc_addPostEffect(int canvas_id, int effect_type)
|
||||
|
||||
Bloom->initiate(rc_canvas[canvas_id].viewport.dimension.Width, rc_canvas[canvas_id].viewport.dimension.Height, setup, SceneManager);
|
||||
|
||||
rc_canvas[canvas_id].post_effect[pp_id].object = Bloom;
|
||||
rc_canvas[canvas_id].post_effect.object = Bloom;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -979,7 +1023,7 @@ int rc_addPostEffect(int canvas_id, int effect_type)
|
||||
float sampleDist = 0.001;
|
||||
Blur->initiate(rc_canvas[canvas_id].viewport.dimension.Width, rc_canvas[canvas_id].viewport.dimension.Height, sampleDist, SceneManager);
|
||||
|
||||
rc_canvas[canvas_id].post_effect[pp_id].object = Blur;
|
||||
rc_canvas[canvas_id].post_effect.object = Blur;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -992,7 +1036,7 @@ int rc_addPostEffect(int canvas_id, int effect_type)
|
||||
setup.col=video::SColorf(0,0,0,0);
|
||||
PPE_Color->initiate(rc_canvas[canvas_id].viewport.dimension.Width, rc_canvas[canvas_id].viewport.dimension.Height, setup, SceneManager);
|
||||
|
||||
rc_canvas[canvas_id].post_effect[pp_id].object = PPE_Color;
|
||||
rc_canvas[canvas_id].post_effect.object = PPE_Color;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1001,7 +1045,7 @@ int rc_addPostEffect(int canvas_id, int effect_type)
|
||||
IPostProcessInvert *Invert = new IPostProcessInvert(SceneManager->getRootSceneNode(), SceneManager, -1);
|
||||
Invert->initiate(rc_canvas[canvas_id].viewport.dimension.Width, rc_canvas[canvas_id].viewport.dimension.Height, SceneManager);
|
||||
|
||||
rc_canvas[canvas_id].post_effect[pp_id].object = Invert;
|
||||
rc_canvas[canvas_id].post_effect.object = Invert;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1011,7 +1055,7 @@ int rc_addPostEffect(int canvas_id, int effect_type)
|
||||
float strength = 0.1;
|
||||
Blur->initiate(rc_canvas[canvas_id].viewport.dimension.Width, rc_canvas[canvas_id].viewport.dimension.Height, strength, SceneManager);
|
||||
|
||||
rc_canvas[canvas_id].post_effect[pp_id].object = Blur;
|
||||
rc_canvas[canvas_id].post_effect.object = Blur;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1022,7 +1066,7 @@ int rc_addPostEffect(int canvas_id, int effect_type)
|
||||
float strength = 1;
|
||||
Blur->initiate(rc_canvas[canvas_id].viewport.dimension.Width, rc_canvas[canvas_id].viewport.dimension.Height, dist, strength, SceneManager);
|
||||
|
||||
rc_canvas[canvas_id].post_effect[pp_id].object = Blur;
|
||||
rc_canvas[canvas_id].post_effect.object = Blur;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1032,120 +1076,62 @@ int rc_addPostEffect(int canvas_id, int effect_type)
|
||||
float strength = 0.1;
|
||||
Glass->initiate(rc_canvas[canvas_id].viewport.dimension.Width, rc_canvas[canvas_id].viewport.dimension.Height, strength, SceneManager);
|
||||
|
||||
rc_canvas[canvas_id].post_effect[pp_id].object = Glass;
|
||||
rc_canvas[canvas_id].post_effect.object = Glass;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
return pp_id;
|
||||
}
|
||||
|
||||
void rc_removePostEffect(int canvas_id, int effect_id)
|
||||
{
|
||||
if(canvas_id <= 0 || canvas_id >= rc_canvas.size())
|
||||
return;
|
||||
|
||||
if(effect_id < 0 || effect_id >= rc_canvas[canvas_id].post_effect.size())
|
||||
return;
|
||||
|
||||
rc_canvas[canvas_id].post_effect[effect_id].is_active = false;
|
||||
|
||||
if(rc_canvas[canvas_id].post_effect[effect_id].object)
|
||||
if(!rc_canvas[canvas_id].post_effect.object)
|
||||
{
|
||||
switch(rc_canvas[canvas_id].post_effect[effect_id].type)
|
||||
{
|
||||
case RC_POST_PROCESS_BLOOM:
|
||||
delete (IPostProcessBloom*)rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
break;
|
||||
|
||||
case RC_POST_PROCESS_BLUR:
|
||||
delete (IPostProcessBlur*)rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
break;
|
||||
|
||||
case RC_POST_PROCESS_COLORIZE:
|
||||
delete (IPostProcessColor*)rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
break;
|
||||
|
||||
case RC_POST_PROCESS_DISTORTION:
|
||||
delete (IPostProcessGlass*)rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
break;
|
||||
|
||||
case RC_POST_PROCESS_INVERT:
|
||||
delete (IPostProcessInvert*)rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
break;
|
||||
|
||||
case RC_POST_PROCESS_MOTION_BLUR:
|
||||
delete (IPostProcessMotionBlur*)rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
break;
|
||||
|
||||
case RC_POST_PROCESS_RADIAL_BLUR:
|
||||
delete (IPostProcessRadialBlur*)rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
break;
|
||||
}
|
||||
rc_canvas[canvas_id].post_effect.is_active = false;
|
||||
rc_canvas[canvas_id].post_effect.type = -1;
|
||||
}
|
||||
|
||||
rc_canvas[canvas_id].post_effect[effect_id].object = NULL;
|
||||
rc_canvas[canvas_id].post_effect[effect_id].type = -1;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void rc_clearPostEffects(int canvas_id)
|
||||
|
||||
void rc_setPostEffectStrength(int canvas_id, double strength)
|
||||
{
|
||||
if(canvas_id <= 0 || canvas_id >= rc_canvas.size())
|
||||
return;
|
||||
|
||||
for(int i = 0; i < rc_canvas[canvas_id].post_effect.size(); i++)
|
||||
{
|
||||
rc_removePostEffect(canvas_id, i);
|
||||
}
|
||||
|
||||
rc_canvas[canvas_id].post_effect.clear();
|
||||
}
|
||||
|
||||
|
||||
void rc_setPostEffectStrength(int canvas_id, int effect_id, double strength)
|
||||
{
|
||||
if(canvas_id <= 0 || canvas_id >= rc_canvas.size())
|
||||
return;
|
||||
|
||||
if(effect_id < 0 || effect_id >= rc_canvas[canvas_id].post_effect.size())
|
||||
return;
|
||||
|
||||
int effect_type = rc_canvas[canvas_id].post_effect[effect_id].type; //type will be -1 if effect has been removed
|
||||
int effect_type = rc_canvas[canvas_id].post_effect.type; //type will be -1 if effect has been removed
|
||||
|
||||
switch(effect_type)
|
||||
{
|
||||
case RC_POST_PROCESS_BLOOM:
|
||||
{
|
||||
IPostProcessBloom *Bloom = (IPostProcessBloom*) rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
IPostProcessBloom *Bloom = (IPostProcessBloom*) rc_canvas[canvas_id].post_effect.object;
|
||||
Bloom->callback->strength = (float)strength;
|
||||
}
|
||||
break;
|
||||
|
||||
case RC_POST_PROCESS_COLORIZE:
|
||||
{
|
||||
IPostProcessColor * PPE_Color = (IPostProcessColor*) rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
IPostProcessColor * PPE_Color = (IPostProcessColor*) rc_canvas[canvas_id].post_effect.object;
|
||||
PPE_Color->callback->coloringStrength = (float)strength;
|
||||
}
|
||||
break;
|
||||
|
||||
case RC_POST_PROCESS_MOTION_BLUR:
|
||||
{
|
||||
IPostProcessMotionBlur *Blur = (IPostProcessMotionBlur*) rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
IPostProcessMotionBlur *Blur = (IPostProcessMotionBlur*) rc_canvas[canvas_id].post_effect.object;
|
||||
Blur->callback->strength = (float)strength;
|
||||
}
|
||||
break;
|
||||
|
||||
case RC_POST_PROCESS_RADIAL_BLUR:
|
||||
{
|
||||
IPostProcessRadialBlur *Blur = (IPostProcessRadialBlur*) rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
IPostProcessRadialBlur *Blur = (IPostProcessRadialBlur*) rc_canvas[canvas_id].post_effect.object;
|
||||
Blur->callback->sampleStrength = (float)strength;
|
||||
}
|
||||
break;
|
||||
|
||||
case RC_POST_PROCESS_DISTORTION:
|
||||
{
|
||||
IPostProcessGlass *Glass = (IPostProcessGlass*) rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
IPostProcessGlass *Glass = (IPostProcessGlass*) rc_canvas[canvas_id].post_effect.object;
|
||||
Glass->callback->strength = (float)strength;
|
||||
}
|
||||
break;
|
||||
@@ -1153,35 +1139,32 @@ void rc_setPostEffectStrength(int canvas_id, int effect_id, double strength)
|
||||
}
|
||||
|
||||
|
||||
void rc_setPostEffectDistance(int canvas_id, int effect_id, double dist)
|
||||
void rc_setPostEffectDistance(int canvas_id, double dist)
|
||||
{
|
||||
if(canvas_id <= 0 || canvas_id >= rc_canvas.size())
|
||||
return;
|
||||
|
||||
if(effect_id < 0 || effect_id >= rc_canvas[canvas_id].post_effect.size())
|
||||
return;
|
||||
|
||||
int effect_type = rc_canvas[canvas_id].post_effect[effect_id].type; //type will be -1 if effect has been removed
|
||||
int effect_type = rc_canvas[canvas_id].post_effect.type; //type will be -1 if effect has been removed
|
||||
|
||||
switch(effect_type)
|
||||
{
|
||||
case RC_POST_PROCESS_BLOOM:
|
||||
{
|
||||
IPostProcessBloom *Bloom = (IPostProcessBloom*) rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
IPostProcessBloom *Bloom = (IPostProcessBloom*) rc_canvas[canvas_id].post_effect.object;
|
||||
Bloom->callback->sampleDist = (float)dist;
|
||||
}
|
||||
break;
|
||||
|
||||
case RC_POST_PROCESS_BLUR:
|
||||
{
|
||||
IPostProcessBlur *Blur = (IPostProcessBlur*) rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
IPostProcessBlur *Blur = (IPostProcessBlur*) rc_canvas[canvas_id].post_effect.object;
|
||||
Blur->callback->sampleDist = (float)dist;
|
||||
}
|
||||
break;
|
||||
|
||||
case RC_POST_PROCESS_RADIAL_BLUR:
|
||||
{
|
||||
IPostProcessRadialBlur *Blur = (IPostProcessRadialBlur*) rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
IPostProcessRadialBlur *Blur = (IPostProcessRadialBlur*) rc_canvas[canvas_id].post_effect.object;
|
||||
Blur->callback->sampleDist = (float)dist;
|
||||
}
|
||||
break;
|
||||
@@ -1190,21 +1173,18 @@ void rc_setPostEffectDistance(int canvas_id, int effect_id, double dist)
|
||||
|
||||
|
||||
|
||||
void rc_setPostEffectMultiplier(int canvas_id, int effect_id, double multiplier)
|
||||
void rc_setPostEffectMultiplier(int canvas_id, double multiplier)
|
||||
{
|
||||
if(canvas_id <= 0 || canvas_id >= rc_canvas.size())
|
||||
return;
|
||||
|
||||
if(effect_id < 0 || effect_id >= rc_canvas[canvas_id].post_effect.size())
|
||||
return;
|
||||
|
||||
int effect_type = rc_canvas[canvas_id].post_effect[effect_id].type; //type will be -1 if effect has been removed
|
||||
int effect_type = rc_canvas[canvas_id].post_effect.type; //type will be -1 if effect has been removed
|
||||
|
||||
switch(effect_type)
|
||||
{
|
||||
case RC_POST_PROCESS_BLOOM:
|
||||
{
|
||||
IPostProcessBloom *Bloom = (IPostProcessBloom*) rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
IPostProcessBloom *Bloom = (IPostProcessBloom*) rc_canvas[canvas_id].post_effect.object;
|
||||
Bloom->callback->multiplier = (float)multiplier;
|
||||
}
|
||||
break;
|
||||
@@ -1212,21 +1192,18 @@ void rc_setPostEffectMultiplier(int canvas_id, int effect_id, double multiplier)
|
||||
}
|
||||
|
||||
|
||||
void rc_setPostEffectSaturation(int canvas_id, int effect_id, double saturation)
|
||||
void rc_setPostEffectSaturation(int canvas_id, double saturation)
|
||||
{
|
||||
if(canvas_id <= 0 || canvas_id >= rc_canvas.size())
|
||||
return;
|
||||
|
||||
if(effect_id < 0 || effect_id >= rc_canvas[canvas_id].post_effect.size())
|
||||
return;
|
||||
|
||||
int effect_type = rc_canvas[canvas_id].post_effect[effect_id].type; //type will be -1 if effect has been removed
|
||||
int effect_type = rc_canvas[canvas_id].post_effect.type; //type will be -1 if effect has been removed
|
||||
|
||||
switch(effect_type)
|
||||
{
|
||||
case RC_POST_PROCESS_COLORIZE:
|
||||
{
|
||||
IPostProcessColor * PPE_Color = (IPostProcessColor*) rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
IPostProcessColor * PPE_Color = (IPostProcessColor*) rc_canvas[canvas_id].post_effect.object;
|
||||
PPE_Color->callback->saturation = (float)saturation;
|
||||
}
|
||||
break;
|
||||
@@ -1234,21 +1211,18 @@ void rc_setPostEffectSaturation(int canvas_id, int effect_id, double saturation)
|
||||
}
|
||||
|
||||
|
||||
void rc_setPostEffectColor(int canvas_id, int effect_id, double c_color)
|
||||
void rc_setPostEffectColor(int canvas_id, double c_color)
|
||||
{
|
||||
if(canvas_id <= 0 || canvas_id >= rc_canvas.size())
|
||||
return;
|
||||
|
||||
if(effect_id < 0 || effect_id >= rc_canvas[canvas_id].post_effect.size())
|
||||
return;
|
||||
|
||||
int effect_type = rc_canvas[canvas_id].post_effect[effect_id].type; //type will be -1 if effect has been removed
|
||||
int effect_type = rc_canvas[canvas_id].post_effect.type; //type will be -1 if effect has been removed
|
||||
|
||||
switch(effect_type)
|
||||
{
|
||||
case RC_POST_PROCESS_COLORIZE:
|
||||
{
|
||||
IPostProcessColor * PPE_Color = (IPostProcessColor*) rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
IPostProcessColor * PPE_Color = (IPostProcessColor*) rc_canvas[canvas_id].post_effect.object;
|
||||
PPE_Color->callback->col = irr::video::SColorf( irr::video::SColor((irr::u32) c_color) );
|
||||
}
|
||||
break;
|
||||
@@ -1256,37 +1230,37 @@ void rc_setPostEffectColor(int canvas_id, int effect_id, double c_color)
|
||||
}
|
||||
|
||||
|
||||
void rc_setPostEffectProperty(int canvas_id, int effect_id, int effect_property, double effect_value)
|
||||
void rc_setPostEffectProperty(int canvas_id, int effect_property, double effect_value)
|
||||
{
|
||||
switch(effect_property)
|
||||
{
|
||||
case RC_PP_PROPERTY_STRENGTH:
|
||||
{
|
||||
rc_setPostEffectStrength(canvas_id, effect_id, effect_value);
|
||||
rc_setPostEffectStrength(canvas_id, effect_value);
|
||||
}
|
||||
break;
|
||||
|
||||
case RC_PP_PROPERTY_DISTANCE:
|
||||
{
|
||||
rc_setPostEffectDistance(canvas_id, effect_id, effect_value);
|
||||
rc_setPostEffectDistance(canvas_id, effect_value);
|
||||
}
|
||||
break;
|
||||
|
||||
case RC_PP_PROPERTY_MULTIPLIER:
|
||||
{
|
||||
rc_setPostEffectMultiplier(canvas_id, effect_id, effect_value);
|
||||
rc_setPostEffectMultiplier(canvas_id, effect_value);
|
||||
}
|
||||
break;
|
||||
|
||||
case RC_PP_PROPERTY_SATURATION:
|
||||
{
|
||||
rc_setPostEffectSaturation(canvas_id, effect_id, effect_value);
|
||||
rc_setPostEffectSaturation(canvas_id, effect_value);
|
||||
}
|
||||
break;
|
||||
|
||||
case RC_PP_PROPERTY_COLOR:
|
||||
{
|
||||
rc_setPostEffectColor(canvas_id, effect_id, effect_value);
|
||||
rc_setPostEffectColor(canvas_id, effect_value);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -1298,49 +1272,46 @@ void rc_setPostEffectProperty(int canvas_id, int effect_id, int effect_property,
|
||||
|
||||
|
||||
|
||||
double rc_getPostEffectStrength(int canvas_id, int effect_id)
|
||||
double rc_getPostEffectStrength(int canvas_id)
|
||||
{
|
||||
if(canvas_id <= 0 || canvas_id >= rc_canvas.size())
|
||||
return 0;
|
||||
|
||||
if(effect_id < 0 || effect_id >= rc_canvas[canvas_id].post_effect.size())
|
||||
return 0;
|
||||
|
||||
int effect_type = rc_canvas[canvas_id].post_effect[effect_id].type; //type will be -1 if effect has been removed
|
||||
int effect_type = rc_canvas[canvas_id].post_effect.type; //type will be -1 if effect has been removed
|
||||
|
||||
switch(effect_type)
|
||||
{
|
||||
case RC_POST_PROCESS_BLOOM:
|
||||
{
|
||||
IPostProcessBloom *Bloom = (IPostProcessBloom*) rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
IPostProcessBloom *Bloom = (IPostProcessBloom*) rc_canvas[canvas_id].post_effect.object;
|
||||
return (double)Bloom->callback->strength;
|
||||
}
|
||||
break;
|
||||
|
||||
case RC_POST_PROCESS_COLORIZE:
|
||||
{
|
||||
IPostProcessColor * PPE_Color = (IPostProcessColor*) rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
IPostProcessColor * PPE_Color = (IPostProcessColor*) rc_canvas[canvas_id].post_effect.object;
|
||||
return (double)PPE_Color->callback->coloringStrength;
|
||||
}
|
||||
break;
|
||||
|
||||
case RC_POST_PROCESS_MOTION_BLUR:
|
||||
{
|
||||
IPostProcessMotionBlur *Blur = (IPostProcessMotionBlur*) rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
IPostProcessMotionBlur *Blur = (IPostProcessMotionBlur*) rc_canvas[canvas_id].post_effect.object;
|
||||
return (double)Blur->callback->strength;
|
||||
}
|
||||
break;
|
||||
|
||||
case RC_POST_PROCESS_RADIAL_BLUR:
|
||||
{
|
||||
IPostProcessRadialBlur *Blur = (IPostProcessRadialBlur*) rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
IPostProcessRadialBlur *Blur = (IPostProcessRadialBlur*) rc_canvas[canvas_id].post_effect.object;
|
||||
return (double)Blur->callback->sampleStrength;
|
||||
}
|
||||
break;
|
||||
|
||||
case RC_POST_PROCESS_DISTORTION:
|
||||
{
|
||||
IPostProcessGlass *Glass = (IPostProcessGlass*) rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
IPostProcessGlass *Glass = (IPostProcessGlass*) rc_canvas[canvas_id].post_effect.object;
|
||||
return (double)Glass->callback->strength;
|
||||
}
|
||||
break;
|
||||
@@ -1350,35 +1321,32 @@ double rc_getPostEffectStrength(int canvas_id, int effect_id)
|
||||
}
|
||||
|
||||
|
||||
double rc_getPostEffectDistance(int canvas_id, int effect_id)
|
||||
double rc_getPostEffectDistance(int canvas_id)
|
||||
{
|
||||
if(canvas_id <= 0 || canvas_id >= rc_canvas.size())
|
||||
return 0;
|
||||
|
||||
if(effect_id < 0 || effect_id >= rc_canvas[canvas_id].post_effect.size())
|
||||
return 0;
|
||||
|
||||
int effect_type = rc_canvas[canvas_id].post_effect[effect_id].type; //type will be -1 if effect has been removed
|
||||
int effect_type = rc_canvas[canvas_id].post_effect.type; //type will be -1 if effect has been removed
|
||||
|
||||
switch(effect_type)
|
||||
{
|
||||
case RC_POST_PROCESS_BLOOM:
|
||||
{
|
||||
IPostProcessBloom *Bloom = (IPostProcessBloom*) rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
IPostProcessBloom *Bloom = (IPostProcessBloom*) rc_canvas[canvas_id].post_effect.object;
|
||||
return (double)Bloom->callback->sampleDist;
|
||||
}
|
||||
break;
|
||||
|
||||
case RC_POST_PROCESS_BLUR:
|
||||
{
|
||||
IPostProcessBlur *Blur = (IPostProcessBlur*) rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
IPostProcessBlur *Blur = (IPostProcessBlur*) rc_canvas[canvas_id].post_effect.object;
|
||||
return (double)Blur->callback->sampleDist;
|
||||
}
|
||||
break;
|
||||
|
||||
case RC_POST_PROCESS_RADIAL_BLUR:
|
||||
{
|
||||
IPostProcessRadialBlur *Blur = (IPostProcessRadialBlur*) rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
IPostProcessRadialBlur *Blur = (IPostProcessRadialBlur*) rc_canvas[canvas_id].post_effect.object;
|
||||
return (double)Blur->callback->sampleDist;
|
||||
}
|
||||
break;
|
||||
@@ -1389,21 +1357,18 @@ double rc_getPostEffectDistance(int canvas_id, int effect_id)
|
||||
|
||||
|
||||
|
||||
double rc_getPostEffectMultiplier(int canvas_id, int effect_id)
|
||||
double rc_getPostEffectMultiplier(int canvas_id)
|
||||
{
|
||||
if(canvas_id <= 0 || canvas_id >= rc_canvas.size())
|
||||
return 0;
|
||||
|
||||
if(effect_id < 0 || effect_id >= rc_canvas[canvas_id].post_effect.size())
|
||||
return 0;
|
||||
|
||||
int effect_type = rc_canvas[canvas_id].post_effect[effect_id].type; //type will be -1 if effect has been removed
|
||||
int effect_type = rc_canvas[canvas_id].post_effect.type; //type will be -1 if effect has been removed
|
||||
|
||||
switch(effect_type)
|
||||
{
|
||||
case RC_POST_PROCESS_BLOOM:
|
||||
{
|
||||
IPostProcessBloom *Bloom = (IPostProcessBloom*) rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
IPostProcessBloom *Bloom = (IPostProcessBloom*) rc_canvas[canvas_id].post_effect.object;
|
||||
return (double)Bloom->callback->multiplier;
|
||||
}
|
||||
break;
|
||||
@@ -1413,21 +1378,18 @@ double rc_getPostEffectMultiplier(int canvas_id, int effect_id)
|
||||
}
|
||||
|
||||
|
||||
double rc_getPostEffectSaturation(int canvas_id, int effect_id)
|
||||
double rc_getPostEffectSaturation(int canvas_id)
|
||||
{
|
||||
if(canvas_id <= 0 || canvas_id >= rc_canvas.size())
|
||||
return 0;
|
||||
|
||||
if(effect_id < 0 || effect_id >= rc_canvas[canvas_id].post_effect.size())
|
||||
return 0;
|
||||
|
||||
int effect_type = rc_canvas[canvas_id].post_effect[effect_id].type; //type will be -1 if effect has been removed
|
||||
int effect_type = rc_canvas[canvas_id].post_effect.type; //type will be -1 if effect has been removed
|
||||
|
||||
switch(effect_type)
|
||||
{
|
||||
case RC_POST_PROCESS_COLORIZE:
|
||||
{
|
||||
IPostProcessColor * PPE_Color = (IPostProcessColor*) rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
IPostProcessColor * PPE_Color = (IPostProcessColor*) rc_canvas[canvas_id].post_effect.object;
|
||||
return (double)PPE_Color->callback->saturation;
|
||||
}
|
||||
break;
|
||||
@@ -1437,21 +1399,18 @@ double rc_getPostEffectSaturation(int canvas_id, int effect_id)
|
||||
}
|
||||
|
||||
|
||||
double rc_getPostEffectColor(int canvas_id, int effect_id)
|
||||
double rc_getPostEffectColor(int canvas_id)
|
||||
{
|
||||
if(canvas_id <= 0 || canvas_id >= rc_canvas.size())
|
||||
return 0;
|
||||
|
||||
if(effect_id < 0 || effect_id >= rc_canvas[canvas_id].post_effect.size())
|
||||
return 0;
|
||||
|
||||
int effect_type = rc_canvas[canvas_id].post_effect[effect_id].type; //type will be -1 if effect has been removed
|
||||
int effect_type = rc_canvas[canvas_id].post_effect.type; //type will be -1 if effect has been removed
|
||||
|
||||
switch(effect_type)
|
||||
{
|
||||
case RC_POST_PROCESS_COLORIZE:
|
||||
{
|
||||
IPostProcessColor * PPE_Color = (IPostProcessColor*) rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
IPostProcessColor * PPE_Color = (IPostProcessColor*) rc_canvas[canvas_id].post_effect.object;
|
||||
return (double)PPE_Color->callback->col.toSColor().color;
|
||||
}
|
||||
break;
|
||||
@@ -1461,37 +1420,37 @@ double rc_getPostEffectColor(int canvas_id, int effect_id)
|
||||
}
|
||||
|
||||
|
||||
double rc_getPostEffectProperty(int canvas_id, int effect_id, int effect_property)
|
||||
double rc_getPostEffectProperty(int canvas_id, int effect_property)
|
||||
{
|
||||
switch(effect_property)
|
||||
{
|
||||
case RC_PP_PROPERTY_STRENGTH:
|
||||
{
|
||||
return rc_getPostEffectStrength(canvas_id, effect_id);
|
||||
return rc_getPostEffectStrength(canvas_id);
|
||||
}
|
||||
break;
|
||||
|
||||
case RC_PP_PROPERTY_DISTANCE:
|
||||
{
|
||||
return rc_getPostEffectDistance(canvas_id, effect_id);
|
||||
return rc_getPostEffectDistance(canvas_id);
|
||||
}
|
||||
break;
|
||||
|
||||
case RC_PP_PROPERTY_MULTIPLIER:
|
||||
{
|
||||
return rc_getPostEffectMultiplier(canvas_id, effect_id);
|
||||
return rc_getPostEffectMultiplier(canvas_id);
|
||||
}
|
||||
break;
|
||||
|
||||
case RC_PP_PROPERTY_SATURATION:
|
||||
{
|
||||
return rc_getPostEffectSaturation(canvas_id, effect_id);
|
||||
return rc_getPostEffectSaturation(canvas_id);
|
||||
}
|
||||
break;
|
||||
|
||||
case RC_PP_PROPERTY_COLOR:
|
||||
{
|
||||
return rc_getPostEffectColor(canvas_id, effect_id);
|
||||
return rc_getPostEffectColor(canvas_id);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -1500,84 +1459,78 @@ double rc_getPostEffectProperty(int canvas_id, int effect_id, int effect_propert
|
||||
}
|
||||
|
||||
|
||||
void rc_setPostEffectActive(int canvas_id, int effect_id, bool flag)
|
||||
void rc_setPostEffectActive(int canvas_id, bool flag)
|
||||
{
|
||||
if(canvas_id <= 0 || canvas_id >= rc_canvas.size())
|
||||
return;
|
||||
|
||||
if(effect_id < 0 || effect_id >= rc_canvas[canvas_id].post_effect.size())
|
||||
return;
|
||||
|
||||
rc_canvas[canvas_id].post_effect[effect_id].is_active = flag;
|
||||
rc_canvas[canvas_id].post_effect.is_active = flag;
|
||||
}
|
||||
|
||||
bool rc_postEffectIsActive(int canvas_id, int effect_id)
|
||||
bool rc_postEffectIsActive(int canvas_id)
|
||||
{
|
||||
if(canvas_id <= 0 || canvas_id >= rc_canvas.size())
|
||||
return false;
|
||||
|
||||
if(effect_id < 0 || effect_id >= rc_canvas[canvas_id].post_effect.size())
|
||||
return false;
|
||||
|
||||
return rc_canvas[canvas_id].post_effect[effect_id].is_active;
|
||||
return rc_canvas[canvas_id].post_effect.is_active;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void rc_renderPostEffect(int canvas_id, int effect_id)
|
||||
void rc_renderPostEffect(int canvas_id)
|
||||
{
|
||||
if(!rc_canvas[canvas_id].post_effect[effect_id].is_active)
|
||||
if(!rc_canvas[canvas_id].post_effect.is_active)
|
||||
return;
|
||||
|
||||
int effect_type = rc_canvas[canvas_id].post_effect[effect_id].type; //type will be -1 if effect has been removed
|
||||
int effect_type = rc_canvas[canvas_id].post_effect.type; //type will be -1 if effect has been removed
|
||||
|
||||
switch(effect_type)
|
||||
{
|
||||
case RC_POST_PROCESS_BLOOM:
|
||||
{
|
||||
IPostProcessBloom *Bloom = (IPostProcessBloom*) rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
IPostProcessBloom *Bloom = (IPostProcessBloom*) rc_canvas[canvas_id].post_effect.object;
|
||||
Bloom->render();
|
||||
}
|
||||
break;
|
||||
|
||||
case RC_POST_PROCESS_BLUR:
|
||||
{
|
||||
IPostProcessBlur *Blur = (IPostProcessBlur*) rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
IPostProcessBlur *Blur = (IPostProcessBlur*) rc_canvas[canvas_id].post_effect.object;
|
||||
Blur->render();
|
||||
}
|
||||
break;
|
||||
|
||||
case RC_POST_PROCESS_COLORIZE:
|
||||
{
|
||||
IPostProcessColor * PPE_Color = (IPostProcessColor*) rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
IPostProcessColor * PPE_Color = (IPostProcessColor*) rc_canvas[canvas_id].post_effect.object;
|
||||
PPE_Color->render();
|
||||
}
|
||||
break;
|
||||
|
||||
case RC_POST_PROCESS_INVERT:
|
||||
{
|
||||
IPostProcessInvert *Invert = (IPostProcessInvert*) rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
IPostProcessInvert *Invert = (IPostProcessInvert*) rc_canvas[canvas_id].post_effect.object;
|
||||
Invert->render();
|
||||
}
|
||||
break;
|
||||
|
||||
case RC_POST_PROCESS_MOTION_BLUR:
|
||||
{
|
||||
IPostProcessMotionBlur *Blur = (IPostProcessMotionBlur*) rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
Blur->render();
|
||||
IPostProcessMotionBlur *Blur = (IPostProcessMotionBlur*) rc_canvas[canvas_id].post_effect.object;
|
||||
Blur->renderFinal();
|
||||
}
|
||||
break;
|
||||
|
||||
case RC_POST_PROCESS_RADIAL_BLUR:
|
||||
{
|
||||
IPostProcessRadialBlur *Blur = (IPostProcessRadialBlur*) rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
IPostProcessRadialBlur *Blur = (IPostProcessRadialBlur*) rc_canvas[canvas_id].post_effect.object;
|
||||
Blur->render();
|
||||
}
|
||||
break;
|
||||
|
||||
case RC_POST_PROCESS_DISTORTION:
|
||||
{
|
||||
IPostProcessGlass *Glass = (IPostProcessGlass*) rc_canvas[canvas_id].post_effect[effect_id].object;
|
||||
IPostProcessGlass *Glass = (IPostProcessGlass*) rc_canvas[canvas_id].post_effect.object;
|
||||
Glass->render();
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -114,7 +114,47 @@ void rc_pipeline_Render()
|
||||
|
||||
if(rc_canvas[rc_active_canvas].show3D)
|
||||
{
|
||||
//VideoDriver->setRenderTarget(rc_canvas[rc_active_canvas].texture, true, true, irr::video::SColor(255,120,120,120));
|
||||
if(rc_canvas[rc_active_canvas].post_effect.is_active)
|
||||
{
|
||||
if(rc_canvas[rc_active_canvas].post_effect.type == RC_POST_PROCESS_DISTORTION)
|
||||
{
|
||||
IPostProcessGlass* post_process = (IPostProcessGlass*) rc_canvas[rc_active_canvas].post_effect.object;
|
||||
VideoDriver->setRenderTarget(post_process->rt0, true, true);
|
||||
}
|
||||
else if(rc_canvas[rc_active_canvas].post_effect.type == RC_POST_PROCESS_BLOOM)
|
||||
{
|
||||
IPostProcessBloom* post_process = (IPostProcessBloom*) rc_canvas[rc_active_canvas].post_effect.object;
|
||||
VideoDriver->setRenderTarget(post_process->rt0, true, true);
|
||||
}
|
||||
else if(rc_canvas[rc_active_canvas].post_effect.type == RC_POST_PROCESS_BLUR)
|
||||
{
|
||||
IPostProcessBlur* post_process = (IPostProcessBlur*) rc_canvas[rc_active_canvas].post_effect.object;
|
||||
VideoDriver->setRenderTarget(post_process->rt0, true, true);
|
||||
}
|
||||
else if(rc_canvas[rc_active_canvas].post_effect.type == RC_POST_PROCESS_COLORIZE)
|
||||
{
|
||||
IPostProcessColor* post_process = (IPostProcessColor*) rc_canvas[rc_active_canvas].post_effect.object;
|
||||
VideoDriver->setRenderTarget(post_process->rt0, true, true);
|
||||
}
|
||||
else if(rc_canvas[rc_active_canvas].post_effect.type == RC_POST_PROCESS_INVERT)
|
||||
{
|
||||
IPostProcessInvert* post_process = (IPostProcessInvert*) rc_canvas[rc_active_canvas].post_effect.object;
|
||||
VideoDriver->setRenderTarget(post_process->rt0, true, true, irr::video::SColor(0,0,0,0));
|
||||
}
|
||||
else if(rc_canvas[rc_active_canvas].post_effect.type == RC_POST_PROCESS_RADIAL_BLUR)
|
||||
{
|
||||
IPostProcessRadialBlur* post_process = (IPostProcessRadialBlur*) rc_canvas[rc_active_canvas].post_effect.object;
|
||||
VideoDriver->setRenderTarget(post_process->rt0, true, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
VideoDriver->setRenderTarget(rc_canvas[rc_active_canvas].texture, true, true, rc_clear_color);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
VideoDriver->setRenderTarget(rc_canvas[rc_active_canvas].texture, true, true, rc_clear_color);
|
||||
}
|
||||
|
||||
if(rc_canvas[rc_active_canvas].camera.camera)
|
||||
SceneManager->setActiveCamera(rc_canvas[rc_active_canvas].camera.camera);
|
||||
@@ -153,7 +193,16 @@ void rc_pipeline_Render()
|
||||
rc_active_color = current_color;
|
||||
rc_setDriverMaterial();
|
||||
|
||||
SceneManager->drawAll();
|
||||
if(rc_canvas[rc_active_canvas].post_effect.type == RC_POST_PROCESS_MOTION_BLUR && rc_canvas[rc_active_canvas].post_effect.is_active)
|
||||
{
|
||||
//render motion blur
|
||||
IPostProcessMotionBlur* post_process = (IPostProcessMotionBlur*) rc_canvas[rc_active_canvas].post_effect.object;
|
||||
post_process->render();
|
||||
}
|
||||
else
|
||||
{
|
||||
SceneManager->drawAll();
|
||||
}
|
||||
|
||||
for(int p_actor = 0; p_actor < rc_projector_actors.size(); p_actor++)
|
||||
{
|
||||
@@ -173,9 +222,9 @@ void rc_pipeline_Render()
|
||||
}
|
||||
|
||||
//render post effects
|
||||
for(int effect_num = 0; effect_num < rc_canvas[rc_active_canvas].post_effect.size(); effect_num++)
|
||||
if(rc_canvas[rc_active_canvas].post_effect.is_active)
|
||||
{
|
||||
rc_renderPostEffect(rc_active_canvas, effect_num); //It won't render if not active so no check needs to be done here
|
||||
rc_renderPostEffect(rc_active_canvas);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -542,7 +542,47 @@ bool rc_update()
|
||||
{
|
||||
if(rc_canvas[canvas_id].show3D)
|
||||
{
|
||||
VideoDriver->setRenderTarget(rc_canvas[canvas_id].texture, true, true, rc_clear_color);
|
||||
if(rc_canvas[canvas_id].post_effect.is_active)
|
||||
{
|
||||
if(rc_canvas[canvas_id].post_effect.type == RC_POST_PROCESS_DISTORTION)
|
||||
{
|
||||
IPostProcessGlass* post_process = (IPostProcessGlass*) rc_canvas[canvas_id].post_effect.object;
|
||||
VideoDriver->setRenderTarget(post_process->rt0, true, true);
|
||||
}
|
||||
else if(rc_canvas[canvas_id].post_effect.type == RC_POST_PROCESS_BLOOM)
|
||||
{
|
||||
IPostProcessBloom* post_process = (IPostProcessBloom*) rc_canvas[canvas_id].post_effect.object;
|
||||
VideoDriver->setRenderTarget(post_process->rt0, true, true);
|
||||
}
|
||||
else if(rc_canvas[canvas_id].post_effect.type == RC_POST_PROCESS_BLUR)
|
||||
{
|
||||
IPostProcessBlur* post_process = (IPostProcessBlur*) rc_canvas[canvas_id].post_effect.object;
|
||||
VideoDriver->setRenderTarget(post_process->rt0, true, true);
|
||||
}
|
||||
else if(rc_canvas[canvas_id].post_effect.type == RC_POST_PROCESS_COLORIZE)
|
||||
{
|
||||
IPostProcessColor* post_process = (IPostProcessColor*) rc_canvas[canvas_id].post_effect.object;
|
||||
VideoDriver->setRenderTarget(post_process->rt0, true, true);
|
||||
}
|
||||
else if(rc_canvas[canvas_id].post_effect.type == RC_POST_PROCESS_INVERT)
|
||||
{
|
||||
IPostProcessInvert* post_process = (IPostProcessInvert*) rc_canvas[canvas_id].post_effect.object;
|
||||
VideoDriver->setRenderTarget(post_process->rt0, true, true, irr::video::SColor(0,0,0,0));
|
||||
}
|
||||
else if(rc_canvas[canvas_id].post_effect.type == RC_POST_PROCESS_RADIAL_BLUR)
|
||||
{
|
||||
IPostProcessRadialBlur* post_process = (IPostProcessRadialBlur*) rc_canvas[canvas_id].post_effect.object;
|
||||
VideoDriver->setRenderTarget(post_process->rt0, true, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
VideoDriver->setRenderTarget(rc_canvas[canvas_id].texture, true, true, rc_clear_color);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
VideoDriver->setRenderTarget(rc_canvas[canvas_id].texture, true, true, rc_clear_color);
|
||||
}
|
||||
|
||||
if(rc_canvas[canvas_id].camera.camera)
|
||||
SceneManager->setActiveCamera(rc_canvas[canvas_id].camera.camera);
|
||||
@@ -583,7 +623,16 @@ bool rc_update()
|
||||
rc_active_color = current_color;
|
||||
rc_setDriverMaterial();
|
||||
|
||||
SceneManager->drawAll();
|
||||
if(rc_canvas[canvas_id].post_effect.type == RC_POST_PROCESS_MOTION_BLUR && rc_canvas[canvas_id].post_effect.is_active)
|
||||
{
|
||||
//render motion blur
|
||||
IPostProcessMotionBlur* post_process = (IPostProcessMotionBlur*) rc_canvas[canvas_id].post_effect.object;
|
||||
post_process->render();
|
||||
}
|
||||
else
|
||||
{
|
||||
SceneManager->drawAll();
|
||||
}
|
||||
|
||||
for(int p_actor = 0; p_actor < rc_projector_actors.size(); p_actor++)
|
||||
{
|
||||
@@ -603,9 +652,10 @@ bool rc_update()
|
||||
}
|
||||
|
||||
//render post effects
|
||||
for(int effect_num = 0; effect_num < rc_canvas[rc_active_canvas].post_effect.size(); effect_num++)
|
||||
if(rc_canvas[canvas_id].post_effect.is_active)
|
||||
{
|
||||
rc_renderPostEffect(canvas_id, effect_num); //It won't render if not active so no check needs to be done here
|
||||
VideoDriver->setRenderTarget(rc_canvas[canvas_id].texture, true, true, rc_clear_color);
|
||||
rc_renderPostEffect(canvas_id);
|
||||
}
|
||||
|
||||
//VideoDriver->draw2DRectangle(irr::video::SColor(255,0,255,0), irr::core::rect<irr::s32>(10,40,100,500));
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# depslib dependency file v1.0
|
||||
1762838155 source:/home/n00b/Projects/RCBASIC4/rcbasic_runtime/main.cpp
|
||||
1763866998 source:/home/n00b/Projects/RCBASIC4/rcbasic_runtime/main.cpp
|
||||
"rc_os_defines.h"
|
||||
<emscripten.h>
|
||||
<sys/param.h>
|
||||
@@ -34,10 +34,10 @@
|
||||
<irrtheora.h>
|
||||
"rc_func130_cases.h"
|
||||
|
||||
1759134832 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_os_defines.h
|
||||
1763866870 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_os_defines.h
|
||||
<TargetConditionals.h>
|
||||
|
||||
1763784345 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_defines.h
|
||||
1763875558 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_defines.h
|
||||
|
||||
1763522526 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_stdlib.h
|
||||
"rc_os_defines.h"
|
||||
@@ -1249,7 +1249,7 @@
|
||||
1734372058 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/RealisticWater.h
|
||||
<irrlicht.h>
|
||||
|
||||
1763708323 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_gfx.h
|
||||
1763874908 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_gfx.h
|
||||
"SDL.h"
|
||||
<SDL2/SDL.h>
|
||||
<irrlicht.h>
|
||||
@@ -1274,7 +1274,7 @@
|
||||
"rc_post_fx.h"
|
||||
<irrtheora.h>
|
||||
|
||||
1763707267 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_gfx_core.h
|
||||
1763871259 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_gfx_core.h
|
||||
"SDL.h"
|
||||
"btBulletDynamicsCommon.h"
|
||||
"BulletSoftBody/btSoftRigidDynamicsWorld.h"
|
||||
@@ -2279,7 +2279,7 @@
|
||||
"rc_gfx_core.h"
|
||||
<irrtheora.h>
|
||||
|
||||
1763784345 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_func130_cases.h
|
||||
1763875558 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_func130_cases.h
|
||||
|
||||
1760243468 source:/home/n00b/Projects/irrBullet/src/irrBullet.cpp
|
||||
"irrBullet.h"
|
||||
@@ -2552,7 +2552,7 @@
|
||||
|
||||
1758412944 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_camera.h
|
||||
|
||||
1763708061 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_windowclose.h
|
||||
1763889169 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_windowclose.h
|
||||
|
||||
1650940764 /usr/include/bullet/BulletCollision/NarrowPhaseCollision/btRaycastCallback.h
|
||||
"BulletCollision/CollisionShapes/btTriangleCallback.h"
|
||||
@@ -2746,12 +2746,12 @@
|
||||
<sstream>
|
||||
"rc_steam.h"
|
||||
|
||||
1763708113 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_render_control.h
|
||||
1763888014 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_render_control.h
|
||||
<irrlicht.h>
|
||||
"rc_gfx_core.h"
|
||||
"rc_post_fx.h"
|
||||
|
||||
1762838223 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_post_fx.h
|
||||
1763885109 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_post_fx.h
|
||||
<irrlicht.h>
|
||||
<cstdlib>
|
||||
"rc_gfx_core.h"
|
||||
|
||||
Reference in New Issue
Block a user