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