mirror of
https://github.com/derrod/legendary.git
synced 2025-08-26 20:11:04 +00:00
connected launch, dry_launch, list_files, sync_saves, verify_game
added code for launch and dry_launch
This commit is contained in:
parent
61a8235426
commit
bfb1a17419
|
@ -952,25 +952,28 @@ def post_dlm(main_window):
|
|||
#
|
||||
# launch
|
||||
#
|
||||
def launch_gtk(menu, app_name, app_title, parent):
|
||||
def launch_gtk(menu, app_names, parent):
|
||||
args = args_obj()
|
||||
app_name = app_names[0]
|
||||
app_title = app_names[1]
|
||||
igame = core.get_installed_game(app_name)
|
||||
if not igame:
|
||||
aprint(f'Game {app_name} is not currently installed!')
|
||||
log_gtk(f'Game {app_name} is not currently installed!').show_all()
|
||||
print(f'Game {app_name} is not currently installed!')
|
||||
return 1
|
||||
|
||||
if igame.is_dlc:
|
||||
aprint(f'{app_name} is DLC; please launch the base game instead!')
|
||||
log_gtk(f'{app_name} is DLC; please launch the base game instead!').show_all()
|
||||
print(f'{app_name} is DLC; please launch the base game instead!')
|
||||
return 1
|
||||
|
||||
if not os.path.exists(igame.install_path):
|
||||
aprint(f'Install directory "{igame.install_path}" appears to be deleted, cannot launch {app_name}!')
|
||||
log_gtk(f'Install directory "{igame.install_path}" appears to be deleted, cannot launch {app_name}!').show_all()
|
||||
print(f'Install directory "{igame.install_path}" appears to be deleted, cannot launch {app_name}!')
|
||||
return 1
|
||||
|
||||
if args.reset_defaults:
|
||||
aprint(f'Removing configuration section for "{app_name}"...')
|
||||
log_gtk(f'Removing configuration section for "{app_name}"...').show_all()
|
||||
print(f'Removing configuration section for "{app_name}"...')
|
||||
core.lgd.config.remove_section(app_name)
|
||||
l.destroy()
|
||||
|
@ -980,7 +983,7 @@ def launch_gtk(menu, app_name, app_title, parent):
|
|||
args.offline = core.is_offline_game(app_name) or args.offline
|
||||
if not args.offline:
|
||||
if not core.login():
|
||||
aprint('Login failed, cannot continue!')
|
||||
log_gtk('Login failed, cannot continue!').show_all()
|
||||
print('Login failed, cannot continue!')
|
||||
return 1
|
||||
|
||||
|
@ -988,12 +991,12 @@ def launch_gtk(menu, app_name, app_title, parent):
|
|||
try:
|
||||
latest = core.get_asset(app_name, update=True)
|
||||
except ValueError:
|
||||
aprint(f'Metadata for "{app_name}" does not exist, cannot launch!')
|
||||
log_gtk(f'Metadata for "{app_name}" does not exist, cannot launch!').show_all()
|
||||
print(f'Metadata for "{app_name}" does not exist, cannot launch!')
|
||||
return 1
|
||||
|
||||
if latest.build_version != igame.version:
|
||||
aprint('Game is out of date, please update or launch with update check skipping!')
|
||||
log_gtk('Game is out of date, please update or launch with update check skipping!').show_all()
|
||||
print('Game is out of date, please update or launch with update check skipping!')
|
||||
return 1
|
||||
|
||||
|
@ -1039,7 +1042,51 @@ def launch_gtk(menu, app_name, app_title, parent):
|
|||
def dry_launch_gtk(menu, app_names, parent):
|
||||
args = args_obj()
|
||||
app_name = app_names[0]
|
||||
app_title = app_names[0]
|
||||
app_title = app_names[1]
|
||||
|
||||
igame = core.get_installed_game(app_name)
|
||||
if not igame:
|
||||
log_gtk(f'Game {app_name} ({app_title}) is not currently installed!').show_all()
|
||||
print(f'Game {app_name} ({app_title}) is not currently installed!')
|
||||
return 1
|
||||
|
||||
if igame.is_dlc:
|
||||
log_gtk(f'{app_name} ({app_title}) is DLC; please launch the base game instead!').show_all()
|
||||
print(f'{app_name} ({app_title}) is DLC; please launch the base game instead!')
|
||||
return 1
|
||||
|
||||
if not os.path.exists(igame.install_path):
|
||||
log_gtk(f'Install directory "{igame.install_path}" appears to be deleted, cannot launch {app_name}!').show_all()
|
||||
print(f'Install directory "{igame.install_path}" appears to be deleted, cannot launch {app_name}!')
|
||||
return 1
|
||||
|
||||
if args.reset_defaults:
|
||||
log_gtk(f'Removing configuration section for "{app_name} ({app_title})"...').show_all()
|
||||
print(f'Removing configuration section for "{app_name} ({app_title})"...')
|
||||
core.lgd.config.remove_section(app_name)
|
||||
l.destroy()
|
||||
return
|
||||
|
||||
# override with config value
|
||||
args.offline = core.is_offline_game(app_name) or args.offline
|
||||
if not args.offline:
|
||||
if not core.login():
|
||||
log_gtk('Login failed, cannot continue!').show_all()
|
||||
print('Login failed, cannot continue!')
|
||||
return 1
|
||||
|
||||
if not args.skip_version_check and not core.is_noupdate_game(app_name):
|
||||
try:
|
||||
latest = core.get_asset(app_name, update=True)
|
||||
except ValueError:
|
||||
log_gtk(f'Metadata for "{app_name}" ({app_title}) does not exist, cannot launch!').show_all()
|
||||
print(f'Metadata for "{app_name}" ({app_title}) does not exist, cannot launch!')
|
||||
return 1
|
||||
|
||||
if latest.build_version != igame.version:
|
||||
log_gtk('Game is out of date, please update or launch with update check skipping!').show_all()
|
||||
print('Game is out of date, please update or launch with update check skipping!')
|
||||
return 1
|
||||
|
||||
params, cwd, env = core.get_launch_parameters(app_name=app_name, offline=args.offline,
|
||||
extra_args=None, user=args.user_name_override,
|
||||
|
|
Loading…
Reference in a new issue