mirror of
https://github.com/open-goal/jak-project
synced 2026-05-28 00:16:20 -04:00
1319 lines
49 KiB
Common Lisp
Vendored
Generated
1319 lines
49 KiB
Common Lisp
Vendored
Generated
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; definition of type surface
|
|
(deftype surface (basic)
|
|
"Definition of a bunch of parameters for different types of surfaces.
|
|
Parameters include values such as max speed, friction, callback functions that run
|
|
on impact, during touch, on exit, etc."
|
|
((name symbol)
|
|
(turnv float)
|
|
(turnvv float)
|
|
(tiltv float)
|
|
(tiltvv float)
|
|
(transv-max float)
|
|
(target-speed float)
|
|
(seek0 float)
|
|
(seek90 float)
|
|
(seek180 float)
|
|
(fric float)
|
|
(nonlin-fric-dist float)
|
|
(slip-factor float)
|
|
(slide-factor float)
|
|
(slope-up-factor float)
|
|
(slope-down-factor float)
|
|
(slope-slip-angle float)
|
|
(impact-fric float)
|
|
(bend-factor float)
|
|
(bend-speed float)
|
|
(alignv float)
|
|
(slope-up-traction float)
|
|
(align-speed float)
|
|
(slope-change-preserve float)
|
|
(turnvf float)
|
|
(turnvvf float)
|
|
(tiltvf float)
|
|
(tiltvvf float)
|
|
(vel-turn float)
|
|
(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))
|
|
(exit-hook function)
|
|
(mode symbol)
|
|
(flags surface-flag)
|
|
(data float 30 :overlay-at turnv)
|
|
(hook function 4 :overlay-at active-hook)
|
|
(dataw uint32 2 :overlay-at mode)
|
|
)
|
|
)
|
|
|
|
;; definition for method 3 of type surface
|
|
(defmethod inspect ((this surface))
|
|
(when (not this)
|
|
(set! this this)
|
|
(goto cfg-62)
|
|
)
|
|
(format #t "[~8x] ~A~%" this (-> this type))
|
|
(format #t "~1Tname: ~A~%" (-> this name))
|
|
(format #t "~1Tdata[30] @ #x~X~%" (&-> this turnv))
|
|
(format #t "~1Tturnv: ~f~%" (-> this turnv))
|
|
(format #t "~1Tturnvf: ~f~%" (-> this turnvf))
|
|
(format #t "~1Tturnvv: ~f~%" (-> this turnvv))
|
|
(format #t "~1Tturnvvf: ~f~%" (-> this turnvvf))
|
|
(format #t "~1Ttiltv: ~f~%" (-> this tiltv))
|
|
(format #t "~1Ttiltvf: ~f~%" (-> this tiltvf))
|
|
(format #t "~1Ttiltvv: ~f~%" (-> this tiltvv))
|
|
(format #t "~1Ttiltvvf: ~f~%" (-> this tiltvvf))
|
|
(format #t "~1Tvel-turn: ~f~%" (-> this vel-turn))
|
|
(format #t "~1Ttransv-max: ~f~%" (-> this transv-max))
|
|
(format #t "~1Ttarget-speed: ~f~%" (-> this target-speed))
|
|
(format #t "~1Tseek0: ~f~%" (-> this seek0))
|
|
(format #t "~1Tseek90: ~f~%" (-> this seek90))
|
|
(format #t "~1Tseek180: ~f~%" (-> this seek180))
|
|
(format #t "~1Tfric: ~f~%" (-> this fric))
|
|
(format #t "~1Tnonlin-fric-dist: ~f~%" (-> this nonlin-fric-dist))
|
|
(format #t "~1Tslip-factor: ~f~%" (-> this slip-factor))
|
|
(format #t "~1Tslide-factor: ~f~%" (-> this slide-factor))
|
|
(format #t "~1Tslope-up-factor: ~f~%" (-> this slope-up-factor))
|
|
(format #t "~1Tslope-down-factor: ~f~%" (-> this slope-down-factor))
|
|
(format #t "~1Tslope-slip-angle: ~f~%" (-> this slope-slip-angle))
|
|
(format #t "~1Timpact-fric: ~f~%" (-> this impact-fric))
|
|
(format #t "~1Tbend-factor: ~f~%" (-> this bend-factor))
|
|
(format #t "~1Tbend-speed: ~f~%" (-> this bend-speed))
|
|
(format #t "~1Talignv: ~f~%" (-> this alignv))
|
|
(format #t "~1Tslope-up-traction: ~f~%" (-> this slope-up-traction))
|
|
(format #t "~1Talign-speed: ~f~%" (-> this align-speed))
|
|
(format #t "~1Tslope-change-preserve: ~f~%" (-> this slope-change-preserve))
|
|
(format #t "~1Thook[5] @ #x~X~%" (&-> this active-hook))
|
|
(format #t "~1Tactive-hook: ~A~%" (-> this active-hook))
|
|
(format #t "~1Ttouch-hook: ~A~%" (-> this touch-hook))
|
|
(format #t "~1Timpact-hook: ~A~%" (-> this impact-hook))
|
|
(format #t "~1Tmult-hook: ~A~%" (-> this mult-hook))
|
|
(format #t "~1Texit-hook: ~A~%" (-> this exit-hook))
|
|
(format #t "~1Tdataw[2] @ #x~X~%" (&-> this mode))
|
|
(format #t "~1Tmode: ~A~%" (-> this mode))
|
|
(format #t "~1Tflags: #x~X : (surface-flag " (-> this flags))
|
|
(let ((s5-0 (-> this 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)
|
|
this
|
|
)
|
|
|
|
;; 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 ((this surface))
|
|
(local-vars (t3-0 none))
|
|
(format
|
|
#t
|
|
"#<surface f0:~m f1:~f tf+:~f tf-:~f sf:~f tvv:~m"
|
|
(-> this turnv)
|
|
(-> this turnvv)
|
|
(-> this tiltv)
|
|
(-> this tiltvv)
|
|
(-> this transv-max)
|
|
t3-0
|
|
)
|
|
(format #t " tm:~m rv:~R rvv:~R @ #x~X>" (-> this target-speed) (-> this seek0) (-> this seek90) this)
|
|
this
|
|
)
|
|
|
|
;; 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
|