X-Git-Url: https://git.jsancho.org/?p=guile-irrlicht.git;a=blobdiff_plain;f=src%2Fanimated-mesh-scene-node.cpp;h=e63541bcfd2692ebb9a260d02150abebd7a0a2fb;hp=f19f0aa422acf608c654bd77505d1650796b4269;hb=3bb58c2b45af12c0f9c9eac648e67ac6fa90e104;hpb=69ed7f57e6295034fa64ab2bf6d10da6882860ef diff --git a/src/animated-mesh-scene-node.cpp b/src/animated-mesh-scene-node.cpp index f19f0aa..e63541b 100644 --- a/src/animated-mesh-scene-node.cpp +++ b/src/animated-mesh-scene-node.cpp @@ -21,33 +21,50 @@ #include #include - #include "animated-mesh-md2.h" #include "animated-mesh-scene-node.h" #include "gsubr.h" #include "wrapped.h" -extern "C" { - - void - init_animated_mesh_scene_node (void) - { - init_animated_mesh_scene_node_type (); - DEFINE_GSUBR ("set-md2-animation!", 2, 0, 0, irr_scene_setMD2Animation); - } - - DEFINE_WRAPPED_TYPE (irr::scene::IAnimatedMeshSceneNode*, "animated-mesh-scene-node", - init_animated_mesh_scene_node_type, animated_mesh_scene_node_p, - wrap_animated_mesh_scene_node, unwrap_animated_mesh_scene_node); - - SCM - irr_scene_setMD2Animation (SCM wrapped_animated_mesh_scene_node, - SCM anim) - { - irr::scene::IAnimatedMeshSceneNode* node = - unwrap_animated_mesh_scene_node (wrapped_animated_mesh_scene_node); - bool result = node->setMD2Animation (scm_to_md2_animation_type (anim)); - return scm_from_bool (result); - } +using namespace irr; + +SCM +IAnimatedMeshSceneNode_setAnimationSpeed (SCM animated_mesh_scene_node, + SCM frames_per_second) +{ + scene::IAnimatedMeshSceneNode* node = + (scene::IAnimatedMeshSceneNode*) scm_to_irr_pointer (animated_mesh_scene_node); + node->setAnimationSpeed (scm_to_double (frames_per_second)); + return SCM_UNSPECIFIED; +} + +SCM +IAnimatedMeshSceneNode_setFrameLoop (SCM animated_mesh_scene_node, + SCM begin, + SCM end) +{ + return scm_from_bool + (((scene::IAnimatedMeshSceneNode*)scm_to_irr_pointer (animated_mesh_scene_node))-> + setFrameLoop (scm_to_int32 (begin), + scm_to_int32 (end))); +} + +SCM +IAnimatedMeshSceneNode_setMD2Animation (SCM animated_mesh_scene_node, + SCM anim) +{ + return scm_from_bool + (((scene::IAnimatedMeshSceneNode*)scm_to_irr_pointer (animated_mesh_scene_node))-> + setMD2Animation (scm_to_md2_animation_type (anim))); +} +void +init_animated_mesh_scene_node (void) +{ + DEFINE_GSUBR ("IAnimatedMeshSceneNode_setAnimationSpeed", 2, 0, 0, + IAnimatedMeshSceneNode_setAnimationSpeed); + DEFINE_GSUBR ("IAnimatedMeshSceneNode_setFrameLoop", 3, 0, 0, + IAnimatedMeshSceneNode_setFrameLoop); + DEFINE_GSUBR ("IAnimatedMeshSceneNode_setMD2Animation", 2, 0, 0, + IAnimatedMeshSceneNode_setMD2Animation); }