--
--   Loop reading and displaying stargate events
--

dofile("config")

function location(args)
  return "at ("..args.x()..","..args.y()..","..args.z()..") in dimension "..args.dimension()
end

function dumpevent(e, args)
  write(e, " { ")
  for k, f in pairs(args) do
    write("  " .. k .. "=" .. f())
  end
  print("}")
end

while true do
  e, args = os.pullEvent()
  if e == "sgDialOut" or e == "sgDialIn" then
    print(e, " ", args.address(), " ", location(args))
  elseif e == "sgStargateStateChange" or e == "sgIrisStateChange" then
    print(e, " from ", args.oldState(), " to ", args.newState(), " ", location(args))
  elseif e == "sgChevronEngaged" then
    print(e, " ", args.chevron(), " ", args.symbol(), " ", location(args))  
  elseif string.sub(e, 1, 2) == "sg" then
    dumpevent(e, args)
  end
end

