Types
bone-buffer: structuresource
bone-memory: structuresource
bone-work: structuresource
Fields
layout: bone-layout
bounds: sphere
lights: vu-lights
distance: vector
next-tag: dma-packet
dma-buf: dma-buffer
sink-group: dma-foreground-sink-group
next-pris: dma-packet
next-merc: dma-packet
wait-count: uint32
in-count: uint32
sp-size: uint32
sp-bufnum: uint32
regs: bone-regs
merc-global-array: structuresource
merc-globals: structuresource
shadow-dma-packet: structuresource
Fields
tag: generic-merc-tag
settings: shadow-settings
geo-ref: dma-packet
mtx-ref: dma-packet
end-tag: dma-packet
Functions
invalidate-cache-line(arg0: pointer) => intsource
Invalidate a single cache line. Won't be used in PC
Variables
Types
bone-calculation: structuresource
Fields
flags: bone-calc-flags
num-bones: uint16
matrix-area: inline-array
joints: inline-array
bones: inline-array
ripple-scale: float
ripple-y-scale: float
ripple-normal-scale: float
ripple-area: inline-array
next: bone-calculation
dummy-1: uint32
dummy-2: uint32
dummy-3: uint32
bone-calculation-list: structuresource
merc-bucket-info: structuresource
Fields
light: vu-lights
needs-clip: int32
need-mercprime-if-merc: int32
must-use-mercneric-for-clip: int32
effect: merc-effect-bucket-info
merc-effect-bucket-info: structuresource
pc-merc-flags: structuresource
texscroll-globals: structuresource
Functions
bone-list-init() => nonesource
Reset the bone list to have nothing.
bones-debug() => nonesource
bones-init(arg0: dma-buffer, arg1: dma-foreground-sink-group) => nonesource
Initialize the scratchpad and VU0 for bone work.
bones-mtx-calc-execute() => nonesource
Do all pending bone calculations
bones-reset-sqwc() => nonesource
bones-set-sqwc() => nonesource
bones-wrapup() => nonesource
draw-bones(arg0: draw-control, dma-buf: dma-buffer, arg2: float) => nonesource
Main draw function for all bone-related renderers. Will set up merc, generic and shadow.
and also add the bones to the calculation list.
draw-bones-generic-merc(arg0: draw-control, arg1: pointer, arg2: pointer, arg3: int) => pointersource
Add data for generic merc drawing to the dma buffer. Note that this data is not yet converted to the generic format,
so it is not linked into the chain. This data is linked to itself and can be found again by following the chain
in merc-globals, which, despite the name, only contains generic merc data.
draw-bones-hud(arg0: draw-control, arg1: dma-buffer) => nonesource
draw-bones-mtx-calc(arg0: bone-calculation, arg1: int, arg2: bone-calc-flags) => objectsource
Add the current work to the bone calculation list.
draw-bones-shadow(arg0: draw-control, arg1: pointer, arg2: pointer) => pointersource
draw-control-uses-water-bucket(dc: draw-control) => symbolsource
Does this draw control use a water bucket?
dump-bone-mem() => nonesource
dump-qword(arg0: qword) => nonesource
pc-merc-draw-request(dc: draw-control, dma-buf: pointer, matrix-buf: pointer, update-verts: symbol) => pointersource
texscroll-execute() => nonesource
Do all requested texture scroll updates.
texscroll-make-request(arg0: merc-effect) => nonesource
Request that the given merc-effect have its texture scroll updated.
Note: only call this if you actually have a texture scroll effect!
vu-lights<-light-group!(arg0: vu-lights, arg1: light-group) => nonesource
Convert a light-group to the VU format lights used by merc.