mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-17 01:53:35 +01:00
Optimizations. Saves about 20% CPU time
This commit is contained in:
@@ -245,7 +245,7 @@
|
||||
var/turf/T = open[1]
|
||||
var/dist = open[T]
|
||||
open -= T
|
||||
closed += T
|
||||
closed[T] = TRUE
|
||||
|
||||
if(isspaceturf(T))
|
||||
continue
|
||||
@@ -301,12 +301,13 @@
|
||||
|
||||
for(var/dir in GLOB.cardinal)
|
||||
var/turf/link = get_step(T, dir)
|
||||
if (!link || !T.CanAtmosPass(link)) // Check if you can get to that turf
|
||||
if (!link)
|
||||
continue
|
||||
var/dx = link.x - Ce.x
|
||||
var/dy = link.y - Ce.y
|
||||
var/target_dist = max((dist + 1 + sqrt(dx * dx + dy * dy)) / 2, dist)
|
||||
if(!(link in closed))
|
||||
// Check if it wasn't already visited and if you can get to that turf
|
||||
if(!closed[link] && T.CanAtmosPass(link))
|
||||
var/dx = link.x - Ce.x
|
||||
var/dy = link.y - Ce.y
|
||||
var/target_dist = max((dist + 1 + sqrt(dx * dx + dy * dy)) / 2, dist)
|
||||
if(link in open)
|
||||
if(open[link] > target_dist)
|
||||
open[link] = target_dist
|
||||
|
||||
Reference in New Issue
Block a user