def test_buildcmd_placeholders(self):
        rcb_launcher = RCBLauncher()

        config_xml_file = os.path.join(os.path.dirname(__file__), 'testdata',
                                       'config',
                                       'romcollections_launchertests.xml')
        conf = Config(config_xml_file)
        conf.readXml()

        #%ROM%
        gameid = 7
        game = GameView(self.gdb).getObjectById(gameid)
        filename_rows = File(self.gdb).getRomsByGameId(game[File.COL_ID])
        rcb_launcher.romCollection = conf.romCollections[str(
            game[GameView.COL_romCollectionId])]
        cmd, precmd, postcmd, roms = rcb_launcher._buildCmd(
            RCBMockGui(), filename_rows, game, False)
        self.assertEquals(
            cmd,
            '"/Path/To/Atari2600/Emulator" "./testdata/roms/Atari 2600\\Adventure (1980) (Atari).a26"'
        )

        # %ROMFILE%
        gameid = 11
        game = GameView(self.gdb).getObjectById(gameid)
        filename_rows = File(self.gdb).getRomsByGameId(game[File.COL_ID])
        rcb_launcher.romCollection = conf.romCollections[str(
            game[GameView.COL_romCollectionId])]
        cmd, precmd, postcmd, roms = rcb_launcher._buildCmd(
            RCBMockGui(), filename_rows, game, False)
        self.assertEquals(cmd, '"/Path/To/PSX/Emulator" "Bushido Blade.img"')
예제 #2
0
    def test_buildCmd_multidisc_psx(self):
        rcb_launcher = RCBLauncher()

        config_xml_file = os.path.join(os.path.dirname(__file__), 'testdata',
                                       'config',
                                       'romcollections_imageloading.xml')
        conf = Config(config_xml_file)
        conf.readXml()

        gameid = 12
        game = GameView(self.gdb).getObjectById(gameid)
        filename_rows = File(self.gdb).getRomsByGameId(game[File.COL_ID])
        rcb_launcher.romCollection = conf.romCollections[str(
            game[GameView.COL_romCollectionId])]

        from xbmcgui import Dialog

        #select disk 1
        Dialog.select_result = 0
        cmd, precmd, postcmd, roms = rcb_launcher._buildCmd(
            RCBMockGui(), filename_rows, game, False)
        self.assertEquals(
            cmd,
            '"/Path/To/PSX/Emulator" "./testdata/roms/PSX\\Silent Hill (Disc 1 of 2).bin"'
        )
        #select disk 2
        Dialog.select_result = 1
        cmd, precmd, postcmd, roms = rcb_launcher._buildCmd(
            RCBMockGui(), filename_rows, game, False)
        self.assertEquals(
            cmd,
            '"/Path/To/PSX/Emulator" "./testdata/roms/PSX\\Silent Hill (Disc 2 of 2).bin"'
        )
예제 #3
0
    def launchEmu(self):

        Logutil.log("Begin launchEmu UIGameInfoView", util.LOG_LEVEL_INFO)

        launcher = RCBLauncher()
        launcher.launchEmu(self.gdb, self, self.selectedGameId, self.config, self.selectedGame)

        self.saveViewState(False)
        self.close()

        Logutil.log("End launchEmu UIGameInfoView", util.LOG_LEVEL_INFO)
