--Manage the pathfinding nodes used by DEFCON. --This is important for a mapping tool because the DEFCON client will not load a map unless --the pathfinding nodes form a connected graph. local t = {} local bmp = require 'bmp' local lg = assert( love.graphics ) function t.load( filename ) local img, imgd = bmp.load( filename ) local nodes = { visible = true, points = {}, connections = {}, img = img } print( "=== Loading Nodes: ===" ) for x = 0, 799 do for y = 0, 399 do if imgd:getPixel( x, 399 - y ) > 0 then local long = 360 * ( x - 800 ) / 800 - 360 / 2 + 360 local lat = 360 * ( 600 / 800 ) * ( 600 - y ) / 600 - 180 local n = #nodes.points nodes.points[n + 1] = long nodes.points[n + 2] = lat print( long, lat ) end end end print( "=== Nodes Loaded ===" ) return setmetatable( nodes, {__index = t } ) end function t.isConnected( nodes ) end function t.draw( nodes ) lg.setPointSize( 10 ) lg.setColor( 1, 1, 1, 0.5 ) lg.points( nodes.points ) end function t.drawConnections( nodes ) end function t.save( nodes, filename ) end return t