public static Project Open(string fileName) { if (!File.Exists(fileName)) throw new FileNotFoundException(); return Path.GetFileName(fileName).ToUpperInvariant() == "GAME.SGM" ? Project.FromSgm(fileName) : new Project(fileName); }