Permalink
Browse files

added left jet model animation and action

  • Loading branch information...
1 parent 75e3aea commit 527182c71b9a34508a9a2e2a1e9d739ed0077ced @dballard committed Jun 28, 2012
Showing with 26 additions and 15 deletions.
  1. +10 −2 engine.lisp
  2. +16 −13 flight-sim.lisp
View
@@ -95,5 +95,13 @@
; ((32 64 2) (32 132 2) (32 164 2))
; ((0 255 2) (0 255 2) (64 255 2))))
-;(defparameter *jet-vertices*
-; '((0 0 -0.2) (-0.2 0 0.2) (0.2 0 0.2) (0 (0 0.4 1) 0)))
+(defparameter *left-jet-vertices*
+ (make-thruster-vertices
+ (rotate-points (transform-points *3pyramid-points* (vector 0.25 0.25 0.2)) (vector (- (+ (/ pi 2) .5)) 0 .5))
+ (rotate-points (transform-points *3pyramid-points* (vector 0.25 0.25 0.4)) (vector (- (+ (/ pi 2) .5)) 0 .5))
+ 2))
+
+(defparameter *left-jet-colors*
+ (make-thruster-colors '(40 40 40) '(255 255 0) '(80 80 80) '(255 255 255) 2))
+; (make-thruster-colors '(196 196 196) '(255 255 196) '(196 196 196) '(255 255 255) 2))
+
View
@@ -65,10 +65,6 @@
(case key
((:sdl-key-w) ; + z
(activate-attachment *self* :thruster (wall-time)))
- ; (progn
- ;(setf (aref (acceleration (motion *self*)) 2) (- *acceleration*))
- ;(engine-start (engine *self*) (wall-time))))
- ; (activate-engine *self* :thrust)))
; ((:sdl-key-s) ; - z
; (setf (aref (acceleration (motion *self*)) 2) *acceleration*))
@@ -78,28 +74,24 @@
; (setf (aref (acceleration (motion *self*)) 0) (- *acceleration*)))
; ((:sdl-key-e) ; + y
; (setf (aref (acceleration (motion *self*)) 1) *acceleration*))
- ; ((:sdl-key-d) ; - y
- ; (setf (aref (acceleration (motion *self*)) 1) (- *acceleration*)))
+ ((:sdl-key-d) ; - y
+ (activate-attachment *self* :left-jet (wall-time)))
(otherwise (format t "~a~%" key))))
(defun thruster-off (key)
(case key
((:sdl-key-w) ; + z
(deactivate-attachment *self* :thruster))
- ; (progn
- ; (setf (aref (acceleration (motion *self*)) 2) 0)
- ; (engine-stop (engine *self*))))
-
- ;((:sdl-key-s) ; - z
+ ;((:sdl-key-s) ; - z
; (setf (aref (acceleration (motion *self*)) 2) 0))
;((:sdl-key-q) ; + q
; (setf (aref (acceleration (motion *self*)) 0) 0))
;((:sdl-key-a) ; - a
; (setf (aref (acceleration (motion *self*)) 0) 0))
;((:sdl-key-e) ; + e
; (setf (aref (acceleration (motion *self*)) 1) 0))
- ;((:sdl-key-d) ; - d
- ; (setf (aref (acceleration (motion *self*)) 1) 0))
+ ((:sdl-key-d) ; - d
+ (deactivate-attachment *self* :left-jet))
(otherwise (format t "~a~%" key))))
(defun phys-step (time)
@@ -190,6 +182,17 @@
:body (make-instance 'body
:coords (vector 0 0 1.5)))
+ :left-jet
+ (make-instance 'engine-object
+ :activation-time 2
+ :model (make-instance 'engine-model
+ :template-vertices *left-jet-vertices*
+ :template-colors *left-jet-colors*
+ :faces (make-2d-array 4 3 '((0 1 3) (0 2 1) (0 3 2) (1 2 3)))
+ :face-colors (make-2d-array 4 3 '((0 1 3) (0 2 1) (0 3 2) (1 2 3))))
+ :force (make-instance 'force :newtons 2000 :direction (vector 1 0 0))
+ :body (make-instance 'body
+ :coords (vector -.5 .2 0)))
; yaw (starboard (right) positive)
; :pos-yaw
; (make-instance 'engine-object

0 comments on commit 527182c

Please sign in to comment.