/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 string z level of the camera this could one day be an alist but vv doesn't work with it yet
currently_updatingAre we currently being updated by the cameras subsystem?
obscuredTurfsturfs our cameras cant see but are inside our grid. associative list of the form: list(obscured turf = static image on that turf)
processing_camerasList of cameras that need to be processed. For use in yielding when being lazyupdated by the cameras subsystem
processing_visible_turfsList of newly visible turfs that are currently being generated. For use in lazyupdating.
seenbyCamera mobs that can see turfs in our grid
turfslist of all turfs, associative with that turf's static image turf -> /image
update_sourcesList of atoms that caused the chunk to update - assoc atom ref() to opacity on queue
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, updating the chunk if necessary.
force_updateForces the chunk to update immediately
queue_updateQueues the chuck to be updated after a delay.
removeRemove a camera eye from the chunk
reset_updateReset any in progress update
updatePerfroms a full update of the chunk
update_with_turfsTakes a list of newly visible turfs, updates our static images to match
yield_updateUpdates our chunk in a lazy fashion, so large amounts of cameras don't lead to overtime spikes Returns FALSE if the update is unfinished, TRUE if it's complete

Var Details

active_static_images

images currently in use on obscured turfs.

cameras

cameras that can see into our grid indexed by the string z level of the camera this could one day be an alist but vv doesn't work with it yet

currently_updating

Are we currently being updated by the cameras subsystem?

obscuredTurfs

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

processing_cameras

List of cameras that need to be processed. For use in yielding when being lazyupdated by the cameras subsystem

processing_visible_turfs

List of newly visible turfs that are currently being generated. For use in lazyupdating.

seenby

Camera mobs that can see turfs in our grid

turfs

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

update_sources

List of atoms that caused the chunk to update - assoc atom ref() to opacity on queue

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, updating the chunk if necessary.

force_update

Forces the chunk to update immediately

queue_update

Queues the chuck to be updated after a delay.

remove

Remove a camera eye from the chunk

reset_update

Reset any in progress update

update

Perfroms a full update of the chunk

update_with_turfs

Takes a list of newly visible turfs, updates our static images to match

yield_update

Updates our chunk in a lazy fashion, so large amounts of cameras don't lead to overtime spikes Returns FALSE if the update is unfinished, TRUE if it's complete