]> git.jsancho.org Git - guile-irrlicht.git/blobdiff - irrlicht/bindings/scene.scm
TOC with direct C++
[guile-irrlicht.git] / irrlicht / bindings / scene.scm
index 752825bfc265c4f468b7ebf67ecaa251ae836cb5..ad2646b27a1b4dae9765c9cfa5eec7e89bf4b4fc 100644 (file)
@@ -19,9 +19,8 @@
 
 
 (define-module (irrlicht bindings scene)
-  #:use-module (system foreign))
-
-(define cirr (dynamic-link "libCIrrlicht"))
+  #:use-module (system foreign)
+  #:use-module (irrlicht util foreign))
 
 ;;  irr_scene_EMD2_ANIMATION_TYPE enum
 (define-public EMAT_STAND                 0)
 (define-public EMAT_BOOM                 20)
 (define-public EMAT_COUNT                21)
 
+;; irr_scene_E_PRIMITIVE_TYPE enum
+(define-public EPT_POINTS          0)
+(define-public EPT_LINE_STRIP      1)
+(define-public EPT_LINE_LOOP       2)
+(define-public EPT_LINES           3)
+(define-public EPT_TRIANGLE_STRIP  4)
+(define-public EPT_TRIANGLE_FAN    5)
+(define-public EPT_TRIANGLES       6)
+(define-public EPT_QUAD_STRIP      7)
+(define-public EPT_QUADS           8)
+(define-public EPT_POLYGON         9)
+(define-public EPT_POINT_SPRITES  10)
+
 ;; Scene functions
-(define-public add-animated-mesh-scene-node
-  (pointer->procedure
-   '*
-   (dynamic-func "irr_scene_addAnimatedMeshSceneNode" cirr)
-   (list '* '* '* int '* '* '* int)))
-
-(define-public add-camera-scene-node
-  (pointer->procedure
-   '*
-   (dynamic-func "irr_scene_addCameraSceneNode" cirr)
-   (list '* '* '* '* int int)))
-
-(define-public add-camera-scene-node-fps
-  (pointer->procedure
-   '*
-   (dynamic-func "irr_scene_addCameraSceneNodeFPS" cirr)
-   (list '* '* float float int '* int int float int int)))
-
-(define-public add-octree-scene-node-am
-  (pointer->procedure
-   '*
-   (dynamic-func "irr_scene_addOctreeSceneNodeAM" cirr)
-   (list '* '* '* int int int)))
-
-(define-public draw-all
-  (pointer->procedure
-   void
-   (dynamic-func "irr_scene_drawAll" cirr)
-   (list '*)))
-
-(define-public get-mesh
-  (pointer->procedure
-   '*
-   (dynamic-func "irr_scene_getMesh" cirr)
-   (list '* '*)))
-
-(define-public set-material-flag-am
-  (pointer->procedure
-   void
-   (dynamic-func "irr_scene_setMaterialFlagAM" cirr)
-   (list '* int int)))
-
-(define-public set-material-texture-am
-  (pointer->procedure
-   void
-   (dynamic-func "irr_scene_setMaterialTextureAM" cirr)
-   (list '* int '*)))
-
-(define-public set-md2-animation
-  (pointer->procedure
-   void
-   (dynamic-func "irr_scene_setMD2Animation" cirr)
-   (list '* int)))
-
-(define-public set-position
-  (pointer->procedure
-   void
-   (dynamic-func "irr_scene_setPosition" cirr)
-   (list '* '*)))
+(define-foreign add-animated-mesh-scene-node
+  '* "irr_scene_addAnimatedMeshSceneNode" (list '* '* '* int '* '* '* int))
+
+(define-foreign add-animator
+  void "irr_scene_addAnimator" (list '* '*))
+
+(define-foreign add-camera-scene-node
+  '* "irr_scene_addCameraSceneNode" (list '* '* '* '* int int))
+
+(define-foreign add-camera-scene-node-fps
+  '* "irr_scene_addCameraSceneNodeFPS" (list '* '* float float int '* int int float int int))
+
+(define-foreign add-custom-scene-node
+  '* "irr_scene_addCustomSceneNode" (list '* '* int '* '* '* '* '* '* '*))
+
+(define-foreign add-octree-scene-node
+  '* "irr_scene_addOctreeSceneNode" (list '* '* '* int int int))
+
+(define-foreign create-rotation-animator
+  '* "irr_scene_createRotationAnimator" (list '* '*))
+
+(define-foreign draw-all
+  void "irr_scene_drawAll" (list '*))
+
+(define-foreign get-absolute-transformation
+  '* "irr_scene_getAbsoluteTransformation" (list '*))
+
+(define-foreign get-mesh
+  '* "irr_scene_getMesh" (list '* '*))
+
+(define-foreign get-root-scene-node
+  '* "irr_scene_getRootSceneNode" (list '*))
+
+(define-foreign set-material-flag
+  void "irr_scene_setMaterialFlag" (list '* int int))
+
+(define-foreign set-material-texture
+  void "irr_scene_setMaterialTexture" (list '* int '*))
+
+(define-foreign set-md2-animation
+  void "irr_scene_setMD2Animation" (list '* int))
+
+(define-foreign set-position
+  void "irr_scene_setPosition" (list '* '*))