Skip to main content

aligner-h

source

Types


align-control

align-control: basicsource
Fields
type: type
flags: align-flags
process: process-drawable
frame-group: art-joint-anim
frame-num: float
matrix: matrix
transform: transform
delta: transformq
last-speed: meters
align: transformq
Methods
compute-alignment!(obj: align-control) => transformqsource
align!(obj: align-control, arg0: align-opts, arg1: float, arg2: float, arg3: float) => trsqvsource
align-vel-and-quat-only!(obj: align-control, arg0: align-opts, arg1: vector, arg2: int, arg3: float, arg4: float) => trsqvsource
first-transform(obj: align-control) => transformsource
snd-transform(obj: align-control) => transformsource

joint-exploder

source

Types


joint-exploder

joint-exploder: process-drawablesource
Fields
type: type
name: basic
mask: process-mask
parent: pointer
brother: pointer
child: pointer
ppointer: pointer
self: process-tree
pool: dead-pool
status: basic
pid: int32
main-thread: cpu-thread
top-thread: thread
entity: entity-actor
state: state
trans-hook: function
post-hook: function
event-hook: function
allocated-length: int32
next-state: state
heap-base: pointer
heap-top: pointer
heap-cur: pointer
stack-frame-top: stack-frame
connection-list: connectable
stack: uint8
root: trsqv
node-list: cspace-array
draw: draw-control
skel: joint-control
nav: nav-control
align: align-control
path: path-control
vol: vol-control
fact: fact-info
link: actor-link-info
part: sparticle-launch-control
water: water-control
sound: ambient-sound
state-flags: state-flags
state-time: time-frame
parent-override: pointer
die-if-below-y: float
die-if-beyond-xz-dist-sqrd: float
joints: joint-exploder-joints
static-params: joint-exploder-static-params
anim: art-joint-anim
scale-vector: vector
tuning: joint-exploder-tuning
lists: joint-exploder-list
Methods
joint-exploder-method-20(obj: joint-exploder, arg0: joint-exploder-list, arg1: int) => intsource
joint-exploder-method-21(obj: joint-exploder, arg0: joint-exploder-list, arg1: joint-exploder-joint) => nonesource
joint-exploder-method-22(obj: joint-exploder, arg0: joint-exploder-list) => symbolsource
joint-exploder-method-23(obj: joint-exploder) => symbolsource
joint-exploder-method-24(obj: joint-exploder, arg0: joint-exploder-list, arg1: int) => intsource
joint-exploder-method-25(obj: joint-exploder, arg0: joint-exploder-list) => symbolsource
joint-exploder-method-26(obj: joint-exploder, arg0: joint-exploder-list, arg1: int) => intsource
joint-exploder-method-27(obj: joint-exploder, arg0: joint-exploder-list, arg1: int) => joint-exploder-listsource
joint-exploder-method-28(obj: joint-exploder, arg0: joint-exploder-list) => nonesource
States
joint-exploder-shatter: TODO

joint-exploder-joint

joint-exploder-joint: structuresource
Fields
next: int16
prev: int16
joint-index: int16
rspeed: float
mat: matrix
rmat: matrix
transv: vector
prev-pos: vector

joint-exploder-joints

joint-exploder-joints: basicsource
Fields
type: type
num-joints: int32
joint: joint-exploder-joint

joint-exploder-list

joint-exploder-list: structuresource
Fields
head: int32
pre-moved?: symbol
bbox-valid?: symbol
bbox: bounding-box

joint-exploder-static-joint-params

joint-exploder-static-joint-params: structuresource
Fields
joint-index: int16
parent-joint-index: int16

joint-exploder-static-params

joint-exploder-static-params: basicsource
Fields
type: type
joints: array

joint-exploder-tuning

joint-exploder-tuning: structuresource
Fields
explosion: uint64
duration: time-frame
gravity: float
rot-speed: float
fountain-rand-transv-lo: vector
fountain-rand-transv-hi: vector
away-from-focal-pt: vector
away-from-rand-transv-xz-lo: float
away-from-rand-transv-xz-hi: float
away-from-rand-transv-y-lo: float
away-from-rand-transv-y-hi: float

Functions


joint-exploder-init-by-other

joint-exploder-init-by-other(arg0: skeleton-group, arg1: int, arg2: joint-exploder-static-params, arg3: joint-exploder-static-params) => nonesource

joint-exploder-joint-callback

joint-exploder-joint-callback(arg0: joint-exploder) => nonesource

joint-h

source

Types


channel-upload-info

channel-upload-info: structuresource
Fields
fixed: joint-anim-compressed-fixed
fixed-qwc: int32
frame: joint-anim-compressed-frame
frame-qwc: int32
amount: float
interp: float

joint-control

joint-control: basicsource
Fields
type: type
status: janim-status
allocated-length: int16
root-channel: inline-array
blend-index: int32
active-channels: int32
generate-frame-function: function
prebind-function: function
postbind-function: function
effect: effect-control
channel: joint-control-channel
frame-group0: art-joint-anim
frame-num0: float
frame-interp0: float
frame-group1: art-joint-anim
frame-num1: float
frame-interp1: float
frame-group2: art-joint-anim
frame-num2: float
frame-interp2: float
Methods
current-cycle-distance(obj: joint-control) => floatsource
debug-print-channels(obj: joint-control, arg0: symbol) => intsource
Print each active channel to the given stream.

