コード例 #1
0
ファイル: __init__.py プロジェクト: matatk/agrip
    def _launch_core(self, options=(), game=RootGame.ANY):
        if self._is_running():
            return LaunchState.ALREADY_RUNNING

        x, y = resolution_from_config()
        screen_mode = ('-window', '-width', str(x), '-height', str(y))

        parameters = self.opts_default + options + screen_mode

        if game is RootGame.ANY:
            if have_registered_data():
                pass  # prefer quake
            else:
                parameters += self.opts_open_quartz
        elif game is RootGame.QUAKE:
            if have_registered_data():
                pass  # ok
            else:
                return LaunchState.NO_REGISTERED_DATA
        elif game is RootGame.OPEN_QUARTZ:
            parameters += self.opts_open_quartz
        else:
            raise TypeError(f'Invalid game name "{game}"')

        self._engine_wrapper = EngineWrapper(parameters, self._on_error)

        if not self._engine_wrapper.engine_found():
            return LaunchState.NOT_FOUND

        self._engine_wrapper.start()
        return LaunchState.LAUNCHED
コード例 #2
0
ファイル: customise.py プロジェクト: ironcross32/agrip
 def install_data_handler(self, event):
     if have_registered_data():
         Info(self, 'The registered data files are already installed.')
     else:
         Info(self,
              ("If you've bought Quake, please select the folder where the "
               "registered Quake data files are. They'll be copied to the "
               'AudioQuake folder. Then the textures will be extracted, so '
               'you can use them in your own maps.'))
         incoming = pick_directory(
             self, "Select folder containing pak0.pak and pak1.pak")
         if incoming:
             incoming_pak0 = path.join(incoming, 'pak0.pak')
             incoming_pak1 = path.join(incoming, 'pak1.pak')
             if path.isfile(incoming_pak0) and path.isfile(incoming_pak1):
                 try:
                     progress = wx.ProgressDialog('Installation',
                                                  '',
                                                  parent=self,
                                                  style=wx.PD_APP_MODAL
                                                  | wx.PD_AUTO_HIDE)
                     copy_paks_and_create_textures_wad(
                         progress, incoming_pak0, incoming_pak1)
                     Info(self, 'Installation complete.')
                 finally:
                     progress.Destroy()
             else:
                 Error(self,
                       ('One or both of the registered data files could '
                        'not be found in the chosen directory.'))
コード例 #3
0
def registered_check():
	if not have_registered_data():
		Error(None, (
			'You must have the registered version of Quake in order to run '
			'a server that uses custom maps.\n\n' + HOW_TO_INSTALL))
		return False
	return True
コード例 #4
0
ファイル: __init__.py プロジェクト: ironcross32/agrip
	def _launch_core(self, options=(), game=RootGame.ANY):
		if self._is_running():
			return LaunchState.ALREADY_RUNNING

		screen_mode = ('-fullscreen',) if config.fullscreen() else ('-window',)

		xstr, ystr, _ = resolution_size_from_config()
		if xstr == DEFAULT_WIDTH and ystr == DEFAULT_HEIGHT:
			resolution = ()
		else:
			resolution = ('-width', xstr, '-height', ystr)

		parameters = self.opts_default + options + screen_mode + resolution

		if game is RootGame.ANY:
			if have_registered_data():
				pass  # prefer quake
			else:
				parameters += self.opts_open_quartz
		elif game is RootGame.QUAKE:
			if have_registered_data():
				pass  # ok
			else:
				return LaunchState.NO_REGISTERED_DATA
		elif game is RootGame.OPEN_QUARTZ:
			parameters += self.opts_open_quartz
		else:
			raise TypeError(f'Invalid game name "{game}"')

		self._engine_wrapper = EngineWrapper(parameters, self._on_error)

		if not self._engine_wrapper.engine_found():
			return LaunchState.NOT_FOUND

		self._engine_wrapper.start()
		return LaunchState.LAUNCHED