Files
Aurora.3/code/__DEFINES/path.dm
Fluffy 2455785fd9 Bots revamp (#18649)
* revamp logic

* ui, navbeacons

* JPS, buildable navbeacons, heap, more pain

* sdf

* sdaf

* Update html/changelogs/fluffyghost-botsnavbeaconspath.yml

Co-authored-by: Ben <91219575+Ben10083@users.noreply.github.com>
Signed-off-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>

* sdf

* sd

* SSmove_manager, navbeacon and cleanbot fixes

* sdaf

* swap most mobs to use movement loops

* dfgs

---------

Signed-off-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
Co-authored-by: Ben <91219575+Ben10083@users.noreply.github.com>
2024-03-21 20:11:56 +00:00

26 lines
1.3 KiB
Plaintext

// Define set that decides how an atom will be scanned for astar things
/// If set, we make the assumption that CanAStarPass() will NEVER return FALSE unless density is true
#define CANASTARPASS_DENSITY 0
/// If this is set, we bypass density checks and always call the proc
#define CANASTARPASS_ALWAYS_PROC 1
/**
* 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.
* 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
*/
#define CAN_STEP(cur_turf, next, simulated_only, pass_info, avoid) (next && !next.density && !(simulated_only && SSpathfinder.space_type_cache[next.type]) && !cur_turf.LinkBlockedWithAccess(next, pass_info) && (next != avoid))
#define DIAGONAL_DO_NOTHING NONE
#define DIAGONAL_REMOVE_ALL 1
#define DIAGONAL_REMOVE_CLUNKY 2
// Set of delays for path_map reuse
// The longer you go, the higher the risk of invalid paths
#define MAP_REUSE_INSTANT (0)
#define MAP_REUSE_SNAPPY (0.5 SECONDS)
#define MAP_REUSE_FAST (2 SECONDS)
#define MAP_REUSE_SLOW (20 SECONDS)
// Longest delay, so any maps older then this will be discarded from the subsystem cache
#define MAP_REUSE_SLOWEST (60 SECONDS)