X-Git-Url: https://git.jsancho.org/?p=guile-irrlicht.git;a=blobdiff_plain;f=src%2Fanimated-mesh-scene-node.cpp;h=e63541bcfd2692ebb9a260d02150abebd7a0a2fb;hp=be46b3ab60bfb4aa047f1dbebbdf27cb8fed8046;hb=3bb58c2b45af12c0f9c9eac648e67ac6fa90e104;hpb=2806f03eafc48ec9ef02a3dc2d74133eaf11ccc1 diff --git a/src/animated-mesh-scene-node.cpp b/src/animated-mesh-scene-node.cpp index be46b3a..e63541b 100644 --- a/src/animated-mesh-scene-node.cpp +++ b/src/animated-mesh-scene-node.cpp @@ -21,19 +21,50 @@ #include #include +#include "animated-mesh-md2.h" #include "animated-mesh-scene-node.h" +#include "gsubr.h" #include "wrapped.h" -extern "C" { +using namespace irr; - void - init_animated_mesh_scene_node (void) - { - init_animated_mesh_scene_node_type (); - } +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))); +} - 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 +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); }