コード例 #1
0
    def make_launcher(self):
        #if main_config.skip_mame_non_working_software:
        #	if self.metadata.specific_info.get('MAME Emulation Status', EmulationStatus.Unknown) == EmulationStatus.Broken:
        #		raise EmulationNotSupportedException('Not supported')
        #TODO Have option to skip if not working

        launch_params = LaunchCommand('mame',
                                      self.platform.get_launch_params(self))

        make_launcher(launch_params, self.software.description, self.metadata,
                      'MAME software', self.id)
コード例 #2
0
ファイル: itch.py プロジェクト: Zowayix/Meow-Launcher
    def _make_exe_launcher(self, flavour: Optional[str], exe_path: Path,
                           windows_info: Optional[Mapping]):
        metadata = copy.deepcopy(self.metadata)
        executable_name = exe_path.name
        metadata.specific_info['Executable Name'] = executable_name
        extension = exe_path.suffix
        if extension:
            metadata.specific_info['Extension'] = extension[1:].lower()
        metadata.specific_info['Executable Type'] = flavour
        #This shouldn't really happen, but sometimes the platform field in upload in the receipt is inaccurate
        #Pretend Mac doesn't exist
        if not flavour:
            print('dang this got no flavour',
                  self.path)  #I don't think this happens
            return
        if flavour in {'script', 'linux'}:
            metadata.platform = 'Linux'
        elif flavour.startswith('windows'):
            metadata.platform = 'Windows'
        elif flavour == 'jar':
            metadata.platform = 'Java'  #That will do
        elif flavour == 'html':
            metadata.platform = 'HTML'
        elif flavour == 'love':
            metadata.platform = 'LOVE'

        if exe_path.is_file():
            #Might be a folder if Mac, I guess
            add_metadata_for_raw_exe(str(exe_path), self.metadata)
            if 'icon' not in metadata.images:
                icon = look_for_icon_for_file(exe_path)
                if icon:
                    metadata.images['Icon'] = icon

        params = get_launch_params(flavour, exe_path, windows_info)
        if not params:
            if main_config.debug and flavour not in ('app-macos', 'macos'):
                print(self.path, 'Not dealing with', flavour, exe_path,
                      self.platforms, self.metadata.platform, 'yet')
            return
        if params[1]:
            metadata.emulator_name = params[1]

        make_launcher(params[0], self.name, metadata, 'itch.io',
                      str(self.path))
コード例 #3
0
ファイル: gog.py プロジェクト: Zowayix/Meow-Launcher
    def make_launcher(self, task: GOGTask):
        emulator_name, params = self.get_launcher_params(task)
        if not params:
            return
        if not task.path:  #It already won't be, just satisfying automated code checkers
            return

        task_metadata = copy.deepcopy(self.metadata)
        if task.category == 'tool':
            task_metadata.categories = ('Applications', )
        task_metadata.emulator_name = emulator_name
        if task.compatibility_flags:
            task_metadata.specific_info[
                'Compatibility Flags'] = task.compatibility_flags
        if task.is_dosbox and emulator_name != 'DOSBox':
            task_metadata.specific_info['Wrapper'] = 'DOSBox'
        if task.is_scummvm and emulator_name != 'ScummVM':
            task_metadata.specific_info['Wrapper'] = 'ScummVM'
        if task.is_residualvm and emulator_name != 'ScummVM':
            task_metadata.specific_info['Wrapper'] = 'ResidualVM'
        executable_name = os.path.basename(task.path)
        task_metadata.specific_info['Executable Name'] = executable_name
        if os.path.extsep in executable_name:
            task_metadata.specific_info['Extension'] = executable_name.rsplit(
                os.path.extsep, 1)[-1].lower()

        if not (task.is_dosbox or task.is_scummvm or task.is_residualvm):
            exe_path = _find_subpath_case_insensitive(self.folder, task.path)
            exe_icon = pc_common_metadata.get_icon_inside_exe(str(exe_path))
            if exe_icon:
                task_metadata.images['Icon'] = exe_icon
            pc_common_metadata.add_metadata_for_raw_exe(
                str(exe_path), task_metadata)

        name = self.name
        if task.name:
            if task.is_probably_subtask:
                if task.name.startswith(self.original_name):
                    name = task.name.replace(self.original_name, self.name)
                else:
                    name += ' ({0})'.format(task.name)
            else:
                name = name_utils.fix_name(task.name)

        make_launcher(params, name, task_metadata, 'GOG', str(self.folder))
コード例 #4
0
 def make_launcher(self) -> None:
     params = LaunchCommand('steam',
                            ['steam://rungameid/{0}'.format(self.appid)])
     make_launcher(params, self.name, self.metadata, 'Steam',
                   str(self.appid))
コード例 #5
0
ファイル: gog.py プロジェクト: Zowayix/Meow-Launcher
 def make_launcher(self) -> None:
     params = LaunchCommand(str(self.start_script), [],
                            working_directory=str(self.folder))
     make_launcher(params, self.name, self.metadata, 'GOG',
                   str(self.folder))