Added missing functions to Projector Actors
This commit is contained in:
@@ -233,6 +233,7 @@ rc_drawTriangle( TRIANGLE_X1, TRIANGLE_Y1, TRIANGLE_X2, TRIANGLE_Y2, TRIANGL
|
||||
rc_drawLine3D( LINE3D_X1, LINE3D_Y1, LINE3D_Z1, LINE3D_X2, LINE3D_Y2, LINE3D_Z2 )
|
||||
rc_drawBox3D( BOX3D_MIN_X, BOX3D_MIN_Y, BOX3D_MIN_Z, BOX3D_MAX_X, BOX3D_MAX_Y, BOX3D_MAX_Z )
|
||||
rc_drawTriangle3D( TRIANGLE3D_X1, TRIANGLE3D_Y1, TRIANGLE3D_Z1, TRIANGLE3D_X2, TRIANGLE3D_Y2, TRIANGLE3D_Z2, TRIANGLE3D_X3, TRIANGLE3D_Y3, TRIANGLE3D_Z3 )
|
||||
rc_setRenderCirclePoints( SETRENDERCIRCLEPOINTS_NUM_POINTS )
|
||||
rc_loadImage( LOADIMAGE_IMG$ )
|
||||
rc_loadImageEx( LOADIMAGEEX_IMG$, LOADIMAGEEX_COLKEY )
|
||||
rc_createImage( CREATEIMAGE_W, CREATEIMAGE_H, &CREATEIMAGE_BUFFER )
|
||||
@@ -262,6 +263,7 @@ rc_drawImage_Rotozoom( DRAWIMAGE_ROTOZOOM_SLOT, DRAWIMAGE_ROTOZOOM_X, DRAWIMAG
|
||||
rc_drawImage_RotozoomEx( DRAWIMAGE_ROTOZOOMEX_SLOT, DRAWIMAGE_ROTOZOOMEX_X, DRAWIMAGE_ROTOZOOMEX_Y, DRAWIMAGE_ROTOZOOMEX_SRC_X, DRAWIMAGE_ROTOZOOMEX_SRC_Y, DRAWIMAGE_ROTOZOOMEX_SRC_W, DRAWIMAGE_ROTOZOOMEX_SRC_H, DRAWIMAGE_ROTOZOOMEX_ANGLE, DRAWIMAGE_ROTOZOOMEX_ZX, DRAWIMAGE_ROTOZOOMEX_ZY )
|
||||
rc_drawImage_Flip( DRAWIMAGE_FLIP_SLOT, DRAWIMAGE_FLIP_X, DRAWIMAGE_FLIP_Y, DRAWIMAGE_FLIP_H, DRAWIMAGE_FLIP_V )
|
||||
rc_drawImage_FlipEx( DRAWIMAGE_FLIPEX_SLOT, DRAWIMAGE_FLIPEX_X, DRAWIMAGE_FLIPEX_Y, DRAWIMAGE_FLIPEX_SRC_X, DRAWIMAGE_FLIPEX_SRC_Y, DRAWIMAGE_FLIPEX_SRC_W, DRAWIMAGE_FLIPEX_SRC_H, DRAWIMAGE_FLIPEX_H, DRAWIMAGE_FLIPEX_V )
|
||||
rc_saveBMP( SAVEBMP_IMG, SAVEBMP_FILE$ )
|
||||
rc_setAntiAliasMode( SETANTIALIASMODE_AA_MODE )
|
||||
rc_getAntiAliasMode( )
|
||||
rc_convertToNormalMap( CONVERTTONORMALMAP_IMG_ID, CONVERTTONORMALMAP_AMP )
|
||||
@@ -344,6 +346,7 @@ rc_drawText( DRAWTEXT_TXT$, DRAWTEXT_X, DRAWTEXT_Y )
|
||||
rc_getTextSize( GETTEXTSIZE_TXT$, &GETTEXTSIZE_W, &GETTEXTSIZE_H )
|
||||
rc_getTextWidth( TEXTWIDTH_TXT$ )
|
||||
rc_getTextHeight( TEXTHEIGHT_TXT$ )
|
||||
rc_activeFont( )
|
||||
rc_touchPressure( )
|
||||
rc_getTouch( &GETTOUCH_STATUS, &GETTOUCH_X, &GETTOUCH_Y, &GETTOUCH_DX, &GETTOUCH_DY )
|
||||
rc_getMultiTouch( &GETMULTITOUCH_STATUS, &GETMULTITOUCH_X, &GETMULTITOUCH_Y, &GETMULTITOUCH_FINGERS, &GETMULTITOUCH_DIST, &GETMULTITOUCH_THETA )
|
||||
@@ -531,6 +534,7 @@ rc_getSpriteCurrentAnimationFrame( GETSPRITECURRENTANIMATIONFRAME_SPRITE )
|
||||
rc_numSpriteAnimationLoops( NUMSPRITEANIMATIONLOOPS_SPRITE )
|
||||
rc_spriteAnimationIsPlaying( SPRITEANIMATIONISPLAYING_SPRITE )
|
||||
rc_deleteSpriteAnimation( DELETESPRITEANIMATION_SPRITE, DELETESPRITEANIMATION_ANIMATION )
|
||||
rc_getSpriteAnimationSource( GETSPRITEANIMATIONSOURCE_SPRITE, GETSPRITEANIMATIONSOURCE_ANIMATION )
|
||||
rc_getSpriteCenter( GETSPRITECENTER_SPR_ID, &GETSPRITECENTER_X, &GETSPRITECENTER_Y )
|
||||
rc_setSpriteLinearVelocity( SETSPRITELINEARVELOCITY_SPR_ID, SETSPRITELINEARVELOCITY_X, SETSPRITELINEARVELOCITY_Y )
|
||||
rc_getSpriteLinearVelocity( GETSPRITELINEARVELOCITY_SPR_ID, &GETSPRITELINEARVELOCITY_X, &GETSPRITELINEARVELOCITY_Y )
|
||||
@@ -1051,6 +1055,12 @@ rc_setProjectorTarget( SETPROJECTORTARGET_ACTOR, SETPROJECTORTARGET_X, SETPROJ
|
||||
rc_getProjectorTarget( GETPROJECTORTARGET_ACTOR, &GETPROJECTORTARGET_X, &GETPROJECTORTARGET_Y, &GETPROJECTORTARGET_Z )
|
||||
rc_setProjectorFOV( SETPROJECTORFOV_ACTOR, SETPROJECTORFOV_FOV )
|
||||
rc_getProjectorFOV( GETPROJECTORFOV_ACTOR )
|
||||
rc_setProjectorTexture( SETPROJECTORTEXTURE_ACTOR, SETPROJECTORTEXTURE_IMG_ID )
|
||||
rc_getProjectorTexture( GETPROJECTORTEXTURE_ACTOR )
|
||||
rc_addProjectorEffectActor( ADDPROJECTOREFFECTACTOR_ACTOR, ADDPROJECTOREFFECTACTOR_TGT_ACTOR )
|
||||
rc_getProjectorEffectActorCount( GETPROJECTOREFFECTACTORCOUNT_ACTOR )
|
||||
rc_getProjectorEffectActor( GETPROJECTOREFFECTACTOR_ACTOR, GETPROJECTOREFFECTACTOR_TGT_INDEX )
|
||||
rc_removeProjectorEffectActor( REMOVEPROJECTOREFFECTACTOR_ACTOR, REMOVEPROJECTOREFFECTACTOR_TGT_INDEX )
|
||||
rc_addCompositeChild( ADDCOMPOSITECHILD_ACTOR, ADDCOMPOSITECHILD_CHILD_ACTOR, ADDCOMPOSITECHILD_T_MATRIX )
|
||||
rc_getCompositeChildCount( GETCOMPOSITECHILDCOUNT_ACTOR )
|
||||
rc_getCompositeChild( GETCOMPOSITECHILD_ACTOR, GETCOMPOSITECHILD_CHILD_INDEX )
|
||||
|
||||
@@ -27,6 +27,7 @@ sub DrawImage_Rotozoom(slot, x, y, angle, zx, zy)
|
||||
sub DrawImage_RotozoomEx(slot, x, y, src_x, src_y, src_w, src_h, angle, zx, zy)
|
||||
sub DrawImage_Flip(slot, x, y, h, v)
|
||||
sub DrawImage_FlipEx(slot, x, y, src_x, src_y, src_w, src_h, h, v)
|
||||
function SaveBMP(img, file$)
|
||||
sub SetAntiAliasMode( aa_mode )
|
||||
function GetAntiAliasMode( )
|
||||
sub ConvertToNormalMap(img_id, amp)
|
||||
|
||||
@@ -16,3 +16,4 @@ sub Triangle(x1, y1, x2, y2, x3, y3)
|
||||
sub Line3D(x1, y1, z1, x2, y2, z2)
|
||||
sub Box3D(min_x, min_y, min_z, max_x, max_y, max_z)
|
||||
sub Triangle3D(x1, y1, z1, x2, y2, z2, x3, y3, z3)
|
||||
Sub SetRenderCirclePoints(num_points)
|
||||
|
||||
@@ -2,3 +2,9 @@ Sub SetProjectorTarget(actor, x, y, z)
|
||||
Sub GetProjectorTarget(actor, ByRef x, ByRef y, ByRef z)
|
||||
Sub SetProjectorFOV(actor, fov)
|
||||
Function GetProjectorFOV(actor)
|
||||
Sub SetProjectorTexture(actor, img_id)
|
||||
Function GetProjectorTexture(actor)
|
||||
Function AddProjectorEffectActor(actor, tgt_actor)
|
||||
Function GetProjectorEffectActorCount(actor)
|
||||
Function GetProjectorEffectActor(actor, tgt_index)
|
||||
Sub RemoveProjectorEffectActor(actor, tgt_index)
|
||||
|
||||
@@ -13,3 +13,4 @@ Function GetSpriteCurrentAnimationFrame(sprite)
|
||||
Function NumSpriteAnimationLoops(sprite)
|
||||
Function SpriteAnimationIsPlaying(sprite)
|
||||
Sub DeleteSpriteAnimation(sprite, animation)
|
||||
Function GetSpriteAnimationSource(sprite, animation)
|
||||
|
||||
@@ -6,3 +6,4 @@ sub DrawText(txt$, x, y)
|
||||
sub GetTextSize(txt$, byref w, byref h)
|
||||
function TextWidth(txt$)
|
||||
function TextHeight(txt$)
|
||||
function ActiveFont()
|
||||
|
||||
@@ -919,7 +919,7 @@ int main(int argc, char * argv[])
|
||||
{
|
||||
string line = "";
|
||||
|
||||
rcbasic_dev("embedded_functions.bas"); rcbasic_output_debug_info(); return 0;
|
||||
//rcbasic_dev("embedded_functions.bas"); rcbasic_output_debug_info(); return 0;
|
||||
|
||||
string rc_filename = "";// = "tst.bas";
|
||||
|
||||
|
||||
@@ -662,6 +662,8 @@ void init_embedded_functions()
|
||||
add_embedded_arg("x3", ID_TYPE_NUM);
|
||||
add_embedded_arg("y3", ID_TYPE_NUM);
|
||||
add_embedded_arg("z3", ID_TYPE_NUM);
|
||||
embed_function("SetRenderCirclePoints", ID_TYPE_SUB);
|
||||
add_embedded_arg("num_points", ID_TYPE_NUM);
|
||||
embed_function("LoadImage", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("img$", ID_TYPE_STR);
|
||||
embed_function("LoadImageEx", ID_TYPE_FN_NUM);
|
||||
@@ -794,6 +796,9 @@ void init_embedded_functions()
|
||||
add_embedded_arg("src_h", ID_TYPE_NUM);
|
||||
add_embedded_arg("h", ID_TYPE_NUM);
|
||||
add_embedded_arg("v", ID_TYPE_NUM);
|
||||
embed_function("SaveBMP", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("img", ID_TYPE_NUM);
|
||||
add_embedded_arg("file$", ID_TYPE_STR);
|
||||
embed_function("SetAntiAliasMode", ID_TYPE_SUB);
|
||||
add_embedded_arg("aa_mode", ID_TYPE_NUM);
|
||||
embed_function("GetAntiAliasMode", ID_TYPE_FN_NUM);
|
||||
@@ -978,6 +983,7 @@ void init_embedded_functions()
|
||||
add_embedded_arg("txt$", ID_TYPE_STR);
|
||||
embed_function("TextHeight", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("txt$", ID_TYPE_STR);
|
||||
embed_function("ActiveFont", ID_TYPE_FN_NUM);
|
||||
embed_function("TouchPressure", ID_TYPE_FN_NUM);
|
||||
embed_function("GetTouch", ID_TYPE_SUB);
|
||||
add_embedded_arg("status", ID_TYPE_BYREF_NUM);
|
||||
@@ -1525,6 +1531,9 @@ void init_embedded_functions()
|
||||
embed_function("DeleteSpriteAnimation", ID_TYPE_SUB);
|
||||
add_embedded_arg("sprite", ID_TYPE_NUM);
|
||||
add_embedded_arg("animation", ID_TYPE_NUM);
|
||||
embed_function("GetSpriteAnimationSource", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("sprite", ID_TYPE_NUM);
|
||||
add_embedded_arg("animation", ID_TYPE_NUM);
|
||||
embed_function("getSpriteCenter", ID_TYPE_SUB);
|
||||
add_embedded_arg("spr_id", ID_TYPE_NUM);
|
||||
add_embedded_arg("x", ID_TYPE_BYREF_NUM);
|
||||
@@ -3322,6 +3331,22 @@ void init_embedded_functions()
|
||||
add_embedded_arg("fov", ID_TYPE_NUM);
|
||||
embed_function("GetProjectorFOV", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
embed_function("SetProjectorTexture", ID_TYPE_SUB);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
add_embedded_arg("img_id", ID_TYPE_NUM);
|
||||
embed_function("GetProjectorTexture", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
embed_function("AddProjectorEffectActor", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
add_embedded_arg("tgt_actor", ID_TYPE_NUM);
|
||||
embed_function("GetProjectorEffectActorCount", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
embed_function("GetProjectorEffectActor", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
add_embedded_arg("tgt_index", ID_TYPE_NUM);
|
||||
embed_function("RemoveProjectorEffectActor", ID_TYPE_SUB);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
add_embedded_arg("tgt_index", ID_TYPE_NUM);
|
||||
embed_function("AddCompositeChild", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
add_embedded_arg("child_actor", ID_TYPE_NUM);
|
||||
|
||||
Binary file not shown.
@@ -54,7 +54,7 @@
|
||||
1752004854 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_global.h
|
||||
<inttypes.h>
|
||||
|
||||
1771619942 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_builtin.h
|
||||
1771626799 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_builtin.h
|
||||
"identifier.h"
|
||||
|
||||
1752004854 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_vm_asm.h
|
||||
|
||||
@@ -656,6 +656,8 @@ add_embedded_arg("z2", ID_TYPE_NUM);
|
||||
add_embedded_arg("x3", ID_TYPE_NUM);
|
||||
add_embedded_arg("y3", ID_TYPE_NUM);
|
||||
add_embedded_arg("z3", ID_TYPE_NUM);
|
||||
embed_function("SetRenderCirclePoints", ID_TYPE_SUB);
|
||||
add_embedded_arg("num_points", ID_TYPE_NUM);
|
||||
embed_function("LoadImage", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("img$", ID_TYPE_STR);
|
||||
embed_function("LoadImageEx", ID_TYPE_FN_NUM);
|
||||
@@ -788,6 +790,9 @@ add_embedded_arg("src_w", ID_TYPE_NUM);
|
||||
add_embedded_arg("src_h", ID_TYPE_NUM);
|
||||
add_embedded_arg("h", ID_TYPE_NUM);
|
||||
add_embedded_arg("v", ID_TYPE_NUM);
|
||||
embed_function("SaveBMP", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("img", ID_TYPE_NUM);
|
||||
add_embedded_arg("file$", ID_TYPE_STR);
|
||||
embed_function("SetAntiAliasMode", ID_TYPE_SUB);
|
||||
add_embedded_arg("aa_mode", ID_TYPE_NUM);
|
||||
embed_function("GetAntiAliasMode", ID_TYPE_FN_NUM);
|
||||
@@ -972,6 +977,7 @@ embed_function("TextWidth", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("txt$", ID_TYPE_STR);
|
||||
embed_function("TextHeight", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("txt$", ID_TYPE_STR);
|
||||
embed_function("ActiveFont", ID_TYPE_FN_NUM);
|
||||
embed_function("TouchPressure", ID_TYPE_FN_NUM);
|
||||
embed_function("GetTouch", ID_TYPE_SUB);
|
||||
add_embedded_arg("status", ID_TYPE_BYREF_NUM);
|
||||
@@ -1519,6 +1525,9 @@ add_embedded_arg("sprite", ID_TYPE_NUM);
|
||||
embed_function("DeleteSpriteAnimation", ID_TYPE_SUB);
|
||||
add_embedded_arg("sprite", ID_TYPE_NUM);
|
||||
add_embedded_arg("animation", ID_TYPE_NUM);
|
||||
embed_function("GetSpriteAnimationSource", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("sprite", ID_TYPE_NUM);
|
||||
add_embedded_arg("animation", ID_TYPE_NUM);
|
||||
embed_function("getSpriteCenter", ID_TYPE_SUB);
|
||||
add_embedded_arg("spr_id", ID_TYPE_NUM);
|
||||
add_embedded_arg("x", ID_TYPE_BYREF_NUM);
|
||||
@@ -3316,6 +3325,22 @@ add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
add_embedded_arg("fov", ID_TYPE_NUM);
|
||||
embed_function("GetProjectorFOV", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
embed_function("SetProjectorTexture", ID_TYPE_SUB);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
add_embedded_arg("img_id", ID_TYPE_NUM);
|
||||
embed_function("GetProjectorTexture", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
embed_function("AddProjectorEffectActor", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
add_embedded_arg("tgt_actor", ID_TYPE_NUM);
|
||||
embed_function("GetProjectorEffectActorCount", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
embed_function("GetProjectorEffectActor", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
add_embedded_arg("tgt_index", ID_TYPE_NUM);
|
||||
embed_function("RemoveProjectorEffectActor", ID_TYPE_SUB);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
add_embedded_arg("tgt_index", ID_TYPE_NUM);
|
||||
embed_function("AddCompositeChild", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
add_embedded_arg("child_actor", ID_TYPE_NUM);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -730,6 +730,9 @@ case FN_Box3D: //Sub Procedure
|
||||
case FN_Triangle3D: //Sub Procedure
|
||||
rc_drawTriangle3D( TRIANGLE3D_X1, TRIANGLE3D_Y1, TRIANGLE3D_Z1, TRIANGLE3D_X2, TRIANGLE3D_Y2, TRIANGLE3D_Z2, TRIANGLE3D_X3, TRIANGLE3D_Y3, TRIANGLE3D_Z3 );
|
||||
break;
|
||||
case FN_SetRenderCirclePoints: //Sub Procedure
|
||||
rc_setRenderCirclePoints( SETRENDERCIRCLEPOINTS_NUM_POINTS );
|
||||
break;
|
||||
case FN_LoadImage: //Number Function
|
||||
rc_push_num(rc_loadImage( LOADIMAGE_IMG$ ));
|
||||
break;
|
||||
@@ -817,6 +820,9 @@ case FN_DrawImage_Flip: //Sub Procedure
|
||||
case FN_DrawImage_FlipEx: //Sub Procedure
|
||||
rc_drawImage_FlipEx( DRAWIMAGE_FLIPEX_SLOT, DRAWIMAGE_FLIPEX_X, DRAWIMAGE_FLIPEX_Y, DRAWIMAGE_FLIPEX_SRC_X, DRAWIMAGE_FLIPEX_SRC_Y, DRAWIMAGE_FLIPEX_SRC_W, DRAWIMAGE_FLIPEX_SRC_H, DRAWIMAGE_FLIPEX_H, DRAWIMAGE_FLIPEX_V );
|
||||
break;
|
||||
case FN_SaveBMP: //Number Function
|
||||
rc_push_num(rc_saveBMP( SAVEBMP_IMG, SAVEBMP_FILE$ ));
|
||||
break;
|
||||
case FN_SetAntiAliasMode: //Sub Procedure
|
||||
rc_setAntiAliasMode( SETANTIALIASMODE_AA_MODE );
|
||||
break;
|
||||
@@ -1063,6 +1069,9 @@ case FN_TextWidth: //Number Function
|
||||
case FN_TextHeight: //Number Function
|
||||
rc_push_num(rc_getTextHeight( TEXTHEIGHT_TXT$ ));
|
||||
break;
|
||||
case FN_ActiveFont: //Number Function
|
||||
rc_push_num(rc_activeFont( ));
|
||||
break;
|
||||
case FN_TouchPressure: //Number Function
|
||||
rc_push_num(rc_touchPressure( ));
|
||||
break;
|
||||
@@ -1625,6 +1634,9 @@ case FN_SpriteAnimationIsPlaying: //Number Function
|
||||
case FN_DeleteSpriteAnimation: //Sub Procedure
|
||||
rc_deleteSpriteAnimation( DELETESPRITEANIMATION_SPRITE, DELETESPRITEANIMATION_ANIMATION );
|
||||
break;
|
||||
case FN_GetSpriteAnimationSource: //Number Function
|
||||
rc_push_num(rc_getSpriteAnimationSource( GETSPRITEANIMATIONSOURCE_SPRITE, GETSPRITEANIMATIONSOURCE_ANIMATION ));
|
||||
break;
|
||||
case FN_getSpriteCenter: //Sub Procedure
|
||||
rc_getSpriteCenter( GETSPRITECENTER_SPR_ID, &GETSPRITECENTER_X, &GETSPRITECENTER_Y );
|
||||
break;
|
||||
@@ -3185,6 +3197,24 @@ case FN_SetProjectorFOV: //Sub Procedure
|
||||
case FN_GetProjectorFOV: //Number Function
|
||||
rc_push_num(rc_getProjectorFOV( GETPROJECTORFOV_ACTOR ));
|
||||
break;
|
||||
case FN_SetProjectorTexture: //Sub Procedure
|
||||
rc_setProjectorTexture( SETPROJECTORTEXTURE_ACTOR, SETPROJECTORTEXTURE_IMG_ID );
|
||||
break;
|
||||
case FN_GetProjectorTexture: //Number Function
|
||||
rc_push_num(rc_getProjectorTexture( GETPROJECTORTEXTURE_ACTOR ));
|
||||
break;
|
||||
case FN_AddProjectorEffectActor: //Number Function
|
||||
rc_push_num(rc_addProjectorEffectActor( ADDPROJECTOREFFECTACTOR_ACTOR, ADDPROJECTOREFFECTACTOR_TGT_ACTOR ));
|
||||
break;
|
||||
case FN_GetProjectorEffectActorCount: //Number Function
|
||||
rc_push_num(rc_getProjectorEffectActorCount( GETPROJECTOREFFECTACTORCOUNT_ACTOR ));
|
||||
break;
|
||||
case FN_GetProjectorEffectActor: //Number Function
|
||||
rc_push_num(rc_getProjectorEffectActor( GETPROJECTOREFFECTACTOR_ACTOR, GETPROJECTOREFFECTACTOR_TGT_INDEX ));
|
||||
break;
|
||||
case FN_RemoveProjectorEffectActor: //Sub Procedure
|
||||
rc_removeProjectorEffectActor( REMOVEPROJECTOREFFECTACTOR_ACTOR, REMOVEPROJECTOREFFECTACTOR_TGT_INDEX );
|
||||
break;
|
||||
case FN_AddCompositeChild: //Number Function
|
||||
rc_push_num(rc_addCompositeChild( ADDCOMPOSITECHILD_ACTOR, ADDCOMPOSITECHILD_CHILD_ACTOR, ADDCOMPOSITECHILD_T_MATRIX ));
|
||||
break;
|
||||
|
||||
@@ -148,7 +148,9 @@ void CProjectiveTextures::render()
|
||||
|
||||
ViewArea.getTransform(irr::video::ETS_VIEW).buildCameraLookAtMatrixLH(pos,Target,up);
|
||||
|
||||
recalculateViewArea();
|
||||
recalculateViewArea();
|
||||
|
||||
irr::scene::IMesh* mesh = NULL;
|
||||
|
||||
for(irr::u32 i=0; i<nodeArray.size(); ++i)
|
||||
{
|
||||
@@ -159,8 +161,46 @@ void CProjectiveTextures::render()
|
||||
pVideo->setTransform(irr::video::ETS_WORLD,nodeArray[i]->getAbsoluteTransformation());
|
||||
pVideo->setMaterial(projMat);
|
||||
|
||||
for(irr::u32 j=0; j<nodeArray[i]->getMaterialCount(); ++j)
|
||||
pVideo->drawMeshBuffer(nodeArray[i]->getMesh()->getMeshBuffer(j));
|
||||
mesh = NULL;
|
||||
|
||||
switch(nodeArray[i]->getType())
|
||||
{
|
||||
case irr::scene::ESNT_CUBE:
|
||||
case irr::scene::ESNT_SPHERE:
|
||||
case irr::scene::ESNT_MESH:
|
||||
{
|
||||
irr::scene::IMeshSceneNode* m_node = (irr::scene::IMeshSceneNode*)nodeArray[i];
|
||||
mesh = m_node->getMesh();
|
||||
}
|
||||
break;
|
||||
|
||||
case irr::scene::ESNT_OCTREE:
|
||||
{
|
||||
irr::scene::IOctreeSceneNode* m_node = (irr::scene::IOctreeSceneNode*)nodeArray[i];
|
||||
mesh = m_node->getMesh();
|
||||
}
|
||||
break;
|
||||
|
||||
case irr::scene::ESNT_ANIMATED_MESH:
|
||||
{
|
||||
irr::scene::IAnimatedMeshSceneNode* m_node = (irr::scene::IAnimatedMeshSceneNode*)nodeArray[i];
|
||||
mesh = m_node->getMesh();
|
||||
}
|
||||
break;
|
||||
|
||||
case irr::scene::ESNT_TERRAIN:
|
||||
{
|
||||
irr::scene::ITerrainSceneNode* m_node = (irr::scene::ITerrainSceneNode*)nodeArray[i];
|
||||
mesh = m_node->getMesh();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if(mesh)
|
||||
{
|
||||
for(irr::u32 j=0; j<nodeArray[i]->getMaterialCount(); ++j)
|
||||
pVideo->drawMeshBuffer(mesh->getMeshBuffer(j));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ public:
|
||||
virtual void OnSetConstants(irr::video::IMaterialRendererServices* services, irr::s32 userData);
|
||||
|
||||
irr::video::ITexture* texture;
|
||||
irr::core::array<irr::scene::IMeshSceneNode*> nodeArray;
|
||||
irr::core::array<irr::scene::ISceneNode*> nodeArray;
|
||||
|
||||
private:
|
||||
|
||||
|
||||
@@ -4318,6 +4318,7 @@ void rcbasic_init()
|
||||
|
||||
void rcbasic_clean()
|
||||
{
|
||||
rc_clearScene();
|
||||
rc_audio_quit();
|
||||
rc_net_quit();
|
||||
rc_gfx_quit();
|
||||
@@ -4453,7 +4454,7 @@ int main(int argc, char * argv[])
|
||||
|
||||
//ogles2 test
|
||||
#ifdef RC_TESTING
|
||||
rc_intern_dirChange("/home/n00b/Music/test_v48_1/test_v48");
|
||||
rc_intern_dirChange("/home/n00b/Music/test_v48_1/test_v48_2");
|
||||
//rc_intern_dirChange("");
|
||||
rc_filename = "main.cbc";
|
||||
|
||||
|
||||
@@ -406,8 +406,8 @@ void rc_setActorSolid(int actor_id, bool flag)
|
||||
|
||||
if(rc_actor[wheel_id].physics.rigid_body)
|
||||
{
|
||||
rc_actor[wheel_id].physics.isSolid = flag;
|
||||
rc_setActorCollisionShape(wheel_id, rc_actor[wheel_id].physics.shape_type, rc_actor[wheel_id].physics.mass);
|
||||
//rc_actor[wheel_id].physics.isSolid = flag;
|
||||
//rc_setActorCollisionShape(wheel_id, rc_actor[wheel_id].physics.shape_type, rc_actor[wheel_id].physics.mass);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -635,6 +635,7 @@ int rc_createAnimatedActor(int mesh_id)
|
||||
rc_actor[actor_id].physics.impact_mesh_id = -1;
|
||||
|
||||
rc_actor[actor_id].parent_id = -1;
|
||||
rc_actor[actor_id].isWheel = false;
|
||||
|
||||
rc_setActorCollisionShape(actor_id, RC_NODE_SHAPE_TYPE_BOX, 1);
|
||||
|
||||
@@ -695,6 +696,7 @@ int rc_createCompositeActor()
|
||||
rc_actor[actor_id].physics.impact_mesh_id = -1;
|
||||
|
||||
rc_actor[actor_id].parent_id = -1;
|
||||
rc_actor[actor_id].isWheel = false;
|
||||
|
||||
rc_setActorCollisionShape(actor_id, RC_NODE_SHAPE_TYPE_COMPOSITE, 1);
|
||||
|
||||
@@ -738,6 +740,7 @@ int rc_createVehicleActor(int chassis_actor)
|
||||
|
||||
//Create RayCast Vehicle
|
||||
actor.vehicle_properties.vehicle = rc_physics3D.world->addRaycastVehicle(rc_actor[chassis_actor].physics.rigid_body);
|
||||
actor.vehicle_properties.vehicle->getVehicleRaycaster()->setUseFilter(false);
|
||||
|
||||
actor.vehicle_properties.chassis_actor_id = chassis_actor;
|
||||
|
||||
@@ -775,10 +778,11 @@ int rc_createVehicleActor(int chassis_actor)
|
||||
rc_actor[actor_id].physics.collisions.clear();
|
||||
|
||||
rc_actor[actor_id].parent_id = -1;
|
||||
rc_actor[actor_id].isWheel = false;
|
||||
|
||||
rc_vehicle_actors.push_back(actor_id);
|
||||
|
||||
setSolidProperties(actor_id);
|
||||
//setSolidProperties(actor_id);
|
||||
|
||||
return actor_id;
|
||||
}
|
||||
@@ -840,6 +844,7 @@ int rc_createOctreeActor(int mesh_id)
|
||||
rc_actor[actor_id].physics.impact_mesh_id = -1;
|
||||
|
||||
rc_actor[actor_id].parent_id = -1;
|
||||
rc_actor[actor_id].isWheel = false;
|
||||
|
||||
rc_setActorCollisionShape(actor_id, RC_NODE_SHAPE_TYPE_BOX, 1);
|
||||
|
||||
@@ -895,6 +900,7 @@ int rc_createTerrainActor( std::string height_map )
|
||||
rc_actor[actor_id].physics.impact_mesh_id = -1;
|
||||
|
||||
rc_actor[actor_id].parent_id = -1;
|
||||
rc_actor[actor_id].isWheel = false;
|
||||
|
||||
rc_setActorCollisionShape(actor_id, RC_NODE_SHAPE_TYPE_BOX, 0);
|
||||
|
||||
@@ -950,6 +956,7 @@ int rc_createParticleActor( int particle_type )
|
||||
rc_actor[actor_id].physics.impact_mesh_id = -1;
|
||||
|
||||
rc_actor[actor_id].parent_id = -1;
|
||||
rc_actor[actor_id].isWheel = false;
|
||||
|
||||
rc_setActorCollisionShape(actor_id, RC_NODE_SHAPE_TYPE_BOX, 0);
|
||||
|
||||
@@ -1004,6 +1011,7 @@ int rc_createCubeActor(double cube_size)
|
||||
rc_actor[actor_id].physics.impact_mesh_id = -1;
|
||||
|
||||
rc_actor[actor_id].parent_id = -1;
|
||||
rc_actor[actor_id].isWheel = false;
|
||||
|
||||
rc_setActorCollisionShape(actor_id, RC_NODE_SHAPE_TYPE_BOX, 1);
|
||||
|
||||
@@ -1057,6 +1065,7 @@ int rc_createSphereActor(double radius)
|
||||
rc_actor[actor_id].physics.impact_mesh_id = -1;
|
||||
|
||||
rc_actor[actor_id].parent_id = -1;
|
||||
rc_actor[actor_id].isWheel = false;
|
||||
|
||||
rc_setActorCollisionShape(actor_id, RC_NODE_SHAPE_TYPE_SPHERE, 1);
|
||||
|
||||
@@ -1118,6 +1127,7 @@ int rc_createWaterActor(int mesh_id, double waveHeight, double waveSpeed, double
|
||||
rc_actor[actor_id].physics.impact_mesh_id = -1;
|
||||
|
||||
rc_actor[actor_id].parent_id = -1;
|
||||
rc_actor[actor_id].isWheel = false;
|
||||
|
||||
rc_setActorCollisionShape(actor_id, RC_NODE_SHAPE_TYPE_BOX, 1);
|
||||
|
||||
@@ -1170,6 +1180,7 @@ int rc_createBillboardActor()
|
||||
rc_actor[actor_id].physics.impact_mesh_id = -1;
|
||||
|
||||
rc_actor[actor_id].parent_id = -1;
|
||||
rc_actor[actor_id].isWheel = false;
|
||||
|
||||
rc_setActorCollisionShape(actor_id, RC_NODE_SHAPE_TYPE_BOX, 1);
|
||||
|
||||
@@ -1222,6 +1233,7 @@ int rc_createLightActor()
|
||||
rc_actor[actor_id].physics.impact_mesh_id = -1;
|
||||
|
||||
rc_actor[actor_id].parent_id = -1;
|
||||
rc_actor[actor_id].isWheel = false;
|
||||
|
||||
rc_setActorCollisionShape(actor_id, RC_NODE_SHAPE_TYPE_BOX, 1);
|
||||
|
||||
@@ -1274,6 +1286,10 @@ int rc_createProjectorActor()
|
||||
rc_actor[actor_id].physics.impact_mesh_id = -1;
|
||||
|
||||
rc_actor[actor_id].parent_id = -1;
|
||||
rc_actor[actor_id].isWheel = false;
|
||||
|
||||
rc_actor[actor_id].projector_properties.project_texture_id = -1;
|
||||
rc_actor[actor_id].projector_properties.effect_actors.clear();
|
||||
|
||||
rc_setActorCollisionShape(actor_id, RC_NODE_SHAPE_TYPE_BOX, 1);
|
||||
|
||||
@@ -1282,6 +1298,26 @@ int rc_createProjectorActor()
|
||||
return actor_id;
|
||||
}
|
||||
|
||||
|
||||
void removeProjectorParent(int projector_actor, int tgt_actor)
|
||||
{
|
||||
if(projector_actor < 0 || projector_actor >= rc_actor.size())
|
||||
return;
|
||||
|
||||
if(tgt_actor < 0 || tgt_actor >= rc_actor.size())
|
||||
return;
|
||||
|
||||
for(int i = 0; i < rc_actor[tgt_actor].projector_parent.size(); i++)
|
||||
{
|
||||
if(rc_actor[tgt_actor].projector_parent[i] == projector_actor)
|
||||
{
|
||||
rc_actor[tgt_actor].projector_parent.erase(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//delete actor
|
||||
void rc_deleteActor(int actor_id)
|
||||
{
|
||||
@@ -1291,6 +1327,10 @@ void rc_deleteActor(int actor_id)
|
||||
if(!rc_actor[actor_id].mesh_node)
|
||||
return;
|
||||
|
||||
// This is to prevent deleting wheels attached to vehicles
|
||||
if(rc_actor[actor_id].isWheel && rc_actor[actor_id].parent_id >= 0)
|
||||
return;
|
||||
|
||||
if(rc_actor[actor_id].node_type == RC_NODE_TYPE_PROJECTOR)
|
||||
{
|
||||
for(int i = 0; i < rc_projector_actors.size(); i++)
|
||||
@@ -1301,6 +1341,43 @@ void rc_deleteActor(int actor_id)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
for(int i = 0; i < rc_actor[actor_id].projector_properties.effect_actors.size(); i++)
|
||||
{
|
||||
int tgt_id = rc_actor[actor_id].projector_properties.effect_actors[i];
|
||||
removeProjectorParent(actor_id, tgt_id);
|
||||
}
|
||||
}
|
||||
|
||||
//Remove actor from any projectors it may be added to
|
||||
for(int i = 0; i < rc_actor[actor_id].projector_parent.size(); i++)
|
||||
{
|
||||
int parent_id = rc_actor[actor_id].projector_parent[i];
|
||||
|
||||
if(parent_id < 0 || parent_id >= rc_actor.size())
|
||||
continue;
|
||||
|
||||
for(int e_index = 0; e_index < rc_actor[parent_id].projector_properties.effect_actors.size(); e_index++)
|
||||
{
|
||||
if(rc_actor[parent_id].projector_properties.effect_actors[e_index] == actor_id)
|
||||
{
|
||||
rc_actor[parent_id].projector_properties.effect_actors.erase(e_index);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(rc_actor[parent_id].mesh_node)
|
||||
{
|
||||
CProjectiveTextures* parent_node = (CProjectiveTextures*)rc_actor[parent_id].mesh_node;
|
||||
for(int node_index = 0; node_index < parent_node->nodeArray.size(); node_index++)
|
||||
{
|
||||
if(parent_node->nodeArray[node_index] == rc_actor[actor_id].mesh_node)
|
||||
{
|
||||
parent_node->nodeArray.erase(node_index);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1320,7 +1397,7 @@ void rc_deleteActor(int actor_id)
|
||||
rc_actor[actor_id].child_actors.clear();
|
||||
|
||||
|
||||
if(rc_actor[actor_id].physics.rigid_body)
|
||||
if(rc_actor[actor_id].physics.rigid_body && rc_actor[actor_id].node_type != RC_NODE_TYPE_VEHICLE)
|
||||
{
|
||||
rc_physics3D.world->removeCollisionObject(rc_actor[actor_id].physics.rigid_body, false);
|
||||
delete rc_actor[actor_id].physics.rigid_body;
|
||||
@@ -1328,10 +1405,23 @@ void rc_deleteActor(int actor_id)
|
||||
|
||||
if(rc_actor[actor_id].node_type == RC_NODE_TYPE_VEHICLE)
|
||||
{
|
||||
for(int i = 0; i < rc_actor[actor_id].vehicle_properties.wheels.size(); i++)
|
||||
{
|
||||
int wheel_actor = rc_actor[actor_id].vehicle_properties.wheels[i].actor_id;
|
||||
|
||||
if(wheel_actor < 0 || wheel_actor >= rc_actor.size())
|
||||
continue;
|
||||
|
||||
rc_actor[wheel_actor].parent_id = -1;
|
||||
|
||||
rc_deleteActor(wheel_actor); //This should never happen but you can never be too careful with pointers
|
||||
}
|
||||
|
||||
rc_deleteActor(rc_actor[actor_id].vehicle_properties.chassis_actor_id);
|
||||
|
||||
if(rc_actor[actor_id].vehicle_properties.vehicle)
|
||||
{
|
||||
rc_physics3D.world->removeRaycastVehicle(rc_actor[actor_id].vehicle_properties.vehicle);
|
||||
delete rc_actor[actor_id].vehicle_properties.vehicle;
|
||||
}
|
||||
|
||||
for(int i = 0; i < rc_vehicle_actors.size(); i++)
|
||||
@@ -1344,6 +1434,10 @@ void rc_deleteActor(int actor_id)
|
||||
}
|
||||
}
|
||||
|
||||
rc_actor[actor_id].projector_parent.clear();
|
||||
rc_actor[actor_id].projector_properties.effect_actors.clear();
|
||||
rc_actor[actor_id].projector_properties.project_texture_id = -1;
|
||||
|
||||
rc_actor[actor_id].physics.rigid_body = NULL;
|
||||
rc_actor[actor_id].vehicle_properties.vehicle = NULL;
|
||||
rc_actor[actor_id].vehicle_properties.wheels.clear();
|
||||
@@ -1351,7 +1445,10 @@ void rc_deleteActor(int actor_id)
|
||||
|
||||
rc_actor[actor_id].physics.collisions.clear();
|
||||
|
||||
rc_actor[actor_id].mesh_node->remove();
|
||||
// Vehicles use the same mesh_node as there chassis which is deleted above
|
||||
if(rc_actor[actor_id].node_type != RC_NODE_TYPE_VEHICLE)
|
||||
rc_actor[actor_id].mesh_node->remove();
|
||||
|
||||
rc_actor[actor_id].mesh_node = NULL;
|
||||
rc_actor[actor_id].shadow = NULL;
|
||||
rc_actor[actor_id].node_type = 0;
|
||||
@@ -2801,6 +2898,197 @@ double rc_getProjectorFOV(int actor)
|
||||
}
|
||||
|
||||
|
||||
void rc_setProjectorTexture(int actor, int img_id)
|
||||
{
|
||||
if(actor < 0 || actor >= rc_actor.size())
|
||||
return;
|
||||
|
||||
if(img_id < 0 || img_id >= rc_image.size())
|
||||
return;
|
||||
|
||||
if(!rc_image[img_id].image)
|
||||
return;
|
||||
|
||||
switch(rc_actor[actor].node_type)
|
||||
{
|
||||
case RC_NODE_TYPE_PROJECTOR:
|
||||
CProjectiveTextures* projector = (CProjectiveTextures*) rc_actor[actor].mesh_node;
|
||||
projector->texture = rc_image[img_id].image;
|
||||
rc_actor[actor].projector_properties.project_texture_id = img_id;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
int rc_getProjectorTexture(int actor)
|
||||
{
|
||||
if(actor < 0 || actor >= rc_actor.size())
|
||||
return -1;
|
||||
|
||||
switch(rc_actor[actor].node_type)
|
||||
{
|
||||
case RC_NODE_TYPE_PROJECTOR:
|
||||
return rc_actor[actor].projector_properties.project_texture_id;
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
int rc_addProjectorEffectActor(int actor, int tgt_actor)
|
||||
{
|
||||
if(actor < 0 || actor >= rc_actor.size())
|
||||
return -1;
|
||||
|
||||
if(tgt_actor < 0 || tgt_actor >= rc_actor.size())
|
||||
return -1;
|
||||
|
||||
if(rc_actor[actor].mesh_node == NULL || rc_actor[tgt_actor].mesh_node == NULL)
|
||||
return -1;
|
||||
|
||||
int n_index = -1;
|
||||
|
||||
switch(rc_actor[actor].node_type)
|
||||
{
|
||||
case RC_NODE_TYPE_PROJECTOR:
|
||||
{
|
||||
CProjectiveTextures* projector = (CProjectiveTextures*) rc_actor[actor].mesh_node;
|
||||
|
||||
bool na_found = false;
|
||||
|
||||
for(int i = 0; i < projector->nodeArray.size(); i++)
|
||||
{
|
||||
if(projector->nodeArray[i] == rc_actor[tgt_actor].mesh_node)
|
||||
{
|
||||
na_found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(!na_found)
|
||||
{
|
||||
n_index = projector->nodeArray.size();
|
||||
projector->nodeArray.push_back(rc_actor[tgt_actor].mesh_node);
|
||||
|
||||
removeProjectorParent(actor, tgt_actor);
|
||||
|
||||
rc_actor[tgt_actor].projector_parent.push_back(actor);
|
||||
|
||||
bool id_found = false;
|
||||
for(int i = 0; i < rc_actor[actor].projector_properties.effect_actors.size(); i++)
|
||||
{
|
||||
if(rc_actor[actor].projector_properties.effect_actors[i] == tgt_actor)
|
||||
{
|
||||
id_found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(!id_found)
|
||||
{
|
||||
rc_actor[actor].projector_properties.effect_actors.push_back(tgt_actor);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return n_index;
|
||||
}
|
||||
|
||||
|
||||
int rc_getProjectorEffectActorCount(int actor)
|
||||
{
|
||||
if(actor < 0 || actor >= rc_actor.size())
|
||||
return 0;
|
||||
|
||||
if(rc_actor[actor].mesh_node == NULL)
|
||||
return 0;
|
||||
|
||||
switch(rc_actor[actor].node_type)
|
||||
{
|
||||
case RC_NODE_TYPE_PROJECTOR:
|
||||
CProjectiveTextures* projector = (CProjectiveTextures*) rc_actor[actor].mesh_node;
|
||||
return projector->nodeArray.size();
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int rc_getProjectorEffectActor(int actor, int tgt_index)
|
||||
{
|
||||
if(actor < 0 || actor >= rc_actor.size())
|
||||
return -1;
|
||||
|
||||
if(rc_actor[actor].mesh_node == NULL)
|
||||
return -1;
|
||||
|
||||
|
||||
switch(rc_actor[actor].node_type)
|
||||
{
|
||||
case RC_NODE_TYPE_PROJECTOR:
|
||||
CProjectiveTextures* projector = (CProjectiveTextures*) rc_actor[actor].mesh_node;
|
||||
|
||||
if(tgt_index < 0 || tgt_index >= projector->nodeArray.size())
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
for(int i = 0; i < rc_actor[actor].projector_properties.effect_actors.size(); i++)
|
||||
{
|
||||
int tgt_id = rc_actor[actor].projector_properties.effect_actors[i];
|
||||
if(tgt_id < 0 || tgt_id >= rc_actor.size())
|
||||
continue;
|
||||
|
||||
if(rc_actor[tgt_id].mesh_node == projector->nodeArray[tgt_index])
|
||||
return tgt_id;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
void rc_removeProjectorEffectActor(int actor, int tgt_index)
|
||||
{
|
||||
if(actor < 0 || actor >= rc_actor.size())
|
||||
return;
|
||||
|
||||
if(rc_actor[actor].mesh_node == NULL)
|
||||
return;
|
||||
|
||||
switch(rc_actor[actor].node_type)
|
||||
{
|
||||
case RC_NODE_TYPE_PROJECTOR:
|
||||
CProjectiveTextures* projector = (CProjectiveTextures*) rc_actor[actor].mesh_node;
|
||||
if(tgt_index >= 0 && tgt_index < projector->nodeArray.size())
|
||||
{
|
||||
for(int i = 0; i < rc_actor[actor].projector_properties.effect_actors.size(); i++)
|
||||
{
|
||||
int tgt_id = rc_actor[actor].projector_properties.effect_actors[i];
|
||||
if(tgt_id < 0 || tgt_id >= rc_actor.size())
|
||||
continue;
|
||||
|
||||
if(rc_actor[tgt_id].mesh_node == projector->nodeArray[tgt_index])
|
||||
{
|
||||
removeProjectorParent(actor, tgt_id);
|
||||
rc_actor[actor].projector_properties.effect_actors.erase(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
projector->nodeArray.erase(tgt_index);
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
//-----------------VEHICLE ACTOR------------------------------
|
||||
|
||||
@@ -2827,15 +3115,17 @@ int rc_addVehicleWheel( int actor, int wheel_actor, bool is_front_wheel )
|
||||
int wheel_index = rc_actor[actor].vehicle_properties.wheels.size();
|
||||
|
||||
rc_vehicle_wheel wheel_obj;
|
||||
rc_physics3D.world->removeCollisionObject(rc_actor[wheel_actor].physics.rigid_body);
|
||||
rc_physics3D.world->removeCollisionObject(rc_actor[wheel_actor].physics.rigid_body, false);
|
||||
wheel_obj.actor_id = wheel_actor;
|
||||
wheel_obj.offset_transform = -1;
|
||||
wheel_obj.offset_transform.makeIdentity();
|
||||
|
||||
rc_actor[actor].vehicle_properties.wheels.push_back(wheel_obj);
|
||||
|
||||
SWheelInfo& info = rc_actor[actor].vehicle_properties.vehicle->addWheel(wheel_info);
|
||||
|
||||
rc_actor[wheel_actor].physics.rigid_body->setWorldTransform(info.worldTransform);
|
||||
rc_actor[wheel_actor].isWheel = true;
|
||||
rc_actor[wheel_actor].parent_id = actor;
|
||||
|
||||
irr::core::matrix4 actor_transform = rc_actor[actor].physics.rigid_body->getWorldTransform();
|
||||
rc_actor[actor].physics.rigid_body->clearForces();
|
||||
@@ -2904,11 +3194,16 @@ void rc_setWheelConnectionPoint( int actor, int wheel_index, double x, double y,
|
||||
if(wheel_index < 0 || wheel_index >= rc_actor[actor].vehicle_properties.wheels.size())
|
||||
return;
|
||||
|
||||
//std::cout << "setWheelConnectionPoint: " << wheel_index << std::endl;
|
||||
SWheelInfo &info = rc_actor[actor].vehicle_properties.vehicle->getWheelInfo(wheel_index);
|
||||
|
||||
info.chassisConnectionPointCS.set((float)x, (float)y, (float)z);
|
||||
|
||||
rc_actor[actor].vehicle_properties.vehicle->updateWheelInfo(wheel_index);
|
||||
|
||||
//info = rc_actor[actor].vehicle_properties.vehicle->getWheelInfo(wheel_index);
|
||||
|
||||
//std::cout << "setWheelConnectionPoint OUT: " << info.chassisConnectionPointCS.X << ", " << info.chassisConnectionPointCS.Y << ", " << info.chassisConnectionPointCS.Z << std::endl;
|
||||
}
|
||||
|
||||
void rc_setWheelDirection( int actor, int wheel_index, double x, double y, double z )
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -730,6 +730,9 @@ case FN_Box3D: //Sub Procedure
|
||||
case FN_Triangle3D: //Sub Procedure
|
||||
rc_drawTriangle3D( TRIANGLE3D_X1, TRIANGLE3D_Y1, TRIANGLE3D_Z1, TRIANGLE3D_X2, TRIANGLE3D_Y2, TRIANGLE3D_Z2, TRIANGLE3D_X3, TRIANGLE3D_Y3, TRIANGLE3D_Z3 );
|
||||
break;
|
||||
case FN_SetRenderCirclePoints: //Sub Procedure
|
||||
rc_setRenderCirclePoints( SETRENDERCIRCLEPOINTS_NUM_POINTS );
|
||||
break;
|
||||
case FN_LoadImage: //Number Function
|
||||
rc_push_num(rc_loadImage( LOADIMAGE_IMG$ ));
|
||||
break;
|
||||
@@ -817,6 +820,9 @@ case FN_DrawImage_Flip: //Sub Procedure
|
||||
case FN_DrawImage_FlipEx: //Sub Procedure
|
||||
rc_drawImage_FlipEx( DRAWIMAGE_FLIPEX_SLOT, DRAWIMAGE_FLIPEX_X, DRAWIMAGE_FLIPEX_Y, DRAWIMAGE_FLIPEX_SRC_X, DRAWIMAGE_FLIPEX_SRC_Y, DRAWIMAGE_FLIPEX_SRC_W, DRAWIMAGE_FLIPEX_SRC_H, DRAWIMAGE_FLIPEX_H, DRAWIMAGE_FLIPEX_V );
|
||||
break;
|
||||
case FN_SaveBMP: //Number Function
|
||||
rc_push_num(rc_saveBMP( SAVEBMP_IMG, SAVEBMP_FILE$ ));
|
||||
break;
|
||||
case FN_SetAntiAliasMode: //Sub Procedure
|
||||
rc_setAntiAliasMode( SETANTIALIASMODE_AA_MODE );
|
||||
break;
|
||||
@@ -1063,6 +1069,9 @@ case FN_TextWidth: //Number Function
|
||||
case FN_TextHeight: //Number Function
|
||||
rc_push_num(rc_getTextHeight( TEXTHEIGHT_TXT$ ));
|
||||
break;
|
||||
case FN_ActiveFont: //Number Function
|
||||
rc_push_num(rc_activeFont( ));
|
||||
break;
|
||||
case FN_TouchPressure: //Number Function
|
||||
rc_push_num(rc_touchPressure( ));
|
||||
break;
|
||||
@@ -1625,6 +1634,9 @@ case FN_SpriteAnimationIsPlaying: //Number Function
|
||||
case FN_DeleteSpriteAnimation: //Sub Procedure
|
||||
rc_deleteSpriteAnimation( DELETESPRITEANIMATION_SPRITE, DELETESPRITEANIMATION_ANIMATION );
|
||||
break;
|
||||
case FN_GetSpriteAnimationSource: //Number Function
|
||||
rc_push_num(rc_getSpriteAnimationSource( GETSPRITEANIMATIONSOURCE_SPRITE, GETSPRITEANIMATIONSOURCE_ANIMATION ));
|
||||
break;
|
||||
case FN_getSpriteCenter: //Sub Procedure
|
||||
rc_getSpriteCenter( GETSPRITECENTER_SPR_ID, &GETSPRITECENTER_X, &GETSPRITECENTER_Y );
|
||||
break;
|
||||
@@ -3185,6 +3197,24 @@ case FN_SetProjectorFOV: //Sub Procedure
|
||||
case FN_GetProjectorFOV: //Number Function
|
||||
rc_push_num(rc_getProjectorFOV( GETPROJECTORFOV_ACTOR ));
|
||||
break;
|
||||
case FN_SetProjectorTexture: //Sub Procedure
|
||||
rc_setProjectorTexture( SETPROJECTORTEXTURE_ACTOR, SETPROJECTORTEXTURE_IMG_ID );
|
||||
break;
|
||||
case FN_GetProjectorTexture: //Number Function
|
||||
rc_push_num(rc_getProjectorTexture( GETPROJECTORTEXTURE_ACTOR ));
|
||||
break;
|
||||
case FN_AddProjectorEffectActor: //Number Function
|
||||
rc_push_num(rc_addProjectorEffectActor( ADDPROJECTOREFFECTACTOR_ACTOR, ADDPROJECTOREFFECTACTOR_TGT_ACTOR ));
|
||||
break;
|
||||
case FN_GetProjectorEffectActorCount: //Number Function
|
||||
rc_push_num(rc_getProjectorEffectActorCount( GETPROJECTOREFFECTACTORCOUNT_ACTOR ));
|
||||
break;
|
||||
case FN_GetProjectorEffectActor: //Number Function
|
||||
rc_push_num(rc_getProjectorEffectActor( GETPROJECTOREFFECTACTOR_ACTOR, GETPROJECTOREFFECTACTOR_TGT_INDEX ));
|
||||
break;
|
||||
case FN_RemoveProjectorEffectActor: //Sub Procedure
|
||||
rc_removeProjectorEffectActor( REMOVEPROJECTOREFFECTACTOR_ACTOR, REMOVEPROJECTOREFFECTACTOR_TGT_INDEX );
|
||||
break;
|
||||
case FN_AddCompositeChild: //Number Function
|
||||
rc_push_num(rc_addCompositeChild( ADDCOMPOSITECHILD_ACTOR, ADDCOMPOSITECHILD_CHILD_ACTOR, ADDCOMPOSITECHILD_T_MATRIX ));
|
||||
break;
|
||||
|
||||
@@ -1907,6 +1907,13 @@ double radians(double degree)
|
||||
return (degree * (pi / 180));
|
||||
}
|
||||
|
||||
|
||||
void rc_setRenderCirclePoints(int num_points)
|
||||
{
|
||||
if(num_points >= 3)
|
||||
rc_num_circle_points = num_points;
|
||||
}
|
||||
|
||||
void makeEllipse(irr::core::array<irr::video::S3DVertex>& vertices, irr::core::array<irr::u16>& indices, const CircleSettings& settings)
|
||||
{
|
||||
const f64 stepSize = 360.0 / (f64)(settings.numVertices-1); // degree angles between vertex points on circle
|
||||
@@ -1941,7 +1948,7 @@ void rc_drawEllipse(int x, int y, int rx, int ry)
|
||||
circle.radius = ry;
|
||||
circle.radius2 = rx;
|
||||
circle.color = rc_active_color;
|
||||
circle.numVertices = 21;
|
||||
circle.numVertices = rc_num_circle_points;
|
||||
makeEllipse(verticesCircle, indicesCircle, circle);
|
||||
|
||||
for(int i = 2; i < verticesCircle.size(); i++)
|
||||
@@ -1967,7 +1974,7 @@ void rc_drawEllipseFill(int x, int y, int rx, int ry)
|
||||
circle.radius = ry;
|
||||
circle.radius2 = rx;
|
||||
circle.color = rc_active_color;
|
||||
circle.numVertices = 21;
|
||||
circle.numVertices = rc_num_circle_points;
|
||||
makeEllipse(verticesCircle, indicesCircle, circle);
|
||||
|
||||
VideoDriver->draw2DVertexPrimitiveList(verticesCircle.pointer(), verticesCircle.size(),
|
||||
@@ -1984,21 +1991,6 @@ void rc_drawCircleFill(int x, int y, double r)
|
||||
{
|
||||
rc_drawEllipseFill(x, y, r, r);
|
||||
return;
|
||||
|
||||
irr::core::vector2d<s32> r_pos(x,y);
|
||||
|
||||
// create the circle
|
||||
irr::core::array<irr::video::S3DVertex> verticesCircle;
|
||||
irr::core::array<irr::u16> indicesCircle;
|
||||
CircleSettings circle;
|
||||
circle.center = r_pos;
|
||||
circle.radius = r;
|
||||
circle.color = rc_active_color;
|
||||
makeCircle(verticesCircle, indicesCircle, circle);
|
||||
|
||||
VideoDriver->draw2DVertexPrimitiveList(verticesCircle.pointer(), verticesCircle.size(),
|
||||
indicesCircle.pointer(), indicesCircle.size()-2, video::EVT_STANDARD, scene::EPT_TRIANGLE_FAN,
|
||||
video::EIT_16BIT);
|
||||
}
|
||||
|
||||
#ifdef RC_ANDROID
|
||||
@@ -2154,6 +2146,11 @@ void rc_setFont(int font_id)
|
||||
rc_active_font = font_id;
|
||||
}
|
||||
|
||||
int rc_activeFont()
|
||||
{
|
||||
return rc_active_font;
|
||||
}
|
||||
|
||||
void rc_drawText(std::string txt, int x, int y)
|
||||
{
|
||||
if(rc_fontExists(rc_active_font))
|
||||
|
||||
@@ -419,6 +419,8 @@ bool manual_render_control = false;
|
||||
irr::video::SColor rc_active_color(0,0,0,0);
|
||||
irr::video::SColor rc_clear_color(0,0,0,0);
|
||||
|
||||
int rc_num_circle_points = 60;
|
||||
|
||||
bool rc_init_events = false;
|
||||
bool rc_init_timer = false;
|
||||
bool rc_init_video = false;
|
||||
@@ -640,6 +642,12 @@ struct rc_vehicle_properties
|
||||
irr::core::array<rc_vehicle_wheel> wheels;
|
||||
};
|
||||
|
||||
struct rc_projector_properties
|
||||
{
|
||||
int project_texture_id;
|
||||
irr::core::array<int> effect_actors;
|
||||
};
|
||||
|
||||
struct rc_scene_node
|
||||
{
|
||||
int node_type = 0;
|
||||
@@ -666,9 +674,14 @@ struct rc_scene_node
|
||||
irr::core::array<rc_actor_animation_obj> animation;
|
||||
|
||||
int parent_id;
|
||||
int parent_vehicle;
|
||||
bool isWheel;
|
||||
irr::core::array<rc_composite_child> child_actors; // Only used for composite actor types
|
||||
|
||||
rc_vehicle_properties vehicle_properties;
|
||||
|
||||
rc_projector_properties projector_properties;
|
||||
irr::core::array<int> projector_parent;
|
||||
};
|
||||
|
||||
irr::core::array<rc_scene_node> rc_actor;
|
||||
@@ -1125,6 +1138,24 @@ SDL_Surface* convertTextureToSurface(irr::video::ITexture* itexture)
|
||||
return surface;
|
||||
}
|
||||
|
||||
bool rc_saveBMP(int img_id, std::string img_file)
|
||||
{
|
||||
if(img_id < 0 || img_id >= rc_image.size())
|
||||
return false;
|
||||
|
||||
if(rc_image[img_id].image)
|
||||
{
|
||||
irr::video::ITexture* img_texture = rc_image[img_id].image;
|
||||
SDL_Surface* surface = convertTextureToSurface(img_texture);
|
||||
|
||||
SDL_SaveBMP(surface, img_file.c_str());
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
std::string rc_getGPUInfo()
|
||||
{
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define RC_OS_DEFINES_H_INCLUDED
|
||||
|
||||
//USED FOR TESTING ONLY
|
||||
#define RC_TESTING
|
||||
//#define RC_TESTING
|
||||
|
||||
//I am checking Android first since I think it also defines __linux__
|
||||
|
||||
|
||||
@@ -178,6 +178,20 @@ int rc_getSpriteAnimationLength(int spr_id, int animation)
|
||||
return rc_sprite[spr_id].animation[animation].num_frames;
|
||||
}
|
||||
|
||||
int rc_getSpriteAnimationSource(int spr_id, int animation)
|
||||
{
|
||||
if(spr_id < 0 || spr_id >= rc_sprite.size())
|
||||
return -1;
|
||||
|
||||
if(!rc_sprite[spr_id].active)
|
||||
return -1;
|
||||
|
||||
if(animation < 0 || animation >= rc_sprite[spr_id].animation.size())
|
||||
return -1;
|
||||
|
||||
return rc_sprite[spr_id].animation[animation].src_image_id;
|
||||
}
|
||||
|
||||
void rc_setSpriteAnimationSpeed(int spr_id, int animation, double fps)
|
||||
{
|
||||
if(spr_id < 0 || spr_id >= rc_sprite.size())
|
||||
|
||||
@@ -541,8 +541,17 @@ bool rc_update()
|
||||
{
|
||||
int vehicle_actor = rc_vehicle_actors[i];
|
||||
|
||||
//irr::core::matrix4 mt =rc_actor[vehicle_actor].physics.rigid_body->getWorldTransform();
|
||||
//btVector3 v_from( mt.getTranslation().X, mt.getTranslation().Y, mt.getTranslation().Y );
|
||||
//btVector3 v_to( v_from.getX(), v_from.getY() + 30, v_from.getZ());
|
||||
//btVehicleRaycaster::btVehicleRaycasterResult rst;
|
||||
//rc_actor[vehicle_actor].vehicle_properties.vehicle->getVehicleRaycaster()->castRay(v_from, v_to, rst);
|
||||
|
||||
//std::cout << "cast: " << rst.m_hitPointInWorld.getX() << ", " << rst.m_hitPointInWorld.getY() << ", " << rst.m_hitPointInWorld.getZ() << std::endl;
|
||||
|
||||
for(int wheel_index = 0; wheel_index < rc_actor[vehicle_actor].vehicle_properties.wheels.size(); wheel_index++)
|
||||
{
|
||||
rc_actor[vehicle_actor].vehicle_properties.vehicle->updateWheelTransform(wheel_index, true);
|
||||
SWheelInfo &info = rc_actor[vehicle_actor].vehicle_properties.vehicle->getWheelInfo(wheel_index);
|
||||
|
||||
int wheel_actor = rc_actor[vehicle_actor].vehicle_properties.wheels[wheel_index].actor_id;
|
||||
@@ -550,8 +559,38 @@ bool rc_update()
|
||||
if(wheel_actor < 0 || wheel_actor >= rc_actor.size())
|
||||
continue;
|
||||
|
||||
if(wheel_index == 0)
|
||||
{
|
||||
irr::core::matrix4 mt = info.worldTransform;
|
||||
btVector3 v_from( mt.getTranslation().X, mt.getTranslation().Y, mt.getTranslation().Y );
|
||||
float radius = info.wheelRadius;
|
||||
btVector3 v_to( v_from.getX(), v_from.getY() + 30, v_from.getZ());
|
||||
btVehicleRaycaster::btVehicleRaycasterResult rst;
|
||||
rc_actor[vehicle_actor].vehicle_properties.vehicle->getVehicleRaycaster()->castRay(v_from, v_to, rst);
|
||||
|
||||
//std::cout << "cast: r=" << radius << " hit = ( " << rst.m_hitPointInWorld.getX() << ", " << rst.m_hitPointInWorld.getY() << ", " << rst.m_hitPointInWorld.getZ() << " ) ";
|
||||
//if(info.raycastInfo.isInContact)
|
||||
//std::cout << "contact=" << (info.raycastInfo.isInContact ? "true" : "false") << std::endl;
|
||||
}
|
||||
|
||||
rc_actor[wheel_actor].physics.rigid_body->setWorldTransform(info.worldTransform);
|
||||
irr::core::matrix4 actor_transform = rc_actor[wheel_actor].physics.rigid_body->getWorldTransform();
|
||||
|
||||
irr::core::matrix4 offset_transform = rc_actor[vehicle_actor].vehicle_properties.wheels[wheel_index].offset_transform;
|
||||
irr::core::vector3df rot_vector( 0, info.wheelRotation, 0 );
|
||||
irr::core::matrix4 wheel_rot_m;
|
||||
wheel_rot_m.makeIdentity();
|
||||
wheel_rot_m.setRotationDegrees(rot_vector);
|
||||
|
||||
irr::core::matrix4 actor_transform = info.worldTransform * offset_transform;
|
||||
|
||||
//info.wheelRotation = info.wheelRotation + 1;
|
||||
rc_actor[vehicle_actor].vehicle_properties.vehicle->updateWheelInfo(wheel_index);
|
||||
//irr::core::vector3df actor_rot_vector = actor_transform.getRotationDegrees();
|
||||
|
||||
//std::cout << "VT: " << actor_rot_vector.X << ", " << actor_rot_vector.Y << ", " << actor_rot_vector.Z << std::endl;
|
||||
|
||||
//std::cout << wheel_index << " setWheelConnectionPoint OUT: " << info.chassisConnectionPointCS.X << ", " << info.chassisConnectionPointCS.Y << ", " << info.chassisConnectionPointCS.Z << std::endl;
|
||||
//std::cout << wheel_index << " info: " << info.worldTransform.getTranslation().X << ", " << info.worldTransform.getTranslation().Y << ", " << info.worldTransform.getTranslation().Z << std::endl;
|
||||
|
||||
rc_actor[wheel_actor].mesh_node->setPosition( actor_transform.getTranslation() );
|
||||
rc_actor[wheel_actor].mesh_node->setRotation( actor_transform.getRotationDegrees() );
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# depslib dependency file v1.0
|
||||
1771311954 source:/home/n00b/Projects/RCBASIC4/rcbasic_runtime/main.cpp
|
||||
1771642154 source:/home/n00b/Projects/RCBASIC4/rcbasic_runtime/main.cpp
|
||||
"rc_os_defines.h"
|
||||
<emscripten.h>
|
||||
<sys/param.h>
|
||||
@@ -37,7 +37,7 @@
|
||||
1771296059 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_os_defines.h
|
||||
<TargetConditionals.h>
|
||||
|
||||
1771626799 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_defines.h
|
||||
1771750699 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_defines.h
|
||||
|
||||
1764140917 /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>
|
||||
|
||||
1769579622 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_gfx.h
|
||||
1771732659 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_gfx.h
|
||||
"SDL.h"
|
||||
<SDL2/SDL.h>
|
||||
<irrlicht.h>
|
||||
@@ -1275,7 +1275,7 @@
|
||||
"rc_post_fx.h"
|
||||
<irrtheora.h>
|
||||
|
||||
1771574063 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_gfx_core.h
|
||||
1771745708 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_gfx_core.h
|
||||
"SDL.h"
|
||||
"btBulletDynamicsCommon.h"
|
||||
"BulletSoftBody/btSoftRigidDynamicsWorld.h"
|
||||
@@ -2281,7 +2281,7 @@
|
||||
"rc_gfx_core.h"
|
||||
<irrtheora.h>
|
||||
|
||||
1771626799 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_func130_cases.h
|
||||
1771750699 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_func130_cases.h
|
||||
|
||||
1760243468 source:/home/n00b/Projects/irrBullet/src/irrBullet.cpp
|
||||
"irrBullet.h"
|
||||
@@ -2503,7 +2503,7 @@
|
||||
<SDL.h>
|
||||
<SDL2/SDL.h>
|
||||
|
||||
1771302491 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_spritelib.h
|
||||
1771737005 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_spritelib.h
|
||||
"SDL.h"
|
||||
<SDL2/SDL.h>
|
||||
"rc_sprite2D.h"
|
||||
@@ -2533,7 +2533,7 @@
|
||||
1758412944 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_physics3D_base.h
|
||||
"rc_gfx_core.h"
|
||||
|
||||
1771579368 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_base_actor.h
|
||||
1771748492 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_base_actor.h
|
||||
"ProjectiveTextures.h"
|
||||
"rc_matrix.h"
|
||||
|
||||
@@ -2557,7 +2557,7 @@
|
||||
|
||||
1758412944 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_camera.h
|
||||
|
||||
1771572803 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_windowclose.h
|
||||
1771660997 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_windowclose.h
|
||||
|
||||
1650940764 /usr/include/bullet/BulletCollision/NarrowPhaseCollision/btRaycastCallback.h
|
||||
"BulletCollision/CollisionShapes/btTriangleCallback.h"
|
||||
@@ -2588,10 +2588,10 @@
|
||||
<iostream>
|
||||
"CShader.h"
|
||||
|
||||
1758412944 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/ProjectiveTextures.h
|
||||
1771743310 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/ProjectiveTextures.h
|
||||
<irrlicht.h>
|
||||
|
||||
1758412944 source:/home/n00b/Projects/RCBASIC4/rcbasic_runtime/ProjectiveTextures.cpp
|
||||
1771745563 source:/home/n00b/Projects/RCBASIC4/rcbasic_runtime/ProjectiveTextures.cpp
|
||||
"ProjectiveTextures.h"
|
||||
<string>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user