2023-10-10 09:41:05 -04:00
|
|
|
;;-*-Lisp-*-
|
|
|
|
(in-package goal)
|
|
|
|
|
|
|
|
;; name: simple-sprite-h.gc
|
|
|
|
;; name in dgo: simple-sprite-h
|
|
|
|
;; dgos: GAME
|
|
|
|
|
|
|
|
;; DECOMP BEGINS
|
|
|
|
|
2024-02-03 11:39:29 -05:00
|
|
|
(deftype sprite-glow-data (structure)
|
|
|
|
((position vector :inline)
|
2024-03-10 21:11:41 -04:00
|
|
|
(size-x float :overlay-at (-> position data 3))
|
|
|
|
(size-probe float :offset 16)
|
2024-02-03 11:39:29 -05:00
|
|
|
(z-offset float)
|
|
|
|
(rot-angle float)
|
|
|
|
(size-y float)
|
|
|
|
(color rgbaf :inline)
|
|
|
|
(fade-a float)
|
|
|
|
(fade-b float)
|
|
|
|
(tex-id texture-id)
|
|
|
|
(dummy uint32)
|
2024-03-10 21:11:41 -04:00
|
|
|
(quads vector 4 :inline :overlay-at position)
|
2024-02-03 11:39:29 -05:00
|
|
|
)
|
|
|
|
(:methods
|
|
|
|
(set-trans (_type_ vector) none)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
(defmethod set-trans ((this sprite-glow-data) (arg0 vector))
|
|
|
|
(let ((f0-0 (-> this position w)))
|
|
|
|
(set! (-> this position quad) (-> arg0 quad))
|
|
|
|
(set! (-> this position w) f0-0)
|
|
|
|
)
|
|
|
|
0
|
|
|
|
(none)
|
|
|
|
)
|
|
|
|
|
|
|
|
(deftype simple-sprite-system (structure)
|
|
|
|
((count int16)
|
|
|
|
(max-count int16)
|
|
|
|
(data (inline-array sprite-glow-data))
|
|
|
|
)
|
|
|
|
(:methods
|
2024-03-10 21:11:41 -04:00
|
|
|
(add! (_type_ sprite-glow-data) none)
|
2024-03-09 12:14:12 -05:00
|
|
|
(draw-all-sprites! (_type_ dma-buffer) none)
|
2024-03-10 21:11:41 -04:00
|
|
|
(clear! (_type_) none)
|
2024-02-03 11:39:29 -05:00
|
|
|
)
|
|
|
|
)
|