]> git.jsancho.org Git - guile-irrlicht.git/blobdiff - src/scene-manager.cpp
fix gsubr limits
[guile-irrlicht.git] / src / scene-manager.cpp
index c1c8e270611c294a92fe6cc8822cbe0f58e9369b..51e561ad4c5159861294c5d03e8dc63dde7689cb 100644 (file)
@@ -76,17 +76,33 @@ scene_ISceneManager_addCameraSceneNode (SCM scene_manager,
 template <typename TParent>
 SCM
 scene_ISceneManager_addCameraSceneNodeFPS (SCM scene_manager,
-                                           SCM parent,
-                                           SCM rotate_speed,
-                                           SCM move_speed,
-                                           SCM id,
-                                           SCM key_map_array,
-                                           SCM key_map_size,
-                                           SCM no_vertical_movement,
-                                           SCM jump_speed,
-                                           SCM invert_mouse,
-                                           SCM make_active)
+                                           SCM rest)
 {
+  SCM parent;
+  SCM rotate_speed;
+  SCM move_speed;
+  SCM id;
+  SCM key_map_array;
+  SCM key_map_size;
+  SCM no_vertical_movement;
+  SCM jump_speed;
+  SCM invert_mouse;
+  SCM make_active;
+
+  scm_c_bind_keyword_arguments ("scene_ISceneManager_addCameraSceneNodeFPS",
+                                rest, (scm_t_keyword_arguments_flags)0,
+                                scm_from_utf8_keyword ("parent"), &parent,
+                                scm_from_utf8_keyword ("rotate-speed"), &rotate_speed,
+                                scm_from_utf8_keyword ("move-speed"), &move_speed,
+                                scm_from_utf8_keyword ("id"), &id,
+                                scm_from_utf8_keyword ("key-map-array"), &key_map_array,
+                                scm_from_utf8_keyword ("key-map-size"), &key_map_size,
+                                scm_from_utf8_keyword ("no-vertical-movement"), &no_vertical_movement,
+                                scm_from_utf8_keyword ("jump-speed"), &jump_speed,
+                                scm_from_utf8_keyword ("invert-mouse"), &invert_mouse,
+                                scm_from_utf8_keyword ("make-active"), &make_active,
+                                SCM_UNDEFINED);
+
   scene::ISceneManager* smgr = (scene::ISceneManager*) scm_to_pointer (scene_manager);
   scene::ICameraSceneNode* camera =
     smgr->addCameraSceneNodeFPS ((TParent) scm_to_pointer (parent),
@@ -341,7 +357,7 @@ extern "C" {
                   scene_ISceneManager_addAnimatedMeshSceneNode<scene::ISceneNode*>);
     DEFINE_GSUBR ("scene_ISceneManager_addCameraSceneNode_ISceneNode", 6, 0, 0,
                   scene_ISceneManager_addCameraSceneNode<scene::ISceneNode*>);
-    DEFINE_GSUBR ("scene_ISceneManager_addCameraSceneNodeFPS_ISceneNode", 11, 0, 0,
+    DEFINE_GSUBR ("scene_ISceneManager_addCameraSceneNodeFPS_ISceneNode", 1, 0, 1,
                   scene_ISceneManager_addCameraSceneNodeFPS<scene::ISceneNode*>);
     DEFINE_GSUBR ("scene_ISceneManager_addCubeSceneNode_ISceneNode", 7, 0, 0,
                   scene_ISceneManager_addCubeSceneNode<scene::ISceneNode*>);