Set canvas render material for sprites

This commit is contained in:
n00b87
2025-08-31 21:50:38 -05:00
parent a25b4ad6ec
commit bfdff4207a
24 changed files with 1446 additions and 1119 deletions

View File

@@ -4452,7 +4452,7 @@ int main(int argc, char * argv[])
//ogles2 test
#ifdef RC_TESTING
rc_intern_dirChange("/home/n00b/Desktop/tutorial/sn_video_tutorial/SN_Tutorial");
rc_intern_dirChange("/home/n00b/Projects/SerenityEngine/Untitled_Project/test");
//rc_intern_dirChange("");
rc_filename = "main.cbc";

File diff suppressed because it is too large Load Diff

View File

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

View File

@@ -1057,6 +1057,9 @@ int rc_canvasOpen(int w, int h, int vx, int vy, int vw, int vh, int mode, int ca
canvas.physics2D.contact_listener = new rc_contactListener_obj();
canvas.physics2D.world->SetContactListener(canvas.physics2D.contact_listener);
canvas.sprite_id.clear();
canvas.spriteCanvasProperties.blend_mode = irr::video::EBO_ADD;
canvas.spriteCanvasProperties.anti_alias = irr::video::EAAM_OFF;
canvas.spriteCanvasProperties.bilinear_filter = false;
}
switch(mode)
@@ -1188,9 +1191,65 @@ void rc_setCanvasPhysics2D(int canvas_id, bool flag)
rc_canvas[canvas_id].physics2D.enabled = flag;
}
int rc_getSpriteCanvasPhysics(int canvas_id)
{
if(canvas_id > 0 && canvas_id < rc_canvas.size())
return rc_canvas[canvas_id].physics2D.enabled;
return 0;
}
void rc_setSpriteCanvasBlendMode(int canvas_id, int blend_mode)
{
if(canvas_id <= 0 || canvas_id >= rc_canvas.size())
return;
rc_canvas[canvas_id].spriteCanvasProperties.blend_mode = (irr::video::E_BLEND_OPERATION)blend_mode;
}
int rc_getSpriteCanvasBlendMode(int canvas_id)
{
if(canvas_id <= 0 || canvas_id >= rc_canvas.size())
return 0;
return (int)rc_canvas[canvas_id].spriteCanvasProperties.blend_mode;
}
void rc_setSpriteCanvasAntiAliasMode(int canvas_id, int aa_mode)
{
if(canvas_id <= 0 || canvas_id >= rc_canvas.size())
return;
rc_canvas[canvas_id].spriteCanvasProperties.anti_alias = (irr::video::E_ANTI_ALIASING_MODE)aa_mode;
}
int rc_getSpriteCanvasAntiAliasMode(int canvas_id)
{
if(canvas_id <= 0 || canvas_id >= rc_canvas.size())
return 0;
return (int)rc_canvas[canvas_id].spriteCanvasProperties.anti_alias;
}
void rc_setSpriteCanvasBilinearFilter(int canvas_id, bool flag)
{
if(canvas_id <= 0 || canvas_id >= rc_canvas.size())
return;
rc_canvas[canvas_id].spriteCanvasProperties.bilinear_filter = flag;
}
int rc_getSpriteCanvasBilinearFilter(int canvas_id)
{
if(canvas_id <= 0 || canvas_id >= rc_canvas.size())
return 0;
return (int)rc_canvas[canvas_id].spriteCanvasProperties.bilinear_filter;
}
void rc_setCanvasVisible(int canvas_id, bool flag)
{
if(canvas_id <= 0 || canvas_id >= rc_canvas.size()) //canvas 0 is being excluded because its the back buffer
if(canvas_id <= 0 || canvas_id >= rc_canvas.size())
return;
if(rc_canvas[canvas_id].texture)

View File

@@ -325,6 +325,13 @@ struct rc_physicsWorld2D_obj
int positionIterations = 3; //how strongly to correct position
};
struct rc_spriteCanvasProperties
{
irr::video::E_BLEND_OPERATION blend_mode; // = irr::video::EBO_ADD;
bool bilinear_filter; // = false;
irr::video::E_ANTI_ALIASING_MODE anti_alias; // = irr::video::EAAM_OFF;
};
#define RC_CANVAS_TYPE_2D 0
#define RC_CANVAS_TYPE_3D 1
#define RC_CANVAS_TYPE_SPRITE 2
@@ -363,6 +370,7 @@ struct rc_canvas_obj
rc_physicsWorld2D_obj physics2D;
irr::core::array<irr::s32> sprite_id;
rc_spriteCanvasProperties spriteCanvasProperties;
};
irr::core::array<rc_canvas_obj> rc_canvas;
@@ -809,6 +817,29 @@ void rc_setDriverMaterial()
}
void rc_setDriverMaterial_B(irr::video::E_BLEND_OPERATION op, irr::video::E_ANTI_ALIASING_MODE aa, bool bf)
{
if(!VideoDriver)
return;
irr::video::SMaterial material;
material.Lighting = false;
material.ZWriteEnable = irr::video::EZW_OFF;
material.ZBuffer = false;
material.BackfaceCulling = false;
material.TextureLayer[0].Texture = 0;
material.TextureLayer[0].BilinearFilter = bf;
material.MaterialTypeParam = irr::video::pack_textureBlendFunc(irr::video::EBF_SRC_ALPHA, irr::video::EBF_ONE_MINUS_SRC_ALPHA, irr::video::EMFN_MODULATE_1X, irr::video::EAS_TEXTURE | irr::video::EAS_VERTEX_COLOR);
material.BlendOperation = op;
//material.BlendOperation = irr::video::EBO_ADD;
material.AntiAliasing = aa;
material.MaterialType = irr::video::EMT_ONETEXTURE_BLEND;
VideoDriver->setMaterial(material);
}
void draw2DImage(irr::video::IVideoDriver *driver, irr::video::ITexture* texture, irr::core::rect<irr::s32> sourceRect, irr::core::position2d<irr::s32> position, irr::core::position2d<irr::s32> rotationPoint, irr::f32 rotation, irr::core::vector2df scale, bool useAlphaChannel, irr::video::SColor color, irr::core::vector2d<irr::f32> screenSize)
{
if(rc_active_canvas < 0 || rc_active_canvas >= rc_canvas.size())

View File

@@ -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__

View File

@@ -1539,6 +1539,10 @@ Uint32 rc_getSpriteAlpha(int spr_id)
//This function is called on each canvas on update
void drawSprites(int canvas_id)
{
rc_setDriverMaterial_B(rc_canvas[canvas_id].spriteCanvasProperties.blend_mode,
rc_canvas[canvas_id].spriteCanvasProperties.anti_alias,
rc_canvas[canvas_id].spriteCanvasProperties.bilinear_filter);
Uint32 delta_time = SDL_GetTicks() - rc_canvas[canvas_id].physics2D.time_stamp;
rc_canvas[canvas_id].physics2D.time_stamp = SDL_GetTicks();
float step = rc_canvas[canvas_id].physics2D.timeStep < 0 ? (delta_time*0.001f) : rc_canvas[canvas_id].physics2D.timeStep;
@@ -1728,6 +1732,7 @@ void drawSprites(int canvas_id)
//Must set back to canvas 0 (the backbuffer) before returning
VideoDriver->setRenderTarget(rc_canvas[0].texture, false, false);
rc_setDriverMaterial();
}
//-----------------------------END OF SPRITE STUFF------------------------------------------------------------------------------

View File

@@ -45,6 +45,33 @@
<Add directory="/home/n00b/Projects/steamworks_sdk_162/sdk/redistributable_bin/linux64" />
</Linker>
<Unit filename="../../an8-parser/an8parser.h" />
<Unit filename="../../irrBullet/include/irrBullet.h" />
<Unit filename="../../irrBullet/include/irrBulletBoxShape.h" />
<Unit filename="../../irrBullet/include/irrBulletBvhTriangleMeshShape.h" />
<Unit filename="../../irrBullet/include/irrBulletCapsuleShape.h" />
<Unit filename="../../irrBullet/include/irrBulletCollisionCallBackInformation.h" />
<Unit filename="../../irrBullet/include/irrBulletCollisionObject.h" />
<Unit filename="../../irrBullet/include/irrBulletCollisionObjectAffector.h" />
<Unit filename="../../irrBullet/include/irrBulletCollisionObjectAffectorAttract.h" />
<Unit filename="../../irrBullet/include/irrBulletCollisionObjectAffectorDelete.h" />
<Unit filename="../../irrBullet/include/irrBulletCollisionShape.h" />
<Unit filename="../../irrBullet/include/irrBulletCommon.h" />
<Unit filename="../../irrBullet/include/irrBulletCompileConfig.h" />
<Unit filename="../../irrBullet/include/irrBulletConeShape.h" />
<Unit filename="../../irrBullet/include/irrBulletConvexHullShape.h" />
<Unit filename="../../irrBullet/include/irrBulletCylinderShape.h" />
<Unit filename="../../irrBullet/include/irrBulletGImpactMeshShape.h" />
<Unit filename="../../irrBullet/include/irrBulletGhostObject.h" />
<Unit filename="../../irrBullet/include/irrBulletKinematicCharacterController.h" />
<Unit filename="../../irrBullet/include/irrBulletLiquidBody.h" />
<Unit filename="../../irrBullet/include/irrBulletMotionState.h" />
<Unit filename="../../irrBullet/include/irrBulletPhysicsDebug.h" />
<Unit filename="../../irrBullet/include/irrBulletRayCastVehicle.h" />
<Unit filename="../../irrBullet/include/irrBulletRigidBody.h" />
<Unit filename="../../irrBullet/include/irrBulletSoftBody.h" />
<Unit filename="../../irrBullet/include/irrBulletSphereShape.h" />
<Unit filename="../../irrBullet/include/irrBulletTriangleMeshShape.h" />
<Unit filename="../../irrBullet/include/irrBulletWorld.h" />
<Unit filename="../../irrBullet/src/irrBullet.cpp" />
<Unit filename="../../irrBullet/src/irrBulletBoxShape.cpp" />
<Unit filename="../../irrBullet/src/irrBulletBvhTriangleMeshShape.cpp" />

View File

@@ -1,5 +1,5 @@
# depslib dependency file v1.0
1755890851 source:/home/n00b/Projects/RCBASIC4/rcbasic_runtime/main.cpp
1756622892 source:/home/n00b/Projects/RCBASIC4/rcbasic_runtime/main.cpp
"rc_os_defines.h"
<emscripten.h>
<sys/param.h>
@@ -33,7 +33,7 @@
<irrtheora.h>
"rc_func130_cases.h"
1755890765 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_os_defines.h
1756622892 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_os_defines.h
<TargetConditionals.h>
1754605794 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_defines.h
@@ -2145,7 +2145,8 @@
<BulletCollision/Gimpact/btGImpactShape.h>
"irrBulletTriangleMeshShape.h"
1724469097 /home/n00b/Projects/irrBullet/include/irrBulletTriangleMeshShape.h
1756629046 /home/n00b/Projects/irrBullet/include/irrBulletTriangleMeshShape.h
<ITerrainSceneNode.h>
"irrBulletCollisionShape.h"
<BulletCollision/CollisionShapes/btTriangleMesh.h>
"irrBulletCommon.h"
@@ -2287,10 +2288,11 @@
"btBulletCollisionCommon.h"
"irrBulletBoxShape.h"
1724469097 source:/home/n00b/Projects/irrBullet/src/irrBulletBvhTriangleMeshShape.cpp
1756629408 source:/home/n00b/Projects/irrBullet/src/irrBulletBvhTriangleMeshShape.cpp
<btBulletDynamicsCommon.h>
<btBulletCollisionCommon.h>
"irrBulletBvhTriangleMeshShape.h"
<iostream>
1724627004 source:/home/n00b/Projects/irrBullet/src/irrBulletCapsuleShape.cpp
<ISceneNode.h>
@@ -2442,12 +2444,15 @@
<btBulletCollisionCommon.h>
"irrBulletSphereShape.h"
1724469097 source:/home/n00b/Projects/irrBullet/src/irrBulletTriangleMeshShape.cpp
1756629131 source:/home/n00b/Projects/irrBullet/src/irrBulletTriangleMeshShape.cpp
<ITerrainSceneNode.h>
<IMesh.h>
<IMeshBuffer.h>
<CDynamicMeshBuffer.h>
"btBulletDynamicsCommon.h"
"btBulletCollisionCommon.h"
"irrBulletTriangleMeshShape.h"
<iostream>
1748037413 source:/home/n00b/Projects/irrBullet/src/irrBulletWorld.cpp
<IrrlichtDevice.h>
@@ -2527,7 +2532,7 @@
1752028340 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_base_actor.h
"ProjectiveTextures.h"
1755897401 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_actor_material.h
1755925625 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_actor_material.h
"rc_fx_materials.h"
1752028340 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_actor_animation.h
@@ -2559,7 +2564,7 @@
<vector>
<algorithm>
1755890976 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_fx_materials.h
1755925625 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_fx_materials.h
<irrlicht.h>
"CShader.h"
"rc_fx_shaders.h"

View File

@@ -2,129 +2,9 @@
<CodeBlocks_layout_file>
<FileVersion major="1" minor="0" />
<ActiveTarget name="Debug" />
<File name="rc_tilemap.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="rc_joints.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="243" topLine="26" />
</Cursor>
</File>
<File name="rc_video.h" open="0" top="0" tabpos="21" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="169" topLine="6" />
</Cursor>
</File>
<File name="../../irrBullet/src/irrBulletcommon.cpp" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="924" topLine="6" />
</Cursor>
</File>
<File name="../../irrBullet/src/irrBulletRigidBody.cpp" open="0" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2248" topLine="493" />
</Cursor>
</File>
<File name="rc_actor_material.h" open="1" top="0" tabpos="20" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="751" topLine="1317" />
</Cursor>
</File>
<File name="gui_freetype_font.cpp" open="0" top="0" tabpos="24" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="792" topLine="0" />
</Cursor>
</File>
<File name="main.cpp" open="1" top="0" tabpos="23" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="130086" topLine="4447" />
</Cursor>
</File>
<File name="CShader.h" open="1" top="0" tabpos="21" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1204" topLine="34" />
</Cursor>
</File>
<File name="rc_matrix.h" open="0" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="34977" topLine="1288" />
</Cursor>
</File>
<File name="rc_os_defines.h" open="1" top="0" tabpos="25" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="91" topLine="0" />
</Cursor>
</File>
<File name="rc_gfx_core.h" open="0" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="23585" topLine="785" />
</Cursor>
</File>
<File name="rc_actor_animation.h" open="0" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="9592" topLine="289" />
</Cursor>
</File>
<File name="rc_mesh.h" open="0" top="0" tabpos="16" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1830" topLine="71" />
</Cursor>
</File>
<File name="rc_fx_materials.h" open="1" top="0" tabpos="18" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="921" topLine="589" />
</Cursor>
</File>
<File name="rc_spritelib.h" open="0" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="47918" topLine="1604" />
</Cursor>
</File>
<File name="rc_audio.h" open="0" top="0" tabpos="18" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="6531" topLine="311" />
</Cursor>
</File>
<File name="rc_scene.h" open="0" top="0" tabpos="30" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1298" topLine="28" />
</Cursor>
</File>
<File name="rc_steam_lib.h" open="0" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1942" topLine="71" />
</Cursor>
</File>
<File name="rc_stdlib.h" open="1" top="0" tabpos="24" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1212" topLine="51" />
</Cursor>
</File>
<File name="../../irrBullet/src/irrBulletCollisionCallBackInformation.cpp" open="0" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1253" topLine="0" />
</Cursor>
</File>
<File name="rc_actor_physics.h" open="0" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="0" />
</Cursor>
</File>
<File name="rc_media.h" open="0" top="0" tabpos="17" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="72119" topLine="1937" />
</Cursor>
</File>
<File name="rc_base_actor.h" open="1" top="0" tabpos="27" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="37687" topLine="1366" />
</Cursor>
</File>
<File name="rc_fx_shaders.h" open="1" top="0" tabpos="19" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="178" topLine="772" />
</Cursor>
</File>
<File name="rc_defines.h" open="0" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="190390" topLine="2847" />
<Cursor1 position="310" topLine="0" />
</Cursor>
</File>
<File name="rc_constraint.h" open="0" top="0" tabpos="15" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
@@ -132,94 +12,19 @@
<Cursor1 position="8391" topLine="231" />
</Cursor>
</File>
<File name="rc_font.h" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="rc_gfx_core.h" open="1" top="1" tabpos="29" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="21089" topLine="721" />
</Cursor>
</File>
<File name="rc_actor_physics.h" open="0" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="0" />
</Cursor>
</File>
<File name="rc_joints.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="rc_os_defines.h" open="1" top="0" tabpos="26" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="310" topLine="0" />
</Cursor>
</File>
<File name="rc_net.h" open="0" top="0" tabpos="13" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3769" topLine="186" />
</Cursor>
</File>
<File name="rc_particles.h" open="0" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="6262" topLine="615" />
</Cursor>
</File>
<File name="rc_func130_cases.h" open="0" top="0" tabpos="13" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="84330" topLine="2045" />
</Cursor>
</File>
<File name="rc_gfx.h" open="1" top="1" tabpos="26" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="41480" topLine="234" />
</Cursor>
</File>
<File name="ProjectiveTextures.h" open="0" top="0" tabpos="34" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="110" topLine="0" />
</Cursor>
</File>
<File name="rc_gfx3D.h" open="0" top="0" tabpos="14" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="565" topLine="0" />
</Cursor>
</File>
<File name="rc_sprite2D.h" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="558" topLine="13" />
</Cursor>
</File>
<File name="rc_test.h" open="0" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="115" topLine="0" />
</Cursor>
</File>
<File name="gui_freetype_font.h" open="0" top="0" tabpos="23" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="183" topLine="0" />
</Cursor>
</File>
<File name="rc_geometry.h" open="0" top="0" tabpos="20" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="20919" topLine="652" />
</Cursor>
</File>
<File name="rc_steam.cpp" open="0" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1410" topLine="0" />
</Cursor>
</File>
<File name="rc_tilelib.h" open="0" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="6694" topLine="319" />
</Cursor>
</File>
<File name="camera.h" open="0" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="4758" topLine="241" />
</Cursor>
</File>
<File name="../../irrBullet/src/irrBulletWorld.cpp" open="0" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="18445" topLine="18" />
</Cursor>
</File>
<File name="../../irrBullet/src/irrBullet.cpp" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="7" />
</Cursor>
</File>
<File name="../../irrBullet/src/irrBulletCollisionObject.cpp" open="0" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="322" topLine="4" />
<Cursor1 position="91" topLine="0" />
</Cursor>
</File>
<File name="rc_windowclose.h" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
@@ -227,19 +32,9 @@
<Cursor1 position="23822" topLine="643" />
</Cursor>
</File>
<File name="../../irrBullet/src/irrBulletGhostObject.cpp" open="0" top="0" tabpos="13" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="rc_test.h" open="0" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1861" topLine="27" />
</Cursor>
</File>
<File name="CShader.cpp" open="1" top="0" tabpos="22" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1032" topLine="31" />
</Cursor>
</File>
<File name="rc_physics3D_base.h" open="0" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3283" topLine="66" />
<Cursor1 position="115" topLine="0" />
</Cursor>
</File>
<File name="rc_sprite_physics.h" open="0" top="0" tabpos="38" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
@@ -247,14 +42,129 @@
<Cursor1 position="16031" topLine="523" />
</Cursor>
</File>
<File name="rc_tilelib.h" open="0" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="6694" topLine="319" />
</Cursor>
</File>
<File name="rc_net.h" open="0" top="0" tabpos="13" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3769" topLine="186" />
</Cursor>
</File>
<File name="rc_video.h" open="0" top="0" tabpos="21" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="169" topLine="6" />
</Cursor>
</File>
<File name="rc_physics3D_base.h" open="0" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3283" topLine="66" />
</Cursor>
</File>
<File name="gui_freetype_font.h" open="0" top="0" tabpos="23" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="183" topLine="0" />
</Cursor>
</File>
<File name="rc_steam.h" open="0" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="854" topLine="0" />
</Cursor>
</File>
<File name="../../irrBullet/src/irrBulletSoftBody.cpp" open="0" top="0" tabpos="14" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="rc_stdlib.h" open="1" top="0" tabpos="25" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="885" topLine="2" />
<Cursor1 position="1212" topLine="51" />
</Cursor>
</File>
<File name="camera.h" open="0" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="4758" topLine="241" />
</Cursor>
</File>
<File name="../../irrBullet/src/irrBullet.cpp" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="7" />
</Cursor>
</File>
<File name="ProjectiveTextures.h" open="0" top="0" tabpos="34" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="110" topLine="0" />
</Cursor>
</File>
<File name="main.cpp" open="1" top="0" tabpos="24" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="130086" topLine="4447" />
</Cursor>
</File>
<File name="rc_steam_lib.h" open="0" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1942" topLine="71" />
</Cursor>
</File>
<File name="rc_base_actor.h" open="1" top="0" tabpos="28" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="37687" topLine="1366" />
</Cursor>
</File>
<File name="rc_actor_material.h" open="1" top="0" tabpos="21" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="751" topLine="1310" />
</Cursor>
</File>
<File name="rc_geometry.h" open="0" top="0" tabpos="20" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="20919" topLine="652" />
</Cursor>
</File>
<File name="rc_font.h" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="0" />
</Cursor>
</File>
<File name="rc_gfx3D.h" open="0" top="0" tabpos="14" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="565" topLine="0" />
</Cursor>
</File>
<File name="rc_media.h" open="0" top="0" tabpos="17" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="72119" topLine="1937" />
</Cursor>
</File>
<File name="../../irrBullet/src/irrBulletRigidBody.cpp" open="0" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2248" topLine="493" />
</Cursor>
</File>
<File name="../../irrBullet/src/irrBulletGhostObject.cpp" open="0" top="0" tabpos="13" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1861" topLine="27" />
</Cursor>
</File>
<File name="../../irrBullet/src/irrBulletCollisionObject.cpp" open="0" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="322" topLine="4" />
</Cursor>
</File>
<File name="rc_audio.h" open="0" top="0" tabpos="18" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="6531" topLine="311" />
</Cursor>
</File>
<File name="../../irrBullet/src/irrBulletCollisionCallBackInformation.cpp" open="0" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1253" topLine="0" />
</Cursor>
</File>
<File name="../../irrBullet/src/irrBulletWorld.cpp" open="0" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="18445" topLine="18" />
</Cursor>
</File>
<File name="rc_gfx.h" open="1" top="0" tabpos="27" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="6941" topLine="234" />
</Cursor>
</File>
<File name="ProjectiveTextures.cpp" open="0" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
@@ -262,4 +172,94 @@
<Cursor1 position="348" topLine="166" />
</Cursor>
</File>
<File name="rc_sprite2D.h" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="558" topLine="13" />
</Cursor>
</File>
<File name="rc_scene.h" open="0" top="0" tabpos="30" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1298" topLine="28" />
</Cursor>
</File>
<File name="../../irrBullet/src/irrBulletSoftBody.cpp" open="0" top="0" tabpos="14" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="885" topLine="2" />
</Cursor>
</File>
<File name="rc_matrix.h" open="0" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="34977" topLine="1288" />
</Cursor>
</File>
<File name="rc_tilemap.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="243" topLine="26" />
</Cursor>
</File>
<File name="rc_mesh.h" open="0" top="0" tabpos="16" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1830" topLine="71" />
</Cursor>
</File>
<File name="rc_defines.h" open="0" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="190390" topLine="2847" />
</Cursor>
</File>
<File name="rc_particles.h" open="0" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="6262" topLine="615" />
</Cursor>
</File>
<File name="rc_actor_animation.h" open="0" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="9592" topLine="289" />
</Cursor>
</File>
<File name="gui_freetype_font.cpp" open="0" top="0" tabpos="24" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="792" topLine="0" />
</Cursor>
</File>
<File name="rc_spritelib.h" open="0" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="47918" topLine="1604" />
</Cursor>
</File>
<File name="rc_fx_shaders.h" open="1" top="0" tabpos="20" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="178" topLine="769" />
</Cursor>
</File>
<File name="rc_steam.cpp" open="0" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1410" topLine="0" />
</Cursor>
</File>
<File name="CShader.h" open="1" top="0" tabpos="22" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1204" topLine="34" />
</Cursor>
</File>
<File name="rc_fx_materials.h" open="1" top="0" tabpos="19" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="921" topLine="589" />
</Cursor>
</File>
<File name="CShader.cpp" open="1" top="0" tabpos="23" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1032" topLine="31" />
</Cursor>
</File>
<File name="rc_func130_cases.h" open="0" top="0" tabpos="13" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="84330" topLine="2045" />
</Cursor>
</File>
<File name="../../irrBullet/src/irrBulletcommon.cpp" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="924" topLine="6" />
</Cursor>
</File>
</CodeBlocks_layout_file>