Reverted experimental fix as game checks dll byte changes.

This commit is contained in:
2026-08-28 21:56:13 +02:00
parent e90cb788ba
commit c49c56bc97
10 changed files with 198 additions and 90 deletions

View File

@@ -27,7 +27,12 @@ from .runtime import (
select_runtime,
)
from .settings import Settings
from .world_fix import WORLD_FIX_HELPER_SHA256, packaged_world_fix_helper
from .world_fix import (
WORLD_FIX_DISABLED_REASON,
WORLD_FIX_ENABLED,
WORLD_FIX_HELPER_SHA256,
packaged_world_fix_helper,
)
LOGIN_SERVER_HOST = "5.135.35.188"
@@ -81,6 +86,8 @@ class LoginDiagnosticReport:
world_fix_helper: str
world_fix_helper_sha256: str | None
world_fix_helper_ready: bool
world_fix_enabled: bool
world_fix_disabled_reason: str | None
runtime_kind: str | None
runtime_path: str | None
runtime_error: str | None
@@ -164,7 +171,10 @@ def inspect_login_environment(
game_profile = classify_game_profile(game_exe_sha256, game_dll_sha256)
world_fix_helper = packaged_world_fix_helper()
world_fix_helper_sha256 = _sha256_if_file(world_fix_helper)
world_fix_helper_ready = world_fix_helper_sha256 == WORLD_FIX_HELPER_SHA256
world_fix_helper_ready = (
WORLD_FIX_ENABLED
and world_fix_helper_sha256 == WORLD_FIX_HELPER_SHA256
)
prefix = _runtime_prefix(paths, selection)
prefix_ready = _prefix_ready(prefix)
directx_ready = native_d3d_ready(prefix) if prefix is not None else False
@@ -176,8 +186,6 @@ def inspect_login_environment(
prefix_ready,
directx_ready,
latest_log,
world_fix_required=game_profile == "v21.75.83",
world_fix_helper_ready=world_fix_helper_ready,
)
return LoginDiagnosticReport(
preflight_ok=(
@@ -186,7 +194,6 @@ def inspect_login_environment(
and selection is not None
and prefix_ready
and directx_ready
and (game_profile != "v21.75.83" or world_fix_helper_ready)
),
checked_at=datetime.now().astimezone().isoformat(),
launcher_version=__version__,
@@ -205,6 +212,10 @@ def inspect_login_environment(
world_fix_helper=str(world_fix_helper),
world_fix_helper_sha256=world_fix_helper_sha256,
world_fix_helper_ready=world_fix_helper_ready,
world_fix_enabled=WORLD_FIX_ENABLED,
world_fix_disabled_reason=(
None if WORLD_FIX_ENABLED else WORLD_FIX_DISABLED_REASON
),
runtime_kind=selection.kind if selection is not None else None,
runtime_path=_runtime_path(selection),
runtime_error=runtime_error,
@@ -320,9 +331,6 @@ def _diagnostic_warnings(
prefix_ready: bool,
directx_ready: bool,
latest_log: Path | None,
*,
world_fix_required: bool,
world_fix_helper_ready: bool,
) -> tuple[str, ...]:
warnings: list[str] = []
if not probe.reachable:
@@ -348,11 +356,6 @@ def _diagnostic_warnings(
"The retired 0.5.8 disk-patched game.dll is active and can stall login; "
"run prepare or launch with the current launcher to restore the publisher DLL."
)
if world_fix_required and not world_fix_helper_ready:
warnings.append(
"The verified post-login world-fix helper is missing or failed integrity "
"verification; reinstall the launcher."
)
if runtime_error is not None:
warnings.append(runtime_error)
elif not prefix_ready: