From 639606e0bec1d408bb14ba37515c23b0adbb756d Mon Sep 17 00:00:00 2001 From: black-sliver <59490463+black-sliver@users.noreply.github.com> Date: Wed, 29 Mar 2023 20:14:45 +0200 Subject: [PATCH] worlds,clients,kvui: use user_path (#1622) --- OoTClient.py | 5 ++++- Utils.py | 5 ++++- kvui.py | 2 +- worlds/pokemon_rb/rom.py | 2 +- worlds/tloz/Rom.py | 4 ++-- 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/OoTClient.py b/OoTClient.py index 696bf390..f8a05240 100644 --- a/OoTClient.py +++ b/OoTClient.py @@ -289,7 +289,10 @@ async def patch_and_run_game(apz5_file): decomp_path = base_name + '-decomp.z64' comp_path = base_name + '.z64' # Load vanilla ROM, patch file, compress ROM - rom = Rom(Utils.local_path(Utils.get_options()["oot_options"]["rom_file"])) + rom_file_name = Utils.get_options()["oot_options"]["rom_file"] + if not os.path.exists(rom_file_name): + rom_file_name = Utils.user_path(rom_file_name) + rom = Rom(rom_file_name) apply_patch_file(rom, apz5_file, sub_file=(os.path.basename(base_name) + '.zpf' if zipfile.is_zipfile(apz5_file) diff --git a/Utils.py b/Utils.py index e2ff1931..fb090619 100644 --- a/Utils.py +++ b/Utils.py @@ -88,7 +88,10 @@ def is_frozen() -> bool: def local_path(*path: str) -> str: - """Returns path to a file in the local Archipelago installation or source.""" + """ + Returns path to a file in the local Archipelago installation or source. + This might be read-only and user_path should be used instead for ROMs, configuration, etc. + """ if hasattr(local_path, 'cached_path'): pass elif is_frozen(): diff --git a/kvui.py b/kvui.py index 0107b48e..66da8c16 100644 --- a/kvui.py +++ b/kvui.py @@ -612,7 +612,7 @@ class KivyJSONtoTextParser(JSONtoTextParser): ExceptionManager.add_handler(E()) Builder.load_file(Utils.local_path("data", "client.kv")) -user_file = Utils.local_path("data", "user.kv") +user_file = Utils.user_path("data", "user.kv") if os.path.exists(user_file): logging.info("Loading user.kv into builder.") Builder.load_file(user_file) diff --git a/worlds/pokemon_rb/rom.py b/worlds/pokemon_rb/rom.py index 9eb670b6..fbb0ec41 100644 --- a/worlds/pokemon_rb/rom.py +++ b/worlds/pokemon_rb/rom.py @@ -955,7 +955,7 @@ def get_base_rom_path(game_version: str) -> str: options = Utils.get_options() file_name = options["pokemon_rb_options"][f"{game_version}_rom_file"] if not os.path.exists(file_name): - file_name = Utils.local_path(file_name) + file_name = Utils.user_path(file_name) return file_name diff --git a/worlds/tloz/Rom.py b/worlds/tloz/Rom.py index 0eaf5855..0be96d66 100644 --- a/worlds/tloz/Rom.py +++ b/worlds/tloz/Rom.py @@ -74,5 +74,5 @@ def get_base_rom_path(file_name: str = "") -> str: if not file_name: file_name = options["tloz_options"]["rom_file"] if not os.path.exists(file_name): - file_name = Utils.local_path(file_name) - return file_name \ No newline at end of file + file_name = Utils.user_path(file_name) + return file_name