Added Bone Info Functions

* Added functions to get info on bones
* Fixed ColorKey() flipping images if color is not -1
This commit is contained in:
n00b87
2026-01-27 23:56:30 -06:00
parent a2c4eba1e2
commit 61e55f72f6
9 changed files with 514 additions and 291 deletions

Binary file not shown.

View File

@@ -2,6 +2,7 @@
#define RC_BASE_ACTOR_H_INCLUDED
#include "ProjectiveTextures.h"
#include "rc_matrix.h"
void setSolidProperties(int actor)
{
@@ -1504,6 +1505,196 @@ Uint32 rc_getLightSpecularColor(int actor)
}
int GetActorBoneCount( int actor )
{
if(actor < 0 || actor >= rc_actor.size())
return 0;
switch(rc_actor[actor].node_type)
{
case RC_NODE_TYPE_MESH:
{
irr::scene::IAnimatedMeshSceneNode* node = (irr::scene::IAnimatedMeshSceneNode*)rc_actor[actor].mesh_node;
return node->getJointCount();
}
break;
}
return 0;
}
irr::u32 GetActorBoneIndex( int actor, std::string bone_name )
{
if(actor < 0 || actor >= rc_actor.size())
return 0;
switch(rc_actor[actor].node_type)
{
case RC_NODE_TYPE_MESH:
{
irr::scene::IAnimatedMeshSceneNode* node = (irr::scene::IAnimatedMeshSceneNode*)rc_actor[actor].mesh_node;
irr::scene::IBoneSceneNode* bone = node->getJointNode(bone_name.c_str());
if(bone)
{
return bone->getBoneIndex();
}
}
break;
}
return -1;
}
std::string GetActorBoneName( int actor, irr::u32 bone_index )
{
if(actor < 0 || actor >= rc_actor.size())
return "";
switch(rc_actor[actor].node_type)
{
case RC_NODE_TYPE_MESH:
{
irr::scene::IAnimatedMeshSceneNode* node = (irr::scene::IAnimatedMeshSceneNode*)rc_actor[actor].mesh_node;
irr::scene::IBoneSceneNode* bone = node->getJointNode(bone_index);
if(bone)
{
return (std::string)bone->getBoneName() + "\0";
}
}
break;
}
return "";
}
bool GetActorBonePosition( int actor, int bone_index, double* x, double* y, double* z )
{
if(actor < 0 || actor >= rc_actor.size())
return false;
switch(rc_actor[actor].node_type)
{
case RC_NODE_TYPE_MESH:
{
irr::scene::IAnimatedMeshSceneNode* node = (irr::scene::IAnimatedMeshSceneNode*)rc_actor[actor].mesh_node;
irr::scene::IBoneSceneNode* bone = node->getJointNode(bone_index);
if(bone)
{
*x = (double)bone->getPosition().X;
*y = (double)bone->getPosition().Y;
*z = (double)bone->getPosition().Z;
return true;
}
}
break;
}
return false;
}
bool GetActorBoneRotation( int actor, int bone_index, double* x, double* y, double* z )
{
if(actor < 0 || actor >= rc_actor.size())
return false;
switch(rc_actor[actor].node_type)
{
case RC_NODE_TYPE_MESH:
{
irr::scene::IAnimatedMeshSceneNode* node = (irr::scene::IAnimatedMeshSceneNode*)rc_actor[actor].mesh_node;
irr::scene::IBoneSceneNode* bone = node->getJointNode(bone_index);
if(bone)
{
*x = (double)bone->getRotation().X;
*y = (double)bone->getRotation().Y;
*z = (double)bone->getRotation().Z;
return true;
}
}
break;
}
return false;
}
bool GetActorBoneScale( int actor, int bone_index, double* x, double* y, double* z )
{
if(actor < 0 || actor >= rc_actor.size())
return false;
switch(rc_actor[actor].node_type)
{
case RC_NODE_TYPE_MESH:
{
irr::scene::IAnimatedMeshSceneNode* node = (irr::scene::IAnimatedMeshSceneNode*)rc_actor[actor].mesh_node;
irr::scene::IBoneSceneNode* bone = node->getJointNode(bone_index);
if(bone)
{
*x = (double)bone->getScale().X;
*y = (double)bone->getScale().Y;
*z = (double)bone->getScale().Z;
return true;
}
}
break;
}
return false;
}
bool GetActorBoneRelativeTranform( int actor, int bone_index, int t_matrix )
{
if(actor < 0 || actor >= rc_actor.size())
return false;
if(!rc_matrixExists(t_matrix))
return false;
switch(rc_actor[actor].node_type)
{
case RC_NODE_TYPE_MESH:
{
irr::scene::IAnimatedMeshSceneNode* node = (irr::scene::IAnimatedMeshSceneNode*)rc_actor[actor].mesh_node;
irr::scene::IBoneSceneNode* bone = node->getJointNode(bone_index);
if(bone)
{
rc_convertFromIrrMatrix(bone->getRelativeTransformation(), t_matrix);
return true;
}
}
break;
}
return false;
}
bool GetActorBoneAbsoluteTranform( int actor, int bone_index, int t_matrix )
{
if(actor < 0 || actor >= rc_actor.size())
return false;
if(!rc_matrixExists(t_matrix))
return false;
switch(rc_actor[actor].node_type)
{
case RC_NODE_TYPE_MESH:
{
irr::scene::IAnimatedMeshSceneNode* node = (irr::scene::IAnimatedMeshSceneNode*)rc_actor[actor].mesh_node;
irr::scene::IBoneSceneNode* bone = node->getJointNode(bone_index);
if(bone)
{
rc_convertFromIrrMatrix(bone->getAbsoluteTransformation(), t_matrix);
return true;
}
}
break;
}
return false;
}
//set actor animation speed

