Fixed looping animations for actors

This commit is contained in:
n00b
2024-11-15 22:19:40 -05:00
parent 378c25ffde
commit c085150def
9 changed files with 1448 additions and 1047 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1 +1 @@
,n00b,fedora,13.11.2024 20:17,file:///home/n00b/.config/libreoffice/4;
,n00b,fedora,15.11.2024 20:29,file:///home/n00b/.config/libreoffice/4;

View File

@@ -4,3 +4,5 @@ sub AddSceneSkyDomeEx( img, horiRes, vertRes, txPercentage, spherePercentage, ra
sub RemoveSceneSky( )
sub SetWorld3DMaxSubSteps( steps )
sub SetWorld3DTimeStep( ts )
function GetWorld3DMaxSubSteps()
function GetWorld3DTimeStep()

View File

@@ -30,3 +30,22 @@ sub setSpriteAwake( spr_id, flag)
function spriteIsAwake( spr_id)
sub setSpriteFixedRotation( spr_id, flag)
function spriteIsFixedRotation( spr_id)
sub SetSpriteDensity( spr_id, density )
function GetSpriteDensity( spr_id )
sub SetSpriteFriction( spr_id, friction )
function GetSpriteFriction( spr_id )
sub SetSpriteRestitution( spr_id, restitution )
function GetSpriteRestitution( spr_id )
sub SetSpriteRestitutionThreshold( spr_id, threshold )
function GetSpriteRestitutionThreshold( spr_id )
sub GetSpriteAABB( spr_id, ByRef x1, ByRef y1, ByRef x2, ByRef y2 )
sub SetGravity2D( x, y )
sub GetGravity2D( ByRef x, ByRef y )
sub SetWorld2DTimeStep( ts )
sub SetWorld2DVelocityIterations( v )
sub SetWorld2DPositionIterations( p )
function GetWorld2DTimeStep()
function GetWorld2DVelocityIterations()
function GetWorld2DPositionIterations()
sub SetWorld2DAutoClearForces( flag )
function GetWorld2DAutoClearForces()

View File

@@ -31,6 +31,7 @@ embedded_functions.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/tilemaps.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/mesh.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/actor.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/actor_animation.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/actor_physics.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/constraint3D.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/camera.bas
@@ -39,5 +40,4 @@ embedded_functions.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/lights.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/terrain.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/water.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/actor_animation.bas
/home/n00b/Projects/RCBASIC4/rcbasic_build/intern_lib/materials.bas

View File

@@ -331,12 +331,10 @@ N main.CanvasClip w 2
N main.CanvasClip h 3
N main.SetCanvasPhysics2D c_num 0
N main.SetCanvasPhysics2D state 1
N main.OpenCanvasSpriteLayer w 0
N main.OpenCanvasSpriteLayer h 1
N main.OpenCanvasSpriteLayer viewport_x 2
N main.OpenCanvasSpriteLayer viewport_y 3
N main.OpenCanvasSpriteLayer viewport_w 4
N main.OpenCanvasSpriteLayer viewport_h 5
N main.OpenCanvasSpriteLayer viewport_x 0
N main.OpenCanvasSpriteLayer viewport_y 1
N main.OpenCanvasSpriteLayer viewport_w 2
N main.OpenCanvasSpriteLayer viewport_h 3
N main.Circle x 0
N main.Circle y 1
N main.Circle radius 2
@@ -924,6 +922,319 @@ N main.NumSpriteAnimationLoops sprite 0
N main.SpriteAnimationIsPlaying sprite 0
N main.DeleteSpriteAnimation sprite 0
N main.DeleteSpriteAnimation animation 1
N main.getSpriteCenter spr_id 0
BN main.getSpriteCenter x 1
BN main.getSpriteCenter y 2
N main.setSpriteLinearVelocity spr_id 0
N main.setSpriteLinearVelocity x 1
N main.setSpriteLinearVelocity y 2
N main.getSpriteLinearVelocity spr_id 0
BN main.getSpriteLinearVelocity x 1
BN main.getSpriteLinearVelocity y 2
N main.setSpriteAngularVelocity spr_id 0
N main.setSpriteAngularVelocity av 1
N main.getSpriteAngularVelocity spr_id 0
N main.applySpriteForce spr_id 0
N main.applySpriteForce fX 1
N main.applySpriteForce fY 2
N main.applySpriteForce pX 3
N main.applySpriteForce pY 4
N main.applySpriteCentralForce spr_id 0
N main.applySpriteCentralForce x 1
N main.applySpriteCentralForce y 2
N main.applySpriteTorque spr_id 0
N main.applySpriteTorque torque 1
N main.applySpriteLinearImpulse spr_id 0
N main.applySpriteLinearImpulse iX 1
N main.applySpriteLinearImpulse iY 2
N main.applySpriteLinearImpulse pX 3
N main.applySpriteLinearImpulse pY 4
N main.applySpriteAngularImpulse spr_id 0
N main.applySpriteAngularImpulse impulse 1
N main.getSpriteMass spr_id 0
N main.getSpriteInertia spr_id 0
N main.getSpriteWorldPoint spr_id 0
N main.getSpriteWorldPoint lX 1
N main.getSpriteWorldPoint lY 2
BN main.getSpriteWorldPoint x 3
BN main.getSpriteWorldPoint y 4
N main.getSpriteWorldVector spr_id 0
N main.getSpriteWorldVector lX 1
N main.getSpriteWorldVector lY 2
BN main.getSpriteWorldVector x 3
BN main.getSpriteWorldVector y 4
N main.getSpriteLocalPoint spr_id 0
N main.getSpriteLocalPoint wX 1
N main.getSpriteLocalPoint wY 2
BN main.getSpriteLocalPoint x 3
BN main.getSpriteLocalPoint y 4
N main.getSpriteLocalVector spr_id 0
N main.getSpriteLocalVector wX 1
N main.getSpriteLocalVector wY 2
BN main.getSpriteLocalVector x 3
BN main.getSpriteLocalVector y 4
N main.getSpriteLinearVelocityFromLocalPoint spr_id 0
N main.getSpriteLinearVelocityFromLocalPoint pX 1
N main.getSpriteLinearVelocityFromLocalPoint pY 2
BN main.getSpriteLinearVelocityFromLocalPoint x 3
BN main.getSpriteLinearVelocityFromLocalPoint y 4
N main.getSpriteLinearVelocityFromWorldPoint spr_id 0
N main.getSpriteLinearVelocityFromWorldPoint wX 1
N main.getSpriteLinearVelocityFromWorldPoint wY 2
BN main.getSpriteLinearVelocityFromWorldPoint x 3
BN main.getSpriteLinearVelocityFromWorldPoint y 4
N main.getSpriteLinearDamping spr_id 0
N main.setSpriteLinearDamping spr_id 0
N main.setSpriteLinearDamping linearDamping 1
N main.getSpriteAngularDamping spr_id 0
N main.setSpriteAngularDamping spr_id 0
N main.setSpriteAngularDamping angularDamping 1
N main.getSpriteGravityScale spr_id 0
N main.setSpriteGravityScale spr_id 0
N main.setSpriteGravityScale g_scale 1
N main.setSpriteBullet spr_id 0
N main.setSpriteBullet flag 1
N main.spriteIsBullet spr_id 0
N main.setSpriteSleepAllowed spr_id 0
N main.setSpriteSleepAllowed flag 1
N main.spriteSleepAllowed spr_id 0
N main.setSpriteAwake spr_id 0
N main.setSpriteAwake flag 1
N main.spriteIsAwake spr_id 0
N main.setSpriteFixedRotation spr_id 0
N main.setSpriteFixedRotation flag 1
N main.spriteIsFixedRotation spr_id 0
N main.SetSpriteDensity spr_id 0
N main.SetSpriteDensity density 1
N main.GetSpriteDensity spr_id 0
N main.SetSpriteFriction spr_id 0
N main.SetSpriteFriction friction 1
N main.GetSpriteFriction spr_id 0
N main.SetSpriteRestitution spr_id 0
N main.SetSpriteRestitution restitution 1
N main.GetSpriteRestitution spr_id 0
N main.SetSpriteRestitutionThreshold spr_id 0
N main.SetSpriteRestitutionThreshold threshold 1
N main.GetSpriteAABB spr_id 0
BN main.GetSpriteAABB x1 1
BN main.GetSpriteAABB y1 2
BN main.GetSpriteAABB x2 3
BN main.GetSpriteAABB y2 4
N main.SetGravity2D x 0
N main.SetGravity2D y 1
BN main.GetGravity2D x 0
BN main.GetGravity2D y 1
N main.SetWorld2DTimeStep ts 0
N main.SetWorld2DVelocityIterations v 0
N main.SetWorld2DPositionIterations p 0
N main.SetWorld2DAutoClearForces flag 0
N main.createDistanceJoint spriteA 0
N main.createDistanceJoint spriteB 1
N main.createDistanceJoint aX 2
N main.createDistanceJoint aY 3
N main.createDistanceJoint bX 4
N main.createDistanceJoint bY 5
N main.createDistanceJoint collide_connect 6
N main.createFrictionJoint spriteA 0
N main.createFrictionJoint spriteB 1
N main.createFrictionJoint x 2
N main.createFrictionJoint y 3
N main.createFrictionJoint collide_connect 4
N main.createGearJoint jointA 0
N main.createGearJoint jointB 1
N main.createGearJoint g_ratio 2
N main.createGearJoint collide_connect 3
N main.createMotorJoint spriteA 0
N main.createMotorJoint spriteB 1
N main.createMotorJoint collide_connect 2
N main.createPrismaticJoint spriteA 0
N main.createPrismaticJoint spriteB 1
N main.createPrismaticJoint aX 2
N main.createPrismaticJoint aY 3
N main.createPrismaticJoint axisX 4
N main.createPrismaticJoint axisY 5
N main.createPrismaticJoint collide_connect 6
N main.createPulleyJoint spriteA 0
N main.createPulleyJoint spriteB 1
N main.createPulleyJoint gaX 2
N main.createPulleyJoint gaY 3
N main.createPulleyJoint gbX 4
N main.createPulleyJoint gbY 5
N main.createPulleyJoint aX 6
N main.createPulleyJoint aY 7
N main.createPulleyJoint bX 8
N main.createPulleyJoint bY 9
N main.createPulleyJoint j_ratio 10
N main #fn11 11
N main.createPulleyJoint collide_connect 11
N main.createRevoluteJoint spriteA 0
N main.createRevoluteJoint spriteB 1
N main.createRevoluteJoint x 2
N main.createRevoluteJoint y 3
N main.createRevoluteJoint collide_connect 4
N main.createWeldJoint spriteA 0
N main.createWeldJoint spriteB 1
N main.createWeldJoint x 2
N main.createWeldJoint y 3
N main.createWeldJoint collide_connect 4
N main.createWheelJoint spriteA 0
N main.createWheelJoint spriteB 1
N main.createWheelJoint aX 2
N main.createWheelJoint aY 3
N main.createWheelJoint axisX 4
N main.createWheelJoint axisY 5
N main.createWheelJoint collide_connect 6
N main.getJointWorldAnchorA joint_id 0
BN main.getJointWorldAnchorA x 1
BN main.getJointWorldAnchorA y 2
N main.getJointWorldAnchorB joint_id 0
BN main.getJointWorldAnchorB x 1
BN main.getJointWorldAnchorB y 2
N main.getJointReactionForce joint_id 0
N main.getJointReactionForce inv_dt 1
BN main.getJointReactionForce x 2
BN main.getJointReactionForce y 3
N main.getJointReactionTorque joint_id 0
N main.getJointReactionTorque inv_dt 1
N main.getJointLocalAnchorA joint_id 0
BN main.getJointLocalAnchorA x 1
BN main.getJointLocalAnchorA y 2
N main.getJointLocalAnchorB joint_id 0
BN main.getJointLocalAnchorB x 1
BN main.getJointLocalAnchorB y 2
N main.setJointLength joint_id 0
N main.setJointLength jlen 1
N main.getJointLength joint_id 0
N main.setJointMinLength joint_id 0
N main.setJointMinLength jlen 1
N main.getJointMinLength joint_id 0
N main.setJointMaxLength joint_id 0
N main.setJointMaxLength jlen 1
N main.getJointMaxLength joint_id 0
N main.getJointCurrentLength joint_id 0
N main.setJointStiffness joint_id 0
N main.setJointStiffness stiffness 1
N main.getJointStiffness joint_id 0
N main.setJointDamping joint_id 0
N main.setJointDamping damping 1
N main.getJointDamping joint_id 0
N main.setJointMaxForce joint_id 0
N main.setJointMaxForce force 1
N main.getJointMaxForce joint_id 0
N main.setJointMaxTorque joint_id 0
N main.setJointMaxTorque torque 1
N main.getJointMaxTorque joint_id 0
N main.setJointCorrectionFactor joint_id 0
N main.setJointCorrectionFactor factor 1
N main.getJointCorrectionFactor joint_id 0
N main.setJointRatio joint_id 0
N main.setJointRatio j_ratio 1
N main.getJointRatio joint_id 0
N main.setJointLinearOffset joint_id 0
N main.setJointLinearOffset x 1
N main.setJointLinearOffset y 2
N main.getJointLinearOffset joint_id 0
BN main.getJointLinearOffset x 1
BN main.getJointLinearOffset y 2
N main.setJointAngularOffset joint_id 0
N main.setJointAngularOffset angleOffset 1
N main.getJointAngularOffset joint_id 0
N main.getJointLocalAxisA joint_id 0
BN main.getJointLocalAxisA x 1
BN main.getJointLocalAxisA y 2
N main.getJointReferenceAngle joint_id 0
N main.getJointTranslation joint_id 0
N main.getJointSpeed joint_id 0
N main.jointIsLimitEnabled joint_id 0
N main.enableJointLimit joint_id 0
N main.enableJointLimit flag 1
N main.getJointLowerLimit joint_id 0
N main.getJointUpperLimit joint_id 0
N main.setJointLimits joint_id 0
N main.setJointLimits lower_limit 1
N main.setJointLimits upper_limit 2
N main.jointMotorIsEnabled joint_id 0
N main.enableJointMotor joint_id 0
N main.enableJointMotor flag 1
N main.setJointMotorSpeed joint_id 0
N main.setJointMotorSpeed speed 1
N main.getJointMotorSpeed joint_id 0
N main.setJointMaxMotorForce joint_id 0
N main.setJointMaxMotorForce force 1
N main.getJointMaxMotorForce joint_id 0
N main.getJointMotorForce joint_id 0
N main.getJointMotorForce inv_dt 1
N main.setJointMaxMotorTorque joint_id 0
N main.setJointMaxMotorTorque torque 1
N main.getJointMaxMotorTorque joint_id 0
N main.getJointMotorTorque joint_id 0
N main.getJointMotorTorque inv_dt 1
N main.getJointGroundAnchorA joint_id 0
BN main.getJointGroundAnchorA x 1
BN main.getJointGroundAnchorA y 2
N main.getJointGroundAnchorB joint_id 0
BN main.getJointGroundAnchorB x 1
BN main.getJointGroundAnchorB y 2
N main.getJointLengthA joint_id 0
N main.getJointLengthB joint_id 0
N main.getJointCurrentLengthA joint_id 0
N main.getJointCurrentLengthB joint_id 0
N main.setJointOrigin joint_id 0
N main.setJointOrigin x 1
N main.setJointOrigin y 2
N main.getJointAngle joint_id 0
N main.getJointLinearSpeed joint_id 0
N main.getJointAngularSpeed joint_id 0
N main.DeleteJoint joint_id 0
N main.CreateTileSet img_id 0
N main.CreateTileSet tile_w 1
N main.CreateTileSet tile_h 2
N main.SetTileAnimationLength tileset 0
N main.SetTileAnimationLength base_tile 1
N main.SetTileAnimationLength num_frames 2
N main.GetTileAnimationLength tileset 0
N main.GetTileAnimationLength base_tile 1
N main.SetTileAnimationFrame tileset 0
N main.SetTileAnimationFrame base_tile 1
N main.SetTileAnimationFrame anim_frame 2
N main.SetTileAnimationFrame tile_frame 3
N main.GetTileAnimationFrame tileset 0
N main.GetTileAnimationFrame base_tile 1
N main.GetTileAnimationFrame anim_frame 2
N main.SetTileAnimationSpeed tileset 0
N main.SetTileAnimationSpeed base_tile 1
N main.SetTileAnimationSpeed speed 2
N main.GetTileAnimationSpeed tileset 0
N main.GetTileAnimationSpeed base_tile 1
N main.CreateTileMap tileset 0
N main.CreateTileMap widthInTiles 1
N main.CreateTileMap heightInTiles 2
N main.SetTileMapSize tilemap 0
N main.SetTileMapSize widthInTiles 1
N main.SetTileMapSize heightInTiles 2
N main.GetTileMapSize tilemap 0
BN main.GetTileMapSize widthInTiles 1
BN main.GetTileMapSize heightInTiles 2
N main.SetTile tilemap 0
N main.SetTile tile 1
N main.SetTile x 2
N main.SetTile y 3
N main.GetTile tilemap 0
N main.GetTile x 1
N main.GetTile y 2
N main.FillTile tilemap 0
N main.FillTile tile 1
N main.FillTile x 2
N main.FillTile y 3
N main.FillTile widthInTiles 4
N main.FillTile heightInTiles 5
N main.DrawTileMap tilemap 0
N main.DrawTileMap x 1
N main.DrawTileMap y 2
N main.DrawTileMap w 3
N main.DrawTileMap h 4
N main.DrawTileMap offset_x 5
N main.DrawTileMap offset_y 6
S main.LoadMesh mesh_file$ 0
N main.DeleteMesh mesh 0
N main.AddMeshBuffer mesh 0
@@ -1007,6 +1318,40 @@ N main.GetActorAutoCulling actor 0
N main.AddActorShadow actor 0
N main.RemoveActorShadow actor 0
N main.ActorExists actor 0
N main.CreateActorAnimation actor 0
N main.CreateActorAnimation start_frame 1
N main.CreateActorAnimation end_frame 2
N main.CreateActorAnimation speed 3
N main.SetActorAnimation actor 0
N main.SetActorAnimation animation 1
N main.SetActorAnimation num_loops 2
N main.SetActorAnimationSpeed actor 0
N main.SetActorAnimationSpeed animation 1
N main.SetActorAnimationSpeed speed 2
N main.SetActorAnimationFrames actor 0
N main.SetActorAnimationFrames animation 1
N main.SetActorAnimationFrames start_frame 2
N main.SetActorAnimationFrames end_frame 3
N main.GetActorCurrentAnimation actor 0
N main.GetActorAnimationSpeed actor 0
N main.GetActorAnimationSpeed animation 1
N main.GetActorAnimationStartFrame actor 0
N main.GetActorAnimationStartFrame animation 1
N main.GetActorAnimationEndFrame actor 0
N main.GetActorAnimationEndFrame animation 1
N main.SetActorFrame actor 0
N main.SetActorFrame frame 1
N main.GetActorFrame actor 0
N main.ActorAnimationIsPlaying actor 0
N main.NumActorAnimationLoops actor 0
N main.SetActorMD2Animation actor 0
N main.SetActorMD2Animation anim 1
N main.SetActorMD2Animation num_loops 2
N main.SetActorMD2AnimationByName actor 0
S main.SetActorMD2AnimationByName anim_name$ 0
N main.SetActorMD2AnimationByName num_loops 1
N main.DeleteActorAnimation actor 0
N main.DeleteActorAnimation animation 1
N main.SetGravity3D x 0
N main.SetGravity3D y 1
N main.SetGravity3D z 2
@@ -1136,10 +1481,10 @@ N main.applyActorImpulseWorld rel_y 5
N main.applyActorImpulseWorld rel_z 6
N main.clearActorForces actor 0
N main.updateActorInertiaTensor actor 0
N main.getActorCOMPosition actor 0
BN main.getActorCOMPosition x 1
BN main.getActorCOMPosition y 2
BN main.getActorCOMPosition z 3
N main.getActorCenter actor 0
BN main.getActorCenter x 1
BN main.getActorCenter y 2
BN main.getActorCenter z 3
N main.getActorRotationQ actor 0
BN main.getActorRotationQ x 1
BN main.getActorRotationQ y 2
@@ -1169,13 +1514,13 @@ N main.setActorAngularVelocityWorld actor 0
N main.setActorAngularVelocityWorld x 1
N main.setActorAngularVelocityWorld y 2
N main.setActorAngularVelocityWorld z 3
N main.getActorLocalPointVelocity actor 0
N main.getActorLocalPointVelocity rel_x 1
N main.getActorLocalPointVelocity rel_y 2
N main.getActorLocalPointVelocity rel_z 3
BN main.getActorLocalPointVelocity x 4
BN main.getActorLocalPointVelocity y 5
BN main.getActorLocalPointVelocity z 6
N main.getActorVelocityInLocalPoint actor 0
N main.getActorVelocityInLocalPoint rel_x 1
N main.getActorVelocityInLocalPoint rel_y 2
N main.getActorVelocityInLocalPoint rel_z 3
BN main.getActorVelocityInLocalPoint x 4
BN main.getActorVelocityInLocalPoint y 5
BN main.getActorVelocityInLocalPoint z 6
N main.getActorLinearVelocityLocal actor 0
BN main.getActorLinearVelocityLocal x 1
BN main.getActorLinearVelocityLocal y 2
@@ -1655,40 +2000,6 @@ N main.SetTerrainPatchLOD actor 0
N main.SetTerrainPatchLOD patchX 1
N main.SetTerrainPatchLOD patchZ 2
N main.SetTerrainPatchLOD LOD 3
N main.CreateActorAnimation actor 0
N main.CreateActorAnimation start_frame 1
N main.CreateActorAnimation end_frame 2
N main.CreateActorAnimation speed 3
N main.SetActorAnimation actor 0
N main.SetActorAnimation animation 1
N main.SetActorAnimation num_loops 2
N main.SetActorAnimationSpeed actor 0
N main.SetActorAnimationSpeed animation 1
N main.SetActorAnimationSpeed speed 2
N main.SetActorAnimationFrames actor 0
N main.SetActorAnimationFrames animation 1
N main.SetActorAnimationFrames start_frame 2
N main.SetActorAnimationFrames end_frame 3
N main.GetActorCurrentAnimation actor 0
N main.GetActorAnimationSpeed actor 0
N main.GetActorAnimationSpeed animation 1
N main.GetActorAnimationStartFrame actor 0
N main.GetActorAnimationStartFrame animation 1
N main.GetActorAnimationEndFrame actor 0
N main.GetActorAnimationEndFrame animation 1
N main.SetActorFrame actor 0
N main.SetActorFrame frame 1
N main.GetActorFrame actor 0
N main.ActorAnimationIsPlaying actor 0
N main.NumActorAnimationLoops actor 0
N main.SetActorMD2Animation actor 0
N main.SetActorMD2Animation anim 1
N main.SetActorMD2Animation num_loops 2
N main.SetActorMD2AnimationByName actor 0
S main.SetActorMD2AnimationByName anim_name$ 0
N main.SetActorMD2AnimationByName num_loops 1
N main.DeleteActorAnimation actor 0
N main.DeleteActorAnimation animation 1
N main.deleteMaterial material_id 0
N main.setActorMaterial actor 0
N main.setActorMaterial material_num 1

View File

@@ -307,6 +307,9 @@ int rc_createAnimatedActor(int mesh_id)
animation.frame_start_time = SDL_GetTicks();
animation.frame_swap_time = 1000/60;
rc_actor[actor_id].animation.push_back(animation);
rc_actor[actor_id].current_animation = 0;
rc_actor[actor_id].current_animation_loop = 0;
rc_actor[actor_id].num_animation_loops = 0;
rc_animEndCallBack* anim_callback = new rc_animEndCallBack();
anim_callback->ref_actor = &rc_actor[actor_id];
anim_callback->OnAnimationEnd(node);

View File

@@ -583,12 +583,34 @@ class rc_animEndCallBack : public IAnimationEndCallBack
//std::cout << "animating" << std::endl;
irr::scene::IAnimatedMeshSceneNode* node = (irr::scene::IAnimatedMeshSceneNode*) ref_actor->mesh_node;
int animation = ref_actor->current_animation;
if(animation < 0 || animation >= ref_actor->animation.size())
if(animation == RC_ANIMATION_MD2)
{
int start_frame = node->getStartFrame();
int end_frame = node->getEndFrame();
node->setFrameLoop(start_frame, end_frame);
ref_actor->current_animation_loop++;
}
else if(animation == RC_ANIMATION_TRANSITION)
{
//TODO: Transitions are currently broken
}
else if(animation < 0 || animation >= ref_actor->animation.size())
{
return;
int start_frame = ref_actor->animation[animation].start_frame;
int end_frame = ref_actor->animation[animation].end_frame;
node->setFrameLoop(start_frame, end_frame);
ref_actor->current_animation_loop++;
}
else
{
if(!ref_actor->animation[animation].active)
{
ref_actor->isPlaying = false;
ref_actor->current_animation_loop = 0;
return;
}
int start_frame = ref_actor->animation[animation].start_frame;
int end_frame = ref_actor->animation[animation].end_frame;
node->setFrameLoop(start_frame, end_frame);
ref_actor->current_animation_loop++;
}
}
else
{

View File

@@ -1,5 +1,5 @@
# depslib dependency file v1.0
1731681709 source:/home/n00b/Projects/RCBASIC4/rcbasic_runtime/main.cpp
1731722537 source:/home/n00b/Projects/RCBASIC4/rcbasic_runtime/main.cpp
"rc_os_defines.h"
<emscripten.h>
<sys/param.h>
@@ -32,10 +32,10 @@
<irrtheora.h>
"rc_func130_cases.h"
1731717801 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_os_defines.h
1731726964 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_os_defines.h
<TargetConditionals.h>
1731684932 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_defines.h
1731722537 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_defines.h
1730291453 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_stdlib.h
"rc_os_defines.h"
@@ -1247,7 +1247,7 @@
1727545973 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/RealisticWater.h
<irrlicht.h>
1731712885 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_gfx.h
1731722537 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_gfx.h
"SDL.h"
<SDL2/SDL.h>
<irrlicht.h>
@@ -1271,7 +1271,7 @@
"rc_joints.h"
<irrtheora.h>
1731709491 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_gfx_core.h
1731727042 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_gfx_core.h
"SDL.h"
"btBulletDynamicsCommon.h"
"BulletSoftBody/btSoftRigidDynamicsWorld.h"
@@ -2272,7 +2272,7 @@
"rc_gfx_core.h"
<irrtheora.h>
1731711022 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_func130_cases.h
1731722537 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_func130_cases.h
1724469097 source:/home/n00b/Projects/irrBullet/src/irrBullet.cpp
"irrBullet.h"
@@ -2487,7 +2487,7 @@
<irrlicht.h>
<cmath>
1731693546 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_spritelib.h
1731722537 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_spritelib.h
"SDL.h"
<SDL2/SDL.h>
"rc_sprite2D.h"
@@ -2505,7 +2505,7 @@
<irrlicht.h>
<vector>
1731693615 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_sprite_physics.h
1731722537 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_sprite_physics.h
"rc_sprite2D.h"
1730291453 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_joints.h
@@ -2514,14 +2514,14 @@
"rc_sprite2D.h"
"rc_gfx_core.h"
1731695180 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_physics3D_base.h
1731722537 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_physics3D_base.h
"rc_gfx_core.h"
1730291453 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_base_actor.h
1731725236 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_base_actor.h
1731710840 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_actor_material.h
1730291453 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_actor_animation.h
1731727068 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_actor_animation.h
1730291453 /home/n00b/Projects/RCBASIC4/rcbasic_runtime/rc_actor_physics.h