CollisionFlagMap is responsible for storing collision flag data for the game map.
When loading map data on the game-server, each object - and special tiles, such
as roofs and bridges - should call the helper functions:
fun CollisionFlagMap.add(x: Int, z: Int, level: Int, mask: Int) and
fun CollisionFlagMap.remove(x: Int, z: Int, level: Int, mask: Int)
in order to add or remove, respectively, the mask flag data.
What has been done?
What needs to be done?
Example
CollisionFlagMap
is responsible for storing collision flag data for the game map. When loading map data on the game-server, each object - and special tiles, such as roofs and bridges - should call the helper functions:fun CollisionFlagMap.add(x: Int, z: Int, level: Int, mask: Int)
andfun CollisionFlagMap.remove(x: Int, z: Int, level: Int, mask: Int)
in order to add or remove, respectively, themask
flag data.Performance
Benchmark sources: [gg/rsmod/game/pathfinder/benchmarks/][benchmark]
Machine Specs
PathFinder (BFS)
Glossary
PathFinder
instance.sequentialPathFinder
, but usesThreadLocal<PathFinder>
to find paths asynchronously.PathFinder::searchMapSize
radius (~63 tiles).PathFinder::searchMapSize
radius (~32 tiles).PathFinder::searchMapSize
radius (~8 tiles).Credits