;;-*-Lisp-*- (in-package goal) ;; definition of type surface (deftype surface (basic) ((name symbol :offset-assert 4) (turnv float :offset-assert 8) (turnvv float :offset-assert 12) (tiltv float :offset-assert 16) (tiltvv float :offset-assert 20) (transv-max float :offset-assert 24) (target-speed float :offset-assert 28) (seek0 float :offset-assert 32) (seek90 float :offset-assert 36) (seek180 float :offset-assert 40) (fric float :offset-assert 44) (nonlin-fric-dist float :offset-assert 48) (slip-factor float :offset-assert 52) (slide-factor float :offset-assert 56) (slope-up-factor float :offset-assert 60) (slope-down-factor float :offset-assert 64) (slope-slip-angle float :offset-assert 68) (impact-fric float :offset-assert 72) (bend-factor float :offset-assert 76) (bend-speed float :offset-assert 80) (alignv float :offset-assert 84) (slope-up-traction float :offset-assert 88) (align-speed float :offset-assert 92) (slope-change-preserve float :offset-assert 96) (turnvf float :offset-assert 100) (turnvvf float :offset-assert 104) (tiltvf float :offset-assert 108) (tiltvvf float :offset-assert 112) (vel-turn float :offset-assert 116) (active-hook (function none) :offset 128) (touch-hook (function none) :offset 132) (impact-hook (function control-info (pointer float) vector none) :offset 136) (mult-hook (function surface surface surface int none) :offset-assert 140) (exit-hook function :offset-assert 144) (mode symbol :offset-assert 148) (flags surface-flag :offset-assert 152) (data float 30 :offset 8) (hook function 4 :offset 128) (dataw uint32 2 :offset 148) ) :method-count-assert 9 :size-assert #x9c :flag-assert #x90000009c ) ;; definition for method 3 of type surface (defmethod inspect surface ((obj surface)) (when (not obj) (set! obj obj) (goto cfg-62) ) (format #t "[~8x] ~A~%" obj (-> obj type)) (format #t "~1Tname: ~A~%" (-> obj name)) (format #t "~1Tdata[30] @ #x~X~%" (&-> obj turnv)) (format #t "~1Tturnv: ~f~%" (-> obj turnv)) (format #t "~1Tturnvf: ~f~%" (-> obj turnvf)) (format #t "~1Tturnvv: ~f~%" (-> obj turnvv)) (format #t "~1Tturnvvf: ~f~%" (-> obj turnvvf)) (format #t "~1Ttiltv: ~f~%" (-> obj tiltv)) (format #t "~1Ttiltvf: ~f~%" (-> obj tiltvf)) (format #t "~1Ttiltvv: ~f~%" (-> obj tiltvv)) (format #t "~1Ttiltvvf: ~f~%" (-> obj tiltvvf)) (format #t "~1Tvel-turn: ~f~%" (-> obj vel-turn)) (format #t "~1Ttransv-max: ~f~%" (-> obj transv-max)) (format #t "~1Ttarget-speed: ~f~%" (-> obj target-speed)) (format #t "~1Tseek0: ~f~%" (-> obj seek0)) (format #t "~1Tseek90: ~f~%" (-> obj seek90)) (format #t "~1Tseek180: ~f~%" (-> obj seek180)) (format #t "~1Tfric: ~f~%" (-> obj fric)) (format #t "~1Tnonlin-fric-dist: ~f~%" (-> obj nonlin-fric-dist)) (format #t "~1Tslip-factor: ~f~%" (-> obj slip-factor)) (format #t "~1Tslide-factor: ~f~%" (-> obj slide-factor)) (format #t "~1Tslope-up-factor: ~f~%" (-> obj slope-up-factor)) (format #t "~1Tslope-down-factor: ~f~%" (-> obj slope-down-factor)) (format #t "~1Tslope-slip-angle: ~f~%" (-> obj slope-slip-angle)) (format #t "~1Timpact-fric: ~f~%" (-> obj impact-fric)) (format #t "~1Tbend-factor: ~f~%" (-> obj bend-factor)) (format #t "~1Tbend-speed: ~f~%" (-> obj bend-speed)) (format #t "~1Talignv: ~f~%" (-> obj alignv)) (format #t "~1Tslope-up-traction: ~f~%" (-> obj slope-up-traction)) (format #t "~1Talign-speed: ~f~%" (-> obj align-speed)) (format #t "~1Tslope-change-preserve: ~f~%" (-> obj slope-change-preserve)) (format #t "~1Thook[5] @ #x~X~%" (&-> obj active-hook)) (format #t "~1Tactive-hook: ~A~%" (-> obj active-hook)) (format #t "~1Ttouch-hook: ~A~%" (-> obj touch-hook)) (format #t "~1Timpact-hook: ~A~%" (-> obj impact-hook)) (format #t "~1Tmult-hook: ~A~%" (-> obj mult-hook)) (format #t "~1Texit-hook: ~A~%" (-> obj exit-hook)) (format #t "~1Tdataw[2] @ #x~X~%" (&-> obj mode)) (format #t "~1Tmode: ~A~%" (-> obj mode)) (format #t "~1Tflags: #x~X : (surface-flag " (-> obj flags)) (let ((s5-0 (-> obj flags))) (if (= (logand (surface-flag gun-inactive) s5-0) (surface-flag gun-inactive)) (format #t "gun-inactive ") ) (if (= (logand s5-0 (surface-flag momentum)) (surface-flag momentum)) (format #t "momentum ") ) (if (= (logand (surface-flag no-board) s5-0) (surface-flag no-board)) (format #t "no-board ") ) (if (= (logand s5-0 (surface-flag xz-local)) (surface-flag xz-local)) (format #t "xz-local ") ) (if (= (logand s5-0 (surface-flag no-feet)) (surface-flag no-feet)) (format #t "no-feet ") ) (if (= (logand (surface-flag gun-direct) s5-0) (surface-flag gun-direct)) (format #t "gun-direct ") ) (if (= (logand s5-0 (surface-flag turn-to-vel)) (surface-flag turn-to-vel)) (format #t "turn-to-vel ") ) (if (= (logand (surface-flag gun-strafe) s5-0) (surface-flag gun-strafe)) (format #t "gun-strafe ") ) (if (= (logand (surface-flag gun-fast-exit) s5-0) (surface-flag gun-fast-exit)) (format #t "gun-fast-exit ") ) (if (= (logand s5-0 (surface-flag attack)) (surface-flag attack)) (format #t "attack ") ) (if (= (logand s5-0 (surface-flag turn-to-pad)) (surface-flag turn-to-pad)) (format #t "turn-to-pad ") ) (if (= (logand (surface-flag spin) s5-0) (surface-flag spin)) (format #t "spin ") ) (if (= (logand s5-0 (surface-flag no-jump)) (surface-flag no-jump)) (format #t "no-jump ") ) (if (= (logand s5-0 (surface-flag look-around)) (surface-flag look-around)) (format #t "look-around ") ) (if (= (logand (surface-flag gun-off) s5-0) (surface-flag gun-off)) (format #t "gun-off ") ) (if (= (logand (surface-flag gun-turn-fast) s5-0) (surface-flag gun-turn-fast)) (format #t "gun-turn-fast ") ) (if (= (logand s5-0 (surface-flag turn-when-centered)) (surface-flag turn-when-centered)) (format #t "turn-when-centered ") ) (if (= (logand (surface-flag laser-hide) s5-0) (surface-flag laser-hide)) (format #t "laser-hide ") ) (if (= (logand (surface-flag turn-to-alt) s5-0) (surface-flag turn-to-alt)) (format #t "turn-to-alt ") ) (if (= (logand s5-0 (surface-flag no-attack)) (surface-flag no-attack)) (format #t "no-attack ") ) (if (= (logand (surface-flag gun-no-twist) s5-0) (surface-flag gun-no-twist)) (format #t "gun-no-twist ") ) (if (= (logand s5-0 (surface-flag air)) (surface-flag air)) (format #t "air ") ) (if (= (logand s5-0 (surface-flag duck)) (surface-flag duck)) (format #t "duck ") ) (if (= (logand s5-0 (surface-flag no-turn-around)) (surface-flag no-turn-around)) (format #t "no-turn-around ") ) (if (= (logand s5-0 (surface-flag no-hands)) (surface-flag no-hands)) (format #t "no-hands ") ) (if (= (logand (surface-flag gun-hide) s5-0) (surface-flag gun-hide)) (format #t "gun-hide ") ) (if (= (logand s5-0 (surface-flag check-edge)) (surface-flag check-edge)) (format #t "check-edge ") ) (if (= (logand (surface-flag super) s5-0) (surface-flag super)) (format #t "super ") ) (if (= (logand s5-0 (surface-flag smooth-collision)) (surface-flag smooth-collision)) (format #t "smooth-collision ") ) ) (format #t ")~%") (label cfg-62) obj ) ;; definition for function calc-terminal-vel (defun calc-terminal-vel ((arg0 float) (arg1 float) (arg2 float)) (- (* (/ (- (* 0.016666668 arg0) arg1) arg2) (- 1.0 arg2)) arg1) ) ;; definition for function calc-terminal2-vel (defun calc-terminal2-vel ((arg0 float) (arg1 float) (arg2 float) (arg3 float)) (let ((f0-4 (sqrtf (/ (- (* 0.016666668 arg0) arg1) arg2)))) (- f0-4 (+ arg1 (* arg2 (* f0-4 f0-4)))) ) ) ;; definition for function calc-terminal4-vel (defun calc-terminal4-vel ((arg0 float) (arg1 float) (arg2 float)) (let ((f0-5 (sqrtf (sqrtf (/ (- (* 0.016666668 arg0) arg1) arg2))))) (- f0-5 (+ arg1 (* arg2 (* f0-5 f0-5 f0-5 f0-5)))) ) ) ;; definition for method 2 of type surface ;; ERROR: Function may read a register that is not set: t3 (defmethod print surface ((obj surface)) (local-vars (t3-0 none)) (format #t "# obj turnv) (-> obj turnvv) (-> obj tiltv) (-> obj tiltvv) (-> obj transv-max) t3-0 ) (format #t " tm:~m rv:~R rvv:~R @ #x~X>" (-> obj target-speed) (-> obj seek0) (-> obj seek90) obj) obj ) ;; definition for function surface-interp! (defun surface-interp! ((arg0 surface) (arg1 surface) (arg2 surface) (arg3 float)) (dotimes (v1-0 30) (set! (-> arg0 data v1-0) (+ (* (-> arg2 data v1-0) arg3) (* (-> arg1 data v1-0) (- 1.0 arg3)))) ) (dotimes (v1-3 5) (set! (-> arg0 hook v1-3) (cond ((and (nonzero? (-> arg2 hook v1-3)) (!= (-> arg2 hook v1-3) nothing)) (-> arg2 hook v1-3) ) ((and (nonzero? (-> arg1 hook v1-3)) (!= (-> arg1 hook v1-3) nothing)) (-> arg1 hook v1-3) ) (else nothing ) ) ) ) (dotimes (v1-6 2) (set! (-> arg0 dataw v1-6) (-> arg2 dataw v1-6)) ) arg0 ) ;; definition for function surface-mult! (defun surface-mult! ((arg0 surface) (arg1 surface) (arg2 surface)) (dotimes (v1-0 30) (set! (-> arg0 data v1-0) (* (-> arg2 data v1-0) (-> arg1 data v1-0))) ) (dotimes (v1-3 5) (set! (-> arg0 hook v1-3) (cond ((and (nonzero? (-> arg2 hook v1-3)) (!= (-> arg2 hook v1-3) nothing)) (-> arg2 hook v1-3) ) ((and (nonzero? (-> arg1 hook v1-3)) (!= (-> arg1 hook v1-3) nothing)) (-> arg1 hook v1-3) ) (else nothing ) ) ) ) (dotimes (v1-6 2) (set! (-> arg0 dataw v1-6) (-> arg2 dataw v1-6)) ) (set! (-> arg0 flags) (logior (-> arg1 flags) (-> arg2 flags))) ((-> arg0 mult-hook) arg0 arg1 arg2 1) arg0 ) ;; definition for function surface-clamp-speed ;; WARN: Return type mismatch float vs none. (defun surface-clamp-speed ((arg0 surface) (arg1 surface) (arg2 surface) (arg3 int)) (when (= arg3 1) (set! (-> arg0 transv-max) (fmin (-> arg0 transv-max) (-> arg1 transv-max))) (set! (-> arg0 target-speed) (fmin (-> arg0 target-speed) (-> arg1 target-speed))) ) (none) ) ;; definition for symbol *walk-mods*, type surface (define *walk-mods* (new 'static 'surface :name 'run :turnv 131072.0 :turnvv 524288.0 :tiltv 65536.0 :tiltvv 262144.0 :transv-max 40960.0 :target-speed 40960.0 :seek0 1.0 :seek90 1.0 :seek180 1.0 :fric 1.0 :nonlin-fric-dist 1.0 :slip-factor 1.0 :slide-factor 1.0 :slope-up-factor 1.0 :slope-down-factor 1.0 :slope-slip-angle 1.0 :impact-fric 1.0 :bend-factor 1.0 :bend-speed 1.0 :alignv 1.0 :slope-up-traction 1.0 :align-speed 1.0 :turnvf 30.0 :turnvvf 30.0 :tiltvf 150.0 :tiltvvf 15.0 :flags (surface-flag look-around) ) ) ;; definition for symbol *walk-no-turn-mods*, type surface (define *walk-no-turn-mods* (new 'static 'surface :name 'run :tiltv 65536.0 :tiltvv 262144.0 :transv-max 40960.0 :target-speed 40960.0 :seek0 1.0 :seek90 1.0 :seek180 1.0 :fric 1.0 :nonlin-fric-dist 1.0 :slip-factor 1.0 :slide-factor 1.0 :slope-up-factor 1.0 :slope-down-factor 1.0 :slope-slip-angle 1.0 :impact-fric 1.0 :bend-factor 1.0 :bend-speed 1.0 :alignv 1.0 :slope-up-traction 1.0 :align-speed 1.0 :tiltvf 150.0 :tiltvvf 15.0 ) ) ;; definition for symbol *turn-around-mods*, type surface (define *turn-around-mods* (new 'static 'surface :name 'run :tiltv 65536.0 :tiltvv 262144.0 :transv-max 40960.0 :target-speed 40960.0 :fric 0.1 :nonlin-fric-dist 1.0 :slip-factor 1.0 :slide-factor 1.0 :slope-up-factor 1.0 :slope-down-factor 1.0 :slope-slip-angle 1.0 :impact-fric 1.0 :bend-factor 1.0 :bend-speed 1.0 :alignv 1.0 :slope-up-traction 1.0 :align-speed 1.0 :tiltvf 150.0 :tiltvvf 15.0 ) ) ;; definition for symbol *jump-mods*, type surface (define *jump-mods* (new 'static 'surface :name 'jump :turnv 131072.0 :turnvv 18204.445 :tiltv 32768.0 :tiltvv 262144.0 :transv-max 40960.0 :target-speed 40960.0 :seek0 0.3 :seek90 0.3 :seek180 0.3 :fric 0.2 :nonlin-fric-dist 1.0 :slip-factor 1.0 :slide-factor 1.0 :slope-up-factor 1.0 :slope-down-factor 1.0 :slope-slip-angle 1.0 :impact-fric 1.0 :bend-factor 1.0 :bend-speed 1.0 :alignv 1.0 :slope-up-traction 1.0 :align-speed 1.0 :turnvf 30.0 :turnvvf 30.0 :tiltvf 150.0 :tiltvvf 15.0 :mode 'air :flags (surface-flag check-edge air) ) ) ;; definition for symbol *double-jump-mods*, type surface (define *double-jump-mods* (new 'static 'surface :name 'jump-double :turnv 131072.0 :turnvv 18204.445 :tiltv 32768.0 :tiltvv 262144.0 :transv-max 32768.0 :target-speed 32768.0 :seek0 0.3 :seek90 0.3 :seek180 0.3 :fric 0.2 :nonlin-fric-dist 1.0 :slip-factor 1.0 :slide-factor 1.0 :slope-up-factor 1.0 :slope-down-factor 1.0 :slope-slip-angle 1.0 :impact-fric 1.0 :bend-factor 1.0 :bend-speed 1.0 :alignv 1.0 :slope-up-traction 1.0 :align-speed 1.0 :turnvf 30.0 :turnvvf 30.0 :tiltvf 150.0 :tiltvvf 15.0 :mode 'air :flags (surface-flag check-edge air) ) ) ;; definition for symbol *smack-jump-mods*, type surface (define *smack-jump-mods* (new 'static 'surface :name 'jump :turnv 131072.0 :turnvv 18204.445 :tiltv 32768.0 :tiltvv 262144.0 :transv-max 40960.0 :target-speed 40960.0 :seek0 0.3 :seek90 0.3 :seek180 0.3 :fric 0.05 :nonlin-fric-dist 1.0 :slip-factor 1.0 :slide-factor 1.0 :slope-up-factor 1.0 :slope-down-factor 1.0 :slope-slip-angle 1.0 :impact-fric 1.0 :bend-factor 1.0 :bend-speed 1.0 :alignv 1.0 :slope-up-traction 1.0 :align-speed 1.0 :turnvf 30.0 :turnvvf 30.0 :tiltvf 150.0 :tiltvvf 15.0 :mode 'air :flags (surface-flag check-edge air gun-inactive) ) ) ;; definition for symbol *high-jump-mods*, type surface (define *high-jump-mods* (new 'static 'surface :name 'high-jump :turnv 131072.0 :turnvv 65536.0 :tiltv 32768.0 :tiltvv 262144.0 :transv-max 26624.0 :target-speed 26624.0 :seek0 0.9 :seek90 0.9 :seek180 0.9 :fric 0.3 :nonlin-fric-dist 1.0 :slip-factor 1.0 :slide-factor 1.0 :slope-up-factor 1.0 :slope-down-factor 1.0 :slope-slip-angle 1.0 :impact-fric 1.0 :bend-factor 1.0 :bend-speed 1.0 :alignv 1.0 :slope-up-traction 1.0 :align-speed 1.0 :turnvf 30.0 :turnvvf 30.0 :tiltvf 150.0 :tiltvvf 15.0 :mode 'air :flags (surface-flag check-edge air) ) ) ;; definition for symbol *launch-jump-mods*, type surface (define *launch-jump-mods* (new 'static 'surface :name 'launch-jump :turnv 131072.0 :turnvv 65536.0 :tiltv 32768.0 :tiltvv 262144.0 :transv-max 61440.0 :target-speed 61440.0 :seek0 0.9 :seek90 0.9 :seek180 0.9 :fric 0.3 :nonlin-fric-dist 1.0 :slip-factor 1.0 :slide-factor 1.0 :slope-up-factor 1.0 :slope-down-factor 1.0 :slope-slip-angle 1.0 :impact-fric 1.0 :bend-factor 1.0 :bend-speed 1.0 :alignv 1.0 :slope-up-traction 1.0 :align-speed 1.0 :turnvf 30.0 :turnvvf 30.0 :tiltvf 150.0 :tiltvvf 15.0 :mode 'air :flags (surface-flag no-attack check-edge air) ) ) ;; definition for symbol *forward-high-jump-mods*, type surface (define *forward-high-jump-mods* (new 'static 'surface :name 'high-jump :turnv 131072.0 :turnvv 65536.0 :tiltv 32768.0 :tiltvv 262144.0 :transv-max 45056.0 :target-speed 45056.0 :seek0 0.9 :seek90 0.9 :seek180 0.9 :fric 0.3 :nonlin-fric-dist 1.0 :slip-factor 1.0 :slide-factor 1.0 :slope-up-factor 1.0 :slope-down-factor 1.0 :slope-slip-angle 1.0 :impact-fric 1.0 :bend-factor 1.0 :bend-speed 1.0 :alignv 1.0 :slope-up-traction 1.0 :align-speed 1.0 :turnvf 30.0 :turnvvf 30.0 :tiltvf 150.0 :tiltvvf 15.0 :mode 'air :flags (surface-flag check-edge air) ) ) ;; definition for symbol *flip-jump-mods*, type surface (define *flip-jump-mods* (new 'static 'surface :name 'high-jump :turnv 131072.0 :turnvv 65536.0 :tiltv 32768.0 :tiltvv 262144.0 :transv-max 80281.6 :target-speed 51200.0 :seek0 0.9 :seek90 0.9 :seek180 0.9 :fric 0.3 :nonlin-fric-dist 1.0 :slip-factor 1.0 :slide-factor 1.0 :slope-up-factor 1.0 :slope-down-factor 1.0 :slope-slip-angle 1.0 :impact-fric 1.0 :bend-factor 1.0 :bend-speed 1.0 :alignv 1.0 :slope-up-traction 1.0 :align-speed 1.0 :turnvf 30.0 :turnvvf 30.0 :tiltvf 150.0 :tiltvvf 15.0 :mode 'air :flags (surface-flag check-edge air) ) ) ;; definition for symbol *forward-jump-mods*, type surface (define *forward-jump-mods* (new 'static 'surface :name 'jump :turnv 131072.0 :turnvv 18204.445 :tiltv 32768.0 :tiltvv 262144.0 :transv-max 65536.0 :target-speed 65536.0 :seek0 0.3 :seek90 0.3 :seek180 0.3 :fric 0.05 :nonlin-fric-dist 1.0 :slip-factor 1.0 :slide-factor 1.0 :slope-up-factor 1.0 :slope-down-factor 1.0 :slope-slip-angle 1.0 :impact-fric 1.0 :bend-factor 1.0 :bend-speed 1.0 :alignv 1.0 :slope-up-traction 1.0 :align-speed 1.0 :turnvf 30.0 :turnvvf 30.0 :tiltvf 150.0 :tiltvvf 15.0 :mode 'air :flags (surface-flag check-edge air) ) ) ;; definition for symbol *forward-pole-jump-mods*, type surface (define *forward-pole-jump-mods* (new 'static 'surface :name 'jump :turnv 131072.0 :turnvv 18204.445 :tiltv 32768.0 :tiltvv 262144.0 :transv-max 53248.0 :target-speed 53248.0 :seek0 0.3 :seek90 0.3 :seek180 0.3 :fric 0.05 :nonlin-fric-dist 1.0 :slip-factor 1.0 :slide-factor 1.0 :slope-up-factor 1.0 :slope-down-factor 1.0 :slope-slip-angle 1.0 :impact-fric 1.0 :bend-factor 1.0 :bend-speed 1.0 :alignv 1.0 :slope-up-traction 1.0 :align-speed 1.0 :turnvf 30.0 :turnvvf 30.0 :tiltvf 150.0 :tiltvvf 15.0 :mode 'air :flags (surface-flag check-edge air gun-hide gun-fast-exit) ) ) ;; failed to figure out what this is: (let ((v1-20 (copy *jump-mods* 'global))) (set! (-> v1-20 flags) (surface-flag check-edge air super)) (set! (-> v1-20 name) 'high-jump) (set! (-> v1-20 target-speed) 245760.0) (set! (-> v1-20 transv-max) 245760.0) (set! (-> v1-20 seek0) 0.9) (set! *dark-jump-mods* v1-20) ) ;; definition for symbol *roll-mods*, type surface (define *roll-mods* (new 'static 'surface :name 'roll :turnv 131072.0 :turnvv 5461.3335 :tiltv 32768.0 :tiltvv 262144.0 :transv-max 91750.4 :target-speed 11468.8 :seek0 1.0 :seek90 1.0 :seek180 1.0 :slip-factor 1.0 :slide-factor 1.0 :slope-up-factor 0.25 :slope-down-factor 1.0 :slope-slip-angle 1.0 :impact-fric 1.0 :bend-factor 1.0 :bend-speed 1.0 :alignv 1.0 :slope-up-traction 1.0 :align-speed 1.0 :turnvf 30.0 :turnvvf 30.0 :tiltvf 150.0 :tiltvvf 15.0 :mode 'attack :flags (surface-flag no-turn-around attack gun-inactive gun-no-twist no-board) ) ) ;; definition for symbol *roll-flip-mods*, type surface (define *roll-flip-mods* (new 'static 'surface :name 'roll-flip :tiltv 32768.0 :tiltvv 262144.0 :transv-max 91750.4 :target-speed 103219.195 :seek90 0.5 :seek180 0.15 :slip-factor 1.0 :slide-factor 1.0 :slope-up-factor 0.25 :slope-down-factor 1.0 :slope-slip-angle 1.0 :impact-fric 1.0 :bend-factor 1.0 :bend-speed 1.0 :alignv 1.0 :slope-up-traction 1.0 :align-speed 1.0 :tiltvf 150.0 :tiltvvf 15.0 :mode 'attack :flags (surface-flag no-turn-around check-edge air attack gun-inactive gun-no-twist no-board) ) ) ;; definition for symbol *flop-mods*, type surface (define *flop-mods* (new 'static 'surface :name 'flop :tiltv 32768.0 :tiltvv 262144.0 :transv-max 40960.0 :target-speed 40960.0 :seek0 1.0 :seek90 0.3 :seek180 1.5 :slip-factor 1.0 :slide-factor 1.0 :slope-up-factor 0.25 :slope-down-factor 1.0 :slope-slip-angle 1.0 :impact-fric 1.0 :bend-factor 1.0 :bend-speed 1.0 :alignv 1.0 :slope-up-traction 1.0 :align-speed 1.0 :tiltvf 150.0 :tiltvvf 15.0 :mode 'attack :flags (surface-flag air attack gun-inactive gun-no-twist) ) ) ;; failed to figure out what this is: (let ((a0-9 (new 'static 'surface :name 'flop :turnv 9102.223 :turnvv 9102.223 :tiltv 32768.0 :tiltvv 262144.0 :transv-max 40960.0 :target-speed 40960.0 :seek0 0.3 :seek90 0.1 :seek180 0.15 :fric 0.2 :nonlin-fric-dist 1.0 :slip-factor 1.0 :slide-factor 1.0 :slope-up-factor 0.25 :slope-down-factor 1.0 :slope-slip-angle 1.0 :impact-fric 1.0 :bend-factor 1.0 :bend-speed 1.0 :alignv 1.0 :slope-up-traction 1.0 :align-speed 1.0 :turnvf 30.0 :turnvvf 30.0 :tiltvf 150.0 :tiltvvf 15.0 :mode 'air :flags (surface-flag air gun-inactive gun-no-twist) ) ) ) (set! (-> a0-9 mult-hook) surface-clamp-speed) (set! *flop-land-mods* a0-9) ) ;; definition for symbol *wade-mods*, type surface (define *wade-mods* (new 'static 'surface :name 'wade :turnv 131072.0 :turnvv 524288.0 :tiltv 65536.0 :tiltvv 262144.0 :transv-max 40960.0 :target-speed 40960.0 :seek0 1.0 :seek90 0.5 :seek180 0.5 :fric 1.0 :nonlin-fric-dist 1.0 :slip-factor 1.0 :slide-factor 1.0 :slope-up-factor 1.0 :slope-down-factor 1.0 :slope-slip-angle 1.0 :impact-fric 1.0 :bend-factor 1.0 :bend-speed 1.0 :alignv 1.0 :slope-up-traction 1.0 :align-speed 1.0 :turnvf 30.0 :turnvvf 30.0 :tiltvf 150.0 :tiltvvf 15.0 :mode 'wade :flags (surface-flag look-around) ) ) ;; definition for symbol *swim-mods*, type surface (define *swim-mods* (new 'static 'surface :name 'swim :turnv 49152.0 :turnvv 524288.0 :tiltv 65536.0 :tiltvv 262144.0 :transv-max 28672.0 :target-speed 28672.0 :seek0 0.75 :seek90 0.2 :seek180 0.2 :fric 0.05 :nonlin-fric-dist 1.0 :slip-factor 1.0 :slide-factor 1.0 :slope-up-factor 1.0 :slope-down-factor 1.0 :slope-slip-angle 1.0 :impact-fric 1.0 :bend-factor 1.0 :bend-speed 1.0 :alignv 1.0 :slope-up-traction 1.0 :align-speed 1.0 :turnvf 30.0 :turnvvf 30.0 :tiltvf 150.0 :tiltvvf 15.0 :mode 'swim :flags (surface-flag gun-off) ) ) ;; definition for symbol *dive-mods*, type surface (define *dive-mods* (new 'static 'surface :name 'swim :turnv 21845.334 :turnvv 32768.0 :tiltv 65536.0 :tiltvv 262144.0 :transv-max 20480.0 :target-speed 20480.0 :seek0 0.05 :seek90 0.05 :seek180 0.05 :fric 1.0 :nonlin-fric-dist 1.0 :impact-fric 1.0 :bend-factor 1.0 :bend-speed 1.0 :alignv 1.0 :align-speed 1.0 :turnvf 30.0 :turnvvf 30.0 :tiltvf 150.0 :tiltvvf 15.0 :mode 'dive :flags (surface-flag xz-local gun-off gun-fast-exit) ) ) ;; definition for symbol *dive-bottom-mods*, type surface (define *dive-bottom-mods* (new 'static 'surface :name 'swim-bottom :turnv 21845.334 :turnvv 32768.0 :tiltv 65536.0 :tiltvv 262144.0 :transv-max 20480.0 :target-speed 20480.0 :seek0 0.1 :seek90 0.05 :seek180 0.05 :fric 1.0 :nonlin-fric-dist 1.0 :slip-factor 1.0 :slide-factor 1.0 :slope-up-factor 1.0 :slope-down-factor 1.0 :slope-slip-angle 1.0 :impact-fric 1.0 :bend-factor 1.0 :bend-speed 1.0 :alignv 1.0 :slope-up-traction 1.0 :align-speed 1.0 :turnvf 30.0 :turnvvf 30.0 :tiltvf 150.0 :tiltvvf 15.0 :mode 'dive :flags (surface-flag xz-local gun-off gun-fast-exit) ) ) ;; failed to figure out what this is: (let ((v1-30 (copy *walk-mods* 'global))) (set! (-> v1-30 name) 'pole) (set! (-> v1-30 flags) (surface-flag gun-hide gun-fast-exit)) (set! *pole-mods* v1-30) ) ;; failed to figure out what this is: (let ((a0-14 (copy *walk-mods* 'global))) (set! (-> a0-14 name) 'grab) (set! (-> a0-14 flags) (surface-flag)) (set! *grab-mods* a0-14) ) ;; failed to figure out what this is: (let ((v1-34 (copy *walk-mods* 'global))) (set! (-> v1-34 name) 'edge-grab) (set! (-> v1-34 flags) (surface-flag gun-inactive gun-no-twist)) (set! *edge-grab-mods* v1-34) ) ;; definition for symbol *empty-mods*, type surface (define *empty-mods* (new 'static 'surface :name 'empty :seek0 1.0 :seek90 1.0 :seek180 1.0 :fric 1.0 :flags (surface-flag gun-off) ) ) ;; definition for symbol *neutral-mods*, type surface (define *neutral-mods* (new 'static 'surface :name 'walk :turnv 131072.0 :turnvv 524288.0 :tiltv 65536.0 :tiltvv 262144.0 :transv-max 40960.0 :target-speed 40960.0 :slip-factor 1.0 :slide-factor 1.0 :slope-up-factor 1.0 :slope-down-factor 1.0 :slope-slip-angle 1.0 :impact-fric 1.0 :bend-factor 1.0 :bend-speed 1.0 :slope-up-traction 1.0 :align-speed 1.0 :turnvf 30.0 :turnvvf 30.0 :tiltvf 150.0 :tiltvvf 15.0 ) ) ;; failed to figure out what this is: (let ((v1-37 (new 'static 'surface :name '*stone-surface* :turnv 1.0 :turnvv 1.0 :tiltv 1.0 :tiltvv 1.0 :transv-max 1.0 :target-speed 1.0 :seek0 153600.0 :seek90 153600.0 :seek180 256000.0 :fric 153600.0 :nonlin-fric-dist 5120.0 :slip-factor 1.0 :slope-down-factor 10240.0 :slope-slip-angle 8192.0 :impact-fric 1.0 :bend-factor 0.8 :bend-speed 4.0 :alignv 1.0 :slope-up-traction 1.0 :align-speed 1.0 :slope-change-preserve 1.0 :turnvf 1.0 :turnvvf 1.0 :tiltvf 1.0 :tiltvvf 1.0 :vel-turn 1.0 ) ) ) (set! *stone-surface* v1-37) (set! (-> v1-37 exit-hook) nothing) (set! (-> v1-37 mult-hook) (the-as (function surface surface surface int none) nothing)) (set! (-> v1-37 touch-hook) nothing) (set! (-> v1-37 active-hook) nothing) ) ;; failed to figure out what this is: (let ((v1-38 (new 'static 'surface :name '*gravel-surface* :turnv 1.0 :turnvv 1.0 :tiltv 1.0 :tiltvv 1.0 :transv-max 1.0 :target-speed 1.0 :seek0 153600.0 :seek90 153600.0 :seek180 256000.0 :fric 153600.0 :nonlin-fric-dist 5120.0 :slip-factor 1.0 :slide-factor 1.0 :slope-down-factor 32768.0 :slope-slip-angle 8192.0 :impact-fric 1.0 :bend-factor 0.8 :bend-speed 4.0 :alignv 1.0 :slope-up-traction 1.0 :align-speed 1.0 :slope-change-preserve 1.0 :turnvf 1.0 :turnvvf 1.0 :tiltvf 1.0 :tiltvvf 1.0 :vel-turn 1.0 ) ) ) (set! *gravel-surface* v1-38) (set! (-> v1-38 exit-hook) nothing) (set! (-> v1-38 mult-hook) (the-as (function surface surface surface int none) nothing)) (set! (-> v1-38 touch-hook) (lambda () (gravel-surface-touch) (none))) (set! (-> v1-38 active-hook) nothing) ) ;; failed to figure out what this is: (let ((v1-39 (new 'static 'surface :name '*edge-surface* :turnv 1.0 :turnvv 1.0 :tiltv 1.0 :tiltvv 1.0 :transv-max 1.0 :target-speed 1.0 :seek0 153600.0 :seek90 153600.0 :seek180 256000.0 :fric 30720.0 :nonlin-fric-dist 5120.0 :slip-factor 1.0 :slope-down-factor 18432.0 :slope-slip-angle 8192.0 :bend-factor 0.8 :bend-speed 4.0 :alignv 1.0 :align-speed 1.0 :turnvf 1.0 :turnvvf 1.0 :tiltvf 1.0 :tiltvvf 1.0 :vel-turn 1.0 ) ) ) (set! *edge-surface* v1-39) (set! (-> v1-39 exit-hook) nothing) (set! (-> v1-39 mult-hook) (the-as (function surface surface surface int none) nothing)) (set! (-> v1-39 touch-hook) nothing) (set! (-> v1-39 active-hook) nothing) ) ;; failed to figure out what this is: (let ((v1-40 (new 'static 'surface :name '*wade-surface* :turnv 1.0 :turnvv 1.0 :tiltv 1.0 :tiltvv 1.0 :transv-max 0.7 :target-speed 0.7 :seek0 153600.0 :seek90 153600.0 :seek180 256000.0 :fric 153600.0 :nonlin-fric-dist 5120.0 :slip-factor 1.0 :slope-down-factor 10240.0 :slope-slip-angle 8192.0 :impact-fric 1.0 :bend-factor 0.8 :bend-speed 4.0 :alignv 0.6 :slope-up-traction 1.0 :align-speed 0.6 :turnvf 1.0 :turnvvf 1.0 :tiltvf 1.0 :tiltvvf 1.0 :vel-turn 1.0 ) ) ) (set! *wade-surface* v1-40) (set! (-> v1-40 exit-hook) nothing) (set! (-> v1-40 mult-hook) (the-as (function surface surface surface int none) nothing)) (set! (-> v1-40 touch-hook) nothing) (set! (-> v1-40 active-hook) nothing) ) ;; failed to figure out what this is: (let ((v1-41 (new 'static 'surface :name '*quicksand-surface* :turnv 0.25 :turnvv 1.0 :tiltv 1.0 :tiltvv 1.0 :transv-max 0.5 :target-speed 0.5 :seek0 81920.0 :seek90 83968.0 :seek180 165888.0 :fric 329728.0 :nonlin-fric-dist 5120.0 :slip-factor 1.0 :slope-down-factor 10240.0 :slope-slip-angle 8192.0 :impact-fric 1.0 :bend-factor 0.8 :bend-speed 4.0 :alignv 0.5 :slope-up-traction 1.0 :align-speed 0.5 :turnvf 1.0 :turnvvf 1.0 :tiltvf 1.0 :tiltvvf 1.0 :vel-turn 1.0 ) ) ) (set! *quicksand-surface* v1-41) (set! (-> v1-41 exit-hook) nothing) (set! (-> v1-41 mult-hook) (the-as (function surface surface surface int none) nothing)) (set! (-> v1-41 touch-hook) nothing) (set! (-> v1-41 active-hook) nothing) ) ;; failed to figure out what this is: (let ((v1-42 (new 'static 'surface :name '*tar-surface* :turnv 0.25 :turnvv 1.0 :tiltv 1.0 :tiltvv 1.0 :transv-max 0.4 :target-speed 0.4 :seek0 81920.0 :seek90 83968.0 :seek180 165888.0 :fric 329728.0 :nonlin-fric-dist 5120.0 :slip-factor 1.0 :slope-down-factor 10240.0 :slope-slip-angle 8192.0 :impact-fric 1.0 :bend-factor 0.8 :bend-speed 4.0 :alignv 0.5 :slope-up-traction 1.0 :align-speed 0.5 :turnvf 1.0 :turnvvf 1.0 :tiltvf 1.0 :tiltvvf 1.0 :vel-turn 1.0 ) ) ) (set! *tar-surface* v1-42) (set! (-> v1-42 exit-hook) nothing) (set! (-> v1-42 mult-hook) (the-as (function surface surface surface int none) nothing)) (set! (-> v1-42 touch-hook) nothing) (set! (-> v1-42 active-hook) nothing) ) ;; failed to figure out what this is: (let ((v1-43 (new 'static 'surface :name '*ice-surface* :turnv 0.5 :turnvv 1.0 :tiltv 1.0 :tiltvv 1.0 :transv-max 1.5 :target-speed 1.5 :seek0 24576.0 :seek90 24576.0 :seek180 24576.0 :fric 23756.8 :nonlin-fric-dist 4091904.0 :slip-factor 0.7 :slope-slip-angle 16384.0 :bend-speed 4.0 :alignv 1.0 :slope-up-traction 1.0 :align-speed 1.0 :turnvf 1.0 :turnvvf 1.0 :tiltvf 1.0 :tiltvvf 1.0 :vel-turn 1.0 :flags (surface-flag no-turn-around turn-to-pad) ) ) ) (set! *ice-surface* v1-43) (set! (-> v1-43 exit-hook) nothing) (set! (-> v1-43 mult-hook) (the-as (function surface surface surface int none) nothing)) (set! (-> v1-43 touch-hook) nothing) (set! (-> v1-43 active-hook) nothing) ) ;; failed to figure out what this is: (let ((v1-44 (new 'static 'surface :name '*rail-surface* :turnv 1.0 :turnvv 1.0 :tiltv 1.0 :tiltvv 1.0 :transv-max 1.0 :target-speed 1.0 :seek0 153600.0 :seek90 153600.0 :seek180 256000.0 :fric 153600.0 :nonlin-fric-dist 5120.0 :slip-factor 1.0 :slope-down-factor 10240.0 :slope-slip-angle 8192.0 :impact-fric 1.0 :bend-factor 0.8 :bend-speed 4.0 :alignv 1.0 :slope-up-traction 1.0 :align-speed 1.0 :slope-change-preserve 1.0 :turnvf 1.0 :turnvvf 1.0 :tiltvf 1.0 :tiltvvf 1.0 :vel-turn 1.0 :flags (surface-flag no-attack) ) ) ) (set! *rail-surface* v1-44) (set! (-> v1-44 exit-hook) nothing) (set! (-> v1-44 mult-hook) (the-as (function surface surface surface int none) nothing)) (set! (-> v1-44 touch-hook) (lambda () (rail-surface-touch) (none))) (set! (-> v1-44 active-hook) nothing) ) ;; definition for symbol *standard-ground-surface*, type surface (define *standard-ground-surface* *stone-surface*) ;; definition for symbol *swim-surface*, type surface (define *swim-surface* *stone-surface*) ;; failed to figure out what this is: 0