View File

@@ -467,6 +467,8 @@ bool rc_windowOpenEx(std::string title, int x, int y, int w, int h, uint32_t win
rc_physics3D.world->setInternalTickCallback((btInternalTickCallback)myTickCallback2);
rc_physics3D.enabled = true;
setMouseScaling();
return true;
@@ -483,6 +485,17 @@ bool rc_windowOpen(std::string title, int w, int h, bool fullscreen, bool vsync)
return true;
}
void rc_setPhysics3D(bool flag)
{
rc_physics3D.enabled = flag;
rc_physics3D.TimeStamp = SDL_GetTicks();
}
bool rc_getPhysics3D()
{
return rc_physics3D.enabled;
}
void rc_cls()
{
if(rc_canvas.size()>0)
@@ -3362,6 +3375,12 @@ void rc_setColorKey(int img_id, Uint32 colorkey)
colorkey = img_pixels[0];
rc_image[img_id].image->unlock();
}
else
{
Uint32* img_pixels = (Uint32*)rc_image[img_id].image->lock();
rc_image[img_id].image->unlock();
}
VideoDriver->makeColorKeyTexture(rc_image[img_id].image, irr::video::SColor(colorkey));
}

View File

@@ -283,6 +283,8 @@ struct rc_physicsWorld3D_obj
{
irrBulletWorld* world;
bool enabled;
irr::f32 DeltaTime;
irr::u32 maxSubSteps;
irr::f32 fixedTimeStep;

View File

@@ -593,6 +593,4 @@ bool rc_getMeshBuffer(int mesh_id, int buffer_index, double* vertex_data, double
}
#endif // RC_MESH_H_INCLUDED

View File

@@ -1539,4 +1539,16 @@ void rc_renderPostEffect(int canvas_id)
}
int rc_getPostEffectType(int canvas_id)
{
if(canvas_id <= 0 || canvas_id >= rc_canvas.size())
return -1;
if(!rc_canvas[canvas_id].post_effect.is_active)
return -1;
return rc_canvas[canvas_id].post_effect.type; //type will be -1 if effect has been removed
}
#endif // RC_POST_FX_H_INCLUDED

View File

