mirror of
https://github.com/open-goal/jak-project
synced 2026-08-08 02:31:30 -04:00
637990314b
Closes #736 --------- Co-authored-by: Hat Kid <6624576+Hat-Kid@users.noreply.github.com>
957 lines
47 KiB
Common Lisp
Vendored
Generated
957 lines
47 KiB
Common Lisp
Vendored
Generated
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; definition for symbol *blit-displays-work*, type blit-displays-work
|
|
(define *blit-displays-work* (new 'static 'blit-displays-work
|
|
:adgif-tmpl (new 'static 'dma-gif-packet
|
|
:dma-vif (new 'static 'dma-packet
|
|
:dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt))
|
|
:vif1 (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1)
|
|
)
|
|
:gif (new 'static 'array uint64 2 #x1000000000008005 #xe)
|
|
)
|
|
:sprite-tmpl (new 'static 'dma-gif-packet
|
|
:dma-vif (new 'static 'dma-packet
|
|
:dma (new 'static 'dma-tag :qwc #x41 :id (dma-tag-id cnt))
|
|
:vif1 (new 'static 'vif-tag :imm #x41 :cmd (vif-cmd direct) :msk #x1)
|
|
)
|
|
:gif (new 'static 'array uint64 2 #x408b400000008010 #x5353)
|
|
)
|
|
:contrast-tmpl (new 'static 'dma-gif-packet
|
|
:dma-vif (new 'static 'dma-packet
|
|
:dma (new 'static 'dma-tag :qwc #x41 :id (dma-tag-id cnt))
|
|
:vif1 (new 'static 'vif-tag :imm #x41 :cmd (vif-cmd direct) :msk #x1)
|
|
)
|
|
:gif (new 'static 'array uint64 2 #x40ab400000008010 #x5353)
|
|
)
|
|
:sprite-slow-tmpl (new 'static 'dma-gif-packet
|
|
:dma-vif (new 'static 'dma-packet
|
|
:dma (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt))
|
|
:vif1 (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1)
|
|
)
|
|
:gif (new 'static 'array uint64 2 #x50ab400000008001 #x53531)
|
|
)
|
|
:draw-slow-time-tmpl (new 'static 'dma-gif-packet
|
|
:dma-vif (new 'static 'dma-packet
|
|
:dma (new 'static 'dma-tag :qwc #x13 :id (dma-tag-id cnt))
|
|
:vif1 (new 'static 'vif-tag :imm #x13 :cmd (vif-cmd direct) :msk #x1)
|
|
)
|
|
:gif (new 'static 'array uint64 2 #x30aec00000008006 #x531)
|
|
)
|
|
:line-tmpl (new 'static 'dma-gif-packet
|
|
:dma-vif (new 'static 'dma-packet
|
|
:dma (new 'static 'dma-tag :qwc #x41 :id (dma-tag-id cnt))
|
|
:vif1 (new 'static 'vif-tag :imm #x41 :cmd (vif-cmd direct) :msk #x1)
|
|
)
|
|
:gif (new 'static 'array uint64 2 #x2020c00000008020 #x55)
|
|
)
|
|
:scan-tmpl (new 'static 'dma-gif-packet
|
|
:dma-vif (new 'static 'dma-packet
|
|
:dma (new 'static 'dma-tag :qwc #x4c :id (dma-tag-id cnt))
|
|
:vif1 (new 'static 'vif-tag :imm #x4c :cmd (vif-cmd direct) :msk #x1)
|
|
)
|
|
:gif (new 'static 'array uint64 2 #x5020c0000000800f #x55551)
|
|
)
|
|
:color (new 'static 'vector4w :x #x80 :y #x80 :z #x80 :w #x80)
|
|
:line-color (new 'static 'gs-rgbaq :q 1.0)
|
|
:scan-colors (new 'static 'inline-array vector4w 15
|
|
(new 'static 'vector4w :y 1 :z 1)
|
|
(new 'static 'vector4w :y 1 :z 1)
|
|
(new 'static 'vector4w :y 1 :z 1)
|
|
(new 'static 'vector4w :y 1 :z 1)
|
|
(new 'static 'vector4w :x 1 :y 3 :z 2)
|
|
(new 'static 'vector4w :x 1 :y 4 :z 3)
|
|
(new 'static 'vector4w :x 2 :y 6 :z 5)
|
|
(new 'static 'vector4w :x 3 :y 8 :z 7)
|
|
(new 'static 'vector4w :x 5 :y 11 :z 10)
|
|
(new 'static 'vector4w :x 6 :y 14 :z 13)
|
|
(new 'static 'vector4w :x 9 :y 20 :z 17)
|
|
(new 'static 'vector4w :x 13 :y 27 :z 21)
|
|
(new 'static 'vector4w :x 17 :y 36 :z 24)
|
|
(new 'static 'vector4w :x 22 :y 45 :z 28)
|
|
(new 'static 'vector4w :x 32 :y 63 :z 32)
|
|
)
|
|
:menu-mode #f
|
|
:screen-copied #f
|
|
:horizontal-flip-flag #f
|
|
)
|
|
)
|
|
|
|
;; definition for method 9 of type blit-displays-work
|
|
;; INFO: Used lq/sq
|
|
;; WARN: Return type mismatch int vs none.
|
|
(defmethod blit-standard ((this blit-displays-work) (arg0 dma-buffer) (arg1 int) (arg2 int) (arg3 int))
|
|
"Draw a full-width quad of the given height to copy from raster to display buffer"
|
|
(let ((v1-0 (the-as object (-> arg0 base))))
|
|
(set! (-> (the-as (inline-array vector4w) v1-0) 0 quad) (-> this sprite-slow-tmpl dma-vif quad))
|
|
(set! (-> (the-as (inline-array vector4w) v1-0) 1 quad) (-> this sprite-slow-tmpl quad 1))
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-0) 2) 128 128 128 arg3)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-0) 3) 8 8 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-0) 4) 0 0 #xffffff 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-0) 5) 8184 (+ (* (+ arg1 -1) 16) 8) 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-0) 6) #x2800 (* arg2 16) #xffffff #x10000)
|
|
)
|
|
(&+! (-> arg0 base) 112)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
;; definition for method 10 of type blit-displays-work
|
|
;; INFO: Used lq/sq
|
|
;; WARN: Return type mismatch int vs none.
|
|
(defmethod blit-slow-time ((this blit-displays-work) (arg0 dma-buffer) (arg1 int) (arg2 int) (arg3 int))
|
|
"Draw a full-screen triangle fan to copy from raster to display buffer.
|
|
The fan is centered in the center of the screen.
|
|
This applies a gradient of alpha from 192 at the center to arg3 at the corners."
|
|
(let ((v1-0 (the-as object (-> arg0 base))))
|
|
(set! (-> (the-as (inline-array vector4w) v1-0) 0 quad) (-> this draw-slow-time-tmpl dma-vif quad))
|
|
(set! (-> (the-as (inline-array vector4w) v1-0) 1 quad) (-> this draw-slow-time-tmpl quad 1))
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-0) 2) 96 96 96 192)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-0) 3) 4088 3320 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-0) 4) 5120 (* arg2 8) #xffffff #x10000)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-0) 5) 128 128 128 arg3)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-0) 6) 8 8 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-0) 7) 0 0 #xffffff 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-0) 8) 128 128 128 arg3)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-0) 9) 8184 8 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-0) 10) #x2800 0 #xffffff #x10000)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-0) 11) 128 128 128 arg3)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-0) 12) 8184 (+ (* (+ arg1 -1) 16) 8) 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-0) 13) #x2800 (* arg2 16) #xffffff #x10000)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-0) 14) 128 128 128 arg3)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-0) 15) 8 (+ (* (+ arg1 -1) 16) 8) 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-0) 16) 0 (* arg2 16) #xffffff #x10000)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-0) 17) 128 128 128 arg3)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-0) 18) 8 8 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-0) 19) 0 0 #xffffff 0)
|
|
)
|
|
(&+! (-> arg0 base) 320)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
;; definition for method 11 of type blit-displays-work
|
|
;; INFO: Used lq/sq
|
|
;; WARN: Return type mismatch int vs none.
|
|
(defmethod draw-sprite-color ((this blit-displays-work) (arg0 dma-buffer) (arg1 int))
|
|
(let ((v1-0 (the-as object (-> arg0 base))))
|
|
(set! (-> (the-as (inline-array vector4w) v1-0) 0 quad) (-> this sprite-slow-tmpl dma-vif quad))
|
|
(set! (-> (the-as (inline-array vector4w) v1-0) 1 quad) (-> this sprite-slow-tmpl quad 1))
|
|
(set! (-> (the-as (inline-array vector4w) v1-0) 2 quad) (-> this color quad))
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-0) 3) 8 8 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-0) 4) 0 0 #xffffff 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-0) 5) #x27f8 (+ (* (+ arg1 -1) 16) 8) 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-0) 6) 8192 6656 #xffffff #x10000)
|
|
)
|
|
(&+! (-> arg0 base) 112)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
;; definition for method 12 of type blit-displays-work
|
|
;; INFO: Used lq/sq
|
|
;; WARN: Return type mismatch int vs none.
|
|
(defmethod draw-letterbox ((this blit-displays-work) (arg0 dma-buffer) (arg1 float) (arg2 int) (arg3 float))
|
|
(let ((v1-0 (the-as object (-> arg0 base))))
|
|
(set! (-> (the-as (pointer uint128) v1-0)) (-> this sprite-slow-tmpl dma-vif quad))
|
|
(set! (-> (the-as (inline-array vector4w) v1-0) 1 quad) (-> this sprite-slow-tmpl quad 1))
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-0) 2) 128 128 128 128)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-0) 3) 8 8 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-0) 4) 0 0 #xffffff 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-0) 5) 8184 (+ (the int (* 736.0 arg1)) 8) 0 0)
|
|
(set-vector!
|
|
(-> (the-as (inline-array vector4w) v1-0) 6)
|
|
#x2800
|
|
(the int (* 736.0 arg3 arg1))
|
|
#xffffff
|
|
#x10000
|
|
)
|
|
)
|
|
(&+! (-> arg0 base) 112)
|
|
(let ((v1-4 (the-as object (-> arg0 base))))
|
|
(set! (-> (the-as (inline-array vector4w) v1-4) 0 quad) (-> this sprite-slow-tmpl dma-vif quad))
|
|
(set! (-> (the-as (inline-array vector4w) v1-4) 1 quad) (-> this sprite-slow-tmpl quad 1))
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-4) 2) 128 128 128 128)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-4) 3) 8 (+ (* (- 416 (the int (* 46.0 arg1))) 16) 8) 0 0)
|
|
(set-vector!
|
|
(-> (the-as (inline-array vector4w) v1-4) 4)
|
|
0
|
|
(* (- arg2 (the int (* 46.0 arg3 arg1))) 16)
|
|
#xffffff
|
|
0
|
|
)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-4) 5) 8184 6648 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-4) 6) #x2800 (* arg2 16) #xffffff #x10000)
|
|
)
|
|
(&+! (-> arg0 base) 112)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
;; definition for method 13 of type blit-displays-work
|
|
;; INFO: Used lq/sq
|
|
;; WARN: Return type mismatch int vs none.
|
|
(defmethod draw-antialias ((this blit-displays-work) (arg0 dma-buffer) (arg1 int) (arg2 int) (arg3 int))
|
|
"Draw the raster buffer on top of itself, with a half-pixel offset.
|
|
This is used as an antialiasing effect."
|
|
(set-display-gs-state arg0 408 512 416 0 0)
|
|
(dma-buffer-add-gs-set arg0 (rgbaq (new 'static 'gs-rgbaq :r #x80 :g #x80 :b #x80 :a #x80 :q 1.0)))
|
|
(let ((v1-3 (the-as object (-> arg0 base))))
|
|
(set! (-> (the-as (inline-array vector4w) v1-3) 0 quad) (-> this sprite-tmpl dma-vif quad))
|
|
(set! (-> (the-as (inline-array vector4w) v1-3) 1 quad) (-> this sprite-tmpl quad 1))
|
|
)
|
|
(&+! (-> arg0 base) 32)
|
|
(dotimes (v1-6 16)
|
|
(let ((a0-10 (the-as object (-> arg0 base)))
|
|
(a2-2 (* v1-6 512))
|
|
(a1-10 (* (+ v1-6 1) 512))
|
|
)
|
|
(set-vector! (-> (the-as (inline-array vector4w) a0-10) 0) (+ a2-2 arg3) arg1 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) a0-10) 1) a2-2 0 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) a0-10) 2) (+ a1-10 arg3) arg2 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) a0-10) 3) a1-10 6656 0 #x10000)
|
|
)
|
|
(&+! (-> arg0 base) 64)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
;; definition for method 14 of type blit-displays-work
|
|
;; INFO: Used lq/sq
|
|
;; WARN: Return type mismatch int vs none.
|
|
(defmethod draw-color-filter ((this blit-displays-work) (arg0 dma-buffer) (arg1 vector))
|
|
(set-display-gs-state arg0 408 512 416 0 0)
|
|
(dma-buffer-add-gs-set arg0
|
|
(test-1 (new 'static 'gs-test :ate #x1 :afail #x3 :zte #x1 :ztst (gs-ztest always)))
|
|
(alpha-1 (new 'static 'gs-alpha))
|
|
(tex0-1 (new 'static 'gs-tex0 :tbp0 #x3300 :tbw #x8 :tw #x9 :th #x9 :tcc #x1))
|
|
(tex1-1 (new 'static 'gs-tex1 :mmag #x1 :mmin #x1))
|
|
(clamp-1 (new 'static 'gs-clamp :wms (gs-tex-wrap-mode clamp) :wmt (gs-tex-wrap-mode clamp)))
|
|
(rgbaq (new 'static 'gs-rgbaq
|
|
:a #x80
|
|
:q 1.0
|
|
:b (the int (* 128.0 (-> arg1 z)))
|
|
:g (the int (* 128.0 (-> arg1 y)))
|
|
:r (the int (* 128.0 (-> arg1 x)))
|
|
)
|
|
)
|
|
(texflush 0)
|
|
)
|
|
(let ((v1-3 (the-as object (-> arg0 base))))
|
|
(set! (-> (the-as dma-gif-packet v1-3) dma-vif quad) (-> this sprite-tmpl dma-vif quad))
|
|
(set! (-> (the-as dma-gif-packet v1-3) quad 1) (-> this sprite-tmpl quad 1))
|
|
)
|
|
(&+! (-> arg0 base) 32)
|
|
(dotimes (v1-6 16)
|
|
(let ((a0-10 (the-as object (-> arg0 base)))
|
|
(a2-14 (* v1-6 512))
|
|
(a1-23 (* (+ v1-6 1) 512))
|
|
)
|
|
(set-vector! (-> (the-as (inline-array vector4w) a0-10) 0) (+ a2-14 8) 8 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) a0-10) 1) a2-14 0 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) a0-10) 2) (+ a1-23 8) 6664 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) a0-10) 3) a1-23 6656 0 0)
|
|
)
|
|
(&+! (-> arg0 base) 64)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
;; definition for method 15 of type blit-displays-work
|
|
;; INFO: Used lq/sq
|
|
;; WARN: Return type mismatch int vs none.
|
|
(defmethod fx-to-raster-flipped ((this blit-displays-work) (arg0 dma-buffer))
|
|
(set-display-gs-state arg0 408 512 416 0 0)
|
|
(dma-buffer-add-gs-set arg0
|
|
(test-1 (new 'static 'gs-test :ate #x1 :afail #x3 :zte #x1 :ztst (gs-ztest always)))
|
|
(alpha-1 (new 'static 'gs-alpha))
|
|
(tex0-1 (new 'static 'gs-tex0 :tbp0 #x4c0 :tbw #x8 :tw #x9 :th #x9 :tcc #x1))
|
|
(tex1-1 (new 'static 'gs-tex1 :mmag #x1 :mmin #x1))
|
|
(clamp-1 (new 'static 'gs-clamp :wms (gs-tex-wrap-mode clamp) :wmt (gs-tex-wrap-mode clamp)))
|
|
(rgbaq (new 'static 'gs-rgbaq :r #x80 :g #x80 :b #x80 :a #x80 :q 1.0))
|
|
(texflush 0)
|
|
)
|
|
(let ((v1-3 (the-as object (-> arg0 base))))
|
|
(set! (-> (the-as dma-gif-packet v1-3) dma-vif quad) (-> this sprite-tmpl dma-vif quad))
|
|
(set! (-> (the-as dma-gif-packet v1-3) quad 1) (-> this sprite-tmpl quad 1))
|
|
)
|
|
(&+! (-> arg0 base) 32)
|
|
(dotimes (v1-6 16)
|
|
(let ((a0-10 (the-as object (-> arg0 base)))
|
|
(a2-1 (+ (* v1-6 512) 8))
|
|
(a1-22 (+ (* (+ v1-6 1) 512) 8))
|
|
(a3-3 (* (- 16 v1-6) 512))
|
|
(t0-3 (* (- 16 (+ v1-6 1)) 512))
|
|
)
|
|
(set-vector! (-> (the-as (inline-array vector4w) a0-10) 0) a2-1 8 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) a0-10) 1) a3-3 0 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) a0-10) 2) a1-22 6664 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) a0-10) 3) t0-3 6656 0 #x10000)
|
|
)
|
|
(&+! (-> arg0 base) 64)
|
|
)
|
|
(set-display-gs-state arg0 304 512 416 (shl #xff00 16) 48)
|
|
(dma-buffer-add-gs-set arg0
|
|
(test-1 (new 'static 'gs-test :ate #x1 :afail #x3 :zte #x1 :ztst (gs-ztest always)))
|
|
(alpha-1 (new 'static 'gs-alpha))
|
|
(tex0-1 (new 'static 'gs-tex0 :tbp0 #x2600 :tbw #x8 :psm #x30 :tw #x9 :th #x9))
|
|
(clamp-1 (new 'static 'gs-clamp :wms (gs-tex-wrap-mode clamp) :wmt (gs-tex-wrap-mode clamp)))
|
|
(texflush 0)
|
|
)
|
|
(let ((a0-21 (the-as object (-> arg0 base)))
|
|
(a1-40 2640)
|
|
(v1-13 4560)
|
|
)
|
|
(set! (-> (the-as (inline-array vector4w) a0-21) 0 quad) (-> this sprite-slow-tmpl dma-vif quad))
|
|
(set! (-> (the-as (inline-array vector4w) a0-21) 1 quad) (-> this sprite-slow-tmpl quad 1))
|
|
(set! (-> (the-as (inline-array vector4w) a0-21) 2 quad) (-> this color quad))
|
|
(set-vector! (-> (the-as (inline-array vector4w) a0-21) 3) 8192 a1-40 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) a0-21) 4) 8 a1-40 #xffffff 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) a0-21) 5) 6592 v1-13 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) a0-21) 6) 1608 v1-13 #xffffff 0)
|
|
)
|
|
(&+! (-> arg0 base) 112)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
;; definition for method 16 of type blit-displays-work
|
|
;; INFO: Used lq/sq
|
|
;; WARN: Return type mismatch int vs none.
|
|
(defmethod draw-zoom-blur ((this blit-displays-work) (arg0 dma-buffer) (arg1 int))
|
|
(let ((s2-0 (the-as object (-> arg0 base)))
|
|
(s5-0 (new 'stack-no-clear 'vector))
|
|
)
|
|
0.0
|
|
(let ((f26-0 512.0))
|
|
0.0
|
|
(let ((f30-0 416.0)
|
|
(f28-0 (the float (-> this zoom-blur-texels)))
|
|
)
|
|
(cond
|
|
((-> this zoom-blur-2d)
|
|
(vector-copy! s5-0 (-> this zoom-blur-pos))
|
|
(let* ((f2-0 (* (/ f28-0 512) (-> s5-0 x)))
|
|
(f0-6 (- f26-0 (- f28-0 f2-0)))
|
|
(f3-1 (* (/ f28-0 416) (-> s5-0 y)))
|
|
(f1-4 (- f30-0 (- f28-0 f3-1)))
|
|
)
|
|
(set! (-> (the-as (inline-array vector4w) s2-0) 0 quad) (-> this sprite-slow-tmpl dma-vif quad))
|
|
(set! (-> (the-as (inline-array vector4w) s2-0) 1 quad) (-> this sprite-slow-tmpl quad 1))
|
|
(set! (-> (the-as (inline-array vector4w) s2-0) 2 quad) (-> this color quad))
|
|
(set-vector! (-> (the-as (inline-array vector4w) s2-0) 3) (the int (* 16.0 f2-0)) (the int (* 16.0 f3-1)) 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) s2-0) 4) 0 0 #xffffff 0)
|
|
(set-vector!
|
|
(-> (the-as (inline-array vector4w) s2-0) 5)
|
|
(the int (* 16.0 (+ -1.0 f0-6)))
|
|
(the int (* 16.0 (+ -1.0 f1-4)))
|
|
0
|
|
0
|
|
)
|
|
)
|
|
(set-vector! (-> (the-as (inline-array vector4w) s2-0) 6) #x2800 (* arg1 16) #xffffff #x10000)
|
|
(&+! (-> arg0 base) 112)
|
|
)
|
|
(else
|
|
(transform-point-vector! s5-0 (-> this zoom-blur-pos))
|
|
(if (< (-> s5-0 z) 0.0)
|
|
(vector-negate! s5-0 s5-0)
|
|
)
|
|
(+! (-> s5-0 x) -1792.0)
|
|
(+! (-> s5-0 y) -1840.0)
|
|
(let* ((f1-10 (* (/ f28-0 512) (-> s5-0 x)))
|
|
(f2-8 (fmax 0.0 (fmin f1-10 f28-0)))
|
|
(f0-22 (- f26-0 (- f28-0 f2-8)))
|
|
(f3-4 (* (/ f28-0 416) (-> s5-0 y)))
|
|
(f3-6 (fmax 0.0 (fmin f3-4 f28-0)))
|
|
(f1-16 (- f30-0 (- f28-0 f3-6)))
|
|
)
|
|
(set! (-> (the-as (inline-array vector4w) s2-0) 0 quad) (-> this sprite-slow-tmpl dma-vif quad))
|
|
(set! (-> (the-as (inline-array vector4w) s2-0) 1 quad) (-> this sprite-slow-tmpl quad 1))
|
|
(set! (-> (the-as (inline-array vector4w) s2-0) 2 quad) (-> this color quad))
|
|
(set-vector! (-> (the-as (inline-array vector4w) s2-0) 3) (the int (* 16.0 f2-8)) (the int (* 16.0 f3-6)) 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) s2-0) 4) 0 0 #xffffff 0)
|
|
(set-vector!
|
|
(-> (the-as (inline-array vector4w) s2-0) 5)
|
|
(the int (* 16.0 (+ -1.0 f0-22)))
|
|
(the int (* 16.0 (+ -1.0 f1-16)))
|
|
0
|
|
0
|
|
)
|
|
)
|
|
(set-vector! (-> (the-as (inline-array vector4w) s2-0) 6) #x2800 (* arg1 16) #xffffff #x10000)
|
|
(&+! (-> arg0 base) 112)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(let ((f0-29 0.0)
|
|
(f1-18 0.0)
|
|
)
|
|
(if (< (-> s5-0 x) 0.0)
|
|
(set! f0-29 (fmin 1.0 (* 0.001953125 (- (-> s5-0 x)))))
|
|
)
|
|
(if (< 512.0 (-> s5-0 x))
|
|
(set! f0-29 (fmin 1.0 (* 0.001953125 (+ -512.0 (-> s5-0 x)))))
|
|
)
|
|
(if (< (-> s5-0 y) 0.0)
|
|
(set! f1-18 (fmin 1.0 (* 0.001953125 (- (-> s5-0 y)))))
|
|
)
|
|
(if (< 416.0 (-> s5-0 y))
|
|
(set! f1-18 (fmin 1.0 (* 0.001953125 (+ -416.0 (-> s5-0 y)))))
|
|
)
|
|
(let ((f0-32 (fmax f0-29 f1-18)))
|
|
(set! (-> this zoom-blur-alpha-current) (lerp (-> this zoom-blur-alpha-target) 1.0 f0-32))
|
|
)
|
|
)
|
|
)
|
|
(set-dirty-mask! (-> *level* level-default) 9 #xd0000 #x4c000)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
;; definition for method 17 of type blit-displays-work
|
|
;; INFO: Used lq/sq
|
|
;; WARN: Return type mismatch int vs none.
|
|
(defmethod setup-zoom-blur-2d ((this blit-displays-work) (arg0 vector) (arg1 int) (arg2 float) (arg3 symbol))
|
|
(set! (-> this zoom-blur-2d) arg3)
|
|
(vector-copy! (-> this zoom-blur-pos) arg0)
|
|
(set! (-> this zoom-blur-texels) arg1)
|
|
(set! (-> this zoom-blur-alpha-target) arg2)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
;; definition for method 18 of type blit-displays-work
|
|
;; INFO: Used lq/sq
|
|
;; WARN: Return type mismatch int vs none.
|
|
(defmethod draw-brightness-and-contrast ((this blit-displays-work) (arg0 dma-buffer) (arg1 float) (arg2 float))
|
|
(set-display-gs-state arg0 408 512 416 0 0)
|
|
(let ((s4-1 (fmax 0.0 (fmin 1.0 arg2)))
|
|
(s3-1 (fmax 0.0 (fmin 1.0 arg1)))
|
|
)
|
|
(let ((v1-2 (the-as object (-> arg0 base))))
|
|
(set! (-> (the-as dma-gif-packet v1-2) dma-vif quad) (-> this adgif-tmpl dma-vif quad))
|
|
(set! (-> (the-as dma-gif-packet v1-2) quad 1) (-> this adgif-tmpl quad 1))
|
|
(adgif-shader<-texture-simple!
|
|
(the-as adgif-shader (&+ (the-as dma-gif-packet v1-2) 32))
|
|
(get-texture common-white common)
|
|
)
|
|
)
|
|
(&+! (-> arg0 base) 112)
|
|
(let ((v1-9 (the int (* 64.2509 (+ (- 0.5 s4-1) (* 2.0 (fmax 0.0 (+ -0.5 s3-1)))))))
|
|
(a0-10 (the int (fmin 255.0 (* 256.0 (fmin 1.0 (* 2.0 s3-1)) s4-1))))
|
|
)
|
|
(cond
|
|
((>= v1-9 0)
|
|
(dma-buffer-add-gs-set arg0
|
|
(test-1 (new 'static 'gs-test :ate #x1 :afail #x3 :zte #x1 :ztst (gs-ztest always)))
|
|
(alpha-1 (new 'static 'gs-alpha :a #x1 :b #x2 :c #x2 :fix a0-10))
|
|
(rgbaq (new 'static 'gs-rgbaq :a #x80 :q 1.0 :b v1-9 :g v1-9 :r v1-9))
|
|
)
|
|
)
|
|
(else
|
|
(let ((v1-15 (- v1-9)))
|
|
(dma-buffer-add-gs-set arg0
|
|
(test-1 (new 'static 'gs-test :ate #x1 :afail #x3 :zte #x1 :ztst (gs-ztest always)))
|
|
(alpha-1 (new 'static 'gs-alpha :a #x1 :c #x2 :d #x2 :fix a0-10))
|
|
(rgbaq (new 'static 'gs-rgbaq :a #x80 :q 1.0 :b v1-15 :g v1-15 :r v1-15))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(let ((v1-21 (the-as object (-> arg0 base))))
|
|
(set! (-> (the-as dma-gif-packet v1-21) dma-vif quad) (-> this contrast-tmpl dma-vif quad))
|
|
(set! (-> (the-as dma-gif-packet v1-21) quad 1) (-> this contrast-tmpl quad 1))
|
|
)
|
|
(&+! (-> arg0 base) 32)
|
|
(dotimes (v1-24 16)
|
|
(let ((a0-27 (the-as object (-> arg0 base)))
|
|
(a2-12 (* v1-24 512))
|
|
(a1-10 (* (+ v1-24 1) 512))
|
|
)
|
|
(set-vector! (-> (the-as (inline-array vector4w) a0-27) 0) 0 0 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) a0-27) 1) a2-12 0 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) a0-27) 2) 0 0 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) a0-27) 3) a1-10 6656 0 0)
|
|
)
|
|
(&+! (-> arg0 base) 64)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
;; definition for method 19 of type blit-displays-work
|
|
;; INFO: Used lq/sq
|
|
;; WARN: Return type mismatch int vs none.
|
|
(defmethod do-blit-displays ((this blit-displays-work))
|
|
(set! (-> this slow-time) (- 1.0 (-> *setting-control* user-current slow-time)))
|
|
(let ((v1-3 (-> *setting-control* user-current)))
|
|
(when (or (!= (-> v1-3 contrast) 0.5) (!= (-> v1-3 brightness) 0.5))
|
|
(with-dma-buffer-add-bucket ((s4-0 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id debug-menu)
|
|
)
|
|
(draw-brightness-and-contrast this s4-0 (-> v1-3 brightness) (-> v1-3 contrast))
|
|
(reset-display-gs-state *display* s4-0)
|
|
)
|
|
)
|
|
)
|
|
(when (zero? (-> this count-down))
|
|
(cond
|
|
((and (-> this menu-mode) (not (-> this screen-copied)))
|
|
(with-dma-buffer-add-bucket ((s4-1 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id blit)
|
|
)
|
|
(fx-copy-buf s4-1)
|
|
)
|
|
(set! (-> this vu1-enable-user-menu) (-> *display* vu1-enable-user-menu))
|
|
(set! (-> *display* vu1-enable-user-menu) (vu1-renderer-mask generic))
|
|
(set! (-> *display* vu1-enable-user) (vu1-renderer-mask generic))
|
|
(set! (-> this texture-enable-user-menu) (the-as uint (-> *texture-pool* texture-enable-user-menu)))
|
|
(set! (-> *texture-pool* texture-enable-user-menu) (texture-enable-mask shrub water hud))
|
|
(set! (-> *texture-pool* texture-enable-user) (texture-enable-mask shrub water hud))
|
|
(set! (-> this count-down) (the-as uint 3))
|
|
(set! (-> this screen-copied) #t)
|
|
(set! (-> this progress-interp) 0.0)
|
|
(set! (-> this progress-interp-dest) 1.0)
|
|
(set! (-> this progress-interp-speed) 0.033333335)
|
|
)
|
|
((and (not (get-menu-mode this)) (get-screen-copied this))
|
|
(set! (-> *display* vu1-enable-user-menu) (-> this vu1-enable-user-menu))
|
|
(set! (-> *texture-pool* texture-enable-user-menu)
|
|
(the-as texture-enable-mask (-> this texture-enable-user-menu))
|
|
)
|
|
(set! (-> this count-down) (the-as uint 3))
|
|
(set! (-> this screen-copied) #f)
|
|
)
|
|
)
|
|
)
|
|
(when (and (-> *setting-control* user-current render) (>= (the-as uint 1) (-> this count-down)))
|
|
(when (and (get-horizontal-flip-flag this) (not (get-menu-mode this)))
|
|
(with-dma-buffer-add-bucket ((s4-2 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id debug-no-zbuf1)
|
|
)
|
|
(fx-copy-buf s4-2)
|
|
(fx-to-raster-flipped this s4-2)
|
|
(reset-display-gs-state *display* s4-2)
|
|
)
|
|
)
|
|
(when (logtest? (vu1-renderer-mask depth-cue) (-> *display* vu1-enable-user))
|
|
(when (not *display-color-bars*)
|
|
(with-dma-buffer-add-bucket ((s4-3 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id anti-alias)
|
|
)
|
|
(dma-buffer-add-gs-set s4-3
|
|
(test-1 (new 'static 'gs-test :ate #x1 :afail #x3 :zte #x1 :ztst (gs-ztest always)))
|
|
(alpha-1 (new 'static 'gs-alpha))
|
|
(tex0-1 (new 'static 'gs-tex0 :tbp0 #x3300 :tbw #x8 :tw #x9 :th #x9 :tcc #x1))
|
|
(tex1-1 (new 'static 'gs-tex1 :mmag #x1 :mmin #x1))
|
|
(clamp-1 (new 'static 'gs-clamp :wms (gs-tex-wrap-mode clamp) :wmt (gs-tex-wrap-mode clamp)))
|
|
(texflush 0)
|
|
)
|
|
(if (or (zero? *screen-shot-work*) (= (-> *screen-shot-work* count) -1))
|
|
(draw-antialias this s4-3 0 6656 8)
|
|
)
|
|
(reset-display-gs-state *display* s4-3)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(let ((f0-9 (-> this slow-time))
|
|
(a2-6 (-> *time-of-day-context* filter))
|
|
(s5-4 (new 'stack-no-clear 'vector))
|
|
)
|
|
(set-vector! s5-4 1.0 1.0 1.5 1.0)
|
|
(vector4-lerp! s5-4 s5-4 a2-6 f0-9)
|
|
(when (and (or (!= (-> s5-4 x) 1.0) (!= (-> s5-4 y) 1.0) (!= (-> s5-4 z) 1.0)) (not (get-menu-mode this)))
|
|
(with-dma-buffer-add-bucket ((s3-0 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id tex-hud-hud-alpha)
|
|
)
|
|
(draw-color-filter this s3-0 s5-4)
|
|
(reset-display-gs-state *display* s3-0)
|
|
)
|
|
)
|
|
)
|
|
(cond
|
|
((and (-> *setting-control* user-current render) (zero? (-> this count-down)))
|
|
(with-dma-buffer-add-bucket ((s4-5 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id blit)
|
|
)
|
|
(dma-buffer-add-gs-set s4-5
|
|
(dthe (new 'static 'gs-dthe))
|
|
(prmodecont (new 'static 'gs-prmode-cont :ac #x1))
|
|
(colclamp (new 'static 'gs-color-clamp :clamp #x1))
|
|
(pabe 0)
|
|
(texa (new 'static 'gs-texa :ta1 #x80))
|
|
(texclut (new 'static 'gs-texclut :cbw #x4))
|
|
(test-1 (new 'static 'gs-test :ate #x1 :afail #x3 :zte #x1 :ztst (gs-ztest always)))
|
|
(tex1-1 (new 'static 'gs-tex1 :mmag #x1 :mmin #x1))
|
|
(clamp-1 (new 'static 'gs-clamp :wms (gs-tex-wrap-mode clamp) :wmt (gs-tex-wrap-mode clamp)))
|
|
(fogcol *fog-color*)
|
|
(texflush 0)
|
|
)
|
|
(let* ((s0-0 *video-params*)
|
|
(s1-0 (-> s0-0 display-fbp))
|
|
(s3-1 (-> s0-0 display-sy))
|
|
)
|
|
(let ((s2-0 (* s3-1 2)))
|
|
(dma-buffer-add-gs-set s4-5
|
|
(alpha-1 (new 'static 'gs-alpha :b #x1 :d #x1))
|
|
(tex0-1 (new 'static 'gs-tex0 :tbp0 #x3300 :tbw #x8 :tw #x9 :th #x9))
|
|
)
|
|
(cond
|
|
((or (zero? (-> this zoom-blur-texels)) (or (= (-> this zoom-blur-alpha-target) 1.0) (paused?)))
|
|
(let ((f0-14 (-> this slow-time))
|
|
(f30-0 1.0)
|
|
)
|
|
(if (!= f0-14 1.0)
|
|
(set! f30-0 (lerp 0.05 1.0 f0-14))
|
|
)
|
|
(set-display-gs-state s4-5 (-> s0-0 display-fbp) 640 s2-0 (shl #xff00 16) 0)
|
|
(if (= f30-0 1.0)
|
|
(blit-standard this s4-5 416 s2-0 128)
|
|
(blit-slow-time this s4-5 416 s2-0 (the int (* 128.0 f30-0)))
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
(set-display-gs-state s4-5 38 512 416 (shl #xff00 16) 0)
|
|
(dma-buffer-add-gs-set s4-5
|
|
(tex0-1 (new 'static 'gs-tex0 :tbw #xa :tw #xa :th #x9 :tbp0 (* (-> s0-0 display-fbp) 32)))
|
|
)
|
|
(draw-sprite-color this s4-5 s2-0)
|
|
(set-display-gs-state s4-5 s1-0 640 s2-0 (shl #xff00 16) 0)
|
|
(dma-buffer-add-gs-set s4-5 (tex0-1 (new 'static 'gs-tex0 :tbp0 #x4c0 :tbw #x8 :tw #x9 :th #x9)))
|
|
(draw-zoom-blur this s4-5 s2-0)
|
|
(dma-buffer-add-gs-set s4-5 (tex0-1 (new 'static 'gs-tex0 :tbp0 #x3300 :tbw #x8 :tw #x9 :th #x9)))
|
|
(blit-standard this s4-5 416 s2-0 (the int (* 128.0 (-> this zoom-blur-alpha-current))))
|
|
(when (or (!= (-> *setting-control* user-current letterbox) 0.0)
|
|
(< (-> *display* base-clock frame-counter) (-> *game-info* letterbox-time))
|
|
)
|
|
(when (and (= (-> *setting-control* user-current aspect-ratio) 'aspect4x3)
|
|
(or (zero? *screen-shot-work*) (= (-> *screen-shot-work* count) -1))
|
|
)
|
|
(let ((f0-24 (the-as float (if (< (-> *display* base-clock frame-counter) (-> *game-info* letterbox-time))
|
|
1.0
|
|
(-> *setting-control* user-current letterbox)
|
|
)
|
|
)
|
|
)
|
|
(f1-15 (* 0.0024038462 (the float s2-0)))
|
|
)
|
|
(draw-letterbox this s4-5 f0-24 s2-0 f1-15)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(when (!= (-> *setting-control* user-current scanlines) 0.0)
|
|
(let ((v1-213 (the int (* 128.0 (-> *setting-control* user-current scanlines)))))
|
|
(set! (-> this line-color a) v1-213)
|
|
(dotimes (a0-120 15)
|
|
(set! (-> this scan-colors a0-120 w) v1-213)
|
|
)
|
|
)
|
|
(dma-buffer-add-gs-set s4-5
|
|
(alpha-1 (new 'static 'gs-alpha :b #x1 :d #x1))
|
|
(test-1 (new 'static 'gs-test :ate #x1 :afail #x3 :zte #x1 :ztst (gs-ztest always)))
|
|
(rgbaq (-> this line-color))
|
|
)
|
|
(dotimes (v1-219 (/ s3-1 32))
|
|
(let ((a0-127 (the-as object (-> s4-5 base))))
|
|
(set! (-> (the-as dma-gif-packet a0-127) dma-vif quad) (-> this line-tmpl dma-vif quad))
|
|
(set! (-> (the-as dma-gif-packet a0-127) quad 1) (-> this line-tmpl quad 1))
|
|
)
|
|
(&+! (-> s4-5 base) 32)
|
|
(dotimes (a0-130 16)
|
|
(let ((a1-115 (the-as object (-> s4-5 base)))
|
|
(a2-25 (* (+ (* v1-219 64) (* a0-130 4)) 16))
|
|
)
|
|
(set-vector! (-> (the-as (inline-array vector4w) a1-115) 0) 0 a2-25 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) a1-115) 1) #x2800 a2-25 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) a1-115) 2) 0 (+ a2-25 16) 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) a1-115) 3) #x2800 (+ a2-25 16) 0 0)
|
|
)
|
|
(&+! (-> s4-5 base) 64)
|
|
)
|
|
)
|
|
(dma-buffer-add-gs-set s4-5 (alpha-1 (new 'static 'gs-alpha :b #x2 :d #x1)))
|
|
(let ((v1-225 (the-as object (-> s4-5 base))))
|
|
(set! (-> (the-as dma-gif-packet v1-225) dma-vif quad) (-> this scan-tmpl dma-vif quad))
|
|
(set! (-> (the-as dma-gif-packet v1-225) quad 1) (-> this scan-tmpl quad 1))
|
|
)
|
|
(&+! (-> s4-5 base) 32)
|
|
(let ((a0-142 (* (-> this scanline) 32)))
|
|
(dotimes (v1-229 15)
|
|
(let ((a1-126 (the-as object (-> s4-5 base))))
|
|
(set! (-> (the-as (inline-array vector4w) a1-126) 0 quad) (-> this scan-colors v1-229 quad))
|
|
(set-vector! (-> (the-as (inline-array vector4w) a1-126) 1) 0 (the-as int a0-142) 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) a1-126) 2) #x2800 (the-as int a0-142) 0 0)
|
|
(let ((a0-143 (+ a0-142 16)))
|
|
(set-vector! (-> (the-as (inline-array vector4w) a1-126) 3) 0 (the-as int a0-143) 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) a1-126) 4) #x2800 (the-as int a0-143) 0 0)
|
|
(set! a0-142 (+ a0-143 16))
|
|
)
|
|
)
|
|
(&+! (-> s4-5 base) 80)
|
|
)
|
|
)
|
|
(if (not (paused?))
|
|
(set! (-> this scanline) (the-as uint (mod (the-as int (+ (-> this scanline) 4)) s3-1)))
|
|
)
|
|
)
|
|
)
|
|
(reset-display-gs-state *display* s4-5)
|
|
)
|
|
)
|
|
(else
|
|
(with-dma-buffer-add-bucket ((s4-6 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id blit)
|
|
)
|
|
(reset-display-gs-state *display* s4-6)
|
|
)
|
|
)
|
|
)
|
|
(if (nonzero? (-> this count-down))
|
|
(+! (-> this count-down) -1)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
;; definition for method 20 of type blit-displays-work
|
|
;; INFO: Used lq/sq
|
|
;; WARN: Return type mismatch int vs none.
|
|
(defmethod blit-menu-mode ((this blit-displays-work) (arg0 dma-buffer))
|
|
(let ((f0-0 (-> this progress-interp))
|
|
(v1-0 *time-of-day-context*)
|
|
)
|
|
(dma-buffer-add-gs-set arg0
|
|
(zbuf-1 (new 'static 'gs-zbuf :zbp #x130 :psm (gs-psm ct24)))
|
|
(test-1 (new 'static 'gs-test :ate #x1 :atst (gs-atest always) :zte #x1 :ztst (gs-ztest always)))
|
|
(alpha-1 (new 'static 'gs-alpha))
|
|
(tex0-1 (new 'static 'gs-tex0 :tbp0 #x4c0 :tbw #x8 :tw #x9 :th #x9 :tcc #x1))
|
|
(tex1-1 (new 'static 'gs-tex1 :mmag #x1 :mmin #x1))
|
|
(clamp-1 (new 'static 'gs-clamp :wms (gs-tex-wrap-mode clamp) :wmt (gs-tex-wrap-mode clamp)))
|
|
(texflush 0)
|
|
)
|
|
(let ((a3-17 (the-as object (-> arg0 base)))
|
|
(t0-0 #x7000)
|
|
(t1-0 #x7300)
|
|
(a0-4 #x7800)
|
|
(a2-6 #x7980)
|
|
)
|
|
(set! (-> (the-as (inline-array vector4w) a3-17) 0 quad) (-> this sprite-slow-tmpl dma-vif quad))
|
|
(set! (-> (the-as (inline-array vector4w) a3-17) 1 quad) (-> this sprite-slow-tmpl quad 1))
|
|
(set-vector! (-> (the-as (inline-array vector4w) a3-17) 2) 128 128 128 128)
|
|
(set-vector! (-> (the-as (inline-array vector4w) a3-17) 3) 8 8 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) a3-17) 4) t0-0 t1-0 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) a3-17) 5) 8200 6664 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) a3-17) 6) a0-4 a2-6 0 0)
|
|
)
|
|
(&+! (-> arg0 base) 112)
|
|
(let ((t1-3 (the-as object (-> arg0 base)))
|
|
(a3-19 #x8000)
|
|
(t0-2 #x8000)
|
|
(a0-7 #x9000)
|
|
(a2-7 #x8d00)
|
|
)
|
|
(set! (-> (the-as (inline-array vector4w) t1-3) 0 quad) (-> this sprite-slow-tmpl dma-vif quad))
|
|
(set! (-> (the-as (inline-array vector4w) t1-3) 1 quad) (-> this sprite-slow-tmpl quad 1))
|
|
(set-vector! (-> (the-as (inline-array vector4w) t1-3) 2) 128 128 128 128)
|
|
(set-vector! (-> (the-as (inline-array vector4w) t1-3) 3) 8 8 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) t1-3) 4) a3-19 t0-2 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) t1-3) 5) 8200 6664 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) t1-3) 6) a0-7 a2-7 0 0)
|
|
(&+! (-> arg0 base) 112)
|
|
(dma-buffer-add-gs-set arg0
|
|
(alpha-1 (new 'static 'gs-alpha :b #x1 :d #x1))
|
|
(tex0-1 (new 'static 'gs-tex0 :tbp0 #x3300 :tbw #x8 :tw #x9 :th #x9 :tcc #x1))
|
|
(texflush 0)
|
|
)
|
|
(let ((t1-10 (the-as object (-> arg0 base))))
|
|
(set! (-> (the-as (inline-array vector4w) t1-10) 0 quad) (-> this sprite-slow-tmpl dma-vif quad))
|
|
(set! (-> (the-as (inline-array vector4w) t1-10) 1 quad) (-> this sprite-slow-tmpl quad 1))
|
|
(set-vector! (-> (the-as (inline-array vector4w) t1-10) 2) 128 128 128 80)
|
|
(set-vector! (-> (the-as (inline-array vector4w) t1-10) 3) 8 8 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) t1-10) 4) a3-19 (+ t0-2 -8) 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) t1-10) 5) 2056 1672 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) t1-10) 6) a0-7 (+ a2-7 -8) 0 0)
|
|
)
|
|
)
|
|
(&+! (-> arg0 base) 112)
|
|
(dma-buffer-add-gs-set arg0 (alpha-1 (new 'static 'gs-alpha)))
|
|
(let ((a0-16 (the int (+ 128.0 (* 32.0 f0-0))))
|
|
(a2-16 (the int (- 128.0 (* 16.0 f0-0))))
|
|
(a3-31 (the int (- 128.0 (* 96.0 f0-0))))
|
|
)
|
|
(when (or (!= (-> v1-0 filter x) 1.0) (!= (-> v1-0 filter y) 1.0) (!= (-> v1-0 filter z) 1.0))
|
|
(set! a0-16 128)
|
|
(set! a2-16 128)
|
|
(set! a3-31 128)
|
|
)
|
|
(let ((v1-5 3328)
|
|
(t0-9 6656)
|
|
)
|
|
(dotimes (t1-11 16)
|
|
(let ((t2-22 (the-as object (-> arg0 base)))
|
|
(t4-0 (* (+ (* t1-11 32) 1792) 16))
|
|
(t3-35 (* (+ (* (+ t1-11 1) 32) 1792) 16))
|
|
)
|
|
(let ((t6-0 (* (+ (* t1-11 16) 256) 16))
|
|
(t5-5 (* (+ (* (+ t1-11 1) 16) 256) 16))
|
|
)
|
|
(set! (-> (the-as (inline-array vector4w) t2-22) 0 quad) (-> this sprite-slow-tmpl dma-vif quad))
|
|
(set! (-> (the-as (inline-array vector4w) t2-22) 1 quad) (-> this sprite-slow-tmpl quad 1))
|
|
(set-vector! (-> (the-as (inline-array vector4w) t2-22) 2) a0-16 a2-16 a3-31 128)
|
|
(set-vector! (-> (the-as (inline-array vector4w) t2-22) 3) t6-0 (+ v1-5 8) 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) t2-22) 4) t4-0 #x72f8 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) t2-22) 5) t5-5 (+ t0-9 8) 0 0)
|
|
)
|
|
(set-vector! (-> (the-as (inline-array vector4w) t2-22) 6) t3-35 #x8cf8 0 0)
|
|
)
|
|
(&+! (-> arg0 base) 112)
|
|
)
|
|
)
|
|
(dma-buffer-add-gs-set arg0
|
|
(alpha-1 (new 'static 'gs-alpha :b #x1 :d #x1))
|
|
(tex0-1 (new 'static 'gs-tex0 :tbp0 #x4c0 :tbw #x8 :tw #x9 :th #x9 :tcc #x1))
|
|
(texflush 0)
|
|
)
|
|
(let ((v1-11 (the-as object (-> arg0 base))))
|
|
(set! (-> (the-as (inline-array vector4w) v1-11) 0 quad) (-> this sprite-slow-tmpl dma-vif quad))
|
|
(set! (-> (the-as (inline-array vector4w) v1-11) 1 quad) (-> this sprite-slow-tmpl quad 1))
|
|
(set-vector!
|
|
(-> (the-as (inline-array vector4w) v1-11) 2)
|
|
a0-16
|
|
a2-16
|
|
a3-31
|
|
(the int (- 128.0 (* 48.0 f0-0)))
|
|
)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-11) 3) 8 8 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-11) 4) #x7000 #x72f8 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-11) 5) 8200 6664 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-11) 6) #x9000 #x8cf8 0 0)
|
|
)
|
|
)
|
|
)
|
|
(&+! (-> arg0 base) 112)
|
|
(seek! (-> this progress-interp) (-> this progress-interp-dest) (-> this progress-interp-speed))
|
|
0
|
|
(none)
|
|
)
|
|
|
|
;; definition for function draw-color-bars
|
|
;; INFO: Used lq/sq
|
|
;; WARN: Return type mismatch pointer vs none.
|
|
(defun draw-color-bars ((arg0 blit-displays-work))
|
|
(with-dma-buffer-add-bucket ((s5-0 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(bucket-id debug-no-zbuf2)
|
|
)
|
|
(let ((v1-5 (the-as object (-> s5-0 base))))
|
|
(set! (-> (the-as dma-gif-packet v1-5) dma-vif quad) (-> arg0 adgif-tmpl dma-vif quad))
|
|
(set! (-> (the-as dma-gif-packet v1-5) quad 1) (-> arg0 adgif-tmpl quad 1))
|
|
(adgif-shader<-texture-simple!
|
|
(the-as adgif-shader (&+ (the-as dma-gif-packet v1-5) 32))
|
|
(get-texture colorbars13 programmer)
|
|
)
|
|
)
|
|
(&+! (-> s5-0 base) 112)
|
|
(let ((v1-8 (the-as object (-> s5-0 base))))
|
|
(set! (-> (the-as (inline-array vector4w) v1-8) 0 quad) (-> arg0 sprite-slow-tmpl dma-vif quad))
|
|
(set! (-> (the-as (inline-array vector4w) v1-8) 1 quad) (-> arg0 sprite-slow-tmpl quad 1))
|
|
(set! (-> (the-as (inline-array vector4w) v1-8) 2 quad) (-> arg0 color quad))
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-8) 3) 32 0 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-8) 4) #x7000 #x7300 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-8) 5) 480 256 0 0)
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-8) 6) #x9000 #x8d00 0 0)
|
|
)
|
|
(&+! (-> s5-0 base) 112)
|
|
)
|
|
(none)
|
|
)
|
|
|
|
;; definition for function draw-raw-image
|
|
;; INFO: Used lq/sq
|
|
;; WARN: Return type mismatch pointer vs none.
|
|
(defun draw-raw-image ((arg0 blit-displays-work)
|
|
(arg1 bucket-id)
|
|
(arg2 art-group)
|
|
(arg3 vector)
|
|
(arg4 vector)
|
|
(arg5 level)
|
|
(arg6 int)
|
|
)
|
|
(let* ((sv-16 *blit-displays-work*)
|
|
(s1-0 (-> *display* frames (-> *display* on-screen) global-buf))
|
|
(s5-0 (-> s1-0 base))
|
|
)
|
|
(upload-vram-data s1-0 0 (the-as pointer arg2) (the int (-> arg3 y)) (the int (-> arg3 x)))
|
|
(let ((sv-32 (+ (log2 (+ (the int (-> arg3 x)) -1)) 1))
|
|
(v1-9 (+ (log2 (+ (the int (-> arg3 y)) -1)) 1))
|
|
)
|
|
(dma-buffer-add-gs-set s1-0
|
|
(test-1 (new 'static 'gs-test :ate #x1 :afail #x3 :zte #x1 :ztst (gs-ztest always)))
|
|
(alpha-1 (new 'static 'gs-alpha))
|
|
(tex0-1 (new 'static 'gs-tex0 :tcc #x1 :th v1-9 :tw sv-32 :tbw (/ (the int (-> arg3 x)) 64)))
|
|
(tex1-1 (new 'static 'gs-tex1 :mmag #x1 :mmin #x1))
|
|
(clamp-1 (new 'static 'gs-clamp :wms (gs-tex-wrap-mode clamp) :wmt (gs-tex-wrap-mode clamp)))
|
|
(texflush 0)
|
|
)
|
|
)
|
|
(let ((v1-20 (the-as object (-> s1-0 base)))
|
|
(f0-10 (-> *video-params* relative-x-scale))
|
|
)
|
|
(set! (-> (the-as (inline-array vector4w) v1-20) 0 quad) (-> sv-16 sprite-slow-tmpl dma-vif quad))
|
|
(set! (-> (the-as (inline-array vector4w) v1-20) 1 quad) (-> sv-16 sprite-slow-tmpl quad 1))
|
|
(set! (-> (the-as (inline-array vector4w) v1-20) 2 quad) (-> sv-16 color quad))
|
|
(set-vector! (-> (the-as (inline-array vector4w) v1-20) 3) 0 0 0 0)
|
|
(set-vector!
|
|
(-> (the-as (inline-array vector4w) v1-20) 4)
|
|
(* (- 2048 (the int (* 256.0 f0-10 (-> arg4 x)))) 16)
|
|
(* (- 2048 (the int (* 208.0 (-> arg4 y)))) 16)
|
|
0
|
|
0
|
|
)
|
|
(set-vector!
|
|
(-> (the-as (inline-array vector4w) v1-20) 5)
|
|
(* (the int (-> arg3 x)) 16)
|
|
(* (the int (-> arg3 y)) 16)
|
|
0
|
|
0
|
|
)
|
|
(set-vector!
|
|
(-> (the-as (inline-array vector4w) v1-20) 6)
|
|
(* (+ (the int (* 256.0 f0-10 (-> arg4 x))) 2048) 16)
|
|
(* (+ (the int (* 208.0 (-> arg4 y))) 2048) 16)
|
|
0
|
|
0
|
|
)
|
|
)
|
|
(&+! (-> s1-0 base) 112)
|
|
(set-dirty-mask! arg5 arg6 (* (* (the int (-> arg3 y)) (the int (-> arg3 x))) 4) 0)
|
|
(let ((a3-10 (-> s1-0 base)))
|
|
(when (!= s5-0 a3-10)
|
|
(let ((v1-26 (the-as object (-> s1-0 base))))
|
|
(set! (-> (the-as dma-packet v1-26) dma) (new 'static 'dma-tag :id (dma-tag-id next)))
|
|
(set! (-> (the-as dma-packet v1-26) vif0) (new 'static 'vif-tag))
|
|
(set! (-> (the-as dma-packet v1-26) vif1) (new 'static 'vif-tag))
|
|
(set! (-> s1-0 base) (&+ (the-as pointer v1-26) 16))
|
|
)
|
|
(dma-bucket-insert-tag
|
|
(-> *display* frames (-> *display* on-screen) bucket-group)
|
|
arg1
|
|
s5-0
|
|
(the-as (pointer dma-tag) a3-10)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(none)
|
|
)
|