예제 #4
0
    def test_buildCmd_multidisc(self):
        rcb_launcher = RCBLauncher()

        config_xml_file = os.path.join(os.path.dirname(__file__), 'testdata',
                                       'config',
                                       'romcollections_imageloading.xml')
        conf = Config(config_xml_file)
        conf.readXml()

        gameid = 6
        game = GameView(self.gdb).getObjectById(gameid)
        filename_rows = File(self.gdb).getRomsByGameId(game[File.COL_ID])
        rcb_launcher.romCollection = conf.romCollections[str(
            game[GameView.COL_romCollectionId])]

        from xbmcgui import Dialog

        #select disk 1
        Dialog.select_result = 0
        cmd, precmd, postcmd, roms = rcb_launcher._buildCmd(
            RCBMockGui(), filename_rows, game, False)
        self.assertEquals(
            cmd,
            '"/Path/To/Amiga/Emulator" "./testdata/roms/Amiga\MicroProse Formula One Grand Prix_Disk 1.adf"'
        )
        #select disk 2
        Dialog.select_result = 1
        cmd, precmd, postcmd, roms = rcb_launcher._buildCmd(
            RCBMockGui(), filename_rows, game, False)
        self.assertEquals(
            cmd,
            '"/Path/To/Amiga/Emulator" "./testdata/roms/Amiga\MicroProse Formula One Grand Prix_Disk 2.adf"'
        )
        #select disk 3
        Dialog.select_result = 2
        cmd, precmd, postcmd, roms = rcb_launcher._buildCmd(
            RCBMockGui(), filename_rows, game, False)
        self.assertEquals(
            cmd,
            '"/Path/To/Amiga/Emulator" "./testdata/roms/Amiga\MicroProse Formula One Grand Prix_Disk 3.adf"'
        )
        #select disk 4
        Dialog.select_result = 3
        cmd, precmd, postcmd, roms = rcb_launcher._buildCmd(
            RCBMockGui(), filename_rows, game, False)
        self.assertEquals(
            cmd,
            '"/Path/To/Amiga/Emulator" "./testdata/roms/Amiga\MicroProse Formula One Grand Prix_Disk 4.adf"'
        )
예제 #5
0
    def launchGame(self, param):
        import util
        from launcher import RCBLauncher
        from gamedatabase import GameDataBase
        from config import Config

        gdb = GameDataBase(util.getAddonDataPath())
        gdb.connect()

        #HACK if invoked from widget addon there is an additional ? in param
        param = param.replace('?', '')
        gameId = int(param.replace('launchid=', ''))

        config = Config(None)
        config.readXml()

        gui = dummyGUI()

        RCBLauncher().launchEmu(gdb, gui, gameId, config, None)
예제 #6
0
    def test_buildCmd_foldername_as_gamename(self):
        rcb_launcher = RCBLauncher()

        config_xml_file = os.path.join(os.path.dirname(__file__), 'testdata',
                                       'config',
                                       'romcollections_imageloading.xml')
        conf = Config(config_xml_file)
        conf.readXml()

        gameid = 1
        game = GameView(self.gdb).getObjectById(gameid)
        filename_rows = File(self.gdb).getRomsByGameId(game[File.COL_ID])
        rcb_launcher.romCollection = conf.romCollections[str(
            game[GameView.COL_romCollectionId])]

        cmd, precmd, postcmd, roms = rcb_launcher._buildCmd(
            RCBMockGui(), filename_rows, game, False)

        self.assertEquals(
            cmd,
            '"/Path/To/SNES/Emulator" -v -L /Applications/RetroArch.app/Contents/Resources/cores/bnes_libretro.dylib "./testdata/roms/SNES\Chrono Trigger\game.sfc"'
        )
    def test_buildcmd_amiga_multidisk(self):
        rcb_launcher = RCBLauncher()

        config_xml_file = os.path.join(os.path.dirname(__file__), 'testdata',
                                       'config',
                                       'romcollections_launchertests.xml')
        conf = Config(config_xml_file)
        conf.readXml()

        gameid = 6
        game = GameView(self.gdb).getObjectById(gameid)
        filename_rows = File(self.gdb).getRomsByGameId(game[File.COL_ID])
        rcb_launcher.romCollection = conf.romCollections[str(
            game[GameView.COL_romCollectionId])]

        cmd, precmd, postcmd, roms = rcb_launcher._buildCmd(
            RCBMockGui(), filename_rows, game, False)

        self.assertEquals(
            cmd,
            '"/Path/To/Amiga/Emulator" -0 "./testdata/roms/Amiga\MicroProse Formula One Grand Prix_Disk 1.adf" -1 "./testdata/roms/Amiga\MicroProse Formula One Grand Prix_Disk 2.adf" -2 "./testdata/roms/Amiga\MicroProse Formula One Grand Prix_Disk 3.adf" -3 "./testdata/roms/Amiga\MicroProse Formula One Grand Prix_Disk 4.adf"'
        )