Types
sparticle-cpuinfo: structuresource
Fields
sprite: sprite-vec-data-2d
adgif: adgif-shader
radius: float
omega: float
vel-sxvel: vector
rot-syvel: vector
fade: rgbaf
acc: vector
rotvel3d: quaternion
vel: vector
accel: vector
scalevelx: float
scalevely: float
friction: float
timer: int32
flags: sp-cpuinfo-flag
flags-s32: sp-cpuinfo-flag-s32
user-int32: int32
user-uint32: uint32
user-float: float
user-pntr: uint32
user-object: basic
user-sprite: sprite-vec-data-2d
sp-func: function
next-time: uint32
next-launcher: basic
cache-alpha: float
valid: uint8
clock-index: uint8
user1-int16: uint16
key-alt: sparticle-launch-state
binding: sparticle-launch-state
data: uint32
datab: int8
dataf: float
datac: uint8
sparticle-launchinfo: structuresource
sparticle-system: basicsource
Fields
type: type
blocks: int32
length: int32
num-alloc: int32
is-3d: basic
flags: uint32
alloc-table: pointer
cpuinfo-table: inline-array
vecdata-table: pointer
adgifdata-table: inline-array
Variables
*sp-60-hz*: symbolsource
Types
sp-field-init-spec: structuresource
Fields
field: sp-field-id
flags: sp-flag
initial-valuef: float
random-rangef: float
random-multf: float
initial-value: int32
random-range: int32
random-mult: int32
func: symbol
tex: texture-id
pntr: pointer
object: basic
sym: symbol
sound: sound-spec
sparticle-birthinfo: structuresource
Fields
sprite: uint32
anim: int32
anim-speed: float
birth-func: basic
joint-ppoint: int32
num-to-birth: float
sound: basic
dataf: float
data: uint32
sparticle-group-item: structuresource
sparticle-launch-control: inline-array-classsource
Fields
type: type
length: int32
allocated-length: int32
_data: uint8
group: sparticle-launch-group
proc: process-drawable
local-clock: int32
fade: float
matrix: int8
state-mode: uint8
state-counter: uint32
last-spawn-frame: int32
last-spawn-time: int32
origin: matrix
center: vector
data: sparticle-launch-state
Methods
initialize(obj: sparticle-launch-control, arg0: sparticle-launch-group, arg1: process) => nonesource
is-visible?(obj: sparticle-launch-control, arg0: vector) => symbolsource
spawn(obj: sparticle-launch-control, arg0: vector) => nonesource
spawn-with-matrix(obj: sparticle-launch-control, arg0: matrix) => nonesource
spawn-with-cspace(obj: sparticle-launch-control, arg0: cspace) => nonesource
kill-and-free-particles(obj: sparticle-launch-control) => nonesource
kill-particles(obj: sparticle-launch-control) => nonesource
sparticle-launch-group: basicsource
sparticle-launch-state: structuresource
Fields
group-item: sparticle-group-item
flags: sp-launch-state-flags
randomize: uint16
center: vector
sprite3d: sprite-vec-data-3d
sprite: sparticle-cpuinfo
offset: uint32
accum: float
spawn-time: uint32
control: sparticle-launch-control
swarm: basic
seed: uint32
time: uint32
spec: basic
id: uint32
sparticle-launcher: basicsource
Fields
type: type
birthaccum: float
soundaccum: float
init-specs: inline-array
Methods
get-field-spec-by-id(obj: sparticle-launcher, arg0: sp-field-id) => sp-field-init-specsource
Returns the sp-field-init-spec that has the matching sp-field-id
setup-user-array(obj: sparticle-launcher, arg0: string) => nonesource
Variables
Types
particle-adgif-cache: basicsource
sp-launch-queue: basicsource
sp-launch-stack: structuresource
Fields
ra: basic
dummy0: basic
dummy1: basic
b-spfic: basic
r16: uint128
r17: uint128
r18: uint128
pos: uint128
matrix: matrix
l-spfic: basic
birth-info: sparticle-birthinfo
sprite: sprite-vec-data-2d
r19: uint128
r20: uint128
r21: uint128
r22: uint128
sp-queued-launch-particles: structuresource
Functions
birth-func-camera-orient(arg0: int, arg1: sparticle-cpuinfo, arg2: sparticle-launchinfo) => nonesource
birth-func-copy-omega-to-z(arg0: sparticle-system, arg1: sparticle-cpuinfo, arg2: sprite-vec-data-3d, arg3: sparticle-launcher, arg4: sparticle-launch-state) => nonesource
birth-func-copy-rot-color(arg0: sparticle-system, arg1: sparticle-cpuinfo, arg2: sprite-vec-data-3d, arg3: sparticle-launcher, arg4: sparticle-launch-state) => nonesource
birth-func-copy2-rot-color(arg0: sparticle-system, arg1: sparticle-cpuinfo, arg2: sprite-vec-data-3d, arg3: sparticle-launcher, arg4: sparticle-launch-state) => nonesource
birth-func-ocean-height(arg0: sparticle-system, arg1: sparticle-cpuinfo, arg2: matrix) => nonesource
birth-func-random-next-time(arg0: sparticle-system, arg1: sparticle-cpuinfo, arg2: sprite-vec-data-3d, arg3: sparticle-launcher, arg4: sparticle-launch-state) => nonesource
birth-func-set-quat(arg0: int, arg1: sparticle-cpuinfo, arg2: sparticle-launchinfo) => nonesource
birth-func-set-vel(arg0: object, arg1: sparticle-cpuinfo, arg2: sparticle-launchinfo) => nonesource
birth-func-texture-group(arg0: int, arg1: sparticle-cpuinfo, arg2: sparticle-launchinfo) => nonesource
birth-func-y->userdata(arg0: sparticle-system, arg1: sparticle-cpuinfo, arg2: matrix) => nonesource
check-drop-group-center(arg0: sparticle-system, arg1: sparticle-cpuinfo, arg2: sparticle-launchinfo) => nonesource
check-ground-bounce(arg0: sparticle-system, arg1: sparticle-cpuinfo, arg2: sparticle-launchinfo) => floatsource
execute-part-engine() => nonesource
lookup-part-group-by-name(arg0: string) => sparticle-launch-groupsource
Iterate through the part-group-id-table and return the matching [[sparticle-launch-group]], or #f otherwise
lookup-part-group-pointer-by-name(arg0: string) => pointersource
Similar to lookup-part-group-by-name but returns a pointer instead
part-group-pointer?(arg0: pointer) => symbolsource
Verifies if the given pointer, points to a sparticle-launch-group
particle-adgif-cache-flush() => nonesource
Clear particle-adgif-cache
particle-adgif-callback(arg0: adgif-shader, arg1: texture-id) => nonesource
Callback to update the adgif of a particle, keeping only alpha and clamp.
This is new for jak 2.
There is some funny stuff going on with vf16 - vf20, but it seems like this function just
preserves those registers (which particle-adgif likely clobbers) so this doesn't clobber
registers used by particle system, which it assumes are preserved across callbacks.