Program.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using Gal;
  2. using Gal.OpenGL;
  3. using System;
  4. using System.IO;
  5. namespace Ryujinx
  6. {
  7. class Program
  8. {
  9. static void Main(string[] args)
  10. {
  11. IGalRenderer Renderer = new OpenGLRenderer();
  12. Switch Ns = new Switch(Renderer);
  13. if (args.Length == 1)
  14. {
  15. if (Directory.Exists(args[0]))
  16. {
  17. string[] RomFsFiles = Directory.GetFiles(args[0], "*.istorage");
  18. if (RomFsFiles.Length > 0)
  19. {
  20. Console.WriteLine("Loading as cart with RomFS.");
  21. Ns.Os.LoadCart(args[0], RomFsFiles[0]);
  22. }
  23. else
  24. {
  25. Console.WriteLine("Loading as cart WITHOUT RomFS.");
  26. Ns.Os.LoadCart(args[0]);
  27. }
  28. }
  29. else if (File.Exists(args[0]))
  30. {
  31. Console.WriteLine("Loading as homebrew.");
  32. Ns.Os.LoadProgram(args[0]);
  33. }
  34. }
  35. else
  36. {
  37. Console.WriteLine("Please specify the folder with the NSOs/IStorage or a NSO/NRO.");
  38. }
  39. using (GLScreen Screen = new GLScreen(Ns, Renderer))
  40. {
  41. Screen.Run(60.0);
  42. }
  43. Ns.Os.StopAllProcesses();
  44. Ns.Dispose();
  45. }
  46. }
  47. }