Пример #1
0
 public void Initialize(EmulatorConsoles console, List <IKnownEmulator> knownEmulatorTypes)
 {
     DialogResult = DialogResult.Cancel;
     Console      = console;
     for (int i = 0; i < mConsolesTextBox.Items.Count; i++)
     {
         if ((EmulatorConsoles)mConsolesTextBox.Items[i] == console)
         {
             mConsolesTextBox.SetItemChecked(i, true);
         }
     }
     if (knownEmulatorTypes.Count == 0)
     {
         emulatorTypeCbx.Visible   = false;
         emulatorTypeLabel.Visible = false;
     }
     else
     {
         foreach (var knownEmulator in knownEmulatorTypes)
         {
             emulatorTypeCbx.Items.Add(knownEmulator);
         }
         emulatorTypeCbx.SelectedValueChanged += EmulatorTypeCbx_SelectedValueChanged;
     }
     Text = String.Format("Add Emulator");
 }
        public List <IReadOnlyEmulator> GetAvailableEmulators(EmulatorConsoles console)
        {
            var allEmulators        = GetAvailableEmulators();
            var emulatorsForConsole = allEmulators.Where(f => f.ConsoleNames.Contains(console)).ToList();

            return(emulatorsForConsole);
        }
Пример #3
0
        public RomSelectionWindowState(TextRenderer textRenderer, EmulatorConsoles emulator)
        {
            this.textRenderer = textRenderer;
            this.emulator     = emulator;
            var inputMgr = InputManager.Instance;

            inputMgr.InputReceived += InputMgr_InputReceived;
        }
        private void HandleRightClickCustomEmulator(EmulatorConsoles tag)
        {
            ContextMenuStrip  ctxMenu  = new ContextMenuStrip();
            ToolStripMenuItem menuItem = new ToolStripMenuItem(String.Format("Add {0} Emulator", tag.FriendlyName));

            menuItem.Tag    = tag;
            menuItem.Click += (sender, args) => CreateCustomRom?.Invoke(tag);
            ctxMenu.Items.Add(menuItem);
            treeView.ContextMenuStrip = ctxMenu;
        }
Пример #5
0
 private int ConvertConsole(EmulatorConsoles console)
 {
     if (console.Equals(EmulatorConsoles.GAMECUBE))
     {
         return(14);
     }
     if (console.Equals(EmulatorConsoles.GAME_BOY))
     {
         return(10);
     }
     if (console.Equals(EmulatorConsoles.GAME_BOY_ADVANCE))
     {
         return(12);
     }
     if (console.Equals(EmulatorConsoles.GAME_BOY_COLOR))
     {
         return(11);
     }
     if (console.Equals(EmulatorConsoles.MASTER_SYSTEM))
     {
         return(26);
     }
     if (console.Equals(EmulatorConsoles.NES))
     {
         return(22);
     }
     if (console.Equals(EmulatorConsoles.NINTENDO_64))
     {
         return(9);
     }
     if (console.Equals(EmulatorConsoles.NINTENDO_WII))
     {
         return(82);
     }
     if (console.Equals(EmulatorConsoles.PLAYSTATION_2))
     {
         return(7);
     }
     if (console.Equals(EmulatorConsoles.PLAYSTATION_3))
     {
         return(81);
     }
     if (console.Equals(EmulatorConsoles.SNES))
     {
         return(15);
     }
     return(204);
 }
Пример #6
0
        public List <RomData> GetRoms(EmulatorConsoles ConsoleToSearch)
        {
            List <RomData> returnList           = new List <RomData>();
            String         pathToSearch         = Path.Combine(rootDirectory, ConsoleToSearch.FriendlyName);
            List <String>  acceptableExtensions = ConsoleToSearch.FileExtensions;

            foreach (var file in Directory.EnumerateFiles(pathToSearch))
            {
                String fileExtension = Path.GetExtension(file);
                if (acceptableExtensions.Contains(fileExtension))
                {
                    RomData data = RetrieveRomData(file, ConsoleToSearch);
                    returnList.Add(data);
                }
            }

            return(returnList);
        }
 private String ConvertConsole(EmulatorConsoles console)
 {
     if (console.Equals(EmulatorConsoles.GAME_BOY))
     {
         return("Nintendo%20Game%20Boy");
     }
     if (console.Equals(EmulatorConsoles.GAME_BOY_ADVANCE))
     {
         return("Nintendo%20Game%20Boy%20Advance");
     }
     if (console.Equals(EmulatorConsoles.GAME_BOY_COLOR))
     {
         return("Nintendo%20Game%20Boy%20Color");
     }
     if (console.Equals(EmulatorConsoles.NINTENDO_64))
     {
         return("Nintendo%2064");
     }
     if (console.Equals(EmulatorConsoles.SNES))
     {
         return("Super%20Nintendo%20(SNES)");
     }
     if (console.Equals(EmulatorConsoles.GAMECUBE))
     {
         return("Nintendo%20GameCube");
     }
     if (console.Equals(EmulatorConsoles.MASTER_SYSTEM))
     {
         return("Sega%20Master%20System");
     }
     if (console.Equals(EmulatorConsoles.PLAYSTATION_2))
     {
         return("Sony%20Playstation%202");
     }
     if (console.Equals(EmulatorConsoles.NINTENDO_WII))
     {
         return("Nintendo%20Wii");
     }
     throw new Exception("Console not supported: " + console.FriendlyName);
 }
Пример #8
0
 public void Update()
 {
     if (leftRequested)
     {
         leftRequested = false;
         carousel.ChangeSelectedItem(InputType.LEFT);
     }
     if (rightRequested)
     {
         rightRequested = false;
         carousel.ChangeSelectedItem(InputType.RIGHT);
     }
     if (selectRequested)
     {
         selectRequested = false;
         EmulatorConsoles        console   = (EmulatorConsoles)carousel.GetSelectedItem();
         RomSelectionWindowState newWindow = new RomSelectionWindowState(textRenderer, console);
         WindowStateChanged?.Invoke(new WindowStateChangedEventArgs()
         {
             NewWindowState = newWindow
         });
     }
 }
Пример #9
0
        private RomData RetrieveRomData(String file, EmulatorConsoles ConsoleToSearch)
        {
            String pathToConfig = Path.Combine(FileUtilities.GetRootDirectory(),
                                               "Games",
                                               ConsoleToSearch.FriendlyName,
                                               String.Format("{0}.data.json", Path.GetFileNameWithoutExtension(file)));

            if (loadedRomData.ContainsKey(file))
            {
                return(loadedRomData[file]);
            }
            else if (File.Exists(pathToConfig))
            {
                RomData loadedData = FileUtilities.LoadFile <RomData>(pathToConfig, imageConverter, consoleConverter);
                loadedRomData.TryAdd(loadedData.Path, loadedData);
                return(loadedData);
            }
            else
            {
                return(new RomData()
                {
                    Path = file,
                    FriendlyName = Path.GetFileName(file),
                    Console = ConsoleToSearch,
                    IsUpToDate = false,
                    NumPlayers = "Unknown",
                    Description = "No Description",
                    Developer = "Unknown",
                    Publisher = "Unknown",
                    Rating = 0.0f,
                    BoxArt = Resource.DefaultBoxart,
                    Logo = Resource.DefaultIcon,
                    Banner = Resource.DefaultBanner,
                    Background = Resource.DefaultBackground
                });
            }
        }
 public List <IKnownEmulator> GetKnownEmulatorTypesForConsole(EmulatorConsoles console)
 {
     return(knownEmulatorTypes.Where(f => f.SupportedConsoles.Contains(console)).ToList());
 }