joint-control-channel

joint-control-channel: structuresource
Fields
parent: joint-control
command: symbol
frame-interp: float
frame-group: art-joint-anim
frame-num: float
num-func: function
param: float
group-sub-index: int16
group-size: int16
dist: meters
eval-time: uint32
inspector-amount: float
Methods
debug-print-frames(obj: joint-control-channel) => _type_source
Print the current frame of each joint on this channel.
Note: this only appears to work for uncompressed joint animations.

joint-work

joint-work: structuresource
Fields
temp-mtx: matrix
joint-stack: matrix-stack
fix-jmp-table: function
frm-jmp-table: function
pair-jmp-table: function
uploads: channel-upload-info
num-uploads: int32
mtx-acc: matrix
tq-acc: transformq
jacp-hdr: joint-anim-compressed-hdr
fixed-data: joint-anim-compressed-fixed
frame-data: joint-anim-compressed-frame
flatten-array: float
flattened: vector

matrix-stack

matrix-stack: structuresource
Fields
top: matrix
data: matrix

joint-mod-h

source

Types


joint-mod

joint-mod: basicsource
Fields
type: type
mode: joint-mod-handler-mode
process: process-drawable
joint: cspace
target: vector
twist: vector
twist-max: vector
trans: vector
quat: quaternion
scale: vector
notice-time: time-frame
flex-blend: float
blend: float
max-dist: meters
ignore-angle: degrees
up: uint8
nose: uint8
ear: uint8
shutting-down?: symbol
parented-scale?: symbol
Methods
set-mode!(obj: joint-mod, handler-mode: joint-mod-handler-mode) => _type_source
Set up the joint-mod for the given mode. You can only pick one mode at a time.
set-target!(obj: joint-mod, target-trans: vector) => nonesource
Set the joint-mod to look-at if we aren't in a mode, and look at the given target-trans.
look-at-enemy!(obj: joint-mod, target-trans: vector, option: symbol, proc: process) => nonesource
Set up animation for Jak looking at an enemy. If option is 'attacking, remember when this happened.
Will only override an existing look-at if this one is closer, or option is 'force.
reset-blend!(obj: joint-mod) => _type_source
Reset the blend to 0.
set-twist!(obj: joint-mod, x: float, y: float, z: float) => vectorsource
Set the twist. You can use #f to not change the current value.
set-trs!(obj: joint-mod, trans: vector, rot: quaternion, scale: vector) => nonesource
Set the translation, rotation, and scale.
shut-down!(obj: joint-mod) => nonesource
Shut down and set the blend to zero.

joint-mod-blend-local

joint-mod-blend-local: basicsource
Fields
type: type
transform: transformq
blend-transform: transformq
node-index: int32
blend: float
enable: basic

joint-mod-set-local

joint-mod-set-local: basicsource
Fields
type: type
transform: transformq
set-rotation: symbol
set-scale: symbol
set-translation: symbol
enable: symbol

joint-mod-set-world

joint-mod-set-world: basicsource
Fields
type: type
transform: transformq
node-index: int32
enable: basic

joint-mod-spinner

joint-mod-spinner: basicsource
Fields
type: type
spin-axis: vector
angle: float
spin-rate: float
enable: basic

joint-mod-wheel

joint-mod-wheel: basicsource
Fields
type: type
last-position: vector
angle: float
process: process-drawable
wheel-radius: float
wheel-axis: int8

try-to-look-at-info

try-to-look-at-info: basicsource
Fields
type: type
who: handle
horz: float
vert: float

Functions


joint-mod-blend-local-callback

joint-mod-blend-local-callback(arg0: cspace, arg1: transformq) => nonesource

joint-mod-debug-draw

joint-mod-debug-draw(mod: joint-mod) => nonesource

joint-mod-joint-set*-handler

joint-mod-joint-set*-handler(arg0: cspace, arg1: transformq) => nonesource

joint-mod-joint-set-handler

joint-mod-joint-set-handler(arg0: cspace, arg1: transformq) => nonesource

joint-mod-look-at-handler

joint-mod-look-at-handler(csp: cspace, xform: transformq) => nonesource
Update bone transforms for look-at

joint-mod-rotate-handler

joint-mod-rotate-handler(arg0: cspace, arg1: transformq) => nonesource

joint-mod-set-local-callback

joint-mod-set-local-callback(arg0: cspace, arg1: transformq) => nonesource

joint-mod-set-world-callback

joint-mod-set-world-callback(arg0: cspace, arg1: transformq) => nonesource

joint-mod-spinner-callback

joint-mod-spinner-callback(arg0: cspace, arg1: transformq) => nonesource

joint-mod-wheel-callback

joint-mod-wheel-callback(arg0: cspace, arg1: transformq) => nonesource

