home *** CD-ROM | disk | FTP | other *** search
/ Game Head 1996 February / GameHeadMonthlyFeb96.iso / addons / craig4-1 / craig4.exe / NEWSFX.LSP < prev    next >
Encoding:
Lisp/Scheme  |  1996-01-16  |  1.7 KB  |  71 lines

  1. ;; Copyright 1995 Crack dot Com,  All Rights reserved
  2. ;; See licensing information for more details on usage rights
  3.  
  4. ;; Bobby,  samples should be 8 bit mono playing 11025 Hz
  5.  
  6. (defun sfxdir (filename) (concatenate 'string "sfx/" filename))
  7.  
  8. (defun newsfx (filename) (concatenate 'string "addon/craig/" filename))
  9.  
  10. (def_sound 'MMM_BEER (newsfx "mbeer.wav"))
  11.  
  12. (setq LOGO_SND (def_sound (newsfx "alrighty.wav"))) 
  13.  
  14. (setq NEW_SOUNDS (make-array 5 :initial-contents (list 
  15.                    (def_sound (newsfx "foghorn.wav"))   ;; 0
  16.                    (def_sound (newsfx "asskick.wav"))   ;; 1
  17.                    (def_sound (newsfx "cool.wav"))      ;; 2
  18.                    (def_sound (newsfx "alrighty.wav"))  ;; 3
  19.                    MMM_BEER                             ;; 4
  20.                    )))
  21.  
  22. (defun new_sound_ct ()
  23.   (if (> (aitype) 4)
  24.       (set_aitype 0)
  25.     (play_sound (aref NEW_SOUNDS (aitype)))))
  26.  
  27. (defun new_sound_ai ()
  28.   (if (activated)
  29.       (if (eq (aistate) 0)
  30.       (progn
  31.         (play_sound (aref NEW_SOUNDS (aitype)) (yvel) (x) (y))
  32.         (set_aistate (+ (xvel) (random (+ 1 (xacel)))))
  33.         (> (xvel) 0))
  34.     (progn
  35.       (set_aistate (- (aistate) 1))
  36.       T))
  37.     (progn
  38.       (set_aistate 0)
  39.       T)))
  40.  
  41.     
  42. (defun news_cons () 
  43.   (set_xvel 100)  ;; delay time to 100
  44.   (set_yvel 127)) ;; set volume default to 127
  45.  
  46. (def_char NEW_SOUND 
  47.   (funs (ai_fun          new_sound_ai)
  48.     (draw_fun        dev_draw)
  49.     (constructor     news_cons)
  50.     (type_change_fun new_sound_ct))
  51.   (range 500 500)
  52.   (fields ("aitype" "sound # (0-4)")
  53.       ("yvel"   "volume (0-127)")     
  54.       ("xvel"   "repeat delay (0=no repeat)")
  55.       ("xacel"   "random delay (0=none)"))
  56.   (states "art/misc.spe"
  57.       (stopped "sfx_player")))
  58.     
  59.                     
  60.                     
  61.                     
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.