Daedalus Dock - Modules - TypesDefine Details

code/__DEFINES/path.dm

CANASTARPASS_DENSITYIf set, we make the assumption that CanAStarPass() will NEVER return FALSE unless density is true
CANASTARPASS_ALWAYS_PROCIf this is set, we bypass density checks and always call the proc
CAN_STEPA helper macro to see if it's possible to step from the first turf into the second one, minding things like door access and directional windows. Note that this can only be used inside the [datum/pathfind][pathfind datum] since it uses variables from said datum. If you really want to optimize things, optimize this, cuz this gets called a lot. We do early next.density check despite it being already checked in LinkBlockedWithAccess for short-circuit performance
STEP_NOT_HERE_BUT_THEREAnother helper macro for JPS, for telling when a node has forced neighbors that need expanding

Define Details

CANASTARPASS_ALWAYS_PROC

If this is set, we bypass density checks and always call the proc

CANASTARPASS_DENSITY

If set, we make the assumption that CanAStarPass() will NEVER return FALSE unless density is true

CAN_STEP

A helper macro to see if it's possible to step from the first turf into the second one, minding things like door access and directional windows. Note that this can only be used inside the [datum/pathfind][pathfind datum] since it uses variables from said datum. If you really want to optimize things, optimize this, cuz this gets called a lot. We do early next.density check despite it being already checked in LinkBlockedWithAccess for short-circuit performance

STEP_NOT_HERE_BUT_THERE

Another helper macro for JPS, for telling when a node has forced neighbors that need expanding