/tg/ Station 13 - Modules - TypesVar Details - Proc Details

camerachunk

A 16x16 grid of the map with a list of turfs that can be seen, are visible and are dimmed.
Allows Camera Eyes to stream these chunks and know what it can and cannot see.

Vars

active_static_imagesimages currently in use on obscured turfs.
camerascameras that can see into our grid indexed by the z level of the camera
obscuredTurfsturfs our cameras cant see but are inside our grid. associative list of the form: list(obscured turf = static image on that turf)
seenbyCamera mobs that can see turfs in our grid
turfslist of all turfs, associative with that turf's static image turf -> /image
visibleTurfsturfs our cameras can see inside our grid

Procs

NewCreate a new camera chunk, since the chunks are made as they are needed.
addAdd a camera eye to the chunk, then update if changed.
hasChangedUpdates the chunk, makes sure that it doesn't update too much. If the chunk isn't being watched it will instead be flagged to update the next time an AI Eye moves near it.
removeRemove a camera eye from the chunk
updateThe actual updating. It gathers the visible turfs from cameras and puts them into the appropiate lists. Accepts an optional partial_update argument, that blocks any calls out to chunks that could affect us, like above or below
visibilityChangedCalled when a chunk has changed. I.E: A wall was deleted.

Var Details

active_static_images

images currently in use on obscured turfs.

cameras

cameras that can see into our grid indexed by the z level of the camera

obscuredTurfs

turfs our cameras cant see but are inside our grid. associative list of the form: list(obscured turf = static image on that turf)

seenby

Camera mobs that can see turfs in our grid

turfs

list of all turfs, associative with that turf's static image turf -> /image

visibleTurfs

turfs our cameras can see inside our grid

Proc Details

New

Create a new camera chunk, since the chunks are made as they are needed.

add

Add a camera eye to the chunk, then update if changed.

hasChanged

Updates the chunk, makes sure that it doesn't update too much. If the chunk isn't being watched it will instead be flagged to update the next time an AI Eye moves near it.

update_delay_buffer is used for cameras that are moving around, which are cyborg inbuilt cameras and mecha onboard cameras. This buffer should be usually lower than UPDATE_BUFFER_TIME because otherwise a moving camera can run out of its own view before updating static.

remove

Remove a camera eye from the chunk

update

The actual updating. It gathers the visible turfs from cameras and puts them into the appropiate lists. Accepts an optional partial_update argument, that blocks any calls out to chunks that could affect us, like above or below

visibilityChanged

Called when a chunk has changed. I.E: A wall was deleted.