jak-project/goal_src/engine/gfx/shrub/shrub-work.gc
Tyler Wilding 2556284293
decomp: decompile shrub-work | tie-work (#657)
* decomp: finish `shrub-work`

* decomp: update reference tests

* decomp: update `goal_src` entries

* decomp: finish `tie-work`

* decomp: add to `goal_src`
2021-06-30 21:57:13 -04:00

798 lines
22 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; name: shrub-work.gc
;; name in dgo: shrub-work
;; dgos: GAME, ENGINE
;; definition for symbol *instance-shrub-work*, type instance-shrub-work
(define
*instance-shrub-work*
(new 'static 'instance-shrub-work
:matrix-tmpl
(new 'static 'inline-array qword 20
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x10000005 #x0 #x0 #x6c050143)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c050148)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c05014d)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c050152)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c050157)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c05015c)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c050161)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c050166)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c05016b)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x10000005 #x0 #x0 #x6c050170)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x10000005 #x0 #x0 #x6c050176)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c05017b)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c050180)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c050185)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c05018a)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c05018f)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c050194)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c050199)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c05019e)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x10000005 #x0 #x0 #x6c0501a3)
)
)
:count-tmpl
(new 'static 'inline-array qword 20
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000000 #x0 #x60010175 #xa)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000000 #x0 #x60010142 #x1)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000000 #x0 #x60010142 #x2)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000000 #x0 #x60010142 #x3)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000000 #x0 #x60010142 #x4)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000000 #x0 #x60010142 #x5)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000000 #x0 #x60010142 #x6)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000000 #x0 #x60010142 #x7)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000000 #x0 #x60010142 #x8)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000000 #x0 #x60010142 #x9)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000000 #x0 #x60010142 #xa)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000000 #x0 #x60010175 #x1)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000000 #x0 #x60010175 #x2)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000000 #x0 #x60010175 #x3)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000000 #x0 #x60010175 #x4)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000000 #x0 #x60010175 #x5)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000000 #x0 #x60010175 #x6)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000000 #x0 #x60010175 #x7)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000000 #x0 #x60010175 #x8)
)
(new 'static 'qword
:data
(new 'static 'array uint32 4 #x20000000 #x0 #x60010175 #x9)
)
)
:mscalf-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :id (dma-tag-id next))
:vif0
(new 'static 'vif-tag :cmd (vif-cmd mscalf) :msk #x1)
)
:mscalf-ret-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :id (dma-tag-id ret))
:vif0
(new 'static 'vif-tag :cmd (vif-cmd mscalf) :msk #x1)
)
:adgif-tmpl
(new 'static 'dma-gif-packet
:dma-vif
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :qwc #x6 :id (dma-tag-id next))
:vif1
(new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1)
)
:gif
(new 'static 'array uint64 2 #x1000000000008005 #xe)
)
:billboard-tmpl
(new 'static 'dma-gif-packet
:dma-vif
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :qwc #xd :id (dma-tag-id next))
:vif1
(new 'static 'vif-tag :imm #xd :cmd (vif-cmd direct) :msk #x1)
)
:gif
(new 'static 'array uint64 2 #x303e400000008004 #x412)
)
:shrub-near-packets
(new 'static 'inline-array shrub-near-packet 6
(new 'static 'shrub-near-packet
:matrix-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt))
:vif0
(new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))
:vif1
(new 'static 'vif-tag :imm #x345 :num #x6 :cmd (vif-cmd unpack-v4-32))
)
:header-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :id (dma-tag-id ref))
:vif1
(new 'static 'vif-tag :imm #x34c :cmd (vif-cmd unpack-v4-32))
)
:stq-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :id (dma-tag-id ref))
:vif0
(new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl))
:vif1
(new 'static 'vif-tag :imm #x9 :cmd (vif-cmd unpack-v2-16))
)
:color-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :id (dma-tag-id ref))
:vif1
(new 'static 'vif-tag :imm #x400a :cmd (vif-cmd unpack-v3-8))
)
:vertex-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :id (dma-tag-id ref))
:vif1
(new 'static 'vif-tag :imm #xb :cmd (vif-cmd unpack-v3-16))
)
:mscal-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :id (dma-tag-id next))
:vif0
(new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))
:vif1
(new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1)
)
:init-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next))
:vif0
(new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))
:vif1
(new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32))
)
:init-data
(new 'static 'array uint32 8 #x0 #x0 #x345 #x117 #x0 #x0 #x0 #x1500000c)
)
(new 'static 'shrub-near-packet
:matrix-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt))
:vif0
(new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))
:vif1
(new 'static 'vif-tag :imm #x363 :num #x6 :cmd (vif-cmd unpack-v4-32))
)
:header-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :id (dma-tag-id ref))
:vif1
(new 'static 'vif-tag :imm #x36a :cmd (vif-cmd unpack-v4-32))
)
:stq-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :id (dma-tag-id ref))
:vif0
(new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl))
:vif1
(new 'static 'vif-tag :imm #x120 :cmd (vif-cmd unpack-v2-16))
)
:color-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :id (dma-tag-id ref))
:vif1
(new 'static 'vif-tag :imm #x4121 :cmd (vif-cmd unpack-v3-8))
)
:vertex-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :id (dma-tag-id ref))
:vif1
(new 'static 'vif-tag :imm #x122 :cmd (vif-cmd unpack-v3-16))
)
:mscal-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :id (dma-tag-id next))
:vif0
(new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))
:vif1
(new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1)
)
:init-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next))
:vif0
(new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))
:vif1
(new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32))
)
:init-data
(new 'static 'array uint32 8 #x0 #x0 #x363 #x22e #x0 #x0 #x0 #x1500000c)
)
(new 'static 'shrub-near-packet
:matrix-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt))
:vif0
(new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))
:vif1
(new 'static 'vif-tag :imm #x345 :num #x6 :cmd (vif-cmd unpack-v4-32))
)
:header-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :id (dma-tag-id ref))
:vif1
(new 'static 'vif-tag :imm #x34c :cmd (vif-cmd unpack-v4-32))
)
:stq-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :id (dma-tag-id ref))
:vif0
(new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl))
:vif1
(new 'static 'vif-tag :imm #x237 :cmd (vif-cmd unpack-v2-16))
)
:color-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :id (dma-tag-id ref))
:vif1
(new 'static 'vif-tag :imm #x4238 :cmd (vif-cmd unpack-v3-8))
)
:vertex-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :id (dma-tag-id ref))
:vif1
(new 'static 'vif-tag :imm #x239 :cmd (vif-cmd unpack-v3-16))
)
:mscal-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :id (dma-tag-id next))
:vif0
(new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))
:vif1
(new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1)
)
:init-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next))
:vif0
(new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))
:vif1
(new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32))
)
:init-data
(new 'static 'array uint32 8 #x0 #x0 #x345 #x0 #x0 #x0 #x0 #x1500000c)
)
(new 'static 'shrub-near-packet
:matrix-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt))
:vif0
(new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))
:vif1
(new 'static 'vif-tag :imm #x363 :num #x6 :cmd (vif-cmd unpack-v4-32))
)
:header-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :id (dma-tag-id ref))
:vif1
(new 'static 'vif-tag :imm #x36a :cmd (vif-cmd unpack-v4-32))
)
:stq-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :id (dma-tag-id ref))
:vif0
(new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl))
:vif1
(new 'static 'vif-tag :imm #x9 :cmd (vif-cmd unpack-v2-16))
)
:color-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :id (dma-tag-id ref))
:vif1
(new 'static 'vif-tag :imm #x400a :cmd (vif-cmd unpack-v3-8))
)
:vertex-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :id (dma-tag-id ref))
:vif1
(new 'static 'vif-tag :imm #xb :cmd (vif-cmd unpack-v3-16))
)
:mscal-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :id (dma-tag-id next))
:vif0
(new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))
:vif1
(new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1)
)
:init-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next))
:vif0
(new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))
:vif1
(new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32))
)
:init-data
(new 'static 'array uint32 8 #x0 #x0 #x363 #x117 #x0 #x0 #x0 #x1500000c)
)
(new 'static 'shrub-near-packet
:matrix-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt))
:vif0
(new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))
:vif1
(new 'static 'vif-tag :imm #x345 :num #x6 :cmd (vif-cmd unpack-v4-32))
)
:header-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :id (dma-tag-id ref))
:vif1
(new 'static 'vif-tag :imm #x34c :cmd (vif-cmd unpack-v4-32))
)
:stq-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :id (dma-tag-id ref))
:vif0
(new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl))
:vif1
(new 'static 'vif-tag :imm #x120 :cmd (vif-cmd unpack-v2-16))
)
:color-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :id (dma-tag-id ref))
:vif1
(new 'static 'vif-tag :imm #x4121 :cmd (vif-cmd unpack-v3-8))
)
:vertex-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :id (dma-tag-id ref))
:vif1
(new 'static 'vif-tag :imm #x122 :cmd (vif-cmd unpack-v3-16))
)
:mscal-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :id (dma-tag-id next))
:vif0
(new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))
:vif1
(new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1)
)
:init-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next))
:vif0
(new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))
:vif1
(new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32))
)
:init-data
(new 'static 'array uint32 8 #x0 #x0 #x345 #x22e #x0 #x0 #x0 #x1500000c)
)
(new 'static 'shrub-near-packet
:matrix-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt))
:vif0
(new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))
:vif1
(new 'static 'vif-tag :imm #x363 :num #x6 :cmd (vif-cmd unpack-v4-32))
)
:header-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :id (dma-tag-id ref))
:vif1
(new 'static 'vif-tag :imm #x36a :cmd (vif-cmd unpack-v4-32))
)
:stq-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :id (dma-tag-id ref))
:vif0
(new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl))
:vif1
(new 'static 'vif-tag :imm #x237 :cmd (vif-cmd unpack-v2-16))
)
:color-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :id (dma-tag-id ref))
:vif1
(new 'static 'vif-tag :imm #x4238 :cmd (vif-cmd unpack-v3-8))
)
:vertex-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :id (dma-tag-id ref))
:vif1
(new 'static 'vif-tag :imm #x239 :cmd (vif-cmd unpack-v3-16))
)
:mscal-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :id (dma-tag-id next))
:vif0
(new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))
:vif1
(new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1)
)
:init-tmpl
(new 'static 'dma-packet
:dma
(new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next))
:vif0
(new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))
:vif1
(new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32))
)
:init-data
(new 'static 'array uint32 8 #x0 #x0 #x363 #x0 #x0 #x0 #x0 #x1500000c)
)
)
:dma-ref
(new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id ref)))
:dma-end
(new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id end)))
:wind-const
(new 'static 'vector :x 0.5 :y 100.0 :z 0.0166 :w -1.0)
:constants (new 'static 'vector :x 128.0 :y 1.0)
:color-constant
(new 'static 'vector4w
:data
(new 'static 'array int32 4 #x47000000 #x47000000 #x47000000 0)
)
:start-bank
(new 'static 'array uint8 20
#x0
#x1
#x1
#x1
#x1
#x1
#x1
#x1
#x1
#x1
#x1
#x0
#x0
#x0
#x0
#x0
#x0
#x0
#x0
#x0
)
)
)
;; failed to figure out what this is:
(set! (-> *instance-shrub-work* mscalf-tmpl vif0 imm) 103)
;; failed to figure out what this is:
(set! (-> *instance-shrub-work* mscalf-ret-tmpl vif0 imm) 103)
;; definition for function upload-generic-shrub
;; Used lq/sq
(defun
upload-generic-shrub
((arg0 dma-buffer) (arg1 generic-shrub-fragment) (arg2 int) (arg3 int))
(let* ((v1-0 arg0)
(t0-0 (the-as object (-> v1-0 base)))
)
(set!
(-> (the-as dma-packet t0-0) dma)
(new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt))
)
(set!
(-> (the-as dma-packet t0-0) vif0)
(new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))
)
(set!
(-> (the-as dma-packet t0-0) vif1)
(new 'static 'vif-tag
:num #x6
:cmd (vif-cmd unpack-v4-32)
:imm (shr (shl arg2 54) 54)
)
)
(set! (-> v1-0 base) (&+ (the-as pointer t0-0) 16))
)
(let* ((v1-1 (the-as matrix (-> arg0 base)))
(t3-0 (-> *math-camera* camera-temp))
(t0-3 (-> t3-0 vector 0 quad))
(t1-4 (-> t3-0 vector 1 quad))
(t2-4 (-> t3-0 vector 2 quad))
(t3-1 (-> t3-0 vector 3 quad))
)
(set! (-> v1-1 vector 0 quad) t0-3)
(set! (-> v1-1 vector 1 quad) t1-4)
(set! (-> v1-1 vector 2 quad) t2-4)
(set! (-> v1-1 vector 3 quad) t3-1)
)
(set! (-> arg0 base) (&+ (-> arg0 base) 64))
(let* ((v1-4 arg0)
(t0-4 (the-as object (-> v1-4 base)))
)
(set! (-> (the-as vector4w-2 t0-4) vector 0 x) #x3f800000)
(set! (-> (the-as vector4w-2 t0-4) vector 0 y) #x3f800000)
(set! (-> (the-as vector4w-2 t0-4) vector 0 z) #x3f800000)
(set! (-> (the-as vector4w-2 t0-4) vector 0 w) 128)
(set!
(-> (the-as vector4w-2 t0-4) vector 1 x)
(the-as int (-> arg1 vtx-cnt))
)
(set! (-> (the-as vector4w-2 t0-4) vector 1 y) 0)
(set! (-> (the-as vector4w-2 t0-4) vector 1 z) 0)
(set! (-> (the-as vector4w-2 t0-4) vector 1 w) 0)
(set! (-> v1-4 base) (&+ (the-as pointer t0-4) 32))
)
(let* ((v1-5 arg0)
(t0-6 (the-as object (-> v1-5 base)))
)
(set!
(-> (the-as dma-packet t0-6) dma)
(new 'static 'dma-tag
:id (dma-tag-id ref)
:addr (-> arg1 cnt)
:qwc (-> arg1 cnt-qwc)
)
)
(set! (-> (the-as dma-packet t0-6) vif0) (new 'static 'vif-tag))
(set!
(-> (the-as dma-packet t0-6) vif1)
(new 'static 'vif-tag
:cmd (vif-cmd unpack-v4-32)
:imm (shr (shl (+ arg2 6) 54) 54)
:num (-> arg1 cnt-qwc)
)
)
(set! (-> v1-5 base) (&+ (the-as pointer t0-6) 16))
)
(let* ((v1-6 arg0)
(a2-8 (the-as object (-> v1-6 base)))
)
(set!
(-> (the-as dma-packet a2-8) dma)
(new 'static 'dma-tag
:id (dma-tag-id ref)
:addr (-> arg1 stq)
:qwc (-> arg1 stq-qwc)
)
)
(set!
(-> (the-as dma-packet a2-8) vif0)
(new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl))
)
(set!
(-> (the-as dma-packet a2-8) vif1)
(new 'static 'vif-tag
:cmd (vif-cmd unpack-v2-16)
:imm (shr (shl arg3 54) 54)
:num (-> arg1 vtx-cnt)
)
)
(set! (-> v1-6 base) (&+ (the-as pointer a2-8) 16))
)
(let* ((v1-7 arg0)
(a2-10 (the-as object (-> v1-7 base)))
)
(set!
(-> (the-as dma-packet a2-10) dma)
(new 'static 'dma-tag
:id (dma-tag-id ref)
:addr (-> arg1 col)
:qwc (-> arg1 col-qwc)
)
)
(set! (-> (the-as dma-packet a2-10) vif0) (new 'static 'vif-tag))
(set!
(-> (the-as dma-packet a2-10) vif1)
(new 'static 'vif-tag
:cmd (vif-cmd unpack-v3-8)
:imm (shr (shl (+ arg3 1) 54) 54)
:num (-> arg1 vtx-cnt)
)
)
(set! (-> v1-7 base) (&+ (the-as pointer a2-10) 16))
)
(let* ((v1-8 arg0)
(a2-12 (the-as object (-> v1-8 base)))
)
(set!
(-> (the-as dma-packet a2-12) dma)
(new 'static 'dma-tag
:id (dma-tag-id ref)
:addr (-> arg1 vtx)
:qwc (-> arg1 vtx-qwc)
)
)
(set! (-> (the-as dma-packet a2-12) vif0) (new 'static 'vif-tag))
(set!
(-> (the-as dma-packet a2-12) vif1)
(new 'static 'vif-tag
:cmd (vif-cmd unpack-v3-16)
:imm (shr (shl (+ arg3 2) 54) 54)
:num (-> arg1 vtx-cnt)
)
)
(set! (-> v1-8 base) (&+ (the-as pointer a2-12) 16))
)
(let* ((v1-9 arg0)
(a1-7 (the-as object (-> v1-9 base)))
)
(set!
(-> (the-as dma-packet a1-7) dma)
(new 'static 'dma-tag :id (dma-tag-id cnt))
)
(set!
(-> (the-as dma-packet a1-7) vif0)
(new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))
)
(set!
(-> (the-as dma-packet a1-7) vif1)
(new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1)
)
(set! (-> v1-9 base) (&+ (the-as pointer a1-7) 16))
)
arg0
)