function gadget:GetInfo()
	return {
		name = "RoadWorks",
		desc = "Messing about with roads",
		author = "Argh",
		date = "November 12, 2009",
		license = "(C) 2009, GNU GPL v. 2",
		layer = 1,
		enabled = true,
	}
end

local RoadMe = {}

if (gadgetHandler:IsSyncedCode()) then
--////////////////////////////////////////////////////////////////////
--////////////////////////////////////////////////////////////////////
--////////////////////////////////////////////////////////////////////
function gadget:Initialize()
	for ud,_ in pairs(UnitDefs) do
		if UnitDefs[ud].customParams.road == '1' then
			table.insert(RoadMe,ud,1)
		end
	end
end


function gadget:UnitFinished(unitID, unitDefID, teamID)
	if RoadMe[unitDefID] then
		--Spring.Echo("road building")
		local x,y,z = Spring.GetUnitPosition(unitID)
		local facing = Spring.GetUnitBuildFacing(unitID)
		--Spring.Echo(facing)
		local startX,startZ,finishX,finishZ
		if facing == 0 or facing == 2 then
			startX = math.floor(x - 4*UnitDefs[unitDefID].xsize) +4
			startZ = math.floor(z - 4*UnitDefs[unitDefID].zsize) +4
			finishX = math.floor(x + 4*UnitDefs[unitDefID].xsize) -4
			finishZ = math.floor(z + 4*UnitDefs[unitDefID].zsize) -4
		end

		if facing == 1 or facing == 3 then
			startX = math.floor(x - 4*UnitDefs[unitDefID].zsize) +4
			startZ = math.floor(z - 4*UnitDefs[unitDefID].xsize) +4
			finishX = math.floor(x + 4*UnitDefs[unitDefID].zsize) -4
			finishZ = math.floor(z + 4*UnitDefs[unitDefID].xsize) -4
		end
		for xPos = startX,finishX do
			for zPos = startZ,finishZ do
				Spring.SetMapSquareTerrainType(xPos,zPos,1)
			end
		end
		Spring.AdjustHeightMap(startX, startZ, finishX, finishZ,0)
		Spring.SetTerrainTypeData(1,2.0,1.0,1.0,1.0)
	end	
end
--////////////////////////////////////////////////////////////////////
--////////////////////////////////////////////////////////////////////
--////////////////////////////////////////////////////////////////////
end