;;-*-Lisp-*-
(in-package goal)

;; definition of type depth-cue-data
(deftype depth-cue-data (structure)
  ((data      vector :inline :offset-assert   0)
   (sharpness float          :offset          0)
   (alpha     float          :offset          4)
   (distance  float          :offset          8)
   (w         float          :offset         12)
   )
  :method-count-assert 9
  :size-assert         #x10
  :flag-assert         #x900000010
  )

;; definition for method 3 of type depth-cue-data
(defmethod inspect depth-cue-data ((obj depth-cue-data))
  (format #t "[~8x] ~A~%" obj 'depth-cue-data)
  (format #t "~Tdata: #<vector @ #x~X>~%" (-> obj data))
  (format #t "~Tsharpness: ~f~%" (-> obj data x))
  (format #t "~Talpha: ~f~%" (-> obj data y))
  (format #t "~Tdistance: ~f~%" (-> obj data z))
  (format #t "~Tw: ~f~%" (-> obj data w))
  obj
  )

;; definition of type depth-cue-work
(deftype depth-cue-work (structure)
  ((texture-strip-tmpl dma-gif-packet :inline :offset-assert   0)
   (temp-strip-tmpl    dma-gif-packet :inline :offset-assert  32)
   (stencil-tmpl       dma-gif-packet :inline :offset-assert  64)
   (clear-color        vector4w       :inline :offset-assert  96)
   (set-color          vector4w       :inline :offset-assert 112)
   (draw-color         vector4w       :inline :offset-assert 128)
   (depth              depth-cue-data         :offset-assert 144)
   (front              depth-cue-data         :offset-assert 148)
   )
  :method-count-assert 9
  :size-assert         #x98
  :flag-assert         #x900000098
  )

;; definition for method 3 of type depth-cue-work
(defmethod inspect depth-cue-work ((obj depth-cue-work))
  (format #t "[~8x] ~A~%" obj 'depth-cue-work)
  (format #t "~Ttexture-strip-tmpl: #<dma-gif-packet @ #x~X>~%" (-> obj texture-strip-tmpl))
  (format #t "~Ttemp-strip-tmpl: #<dma-gif-packet @ #x~X>~%" (-> obj temp-strip-tmpl))
  (format #t "~Tstencil-tmpl: #<dma-gif-packet @ #x~X>~%" (-> obj stencil-tmpl))
  (format #t "~Tclear-color: #<vector4w @ #x~X>~%" (-> obj clear-color))
  (format #t "~Tset-color: #<vector4w @ #x~X>~%" (-> obj set-color))
  (format #t "~Tdraw-color: #<vector4w @ #x~X>~%" (-> obj draw-color))
  (format #t "~Tdepth: #<depth-cue-data @ #x~X>~%" (-> obj depth))
  (format #t "~Tfront: #<depth-cue-data @ #x~X>~%" (-> obj front))
  obj
  )

;; failed to figure out what this is:
0
