#:use-module ((irrlicht bindings core) #:prefix ffi-core:)
#:use-module ((irrlicht bindings scene) #:prefix ffi-scene:)
#:use-module ((irrlicht bindings video) #:prefix ffi-video:)
+ #:use-module (irrlicht util)
#:export (add-animated-mesh-scene-node
add-camera-scene-node
add-camera-scene-node-fps!
(make-c-struct ffi-core:vector3df position)
(make-c-struct ffi-core:vector3df rotation)
(make-c-struct ffi-core:vector3df scale)
- (if also-add-if-mesh-pointer-zero 1 0))))
+ (bool->integer also-add-if-mesh-pointer-zero))))
(if (null-pointer? node) #f node)))
(define* (add-camera-scene-node scene-manager
(make-c-struct ffi-core:vector3df position)
(make-c-struct ffi-core:vector3df lookat)
id
- (if make-active 1 0))))
+ (bool->integer make-active))))
(if (null-pointer? camera) #f camera)))
(define* (add-camera-scene-node-fps! scene-manager
id
key-map-array
key-map-size
- (if no-vertical-movement 1 0)
+ (bool->integer no-vertical-movement)
jump-speed
- (if invert-mouse 1 0)
- (if make-active 1 0)))
+ (bool->integer invert-mouse)
+ (bool->integer make-active)))
(define* (add-octree-scene-node-am scene-manager mesh
#:key
parent
id
minimal-polys-per-node
- (if also-add-if-mesh-pointer-zero 1 0)))
+ (bool->integer also-add-if-mesh-pointer-zero)))
(define (get-mesh scene-manager filename)
(let ((mesh (ffi-scene:get-mesh scene-manager (string->pointer filename))))
(ffi-scene:set-material-flag-am
node
material-flag
- (if newvalue 1 0))))
+ (bool->integer newvalue))))
(define (set-material-texture-am! node texture-layer texture)
(ffi-scene:set-material-texture-am node texture-layer texture))