@@ -526,7 +526,7 @@ bool rc_update()
if(!manual_render_control)
VideoDriver->beginScene(true, true);
if(!hasPreUpdated)
if(rc_physics3D.enabled && (!hasPreUpdated))
{
//rc_physics3D.DeltaTime = device->getTimer()->getTime() - rc_physics3D.TimeStamp;
//rc_physics3D.TimeStamp = device->getTimer()->getTime();

View File

@@ -1,5 +1,5 @@
# depslib dependency file v1.0
1763950157 source:/home/n00b/Projects/RCBASIC4/rcbasic_runtime/main.cpp
1764140917 source:/home/n00b/Projects/RCBASIC4/rcbasic_runtime/main.cpp
"rc_os_defines.h"
<emscripten.h>
<sys/param.h>
@@ -37,9 +37,9 @@
1763959134 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_os_defines.h
<TargetConditionals.h>
1763875558 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_defines.h
1764140917 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_defines.h
1763522526 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_stdlib.h
1764140917 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_stdlib.h
"rc_os_defines.h"
<sys/param.h>
<iostream>
@@ -112,7 +112,7 @@
1752004854 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/theoraplay.h
1763524510 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_matrix.h
1764140917 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_matrix.h
<iostream>
<vector>
<bits/stdc++.h>
@@ -1249,11 +1249,12 @@
1734372058 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/RealisticWater.h
<irrlicht.h>
1763874908 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_gfx.h
1769130613 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_gfx.h
"SDL.h"
<SDL2/SDL.h>
<irrlicht.h>
<btBulletDynamicsCommon.h>
<android/log.h>
<irrlicht.h>
<bullet/btBulletDynamicsCommon.h>
<iostream>
@@ -1274,7 +1275,7 @@
"rc_post_fx.h"
<irrtheora.h>
1763958975 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_gfx_core.h
1769129955 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_gfx_core.h
"SDL.h"
"btBulletDynamicsCommon.h"
"BulletSoftBody/btSoftRigidDynamicsWorld.h"
@@ -2247,7 +2248,7 @@
<SDL2/SDL.h>
<SDL2/SDL_mixer.h>
1762655675 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_net.h
1764140917 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_net.h
"rc_os_defines.h"
<android/log.h>
"SDL.h"
@@ -2279,7 +2280,7 @@
"rc_gfx_core.h"
<irrtheora.h>
1763875558 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_func130_cases.h
1764140917 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_func130_cases.h
1760243468 source:/home/n00b/Projects/irrBullet/src/irrBullet.cpp
"irrBullet.h"
@@ -2519,7 +2520,7 @@
<irrlicht.h>
<vector>
1763784488 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_sprite_physics.h
1764140917 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_sprite_physics.h
"rc_sprite2D.h"
1758412944 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_joints.h
@@ -2531,8 +2532,9 @@
1758412944 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_physics3D_base.h
"rc_gfx_core.h"
1763707569 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_base_actor.h
1769134196 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_base_actor.h
"ProjectiveTextures.h"
"rc_matrix.h"
1758412944 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_actor_material.h
"rc_fx_materials.h"
@@ -2543,16 +2545,16 @@
1758412944 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_constraint.h
1762832155 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_mesh.h
1769132494 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_mesh.h
1758412944 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_particles.h
1763707707 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_scene.h
1764140917 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_scene.h
"rc_gfx_core.h"
1758412944 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_camera.h
1763959070 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_windowclose.h
1769130046 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_windowclose.h
1650940764 /usr/include/bullet/BulletCollision/NarrowPhaseCollision/btRaycastCallback.h
"BulletCollision/CollisionShapes/btTriangleCallback.h"
@@ -2746,12 +2748,12 @@
<sstream>
"rc_steam.h"
1763959070 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_render_control.h
1764140917 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_render_control.h
<irrlicht.h>
"rc_gfx_core.h"
"rc_post_fx.h"
1763959070 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_post_fx.h
1769129441 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_post_fx.h
<irrlicht.h>
<cstdlib>
"rc_gfx_core.h"

View File

@@ -2,167 +2,9 @@
<CodeBlocks_layout_file>
<FileVersion major="1" minor="0" />
<ActiveTarget name="Debug" />
<File name="rc_net.h" 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="10210" topLine="395" />
</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_gfx.h" open="1" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="33063" topLine="1051" />
</Cursor>
</File>
<File name="rc_base_actor.h" open="1" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="22683" topLine="853" />
</Cursor>
</File>
<File name="rc_actor_material.h" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="751" topLine="1310" />
</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_os_defines.h" open="1" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="93" topLine="0" />
</Cursor>
</File>
<File name="../../an8-parser/an8parser.h" open="1" top="0" tabpos="0" 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">
<Cursor>
<Cursor1 position="310" topLine="0" />
</Cursor>
</File>
<File name="rc_particles.h" open="0" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="6262" topLine="615" />
</Cursor>
</File>
<File name="rc_post_fx.h" open="1" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="50148" topLine="1509" />
</Cursor>
</File>
<File name="rc_func130_cases.h" open="1" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="24252" topLine="649" />
</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_sprite2D.h" open="0" top="0" tabpos="14" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="558" topLine="2" />
</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="rc_gfx_core.h" open="1" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="11943" topLine="187" />
</Cursor>
<Folding>
<Collapse line="104" />
</Folding>
</File>
<File name="rc_fx_materials.h" open="0" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="921" topLine="589" />
</Cursor>
</File>
<File name="../../irrBullet/src/irrBulletTriangleMeshShape.cpp" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="5626" topLine="48" />
</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/include/irrBulletBvhTriangleMeshShape.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1301" topLine="20" />
</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="gui_freetype_font.h" open="0" top="0" tabpos="14" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1638" topLine="52" />
</Cursor>
</File>
<File name="CShader.h" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1204" topLine="34" />
</Cursor>
</File>
<File name="rc_stdlib.h" open="0" top="0" tabpos="41" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="35266" topLine="1531" />
</Cursor>
</File>
<File name="rc_actor_physics.h" open="0" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="0" />
</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="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_actor_animation.h" open="0" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="9998" topLine="302" />
</Cursor>
</File>
<File name="rc_scene.h" open="1" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2212" topLine="82" />
</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="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_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" />
<Cursor1 position="115" topLine="0" />
</Cursor>
</File>
<File name="main.cpp" open="1" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
@@ -181,95 +23,19 @@
<Collapse line="242" />
</Folding>
</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/irrBulletBvhTriangleMeshShape.cpp" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="680" topLine="19" />
</Cursor>
</File>
<File name="../../irrBullet/include/irrBulletConeShape.h" open="0" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="0" />
</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="rc_mesh.h" open="0" top="0" tabpos="24" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="4771" topLine="208" />
</Cursor>
</File>
<File name="rc_matrix.h" open="0" top="0" tabpos="42" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="36505" topLine="1323" />
</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_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_fx_shaders.h" open="0" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="178" topLine="769" />
</Cursor>
</File>
<File name="rc_windowclose.h" open="1" top="1" tabpos="16" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="17639" topLine="204" />
</Cursor>
<Folding>
<Collapse line="157" />
<Collapse line="492" />
<Collapse line="717" />
<Collapse line="744" />
</Folding>
</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="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/include/irrBulletTriangleMeshShape.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="366" 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">
<Cursor>
<Cursor1 position="885" topLine="2" />
</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">
<Cursor>
<Cursor1 position="8391" topLine="231" />
</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="ProjectiveTextures.h" open="0" top="0" tabpos="34" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<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="110" topLine="0" />
<Cursor1 position="0" 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="../../irrBullet/src/irrBulletCapsuleShape.cpp" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
@@ -277,36 +43,6 @@
<Cursor1 position="522" topLine="9" />
</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_tilelib.h" open="0" top="0" tabpos="17" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="10085" topLine="360" />
</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="rc_audio.h" open="0" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="6652" topLine="38" />
</Cursor>
</File>
<File name="CShader.cpp" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1032" topLine="31" />
</Cursor>
</File>
<File name="rc_video.h" open="0" top="0" tabpos="19" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="515" topLine="80" />
</Cursor>
</File>
<File name="rc_spritelib.h" open="0" top="0" tabpos="13" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="61144" topLine="1289" />
@@ -333,11 +69,274 @@
<Collapse line="1143" />
</Folding>
</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="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_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_mesh.h" open="1" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="14073" topLine="541" />
</Cursor>
</File>
<File name="rc_func130_cases.h" open="1" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="24252" topLine="649" />
</Cursor>
</File>
<File name="rc_matrix.h" open="0" top="0" tabpos="42" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="36505" topLine="1323" />
</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_audio.h" open="0" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="6652" topLine="38" />
</Cursor>
</File>
<File name="rc_actor_animation.h" open="0" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="9998" topLine="302" />
</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_fx_materials.h" open="0" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="921" topLine="589" />
</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="rc_post_fx.h" open="1" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="50148" topLine="1509" />
</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="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_net.h" open="0" top="0" tabpos="13" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="10210" topLine="395" />
</Cursor>
</File>
<File name="CShader.cpp" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1032" topLine="31" />
</Cursor>
</File>
<File name="rc_gfx.h" open="1" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="8052" topLine="411" />
</Cursor>
</File>
<File name="rc_scene.h" open="1" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2212" topLine="82" />
</Cursor>
</File>
<File name="../../an8-parser/an8parser.h" open="1" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="0" />
</Cursor>
</File>
<File name="rc_fx_shaders.h" open="0" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="178" topLine="769" />
</Cursor>
</File>
<File name="rc_particles.h" open="0" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="6262" topLine="615" />
</Cursor>
</File>
<File name="rc_windowclose.h" open="1" top="1" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="17458" topLine="304" />
</Cursor>
<Folding>
<Collapse line="157" />
<Collapse line="717" />
<Collapse line="744" />
</Folding>
</File>
<File name="gui_freetype_font.h" open="0" top="0" tabpos="14" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1638" topLine="52" />
</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_video.h" open="0" top="0" tabpos="19" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="515" topLine="80" />
</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_gfx_core.h" open="1" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="11943" topLine="187" />
</Cursor>
<Folding>
<Collapse line="104" />
</Folding>
</File>
<File name="../../irrBullet/include/irrBulletBvhTriangleMeshShape.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1301" topLine="20" />
</Cursor>
</File>
<File name="rc_tilelib.h" open="0" top="0" tabpos="17" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="10085" topLine="360" />
</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="rc_sprite2D.h" open="0" top="0" tabpos="14" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="558" topLine="2" />
</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_base_actor.h" open="1" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="9517" topLine="286" />
</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="rc_joints.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="310" topLine="0" />
</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="rc_actor_material.h" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="751" topLine="1310" />
</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">
<Cursor>
<Cursor1 position="605" topLine="0" />
</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_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="../../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/irrBulletBvhTriangleMeshShape.cpp" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="680" topLine="19" />
</Cursor>
</File>
<File name="../../irrBullet/src/irrBulletTriangleMeshShape.cpp" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="5626" topLine="48" />
</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">
<Cursor>
<Cursor1 position="8391" topLine="231" />
</Cursor>
</File>
<File name="rc_stdlib.h" open="0" top="0" tabpos="41" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="35266" topLine="1531" />
</Cursor>
</File>
<File name="CShader.h" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1204" topLine="34" />
</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="../../irrBullet/include/irrBulletTriangleMeshShape.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="366" topLine="0" />
</Cursor>
</File>
<File name="../../irrBullet/include/irrBulletConeShape.h" open="0" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="0" />
</Cursor>
</File>
<File name="rc_os_defines.h" open="1" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="93" topLine="0" />
</Cursor>
</File>
<File name="rc_actor_physics.h" open="0" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="0" topLine="0" />
</Cursor>
</File>
<File name="ProjectiveTextures.cpp" open="0" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="6152" topLine="0" />