Daedalus Dock - Modules - TypesVar Details - Proc Details

movement_packet

A packet of information that describes the current state of a moving object

Vars

existing_loopsAssoc list of subsystems -> loop datum. Only one datum is allowed per subsystem
parentOur parent atom
processing_move_loop_flagsFlags passed from the move loop before it calls move() and unset right after. Allows for properties of a move loop to be easily checked by mechanics outside of it. Having this a bitfield rather than a type var means we don't get screwed over if the move loop gets deleted mid-move, FYI.
running_loopThe move loop that's currently running

Procs

add_loopAdds a loop to our parent. Returns the created loop if a success, null otherwise
contest_running_loopAttempts to contest the current running move loop. Returns TRUE if the loop is active, FALSE otherwise
decide_on_running_loopTries to figure out the current favorite loop to run. More complex then just deciding between two different loops, assumes no running loop currently exists

Var Details

existing_loops

Assoc list of subsystems -> loop datum. Only one datum is allowed per subsystem

parent

Our parent atom

processing_move_loop_flags

Flags passed from the move loop before it calls move() and unset right after. Allows for properties of a move loop to be easily checked by mechanics outside of it. Having this a bitfield rather than a type var means we don't get screwed over if the move loop gets deleted mid-move, FYI.

running_loop

The move loop that's currently running

Proc Details

add_loop

Adds a loop to our parent. Returns the created loop if a success, null otherwise

contest_running_loop

Attempts to contest the current running move loop. Returns TRUE if the loop is active, FALSE otherwise

decide_on_running_loop

Tries to figure out the current favorite loop to run. More complex then just deciding between two different loops, assumes no running loop currently exists