mirror of
https://github.com/open-goal/jak-project
synced 2026-09-10 12:25:21 -04:00
[decomp] Partial implementation of tie (#1916)
Some stuff isn't working fully yet: - fog color - time of day - draw order for multiple passes (currently all draws in the default tie bucket) - possibly settings for transparent stuff (untested, but might work) - the "vanish" effect (we might not want this anyway?) - environment mapping/etie completely not implemented.  
This commit is contained in:
+151
-142
@@ -2725,75 +2725,75 @@
|
||||
|
||||
(tex-l0-tfrag 7) ;; level 0 tex
|
||||
(tfrag-l0-tfrag 8) ;; tfrag
|
||||
(bucket-9 9) ;; tie
|
||||
(bucket-10 10) ;; tie
|
||||
(tie-l0-tfrag 9) ;; tie
|
||||
(etie-l0-tfrag 10) ;; tie
|
||||
(tfrag-s-l0-tfrag 11) ;; tfrag
|
||||
(bucket-12 12) ;; tie
|
||||
(bucket-13 13) ;; tie
|
||||
(tie-s-l0-tfrag 12) ;; tie
|
||||
(etie-s-l0-tfrag 13) ;; tie
|
||||
(merc-l0-tfrag 14) ;; merc
|
||||
(emerc-l0-tfrag 15) ;; emerc
|
||||
(bucket-16 16) ;; mercneric
|
||||
(bucket-17 17) ;; tie
|
||||
(tie-v-l0-tfrag 17) ;; tie
|
||||
|
||||
(tex-l1-tfrag 18) ;; tex
|
||||
(tfrag-l1-tfrag 19) ;; tfrag
|
||||
(bucket-20 20) ;; tie
|
||||
(bucket-21 21) ;; tie
|
||||
(tie-l1-tfrag 20) ;; tie
|
||||
(etie-l1-tfrag 21) ;; tie
|
||||
(tfrag-s-l1-tfrag 22) ;; tfrag
|
||||
(bucket-23 23) ;; tie
|
||||
(bucket-24 24) ;; tie
|
||||
(tie-s-l1-tfrag 23) ;; tie
|
||||
(etie-s-l1-tfrag 24) ;; tie
|
||||
(merc-l1-tfrag 25) ;; merc
|
||||
(emerc-l1-tfrag 26) ;; emerc
|
||||
(bucket-27 27) ;; mercneric
|
||||
(bucket-28 28) ;; tie
|
||||
(tie-v-l1-tfrag 28) ;; tie
|
||||
|
||||
(tex-l2-tfrag 29) ;; tex
|
||||
(tfrag-l2-tfrag 30) ;; tfrag
|
||||
(bucket-31 31) ;; tie
|
||||
(bucket-32 32) ;; tie
|
||||
(tie-l2-tfrag 31) ;; tie
|
||||
(etie-l2-tfrag 32) ;; tie
|
||||
(tfrag-s-l2-tfrag 33) ;; tfrag
|
||||
(bucket-34 34) ;; tie
|
||||
(bucket-35 35) ;; tie
|
||||
(tie-s-l2-tfrag 34) ;; tie
|
||||
(etie-s-l2-tfrag 35) ;; tie
|
||||
(merc-l2-tfrag 36) ;; merc
|
||||
(emerc-l2-tfrag 37) ;; emerc
|
||||
(bucket-38 38) ;; mercneric
|
||||
(bucket-39 39) ;; tie
|
||||
(tie-v-l2-tfrag 39) ;; tie
|
||||
|
||||
(tex-l3-tfrag 40) ;; tex
|
||||
(tfrag-l3-tfrag 41) ;; tfrag
|
||||
(bucket-42 42) ;; tie
|
||||
(bucket-43 43) ;; tie
|
||||
(tie-l3-tfrag 42) ;; tie
|
||||
(etie-l3-tfrag 43) ;; tie
|
||||
(tfrag-s-l3-tfrag 44) ;; tfrag
|
||||
(bucket-45 45) ;; tie
|
||||
(bucket-46 46) ;; tie
|
||||
(tie-s-l3-tfrag 45) ;; tie
|
||||
(etie-s-l3-tfrag 46) ;; tie
|
||||
(merc-l3-tfrag 47) ;; merc
|
||||
(emerc-l3-tfrag 48) ;; emerc
|
||||
(bucket-49 49) ;; mercneric
|
||||
(bucket-50 50) ;; tie
|
||||
(tie-v-l3-tfrag 50) ;; tie
|
||||
|
||||
(tex-l4-tfrag 51) ;; tex
|
||||
(tfrag-l4-tfrag 52) ;; tfrag
|
||||
(bucket-53 53) ;; tie
|
||||
(bucket-54 54) ;; tie
|
||||
(tie-l4-tfrag 53) ;; tie
|
||||
(etie-l4-tfrag 54) ;; tie
|
||||
(tfrag-s-l4-tfrag 55) ;; tfrag
|
||||
(bucket-56 56) ;; tie
|
||||
(bucket-57 57) ;; tie
|
||||
(tie-s-l4-tfrag 56) ;; tie
|
||||
(etie-s-l4-tfrag 57) ;; tie
|
||||
(merc-l4-tfrag 58) ;; merc
|
||||
(emerc-l4-tfrag 59) ;; emerc
|
||||
(bucket-60 60) ;; mercneric
|
||||
(bucket-61 61) ;; tie
|
||||
(tie-v-l4-tfrag 61) ;; tie
|
||||
|
||||
(tex-l5-tfrag 62) ;; tex
|
||||
(tfrag-l5-tfrag 63) ;; tfrag
|
||||
(bucket-64 64) ;; tie
|
||||
(bucket-65 65) ;; tie
|
||||
(tie-l5-tfrag 64) ;; tie
|
||||
(etie-l5-tfrag 65) ;; tie
|
||||
(tfrag-s-l5-tfrag 66) ;; tfrag
|
||||
(bucket-67 67) ;; tie
|
||||
(bucket-68 68) ;; tie
|
||||
(tie-s-l5-tfrag 67) ;; tie
|
||||
(etie-s-l5-tfrag 68) ;; tie
|
||||
(merc-l5-tfrag 69) ;; merc
|
||||
(emerc-l5-tfrag 70) ;; emerc
|
||||
(bucket-71 71) ;; mercneric
|
||||
(bucket-72 72) ;; tie
|
||||
(tie-v-l5-tfrag 72) ;; tie
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; All levels with shrub tpage
|
||||
@@ -2861,69 +2861,69 @@
|
||||
|
||||
(tex-l0-alpha 127) ;; tex
|
||||
(tfrag-t-l0-alpha 128) ;; tfrag
|
||||
(bucket-129 129) ;; tie
|
||||
(bucket-130 130) ;; tie
|
||||
(tie-t-l0-alpha 129) ;; tie
|
||||
(etie-t-l0-alpha 130) ;; tie
|
||||
(merc-l0-alpha 131) ;; merc
|
||||
(emerc-l0-alpha 132) ;; emerc
|
||||
(bucket-133 133) ;; mercneric
|
||||
(tfrag-st-l0-alpha 134) ;; tfrag
|
||||
(bucket-135 135) ;; tie
|
||||
(bucket-136 136) ;; tie
|
||||
(tie-st-l0-alpha 135) ;; tie
|
||||
(etie-st-l0-alpha 136) ;; tie
|
||||
|
||||
(tex-l1-alpha 137) ;; tex
|
||||
(tfrag-t-l1-alpha 138) ;; tfrag
|
||||
(bucket-139 139) ;; tie
|
||||
(bucket-140 140) ;; tie
|
||||
(tie-t-l1-alpha 139) ;; tie
|
||||
(etie-t-l1-alpha 140) ;; tie
|
||||
(merc-l1-alpha 141) ;; merc
|
||||
(emerc-l1-alpha 142) ;; emerc
|
||||
(bucket-143 143) ;; mercneric
|
||||
(tfrag-st-l1-alpha 144) ;; tfrag
|
||||
(bucket-145 145) ;; tie
|
||||
(bucket-146 146) ;; tie
|
||||
(tie-st-l1-alpha 145) ;; tie
|
||||
(etie-st-l1-alpha 146) ;; tie
|
||||
|
||||
(tex-l2-alpha 147) ;; tex
|
||||
(tfrag-t-l2-alpha 148) ;; tfrag
|
||||
(bucket-149 149) ;; tie
|
||||
(bucket-150 150) ;; tie
|
||||
(tie-t-l2-alpha 149) ;; tie
|
||||
(etie-t-l2-alpha 150) ;; tie
|
||||
(merc-l2-alpha 151) ;; merc
|
||||
(emerc-l2-alpha 152) ;; emerc
|
||||
(bucket-153 153) ;; mercneric
|
||||
(tfrag-st-l2-alpha 154) ;; tfrag
|
||||
(bucket-155 155) ;; tie
|
||||
(bucket-156 156) ;; tie
|
||||
(tie-st-l2-alpha 155) ;; tie
|
||||
(etie-st-l2-alpha 156) ;; tie
|
||||
|
||||
(tex-l3-alpha 157) ;; tex
|
||||
(tfrag-t-l3-alpha 158) ;; tfrag
|
||||
(bucket-159 159) ;; tie
|
||||
(bucket-160 160) ;; tie
|
||||
(tie-t-l3-alpha 159) ;; tie
|
||||
(etie-t-l3-alpha 160) ;; tie
|
||||
(merc-l3-alpha 161) ;; merc
|
||||
(emerc-l3-alpha 162) ;; emerc
|
||||
(bucket-163 163) ;; mercneric
|
||||
(tfrag-st-l3-alpha 164) ;; tfrag
|
||||
(bucket-165 165) ;; tie
|
||||
(bucket-166 166) ;; tie
|
||||
(tie-st-l3-alpha 165) ;; tie
|
||||
(etie-st-l3-alpha 166) ;; tie
|
||||
|
||||
(tex-l4-alpha 167) ;; tex
|
||||
(tfrag-t-l4-alpha 168) ;; tfrag
|
||||
(bucket-169 169) ;; tie
|
||||
(bucket-170 170) ;; tie
|
||||
(tie-t-l4-alpha 169) ;; tie
|
||||
(etie-t-l4-alpha 170) ;; tie
|
||||
(merc-l4-alpha 171) ;; merc
|
||||
(emerc-l4-alpha 172) ;; emerc
|
||||
(bucket-173 173) ;; mercneric
|
||||
(tfrag-st-l4-alpha 174) ;; tfrag
|
||||
(bucket-175 175) ;; tie
|
||||
(bucket-176 176) ;; tie
|
||||
(tie-st-l4-alpha 175) ;; tie
|
||||
(etie-st-l4-alpha 176) ;; tie
|
||||
|
||||
(tex-l5-alpha 177) ;; tex
|
||||
(tfrag-t-l5-alpha 178) ;; tfrag
|
||||
(bucket-179 179) ;; tie
|
||||
(bucket-180 180) ;; tie
|
||||
(tie-t-l5-alpha 179) ;; tie
|
||||
(etie-t-l5-alpha 180) ;; tie
|
||||
(merc-l5-alpha 181) ;; merc
|
||||
(emerc-l5-alpha 182) ;; emerc
|
||||
(bucket-183 183) ;; mercneric
|
||||
(tfrag-st-l5-alpha 184) ;; tfrag
|
||||
(bucket-185 185) ;; tie
|
||||
(bucket-186 186) ;; tie
|
||||
(tie-st-l5-alpha 185) ;; tie
|
||||
(etie-st-l5-alpha 186) ;; tie
|
||||
|
||||
(tex-lcom-tfrag 187) ;; tex
|
||||
(merc-lcom-tfrag 188) ;; merc
|
||||
@@ -3011,61 +3011,61 @@
|
||||
(merc-l0-water 253) ;; merc
|
||||
(bucket-254 254) ;; mercneric
|
||||
(tfrag-w-l0-water 255) ;; tfrag
|
||||
(bucket-256 256)
|
||||
(bucket-257 257)
|
||||
(bucket-258 258)
|
||||
(tie-w-l0-water 256)
|
||||
(etie-w-l0-water 257)
|
||||
(tie-sw-l0-water 258)
|
||||
(tfrag-ws-l0-water 259) ;; tfrag
|
||||
(bucket-260 260)
|
||||
(etie-sw-l0-water 260)
|
||||
|
||||
(tex-l1-water 261) ;; tex
|
||||
(merc-l1-water 262) ;; merc
|
||||
(bucket-263 263) ;; mercneric
|
||||
(tfrag-w-l1-water 264) ;; tfrag
|
||||
(bucket-265 265)
|
||||
(bucket-266 266)
|
||||
(bucket-267 267)
|
||||
(tie-w-l1-water 265)
|
||||
(etie-w-l1-water 266)
|
||||
(tie-sw-l1-water 267)
|
||||
(tfrag-ws-l1-water 268) ;; tfrag
|
||||
(bucket-269 269)
|
||||
(etie-sw-l1-water 269)
|
||||
|
||||
(tex-l2-water 270) ;; tex
|
||||
(merc-l2-water 271) ;; merc
|
||||
(bucket-272 272) ;; mercneric
|
||||
(tfrag-w-l2-water 273) ;; tfrag
|
||||
(bucket-274 274)
|
||||
(bucket-275 275)
|
||||
(bucket-276 276)
|
||||
(tie-w-l2-water 274)
|
||||
(etie-w-l2-water 275)
|
||||
(tie-sw-l2-water 276)
|
||||
(tfrag-ws-l2-water 277) ;; tfrag
|
||||
(bucket-278 278)
|
||||
(tie-esw-l2-water 278)
|
||||
|
||||
(tex-l3-water 279) ;; tex
|
||||
(merc-l3-water 280) ;; merc
|
||||
(bucket-281 281) ;; mercneric
|
||||
(tfrag-w-l3-water 282) ;; tfrag
|
||||
(bucket-283 283)
|
||||
(bucket-284 284)
|
||||
(bucket-285 285)
|
||||
(tie-w-l3-water 283)
|
||||
(etie-w-l3-water 284)
|
||||
(tie-sw-l3-water 285)
|
||||
(tfrag-ws-l3-water 286) ;; tfrag
|
||||
(bucket-287 287)
|
||||
(etie-sw-l3-water 287)
|
||||
|
||||
(tex-l4-water 288) ;; tex
|
||||
(merc-l4-water 289) ;; merc
|
||||
(bucket-290 290) ;; mercneric
|
||||
(tfrag-w-l4-water 291) ;; tfrag
|
||||
(bucket-292 292)
|
||||
(bucket-293 293)
|
||||
(bucket-294 294)
|
||||
(tie-w-l4-water 292)
|
||||
(etie-w-l4-water 293)
|
||||
(tie-sw-l4-water 294)
|
||||
(tfrag-ws-l4-water 295) ;; tfrag
|
||||
(bucket-296 296)
|
||||
(etie-sw-l4-water 296)
|
||||
|
||||
(tex-l5-water 297) ;; tex
|
||||
(merc-l5-water 298) ;; merc
|
||||
(bucket-299 299) ;; mercneric
|
||||
(tfrag-w-l5-water 300) ;; tfrag
|
||||
(bucket-301 301)
|
||||
(bucket-302 302)
|
||||
(bucket-303 303)
|
||||
(tie-w-l5-water 301)
|
||||
(etie-w-l5-water 302)
|
||||
(tie-sw-l5-water 303)
|
||||
(tfrag-ws-l5-water 304) ;; tfrag
|
||||
(bucket-305 305)
|
||||
(etie-sw-l5-water 305)
|
||||
|
||||
(tex-lcom-water 306) ;; tex
|
||||
(merc-lcom-water 307) ;; merc
|
||||
@@ -4032,7 +4032,7 @@
|
||||
((word uint32 4 :offset-assert 0)
|
||||
(quad uint128 :offset 0)
|
||||
(data uint64 :offset 0)
|
||||
(cmds uint64 :offset 8)
|
||||
(cmds gs-reg64 :offset 8)
|
||||
(cmd uint8 :offset 8)
|
||||
(x uint32 :offset 0)
|
||||
(y uint32 :offset 4)
|
||||
@@ -7510,6 +7510,21 @@
|
||||
(tfragment-color 6)
|
||||
(tfragment-debug 7)
|
||||
|
||||
(tie-fragment 9)
|
||||
(tie-gif 10)
|
||||
(tie-points 11)
|
||||
(tie-colors 12)
|
||||
(tie-draw-points 13)
|
||||
(tie-debug 14)
|
||||
|
||||
(tie-generic 17)
|
||||
(instance-tie 18)
|
||||
(instance-tie-colors0 19)
|
||||
(instance-tie-colors1 20)
|
||||
(instance-tie-colors2 21)
|
||||
(instance-tie-colors3 22)
|
||||
(inst-tie-colors* 23)
|
||||
|
||||
(entity 43)
|
||||
(camera 44)
|
||||
|
||||
@@ -23202,37 +23217,35 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
|
||||
#|
|
||||
(deftype tie-consts (structure)
|
||||
((data uint32 40 :offset-assert 0) ;; guessed by decompiler
|
||||
(vector vector 10 :offset-assert 0) ;; guessed by decompiler
|
||||
(quads uint128 10 :offset-assert 0) ;; guessed by decompiler
|
||||
(adgif qword :inline :offset-assert 0) ;; gs-gif-tag :inline
|
||||
(strgif qword :inline :offset-assert 16) ;; gs-gif-tag :inline
|
||||
(extra qword :inline :offset-assert 32) ;; vector :inline
|
||||
(gifbufs qword :inline :offset-assert 48) ;; vector :inline
|
||||
(clrbufs qword :inline :offset-assert 64)
|
||||
(misc qword :inline :offset-assert 80)
|
||||
(atestgif qword :inline :offset-assert 96) ;; gs-gif-tag :inline
|
||||
(alpha qword :inline :offset-assert 112)
|
||||
(atest ad-cmd 2 :offset-assert 128) ;; guessed by decompiler
|
||||
(atest-tra gs-adcmd :inline :offset-assert 128) ;; ad-cmd :inline
|
||||
(atest-def gs-adcmd :inline :offset-assert 144) ;; ad-cmd :inline
|
||||
((data uint32 40 :offset 0 :score -2) ;; guessed by decompiler
|
||||
(vector vector 10 :offset 0 :score -2) ;; guessed by decompiler
|
||||
(quads uint128 10 :offset 0 :score -2) ;; guessed by decompiler
|
||||
(adgif gs-gif-tag :inline :offset 0) ;; gs-gif-tag :inline
|
||||
(strgif gs-gif-tag :inline :offset 16) ;; gs-gif-tag :inline
|
||||
(extra vector :inline :offset 32) ;; vector :inline
|
||||
(gifbufs vector :inline :offset 48) ;; vector :inline
|
||||
(clrbufs qword :inline :offset 64)
|
||||
(misc qword :inline :offset 80)
|
||||
(atestgif gs-gif-tag :inline :offset 96) ;; gs-gif-tag :inline
|
||||
(alpha gs-adcmd :inline :offset 112)
|
||||
(atest gs-adcmd 2 :inline :offset 128 :score -1) ;; guessed by decompiler
|
||||
(atest-tra gs-adcmd :inline :offset 128) ;; ad-cmd :inline
|
||||
(atest-def gs-adcmd :inline :offset 144) ;; ad-cmd :inline
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #xa0
|
||||
:flag-assert #x9000000a0
|
||||
)
|
||||
|#
|
||||
|
||||
;; (define-extern tie-vu1-block object) ;; vu-function
|
||||
;; (define-extern tie-init-consts function) ;; (function tie-consts int none)
|
||||
;; (define-extern tie-init-engine function) ;; (function dma-buffer gs-test int none)
|
||||
;; (define-extern tie-end-buffer function) ;; (function dma-buffer none)
|
||||
;; (define-extern tie-int-reg function) ;; (function int string)
|
||||
;; (define-extern tie-float-reg function) ;; (function int string)
|
||||
;; (define-extern tie-ints function) ;; (function none)
|
||||
;; (define-extern tie-floats function) ;; (function none)
|
||||
(define-extern tie-vu1-block vu-function)
|
||||
(define-extern tie-init-consts (function tie-consts gs-alpha gs-test gs-test none))
|
||||
(define-extern tie-init-engine (function dma-buffer gs-alpha gs-test gs-test none))
|
||||
(define-extern tie-end-buffer (function dma-buffer none))
|
||||
(define-extern tie-int-reg (function int string))
|
||||
(define-extern tie-float-reg (function int string))
|
||||
(define-extern tie-ints (function none))
|
||||
(define-extern tie-floats (function none))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; etie-vu1 ;;
|
||||
@@ -23273,8 +23286,8 @@
|
||||
;; (define-extern etie-vu1-block object)
|
||||
;; (define-extern etie-magic function)
|
||||
;; (define-extern etie-init-consts function)
|
||||
;; (define-extern etie-init-engine function)
|
||||
;; (define-extern etie-end-buffer function)
|
||||
(define-extern etie-init-engine (function dma-buffer none))
|
||||
(define-extern etie-end-buffer (function dma-buffer none))
|
||||
;; (define-extern etie-float-reg-bp function)
|
||||
;; (define-extern etie-float-reg function)
|
||||
;; (define-extern etie-floats function)
|
||||
@@ -23351,8 +23364,8 @@
|
||||
;; (define-extern etn-vu1-block object)
|
||||
;; (define-extern etn-magic function)
|
||||
;; (define-extern etn-init-consts function)
|
||||
;; (define-extern etn-init-engine function)
|
||||
;; (define-extern etn-end-buffer function)
|
||||
(define-extern etn-init-engine (function dma-buffer none))
|
||||
(define-extern etn-end-buffer (function dma-buffer none))
|
||||
;; (define-extern etn-float-reg-calc function)
|
||||
;; (define-extern etn-float-reg function)
|
||||
;; (define-extern etn-floats function)
|
||||
@@ -23387,9 +23400,9 @@
|
||||
|
||||
;; (define-extern tie-near-vu1-block object) ;; vu-function
|
||||
;; (define-extern tie-near-init-consts function) ;; (function tie-near-consts int none)
|
||||
;; (define-extern tie-near-init-engine function) ;; (function dma-buffer gs-test int none)
|
||||
;; (define-extern tie-near-end-buffer function) ;; (function dma-buffer none)
|
||||
(define-extern tie-scissor-make-perspective-matrix (function object object none))
|
||||
(define-extern tie-near-init-engine (function dma-buffer gs-test int none))
|
||||
(define-extern tie-near-end-buffer (function dma-buffer none))
|
||||
(define-extern tie-scissor-make-perspective-matrix (function matrix matrix none))
|
||||
;; (define-extern tie-near-int-reg function) ;; (function int string)
|
||||
;; (define-extern tie-near-float-reg function) ;; (function int string)
|
||||
|
||||
@@ -23404,7 +23417,6 @@
|
||||
;; tie-methods ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
#|
|
||||
(deftype tie-debug (structure)
|
||||
((max-instance uint32 :offset-assert 0)
|
||||
(min-instance uint32 :offset-assert 4)
|
||||
@@ -23415,46 +23427,43 @@
|
||||
:size-assert #x10
|
||||
:flag-assert #x900000010
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype tie-init-data (structure)
|
||||
((tie-bucket int32 :offset-assert 0)
|
||||
(tie-scissor-bucket int32 :offset-assert 4)
|
||||
(tie-envmap-bucket int32 :offset-assert 8)
|
||||
(tie-envmap-scissor-bucket int32 :offset-assert 12)
|
||||
(tie-vanish-bucket int32 :offset-assert 16)
|
||||
(tie-trans-bucket int32 :offset-assert 20)
|
||||
(tie-scissor-trans-bucket int32 :offset-assert 24)
|
||||
(tie-envmap-trans-bucket int32 :offset-assert 28)
|
||||
(tie-envmap-scissor-trans-bucket int32 :offset-assert 32)
|
||||
(tie-water-bucket int32 :offset-assert 36)
|
||||
(tie-scissor-water-bucket int32 :offset-assert 40)
|
||||
(tie-envmap-water-bucket int32 :offset-assert 44)
|
||||
(tie-envmap-scissor-water-bucket int32 :offset-assert 48)
|
||||
((tie-bucket bucket-id :offset-assert 0)
|
||||
(tie-scissor-bucket bucket-id :offset-assert 4)
|
||||
(tie-envmap-bucket bucket-id :offset-assert 8)
|
||||
(tie-envmap-scissor-bucket bucket-id :offset-assert 12)
|
||||
(tie-vanish-bucket bucket-id :offset-assert 16)
|
||||
(tie-trans-bucket bucket-id :offset-assert 20)
|
||||
(tie-scissor-trans-bucket bucket-id :offset-assert 24)
|
||||
(tie-envmap-trans-bucket bucket-id :offset-assert 28)
|
||||
(tie-envmap-scissor-trans-bucket bucket-id :offset-assert 32)
|
||||
(tie-water-bucket bucket-id :offset-assert 36)
|
||||
(tie-scissor-water-bucket bucket-id :offset-assert 40)
|
||||
(tie-envmap-water-bucket bucket-id :offset-assert 44)
|
||||
(tie-envmap-scissor-water-bucket bucket-id :offset-assert 48)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x34
|
||||
:flag-assert #x900000034
|
||||
)
|
||||
|#
|
||||
|
||||
;; (define-extern *tie* object) ;; tie-instance-debug
|
||||
;; (define-extern tie-debug-between function) ;; (function uint uint uint)
|
||||
;; (define-extern tie-debug-one function) ;; (function uint uint uint)
|
||||
;; (define-extern tie-debug-frag-between function)
|
||||
;; (define-extern tie-debug-frag-one function)
|
||||
;; (define-extern walk-tie-generic-prototypes function) ;; (function none)
|
||||
;; (define-extern *pke-hack* object) ;; vector
|
||||
;; (define-extern draw-inline-array-instance-tie function) ;; (function pointer (inline-array instance-tie) int dma-buffer none)
|
||||
;; (define-extern draw-inline-array-prototype-tie-asm function) ;; (function dma-buffer int prototype-array-tie none)
|
||||
;; (define-extern instance-tie-patch-buckets function)
|
||||
(define-extern *tie* tie-debug)
|
||||
(define-extern tie-debug-between (function uint uint uint))
|
||||
(define-extern tie-debug-one (function uint uint uint))
|
||||
(define-extern tie-debug-frag-between (function uint uint uint))
|
||||
(define-extern tie-debug-frag-one (function uint uint uint))
|
||||
(define-extern walk-tie-generic-prototypes (function none))
|
||||
(define-extern *pke-hack* vector)
|
||||
(define-extern draw-inline-array-instance-tie (function pointer (inline-array instance-tie) int dma-buffer none))
|
||||
(define-extern draw-inline-array-prototype-tie-asm (function dma-buffer int prototype-array-tie none))
|
||||
(define-extern instance-tie-patch-buckets (function dma-buffer level object))
|
||||
(define-extern draw-drawable-tree-instance-tie (function drawable-tree-instance-tie level none))
|
||||
;; (define-extern tie-init-scissor-buf function)
|
||||
;; (define-extern tie-init-buf function)
|
||||
;; (define-extern tie-init-envmap-buf function)
|
||||
;; (define-extern tie-init-envmap-scissor-buf function)
|
||||
;; (define-extern *tie-init-table* object)
|
||||
(define-extern tie-init-scissor-buf (function bucket-id gs-alpha gs-test gs-test none))
|
||||
(define-extern tie-init-buf (function bucket-id gs-alpha gs-test gs-test none))
|
||||
(define-extern tie-init-envmap-buf (function bucket-id gs-alpha int int none))
|
||||
(define-extern tie-init-envmap-scissor-buf (function bucket-id gs-alpha int int none))
|
||||
(define-extern *tie-init-table* (inline-array tie-init-data))
|
||||
(define-extern tie-vu1-init-buffers (function none))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
@@ -290,7 +290,8 @@
|
||||
"start-perf-stat-collection": [26],
|
||||
"end-perf-stat-collection": [0],
|
||||
"upload-vis-bits": [2, 6, 3, 0],
|
||||
"set-background-regs!":[4, 3]
|
||||
"set-background-regs!":[4, 3],
|
||||
"draw-drawable-tree-instance-tie": [21, 23, 31, 33]
|
||||
},
|
||||
|
||||
// Sometimes the game might use format strings that are fetched dynamically,
|
||||
|
||||
@@ -189,8 +189,8 @@
|
||||
["L896", "(pointer uint64)", 1],
|
||||
["L897", "(pointer uint64)", 1]
|
||||
],
|
||||
"nav-mesh": [["L347", "(inline-array vector)", 2]],
|
||||
"tfrag-methods": [["L119", "(inline-array tfrag-init-data)", 6]],
|
||||
"nav-mesh": [["L347", "(inline-array vector)", 2]],
|
||||
"progress": [
|
||||
["L879", "uint64", true],
|
||||
["L880", "uint64", true],
|
||||
@@ -250,5 +250,7 @@
|
||||
["L790", "uint64", true],
|
||||
["L791", "uint64", true]
|
||||
],
|
||||
"target-gun": [["L595", "uint64", true]]
|
||||
"target-gun": [["L595", "uint64", true]],
|
||||
"tie-methods": [["L328", "(inline-array tie-init-data)", 6]],
|
||||
"nav-mesh": [["L347", "(inline-array vector)", 2]]
|
||||
}
|
||||
|
||||
@@ -2409,6 +2409,95 @@
|
||||
[[128, 152], "a2", "dma-packet"],
|
||||
[[157, 162], "a1", "dma-packet"]
|
||||
],
|
||||
"tfrag-scissor-vu1-init-buf": [
|
||||
[[25, 34], "v1", "dma-packet"],
|
||||
[[61, 66], "v1", "dma-packet"],
|
||||
[69, "v1", "(pointer uint32)"]
|
||||
],
|
||||
"(method 9 tie-fragment)": [
|
||||
[21, "a2", "(pointer int32)"],
|
||||
[26, "a3", "(pointer int32)"],
|
||||
[[1, 70], "s5", "adgif-shader"]
|
||||
],
|
||||
"tie-init-engine": [
|
||||
[[11, 25], "a0", "dma-packet"],
|
||||
[[37, 45], "a0", "dma-packet"],
|
||||
[[47, 54], "a0", "dma-packet"],
|
||||
[[57, 64], "v1", "vector"],
|
||||
[[65,72], "v1", "(pointer vif-tag)"]
|
||||
],
|
||||
"tie-end-buffer": [
|
||||
[[1, 8], "a1", "dma-packet"],
|
||||
[[10, 17], "a1", "gs-gif-tag"],
|
||||
[21, "a1", "(pointer gs-test)"],
|
||||
[23, "a1", "(pointer gs-reg64)"],
|
||||
[[27, 34], "a1", "dma-packet"],
|
||||
[38, "a0", "(pointer vif-tag)"],
|
||||
[40, "a0", "(pointer vif-tag)"],
|
||||
[42, "a0", "(pointer vif-tag)"],
|
||||
[44, "a0", "(pointer vif-tag)"],
|
||||
[[45, 49], "a0", "(pointer int32)"]
|
||||
],
|
||||
"tie-ints": [
|
||||
[17, "v1", "(pointer uint32)"],
|
||||
[21, "v1", "(pointer uint32)"]
|
||||
],
|
||||
"(method 13 drawable-tree-instance-tie)": [
|
||||
[[51, 70], "t1", "tie-fragment"],
|
||||
[[102, 120], "a3", "tie-fragment"],
|
||||
[[160, 178], "t1", "tie-fragment"],
|
||||
[[211, 229], "a3", "tie-fragment"],
|
||||
[[266, 286], "t1", "tie-fragment"],
|
||||
[[320, 340], "a1", "tie-fragment"],
|
||||
[[381, 400], "t1", "tie-fragment"],
|
||||
[[432, 450], "a3", "tie-fragment"],
|
||||
[[487, 507], "t1", "tie-fragment"],
|
||||
[[541, 561], "a1", "tie-fragment"],
|
||||
[[598, 616], "t1", "tie-fragment"],
|
||||
[[649, 667], "a3", "tie-fragment"],
|
||||
[[703, 723], "t1", "tie-fragment"],
|
||||
[[756, 776], "a1", "tie-fragment"]
|
||||
],
|
||||
"draw-drawable-tree-instance-tie": [
|
||||
[[23, 37], "v1", "drawable-inline-array-node"],
|
||||
[25, "a0", "drawable-inline-array-node"],
|
||||
[120, "s2", "drawable-inline-array-instance-tie"],
|
||||
[132, "v1", "int"],
|
||||
[132, "a0", "int"]
|
||||
],
|
||||
"instance-tie-patch-buckets": [
|
||||
[39, "a0", "(pointer uint64)"],
|
||||
[152, "a0", "(pointer uint64)"],
|
||||
[265, "a0", "(pointer uint64)"],
|
||||
[378, "a0", "(pointer uint64)"],
|
||||
[491, "a0", "(pointer uint64)"],
|
||||
[605, "a0", "(pointer uint64)"],
|
||||
[719, "a0", "(pointer uint64)"],
|
||||
[833, "a0", "(pointer uint64)"],
|
||||
[947, "a0", "(pointer uint64)"],
|
||||
[1061, "a0", "(pointer uint64)"],
|
||||
[1175, "a0", "(pointer uint64)"],
|
||||
[1289, "a0", "(pointer uint64)"],
|
||||
[1403, "a0", "(pointer uint64)"],
|
||||
[[51, 57], "a0", "dma-packet"],
|
||||
[[164, 170], "a0", "dma-packet"]
|
||||
|
||||
],
|
||||
"tie-floats": [[[3, 73], "gp", "(pointer uint32)"]],
|
||||
"tie-init-buf": [
|
||||
[[24, 31], "a0", "dma-packet"],
|
||||
[[33, 40], "a0", "gs-gif-tag"],
|
||||
[44, "a0", "(pointer gs-zbuf)"],
|
||||
[46, "a0", "(pointer gs-reg64)"],
|
||||
[[49, 59], "v1", "dma-packet"],
|
||||
[[84, 90], "v1", "dma-packet"],
|
||||
[92, "v1", "(pointer int32)"]
|
||||
],
|
||||
"tie-init-envmap-buf": [
|
||||
[[23, 33], "v1", "dma-packet"],
|
||||
[[58, 64], "v1", "dma-packet"],
|
||||
[66, "v1", "(pointer int32)"]
|
||||
],
|
||||
"(enter othercam-running)": [[[50, 60], "gp", "process-drawable"]],
|
||||
"(code othercam-running)": [[[2, 65], "s2", "process-drawable"]],
|
||||
"(method 10 progress)": [[45, "t9", "(function progress none)"]],
|
||||
|
||||
Reference in New Issue
Block a user