Skip to main content

background-h

source

Types


background-work

background-work: basicsource
Fields
type: type
tfrag-tree-count: int32
tfrag-trees: drawable-tree-tfrag
tfrag-levels: level
tfrag-trans-tree-count: int32
tfrag-trans-trees: drawable-tree-tfrag-trans
tfrag-trans-levels: level
tfrag-water-tree-count: int32
tfrag-water-trees: drawable-tree-tfrag-water
tfrag-water-levels: level
shrub-tree-count: int32
shrub-trees: drawable-tree-instance-shrub
shrub-levels: level
tie-tree-count: int32
tie-trees: drawable-tree-instance-tie
tie-levels: level
tie-generic: basic
tie-generic-trans: basic
wait-to-vu0: uint32

background

source

Functions


add-pc-port-background-data

add-pc-port-background-data(dma-buf: dma-buffer) => pointersource

PC Port added

add-pc-tfrag3-data

add-pc-tfrag3-data(dma-buf: dma-buffer, lev: level) => pointersource

Add PC-port specific tfrag data

background-upload-vu0

background-upload-vu0() => nonesource

finish-background

finish-background() => nonesource

Main function for drawing the background (wind, shrub, tie, tfrag)

init-background

init-background() => nonesource

Clear the tree list in background-work.

set-background-regs!

set-background-regs!(arg0: level) => nonesource

Set up registers for background drawing.
These are the ones actually used by the background renderers.

set-shrub-quard-planes!

set-shrub-quard-planes!(arg0: level) => nonesource

Update guard planes for shrub. The use-camera-other stuff can be used to effectively 'move' a level,
so the camera guard planes need to be set accordingly.

set-tie-quard-planes!

set-tie-quard-planes!(arg0: level) => nonesource

Update guard planes for tie. The use-camera-other stuff can be used to effectively 'move' a level,
so the camera guard planes need to be set accordingly.

upload-vis-bits

upload-vis-bits(arg0: level, arg1: level, arg2: bsp-header) => nonesource

Upload visibility data to the scratchpad.

Variables


*background-work*

*background-work*: background-worksource

background-vu0-block

const background-vu0-block: vu-functionsource

VISIBLE_LIST_SCRATCHPAD

VISIBLE_LIST_SCRATCHPAD: unknownsource

prototype-h

source

Types


instance

instance: drawablesource
Fields
type: type
id: int16
bsphere: vector
bucket-index: uint16
origin: matrix4h
flags: instance-flags
wind-index: uint16

prototype-array-shrub-info

prototype-array-shrub-info: basicsource
Fields
type: type
prototype-inline-array-shrub: prototype-inline-array-shrub
wind-vectors: uint32
wind-count: int32

prototype-array-tie

prototype-array-tie: arraysource
Fields
type: type
length: int32
allocated-length: int32
content-type: type
data: uint8
array-data: prototype-bucket-tie
Methods
login: unknown

prototype-bucket

prototype-bucket: basicsource
Fields
type: type
name: string
flags: prototype-flags
texture-masks-index: uint16
in-level: uint16
utextures: uint16
geometry: drawable
dists: vector
rdists: vector
near-plane: meters
near-stiff: meters
mid-plane: meters
far-plane: meters
rlength-near: float
rlength-stiff: float
rlength-mid: float
stiffness: float

prototype-bucket-shrub

prototype-bucket-shrub: prototype-bucketsource
Fields
type: type
name: string
flags: prototype-flags
texture-masks-index: uint16
in-level: uint16
utextures: uint16
geometry: drawable
dists: vector
rdists: vector
near-plane: meters
near-stiff: meters
mid-plane: meters
far-plane: meters
rlength-near: float
rlength-stiff: float
rlength-mid: float
stiffness: float
next: uint32
count: uint16
mod-count: uint16
last: dma-packet
next-clear: uint128
count-clear: uint64
count-clear-qword: uint128
last-clear: uint128

prototype-bucket-tie

