Files
jak-project/test/decompiler/reference/jak3/engine/gfx/blit-displays_REF.gc
T
water111 637990314b wip: better stack var support (#4222)
Closes #736

---------

Co-authored-by: Hat Kid <6624576+Hat-Kid@users.noreply.github.com>
2026-04-19 00:14:44 +02:00

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)
)