package main import ( "steel/interfaces" "github.com/kettek/goro/fov" ) func InitializeFoV(g interfaces.GameMap) fov.Map { fovMap := fov.NewMap(g.Width(), g.Height(), fov.AlgorithmBBQ) for x := 0; x < g.Width(); x++ { for y := 0; y < g.Height(); y++ { fovMap.SetBlocksMovement(x, y, g.IsBlocked(x, y)) fovMap.SetBlocksLight(x, y, g.IsOpaque(x, y)) } } return fovMap } func RecomputeFov(fovMap fov.Map, centerX, centerY int, radius int, fovLight fov.Light) { fovMap.Recompute(centerX, centerY, radius, fovLight) }