;;-*-Lisp-*- (in-package goal) ;; name: pat-h.gc ;; name in dgo: pat-h ;; dgos: ENGINE, GAME (defenum pat-mode :type uint8 (ground 0) (wall 1) (obstacle 2) (halfpipe 3) ) (defenum pat-material :type uint8 (unknown 0) (ice 1) (quicksand 2) (waterbottom 3) (tar 4) (sand 5) (wood 6) (grass 7) (pcmetal 8) (snow 9) (deepsnow 10) (hotcoals 11) (lava 12) (crwood 13) (gravel 14) (dirt 15) (metal 16) (straw 17) (tube 18) (swamp 19) (stopproj 20) (rotate 21) (neutral 22) (stone 23) (crmetal 24) (carpet 25) (grmetal 26) (shmetal 27) (hdwood 28) ) (defenum pat-event :type uint8 (none 0) (deadly 1) (endlessfall 2) (burn 3) (deadlyup 4) (burnup 5) (melt 6) (slide 7) (lip 8) (lipramp 9) (shock 10) (shockup 11) (hide 12) (rail 13) (slippery 14) ) ;; DECOMP BEGINS (deftype pat-surface (uint32) ((skip uint8 :offset 0 :size 7) (mode pat-mode :offset 7 :size 3) (material pat-material :offset 10 :size 6) (camera uint8 :offset 16 :size 1) (event pat-event :offset 18 :size 6) (skip2 uint8 :offset 24 :size 5) (noentity uint8 :offset 0 :size 1) (nocamera uint8 :offset 1 :size 1) (noedge uint8 :offset 2 :size 1) (nogrind uint8 :offset 3 :size 1) (nojak uint8 :offset 4 :size 1) (noboard uint8 :offset 5 :size 1) (nopilot uint8 :offset 6 :size 1) (probe uint8 :offset 24 :size 1) (nomech uint8 :offset 25 :size 1) (noproj uint8 :offset 26 :size 1) (noendlessfall uint8 :offset 27 :size 1) (noprobe uint8 :offset 28 :size 1) (nolineofsight uint8 :offset 16 :size 1) ) ) (defun-debug pat-material->string ((arg0 pat-surface)) (enum->string pat-material (-> arg0 material)) ) (defun-debug pat-mode->string ((arg0 pat-surface)) (enum->string pat-mode (-> arg0 mode)) ) (defun-debug pat-event->string ((arg0 pat-surface)) (enum->string pat-event (-> arg0 event)) ) (deftype pat-mode-info (structure) ((name string) (wall-angle float) (color rgba) (hilite-color rgba) ) ) (define *pat-mode-info* (new 'static 'inline-array pat-mode-info 4 (new 'static 'pat-mode-info :name "ground" :wall-angle 0.2 :color (new 'static 'rgba :r #x7f :a #x40) :hilite-color (new 'static 'rgba :r #xff :a #x80) ) (new 'static 'pat-mode-info :name "wall" :wall-angle 2.0 :color (new 'static 'rgba :b #x7f :a #x40) :hilite-color (new 'static 'rgba :b #xff :a #x80) ) (new 'static 'pat-mode-info :name "obstacle" :wall-angle 0.82 :color (new 'static 'rgba :r #x7f :b #x7f :a #x40) :hilite-color (new 'static 'rgba :r #xff :b #xff :a #x80) ) (new 'static 'pat-mode-info :name "halfpipe" :wall-angle -2.0 :color (new 'static 'rgba :r #x7f :g #x7f :a #x40) :hilite-color (new 'static 'rgba :r #xff :g #xff :a #x80) ) ) )