More changes and fixes to use the new native world (game.dll) fixes.

This commit is contained in:
2026-08-28 20:34:31 +02:00
parent 7f6330a617
commit b344506071
7 changed files with 230 additions and 65 deletions

View File

@@ -139,8 +139,13 @@ def build_parser() -> argparse.ArgumentParser:
play.add_argument("--no-box", action="store_true", help="launch without X11 window styling")
play.add_argument(
"--publisher-dll",
"--no-world-fix",
action="store_true",
help="diagnostic fallback: disable the post-authentication world fix",
dest="publisher_dll",
help=(
"diagnostic fallback: disable the in-memory post-login world fix "
"(the publisher DLL is always used)"
),
)
play.add_argument("--dry-run", action="store_true")
play.add_argument("--skip-runtime-setup", action="store_true")
@@ -348,6 +353,10 @@ def _login_diagnostics(paths: AppPaths, timeout_seconds: float, as_json: bool) -
print(f"game.dll: {report.game_dll}")
if report.game_dll_sha256:
print(f"DLL SHA-256: {report.game_dll_sha256}")
world_fix_status = "ready" if report.world_fix_helper_ready else "not ready"
print(f"World fix: {world_fix_status} ({report.world_fix_helper})")
if report.world_fix_helper_sha256:
print(f"Helper SHA: {report.world_fix_helper_sha256}")
if report.runtime_kind:
print(f"Runtime: {report.runtime_kind} ({report.runtime_path or 'unknown path'})")
else:
@@ -626,11 +635,7 @@ def _play_locked(
overlay = None
_print_operation_status(as_json, 1, 4, "Preparing the managed game view…")
if not dry_run:
overlay = prepare_runtime_view(
paths,
source,
use_world_fix=not publisher_dll,
)
overlay = prepare_runtime_view(paths, source)
_print_operation_status(as_json, 2, 4, "Selecting the configured game runtime…")
selection = select_runtime(settings)
runner = _runner(paths, "play", dry_run)
@@ -652,6 +657,7 @@ def _play_locked(
selection,
runner,
use_gamebox=not no_box,
use_world_fix=not publisher_dll,
)
except KeyboardInterrupt:
current_game_log = _current_game_log(