Files
jak-project/docs/jak1_cleanup_inputs/method_names.jsonc
T
2026-06-30 23:15:51 -04:00

2018 lines
76 KiB
JSON

{
"(method 0 actor-link-info)": [
"new",
"Create an `actor-link-info` which caches the `next` and `prev` lookups, \nallowing fast iteration through an actor list."
],
"(method 0 align-control)": [
"new",
"Construct a new `align-control` for the given process."
],
"(method 0 joint-anim-frame)": [
"new",
"Allocate `joint-anim-frame` with enough room for `matrix-count`, including the two built-in align, prejoint matrices."
],
"(method 0 string)": [
"new",
"Create a new string which can hold `len` characters, not including null terminator.\nCopies from `copy-from` if provided, picking the maximum size between `len` and `copy-from`."
],
"(method 10 actor-link-info)": [
"actor-count-before",
"Return the index of this actor"
],
"(method 10 align-control)": [
"align!",
"Adjust the `root` of the given `proces-drawable` based on the animation of the `align` matrix.\nThe scale factors are multipliers for velocity and typically `1`."
],
"(method 10 baby-spider-spawn-params)": [
"set-delay!",
"Set the automatic death delay"
],
"(method 10 cam-index)": [
"point->parameter",
"Project a world point onto the index and return its normalized 0..1 position along it."
],
"(method 10 cavecrystal-light-control)": [
"light-intensity-at",
"return the max distance-attenuated crystal light intensity at probe-pos (w = radius), clamped to 2.0"
],
"(method 10 effect-control)": [
"do-effect",
"Dispatch a single named effect: send event, spawn particles/part-trackers, play sounds, or trigger death."
],
"(method 10 rigid-body)": [
"integrate!",
"advance the simulation by dt: update momentum, velocity, position and rotation from force/torque"
],
"(method 10 swamp-blimp-oscillator)": [
"update!",
"step the 3D spring oscillator one frame toward target+offset (vel clamp + damping)"
],
"(method 10 swamp-rope-oscillator)": [
"update!",
"step the 1D spring oscillator one frame toward target+offset (vel clamp + damping)"
],
"(method 10 tippy)": [
"update-tip!",
"Damped tip/wobble: lean proc's quat toward target-pos (or decay when #f); #t while moving."
],
"(method 10 torus)": [
"prim-overlaps?",
"#t if the prim's world-sphere overlaps the torus tube; writes the closest-axis delta into out-delta."
],
"(method 10 tracking-spline)": [
"reset!",
"Clear the breadcrumb trail to a single point and rebuild the free-list chain over all 32 slots."
],
"(method 10 vehicle-controller)": [
"record-turning-sample!",
"measure the turn rate at one speed index and store its radius and throttle"
],
"(method 10 water-control)": [
"update-water-state!",
"Per-frame: update water heights and drive swim/wade/under-water flags, splash/drip particles."
],
"(method 11 actor-link-info)": [
"link-to-next-and-prev-actor",
"Look up the previous and next actors in the list and cache them in this `actor-link-info`."
],
"(method 11 align-control)": [
"align-with-external-travel!",
"This method is intended to take an animation of walking or travel and re-align it to point in a different\ndirection, for example, to steer a creature along a path. The vertical movement is taken directly from\nthe animation's `align` matrix, but the horizontal xz movement is set from the `xz-travel` vector, a per-\nframe position increment. The speed is limited to the speed of the original animation. The velocity scale\nfactors apply to the original animation (either y velocity, or the xz limit derived from the animation)"
],
"(method 11 effect-control)": [
"do-effect-for-surface",
"Resolve a surface-dependent footstep/poof effect (sound or particle group) from the pat material."
],
"(method 11 nav-control)": [
"navigate!",
"top-level per-frame nav update: relocalize, gather spheres, compute travel, fire events"
],
"(method 11 torus)": [
"target-overlaps?",
"#t if any of *target*'s collide prims overlaps the torus tube; writes the hit delta into out-delta."
],
"(method 11 twister)": [
"update-twist!",
"seek last joint toward target, then propagate twist down chain clamped by each joint's max-dry"
],
"(method 11 vehicle-controller)": [
"dump-tables",
"print the calibrated turning-radius and throttle-control tables as source to the console"
],
"(method 11 vol-control)": [
"should-display?",
"returns truthy if this volume's debug marks should be displayed"
],
"(method 12 actor-link-info)": [
"get-next",
"Return the next actor in the list, or #f."
],
"(method 12 align-control)": [
"first-transform",
"Get the most recent `align` matrix as a transform."
],
"(method 12 cavecrystal-light-control)": [
"prune-dead-lights!",
"once per frame: init the crystal array, or prune crystals whose source process is gone"
],
"(method 12 effect-control)": [
"play-effect-sound",
"Build a sound-spec from effect-param res data and play it at the effect joint."
],
"(method 12 nav-control)": [
"find-gap-landing",
"find the non-gap poly across a gap and where to jump to (fills nav-gap-info)"
],
"(method 12 path-control)": [
"get-tangent-at-vertex!",
"Store in `ret` the normalized tangent (direction) of the path at vertex index `idx`."
],
"(method 12 torus)": [
"random-surface-point",
"generate a random point on the torus surface into out-point and return it."
],
"(method 12 tracking-spline)": [
"print-all-points",
"Print every used point of the spline (walks the linked list to the terminator)."
],
"(method 12 twister)": [
"apply-twist-to-bones!",
"apply each joint's twist (ry) to the matching bone transforms about the process root"
],
"(method 12 vehicle-controller)": [
"set-dest-point!",
"set the destination path point and build the steering arc-circle from cur-pos"
],
"(method 12 wobbler)": [
"tilt-quaternion!",
"set out-quat to a tilt leaning in the wobble direction, angle scaled by wobble offset magnitude over height"
],
"(method 13 actor-link-info)": [
"get-prev",
"Return the previous actor in the list, or #f"
],
"(method 13 align-control)": [
"snd-transform",
"Get the previous `align` matrix as a transform."
],
"(method 13 nav-control)": [
"compute-travel",
"path-following: build this frame's travel toward a destination along the route"
],
"(method 13 rigid-body)": [
"apply-force-at-point!",
"add a world-space force applied at a world point, accumulating force and torque"
],
"(method 13 tracking-spline)": [
"delete-point!",
"Remove the breadcrumb after the given index, return its slot to the free-list, and re-stitch the segment."
],
"(method 14 actor-link-info)": [
"get-next-process",
"Get the process of the next entity. If there is no next entity, or that entity is not spawned, return #f."
],
"(method 14 collide-edge-work)": [
"nearest-grab-edge-dist",
"Find the grabbable edge on the given tri prim closest to test-pt; store the closest point in out-pt and return that distance."
],
"(method 14 collide-mesh)": [
"transform-verts-1-matrix!",
"Transform all verts by one matrix, writing float+int copies to output (unused/vestigial dead code)."
],
"(method 14 effect-control)": [
"play-effects-from-res-lump",
"Walk effect-name tags and run do-effect for each one inside the frame window."
],
"(method 14 level-hint)": [
"print-text",
"Display hint text on screen."
],
"(method 14 path-control)": [
"get-tangent-at-percent!",
"Store in `ret` the normalized path tangent at the given fraction `percent` (0..1) along the path."
],
"(method 14 rigid-body)": [
"apply-local-force-at-local-point!",
"apply a force given in body-local space at a body-local point"
],
"(method 14 snow-ball)": [
"compute-junction-times!",
"Fill the junction array with enter/exit times a roller will reach along the path."
],
"(method 14 tracking-spline)": [
"advance-used-point!",
"Move the live-trail head forward to the sampler cursor, freeing every breadcrumb passed and updating summed-len."
],
"(method 14 vehicle-controller)": [
"compute-target-point",
"find the tangent target point on the steering circle for the boat at from-pos"
],
"(method 15 actor-link-info)": [
"get-prev-process",
"Get the process of the previous entity. If there is no previous entity, or that entity is not spawned, return #f."
],
"(method 15 collide-mesh)": [
"transform-verts-2-matrix!",
"Transform all verts by two matrices (float via mat1, int/ftoi via mat2) to output (unused/vestigial dead code)."
],
"(method 15 rigid-body)": [
"apply-force!",
"add a world-space force at the center of mass (no torque contribution)"
],
"(method 15 snow-ball)": [
"junctions-clear?",
"#t if the proposed junction times don't conflict with any active roller's junctions."
],
"(method 15 tracking-spline)": [
"prune-most-collinear!",
"Find the interior breadcrumb on the straightest stretch and delete it to free a slot with minimal shape change."
],
"(method 15 vehicle-controller)": [
"drive!",
"per-frame auto-pilot update: advance the path and set throttle and steering for the boat"
],
"(method 15 water-control)": [
"enter-water!",
"On first contact with water: set touch-water flag, record entry pos/time, spawn entry splash."
],
"(method 16 actor-link-info)": [
"apply-function-forward",
"Apply `func` to each actor in the list after this one, stopping when the function returns a truthy value."
],
"(method 16 nav-control)": [
"find-poly-fast-from-world",
"find-poly-fast for a world-space point (converts to mesh-local)"
],
"(method 16 nav-mesh)": [
"clip-travel-vector-to-mesh",
"ray-walk & clip a travel vector so it stays on the mesh (slide or stop)"
],
"(method 16 rigid-body)": [
"apply-force-at-point-clamped!",
"like apply-force-at-point! but clamp the torque lever arm to max-arm"
],
"(method 16 seagullflock)": [
"heading-to-target",
"Return the heading angle from the given bird toward the flock's current path target."
],
"(method 16 tracking-spline)": [
"prune-shallow-points!",
"Delete interior breadcrumbs whose length-weighted straightness falls under the budget."
],
"(method 16 vehicle-controller)": [
"debug-draw",
"draw the path, the current steering circle, and the target point for debugging"
],
"(method 16 water-control)": [
"exit-water!",
"On leaving water: clear touch-water flag and stop the bob/smush."
],
"(method 17 actor-link-info)": [
"apply-function-reverse",
"Apply `func` to each entity-actor in the list before this one, stopping when the function returns a truthy value."
],
"(method 17 drawable-ambient)": [
"collect-ambients",
"Call this function on the first `drawable-ambient` in an `(inline-array drawable-ambient)` to collect\na list of all ambients that overlap the `collection-range` sphere.\nThis is a clever trick to avoid virtual dispatch per-element."
],
"(method 17 drawable-inline-array-ambient)": [
"collect-ambients",
"Collect all ambients intersecting the given sphere into the list."
],
"(method 17 drawable-tree-ambient)": [
"collect-ambients",
"Collect all ambients overlapping the given sphere in this tree into the given list."
],
"(method 17 rigid-body)": [
"velocity-at-point",
"compute the world velocity at a given world point (linear + angular contribution)"
],
"(method 17 tracking-spline)": [
"add-point!",
"Append a breadcrumb to the tail if far enough from the last; optionally prune and recycle a slot."
],
"(method 18 actor-link-info)": [
"apply-all",
"Apply `func` to all actors in the list, starting at the beginning of the list.\n`this` doesn't have to be the first actor in the list. Stops when `func` returns a non-truthy value."
],
"(method 18 drawable-ambient)": [
"execute-ambient",
"Run the logic for this ambient."
],
"(method 18 nav-mesh)": [
"build-route-table-recursive",
"flood-fill that records reachable polys into the route table"
],
"(method 18 rigid-body)": [
"get-origin-position",
"compute the body's render origin (position minus the rotated cm-offset joint) into out-position"
],
"(method 18 tracking-spline)": [
"accumulate-sample!",
"Walk arc-length forward from the sampler cursor and ADD the resulting trail position into the output vector."
],
"(method 19 actor-link-info)": [
"send-to-all",
"Send a 0-parameter message to all actors in the list,\neven if the provided actor-link-info isn't from the first actor"
],
"(method 19 nav-control)": [
"steer-toward-point",
"turn-rate-limited heading toward a goal, validating the step stays on mesh"
],
"(method 19 path-control)": [
"get-closest-vertex-index-to-target",
"Return the `vertex-index.interp` position on the path closest (in XZ) to the player's target."
],
"(method 19 tracking-spline)": [
"sample-point!",
"Reset the output then sample the single trail position arc-length forward from the sampler cursor."
],
"(method 20 actor-link-info)": [
"send-to-all-after",
"`send-event!` with a 0 parameter message to all actors after the given actor."
],
"(method 20 balloonlurker-pilot)": [
"init-collision!",
"create and configure the moving collide-shape (single sphere prim) for the pilot"
],
"(method 20 baseplat)": [
"spawn-part!",
"spawn the platform's particle group at root trans if part is set"
],
"(method 20 blue-eco-charger)": [
"target-near-with-blue-eco?",
"true if target is within range and currently has blue eco"
],
"(method 20 blue-eco-charger-orb)": [
"randomize-target-orbit-rotv!",
"pick a new random per-axis target orbit angular velocity, scaled by open-level"
],
"(method 20 bully)": [
"update-spin-velocity!",
"set travel velocity from heading/speed, bounce off walls/mesh boundaries, apply gravity"
],
"(method 20 cave-trap)": [
"try-spawn-baby-spider",
"Pick the best nearby alt-actor vent/egg and spawn a baby-spider there."
],
"(method 20 caveelevator)": [
"update-bounce!",
"once per frame, apply the smush bounce offset to the elevator's y position"
],
"(method 20 citb-sagecage)": [
"init-collision!",
"Build and attach the cage's moving collide-shape (root prim sphere)."
],
"(method 20 dark-crystal)": [
"damage-target-in-blast-radius!",
"if the player is within the danger radius with clear line of sight, deal an attack to them"
],
"(method 20 driller-lurker)": [
"update-movement-and-drill!",
"Per-frame: advance along path, face/aim, spin drill, manage drill sound and neck look-at."
],
"(method 20 drop-plat)": [
"setup-collision!",
"build the moving collide-shape (single sphere mesh prim, rider) and install it as root"
],
"(method 20 exit-chamber)": [
"bob-on-waves!",
"bob the chamber's y position sinusoidally around its original trans, scaled by wave-scale"
],
"(method 20 flutflutegg)": [
"apply-hit-impulse!",
"apply a velocity + x/y wobble impulse to the egg when hit, rate-limited to once per 0.5s"
],
"(method 20 flying-lurker)": [
"update-shadow!",
"probe ground below the lurker, set shadow planes, and grow draw-bounds to fit shadow"
],
"(method 20 gnawer)": [
"copy-segment-from-prev!",
"Copy the previous segment's world-pos and orient-mat into this segment."
],
"(method 20 joint-exploder)": [
"add-joint!",
"Push the joint at joint-idx onto the head of the list's doubly-linked list."
],
"(method 20 junglesnake)": [
"update-tracking-and-twist!",
"seek body yaw toward player and propagate twist down the joints"
],
"(method 20 lurkerworm)": [
"aim-at-target!",
"Each frame, sway the worm body toward the player and seek the head-tilt to the vertical angle to target."
],
"(method 20 mother-spider)": [
"find-baby-spawn-spot?",
"pick a nav-mesh spot near the spider for a baby/egg, return its ground pos and normal"
],
"(method 20 orbit-plat-bottom)": [
"point-jet-streak!",
"aim/scale the jet-streak particle along the line from from-point to to-point"
],
"(method 20 path-control)": [
"get-closest-percent-to-target",
"Return the fraction (0..1) along the path of the point closest to the player's target."
],
"(method 20 puffer)": [
"travel-to-point!",
"Navigate toward dest, steering around mesh boundaries/nav spheres and updating travel/facing."
],
"(method 20 ram)": [
"spawn-wall-hit-particles!",
"spawn the wall-impact dust burst in front of the ram on slam"
],
"(method 20 rigid-body)": [
"print-force-torque",
"print only the current force and torque vectors"
],
"(method 20 snow-gears)": [
"spawn-drip-particles",
"Spawn the dripping-water particle group above the gears each frame while running."
],
"(method 20 steam-cap)": [
"shove-target-off!",
"If the player is riding/near the rising cap, shove them off."
],
"(method 20 sunken-pipegame)": [
"build-completed-challenges-mask",
"return a 3-bit mask of which pipe prizes are already collected/done"
],
"(method 20 sunkenfisha)": [
"reverse-path-direction!",
"flip path-dir, reset speed, pick new target speed/turn-time and adjust offset"
],
"(method 20 swamp-bat-slave)": [
"get-path-position",
"current position along the path curve (sync phase scaled by path-point-count)"
],
"(method 20 swamp-rat-nest-dummy)": [
"init-collision-and-skeleton!",
"Build this subtype's collide-shape and initialize its skeleton."
],
"(method 20 swamp-rope)": [
"still-tethered?",
"#t while the rope's other entity exists and its task still needs a reminder"
],
"(method 20 tracking-spline)": [
"apply-trail-correction!",
"Nudge the proposed camera move sideways toward the breadcrumb trail (rubber-band corner-hugging)."
],
"(method 20 whirlpool)": [
"swirl-target!",
"pull and spin the player toward the whirlpool center when within range"
],
"(method 20 yeti)": [
"find-slave-spawn-point!",
"Search path curve points for a spot far from existing slaves/target; write spawn pos and facing dir to outputs. Returns #t if found."
],
"(method 21 actor-link-info)": [
"send-to-all-before",
"`send-event!` with a 0 parameter message to all actors before the given actor."
],
"(method 21 balloonlurker-pilot)": [
"init-skeleton!",
"initialize the pilot's skeleton and set its render origin joint"
],
"(method 21 baseplat)": [
"init-platform!",
"mark skeleton inited, snapshot root trans into basetrans, clear bouncing"
],
"(method 21 blue-eco-charger)": [
"notify-master!",
"tell the master exit-chamber this charger turned on (1) or off (2), with its charger-id"
],
"(method 21 caveelevator)": [
"update-draw-bounds!",
"set draw bounds offset from root to joint 3 with radius 17408"
],
"(method 21 citb-base-plat)": [
"setup-collision!",
"build the moving collide-shape (ground-object prim) and install it as root"
],
"(method 21 citb-disc)": [
"init-skel!",
"init the disc skeleton (base stub; overridden per variant)"
],
"(method 21 citb-generator)": [
"setup!",
"init skeleton/lods, mushroom config, particles and ambient sound"
],
"(method 21 citb-sagecage)": [
"init-cage!",
"Init skeleton, bar particle positions, ambient sound and bar/clone state."
],
"(method 21 dark-crystal)": [
"record-destroyed-and-all-done?",
"mark this crystal destroyed in the task reminder; return #t if it was the last of the six"
],
"(method 21 drop-plat)": [
"init-skeleton-and-spin!",
"init the skeleton for this color variant and pick a random tumble spin axis/speed"
],
"(method 21 exit-chamber)": [
"compute-item-placements!",
"fill exit-chamber-items with door/button/fcell positions and quats from the chamber bone"
],
"(method 21 final-door)": [
"setup-skeleton!",
"Initialize the door's skeleton with the subtype-specific skeleton group."
],
"(method 21 gnawer)": [
"place-segment-along-route!",
"Position one segment at route distance, set its orient-mat, and grow the bounding box."
],
"(method 21 helix-water)": [
"consume-next-alt-actor!",
"As the water rises, kill/disable the next alt-actor once the water level reaches it."
],
"(method 21 joint-exploder)": [
"grow-bbox!",
"Expand the list's bounding box to contain the joint's current position and previous position."
],
"(method 21 junglesnake)": [
"init-tilt-joints!",
"initialize the 3 head tilt-joints and flag the head twist/tilt joints"
],
"(method 21 mother-spider)": [
"hit-from-dir!",
"push swing toward hit-dir; if do-damage?, spin/detach legs and report if fully damaged"
],
"(method 21 nav-control)": [
"find-poly-fast-at",
"find-poly-fast for a world-space point (identical to method 16)"
],
"(method 21 puffer)": [
"setup-collision!",
"Build the puffer's moving collide-shape with head/mouth/tail prim spheres."
],
"(method 21 ram)": [
"spawn-wheel-puffs!",
"spawn dust puffs at both sides of both rear wheels during the slam"
],
"(method 21 rigid-body)": [
"update-matrix!",
"rebuild the orientation matrix from rotation and refresh the world origin"
],
"(method 21 steam-cap)": [
"update-motion!",
"Per-frame: drive the 3 control points up/down by phase, spawn steam/sound, orient root."
],
"(method 21 sunken-pipegame)": [
"set-actor-pause!",
"set/clear the actor-pause process-mask on self and all child processes"
],
"(method 21 sunkenfisha)": [
"get-path-point-with-offset",
"world point on path at u, plus trans-offset and tangent-aligned local-offset"
],
"(method 21 swamp-rat-nest-dummy)": [
"init-spawn-joints!",
"Fill this subtype's spawn-joint array and particle/death config; return particle spawn joint."
],
"(method 21 tracking-spline)": [
"follow-update!",
"Per-frame trail follower: rate-govern crawl speed/sample width, box-average, rubber-band correct, write the smoothed position."
],
"(method 22 actor-link-info)": [
"send-to-next-and-prev",
"Send a 0-parameter message to the next and previous actor."
],
"(method 22 baseplat)": [
"bounce!",
"start a smush bounce, set bouncing, and wake the platform from sleep"
],
"(method 22 citb-base-plat)": [
"setup-skeleton!",
"initialize the skeleton/skelgroup for this platform"
],
"(method 22 gnawer)": [
"update-segments!",
"Place all segments along the route at the given distance; return #t when at the destination."
],
"(method 22 joint-exploder)": [
"collide-joints!",
"Probe each joint in the list against background collision and bounce it off any surface it hits."
],
"(method 22 junglesnake)": [
"init-twist-joints!",
"initialize the 24 body twist-joints with joint indices, base yaw, and drag deltas"
],
"(method 22 mistycannon)": [
"fire!",
"Fire the cannon: compute launch velocity from aim, spawn the missile, and reset aim."
],
"(method 22 mother-spider)": [
"aim-thread-segment!",
"build orthonormal basis in mat with z-axis pointing from mat's origin toward target-pos"
],
"(method 22 nav-control)": [
"point-on-mesh-below?",
"is the world point on the mesh and below origin-y + y-tolerance?"
],
"(method 22 puffer)": [
"buddy-nearby?",
"True if this puffer's buddy process is alive and within xz patrol distance."
],
"(method 22 ram)": [
"complete-ram-task!",
"mark this ram complete, update reminder tasks, return whether to give the fuel cell"
],
"(method 22 rigid-body)": [
"reset!",
"reset the body to the given position/rotation, clearing momentum, velocity and inertia state"
],
"(method 22 rigid-body-platform)": [
"float-height-at",
"Return the height (w component) the platform should float to at the given position/time. Base rigid-body-platform samples the water/ocean surface plus float-height-offset; citb-chain-plat returns a bobbing offset above its original anchor height."
],
"(method 22 seagull)": [
"set-glide-sink-velocity!",
"Set a fixed downward velocity used while soaring/gliding."
],
"(method 22 snow-ball-roller)": [
"attack-target!",
"Bounce the ball up and shove the given process away with an attack event."
],
"(method 22 sunken-pipegame)": [
"set-active-prize-collision!",
"enable (restore) or disable (clear) collision on the currently-playing prize"
],
"(method 22 sunkenfisha)": [
"dummy-update!",
"empty per-frame/update stub (does nothing on the base type)"
],
"(method 22 tracking-spline)": [
"trim-to-length!",
"If the live trail exceeds the max length, advance the head to drop the oldest breadcrumbs until it fits."
],
"(method 22 water-vol)": [
"setup-water!",
"Initialize this water volume: base water-vol is a stub; water-anim sets up the skeleton/animation and ambient sound, and level subtypes add ripple/tint configuration."
],
"(method 23 actor-link-info)": [
"send-to-next",
"Send a 0-parameter message to the next actor if it is alive."
],
"(method 23 driller-lurker)": [
"update-player-path-u",
"Project the player onto the lurker's path and cache/return the player's path-u (once per frame)."
],
"(method 23 exit-chamber)": [
"reposition-items!",
"update bounds and move door/button/player (and fcell if move-fcell-too?) to follow the chamber"
],
"(method 23 gnawer)": [
"hide!",
"Hide the gnawer, disable its collision, and park all segments at the post."
],
"(method 23 joint-exploder)": [
"init-joints!",
"Initialize every exploder joint's matrices and launch velocity, then seed the first list with all joints."
],
"(method 23 junglesnake)": [
"enable-lethal!",
"make the snake lethal by clearing the head prim's solid action"
],
"(method 23 mistycannon)": [
"spawn-muzzle-part!",
"Update muzzle-flash particle angles from aim and spawn them for 3s after firing."
],
"(method 23 mother-spider)": [
"update-physics!",
"advance thread distance, swing position/velocity (with wall bounce) and spin, then set trans/quat"
],
"(method 23 nav-control)": [
"check-vector-collision-with-nav-spheres",
"nearest forward sphere hit along a travel direction"
],
"(method 23 nav-mesh)": [
"clip-travel-to-poly",
"clip a travel vector to a single poly's edges, recording the exit neighbor"
],
"(method 23 puffer)": [
"pick-patrol-point!",
"Choose a new patrol dest-pos; if away-from-buddy, pick the path point facing away from the buddy."
],
"(method 23 rigid-body-platform)": [
"accumulate-forces!",
"For one physics tick: update each control point's world position/velocity, accumulate buoyancy+drag forces, then apply gravity and player forces to the rigid body. Subclass overrides call the parent and then add a centering/tether pull toward an anchor."
],
"(method 23 sunkenfisha)": [
"update-facing-rotation!",
"smooth facing-rot toward velocity pitch/yaw and write root quat"
],
"(method 23 tracking-spline)": [
"debug-draw",
"Draw debug viz of the spline: crosses at endpoint samples, lines between points, output velocity."
],
"(method 24 actor-link-info)": [
"send-to-prev",
"Send a 0-parameter message to the actor before this actor."
],
"(method 24 baseplat)": [
"setup-collision!",
"build the moving collide-shape and install it as root"
],
"(method 24 citb-base-plat)": [
"go-initial-state!",
"enter the platform's starting state (idle by default)"
],
"(method 24 driller-lurker)": [
"in-attack-range?",
"#t when the player is close enough (or near the same path position) for the lurker to attack."
],
"(method 24 eco-door)": [
"setup-collision!",
"build the door collide-shape and install it as root"
],
"(method 24 exit-chamber)": [
"spawn-water-drips!",
"launch water-drip particles at a random point on a ring (radius) around the chamber's top bone"
],
"(method 24 gnawer)": [
"pick-route!",
"Pick a random far-apart src/dest path point pair and compute the run route."
],
"(method 24 joint-exploder)": [
"kill-joint!",
"Unlink the joint from the list and collapse its matrix onto the root, returning the next joint index."
],
"(method 24 junglesnake)": [
"disable-lethal!",
"make the snake non-lethal by restoring solid action and pushing the player away"
],
"(method 24 nav-control)": [
"clip-travel-to-mesh",
"wrapper: clip this nav-control's travel vector to the mesh"
],
"(method 24 projectile)": [
"spawn-particles",
"Per-frame update: spawn fly particles at the world sphere, reposition the track sound, and draw a ground shadow."
],
"(method 24 puffer)": [
"point-reachable?",
"True if point is inside the nav mesh and below the puffer's notice ceiling."
],
"(method 24 rigid-body-platform)": [
"apply-buoyancy-and-drag!",
"for one submerged control point, apply buoyancy and drag forces to the body"
],
"(method 24 seagull)": [
"steer-toward-target!",
"Turn toward the flock target, mark waterfall arrival, and update angletan and target-dist."
],
"(method 24 sunkenfisha)": [
"update-local-path-offset!",
"drift local-path-offset toward target, re-randomizing target when reached"
],
"(method 25 actor-link-info)": [
"actor-count",
"Count the total number of actors in an actor list given any actor in the list."
],
"(method 25 baseplat)": [
"setup-part!",
"create the launch-control for the platform's particle group and store it in part"
],
"(method 25 driller-lurker)": [
"should-start-chase?",
"#t when the player is within detection range (and roughly in front), so the lurker should begin chasing."
],
"(method 25 eco-door)": [
"setup-skel-and-params!",
"init skeleton, open/close distances and movement speed"
],
"(method 25 gnawer)": [
"take-damage!",
"Lose up to 3 hit-points, spawn falling segments, speed up; return #t when dead."
],
"(method 25 joint-exploder)": [
"integrate-joints!",
"Step every joint in the list (gravity, rotation, translation) and kill any that fall out of bounds."
],
"(method 25 projectile)": [
"go-moving!",
"Launch the projectile by entering the projectile-moving state."
],
"(method 25 puffer)": [
"should-attack-target?",
"True if the target is attackable, in range/height, and closer than the buddy."
],
"(method 25 rigid-body-platform)": [
"apply-player-force!",
"if the player is impacting/riding, apply the accumulated player force to the body"
],
"(method 25 seagull)": [
"turn-toward-heading!",
"Bank tilt and rotate heading one step toward the given target heading angle."
],
"(method 25 sunkenfisha)": [
"advance-along-path!",
"seek path-speed to target and advance path-u, reversing at the path ends"
],
"(method 25 water-vol)": [
"setup-from-res!",
"Pre-skeleton setup hook: apply res-lump look/trans-offset/rotoffset to root (base no-op)."
],
"(method 26 basebutton)": [
"setup-skel-and-anim!",
"initialize the button's skeleton and pose its anim channel to the up/down (pressed/unpressed) frame"
],
"(method 26 baseplat)": [
"configure-options!",
"post-init tweaks (masks, scale, distances, res-lump options)"
],
"(method 26 driller-lurker)": [
"lost-player?",
"#t when the player is out of chase range (too far/wrong height), so the lurker should give up and patrol."
],
"(method 26 eco-door)": [
"update-locked!",
"set the locked flag from the state-actor's completion status and the door flags"
],
"(method 26 gnawer)": [
"unhide!",
"Un-hide the gnawer, restore collision, and re-enable the joint callback."
],
"(method 26 joint-exploder)": [
"remove-joint!",
"Unlink the joint at joint-idx from the doubly-linked list, returning the next joint index."
],
"(method 26 nav-control)": [
"post-relocalize-hook",
"empty hook called at the end of relocalize (overridden by subclasses)"
],
"(method 26 projectile)": [
"init-proj-collision!",
"Build the projectile's collide-shape-moving + sphere prim, install it as root, and set the process collide masks."
],
"(method 26 puffer)": [
"update-anim!",
"Drive the inflate/deflate look and animation channel based on sync phase and attacking state."
],
"(method 26 rigid-body-platform)": [
"apply-gravity!",
"apply the downward gravity force to the body's center of mass"
],
"(method 26 seagull)": [
"teleport-near-target!",
"Move the bird most of the way to a random point near the flock target and clear the teleport flag."
],
"(method 26 sunkenfisha)": [
"setup-collision-and-skel!",
"build root/trsqv and init skeleton with a random fish color variant"
],
"(method 26 trsqv)": [
"set-and-limit-velocity",
"Set the `transv` to the given velocity, limited to a magnitude of `limit`."
],
"(method 27 basebutton)": [
"setup-collision!",
"build the button's moving collide-shape, install it as root, and return it"
],
"(method 27 battlecontroller)": [
"setup-paths-and-params!",
"read entity res-lump to init fact, spawner paths, creature types, pickups and battle params"
],
"(method 27 driller-lurker)": [
"spawn-drill-debris",
"Spawn the drilling-debris particle group just ahead of the drill bit joint."
],
"(method 27 entity-actor)": [
"next-actor",
"Get the next actor from an entity-actor that is in a linked list of actors."
],
"(method 27 gnawer)": [
"maybe-pick-green-eco-pickup!",
"Based on death-count and target health, maybe mark one pickup slot as green eco."
],
"(method 27 joint-exploder)": [
"split-list!",
"Split the list in half along the given axis at its bbox midpoint, moving one half into a free list and returning it."
],
"(method 27 mother-spider)": [
"unused-hook-27",
"empty/unused virtual-method slot (never called, does nothing)"
],
"(method 27 nav-control)": [
"relocalize-in-mesh!",
"update current-poly by ray-walking from prev-pos to the body's new position"
],
"(method 27 orbit-plat)": [
"reset-step!",
"advance the platform one frame back toward its home position, coordinating orbit/reset with the partner"
],
"(method 27 plat-button)": [
"pose-skeleton!",
"pose the skeleton to the start or end anim frame based on activation, then post"
],
"(method 27 projectile)": [
"init-proj-settings!",
"Set up the mother-spider projectile: parts, speed/turn/tween, attack-mode, target at the player, and fire/track sounds."
],
"(method 27 puffer)": [
"update-vertical-velocity!",
"Update vertical velocity to chase target height (attack) or bob between patrol bounds."
],
"(method 27 rigid-body-platform)": [
"apply-restoring-force!",
"Apply a horizontal restoring force pulling the rigid body back toward target-pos when it has drifted past a threshold distance from its anchor."
],
"(method 27 seagull)": [
"integrate-with-air-bounds!",
"Integrate motion this frame, skipping collision while inside the seagull air boxes and colliding with background otherwise."
],
"(method 27 square-platform)": [
"spawn-water-crossing-effects!",
"spawn splash/bubble particles as the platform crosses the water surface (rising? selects breach vs submerge effects)"
],
"(method 27 sunkenfisha)": [
"setup-path-and-params!",
"read res-lump params and init path, offsets, speeds and initial facing"
],
"(method 27 wedge-plat)": [
"update-tip-state?",
"orbit/rotate the platform around the master's angle; return #t when at the tipping orientation"
],
"(method 28 entity-actor)": [
"prev-actor",
"Get the previous actor from an entity-actor that is in a linked list"
],
"(method 28 entity-ambient)": [
"birth-ambient!",
"\"Birth\" the ambient. This simply resolves data from res-lumps into the runtime formats, looking up names,\nsetting up callback functions, etc."
],
"(method 28 gnawer)": [
"pick-random-free-bit",
"Return a random bit (as mask) in [0,num-bits) that is not set in used-mask, else 0."
],
"(method 28 joint-exploder)": [
"subdivide-list!",
"Recursively split the list along whichever axis exceeds the size threshold until each sub-list is small enough."
],
"(method 28 mother-spider)": [
"unused-hook-28",
"empty/unused virtual-method slot (never called, returns 0)"
],
"(method 28 nav-control)": [
"gather-nav-spheres!",
"rebuild this frame's obstacle-sphere list for the steering planner"
],
"(method 28 orbit-plat)": [
"reset-timeout?",
"#t once timeout elapsed and the player is gone/far/below, so the platform should reset"
],
"(method 28 plat)": [
"reset-timeout?",
"slot for \"should this still platform give up and return home?\"; only overridden by orbit-plat"
],
"(method 28 plat-button)": [
"setup-collision!",
"build the moving collide-shape prim-group and install as root"
],
"(method 28 projectile)": [
"update-target!",
"Per-frame homing: refresh the target point at the player (leading by their velocity) unless they are invulnerable."
],
"(method 28 puffer)": [
"update-shadow!",
"Probe the ground below the puffer and configure shadow clip planes (or hide shadow)."
],
"(method 28 rigid-body-platform)": [
"simulate!",
"detect riders, sample player velocity, and run the fixed-timestep physics simulation loop"
],
"(method 28 ropebridge)": [
"ropebridge-stub-28",
"empty/unused ropebridge-specific method slot; returns 0 and does nothing"
],
"(method 29 basebutton)": [
"notify-event!",
"send an event message to the notify-actor, or to all linked buttons if none"
],
"(method 29 gnawer)": [
"compute-pickup-position!",
"For a path point, compute the pickup spawn position and an outward/upward jump vector."
],
"(method 29 mother-spider)": [
"update!",
"once-per-frame update: run physics, body scale, leg-socket particles, optional shadow and neck-track"
],
"(method 29 rigid-body-platform)": [
"setup-from-constants!",
"initialize the platform and its rigid body from the given constants table"
],
"(method 30 gnawer)": [
"claim-nearest-pickup!",
"Clear the money-mask bit of the pickup point nearest the picker, returning the updated mask."
],
"(method 30 nav-control)": [
"find-deepest-sphere-along-ray",
"return the avoidance sphere the ray overlaps most (or #f)"
],
"(method 30 puffer)": [
"set-small-mouth-collision!",
"Switch to cprims-type 1: small (deflated) mouth collision sphere."
],
"(method 30 rigid-body-platform)": [
"init-collision!",
"Create and configure the moving collide-shape (sphere prim, riders, collide kinds/actions) for the platform and install it as root-overlay."
],
"(method 31 assistant-lavatube-end)": [
"get-art-elem",
"Get default art-element, typically idle animation."
],
"(method 31 plat-button)": [
"setup-skeleton!",
"initialize the exit-plat skeleton/skelgroup"
],
"(method 31 puffer)": [
"set-large-mouth-collision!",
"Switch to cprims-type 2: large (inflated/attack) mouth collision sphere."
],
"(method 31 rigid-body-platform)": [
"init-platform!",
"Per-subclass platform initialization: set up constants, place the control points (typically around a circle) and initialize instance state. citb-chain-plat also inits the skeleton and caches its original transform; ogre-plat resets active/triggered state."
],
"(method 32 assistant-lavatube-end)": [
"play-anim!",
"Play the animation as needed. If `actually-play?` is `#f`, just returns the animation for pre-loading or\nsimilar."
],
"(method 32 nav-control)": [
"avoid-spheres",
"tangent-bug steering: deflect travel around avoidance spheres (#t if deflected)"
],
"(method 32 plat-button)": [
"go-initial-state!",
"start raised if activated, else enter the idle state"
],
"(method 32 rigid-body-platform)": [
"sync-on-state!",
"match this platform's lit state and on-visual to the master's puzzle state, playing on/off sfx"
],
"(method 33 nav-control)": [
"avoid-spheres-and-detect-blocked",
"run avoid-spheres, then flag/fire blocked if travel shrinks"
],
"(method 33 process-taskable)": [
"prefetch-play-anim!",
"Low-priority spool-push of the play-anim so it is loaded before it is needed."
],
"(method 33 rigid-body-platform)": [
"notify-master-ridden!",
"tell the qbert-plat-master that the player just stepped onto this platform"
],
"(method 34 rigid-body-platform)": [
"go-initial-state",
"Enter the platform's initial state. Base rigid-body-platform always goes to rigid-body-platform-idle; ogre-step enters -float if already active, otherwise -idle."
],
"(method 35 nav-control)": [
"avoid-spheres-world",
"like avoid-spheres but takes a world-space start point (converts to local)"
],
"(method 37 nav-enemy)": [
"turn-toward-travel!",
"Seek facing toward target point or travel heading; spin in place when not orienting."
],
"(method 38 nav-enemy)": [
"integrate-and-collide!",
"Move the spider by transv, always snapping to background ground (move-to-ground override)."
],
"(method 38 process-taskable)": [
"goto-post-anim-state!",
"After play-anim, branch on task status: query for reminders, replay for reward, else default."
],
"(method 39 assistant-lavatube-end)": [
"should-display?",
"Should this character appear?"
],
"(method 39 babak-with-cannon)": [
"common-post",
"Load spooled animations for the babak."
],
"(method 4 string)": [
"length",
"Get the length of a string, like `strlen`."
],
"(method 40 nav-enemy)": [
"update-nav-target!",
"Point nav-control at our current nav target-pos so it recomputes the travel vector."
],
"(method 40 process-taskable)": [
"init-as-taskable!",
"Build collision/skeleton and set all taskable defaults from the entity, joints, and collision sphere."
],
"(method 41 nav-enemy)": [
"compute-travel-velocity!",
"Turn the nav travel direction into collide-info transv, applying momentum/accel (or align) and gravity."
],
"(method 42 process-taskable)": [
"goto-initial-state!",
"Enter idle or hidden depending on whether the sage should display."
],
"(method 43 process-taskable)": [
"try-play-ambient-chatter",
"Occasionally play a random welding ambient line when the player is nearby."
],
"(method 44 baby-spider)": [
"touch-handler",
"Handle incoming touch: send an attack to the incoming process and go victory if we won."
],
"(method 45 blue-sagecage)": [
"update-beam-direction!",
"Push the sage's rot-y/rot-x into the beam particle init-specs (base citb-sage just records spawn-pos).",
"annotation"
],
"(method 45 citb-sage)": [
"update-beam-direction!",
"Push the sage's rot-y/rot-x into the beam particle init-specs (base citb-sage just records spawn-pos).",
"annotation"
],
"(method 45 green-sagecage)": [
"update-beam-direction!",
"Push the sage's rot-y/rot-x into the beam particle init-specs (base citb-sage just records spawn-pos).",
"annotation"
],
"(method 45 red-sagecage)": [
"update-beam-direction!",
"Push the sage's rot-y/rot-x into the beam particle init-specs (base citb-sage just records spawn-pos).",
"annotation"
],
"(method 45 sage)": [
"reminder-due?",
"True when a closed task's reminder is still unseen, or the reminder played and the player has moved far away.",
"annotation"
],
"(method 45 sage-bluehut)": [
"should-play-reminder?",
"True when a reminder line is due (a need-reminder task is closed or the player wandered far after reminder-played).",
"annotation"
],
"(method 45 sage-finalboss)": [
"update-beam-direction!",
"override: spawn the assistant manipy on the finalboss level and set it up as a clone-anim blend-shape",
"annotation"
],
"(method 45 yellow-sagecage)": [
"update-beam-direction!",
"Push the sage's rot-y/rot-x into the beam particle init-specs (base citb-sage just records spawn-pos).",
"annotation"
],
"(method 46 process-taskable)": [
"update-music-and-flava!",
"Add/remove sound-flava and music settings based on the player's proximity."
],
"(method 47 assistant-bluehut)": [
"target-above-threshold?",
"Determine if we should prompt for interaction - mainly checks to see if target is closer to us\nor the sage."
],
"(method 48 assistant-levitator)": [
"draw-npc-shadow",
"Calculate the plane and angle for shadow drawing."
],
"(method 48 citb-bunny)": [
"setup-enemy!",
"Post-init hook: build skeleton, apply nav-enemy-info defaults, set defense/retreat from entity mode, and configure neck/attack/patrol fields.",
"replace"
],
"(method 48 nav-enemy)": [
"setup-enemy!",
"Per-subclass post-init hook called from init-from-entity! after collision/entity setup: initialize the skeleton, nav-enemy-info defaults, particle/joint controls and enemy-specific state. Empty stub on the nav-enemy base."
],
"(method 5 string)": [
"asize-of",
"Get the size in bytes of this object."
],
"(method 50 nav-enemy)": [
"jump-dest-blocked?",
"Test whether a jump destination lies inside any nav-mesh sphere relative to our origin, i.e. the jump is blocked."
],
"(method 50 process-taskable)": [
"target-far-away?",
"True when the player (or camera) is far enough that the NPC can leave the hidden-other state."
],
"(method 51 baby-spider)": [
"randomize-wiggle!",
"Randomize the chase wiggle rate, amplitude and target-speed for variety.",
"annotation"
],
"(method 51 double-lurker)": [
"split-collision!",
"Reconfigure collide prims for the lone bottom lurker: clear the shoulder prims and turn indestructible body prims into touch prims.",
"annotation"
],
"(method 51 double-lurker-top)": [
"enable-collision!",
"Re-enable the top lurker's collision and nav: restore collide-with, set navf0, sync nav-control.",
"annotation"
],
"(method 51 green-eco-lurker)": [
"appear-dest-valid?",
"#t if candidate-point is far enough from the player and not blocked by the nav mesh (usable appear destination)",
"replace"
],
"(method 51 ice-cube)": [
"snap-point-to-ground",
"Y-probe down from in-point to the background ground, writing the ground point to out-point; #f if no valid ground (or lava)."
],
"(method 51 muse)": [
"spawn-sparkle-particles!",
"Emit sparkle particles at two random body joints each frame for the muse's glow effect.",
"annotation"
],
"(method 51 ram-boss)": [
"turn-needed-to-throw?",
"#t if the boss must keep turning before throwing; if within ~60deg, nudges throw-dir and returns #f (ready)."
],
"(method 51 snow-bunny)": [
"probe-ground-below?",
"y-probe for background ground under in-point, write the snapped point to out-point; #f if none/bad pat",
"replace"
],
"(method 52 assistant-levitator)": [
"setup-shadow-settings!",
"Set shadow clipping planes as an optimization to reduce shading when drawing shadow geometry."
],
"(method 52 baby-spider)": [
"wiggle-nav-target!",
"Offset the nav target side-to-side around base-pos via a sine wiggle, giving the chase a weaving path.",
"annotation"
],
"(method 52 double-lurker)": [
"find-knockback-fall-dest?",
"Compute where the top lurker should fall when hit: a far-enough nav point with valid ground below; #t and writes the point if found.",
"annotation"
],
"(method 52 green-eco-lurker)": [
"pick-appear-dest?",
"scan the path vertices in random order for a valid appear spot, writing it to out-point; #t if found",
"annotation"
],
"(method 52 ice-cube)": [
"valid-appear-point?",
"True if candidate-pt is a good place to surface: in the right distance band from the player, not jump-blocked, and on-screen.",
"annotation"
],
"(method 52 process-taskable)": [
"setup-shadow-settings!",
"configure the NPC's shadow-control top/bottom clip planes (subtypes offset them by the actor's height)"
],
"(method 52 ram-boss)": [
"enable-ground-combat-collision!",
"Resize the body prims and arm the shield prim as a solid attacking surface for ground combat."
],
"(method 52 snow-bunny)": [
"setup-chase-hop?",
"compute the next chase-hop nav target toward the player (or a jump-event); #f if no valid hop",
"replace"
],
"(method 53 baby-spider)": [
"dead-if-not-visible?",
"Refresh last-visible-time while on-screen; return #t once off-screen long enough to die.",
"annotation"
],
"(method 53 double-lurker)": [
"find-free-path-point?",
"Scan path vertices (from a random start) for one not blocked by a nav-sphere; writes it to out-point, returns #t if a free spot was found."
],
"(method 53 green-eco-lurker)": [
"update-appear-shadow!",
"while visible at full LOD enable the shadow and clamp its top/bottom planes around the appear-dest height, else hide it",
"annotation"
],
"(method 53 ice-cube)": [
"pick-appear-point-and-facing",
"Search path points for a valid appear spot; write its ground position to out-pos and the facing dir (toward player) to out-dir."
],
"(method 53 ram-boss)": [
"disarm-shield-collision!",
"switch body prims to 'touch offense and disable the shield prim (used when the shield is knocked off)",
"annotation"
],
"(method 53 snow-bunny)": [
"pick-patrol-hop-dest?",
"choose a far-enough, on-ground path vertex as the next patrol destination; #t if one was found",
"annotation"
],
"(method 54 ice-cube)": [
"pick-charge-target-point!",
"Scan path points for one far enough away with valid ground, store it in target-pt; #t on success.",
"annotation"
],
"(method 54 ram-boss)": [
"get-throw-point!",
"Compute the world-space muzzle point (offset from joint 18) where the bolus projectile is launched, storing it in out-point and returning it. Uses the original base slot signature (_type_ vector) symbol (shared with ice-cube).",
"annotation"
],
"(method 54 snow-bunny)": [
"setup-patrol-hop?",
"Compute the next patrol-hop nav target toward final-dest (or a queued jump-event); return #f if no valid hop. Distinct :replace'd slot (signature (_type_) symbol).",
"replace"
],
"(method 55 ram-boss)": [
"line-of-sight-to-target?",
"probe from the boss's eye to the player; #t if the line of sight is clear",
"annotation"
],
"(method 55 snow-bunny)": [
"setup-retreat-hop?",
"pick the best hop fleeing away from the player (tries two angles); #f if none works",
"annotation"
],
"(method 57 nav-enemy)": [
"set-spikes-retracted-collision!",
"Switch collision prims to the small \"spikes retracted\" (harmless) shape (cprims-type 1)."
],
"(method 57 ram-boss)": [
"target-pitch-interp",
"Return a 0..1 up/forward defend-anim blend factor from the pitch angle to the player, smoothed with prev-interp."
],
"(method 57 snow-bunny)": [
"should-defend?",
"#t when the dangerous player is close enough and fast-approaching that the bunny must defend",
"replace"
],
"(method 58 collide-shape-moving)": [
"integrate-and-revert-if-blocked!",
"Integrate by velocity (no ground snap); if we end up overlapping another shape, snap back to the previous position. Returns #t if blocked."
],
"(method 58 ice-cube)": [
"set-spikes-extended-collision!",
"ice-cube override: switch collision prims to the large \"spikes extended\" (dangerous) shape (cprims-type 2).",
"annotation"
],
"(method 58 snow-bunny)": [
"update-nondangerous-time!",
"refresh the timestamp of when the player was last not dangerous",
"annotation"
],
"(method 59 nav-enemy)": [
"go-initial-state!",
"Pick babak's starting state: fuel-cell if carrying a collected power cell, wait-for-cue if flagged, else idle."
],
"(method 60 citb-bunny)": [
"setup-skeleton!",
"build the citb-bunny skeleton from its skelgroup and set the origin joint",
"annotation"
],
"(method 60 ice-cube)": [
"seek-heading-to-target?",
"Optionally refresh target-pt to the player, turn toward it, return whether we are now roughly facing it.",
"annotation"
],
"(method 60 snow-bunny)": [
"setup-skeleton!",
"build the bunny skeleton from its skelgroup and set the origin joint",
"replace"
],
"(method 76 snow-bunny)": [
"set-shadow-airborne!",
"lower the shadow's bottom-plane when the bunny is airborne so its shadow projects further"
],
"(method 9 actor-link-info)": [
"get-matching-actor-type-mask",
"Given any actor in a list of actors, return a bitmask of all actors in the list where bit-i is set to 1 if \nentity-actor i is exactly type `matching-type`. In other words, test bit `i` of the mask to see if actor\n`i` is of the given type."
],
"(method 9 align-control)": [
"compute-alignment!",
"Compare the previous and current animation data to compute the change in the animated `align` matrix.\nThis change in the `align` matrix corresponds to a shift that should be applied to a `process-drawable`'s\n`root` transform - animating the `align` matrix allows artists to move the actual process in the world.\nThis function only computes and stores the `delta` and deals with edge cases when switching animations,\nit does not modify the `process-drawable`'s position."
],
"(method 9 baby-spider-spawn-params)": [
"init!",
"Set up spider parameters."
],
"(method 9 cam-index)": [
"setup-from-entity!",
"Read the two endpoint vectors (from res data or curve ends) into the index and precompute its spherical/radial/linear parameterization."
],
"(method 9 cavecrystal-light-control)": [
"set-crystal-light!",
"set/clear crystal light slot's intensity, source handle and position; update active list and palette fade"
],
"(method 9 draw-control)": [
"get-skeleton-origin",
"Get the position of the 0th bone."
],
"(method 9 edge-grab-info)": [
"update-and-validate!",
"Re-track a held edge to its (possibly moving) actor and re-check the grab is still valid; #f to drop it."
],
"(method 9 effect-control)": [
"update-effects",
"Advance the active anim channel and fire any effect tags crossed this frame."
],
"(method 9 rigid-body)": [
"set-mass-and-box-inertia!",
"set the mass and compute the box inertial tensor (and its inverse) from dimensions"
],
"(method 9 swamp-bat-idle-path)": [
"eval-point!",
"write to out-pos the point on the idle ellipse at the given parametric angle (turns)"
],
"(method 9 torus)": [
"debug-draw",
"draw the torus as camera-line wireframe rings in the given color."
],
"(method 9 tracking-spline)": [
"validate!",
"Consistency check: recount the used and free chains and correct the counters if the lists are corrupt."
],
"(method 9 twister)": [
"set-max-dry-range!",
"set the per-frame max twist (max-dry) for joints start-joint..end-joint"
],
"(method 9 water-control)": [
"water-control-init-extra!",
"Unused stub hook for extra water-control init; empty in all versions."
],
"actor-link-dead-hook": [
"actor-link-dead-hook",
"Callback for checking to see if all actors in an actor list are dead.\nThis can be used as a callback for `apply-all` or similar.\nIt sets `ret` to `#t` if all actors are dead, otherwise it sets `ret` to `#f` and short circuits."
],
"actor-link-subtask-complete-hook": [
"actor-link-subtask-complete-hook",
"Callback for checking to see if all actors in an actor list are complete. \nThis can be used as a callback for `apply-all` or similar.\nIt sets `ret` to `#t` if all actors are complete, otherwise it sets `ret` to `#f` and short circuits."
],
"alt-actor-list-subtask-incomplete-count": [
"alt-actor-list-subtask-incomplete-count",
"Get the number of actors in this `alt-actor` list on this process which do not have the `complete` bit set\nin their permanent status."
],
"ambient-hint-init-by-other": [
"ambient-hint-init-by-other",
"Initialize a `level-hint` to play a hint from an ambient."
],
"ambient-hint-spawn": [
"ambient-hint-spawn",
"Spawn an ambient hint if it is appropriate to do so."
],
"ambient-type-dark": [
"ambient-type-dark",
"Run a \"dark\" ambient, which sets `*target*`'s `secondary-interp` to 1.0 when inside a volume."
],
"ambient-type-error": [
"ambient-type-error",
"Draw 3D debug text for a broken ambient."
],
"ambient-type-hint": [
"ambient-type-hint",
"Spawn an ambient hint."
],
"ambient-type-light": [
"ambient-type-light",
"useless \"light\" ambient. Checks if `pos` is within the volume, but has no effect."
],
"ambient-type-music": [
"ambient-type-music",
"Ambient to set music or flava."
],
"ambient-type-ocean-near-off": [
"ambient-type-ocean-near-off",
"Set `*ocean-near-off*`."
],
"ambient-type-ocean-off": [
"ambient-type-ocean-off",
"Set `*ocean-off*` to `#t` when this ambient runs, no volume check."
],
"ambient-type-poi": [
"ambient-type-poi",
"Unused \"point of interest\" ambient, which at some point would display text when approaching named location."
],
"ambient-type-sound": [
"ambient-type-sound",
"Start an ambient sound if it is appropriate to do so."
],
"ambient-type-sound-loop": [
"ambient-type-sound-loop",
"Play an ambient looping sound."
],
"ambient-type-weather-off": [
"ambient-type-weather-off",
"Check if `pos` is in a volume, if so set `*weather-off*` to `#t`."
],
"aphid-init-by-other": [
"aphid-init-by-other",
"Initialize an `aphid` and enter chase state."
],
"aphid-invulnerable": [
"aphid-invulnerable",
"Make aphid invulnerable."
],
"aphid-vulnerable": [
"aphid-vulnerable",
"remove invulnerability"
],
"append-character-to-string": [
"append-character-to-string",
"Append a single character to string."
],
"assistant-levitator-blue-glow": [
"assistant-levitator-blue-glow",
"Spawn particles"
],
"babak-with-cannon-compute-cannon-dir": [
"babak-with-cannon-compute-cannon-dir",
"Get the direction the cannon is pointing, as a unit vector."
],
"babak-with-cannon-compute-ride-point": [
"babak-with-cannon-compute-ride-point",
"Compute the ride point, a point local to the cannon where the babak should go."
],
"babak-with-cannon-ride-cannon-post": [
"babak-with-cannon-ride-cannon-post",
"Move the babak to ride the cannon at the right angle and position."
],
"baby-spider-default-event-handler": [
"baby-spider-default-event-handler",
"Override of event handler that sends us to victory on `'victory`"
],
"can-grab-display?": [
"can-grab-display?",
"Can this process draw its hint text or similar to the screen?\nOnce it returns #t, it will become the exclusive process to draw to the screen for 0.1 seconds."
],
"cat-string<-string": [
"cat-string<-string",
"Append b to a, no length checks."
],
"cat-string<-string_to_charp": [
"cat-string<-string_to_charp",
"Append b to a, using chars of b up to and including `end-ptr`, or the end of b, whichever is first."
],
"catn-string<-charp": [
"catn-string<-charp",
"Append `len` chars of `b` to `a`"
],
"change-brother": [
"change-brother",
"Unused and wrong.\nSeems like this assumes a process stores a `process-tree` reference directly, not `(poitner process-tree)`"
],
"change-to-last-brother": [
"change-to-last-brother",
"Move this process to the last spot in its list of brothers"
],
"charp-basename": [
"charp-basename",
"Like basename in C"
],
"charp<-string": [
"charp<-string",
"Copy a GOAL string into a C string."
],
"check-drop-level-assistant": [
"check-drop-level-assistant",
"Check if the particle hits the surface height stored in `user-float`: if so, chance to play drip sound,\nthen spawn a splash particle."
],
"check-drop-level-assistant-bluehut": [
"check-drop-level-assistant-bluehut",
"Check if particle has dropped past the threshold stored in `user-float`. If so, chance to play splash,\nand draw a splash particle."
],
"clear": [
"clear",
"Make string empty"
],
"copy-charp<-charp": [
"copy-charp<-charp",
"C string copy."
],
"copy-string<-string": [
"copy-string<-string",
"Copy data from `src` to `dst`, no length checks."
],
"copyn-string<-charp": [
"copyn-string<-charp",
"Copy `len` characters from a C-string to a GOAL string, inserting a null character."
],
"entity-actor-count": [
"entity-actor-count",
"Get the number of actors stored in `lump[name]`"
],
"entity-actor-lookup": [
"entity-actor-lookup",
"Get an `entity-actor` from a lump by name and index, return #f if invalid.\nThe lump can contain either an actor name or aid."
],
"forward-down->inv-matrix": [
"forward-down->inv-matrix",
"Create transformation matrix where `fwd` is forward and `dn` is down. If these are not perpendicular, `fwd`\ndetermines the pitch of the frame."
],
"forward-down-nopitch->inv-matrix": [
"forward-down-nopitch->inv-matrix",
"Create transformation matrix where `fwd` is forward and `dn` is down. If these are not perpendicular, `dn`\ndetermines the pitch of the frame."
],
"forward-up->quaternion": [
"forward-up->quaternion",
"Create the inverse transform for a coordinate frame where `fwd` is forward and `up` is up.\nUses the pitch of `fwd` to determine pitch when axes aren't perpendicular."
],
"forward-up-nopitch->inv-matrix": [
"forward-up-nopitch->inv-matrix",
"Create the inverse transform for a coordinate frame where `fwd` is forward and `up` is up.\nUses the pitch of `up` to determine pitch when axes aren't perpendicular."
],
"forward-up-nopitch->quaternion": [
"forward-up-nopitch->quaternion",
"Create the inverse transform for a coordinate frame where `fwd` is forward and `up` is up.\nUses the pitch of `up` to determine pitch when axes aren't perpendicular."
],
"handle->process-safe": [
"handle->process-safe",
"Strange unused implementation of `handle->process`."
],
"kill-current-level-hint": [
"kill-current-level-hint",
"Send `kill-event` to the current hint if it is one of the `allowed-modes` and not one of the `forbidden-modes`.\nPutting `'()` for mode will disable that filter."
],
"level-hint-displayed?": [
"level-hint-displayed?",
"Is there a currently displayed level hint that shouldn't be interrupted?"
],
"level-hint-init-by-other": [
"level-hint-init-by-other",
"Initialize a level hint, looking up the sound and mode."
],
"level-hint-process-cmd": [
"level-hint-process-cmd",
"Iterate through the `cmd-array`, executing commands and return the position of the next command to run,\nor `-1` if the command is a condition that is not met."
],
"level-hint-spawn": [
"level-hint-spawn",
"Try to spawn a level hint if it is appropriate to do so."
],
"level-hint-surpress!": [
"level-hint-surpress!",
"Suppress hints from playing by setting the last play time to now."
],
"level-hint-task-process": [
"level-hint-task-process",
"If this entity's hint can be played, run its command array. This can mutate game state and check conditions.\nIf all conditions pass, return the text-id. Otherwise, return -1."
],
"matrix->quaternion": [
"matrix->quaternion",
"Convert rotation matrix to quaternion."
],
"matrix-from-two-vectors!": [
"matrix-from-two-vectors!",
"Create a rotation matrix representing the rotation between two vectors."
],
"matrix-from-two-vectors-max-angle!": [
"matrix-from-two-vectors-max-angle!",
"Create a rotation matrix representing the rotation between two vectors, allowing at most a rotation of\n`max-rot` degrees."
],
"matrix-from-two-vectors-max-angle-partial!": [
"matrix-from-two-vectors-max-angle-partial!",
"Create a rotation matrix representing fraction `frac` of the rotation between `a` and `b`, limited to\n`max-rot` degrees."
],
"matrix-from-two-vectors-partial-linear!": [
"matrix-from-two-vectors-partial-linear!",
"Create a rotation matrix representing fraction `frac` of the rotation from `a` to `b`."
],
"matrix-remove-z-rot": [
"matrix-remove-z-rot",
"Remove z rotation (roll) from a matrix. Not sure how this works, it's unused and I think it could be wrong."
],
"matrix-rot-diff!": [
"matrix-rot-diff!",
"Get the rotation between two matrices, in degrees. Returns the rotation axis in `axis`."
],
"matrix-with-scale->quaternion": [
"matrix-with-scale->quaternion",
"Convert a matrix which contains scaling in addition to rotation to a quaternion."
],
"name=": [
"name=",
"Are `a` and `b` the same name? This works for strings and symbols."
],
"normal-of-plane": [
"normal-of-plane",
"Compute normal of plane given three points on it."
],
"point-in-air-box-area?": [
"point-in-air-box-area?",
"Check if point `x, z` (relative to air-box origin) is within the projected area of the air-box. Effectively doesn't check height."
],
"point-in-air-box?": [
"point-in-air-box?",
"Is `pt` inside the `air-box`? The `air-box` is a box that is axis-aligned on the y (vertical) axis."
],
"point-in-air?": [
"point-in-air?",
"Check if `pt` is in any of the boxes."
],
"point-in-plane-<-point+normal!": [
"point-in-plane-<-point+normal!",
"Given a plane's normal and `p0` a point on the plane, generate a second point on the plane.\nThe generated point is somewhat arbitrary - it is spaced out by 1 meter on the two axes that are least\nparallel to the plane's normal (avoiding numerical issues)"
],
"points-in-air?": [
"points-in-air?",
"Are both `p1` and `p2` inside any of the boxes?"
],
"quaterion<-rotate-y-vector": [
"quaterion<-rotate-y-vector",
"Create a quaternion representing only the yaw of the given vector."
],
"quaternion*!": [
"quaternion*!",
"Real quaternion multiplication."
],
"quaternion+!": [
"quaternion+!",
"Add quaternions as vectors."
],
"quaternion-!": [
"quaternion-!",
"Subtract quaternions as vectors."
],
"quaternion->matrix": [
"quaternion->matrix",
"Convert quaternion to rotation matrix."
],
"quaternion-axis-angle!": [
"quaternion-axis-angle!",
"Construct a quaternion from a normalized axis and angle."
],
"quaternion-conjugate!": [
"quaternion-conjugate!",
"Set `dst` to the quaternion conjugate (invert i,j, k). This represents the inverse rotation."
],
"quaternion-copy!": [
"quaternion-copy!",
"Copy a quaternion."
],
"quaternion-delta-y": [
"quaternion-delta-y",
"Difference in yaw between two quaternions."
],
"quaternion-dot": [
"quaternion-dot",
"Treat quaternions as vectors and take the dot product."
],
"quaternion-exp!": [
"quaternion-exp!",
"Inverse of quaternion-log!"
],
"quaternion-float*!": [
"quaternion-float*!",
"Multiply all components by `x`"
],
"quaternion-float/!": [
"quaternion-float/!",
"Divide each element in the quaternion by `x`."
],
"quaternion-from-two-vectors!": [
"quaternion-from-two-vectors!",
"Create a quaternion representing the rotation between two vectors."
],
"quaternion-from-two-vectors-max-angle!": [
"quaternion-from-two-vectors-max-angle!",
"Create a quaternion representing the rotation between two vectors, allowing at most a rotation of `max-rot`\ndegrees."
],
"quaternion-i!": [
"quaternion-i!",
"Create unit `i` quaternion."
],
"quaternion-identity!": [
"quaternion-identity!",
"Set quaternion to represent an identity rotation (no rotation)"
],
"quaternion-inverse!": [
"quaternion-inverse!",
"Return `q^-1` such that `q * q^-1 = identity`, even if `q` isn't normalized.\nIf `q` is normalized, it's faster to use `quaternion-conjugate`"
],
"quaternion-j!": [
"quaternion-j!",
"Create unit `j` quaternion."
],
"quaternion-k!": [
"quaternion-k!",
"Create unit `k` quaternion."
],
"quaternion-left-mult-matrix!": [
"quaternion-left-mult-matrix!",
"Place quaternion coefficients into a matrix such that the product of `right-mult` and `left-mult` are\nan equivalent rotation matrix. This method is not used, `quaternion->matrix` is faster."
],
"quaternion-log!": [
"quaternion-log!",
"Get the logarithm of a quaternion. This is unused, but is effectively the rotation vector."
],
"quaternion-negate!": [
"quaternion-negate!",
"Flip the sign of all quaternion components."
],
"quaternion-norm": [
"quaternion-norm",
"Get the norm of a quaternion."
],
"quaternion-norm2": [
"quaternion-norm2",
"Get the squared norm of a quaternion."
],
"quaternion-normalize!": [
"quaternion-normalize!",
"normalize quaternion in place."
],
"quaternion-pseudo-slerp!": [
"quaternion-pseudo-slerp!",
"Simpler quaternion interpolation by interpolating coefficients and normalizing.\nThis handles the \"opposite sign\" issue correctly, but is still poorly behaved for far-away rotations."
],
"quaternion-right-mult-matrix!": [
"quaternion-right-mult-matrix!",
"Place quaternion coefficients into a matrix such that the product of `right-mult` and `left-mult` are\nan equivalent rotation matrix. This method is not used, `quaternion->matrix` is faster."
],
"quaternion-rotate-local-x!": [
"quaternion-rotate-local-x!",
"Rotate existing quaternion along local x-axis."
],
"quaternion-rotate-local-y!": [
"quaternion-rotate-local-y!",
"Rotate existing quaternion along local y-axis."
],
"quaternion-rotate-local-z!": [
"quaternion-rotate-local-z!",
"Rotate existing quaternion along local z-axis."
],
"quaternion-rotate-x!": [
"quaternion-rotate-x!",
"Rotate existing quaternion along world x-axis."
],
"quaternion-rotate-y!": [
"quaternion-rotate-y!",
"Rotate existing quaternion along world y-axis."
],
"quaternion-rotate-y-to-vector!": [
"quaternion-rotate-y-to-vector!",
"Rotate along world y axis so local z axis points to match another vector. Max rotation of `max-rot`."
],
"quaternion-rotate-z!": [
"quaternion-rotate-z!",
"Rotate existing quaternion along world z-axis."
],
"quaternion-seek": [
"quaternion-seek",
"Unused function to seek toward an orientation."
],
"quaternion-set!": [
"quaternion-set!",
"Set quaternion components."
],
"quaternion-validate": [
"quaternion-validate",
"Verify quaternion has valid norm, print an error if not."
],
"quaternion-vector-angle!": [
"quaternion-vector-angle!",
"Construct a quaternion from a normalized axis and angle."
],
"quaternion-vector-len": [
"quaternion-vector-len",
"Assuming quaternion is normalized, get the length of the xyz part."
],
"quaternion-vector-y-angle": [
"quaternion-vector-y-angle",
"Angle between quaternion and axis in the xz plane."
],
"quaternion-xz-angle": [
"quaternion-xz-angle",
"Calculate the \"yaw\" of the quaternion. This is particularly inefficient."
],
"quaternion-y-angle": [
"quaternion-y-angle",
"Get the y rotation angle of a quaternion - not very efficient."
],
"quaternion-zero!": [
"quaternion-zero!",
"Set all components to zero."
],
"quaternion-zxy!": [
"quaternion-zxy!",
"Make a quaternion from a sequence of z, x, y axis rotations."
],
"set-eul!": [
"set-eul!",
"Set euler angles and a flag (as a float)."
],
"string->int": [
"string->int",
"String to int. Supports binary, hex, and decimal, and negatives."
],
"string-charp=": [
"string-charp=",
"Is the GOAL string `str` equal to the C-string `charp`?"
],
"string-get-arg!!": [
"string-get-arg!!",
"Get the first argument from a whitespace separated list of arguments.\nThe arguments can optionally be in quotes.\nSucks up the argument and whitespace, leaving the rest."
],
"string-get-flag!!": [
"string-get-flag!!",
"If argument is `first-flag`, result is `#t`. If argument is `second-flag`, result is `#f`. Otherwise,\nleave `result` unset and return #f."
],
"string-get-float!!": [
"string-get-float!!",
"Get a float from a list of arguments."
],
"string-get-int32!!": [
"string-get-int32!!",
"Get an int32 from a list of arguments."
],
"string-skip-to-char": [
"string-skip-to-char",
"Return pointer to first instance of char in C string, or to the null terminator if it doesn't occur."
],
"string-skip-whitespace": [
"string-skip-whitespace",
"Skip over spaces, tabs, newline, and carriage return."
],
"string-strip-leading-whitespace!": [
"string-strip-leading-whitespace!",
"Remove whitespace at the start of a string."
],
"string-strip-trailing-whitespace!": [
"string-strip-trailing-whitespace!",
"Remove whitespace at the end of a string."
],
"string-strip-whitespace!": [
"string-strip-whitespace!",
"Remove whitespace at the beginning and end of a string."
],
"string-suck-up!": [
"string-suck-up!",
"Remove characters between the start of string and location. The original char at location is the first."
],
"string<-charp": [
"string<-charp",
"Copy all chars from a C string to GOAL string."
],
"string<=?": [
"string<=?",
"In dictionary order, is a <= b?"
],
"string<?": [
"string<?",
"In dictionary order, is a < b?"
],
"string=": [
"string=",
"Does `str-a` hold the same data as `str-b`? If either string itself is a null pointer, returns `#f`."
],
"string>=?": [
"string>=?",
"In dictionary order, is a >= b?"
],
"string>?": [
"string>?",
"In dictionary order, is a > b?"
],
"vector-3pt-cross!": [
"vector-3pt-cross!",
"Cross product of (2 - 1) and (3 - 1), giving a vector in the direction of the plane normal, but not\nmagnitude of 1."
],
"vector-angle<-quaternion!": [
"vector-angle<-quaternion!",
"Convert quaternion into axis-angle with normalized axis and angle in radians in `w`."
],
"vector-deg-seek": [
"vector-deg-seek",
"Move `vec1` toward `vec0` by rotating it by at most `max-rot` degrees."
],
"vector-deg-slerp": [
"vector-deg-slerp",
"Spherical linear interpolation of orientations represented as the z-axis of two frames."
],
"vector-line-distance": [
"vector-line-distance",
"Compute the distance between `query` and the closest point on the infinite line containing `p0` and `p1`."
],
"vector-line-distance-point!": [
"vector-line-distance-point!",
"Compute the distance between `query` and the closest point on the infinite line containing `p0` and `p1`.\nReturn the point in `ret`."
],
"vector-orient-by-quat!": [
"vector-orient-by-quat!",
"Rotate a vector by a quaternion."
],
"vector-rotate-y!": [
"vector-rotate-y!",
"Rotate a vector along the y-axis, not very efficient."
],
"vector-vector-deg-slerp!": [
"vector-vector-deg-slerp!",
"Spherical linear interpolation of coordinate frames produced by `(forward-up vec up)`."
],
"vector-x-angle": [
"vector-x-angle",
"Get the pitch angle of a vector."
],
"vector-x-quaternion!": [
"vector-x-quaternion!",
"Get the first row of the rotation matrix for this quaternion - the direction of the x axis."
],
"vector-y-angle": [
"vector-y-angle",
"Get the yaw angle of a vector."
],
"vector-y-quaternion!": [
"vector-y-quaternion!",
"Get the second row of the rotation matrix for this quaternion - the direction of the y axis."
],
"vector-z-quaternion!": [
"vector-z-quaternion!",
"Get the third row of the rotation matrix for this quaternion - the direction of the z axis."
]
}