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

;; definition for method 11 of type draw-node
;; INFO: Return type mismatch int vs none.
(defmethod collide-with-box draw-node ((obj draw-node) (arg0 int) (arg1 collide-list))
  (dotimes (s3-0 arg0)
    (if (collide-cache-using-box-test (-> obj bsphere))
        (collide-with-box (-> obj child) (the-as int (-> obj child-count)) arg1)
        )
    (&+! obj 32)
    )
  0
  (none)
  )

;; definition for method 12 of type draw-node
;; INFO: Return type mismatch int vs none.
(defmethod collide-y-probe draw-node ((obj draw-node) (arg0 int) (arg1 collide-list))
  (dotimes (s3-0 arg0)
    (if (collide-cache-using-y-probe-test (-> obj bsphere))
        (collide-y-probe (-> obj child) (the-as int (-> obj child-count)) arg1)
        )
    (&+! obj 32)
    )
  0
  (none)
  )

;; definition for method 13 of type draw-node
;; INFO: Return type mismatch int vs none.
(defmethod collide-ray draw-node ((obj draw-node) (arg0 int) (arg1 collide-list))
  (dotimes (s3-0 arg0)
    (if (collide-cache-using-line-sphere-test (-> obj bsphere))
        (collide-ray (-> obj child) (the-as int (-> obj child-count)) arg1)
        )
    (&+! obj 32)
    )
  0
  (none)
  )

;; definition for method 17 of type draw-node
;; INFO: Return type mismatch int vs none.
(defmethod collect-ambients draw-node ((obj draw-node) (arg0 sphere) (arg1 int) (arg2 ambient-list))
  (dotimes (s2-0 arg1)
    (if (spheres-overlap? arg0 (the-as sphere (-> obj bsphere)))
        (collect-ambients (-> obj child) arg0 (the-as int (-> obj child-count)) arg2)
        )
    (&+! obj 32)
    )
  0
  (none)
  )

;; definition for method 3 of type drawable-inline-array-node
(defmethod inspect drawable-inline-array-node ((obj drawable-inline-array-node))
  (format #t "[~8x] ~A~%" obj (-> obj type))
  (format #t "~Tlength: ~D~%" (-> obj length))
  (format #t "~Tdata[~D]: @ #x~X~%" (-> obj length) (-> obj data))
  (dotimes (s5-0 (-> obj length))
    (format #t "~T  [~D] ~A~%" s5-0 (-> obj data s5-0))
    )
  obj
  )

;; definition for method 8 of type drawable-inline-array-node
(defmethod mem-usage drawable-inline-array-node ((obj drawable-inline-array-node) (arg0 memory-usage-block) (arg1 int))
  (set! (-> arg0 length) (max 62 (-> arg0 length)))
  (set! (-> arg0 data 61 name) "draw-node")
  (+! (-> arg0 data 61 count) (-> obj length))
  (let ((v1-6 (asize-of obj)))
    (+! (-> arg0 data 61 used) v1-6)
    (+! (-> arg0 data 61 total) (logand -16 (+ v1-6 15)))
    )
  obj
  )

;; definition for method 5 of type drawable-inline-array-node
;; INFO: Return type mismatch uint vs int.
(defmethod asize-of drawable-inline-array-node ((obj drawable-inline-array-node))
  (the-as int (+ (-> drawable-inline-array-node size) (* (+ (-> obj length) -1) 32)))
  )

;; definition for method 11 of type drawable-inline-array-node
;; INFO: Return type mismatch int vs none.
(defmethod collide-with-box drawable-inline-array-node ((obj drawable-inline-array-node) (arg0 int) (arg1 collide-list))
  (collide-with-box (the-as drawable (-> obj data)) (-> obj length) arg1)
  0
  (none)
  )

;; definition for method 12 of type drawable-inline-array-node
;; INFO: Return type mismatch int vs none.
(defmethod collide-y-probe drawable-inline-array-node ((obj drawable-inline-array-node) (arg0 int) (arg1 collide-list))
  (collide-y-probe (the-as drawable (-> obj data)) (-> obj length) arg1)
  0
  (none)
  )

;; definition for method 13 of type drawable-inline-array-node
;; INFO: Return type mismatch int vs none.
(defmethod collide-ray drawable-inline-array-node ((obj drawable-inline-array-node) (arg0 int) (arg1 collide-list))
  (collide-ray (the-as drawable (-> obj data)) (-> obj length) arg1)
  0
  (none)
  )

;; definition for method 17 of type drawable-inline-array-node
;; INFO: Return type mismatch int vs none.
(defmethod collect-ambients drawable-inline-array-node ((obj drawable-inline-array-node) (arg0 sphere) (arg1 int) (arg2 ambient-list))
  (collect-ambients (the-as drawable (-> obj data)) arg0 (-> obj length) arg2)
  0
  (none)
  )

;; definition for function draw-node-cull
;; ERROR: function was not converted to expressions. Cannot decompile.

;; failed to figure out what this is:
0
