[langband-cvs] CVS: langband classes.lisp,1.148.2.13,1.148.2.14 constants.lisp,1.111.2.6,1.111.2.7 p
Status: Alpha
Brought to you by:
stig
From: Stig E S. <st...@us...> - 2003-08-22 20:32:43
|
Update of /cvsroot/langband/langband In directory sc8-pr-cvs1:/tmp/cvs-serv28875 Modified Files: Tag: v017_loop_experiment_2 classes.lisp constants.lisp package.lisp util.lisp Log Message: more tweaking and rearranging Index: classes.lisp =================================================================== RCS file: /cvsroot/langband/langband/classes.lisp,v retrieving revision 1.148.2.13 retrieving revision 1.148.2.14 diff -C2 -d -r1.148.2.13 -r1.148.2.14 *** classes.lisp 22 Aug 2003 13:21:55 -0000 1.148.2.13 --- classes.lisp 22 Aug 2003 19:31:57 -0000 1.148.2.14 *************** *** 1699,1702 **** --- 1699,1707 ---- (change-interval 0)) + (defclass walking-movement (sprite-movement) + ((move-speed :initform +walk-speed+) + (blocking? :initform t) + )) + (defclass thrown-object-movement (sprite-movement) ((move-speed :initform (* 3 +walk-speed+)) Index: constants.lisp =================================================================== RCS file: /cvsroot/langband/langband/constants.lisp,v retrieving revision 1.111.2.6 retrieving revision 1.111.2.7 diff -C2 -d -r1.111.2.6 -r1.111.2.7 *** constants.lisp 22 Aug 2003 13:28:38 -0000 1.111.2.6 --- constants.lisp 22 Aug 2003 19:31:57 -0000 1.111.2.7 *************** *** 323,326 **** --- 323,327 ---- (def-exportconst +throw-speed+ (* 3 +walk-speed+)) ;; pixels pr second (def-exportconst +missile-speed+ (* 4 +walk-speed+)) ;; pixels pr second + (def-exportconst +monster-speed+ (* 4 +walk-speed+)) ;; pixels pr second (def-exportconst +walk-animation-interval+ (floor (/ +tick-precision+ 9.0))) Index: package.lisp =================================================================== RCS file: /cvsroot/langband/langband/package.lisp,v retrieving revision 1.109.2.7 retrieving revision 1.109.2.8 diff -C2 -d -r1.109.2.7 -r1.109.2.8 *** package.lisp 22 Aug 2003 13:21:55 -0000 1.109.2.7 --- package.lisp 22 Aug 2003 19:31:57 -0000 1.109.2.8 *************** *** 152,155 **** --- 152,156 ---- #:visual-projectile + #:walking-movement #:window #:worn-item-slot *************** *** 570,573 **** --- 571,575 ---- #:make-random-level-obj #:make-thrown-visual + #:make-walk-movement #:max-cap #:maximum-hp Index: util.lisp =================================================================== RCS file: /cvsroot/langband/langband/util.lisp,v retrieving revision 1.123.2.21 retrieving revision 1.123.2.22 diff -C2 -d -r1.123.2.21 -r1.123.2.22 *** util.lisp 22 Aug 2003 13:28:38 -0000 1.123.2.21 --- util.lisp 22 Aug 2003 19:31:57 -0000 1.123.2.22 *************** *** 471,488 **** nil)) - (defun sprite-movement (obj from-x from-y to-x to-y &key speed) - (push (get-walk-event obj *map-frame* from-x from-y to-x to-y :speed speed) *visevents*)) - - (defun sprite-movement* (obj from-x from-y to-x to-y) - (multiple-value-bind (fx fy) - (get-relative-coords from-x from-y) - (multiple-value-bind (tx ty) - (get-relative-coords to-x to-y) - (when (and (non-negative-integer? fx) - (non-negative-integer? fy) - (non-negative-integer? tx) - (non-negative-integer? ty)) - (push (get-walk-event obj *map-frame* fx fy tx ty) *visevents*))))) - (defun swap-monsters! (dungeon player from-x from-y to-x to-y) "swaps two monsters or move one" --- 471,474 ---- *************** *** 506,511 **** (location-y player) to-y) ! (sprite-movement player from-x from-y to-x to-y) ! ;; add more stuff here ;; (warn "move player (~s ~s) -> (~s ~s)" from-x from-y to-x to-y) --- 492,497 ---- (location-y player) to-y) ! (push (make-walk-movement player *map-frame* from-x from-y to-x to-y) *visevents*) ! ;; add more stuff here ;; (warn "move player (~s ~s) -> (~s ~s)" from-x from-y to-x to-y) *************** *** 528,533 **** (setf (location-x i) to-x (location-y i) to-y) ! ! (sprite-movement i from-x from-y to-x to-y :speed (* 4 +walk-speed+)) (update-monster! var-obj i t))) --- 514,520 ---- (setf (location-x i) to-x (location-y i) to-y) ! ! (push (make-walk-movement i *map-frame* from-x from-y to-x to-y ! :speed +monster-speed+) *visevents*) (update-monster! var-obj i t))) *************** *** 543,548 **** (setf (location-x i) from-x (location-y i) from-y) ! ! (sprite-movement i from-x from-y to-x to-y) (update-monster! var-obj i t))) --- 530,535 ---- (setf (location-x i) from-x (location-y i) from-y) ! ! (push (make-walk-movement i *map-frame* from-x from-y to-x to-y) *visevents*) (update-monster! var-obj i t))) *************** *** 1604,1609 **** evt) ! ;;(declaim (notinline get-walk-event)) ! (defun get-walk-event (obj win sx sy tx ty &key speed) (when (integerp win) --- 1591,1597 ---- evt) ! ! (defun make-walk-movement (obj win sx sy tx ty &key speed) ! "Creates a SPRITE-MOVEMENT object with the most common settings for walking." (when (integerp win) *************** *** 1617,1622 **** (diffy (- dty dsy)) (move-dir 'right) ! (evt (make-instance 'sprite-movement ! :id "simple walk" ;;(format nil "walk for ~s,~s" dtx dty) :object obj :window win --- 1605,1610 ---- (diffy (- dty dsy)) (move-dir 'right) ! (evt (make-instance 'walking-movement ! :id "simple walk" :object obj :window win *************** *** 1624,1628 **** :current-y sy :blocking? t - ;;:data (make-hash-table :test #'eq) :move-speed (if (positive-integer? speed) speed --- 1612,1615 ---- *************** *** 1639,1648 **** (display-y obj) sy) - ;;(warn "Angle for (~s,~s -> ~s,~s) (~s,~s) is ~s" - ;;sx sy tx ty diffx diffy (visevent.angle evt)) - ;;(warn "Go from ~s,~s to ~s,~s" dsx dsy dtx dty) - - ;;(setf (gethash 'last-tick (visevent.data evt)) 0) (when (is-player? obj) --- 1626,1630 ---- *************** *** 1707,1710 **** --- 1689,1693 ---- (defun make-thrown-visual (win obj sx sy tx ty &key (speed nil)) + "Creates a THROWN-OBJECT-MOVEMENT object with the most common settings." (make-instance 'thrown-object-movement :id "thrown object" *************** *** 1729,1730 **** --- 1712,1731 ---- :angle (atan (- ty sy) (- tx sx)) )) + + #|| + + (defun sprite-movement (obj from-x from-y to-x to-y &key speed) + (push (make-walk-movement obj *map-frame* from-x from-y to-x to-y :speed speed) *visevents*)) + + + (defun sprite-movement* (obj from-x from-y to-x to-y) + (multiple-value-bind (fx fy) + (get-relative-coords from-x from-y) + (multiple-value-bind (tx ty) + (get-relative-coords to-x to-y) + (when (and (non-negative-integer? fx) + (non-negative-integer? fy) + (non-negative-integer? tx) + (non-negative-integer? ty)) + (push (make-walk-movement obj *map-frame* fx fy tx ty) *visevents*))))) + ||# |