mirror of
https://github.com/open-goal/jak-project
synced 2026-09-01 01:52:03 -04:00
[graphics] first half of shadow renderer (#1246)
* start on dma stuff * temp * temp * add shadow cpu
This commit is contained in:
+41
-32
@@ -1157,43 +1157,52 @@
|
||||
(gp-7 (-> s5-3 base))
|
||||
)
|
||||
(let* ((v1-137 s5-3)
|
||||
(a0-43 (-> v1-137 base))
|
||||
(a0-43 (the-as object (-> v1-137 base)))
|
||||
)
|
||||
(set! (-> (the-as (pointer int64) a0-43)) #x10000004)
|
||||
(s.w! (+ a0-43 8) 0)
|
||||
(let ((a1-23 #x50000004))
|
||||
(s.w! (+ a0-43 12) a1-23)
|
||||
)
|
||||
(set! (-> v1-137 base) (&+ a0-43 16))
|
||||
(set! (-> (the-as dma-packet a0-43) dma) (new 'static 'dma-tag :qwc #x4 :id (dma-tag-id cnt)))
|
||||
(set! (-> (the-as dma-packet a0-43) vif0) (new 'static 'vif-tag))
|
||||
(set! (-> (the-as dma-packet a0-43) vif1) (new 'static 'vif-tag :imm #x4 :cmd (vif-cmd direct) :msk #x1))
|
||||
(set! (-> v1-137 base) (&+ (the-as pointer a0-43) 16))
|
||||
)
|
||||
(let* ((v1-138 s5-3)
|
||||
(a0-45 (-> v1-138 base))
|
||||
(a0-45 (the-as object (-> v1-138 base)))
|
||||
)
|
||||
(set! (-> (the-as (pointer uint64) a0-45)) (make-u128 0 (the-as uint #x3000000000008001)))
|
||||
(let ((a1-26 (the-as uint #xeeeeeeeeeeeeeeee)))
|
||||
(s.d! (+ a0-45 8) a1-26)
|
||||
)
|
||||
(set! (-> v1-138 base) (&+ a0-45 16))
|
||||
(set! (-> (the-as gs-gif-tag a0-45) tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x3))
|
||||
(set! (-> (the-as gs-gif-tag a0-45) regs)
|
||||
(new 'static 'gif-tag-regs
|
||||
:regs0 (gif-reg-id a+d)
|
||||
:regs1 (gif-reg-id a+d)
|
||||
:regs2 (gif-reg-id a+d)
|
||||
:regs3 (gif-reg-id a+d)
|
||||
:regs4 (gif-reg-id a+d)
|
||||
:regs5 (gif-reg-id a+d)
|
||||
:regs6 (gif-reg-id a+d)
|
||||
:regs7 (gif-reg-id a+d)
|
||||
:regs8 (gif-reg-id a+d)
|
||||
:regs9 (gif-reg-id a+d)
|
||||
:regs10 (gif-reg-id a+d)
|
||||
:regs11 (gif-reg-id a+d)
|
||||
:regs12 (gif-reg-id a+d)
|
||||
:regs13 (gif-reg-id a+d)
|
||||
:regs14 (gif-reg-id a+d)
|
||||
:regs15 (gif-reg-id a+d)
|
||||
)
|
||||
)
|
||||
(set! (-> v1-138 base) (&+ (the-as pointer a0-45) 16))
|
||||
)
|
||||
(let* ((v1-139 s5-3)
|
||||
(a0-47 (-> v1-139 base))
|
||||
)
|
||||
(set! (-> (the-as (pointer int64) a0-47)) #x10001c0)
|
||||
(set! (-> (the-as (pointer gs-zbuf) a0-47) 0) (new 'static 'gs-zbuf :zbp #x1c0 :psm (gs-psm ct24)))
|
||||
(let ((a1-28 78))
|
||||
(s.d! (+ a0-47 8) a1-28)
|
||||
)
|
||||
(let ((a1-29 #x30003))
|
||||
(s.d! (+ a0-47 16) a1-29)
|
||||
)
|
||||
(let ((a1-30 71))
|
||||
(s.d! (+ a0-47 24) a1-30)
|
||||
)
|
||||
(let ((a1-31 68))
|
||||
(s.d! (+ a0-47 32) a1-31)
|
||||
)
|
||||
(let ((a1-32 66))
|
||||
(s.d! (+ a0-47 40) a1-32)
|
||||
(s.d! (+ (the-as (pointer gs-reg) a0-47) 8) a1-28)
|
||||
)
|
||||
(set! (-> (the-as (pointer gs-test) a0-47) 2)
|
||||
(new 'static 'gs-test :ate #x1 :atst (gs-atest always) :zte #x1 :ztst (gs-ztest always))
|
||||
)
|
||||
(set! (-> (the-as (pointer gs-reg64) a0-47) 3) (gs-reg64 test-1))
|
||||
(set! (-> (the-as (pointer gs-alpha) a0-47) 4) (new 'static 'gs-alpha :b #x1 :d #x1))
|
||||
(set! (-> (the-as (pointer gs-reg64) a0-47) 5) (gs-reg64 alpha-1))
|
||||
(set! (-> v1-139 base) (&+ a0-47 48))
|
||||
)
|
||||
(screen-gradient
|
||||
@@ -1204,11 +1213,11 @@
|
||||
(-> *time-of-day-context* erase-color)
|
||||
)
|
||||
(let ((a3-3 (-> s5-3 base)))
|
||||
(let ((v1-144 (-> s5-3 base)))
|
||||
(set! (-> (the-as (pointer int64) v1-144)) #x20000000)
|
||||
(s.w! (+ v1-144 8) 0)
|
||||
(s.w! (+ v1-144 12) 0)
|
||||
(set! (-> s5-3 base) (&+ v1-144 16))
|
||||
(let ((v1-144 (the-as object (-> s5-3 base))))
|
||||
(set! (-> (the-as dma-packet v1-144) dma) (new 'static 'dma-tag :id (dma-tag-id next)))
|
||||
(set! (-> (the-as dma-packet v1-144) vif0) (new 'static 'vif-tag))
|
||||
(set! (-> (the-as dma-packet v1-144) vif1) (new 'static 'vif-tag))
|
||||
(set! (-> s5-3 base) (&+ (the-as pointer v1-144) 16))
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
|
||||
+2
-2
@@ -1493,8 +1493,8 @@
|
||||
(zero? (-> obj draw cur-lod))
|
||||
(logtest? (-> obj draw status) (draw-status was-drawn))
|
||||
)
|
||||
(dummy-15 gp-0 (-> obj draw origin) -4096.0 4096.0 32768.0)
|
||||
(dummy-14 gp-0)
|
||||
(collide-to-find-planes gp-0 (-> obj draw origin) -4096.0 4096.0 32768.0)
|
||||
(update-direction-from-time-of-day gp-0)
|
||||
)
|
||||
(else
|
||||
(let ((v1-10 gp-0))
|
||||
|
||||
Reference in New Issue
Block a user