Types
anim-tester: process-drawablesource
Fields
type: type
name: string
mask: process-mask
clock: clock
parent: pointer
brother: pointer
child: pointer
ppointer: pointer
self: process-tree
pool: dead-pool
status: symbol
pid: int32
main-thread: cpu-thread
top-thread: cpu-thread
entity: entity-actor
level: level
state: state
next-state: state
trans-hook: function
post-hook: function
event-hook: function
allocated-length: int32
pad-unknown-0: uint32
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
carry: carry-info
rbody: rigid-body-control
state-flags: state-flags
state-time: time-frame
flags: anim-tester-flags
debug-flags: anim-tester-debug-flags
obj-list: glst-list
current-obj: string
speed: int32
list-con: list-control
pick-con: list-control
item-field: int64
inc-delay: int32
inc-timer: int32
edit-mode: int32
old-mode: int32
anim-speed: float
anim-gspeed: float
anim-first: float
anim-last: float
States
anim-tester-process: TODO
list-control: structuresource
Fields
listfunc: function
list-owner: uint32
top: int32
left: int32
list: glst-list
the-node: glst-node
top-index: int32
the-index: int32
the-disp-line: int32
highlight-index: int32
current-index: int32
numlines: int32
lines-to-disp: int32
charswide: int32
highlight-disp-line: int32
field-id: int32
xpos: int32
ypos: int32
user-info: int32
user-info-u: uint32
return-int: int32
Types
debug-vertex-stats: basicsource
Variables
Types
hud-money: hudsource
Fields
type: type
name: string
mask: process-mask
clock: clock
parent: pointer
brother: pointer
child: pointer
ppointer: pointer
self: process-tree
pool: dead-pool
status: symbol
pid: int32
main-thread: cpu-thread
top-thread: cpu-thread
entity: entity-actor
level: level
state: state
next-state: state
trans-hook: function
post-hook: function
event-hook: function
allocated-length: int32
pad-unknown-0: uint32
heap-base: pointer
heap-top: pointer
heap-cur: pointer
stack-frame-top: stack-frame
connection-list: connectable
stack: uint8
trigger-time: time-frame
last-hide-time: time-frame
offset: float
flags: hud-flags
values: hud-value
strings: hud-string
sprites: hud-sprite
icons: hud-icon
gui-id: sound-id
Expand description
Functions for drawing wireframe spheres made up of debug lines.
Do not call these functions unless debug-segment is set.
Functions
add-debug-sphere-from-table(bucket: bucket-id, position: vector, radius: meters, color: rgba, table-idx: int) => nonesource
Adds a debug sphere to a bucket.
The table-idx specifies the resolution of the sphere and must be >= 0 and <= 9, where 9 would specify
the highest resolution available and 0 would draw nothing.
make-debug-sphere-table(points: vector-array, h-lines: float, v-lines: float) => vector-arraysource
Fills points with positions that make a wireframe sphere made of the given number of horizontal and vertical lines.
The points array is expected to have a capacity of at least (h-lines * v-lines * 3).
Both h-lines and v-lines should be whole numbers.
Variables
*debug-sphere-table*: arraysource
Expand description
This file contains functions for debug drawing.
In general, the 3d functions draw using the camera and the 2d functions draw in screen coordinates.
Most functions take a boolean as their first argument. If the boolean is set to #f, it will skip drawing the point.
Types
debug-line: structuresource
debug-text-3d: structuresource
Functions
add-boundary-shader(tex-id: texture-id, buf: dma-buffer) => nonesource
Generate adgif shader data (including GIF tag, but not VIF/DMA) for the given
texture, and write to the given dma-buffer.
add-debug-arc(enable: symbol, bucket: bucket-id, position: vector, start-angle: float, end-angle: float, radius: float, color: rgba, orientation: matrix) => symbolsource
add-debug-bound(buf: bucket-id, pts: inline-array, c0: int, c1: rgba, flash: rgba, arg5: int) => nonesource
Draw a debug boundary polygon.
add-debug-bound-internal(buf: dma-buffer, pts: inline-array, num-pts: int, color0: rgba, color1: rgba, flip-tex: int) => nonesource
Draw a boundary polygon using the boundary renderer. This renderer reuses components of the sky render
to properly clip (and subdivide) very large polgons.
This is intended to be called by add-debug-bound, after it has set up dma buffers for the boundary rendering.
add-debug-box(enable: symbol, bucket: bucket-id, c1: vector, c2: vector, color: rgba) => symbolsource
add-debug-box-with-transform(enable: symbol, bucket: bucket-id, box: bounding-box, trans: matrix, color: rgba) => symbolsource
add-debug-circle(enable: symbol, bucket: bucket-id, position: vector, radius: float, color: rgba, orientation: matrix) => symbolsource
add-debug-cross(enable: symbol, bucket: bucket-id, position: vector, radius: float) => symbolsource
add-debug-cspace(enable: symbol, bucket: bucket-id, csp: cspace) => cspacesource
add-debug-cursor(enable: symbol, bucket: bucket-id, x: int, y: int, arg4: int) => nonesource
add-debug-curve(enable: symbol, bucket: bucket-id, cverts: inline-array, num-cverts: int, knots: pointer, num-knots: int, color: rgba) => symbolsource
add-debug-curve2(enable: symbol, bucket: bucket-id, curve: curve, color: rgba, arg4: symbol) => symbolsource
add-debug-flat-triangle(enable: symbol, bucket: bucket-id, p0: vector, p1: vector, p2: vector, color: rgba) => symbolsource
add-debug-light(enable: symbol, bucket: bucket-id, light: light, position: vector, text: string) => symbolsource
add-debug-lights(enable: symbol, bucket: bucket-id, lights: inline-array, position: vector) => symbolsource
add-debug-line(enable: symbol, bucket: bucket-id, start: vector, end: vector, start-color: rgba, mode: symbol, end-color: rgba) => symbolsource
add-debug-line-sphere(enable: symbol, bucket: bucket-id, position: vector, forward: vector, arg4: float, color: rgba) => nonesource
add-debug-line2d(enable: symbol, bucket: bucket-id, start: vector4w, end: vector4w, color: vector4w) => symbolsource
add-debug-matrix(enable: symbol, bucket: bucket-id, mat: matrix, line-length: meters) => matrixsource
add-debug-outline-triangle(enable: symbol, bucket: bucket-id, p0: vector, p1: vector, p2: vector, color: rgba) => symbolsource
add-debug-point(enable-draw: symbol, bucket: bucket-id, pt: vector) => symbolsource
add-debug-points(enable: symbol, bucket: bucket-id, points: inline-array, num-points: int, color: rgba, y-override: float, highlight: int) => symbolsource
add-debug-quaternion(enable: symbol, bucket: bucket-id, position: vector, quat: quaternion) => nonesource
add-debug-rot-matrix(enable: symbol, bucket: bucket-id, mat: matrix, position: vector) => matrixsource
add-debug-sphere(enable: symbol, bucket: bucket-id, position: vector, radius: meters, color: rgba) => symbolsource
add-debug-sphere-with-transform(enable: symbol, bucket: bucket-id, position: vector, radius: meters, trans: matrix, color: rgba) => symbolsource
add-debug-spheres(enable: symbol, bucket: bucket-id, origins: inline-array, count: int, color: rgba) => symbolsource
add-debug-text-3d(enable: symbol, bucket: bucket-id, text: string, position: vector, color: font-color, screen-offset: vector2h) => symbolsource
add-debug-text-sphere(enable: symbol, bucket: bucket-id, position: vector, radius: meters, text: string, color: rgba) => symbolsource
add-debug-triangle-normal(enable: symbol, bucket: bucket-id, p0: vector, p1: vector, p2: vector, color: rgba) => symbolsource
add-debug-vector(enable: symbol, bucket: bucket-id, position: vector, direction: vector, length: meters, color: rgba) => symbolsource
add-debug-x(enable: symbol, bucket: bucket-id, position: vector, color: rgba) => symbolsource
add-debug-yrot-vector(enable: symbol, bucket: bucket-id, position: vector, angle: float, line-length: float, color: rgba) => symbolsource
debug-draw-buffers() => symbolsource
debug-pad-display(pad: cpad-info) => symbolsource
debug-percent-bar(enable: symbol, bucket: bucket-id, x: int, y: int, percentage: float, color: rgba, width: int, height: int) => symbolsource
debug-reset-buffers() => symbolsource
display-file-info() => intsource
drawable-frag-count(drbl: drawable) => intsource
history-draw-and-update(history: pos-history, draw: symbol, pos: vector) => symbolsource
history-init(history: pos-history, num-points: int) => pos-historysource
internal-draw-debug-line(bucket: bucket-id, start: vector, end: vector, start-color: rgba, mode: symbol, end-color: rgba) => pointersource
internal-draw-debug-text-3d(bucket: bucket-id, text: string, position: vector, color: font-color, screen-offset: vector2h) => pointersource
transform-float-point(in: vector, out: vector4w) => vector4wsource
Transform point in and store the result in out.
This uses the cached vf register transformation matrix
Note that the input/output order of the arguments is swapped from usual
Variables
*boundary-polygon*: inline-arraysource
*debug-lines*: inline-arraysource
*debug-text-3ds*: inline-arraysource
Variables
Types
editable: basicsource
Fields
type: type
flags: editable-flag
name: string
id: uint32
region: editable-region
owner: pair
Methods
editable-method-10(obj: editable) => nonesource
editable-method-11(obj: editable, arg0: vector) => symbolsource
select-editable!(obj: editable, arg0: symbol) => nonesource
edit-get-distance(obj: editable, arg0: vector) => floatsource
Returns the distance from the camera to the [[editable]], or -1.0
edit-get-trans(obj: editable) => vectorsource
Returns the trans
vector or null-vector
editable-method-15(obj: editable, arg0: vector, arg1: int) => nonesource
edit-coord!(obj: editable, arg0: vector, arg1: editable-flag) => nonesource
editable-method-17(obj: editable, arg0: vector) => nonesource
editable-method-18(obj: editable, arg0: vector, arg1: matrix) => nonesource
editable-method-19(obj: editable, arg0: vector) => nonesource
editable-method-20(obj: editable, arg0: vector, arg1: vector, arg2: vector, arg3: vector) => nonesource
editable-method-21(obj: editable, arg0: editable-region) => nonesource
editable-method-22(obj: editable, arg0: editable-array, arg1: int, arg2: int) => symbolsource
editable-method-23(obj: editable) => symbolsource
editable-method-24(obj: editable) => nonesource
editable-method-25(obj: editable, arg0: editable-array) => nonesource
editable-method-26(obj: editable, arg0: editable, arg1: editable-array) => nonesource
editable-method-27(obj: editable, arg0: editable-array) => editablesource
editable-method-28(obj: editable, arg0: editable-filter) => nonesource
editable-method-29(obj: editable, arg0: editable-filter) => symbolsource
editable-array: basicsource
Fields
type: type
allocated-length: int32
length: int32
region: editable-region
backup-region: editable-region
region-lock?: symbol
move-lock?: symbol
move-speed: float
selection: array
filter: editable-filter
target: editable
target-mode: uint32
target-command: basic
target-message: string
edit-plane: editable-plane
edit-plane-center: vector
edit-plane-normal: vector
level-offset: vector
level-info-id: uint32
level: uint32
edit-param0: float
data: editable
Methods
editable-array-method-9(obj: editable-array, arg0: editable-command, arg1: editable-array) => symbolsource
editable-array-method-10(obj: editable-array, arg0: vector, arg1: int) => editablesource
editable-array-method-11(obj: editable-array) => intsource
editable-array-method-12(obj: editable-array, arg0: editable-array) => nonesource
editable-array-method-13(obj: editable-array, arg0: uint, arg1: basic, arg2: string) => nonesource
editable-array-method-14(obj: editable-array, arg0: function, arg1: symbol) => nonesource
editable-array-method-15(obj: editable-array, arg0: editable) => nonesource
editable-array-method-16(obj: editable-array) => nonesource
editable-array-method-17(obj: editable-array, arg0: vector, arg1: vector) => vectorsource
editable-entity: editable-pointsource
Fields
type: type
flags: editable-flag
name: string
id: uint32
region: editable-region
owner: pair
radius: float
trans: vector
editable-face: editablesource
Fields
type: type
flags: editable-flag
name: string
id: uint32
region: editable-region
owner: pair
length: int32
normal: vector
center: vector
vertex: editable-point
Methods
editable-face-method-30(obj: editable-face, arg0: inline-array) => intsource
editable-face-method-31(obj: editable-face, arg0: vector) => vectorsource
editable-light: editable-spheresource
Fields
type: type
flags: editable-flag
name: string
id: uint32
region: editable-region
owner: pair
radius: float
trans: vector
direction: vector
color: vector
decay-start: float
ambient-point-ratio: float
brightness: float
editable-plane: editablesource
Fields
type: type
flags: editable-flag
name: string
id: uint32
region: editable-region
owner: pair
length: int32
radius: float
vertex: editable-point
Methods
editable-plane-method-30(obj: editable-plane, arg0: matrix) => intsource
editable-plane-method-31(obj: editable-plane, arg0: vector) => vectorsource
editable-player: process-drawablesource
Fields
type: type
name: string
mask: process-mask
clock: clock
parent: pointer
brother: pointer
child: pointer
ppointer: pointer
self: process-tree
pool: dead-pool
status: symbol
pid: int32
main-thread: cpu-thread
top-thread: cpu-thread
entity: entity-actor
level: level
state: state
next-state: state
trans-hook: function
post-hook: function
event-hook: function
allocated-length: int32
pad-unknown-0: uint32
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
carry: carry-info
rbody: rigid-body-control
state-flags: state-flags
state-time: time-frame
current: editable-array
select-command: function
move-command: function
extra-command: function
left-handed: basic
light-names: basic
external-cam-mode: symbol
command: function
close-menu-time: time-frame
Methods
idle: unknown
editable-player-method-21(obj: editable-player) => nonesource
editable-point: editablesource
Fields
type: type
flags: editable-flag
name: string
id: uint32
region: editable-region
owner: pair
radius: float
trans: vector
editable-region: basicsource
Fields
type: type
changed: symbol
locked: symbol
id: uint64
filter: editable-filter
tree: string
level: string
on-enter: string
on-inside: string
on-exit: string
Methods
editable-region-method-9: unknown
editable-region-method-10(obj: editable-region, arg0: int) => symbolsource
editable-region-method-11(obj: editable-region, arg0: vector, arg1: int) => nonesource
editable-region-method-12(obj: editable-region) => editable-filtersource
editable-sample: editable-pointsource
Fields
type: type
flags: editable-flag
name: string
id: uint32
region: editable-region
owner: pair
radius: float
trans: vector
editable-sphere: editable-pointsource
Fields
type: type
flags: editable-flag
name: string
id: uint32
region: editable-region
owner: pair
radius: float
trans: vector
editable-work: basicsource
Variables
*editable*: pointersource
Variables
*debug-hook*: pairsource
Types
history: basicsource
Fields
type: type
alloc-index: int32
allocated-length: int32
elts: history-elt
Methods
clear-record-tags!(obj: history, arg0: history-channel, arg1: uint, arg2: uint) => history-eltsource
First grab the latest history-elt at alloc-index
1. update it's channel
, record-id
and owner
from the provided args
2. - if it's record-tag
is zero -- return it
- otherwise, iterate through all elts
until one is found that does not match it's timestamp
- if not 0
out the record-tag
for that elt and continue iteration
clear-history-entries!(obj: history) => nonesource
Iterates through each history-elt in the elt
dynamic array
For each entry:
- clear timestamp
- clear record-tag
history-elt: structuresource
Fields
record-tag-bytes: uint8
record-tag: uint32
record-id: uint16
owner: uint8
channel: history-channel
timestamp: time-frame
origin: vector
bytes: uint8
vector: vector
float: float
collide-status: collide-status
collide-reaction-flag: uint32
pat: pat-surface
history-iterator: basicsource
Fields
type: type
max-age: uint32
owner: uint8
proc: process
out: object
channel-mask: uint64
index: int32
done?: symbol
Methods
frame-counter-delta(obj: history-iterator, arg0: history-elt) => time-framesource
Returns the difference between display base-clock.frame-counter
and the elt's timestamp
update-entries!(obj: history-iterator) => history-eltsource
Iterate through each history-elt in [[history]]
- If we hit the end set done?
to true
- If the timestamp
on the elt, minus the current framecounter exceeds max-age
, we are also done, return #f
- However if we find an elt who's owner
matches the iterator's, break out early returning that elt
get-age(obj: history-iterator, arg0: history-elt) => floatsource
Get the age of a history element
Types
memory-usage-block: basicsource
Fields
type: type
work-bsp: basic
length: int32
data: memory-usage-info
Methods
reset!(obj: memory-usage-block) => _type_source
Sets length
to 0 as well as resets all fields except name
in the associated memory-usage-info
calculate-total(obj: memory-usage-block) => intsource
print-mem-usage(obj: memory-usage-block, level: level, fmt-dest: object) => _type_source
Variables
Variables
Types
debug-menu: debug-menu-nodesource
Fields
type: type
name: string
parent: debug-menu
refresh-delay: int32
refresh-ctr: int32
context: debug-menu-context
selected-item: debug-menu-item
pix-width: int32
pix-height: int32
items: pair
debug-menu-context: basicsource
Fields
type: type
is-active: symbol
sel-length: int32
sel-menu: debug-menu
root-menu: debug-menu
joypad-func: function
joypad-item: basic
font: font-context
is-hidden: symbol
joypad-number: int32
debug-menu-item: debug-menu-nodesource
debug-menu-item-flag: debug-menu-itemsource
Fields
type: type
name: string
parent: debug-menu
refresh-delay: int32
refresh-ctr: int32
id: int32
activate-func: function
is-on: object
debug-menu-item-function: debug-menu-itemsource
Fields
type: type
name: string
parent: debug-menu
refresh-delay: int32
refresh-ctr: int32
id: int32
activate-func: function
hilite-timer: int8
debug-menu-item-submenu: debug-menu-itemsource
Fields
type: type
name: string
parent: debug-menu
refresh-delay: int32
refresh-ctr: int32
id: int32
submenu: debug-menu
debug-menu-item-var: debug-menu-itemsource
Fields
type: type
name: string
parent: debug-menu
refresh-delay: int32
refresh-ctr: int32
id: int32
display-str: string
grabbed-joypad-p: symbol
float-p: symbol
range-p: symbol
show-len: int32
inc-delay: int32
inc-delay-ctr: int32
step-delay-ctr: int32
inc-dir: int32
fval: float
fundo-val: float
frange-min: float
frange-max: float
fstart-inc: float
fstep: float
fprecision: int32
factivate-func: function
ival: int32
iundo-val: int32
irange-min: int32
irange-max: int32
istart-inc: int32
istep: int32
ihex-p: symbol
iactivate-func: function
ifloat-p: symbol
debug-menu-node: basicsource
Types
part-tester: processsource
Fields
type: type
name: string
mask: process-mask
clock: clock
parent: pointer
brother: pointer
child: pointer
ppointer: pointer
self: process-tree
pool: dead-pool
status: symbol
pid: int32
main-thread: cpu-thread
top-thread: cpu-thread
entity: entity-actor
level: level
state: state
next-state: state
trans-hook: function
post-hook: function
event-hook: function
allocated-length: int32
pad-unknown-0: uint32
heap-base: pointer
heap-top: pointer
heap-cur: pointer
stack-frame-top: stack-frame
connection-list: connectable
stack: uint8
root: trsqv
part: sparticle-launch-control
old-group: sparticle-launch-group
States
part-tester-idle: TODO
Variables
*part-tester-name*: stringsource
Variables
*sampler-compare*: uintsource
The value used to set the EE register's Timer 0 Compare Value
. Always 1
*sampler-count*: intsource
Incremented everytime a metric is sampled
@see timer0-handler
*sampler-mem*: pointersource
A pointer to where the sampled data should be stored