prototype-bucket-tie: prototype-bucketsource
Fields
type: type
name: string
flags: prototype-flags
texture-masks-index: uint16
in-level: uint16
utextures: uint16
geometry: drawable
dists: vector
rdists: vector
near-plane: meters
near-stiff: meters
mid-plane: meters
far-plane: meters
rlength-near: float
rlength-stiff: float
rlength-mid: float
stiffness: float
next: uint32
count: uint16
frag-count: uint8
index-start: uint8
base-qw: uint16
tie-rvanish: float
tie-vanish-far: float
envmap-rfade: float
envmap-fade-far: float
envmap-shader: adgif-shader
tint-color: uint32
collide-hash-fragment-array: collide-hash-fragment-array
tie-colors: time-of-day-palette
data: uint32
color-index-qwc: uint32
scissor-frag-count: uint8
near-frag-count: uint8
mid-frag-count: uint8
far-frag-count: uint8
scissor-index-start: uint8
near-index-start: uint8
mid-index-start: uint8
far-index-start: uint8
scissor-base-qw: uint16
near-base-qw: uint16
mid-base-qw: uint16
far-base-qw: uint16
tie-next: uint32
tie-scissor-next: uint32
tie-near-next: uint32
tie-mid-next: uint32
tie-far-next: uint32
trans-next: uint32
trans-scissor-next: uint32
trans-near-next: uint32
trans-mid-next: uint32
trans-far-next: uint32
water-next: uint32
water-scissor-next: uint32
water-near-next: uint32
water-mid-next: uint32
water-far-next: uint32
envmap-next: uint32
envmap-scissor-next: uint32
envmap-near-next: uint32
envmap-mid-next: uint32
envmap-far-next: uint32
generic-next: uint32
generic-near-next: uint32
generic-mid-next: uint32
generic-far-next: uint32
vanish-next: uint32
tie-count: uint16
tie-scissor-count: uint16
tie-near-count: uint16
tie-mid-count: uint16
tie-far-count: uint16
trans-count: uint16
trans-scissor-count: uint16
trans-near-count: uint16
trans-mid-count: uint16
trans-far-count: uint16
water-count: uint16
water-scissor-count: uint16
water-near-count: uint16
water-mid-count: uint16
water-far-count: uint16
envmap-count: uint16
envmap-scissor-count: uint16
envmap-near-count: uint16
envmap-mid-count: uint16
envmap-far-count: uint16
generic-count: uint16
generic-near-count: uint16
generic-mid-count: uint16
generic-far-count: uint16
vanish-count: uint16
next-clear: uint128
count-clear: uint64
tie-geom: prototype-tie

prototype-inline-array-shrub

prototype-inline-array-shrub: drawablesource
Fields
type: type
id: int16
bsphere: vector
length: int16
data: prototype-bucket-shrub
_pad: uint32

proxy-prototype-array-tie

proxy-prototype-array-tie: basicsource
Fields
type: type
prototype-array-tie: prototype-array-tie
wind-vectors: uint32
wind-count: uint16
prototype-max-qwc: uint16

subdivide-h

source

Types


background-area

background-area: structuresource
Fields
dma-area: dma-area
vis-list: uint8

dma-area

dma-area: structuresource
Fields
instance-shrub-dma: instance-shrub-dma
draw-node-dma: draw-node-dma
tfrag-dma: tfrag-dma
instance-tie-dma: instance-tie-dma
prototype-tie-dma: prototype-tie-dma
wind-dma: wind-dma
time-of-day-dma: time-of-day-dma
decomp-work: decomp-work
ocean-vertex: ocean-vertex

foreground-area

foreground-area: structuresource
Fields
generic-work: generic-work
foreground-work: foreground-work
joint-work: joint-work
bone-mem: bone-memory
shadow-work: shadow-work

region-prim-area

region-prim-area: structuresource
Fields
region-prim-list: region-prim-list
pos: vector
unknown-vector-uiyb1: vector
ray: vector
unknown-vector-t3edh: vector
region-enter-count: int32
region-enter-list: region-prim-area
region-enter-prim-list: drawable-region-sphere
region-exit-count: int32
region-exit-list: region-prim-area
region-exit-prim-list: drawable-region-sphere
region-inside-count: int32
region-inside-list: region-prim-area
region-inside-prim-list: drawable-region-sphere
region-start-count: int32
region-start-list: region-prim-area
region-start-prim-list: drawable-region-sphere
Methods
track-entered-region!(obj: region-prim-area, region-sphere: drawable-region-sphere) => nonesource

Enumerates through the objects region-enter-list, if we find the provided region, do nothing and exit
otherwise, add the drawable-region-sphere to region-enter-prim-list and increment region-enter-count

track-exited-region!(obj: region-prim-area, arg0: drawable-region-sphere) => nonesource

Enumerates through the objects region-exit-list, if we find the provided region, do nothing and exit
otherwise, add the drawable-region-sphere to region-exit-prim-list and increment region-exit-count

track-inside-region!(obj: region-prim-area, arg0: drawable-region-sphere) => nonesource

Enumerates through the objects region-inside-list, if we find the provided region, do nothing and exit
otherwise, add the drawable-region-sphere to region-inside-prim-list and increment region-inside-count

