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.
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.