mirror of
https://github.com/open-goal/jak-project
synced 2026-09-01 09:53:12 -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))
|
||||
|
||||
+1
-1
@@ -61,7 +61,7 @@
|
||||
(set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags)))
|
||||
)
|
||||
0
|
||||
(dummy-14 (-> obj draw shadow-ctrl))
|
||||
(update-direction-from-time-of-day (-> obj draw shadow-ctrl))
|
||||
)
|
||||
(else
|
||||
(let ((v1-14 (-> obj draw shadow-ctrl)))
|
||||
|
||||
+1
-1
@@ -58,7 +58,7 @@
|
||||
(set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags)))
|
||||
)
|
||||
0
|
||||
(dummy-14 (-> obj draw shadow-ctrl))
|
||||
(update-direction-from-time-of-day (-> obj draw shadow-ctrl))
|
||||
)
|
||||
(else
|
||||
(let ((v1-14 (-> obj draw shadow-ctrl)))
|
||||
|
||||
+1
-1
@@ -69,7 +69,7 @@
|
||||
(set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags)))
|
||||
)
|
||||
0
|
||||
(dummy-14 (-> obj draw shadow-ctrl))
|
||||
(update-direction-from-time-of-day (-> obj draw shadow-ctrl))
|
||||
)
|
||||
(else
|
||||
(let ((v1-14 (-> obj draw shadow-ctrl)))
|
||||
|
||||
+3
-3
@@ -610,7 +610,7 @@
|
||||
(set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags)))
|
||||
)
|
||||
0
|
||||
(dummy-14 (-> obj draw shadow-ctrl))
|
||||
(update-direction-from-time-of-day (-> obj draw shadow-ctrl))
|
||||
)
|
||||
(else
|
||||
(let ((v1-14 (-> obj draw shadow-ctrl)))
|
||||
@@ -744,7 +744,7 @@
|
||||
(set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags)))
|
||||
)
|
||||
0
|
||||
(dummy-14 (-> obj draw shadow-ctrl))
|
||||
(update-direction-from-time-of-day (-> obj draw shadow-ctrl))
|
||||
)
|
||||
(else
|
||||
(let ((v1-14 (-> obj draw shadow-ctrl)))
|
||||
@@ -883,7 +883,7 @@
|
||||
(set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags)))
|
||||
)
|
||||
0
|
||||
(dummy-14 (-> obj draw shadow-ctrl))
|
||||
(update-direction-from-time-of-day (-> obj draw shadow-ctrl))
|
||||
)
|
||||
(else
|
||||
(let ((v1-14 (-> obj draw shadow-ctrl)))
|
||||
|
||||
+1
-1
@@ -88,7 +88,7 @@
|
||||
(set-collide-offense (-> obj collide-info) 2 (collide-offense touch))
|
||||
(set! (-> obj nav-enemy-flags) (logand -257 (-> obj nav-enemy-flags)))
|
||||
)
|
||||
(dummy-14 (-> obj draw shadow-ctrl))
|
||||
(update-direction-from-time-of-day (-> obj draw shadow-ctrl))
|
||||
(when *target*
|
||||
(if *target*
|
||||
(look-at-enemy!
|
||||
|
||||
+1
-1
@@ -937,7 +937,7 @@
|
||||
(set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags)))
|
||||
)
|
||||
0
|
||||
(dummy-14 (-> obj draw shadow-ctrl))
|
||||
(update-direction-from-time-of-day (-> obj draw shadow-ctrl))
|
||||
)
|
||||
(else
|
||||
(let ((v1-14 (-> obj draw shadow-ctrl)))
|
||||
|
||||
+1
-1
@@ -185,7 +185,7 @@
|
||||
:trans
|
||||
(behavior ()
|
||||
(set! (-> self root trans quad) (-> (the-as process-drawable (-> self parent 0)) root trans quad))
|
||||
(dummy-14 (-> self draw shadow-ctrl))
|
||||
(update-direction-from-time-of-day (-> self draw shadow-ctrl))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
+1
-1
@@ -63,7 +63,7 @@
|
||||
(set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags)))
|
||||
)
|
||||
0
|
||||
(dummy-14 (-> obj draw shadow-ctrl))
|
||||
(update-direction-from-time-of-day (-> obj draw shadow-ctrl))
|
||||
)
|
||||
(else
|
||||
(let ((v1-14 (-> obj draw shadow-ctrl)))
|
||||
|
||||
+1
-1
@@ -61,7 +61,7 @@
|
||||
(set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags)))
|
||||
)
|
||||
0
|
||||
(dummy-14 (-> obj draw shadow-ctrl))
|
||||
(update-direction-from-time-of-day (-> obj draw shadow-ctrl))
|
||||
)
|
||||
(else
|
||||
(let ((v1-14 (-> obj draw shadow-ctrl)))
|
||||
|
||||
+1
-1
@@ -290,7 +290,7 @@ yakow-default-event-handler
|
||||
|
||||
;; definition for function yakow-common-post
|
||||
(defbehavior yakow-common-post yakow ()
|
||||
(dummy-14 (-> self draw shadow-ctrl))
|
||||
(update-direction-from-time-of-day (-> self draw shadow-ctrl))
|
||||
(if *target*
|
||||
(look-at-enemy! (-> *target* neck) (the-as vector (-> self root-override root-prim prim-core)) #f self)
|
||||
)
|
||||
|
||||
+1
-1
@@ -101,7 +101,7 @@
|
||||
(set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags)))
|
||||
)
|
||||
0
|
||||
(dummy-14 (-> obj draw shadow-ctrl))
|
||||
(update-direction-from-time-of-day (-> obj draw shadow-ctrl))
|
||||
)
|
||||
(else
|
||||
(let ((v1-14 (-> obj draw shadow-ctrl)))
|
||||
|
||||
+1
-1
@@ -58,7 +58,7 @@
|
||||
(set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags)))
|
||||
)
|
||||
0
|
||||
(dummy-14 (-> obj draw shadow-ctrl))
|
||||
(update-direction-from-time-of-day (-> obj draw shadow-ctrl))
|
||||
)
|
||||
(else
|
||||
(let ((v1-14 (-> obj draw shadow-ctrl)))
|
||||
|
||||
+1
-1
@@ -58,7 +58,7 @@
|
||||
(set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags)))
|
||||
)
|
||||
0
|
||||
(dummy-14 (-> obj draw shadow-ctrl))
|
||||
(update-direction-from-time-of-day (-> obj draw shadow-ctrl))
|
||||
)
|
||||
(else
|
||||
(let ((v1-14 (-> obj draw shadow-ctrl)))
|
||||
|
||||
+2
-2
@@ -87,7 +87,7 @@
|
||||
(set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags)))
|
||||
)
|
||||
0
|
||||
(dummy-14 (-> obj draw shadow-ctrl))
|
||||
(update-direction-from-time-of-day (-> obj draw shadow-ctrl))
|
||||
)
|
||||
(else
|
||||
(let ((v1-14 (-> obj draw shadow-ctrl)))
|
||||
@@ -293,7 +293,7 @@
|
||||
(set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags)))
|
||||
)
|
||||
0
|
||||
(dummy-14 (-> obj draw shadow-ctrl))
|
||||
(update-direction-from-time-of-day (-> obj draw shadow-ctrl))
|
||||
)
|
||||
(else
|
||||
(let ((v1-14 (-> obj draw shadow-ctrl)))
|
||||
|
||||
+1
-1
@@ -347,7 +347,7 @@
|
||||
(set! (-> a0-8 settings flags) (logand -33 (-> a0-8 settings flags)))
|
||||
)
|
||||
0
|
||||
(dummy-14 v1-1)
|
||||
(update-direction-from-time-of-day v1-1)
|
||||
)
|
||||
(else
|
||||
(logior! (-> v1-1 settings flags) 32)
|
||||
|
||||
Reference in New Issue
Block a user