joint-mod-world-look-at-handler

joint-mod-world-look-at-handler(arg0: cspace, arg1: transformq) => nonesource

Variables


*joint-axis-vectors*

*joint-axis-vectors*: inline-arraysource

last-try-to-look-at-data

last-try-to-look-at-data: try-to-look-at-infosource

Functions


create-interpolated-joint-animation-frame

create-interpolated-joint-animation-frame(arg0: inline-array, arg1: int, arg2: process-drawable) => intsource

cspace-calc-total-matrix!

cspace-calc-total-matrix!(arg0: cspace, arg1: matrix) => matrixsource

cspace<-cspace!

cspace<-cspace!(arg0: cspace, arg1: cspace) => matrixsource

cspace<-matrix-joint!

cspace<-matrix-joint!(arg0: cspace, arg1: matrix) => matrixsource

cspace<-matrix-no-push-joint!

cspace<-matrix-no-push-joint!(arg0: cspace, arg1: joint-control) => matrixsource

cspace<-parented-matrix-joint!

cspace<-parented-matrix-joint!(arg0: cspace, arg1: matrix) => matrixsource

cspace<-rot-yxy!

cspace<-rot-yxy!(arg0: cspace, arg1: transform) => matrixsource

cspace<-transform-yxy!

cspace<-transform-yxy!(arg0: cspace, arg1: transform) => matrixsource

cspace<-transformq!

cspace<-transformq!(arg0: cspace, arg1: transformq) => matrixsource

cspace<-transformq+trans!

cspace<-transformq+trans!(arg0: cspace, arg1: transformq, arg2: vector) => matrixsource

cspace<-transformq+world-trans!

cspace<-transformq+world-trans!(arg0: cspace, arg1: transformq, arg2: vector) => matrixsource

flatten-joint-control-to-spr

flatten-joint-control-to-spr(arg0: joint-control) => intsource
Take the current state of the given joint-control and upload it to the scratchpad
in the format that will be understood by the joint animation decompressor.

jacc-mem-usage

jacc-mem-usage(arg0: joint-anim-compressed-control, arg1: memory-usage-block, arg2: int) => joint-anim-compressed-controlsource

joint-anim-inspect-elt

joint-anim-inspect-elt(arg0: joint-anim, arg1: float) => joint-animsource
Inspect a single element in a joint anim. The float is rounded to an int.

joint-anim-login

joint-anim-login(arg0: joint-anim-drawable) => joint-anim-drawablesource

joint-control-channel-eval

joint-control-channel-eval(arg0: joint-control-channel) => nonesource
Run the joint control num-func callback, remember the current time

joint-control-channel-eval!

joint-control-channel-eval!(arg0: joint-control-channel, arg1: function) => nonesource
Set the joint control num-func, and evaluate it.

joint-control-channel-group!

joint-control-channel-group!(arg0: joint-control-channel, arg1: art-joint-anim, arg2: function) => intsource
Set the joint control num-func and maybe update the anim.

joint-control-channel-group-eval!

joint-control-channel-group-eval!(arg0: joint-control-channel, arg1: art-joint-anim, arg2: function) => intsource
Set the joint control num-func, maybe update the anim, and maybe evaluate it.

joint-control-copy!

joint-control-copy!(arg0: joint-control, arg1: joint-control) => joint-controlsource
Copy one joint control to another.

joint-control-remap!

joint-control-remap!(arg0: joint-control, arg1: art-group, arg2: art-group, arg3: pair, arg4: int, arg5: string) => objectsource

make-joint-jump-tables

make-joint-jump-tables() => intsource

matrix-from-control!

matrix-from-control!(arg0: matrix-stack, arg1: joint, arg2: joint-control, arg3: symbol) => matrixsource

matrix-from-control-channel!

matrix-from-control-channel!(arg0: matrix, arg1: joint, arg2: joint-control-channel) => matrixsource

matrix-from-control-pair!

matrix-from-control-pair!(arg0: matrix, arg1: matrix, arg2: joint) => matrixsource

matrix-from-joint-anim-frame

matrix-from-joint-anim-frame(arg0: joint-anim-compressed-control, arg1: int, arg2: int) => matrixsource

mspace-h

source

Types


bone

bone: structuresource
Fields
transform: matrix
position: vector
scale: vector
cache: bone-cache

bone-cache

bone-cache: structuresource
Fields
bone-matrix: uint32
parent-matrix: uint32
dummy: uint32
frame: uint32

cspace

cspace: structuresource
Fields
parent: cspace
joint: joint
joint-num: int16
geo: basic
bone: bone
param0: function
param1: basic
param2: basic
Methods
reset-and-assign-geo!(obj: cspace, arg0: basic) => _type_source

cspace-array

cspace-array: inline-array-classsource
Fields
type: type
length: int32
allocated-length: int32
_data: uint8
data: cspace

joint

joint: basicsource
Fields
type: type
name: string
number: int32
parent: joint
bind-pose: matrix

skeleton

skeleton: inline-array-classsource
Fields
type: type
length: int32
allocated-length: int32
_data: uint8
bones: bone