Skip to main content

bones-h​

source

Types​


bone-buffer​

bone-buffer: structuresource
Fields​
joint: joint-anim-compressed-hdr
bone: bone
_pad: uint8

bone-debug​

bone-debug: structuresource
Fields​
time-ctr: uint32
timing: uint32

bone-layout​

bone-layout: structuresource
Fields​
joint: joint
bone: bone
data: uint16
output: uint32
cache: uint32

bone-memory​

bone-memory: structuresource
Fields​
work: bone-work
buffer: bone-buffer
dma-list: dma-packet

bone-regs​

bone-regs: structuresource
Fields​
joint-ptr: inline-array
bone-ptr: inline-array
num-bones: uint32

bone-work​

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​

merc-global-array: structuresource
Fields​
count: uint32
globals: merc-globals

merc-globals​

merc-globals: structuresource
Fields​
first: uint32
next: pointer
sink: generic-dma-foreground-sink

shadow-dma-packet​

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​

invalidate-cache-line(arg0: pointer) => intsource

Invalidate a single cache line. Won't be used in PC

Variables​


*merc-globals*​

*merc-globals*: merc-globalssource

Types​


bone-calculation​

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​

bone-calculation-list: structuresource

merc-bucket-info​

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​

merc-effect-bucket-info: structuresource
Fields​
color-fade: rgba
use-mercneric: uint8
ignore-alpha: uint8
pad0: uint8
pad1: uint8

pc-merc-flags​

pc-merc-flags: structuresource
Fields​
enable-mask: uint64
ignore-alpha-mask: uint64
effect-count: uint8
bit-flags: pc-merc-bits

texscroll-globals​

texscroll-globals: structuresource
Fields​
requests: int32
effects: merc-effect

Functions​


bone-list-init​

bone-list-init() => nonesource

Reset the bone list to have nothing.

bones-debug​

bones-debug() => nonesource

bones-init​

bones-init(arg0: dma-buffer, arg1: dma-foreground-sink-group) => nonesource

Initialize the scratchpad and VU0 for bone work.

bones-mtx-calc-execute​

bones-mtx-calc-execute() => nonesource

Do all pending bone calculations

bones-reset-sqwc​

bones-reset-sqwc() => nonesource

bones-set-sqwc​

bones-set-sqwc() => nonesource

bones-wrapup​

bones-wrapup() => nonesource

draw-bones​

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​

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​

draw-bones-hud(arg0: draw-control, arg1: dma-buffer) => nonesource

draw-bones-mtx-calc​

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​

draw-bones-shadow(arg0: draw-control, arg1: pointer, arg2: pointer) => pointersource

draw-control-uses-water-bucket​

draw-control-uses-water-bucket(dc: draw-control) => symbolsource

Does this draw control use a water bucket?

dump-bone-mem​

dump-bone-mem() => nonesource

dump-mem​

dump-mem(arg0: pointer, arg1: int) => nonesource

dump-qword​

dump-qword(arg0: qword) => nonesource

pc-merc-draw-request​

pc-merc-draw-request(dc: draw-control, dma-buf: pointer, matrix-buf: pointer, update-verts: symbol) => pointersource

texscroll-execute​

texscroll-execute() => nonesource

Do all requested texture scroll updates.

texscroll-make-request​

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!​

vu-lights<-light-group!(arg0: vu-lights, arg1: light-group) => nonesource

Convert a light-group to the VU format lights used by merc.

Variables​


*blerc-hack*​

*blerc-hack*: symbolsource

*bone-calculation-list*​

*bone-calculation-list*: bone-calculation-listsource

*bones-first*​

*bones-first*: symbolsource

*default-shadow-settings*​

*default-shadow-settings*: shadow-settingssource

*emerc-hack*​

*emerc-hack*: symbolsource

*merc-bucket-info*​

const *merc-bucket-info*: merc-bucket-infosource

*merc-global-array*​

*merc-global-array*: merc-global-arraysource

*ripple-force-generic*​

*ripple-force-generic*: symbolsource

*texscroll-force-generic*​

*texscroll-force-generic*: symbolsource

*texscroll-globals*​

*texscroll-globals*: texscroll-globalssource

*use-generic*​

*use-generic*: symbolsource

BACKWARD_COMPAT_MERC_CLIP​

BACKWARD_COMPAT_MERC_CLIP: unknownsource

bones-vu0-block​

bones-vu0-block: vu-functionsource

Types​


eye​

eye: structuresource
Fields​
data: vector
x: float
y: float
lid: float
iris-scale: float
pupil-scale: float
lid-scale: float

eye-control​

eye-control: structuresource
Fields​
process: handle
random-time: uint16
level: uint16
blink: float
shaders: inline-array
left: eye
right: eye

eye-control-array​

eye-control-array: basicsource
Fields​
type: type
data: eye-control

eye-work​

eye-work: structuresource
Fields​
sprite-tmpl: dma-gif-packet
sprite-tmpl2: dma-gif-packet
adgif-tmpl: dma-gif-packet
blink-table: float

Variables​


*eye-control-array*​

*eye-control-array*: eye-control-arraysource

Functions​


convert-eye-data​

convert-eye-data(arg0: eye, arg1: uint) => floatsource

get-eye-block​

get-eye-block(arg0: int, arg1: int) => intsource

merc-eye-anim​

merc-eye-anim(arg0: process-drawable) => nonesource

render-eyes​

render-eyes(arg0: dma-buffer, arg1: eye-control, arg2: int) => pointersource

update-eyes​

update-eyes() => nonesource

Variables​


*eye-work*​

*eye-work*: eye-worksource

ripple​

source

Types​


ripple-globals​

ripple-globals: structuresource
Fields​
count: int32
requests: ripple-request

ripple-request​

ripple-request: structuresource
Fields​
waveform: ripple-wave
effect: merc-effect

Functions​


ripple-add-debug-sphere​

ripple-add-debug-sphere(arg0: process-drawable, arg1: vector, arg2: float, arg3: float) => nonesource

ripple-execute​

ripple-execute() => nonesource

ripple-find-height​

ripple-find-height(arg0: process-drawable, arg1: int, arg2: vector) => floatsource

ripple-make-request​

ripple-make-request(arg0: ripple-wave, arg1: merc-effect) => nonesource

ripple-slow-add-sine-waves​

ripple-slow-add-sine-waves(arg0: ripple-wave-set, arg1: float, arg2: float) => floatsource

ripple-update-waveform-offs​

ripple-update-waveform-offs(arg0: ripple-wave-set) => nonesource

Variables​


*ripple-globals*​

*ripple-globals*: ripple-globalssource