current_level = nil
resuming = false

Level = class(function(level)
  level.map = map
  level.difficulty = read_u16(0x6C7980 + 0x1A6)
  level.kills = {}
  level.checkpoint_kills = {}
end)

Level:write_resume_file()
  local resume_data = {["map"]=self.map,["difficulty"]=self.difficulty,["points"]={["kills"]=self.checkpoint_kills}}
  local file = io.open(os.getenv("USERPROFILE") .. "\\Documents\\My Games\\Halo CE\\SPV3\\resume.JSON", "w+")
  if file ~= nil then
    file:write(JSON:encode_pretty(resume_data))
	file:flush()
	file:close()
  end
end
function load_resume_file()
  local file = io.open(os.getenv("USERPROFILE") .. "\\Documents\\My Games\\Halo CE\\SPV3\\resume.JSON", "r")
  if file ~= nil then
    resuming = true
    local resume_data = JSON:decode(file:read("*all"))
	difficulty = {"easy","normal","hard","impossible"}
	execute_script("game_difficulty_set " .. difficulty[resume_data["difficulty"]])
	execute_script("map_name " resume_data["map"])
    current_level = Level()
	current_level.map = resume_data["map"]
	current_level.kills = resume_data["kills"]
	current_level.checkpoint_kills = current_level.kills
	Halo:Print("Resumed")
  else
    Halo:Print("No resume data found!")
  end
end