- (make <camera-scene-node>
- #:irr-pointer
- (addCameraSceneNodeFPS scene-manager #:parent parent #:rotate-speed rotate-speed
- #:move-speed move-speed #:id id #:key-map-array key-map-array
- #:key-map-size key-map-size
- #:no-vertical-movement no-vertical-movement
- #:jump-speed jump-speed #:invert-mouse invert-mouse
- #:make-active make-active)))))
+ (addCameraSceneNodeFPS scene-manager #:parent parent #:rotate-speed rotate-speed
+ #:move-speed move-speed #:id id #:key-map-array key-map-array
+ #:key-map-size key-map-size
+ #:no-vertical-movement no-vertical-movement
+ #:jump-speed jump-speed #:invert-mouse invert-mouse
+ #:make-active make-active))))
+
+(define-method (add-cube-scene-node! (scene-manager <scene-manager>) . rest)
+ (let-keywords rest #f
+ ((size 10)
+ (parent (make <scene-node>))
+ (id -1)
+ (position '(0 0 0))
+ (rotation '(0 0 0))
+ (scale '(1 1 1)))
+ (let ((addCubeSceneNode (get-irrlicht-proc "addCubeSceneNode" scene-manager parent)))
+ (addCubeSceneNode scene-manager size parent id position rotation scale))))
+
+(define-method (add-custom-scene-node! (scene-manager <scene-manager>) proc-render
+ proc-get-bounding-box proc-get-material-count
+ proc-get-material . rest)
+ (let-keywords rest #f
+ ((parent (make <scene-node>))
+ (id -1)
+ (position '(0 0 0))
+ (rotation '(0 0 0))
+ (scale '(1 1 1)))
+ (let ((addCustomSceneNode (get-irrlicht-proc "addCustomSceneNode" scene-manager parent)))
+ (addCustomSceneNode scene-manager proc-render proc-get-bounding-box proc-get-material-count
+ proc-get-material parent id position rotation scale))))