From 6276ccf415f6d78a1ffe75a68dceb4efaeccde62 Mon Sep 17 00:00:00 2001 From: threeandthreee Date: Fri, 10 Oct 2025 11:56:15 -0400 Subject: [PATCH] LADX: move client out of root (#4226) * init * Revert "init" This reverts commit bba6b7a306b512dc77bc04acb166f83134827f98. * put it back but clean * pass args * windows stuff * delete old exe this seems like it? * use marin icon in launcher * use LauncherComponents.launch --- inno_setup.iss | 4 +- worlds/LauncherComponents.py | 2 - .../ladx/LinksAwakeningClient.py | 77 +++++++++--------- worlds/ladx/__init__.py | 14 ++++ worlds/ladx/assets/MarinV-3.png | Bin 0 -> 34629 bytes worlds/ladx/assets/MarinV-3_small.png | Bin 0 -> 2770 bytes 6 files changed, 53 insertions(+), 44 deletions(-) rename LinksAwakeningClient.py => worlds/ladx/LinksAwakeningClient.py (91%) create mode 100644 worlds/ladx/assets/MarinV-3.png create mode 100644 worlds/ladx/assets/MarinV-3_small.png diff --git a/inno_setup.iss b/inno_setup.iss index 8611c849..1891cf83 100644 --- a/inno_setup.iss +++ b/inno_setup.iss @@ -180,8 +180,8 @@ Root: HKCR; Subkey: "{#MyAppName}mm2patch\shell\open\command"; ValueData: """{a Root: HKCR; Subkey: ".apladx"; ValueData: "{#MyAppName}ladxpatch"; Flags: uninsdeletevalue; ValueType: string; ValueName: ""; Root: HKCR; Subkey: "{#MyAppName}ladxpatch"; ValueData: "Archipelago Links Awakening DX Patch"; Flags: uninsdeletekey; ValueType: string; ValueName: ""; -Root: HKCR; Subkey: "{#MyAppName}ladxpatch\DefaultIcon"; ValueData: "{app}\ArchipelagoLinksAwakeningClient.exe,0"; ValueType: string; ValueName: ""; -Root: HKCR; Subkey: "{#MyAppName}ladxpatch\shell\open\command"; ValueData: """{app}\ArchipelagoLinksAwakeningClient.exe"" ""%1"""; ValueType: string; ValueName: ""; +Root: HKCR; Subkey: "{#MyAppName}ladxpatch\DefaultIcon"; ValueData: "{app}\ArchipelagoLauncher.exe,0"; ValueType: string; ValueName: ""; +Root: HKCR; Subkey: "{#MyAppName}ladxpatch\shell\open\command"; ValueData: """{app}\ArchipelagoLauncher.exe"" ""%1"""; ValueType: string; ValueName: ""; Root: HKCR; Subkey: ".aptloz"; ValueData: "{#MyAppName}tlozpatch"; Flags: uninsdeletevalue; ValueType: string; ValueName: ""; Root: HKCR; Subkey: "{#MyAppName}tlozpatch"; ValueData: "Archipelago The Legend of Zelda Patch"; Flags: uninsdeletekey; ValueType: string; ValueName: ""; diff --git a/worlds/LauncherComponents.py b/worlds/LauncherComponents.py index be58b048..1bc78be1 100644 --- a/worlds/LauncherComponents.py +++ b/worlds/LauncherComponents.py @@ -217,8 +217,6 @@ components: List[Component] = [ description="Install an APWorld to play games not included with Archipelago by default."), Component('Text Client', 'CommonClient', 'ArchipelagoTextClient', func=launch_textclient, description="Connect to a multiworld using the text client."), - Component('Links Awakening DX Client', 'LinksAwakeningClient', - file_identifier=SuffixIdentifier('.apladx')), Component('LttP Adjuster', 'LttPAdjuster'), # Ocarina of Time Component('OoT Client', 'OoTClient', diff --git a/LinksAwakeningClient.py b/worlds/ladx/LinksAwakeningClient.py similarity index 91% rename from LinksAwakeningClient.py rename to worlds/ladx/LinksAwakeningClient.py index 293e782f..62b1a274 100644 --- a/LinksAwakeningClient.py +++ b/worlds/ladx/LinksAwakeningClient.py @@ -3,9 +3,6 @@ ModuleUpdate.update() import Utils -if __name__ == "__main__": - Utils.init_logging("LinksAwakeningContext", exception_logger="Client") - import asyncio import base64 import binascii @@ -26,16 +23,14 @@ import typing from CommonClient import (CommonContext, get_base_parser, gui_enabled, logger, server_loop) from NetUtils import ClientStatus -from worlds.ladx import LinksAwakeningWorld -from worlds.ladx.Common import BASE_ID as LABaseID -from worlds.ladx.GpsTracker import GpsTracker -from worlds.ladx.TrackerConsts import storage_key -from worlds.ladx.ItemTracker import ItemTracker -from worlds.ladx.LADXR.checkMetadata import checkMetadataTable -from worlds.ladx.Locations import get_locations_to_id, meta_to_name -from worlds.ladx.Tracker import LocationTracker, MagpieBridge, Check - - +from . import LinksAwakeningWorld +from .Common import BASE_ID as LABaseID +from .GpsTracker import GpsTracker +from .TrackerConsts import storage_key +from .ItemTracker import ItemTracker +from .LADXR.checkMetadata import checkMetadataTable +from .Locations import get_locations_to_id, meta_to_name +from .Tracker import LocationTracker, MagpieBridge, Check class GameboyException(Exception): pass @@ -760,42 +755,44 @@ def run_game(romfile: str) -> None: except FileNotFoundError: logger.error(f"Couldn't launch ROM, {args[0]} is missing") -async def main(): - parser = get_base_parser(description="Link's Awakening Client.") - parser.add_argument("--url", help="Archipelago connection url") - parser.add_argument("--no-magpie", dest='magpie', default=True, action='store_false', help="Disable magpie bridge") - parser.add_argument('diff_file', default="", type=str, nargs="?", - help='Path to a .apladx Archipelago Binary Patch file') +def launch(*launch_args): + async def main(): + parser = get_base_parser(description="Link's Awakening Client.") + parser.add_argument("--url", help="Archipelago connection url") + parser.add_argument("--no-magpie", dest='magpie', default=True, action='store_false', help="Disable magpie bridge") + parser.add_argument('diff_file', default="", type=str, nargs="?", + help='Path to a .apladx Archipelago Binary Patch file') - args = parser.parse_args() + args = parser.parse_args(launch_args) - if args.diff_file: - import Patch - logger.info("patch file was supplied - creating rom...") - meta, rom_file = Patch.create_rom_file(args.diff_file) - if "server" in meta and not args.connect: - args.connect = meta["server"] - logger.info(f"wrote rom file to {rom_file}") + if args.diff_file: + import Patch + logger.info("patch file was supplied - creating rom...") + meta, rom_file = Patch.create_rom_file(args.diff_file) + if "server" in meta and not args.connect: + args.connect = meta["server"] + logger.info(f"wrote rom file to {rom_file}") - ctx = LinksAwakeningContext(args.connect, args.password, args.magpie) + ctx = LinksAwakeningContext(args.connect, args.password, args.magpie) - ctx.server_task = asyncio.create_task(server_loop(ctx), name="server loop") + ctx.server_task = asyncio.create_task(server_loop(ctx), name="server loop") - # TODO: nothing about the lambda about has to be in a lambda - ctx.la_task = create_task_log_exception(ctx.run_game_loop()) - if gui_enabled: - ctx.run_gui() - ctx.run_cli() + # TODO: nothing about the lambda about has to be in a lambda + ctx.la_task = create_task_log_exception(ctx.run_game_loop()) + if gui_enabled: + ctx.run_gui() + ctx.run_cli() - # Down below run_gui so that we get errors out of the process - if args.diff_file: - run_game(rom_file) + # Down below run_gui so that we get errors out of the process + if args.diff_file: + run_game(rom_file) - await ctx.exit_event.wait() - await ctx.shutdown() + await ctx.exit_event.wait() + await ctx.shutdown() + + Utils.init_logging("LinksAwakeningContext", exception_logger="Client") -if __name__ == '__main__': colorama.just_fix_windows_console() asyncio.run(main()) colorama.deinit() diff --git a/worlds/ladx/__init__.py b/worlds/ladx/__init__.py index 58d6c168..a00076a6 100644 --- a/worlds/ladx/__init__.py +++ b/worlds/ladx/__init__.py @@ -9,6 +9,7 @@ import settings from BaseClasses import CollectionState, Entrance, Item, ItemClassification, Location, Tutorial from Fill import fill_restrictive from worlds.AutoWorld import WebWorld, World +from worlds.LauncherComponents import Component, components, SuffixIdentifier, Type, launch, icon_paths from .Common import * from . import ItemIconGuessing from .Items import (DungeonItemData, DungeonItemType, ItemName, LinksAwakeningItem, TradeItemData, @@ -29,6 +30,19 @@ from .Rom import LADXProcedurePatch, write_patch_data DEVELOPER_MODE = False +def launch_client(*args): + from .LinksAwakeningClient import launch as ladx_launch + launch(ladx_launch, name=f"{LINKS_AWAKENING} Client", args=args) + +components.append(Component(f"{LINKS_AWAKENING} Client", + func=launch_client, + component_type=Type.CLIENT, + icon=LINKS_AWAKENING, + file_identifier=SuffixIdentifier('.apladx'))) + +icon_paths[LINKS_AWAKENING] = "ap:worlds.ladx/assets/MarinV-3_small.png" + + class LinksAwakeningSettings(settings.Group): class RomFile(settings.UserFilePath): """File name of the Link's Awakening DX rom""" diff --git a/worlds/ladx/assets/MarinV-3.png b/worlds/ladx/assets/MarinV-3.png new file mode 100644 index 0000000000000000000000000000000000000000..9174a632660ab568b15c3b6fbc7e75aa9ef1d22d GIT binary patch literal 34629 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 t%&M5rXVH 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 Y0h^GuY{%G~sQ>@~07*qoM6N<$f?QZ66951J literal 0 HcmV?d00001