track-start-region!(obj: region-prim-area, arg0: drawable-region-sphere) => nonesource

Enumerates through the objects region-start-list, if we find the provided region, do nothing and exit
otherwise, add the drawable-region-sphere to region-start-prim-list and increment region-start-count

sprite-area

sprite-area: structuresource
Fields
clock-data: vector
buffer: uint8

subdivide-dists

subdivide-dists: structuresource
Fields
data: uint32
vector: vector
k0s: uint128
k1s: uint128

subdivide-settings

subdivide-settings: basicsource
Fields
type: type
dist: float
meters: float
close: float
far: float

terrain-context

terrain-context: structuresource
Fields
work: work-area

terrain-stats

terrain-stats: structuresource
Fields
pris: tr-stat
tie-generic: tr-stat
tie-vanish: tr-stat
tie: tr-stat
tie-scissor: tr-stat
tie-envmap: tr-stat
tie-envmap-scissor: tr-stat
tie-trans: tr-stat
tie-scissor-trans: tr-stat
tie-envmap-trans: tr-stat
tie-envmap-scissor-trans: tr-stat
tie-water: tr-stat
tie-scissor-water: tr-stat
tie-envmap-water: tr-stat
tie-envmap-scissor-water: tr-stat
shrub-near: tr-stat
shrub: tr-stat
tfrag-scissor: tr-stat
tfrag: tr-stat
billboard: tr-stat
tfrag-trans: tr-stat
tfrag-scissor-trans: tr-stat
tfrag-water: tr-stat
tfrag-scissor-water: tr-stat
trans-pris: tr-stat
trans-shrub: tr-stat
ocean-mid: tr-stat
ocean-near: tr-stat
shadow: tr-stat
total: tr-stat

work-area

work-area: structuresource
Fields
background: background-area
foreground: foreground-area
region-prim: region-prim-area
sprite: sprite-area

Variables


*collide-stats*

*collide-stats*: collide-statssource

*terrain-stats*

*terrain-stats*: terrain-statssource

subdivide

source

Functions


clear-tr-stat

clear-tr-stat(arg0: tr-stat) => nonesource

end-perf-stat-collection

end-perf-stat-collection() => nonesource
print-perf-stats() => nonesource
print-terrain-stats() => nonesource
print-tr-stat(arg0: tr-stat, arg1: string, arg2: string) => nonesource

set-tfrag-dists!

set-tfrag-dists!(arg0: tfrag-dists) => nonesource

start-perf-stat-collection

start-perf-stat-collection() => nonesource

update-subdivide-settings!

update-subdivide-settings!(arg0: subdivide-settings, arg1: math-camera, arg2: int) => nonesource

Variables


*gomi-stats-hack*

*gomi-stats-hack*: inline-arraysource

*merc-global-stats*

*merc-global-stats*: merc-global-statssource

*perf-stats*

*perf-stats*: perf-stat-arraysource

*stat-string-tfrag-scissor*

*stat-string-tfrag-scissor*: stringsource

*stat-string-tfrag*

*stat-string-tfrag*: stringsource

*stat-string-total*

*stat-string-total*: stringsource

*subdivide-settings*

*subdivide-settings*: subdivide-settingssource

*terrain-context*

*terrain-context*: terrain-contextsource

GSH_BUCKET

GSH_BUCKET: bucket-idsource

GSH_ENABLE

GSH_ENABLE: symbolsource

GSH_MAX_DISPLAY

GSH_MAX_DISPLAY: basicsource

GSH_TIME

GSH_TIME: intsource

GSH_WHICH_STAT

GSH_WHICH_STAT: intsource

wind-h

source

Types


wind-dma

wind-dma: structuresource
Fields
buffer0: wind-vector
buffer1: wind-vector
buffer2: wind-vector

wind-vector

wind-vector: structuresource
Fields
wind-pos: vector4w
wind-vel: vector4w
stiffness: float

wind-work

wind-work: basicsource
Fields
type: type
wind-array: vector
wind-normal: vector
wind-temp: vector
wind-force: float
wind-const: vector
wind-time: uint32
wait-to-vu0: uint32
wait-to-spr: uint32
wait-from-spr: uint32
spr-index: uint32
count: uint32
next-count: uint32
last-count: uint32
to-spr: uint32
from-spr: uint32
next-mem: uint32
last-mem: uint32
next-spr: uint32
last-spr: uint32
to-ptrs: uint32

Variables


*wind-scales*

*wind-scales*: arraysource

wind-work

source

Variables


*wind-work*

*wind-work*: wind-worksource