From 92289523ad93e388e45de1a133e3f61d7da4f6d3 Mon Sep 17 00:00:00 2001 From: NikolajDanger Date: Mon, 8 Dec 2025 22:45:24 +0100 Subject: [PATCH] :sparkles: Initial commit --- .gitignore | 3 + Sly3Client.py | 2 + Sly3Interface.py | 378 ++++++++++++++++++++++++++++++++++++ Sly3Options.py | 119 ++++++++++++ Sly3Pool.py | 68 +++++++ Sly3Regions.py | 88 +++++++++ Sly3Rules.py | 208 ++++++++++++++++++++ __init__.py | 167 ++++++++++++++++ data/Constants.py | 303 +++++++++++++++++++++++++++++ data/Items.py | 107 ++++++++++ data/Locations.py | 52 +++++ icon.png | Bin 0 -> 228644 bytes pcsx2_interface/__init__.py | 0 pcsx2_interface/pine.py | 250 ++++++++++++++++++++++++ 14 files changed, 1745 insertions(+) create mode 100644 .gitignore create mode 100644 Sly3Client.py create mode 100644 Sly3Interface.py create mode 100644 Sly3Options.py create mode 100644 Sly3Pool.py create mode 100644 Sly3Regions.py create mode 100644 Sly3Rules.py create mode 100644 __init__.py create mode 100644 data/Constants.py create mode 100644 data/Items.py create mode 100644 data/Locations.py create mode 100644 icon.png create mode 100644 pcsx2_interface/__init__.py create mode 100644 pcsx2_interface/pine.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e6fae4a --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/build/target +.vscode/ +__pycache__/ \ No newline at end of file diff --git a/Sly3Client.py b/Sly3Client.py new file mode 100644 index 0000000..f1cf1bf --- /dev/null +++ b/Sly3Client.py @@ -0,0 +1,2 @@ +def launch_client(): + pass \ No newline at end of file diff --git a/Sly3Interface.py b/Sly3Interface.py new file mode 100644 index 0000000..47a6e12 --- /dev/null +++ b/Sly3Interface.py @@ -0,0 +1,378 @@ +from typing import Optional, Dict, NamedTuple +import struct +from logging import Logger +from enum import IntEnum + +from .pcsx2_interface.pine import Pine +from .data.Constants import ADDRESSES, MENU_RETURN_DATA + +class Sly3Episode(IntEnum): + Title_Screen = 0 + An_Opera_of_Fear = 1 + Rumble_Down_Under = 2 + Flight_of_Fancy = 3 + A_Cold_Alliance = 4 + Dead_Men_Tell_No_Tales = 5 + Honor_Among_Thieves = 6 + +class PowerUps(NamedTuple): + attack = False + binocucom = False + bombs = False + unknown = False + trigger_Bomb = False + fishing_pole = False + + alarm_clock = False + adrenaline_burst = False + health_extractor = False + hover_pack = False + insanity_strike = False + grapple_cam = False + size_destabilizer = False + rage_bomb = False + + reduction_bomb = False + ball_form = False + berserker_charge = False + juggernaut_throw = False + guttural_roar = False + fists_of_flame = False + temporal_lock = False + raging_inferno_flop = False + + diablo_fire_slam = False + smoke_bomb = False + combat_dodge = False + paraglider = False + silent_obliteration = False + feral_pounce = False + mega_jump = False + knockout_dive = False + + shadow_power_1 = False + thief_reflexes = False + shadow_power_2 = False + rocket_boots = False + treasure_map = False + shield = False + venice_disguise = False + photographer_disguise = False + + pirate_disguise = False + spin_1 = False + spin_2 = False + spin_3 = False + jump_1 = False + jump_2 = False + jump_3 = False + push_1 = False + + push_2 = False + push_3 = False + +class GameInterface(): + """ + Base class for connecting with a pcsx2 game + """ + + pcsx2_interface: Pine = Pine() + logger: Logger + game_id_error: Optional[str] = None + current_game: Optional[str] = None + addresses: Dict = {} + + def __init__(self, logger) -> None: + self.logger = logger + + def _read8(self, address: int): + return self.pcsx2_interface.read_int8(address) + + def _read16(self, address: int): + return self.pcsx2_interface.read_int16(address) + + def _read32(self, address: int): + return self.pcsx2_interface.read_int32(address) + + def _read_bytes(self, address: int, n: int): + return self.pcsx2_interface.read_bytes(address, n) + + def _read_float(self, address: int): + return struct.unpack("f",self.pcsx2_interface.read_bytes(address, 4))[0] + + def _write8(self, address: int, value: int): + self.pcsx2_interface.write_int8(address, value) + + def _write16(self, address: int, value: int): + self.pcsx2_interface.write_int16(address, value) + + def _write32(self, address: int, value: int): + self.pcsx2_interface.write_int32(address, value) + + def _write_bytes(self, address: int, value: bytes): + self.pcsx2_interface.write_bytes(address, value) + + def _write_float(self, address: int, value: float): + self.pcsx2_interface.write_bytes(address, struct.pack("f", value)) + + def connect_to_game(self): + """ + Initializes the connection to PCSX2 and verifies it is connected to the + right game + """ + if not self.pcsx2_interface.is_connected(): + self.pcsx2_interface.connect() + if not self.pcsx2_interface.is_connected(): + return + self.logger.info("Connected to PCSX2 Emulator") + try: + game_id = self.pcsx2_interface.get_game_id() + # The first read of the address will be null if the client is faster than the emulator + self.current_game = None + if game_id in ADDRESSES.keys(): + self.current_game = game_id + self.addresses = ADDRESSES[game_id] + if self.current_game is None and self.game_id_error != game_id and game_id != b'\x00\x00\x00\x00\x00\x00': + self.logger.warning( + f"Connected to the wrong game ({game_id})") + self.game_id_error = game_id + except RuntimeError: + pass + except ConnectionError: + pass + + def disconnect_from_game(self): + self.pcsx2_interface.disconnect() + self.current_game = None + self.logger.info("Disconnected from PCSX2 Emulator") + + def get_connection_state(self) -> bool: + try: + connected = self.pcsx2_interface.is_connected() + return connected and self.current_game is not None + except RuntimeError: + return False + +class Sly3Interface(GameInterface): + def _reload(self, reload_data: bytes): + self._write_bytes( + self.addresses["reload values"], + reload_data + ) + self._write32(self.addresses["reload"], 1) + + def _get_job_address(self, task: int) -> int: + pointer = self._read32(self.addresses["DAG root"]) + for _ in range(task): + pointer = self._read32(pointer+0x20) + + return pointer + + def get_current_map(self) -> int: + return self._read32(self.addresses["map id"]) + + def get_current_job(self) -> int: + return self._read32(self.addresses["job id"]) + + def set_current_job(self, job: int) -> None: + self._write32(self.addresses["job id"], job) + + def set_items_received(self, n:int) -> None: + self._write32(self.addresses["items received"], n) + + def to_episode_menu(self) -> None: + self.logger.info("Skipping to episode menu") + if ( + self.get_current_map() == 35 and + self.get_current_job() == 1797 + ): + self.set_current_job(0xffffffff) + # self.set_items_received(0) + + self._reload(bytes.fromhex(MENU_RETURN_DATA)) + + def unlock_episodes(self) -> None: + self._write8(self.addresses["episode unlocks"], 8) + + def in_cutscene(self) -> bool: + frame_counter = self._read16(self.addresses["frame counter"]) + return frame_counter > 10 + + def skip_cutscene(self) -> None: + pressing_x = self._read8(self.addresses["x pressed"]) == 255 + + if self.in_cutscene() and pressing_x: + self._write32(self.addresses["skip cutscene"],0) + +if __name__ == "__main__": + interf = Sly3Interface(Logger("test")) + interf.connect_to_game() + + byte_list = [ + [ + False, # ??? + False, # ??? + True, # Sly/Bentley square attack + True, # Binocucom + True, # Bentley's bombs + False, # ??? + True, # Trigger Bomb + True # Fishing Pole + ], + [ + True, # Alarm Clock + True, # Adrenaline Burst + True, # Health Extractor + True, # Hover Pack (Doesn't activate until you reload) + True, # Insanity Strike + True, # Grapple Came + True, # Size Destabilizer + True # Rage Bomb + ], + [ + True, # Reduction Bomb + True, # Ball Form + True, # Berskerker Charge + True, # Juggernaut Throw + True, # Gutteral Roar + True, # Fists of Flame + True, # Temporal Lock + True # Raging Inferno Flop + ], + [ + True, # Diablo Fire Slam + True, # Smoke Bomb + True, # Combat Dodge + True, # Paraglider + True, # Silent Obliteration + True, # Feral Pounce + True, # Mega Jump + True # Knockout Dive + ], + [ + True, # Shadow Power Lvl 1 + True, # Thief Reflexes + True, # Shadow Power Lvl 2 + True, # Rocket Boots + True, # Treasure Map + False, # ??? + True, # Venice Disguise + True # Photographer Disguise + ], + [ + True, # Pirate Disguise + True, # Spin Attack lvl 1 + True, # Spin Attack lvl 2 + True, # Spin Attack lvl 3 + True, # Jump Attack lvl 1 + True, # Jump Attack lvl 2 + True, # Jump Attack lvl 3 + True # Push Attack lvl 1 + ], + [ + True, # Push Attack lvl 1 + True, # Push Attack lvl 1 + False, + False, + False, + False, + False, + False + ], + [ + False, + False, + False, + False, + False, + False, + False, + False + ], + ] + + # byte_list = [[False for _ in range(8)] for _ in range(8)] + + data = b''.join( + int(''.join(str(int(i)) for i in byte[::-1]),2).to_bytes(1,"big") + for byte in byte_list + ) + + interf._write_bytes(0x468DCC,data) + + # data = interf._read_bytes(0x468DCC, 8) + # bits = [ + # bool(int(b)) + # for byte in data + # for b in f"{byte:08b}"[::-1] + # ] + + # print(bits) + + interf._write32(0x468DDC, 10000) + + # thiefnet_values = list(range(9)) + list(range(10,)) + + + # def read_text(address: int): + # text = "" + + # while True: + # character = interf._read_bytes(address,2) + + # if character == b"\x00\x00": + # break + + # text += character.decode("utf-16-le") + + # address += 2 + + # return text + + # def find_string_id(_id: int): + # string_table_address = interf._read32(0x47A2D8) + # i = 0 + # while True: + # string_id = interf._read32(string_table_address+i*8) + # if string_id == _id: + # return interf._read32(string_table_address+i*8+4) + # i += 1 + + + # print(" {") + # for i in range(44): + # address = 0x343208+i*0x3c + # interf._write32(address,i+1) + # interf._write32(address+0xC,0) + + # name_id = interf._read32(address+0x14) + # name_address = find_string_id(name_id) + # name_text = read_text(name_address) + + # description_id = interf._read32(address+0x18) + # description_address = find_string_id(description_id) + + # print( + # " " + + # f"\"{name_text}\": "+ + # f"({hex(name_address)},{hex(description_address)})," + # ) + + # print(" }") + + # string_table_address = interf._read32(0x47A2D8) + # for i in range(10): + # print("----") + # string_id = interf._read32(string_table_address+i*8) + # print(string_id) + # string_address = interf._read32(string_table_address+i*8+4) + # print(hex(string_address)) + # print(read_text(string_address)) + + # print(interf._read32(0x6b4110+0x44)) + print(interf._read32(0x1365be0+0x44)) + print() + print(interf._read32(0x1357f80+0x44)) + print(interf._read32(0x1350560+0x44)) + print(interf._read32(0x135aba0+0x44)) + print(interf._read32(0x36DB98)) \ No newline at end of file diff --git a/Sly3Options.py b/Sly3Options.py new file mode 100644 index 0000000..c592879 --- /dev/null +++ b/Sly3Options.py @@ -0,0 +1,119 @@ +from Options import ( + DeathLink, + StartInventoryPool, + PerGameCommonOptions, + Choice, + Toggle, + DefaultOnToggle, + Range, + OptionGroup +) +from dataclasses import dataclass + +class StartingEpisode(Choice): + """ + Select Which episode to start with. + """ + + display_name = "Starting Episode" + option_An_Opera_of_Fear = 0 + option_Rumble_Down_Under = 1 + option_Flight_of_Fancy = 2 + option_A_Cold_Alliance = 3 + option_Dead_Men_Tell_No_Tales = 4 + default = 0 + +class Goal(Choice): + """ + Which boss you must defeat to goal. + """ + display_name = "Goal" + option_Don_Octavio = 0 + option_Dark_Mask = 1 + option_Black_Baron = 2 + option_General_Tsao = 3 + option_Captain_LeFwee = 4 + option_Dr_M = 5 + option_All_Bosses = 6 + default = 5 + + +class IncludeMegaJump(Toggle): + """ + Add the Mega Jump ability to the pool. + """ + + display_name = "Include Mega Jump" + + +class CoinsMinimum(Range): + """ + The minimum number of coins you'll receive when you get a "Coins" filler + item. + """ + + display_name = "Coins Minimum" + range_start = 0 + range_end = 1000 + default = 50 + + +class CoinsMaximum(Range): + """ + The maximum number of coins you'll receive when you get a "Coins" filler + item. + """ + + display_name = "Coins Maximum" + range_start = 0 + range_end = 1000 + default = 200 + + +class ThiefNetCostMinimum(Range): + """ + The minimum number of coins items on ThiefNet will cost. + """ + + display_name = "ThiefNet Cost Minimum" + range_start = 0 + range_end = 9999 + default = 200 + + +class ThiefNetCostMaximum(Range): + """ + The maximum number of coins items on ThiefNet will cost. + """ + + display_name = "ThiefNet Cost Maximum" + range_start = 0 + range_end = 9999 + default = 2000 + +@dataclass +class Sly3Options(PerGameCommonOptions): + start_inventory_from_pool: StartInventoryPool + death_link: DeathLink + starting_episode: StartingEpisode + goal: Goal + include_mega_jump: IncludeMegaJump + coins_minimum: CoinsMinimum + coins_maximum: CoinsMaximum + thiefnet_minimum: ThiefNetCostMinimum + thiefnet_maximum: ThiefNetCostMaximum + +sly3_option_groups = [ + OptionGroup("Goal",[ + Goal + ]), + OptionGroup("Items",[ + IncludeMegaJump, + CoinsMinimum, + CoinsMaximum + ]), + OptionGroup("Locations",[ + ThiefNetCostMinimum, + ThiefNetCostMaximum + ]) +] \ No newline at end of file diff --git a/Sly3Pool.py b/Sly3Pool.py new file mode 100644 index 0000000..0a861e8 --- /dev/null +++ b/Sly3Pool.py @@ -0,0 +1,68 @@ +import typing + +from BaseClasses import Item + +from .data.Constants import EPISODES +from .data.Items import item_groups + +if typing.TYPE_CHECKING: + from . import Sly3World + +def gen_powerups(world: "Sly3World") -> list[Item]: + """Generate the power-ups for the item pool""" + powerups = [] + for item_name in item_groups["Power-Up"]: + if item_name == "Mega Jump" and not world.options.include_mega_jump: + continue + elif item_name == "Progressive Shadow Power": + powerups.append(world.create_item(item_name)) + powerups.append(world.create_item(item_name)) + elif item_name[:11] == "Progressive": + powerups.append(world.create_item(item_name)) + powerups.append(world.create_item(item_name)) + powerups.append(world.create_item(item_name)) + else: + powerups.append(world.create_item(item_name)) + + return powerups + +def gen_crew(world: "Sly3World") -> list[Item]: + """Generate the crew for the item pool""" + crew = [] + for item_name in item_groups["Crew"]: + crew.append(world.create_item(item_name)) + + return crew + +def gen_episodes(world: "Sly3World") -> list[Item]: + """Generate the progressive episodes items for the item pool""" + all_episodes = [ + item_name for item_name in item_groups["Episode"] + for _ in range(4) + ] + + # Make sure the starting episode is precollected + starting_episode_n = world.options.starting_episode.value + starting_episode = f"Progressive {list(EPISODES.keys())[starting_episode_n]}" + all_episodes.remove(starting_episode) + world.multiworld.push_precollected(world.create_item(starting_episode)) + + return [world.create_item(e) for e in all_episodes] + + + +def gen_pool_sly3(world: "Sly3World") -> list[Item]: + """Generate the item pool for the world""" + item_pool = [] + item_pool += gen_powerups(world) + item_pool += gen_episodes(world) + item_pool += gen_crew(world) + + unfilled_locations = world.multiworld.get_unfilled_locations(world.player) + remaining = len(unfilled_locations)-len(item_pool) + if world.options.goal.value < 6: + remaining -= 1 + assert remaining >= 0, f"There are more items than locations ({len(item_pool)} items; {len(unfilled_locations)} locations)" + item_pool += [world.create_item(world.get_filler_item_name()) for _ in range(remaining)] + + return item_pool diff --git a/Sly3Regions.py b/Sly3Regions.py new file mode 100644 index 0000000..797f85a --- /dev/null +++ b/Sly3Regions.py @@ -0,0 +1,88 @@ +import typing + +from BaseClasses import Region, CollectionState, Location + +from .data.Locations import location_dict +from .data.Constants import EPISODES, CHALLENGES + +if typing.TYPE_CHECKING: + from . import Sly3World + from .Sly3Options import Sly3Options + +def create_access_rule(episode: str, n: int, options: "Sly3Options", player: int): + """Returns a function that checks if the player has access to a specific region""" + def rule(state: CollectionState): + access = True + item_name = f"Progressive {episode}" + if episode == "Honor Among Thieves": + access = access and state.count_group("Crew", player) == 7 + else: + access = access and state.count(item_name, player) >= n + + if n > 1: + requirements = sum({ + "An Opera of Fear": [ + [], + ["Binocucom", "Bentley"], + ["Carmelita", "Murray", "Ball Form", "Disguise (Venice)"] + ], + "Rumble Down Under": [ + [], + ["Murray", "Guru"], + ["Bentley"] + ], + "Flight of Fancy": [ + [], + ["Murray", "Bentley", "Guru", "Fishing Pole", "Penelope"], + ["Hover Pack", "Carmelita", "Binocucom"] + ], + "A Cold Alliance": [ + ["Bentley", "Murray", "Guru", "Penelope", "Binocucom"], + ["Disguise (Photographer)", "Grapple-Cam", "Panda King"], + ["Carmelita"] + ], + "Dead Men Tell No Tales": [ + [], + ["Bentley", "Penelope", "Grapple-Cam", "Murray", "Silent Obliteration", "Treasure Map"], + ["Panda King", "Dimitri"] + ] + }[episode][:n-2], []) + access = access and all(state.has(i, player) for i in requirements) + + return access + + return rule + +def create_regions_sly3(world: "Sly3World"): + """Creates a region for each chapter of each episode""" + + menu = Region("Menu", world.player, world.multiworld) + menu.add_locations({ + f"ThiefNet {i+1:02}": location_dict[f"ThiefNet {i+1:02}"].code + for i in range(37) + }) + + world.multiworld.regions.append(menu) + + for i, episode in enumerate(EPISODES.keys()): + for n in range(1,5): + if n == 2 and episode == "Honor Among Thieves": + break + + region = Region(f"Episode {i+1} ({n})", world.player, world.multiworld) + region.add_locations({ + f"{episode} - {job}": location_dict[f"{episode} - {job}"].code + for job in EPISODES[episode][n-1] + }) + region.add_locations({ + f"{episode} - {challenge}": location_dict[f"{episode} - {challenge}"].code + for challenge in CHALLENGES[episode][n-1] + }) + + world.multiworld.regions.append(region) + menu.connect( + region, + None, + create_access_rule(episode, n, world.options, world.player) + ) + diff --git a/Sly3Rules.py b/Sly3Rules.py new file mode 100644 index 0000000..a6cd29b --- /dev/null +++ b/Sly3Rules.py @@ -0,0 +1,208 @@ +import typing +from math import ceil + +from BaseClasses import CollectionState + +from worlds.generic.Rules import add_rule +from .data.Constants import EPISODES + +if typing.TYPE_CHECKING: + from . import Sly3World + +def set_rules_sly3(world: "Sly3World"): + player = world.player + + # Putting ThiefNet stuff out of logic, to make early game less slow. + # Divides the items into 8 groups of 3. First groups requires 2 episodes + # items to be in logic, second group requires 4, etc. + for i in range(1,35): + episode_items_n = ceil(i/4)*2 + add_rule( + world.get_location(f"ThiefNet {i:02}"), + lambda state, n=episode_items_n: ( + state.has_group("Episode", player, n) + ) + ) + + def require(location: str, item: str|list[str]): + if isinstance(item,str): + add_rule( + world.get_location(location), + lambda state, i=item: ( + state.has(i, player) + ) + ) + else: + add_rule( + world.get_location(location), + lambda state, i=item: ( + all(state.has(j, player) for j in i) + ) + ) + + ### Job requirements + ## An Opera of fear + # An Opera of Fear - Police HQ + + require("An Opera of Fear - Octavio Snap", "Binocucom") + # An Opera of Fear - Into the Depths + require("An Opera of Fear - Canal Chase", "Bentley") + + require("An Opera of Fear - Turf War!", "Carmelita") + require("An Opera of Fear - Tar Ball", ["Murray", "Ball Form"]) + # An Opera of Fear - Run 'n Bomb + require("An Opera of Fear - Guard Duty", "Disguise (Venice)") + + require("An Opera of Fear - Operation: Tar-Be Gone!", "Bombs") + + ## Rumble Down Under + # Rumble Down Under - Search for the Guru + + require("Rumble Down Under - Spelunking", "Murray") + # Rumble Down Under - Dark Caves + # Rumble Down Under - Big Truck + require("Rumble Down Under - Unleash the Guru", "Guru") + + # Rumble Down Under - The Claw + require("Rumble Down Under - Lemon Rage", "Bentley") + # Rumble Down Under - Hungry Croc + + # Rumble Down Under - Operation: Moon Crash + + ## Flight of Fancy + # Flight of Fancy - Hidden Flight Roster + + require("Flight of Fancy - Frame Team Belgium", ["Murray", "Bentley", "Guru", "Fishing Pole"]) + require("Flight of Fancy - Frame Team Iceland", "Murray") + require("Flight of Fancy - Cooper Hangar Defense", "Penelope") + require("Flight of Fancy - ACES Semifinals", ["Murray", "Bentley", "Guru", "Fishing Pole", "Penelope"]) + + require("Flight of Fancy - Giant Wolf Massacre", "Binocucom") + require("Flight of Fancy - Windmill Firewall", "Hover Pack") + require("Flight of Fancy - Beauty and the Beast", "Carmelita") + + require("Flight of Fancy - Operation: Turbo Dominant Eagle", "Paraglider") + + ## A Cold Alliance + require("A Cold Alliance - King of Fire", ["Bentley", "Murray", "Guru", "Penelope", "Binocucom"]) + + require("A Cold Alliance - Get a Job", "Disguise (Photographer)") + require("A Cold Alliance - Tearful Reunion", "Panda King") + require("A Cold Alliance - Grapple-Cam Break-In", "Grapple-Cam") + require("A Cold Alliance - Laptop Retrieval", ["Disguise (Photographer)", "Panda King", "Grapple-Cam"]) + + # A Cold Alliance - Vampiric Defense + # A Cold Alliance - Down the Line + require("A Cold Alliance - A Battery of Peril", "Carmelita") + + # A Cold Alliance - Operation: Wedding Crasher + + ## Dead Men Tell No Tales + require("Dead Men Tell No Tales - The Talk of Pirates", "Disguise (Pirate)") + + require("Dead Men Tell No Tales - Dynamic Duo", ["Bentley", "Penelope", "Grapple-Cam"]) + require("Dead Men Tell No Tales - Jollyboat of Destruction", "Murray") + require("Dead Men Tell No Tales - X Marks the Spot", ["Bentley", "Penelope", "Grapple-Cam", "Murray", "Silent Obliteration", "Treasure Map"]) + + require("Dead Men Tell No Tales - Crusher from the Depths", "Panda King") + require("Dead Men Tell No Tales - Deep Sea Danger", "Dimitri") + # Dead Men Tell No Tales - Battle on the High Seas + + require("Dead Men Tell No Tales - Operation: Reverse Double-Cross", "Guru") + + ## Honor Among Thieves + # Honor Among Thieves - Carmelita to the Rescue + # Honor Among Thieves - A Deadly Bite + # Honor Among Thieves - The Dark Current + # Honor Among Thieves - Bump-Charge-Jump + # Honor Among Thieves - Danger in the Skie + # Honor Among Thieves - The Ancestors' Gauntlet + # Honor Among Thieves - Stand your Ground + # Honor Among Thieves - Final Legacy + + ### Challenge requirements + ## An Opera of Fear + require("An Opera of Fear - Canal Chase - Expert Course", "Bentley") + require("An Opera of Fear - Air Time", ["Murray", "Ball Form"]) + # An Opera of Fear - Tower Scramble + # An Opera of Fear - Coin Chase + require("An Opera of Fear - Speed Bombing", "Bombs") + # An Opera of Fear - Octavio Canal Challenge + # An Opera of Fear - Octavio's Last Stand + require("An Opera of Fear - Venice Treasure Hunt", "Treasure Map") + + ## Rumble Down Under + # Rumble Down Under - Rock Run + # Rumble Down Under - Cave Sprint + # Rumble Down Under - Cave Mayhem + # Rumble Down Under - Scaling the Drill + require("Rumble Down Under - Guard Swappin'", "Guru") + # Rumble Down Under - Quick Claw + require("Rumble Down Under - Pressure Brawl", "Bentley") + # Rumble Down Under - Croc and Coins + # Rumble Down Under - Carmelita Climb + require("Rumble Down Under - Outback Treasure Hunt", "Treasure Map") + + ## Flight of Fancy + # Flight of Fancy - Castle Quick Climb + require("Flight of Fancy - Muggshot Goon Attack", "Penelope") + require("Flight of Fancy - Security Breach", "Penelope") + require("Flight of Fancy - Defend the Hangar", "Penelope") + require("Flight of Fancy - Precision Air Duel", ["Murray", "Bentley", "Guru", "Fishing Pole", "Penelope"]) + require("Flight of Fancy - Wolf Rampage", "Guru") + require("Flight of Fancy - One Woman Army", "Carmelita") + require("Flight of Fancy - Going Out On A Wing", "Paraglider") + require("Flight of Fancy - Holland Treasure Hunt", "Treasure Map") + + ## A Cold Alliance + require("A Cold Alliance - Big Air in China", ["Bentley", "Murray", "Guru", "Penelope", "Binocucom"]) + require("A Cold Alliance - Sharpshooter", "Panda King") + # A Cold Alliance - Treetop Tangle + # A Cold Alliance - Tsao Showdown + require("A Cold Alliance - China Treasure Hunt", "Treasure Map") + + ## Dead Men Tell No Tales + # Dead Men Tell No Tales - Patch Grab + # Dead Men Tell No Tales - Stealth Challenge + require("Dead Men Tell No Tales - Boat Bash", "Murray") + require("Dead Men Tell No Tales - Last Ship Sailing", ["Bentley", "Penelope", "Grapple-Cam", "Murray", "Silent Obliteration", "Treasure Map"]) + # Dead Men Tell No Tales - Pirate Treasure Hunt + + ## Honor Among Thieves + # Beauty versus the Beast + # Road Rage + # Dr. M Dogfight + # Ultimate Gauntlet + # Battle Against Time + + if world.options.goal.value < 6: + victory_condition = [ + "An Opera of Fear - Operation: Tar-Be Gone!", + "Rumble Down Under - Operation: Moon Crash", + "Flight of Fancy - Operation: Turbo Dominant Eagle", + "A Cold Alliance - Operation: Wedding Crasher", + "Dead Men Tell No Tales - Operation: Reverse Double-Cross", + "Honor Among Thieves - Final Legacy" + ][world.options.goal.value] + + victory_location = world.multiworld.get_location(victory_condition, world.player) + victory_location.address = None + victory_location.place_locked_item(world.create_event("Victory")) + world.multiworld.completion_condition[world.player] = lambda state: state.has("Victory", world.player) + elif world.options.goal.value == 6: + def access_rule(state: CollectionState): + victory_conditions = [ + "An Opera of Fear - Operation: Tar-Be Gone!", + "Rumble Down Under - Operation: Moon Crash", + "Flight of Fancy - Operation: Turbo Dominant Eagle", + "A Cold Alliance - Operation: Wedding Crasher", + "Dead Men Tell No Tales - Operation: Reverse Double-Cross", + "Honor Among Thieves - Final Legacy" + ] + + return all( + world.multiworld.get_location(cond,world.player).access_rule(state) + for cond in victory_conditions + ) + + world.multiworld.completion_condition[world.player] = access_rule diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..7e5bdec --- /dev/null +++ b/__init__.py @@ -0,0 +1,167 @@ +from typing import Dict, List, Any, Optional, Mapping +import logging + +from BaseClasses import Item, ItemClassification +from worlds.AutoWorld import World, WebWorld +from worlds.LauncherComponents import ( + Component, + Type, + components, + launch, + icon_paths, +) + +from .Sly3Options import sly3_option_groups, Sly3Options +from .Sly3Regions import create_regions_sly3 +from .Sly3Pool import gen_pool_sly3 +from .Sly3Rules import set_rules_sly3 +from .data.Items import item_dict, item_groups, Sly3Item +from .data.Locations import location_dict, location_groups +from .data.Constants import EPISODES + +## Client stuff +def run_client(): + from .Sly3Client import launch_client + launch(launch_client, name="Sly3Client") + +icon_paths["sly3_ico"] = f"ap:{__name__}/icon.png" +components.append( + Component("Sly 3 Client", func=run_client, component_type=Type.CLIENT, icon="sly3_ico") +) + + +## UT Stuff +def map_page_index(episode: str) -> int: + mapping = {k: i for i,k in enumerate(EPISODES.keys())} + + return mapping.get(episode,0) + +## The world +class Sly3Web(WebWorld): + game = "Sly 3: Honor Among Thieves" + option_groups = sly3_option_groups + +class Sly3World(World): + """ + Sly 3: Honor Among Thieves is a 2004 stealth action video game developed by + Sucker Punch Productions and published by Sony Computer Entertainment for + the PlayStation 2. + """ + + game = "Sly 3: Honor Among Thieves" + web = Sly3Web() + + options_dataclass = Sly3Options + options: Sly3Options + topology_present = True + + item_name_to_id = {item.name: item.code for item in item_dict.values()} + item_name_groups = item_groups + location_name_to_id = { + location.name: location.code for location in location_dict.values() + } + location_name_groups = location_groups + + thiefnet_costs: List[int] = [] + + # this is how we tell the Universal Tracker we want to use re_gen_passthrough + @staticmethod + def interpret_slot_data(slot_data: Dict[str, Any]) -> Dict[str, Any]: + return slot_data + + # and this is how we tell Universal Tracker we don't need the yaml + ut_can_gen_without_yaml = True + + def validate_options(self, opt: Sly3Options): + if opt.coins_maximum < opt.coins_minimum: + logging.warning( + f"{self.player_name}: " + + f"Coins minimum cannot be larger than maximum (min: {opt.coins_minimum}, max: {opt.coins_maximum}). Swapping values." + ) + temp = opt.coins_minimum.value + opt.coins_minimum.value = opt.coins_maximum.value + opt.coins_maximum.value = temp + + if opt.thiefnet_maximum < opt.thiefnet_minimum: + logging.warning( + f"{self.player_name}: " + + f"Thiefnet minimum cannot be larger than maximum (min: {opt.thiefnet_minimum}, max: {opt.thiefnet_maximum}). Swapping values." + ) + temp = opt.thiefnet_minimum.value + opt.thiefnet_minimum.value = opt.thiefnet_maximum.value + opt.thiefnet_maximum.value = temp + + def generate_early(self) -> None: + # implement .yaml-less Universal Tracker support + if hasattr(self.multiworld, "generation_is_fake"): + if hasattr(self.multiworld, "re_gen_passthrough"): + # I'm doing getattr purely so pylance stops being mad at me + re_gen_passthrough = getattr(self.multiworld, "re_gen_passthrough") + + if "Sly 3: Honor Among Thieves" in re_gen_passthrough: + slot_data = re_gen_passthrough["Sly 3: Honor Among Thieves"] + self.thiefnet_costs = slot_data["thiefnet_costs"] + self.options.starting_episode.value = slot_data["starting_episode"] + self.options.goal.value = slot_data["goal"] + self.options.include_mega_jump.value = slot_data["include_mega_jump"] + self.options.coins_minimum.value = slot_data["coins_minimum"] + self.options.coins_maximum.value = slot_data["coins_maximum"] + self.options.thiefnet_minimum.value = slot_data["thiefnet_minimum"] + self.options.thiefnet_maximum.value = slot_data["thiefnet_maximum"] + return + + self.validate_options(self.options) + + thiefnet_min = self.options.thiefnet_minimum.value + thiefnet_max = self.options.thiefnet_maximum.value + self.thiefnet_costs = sorted([ + self.random.randint(thiefnet_min,thiefnet_max) + for _ in range(37) + ]) + + def create_regions(self) -> None: + create_regions_sly3(self) + + def get_filler_item_name(self) -> str: + # Currently just coins + return self.random.choice(list(self.item_name_groups["Filler"])) + + def create_item( + self, name: str, override: Optional[ItemClassification] = None + ) -> Item: + item = item_dict[name] + + if override is not None: + return Sly3Item(name, override, item.code, self.player) + + return Sly3Item(name, item.classification, item.code, self.player) + + def create_event(self, name: str): + return Sly3Item(name, ItemClassification.progression, None, self.player) + + def create_items(self) -> None: + items_to_add = gen_pool_sly3(self) + + self.multiworld.itempool += items_to_add + + def set_rules(self) -> None: + set_rules_sly3(self) + + def get_options_as_dict(self) -> Dict[str, Any]: + return self.options.as_dict( + "death_link", + "starting_episode", + "goal", + "include_mega_jump", + "coins_minimum", + "coins_maximum", + "thiefnet_minimum", + "thiefnet_maximum", + ) + + def fill_slot_data(self) -> Mapping[str, Any]: + slot_data = self.get_options_as_dict() + slot_data["thiefnet_costs"] = self.thiefnet_costs + + return slot_data + diff --git a/data/Constants.py b/data/Constants.py new file mode 100644 index 0000000..e894cd7 --- /dev/null +++ b/data/Constants.py @@ -0,0 +1,303 @@ +EPISODES = { + "An Opera of Fear": [ + [ + "Police HQ" + ], + [ + "Octavio Snap", + "Into the Depths", + "Canal Chase" + ], + [ + "Turf War!", + "Tar Ball", + "Run 'n Bomb", + "Guard Duty", + ], + [ + "Operation: Tar-Be Gone!" + ] + ], + "Rumble Down Under": [ + [ + "Search for the Guru" + ], + [ + "Spelunking", + "Dark Caves", + "Big Truck", + "Unleash the Guru" + ], + [ + "The Claw", + "Lemon Rage", + "Hungry Croc" + ], + [ + "Operation: Moon Crash" + ] + ], + "Flight of Fancy": [ + [ + "Hidden Flight Roster" + ], + [ + "Frame Team Belgium", + "Frame Team Iceland", + "Cooper Hangar Defense", + "ACES Semifinals" + ], + [ + "Giant Wolf Massacre", + "Windmill Firewall", + "Beauty and the Beast" + ], + [ + "Operation: Turbo Dominant Eagle" + ] + ], + "A Cold Alliance": [ + [ + "King of Fire" + ], + [ + "Get a Job", + "Tearful Reunion", + "Grapple-Cam Break-In", + "Laptop Retrieval" + ], + [ + "Vampiric Demise", + "Down the Line", + "A Battery of Peril" + ], + [ + "Operation: Wedding Crasher" + ] + ], + "Dead Men Tell No Tales": [ + [ + "The Talk of Pirates" + ], + [ + "Dynamic Duo", + "Jollyboat of Destruction", + "X Marks the Spot" + ], + [ + "Crusher from the Depths", + "Deep Sea Danger", + "Battle on the High Seas" + ], + [ + "Operation: Reverse Double-Cross" + ] + ], + "Honor Among Thieves": [ + [ + "Carmelita to the Rescue", + "A Deadly Bite", + "The Dark Current", + "Bump-Charge-Jump", + "Danger in the Skies", + "The Ancestor's Gauntlet", + "Stand Your Ground", + "Final Legacy" + ] + ] +} + +CHALLENGES = { + "An Opera of Fear": [ + [], + [ + "Canal Chase - Expert Course" + ], + [ + "Air Time", + "Tower Scramble", + "Coin Chase", + ], + [ + "Speed Bombing", + "Octavio Canal Challenge", + "Octavio's Last Stand", + "Venice Treasure Hunt" + ] + ], + "Rumble Down Under": [ + [ + "Rock Run" + ], + [ + "Cave Sprint", + "Cave Mayhem", + "Scaling the Drill", + "Guard Swappin'" + ], + [ + "Quick Claw", + "Pressure Brawl", + "Croc and Coins" + ], + [ + "Carmelita Climb", + "Outback Treasure Hunt" + ] + ], + "Flight of Fancy": [ + [ + "Castle Quick Climb" + ], + [ + "Muggshot Goon Attack", + "Security Breach", + "Defend the Hangar", + "Precision Air Duel" + ], + [ + "Wolf Rampage", + "One Woman Army", + ], + [ + "Going Out On A Wing", + "Holland Treasure Hunt" + ] + ], + "A Cold Alliance": [ + [ + "Big Air in China" + ], + [ + "Sharpshooter", + "Treetop Tangle", + "Tsao Showdown" + ], + [], + [ + "China Treasure Hunt" + ] + ], + "Dead Men Tell No Tales": [ + [ + "Patch Grab", + "Stealth Challenge" + ], + [ + "Boat Bash", + "Last Ship Sailing" + ], + [], + [ + "Pirate Treasure Hunt" + ] + ], + "Honor Among Thieves": [ + [ + "Beauty versus the Beast", + "Road Rage", + "Dr. M Dogfight", + "Ultimate Gauntlet", + "Battle Against Time" + ] + ] +} + +ADDRESSES = { + "SCUS-97464" : { + "map id": 0x47989C, + "job id": 0x36DB98, + "reload": 0x4797C4, + "reload values": 0x4797CC, + "episode unlocks": 0x56AEC8, + "frame counter": 0x389BE0, + "x pressed": 0x36E78E, + "skip cutscene": 0x389C20, + "jobs": [ + [ + [0x1335d10] + ], + [ + [0x1350560,0x1357f80,0x135aba0] + ], + [], + [], + [], + [] + ], + "text": { + "powerups": [ + {}, + {}, + { + "Trigger Bomb": (0x592c40,0x592e00), + "Fishing Pole": (0x59b000,0x59b2d0), + "Alarm Clock": (0x5962b0,0x5964c0), + "Adrenaline Burst": (0x593410,0x5934f0), + "Health Extractor": (0x5935c0,0x593660), + "Hover Pack": (0x593750,0x593840), + "Insanity Strike": (0x598480,0x598690), + "Grapple-Cam": (0x59acd0,0x59ae50), + "Size Destabilizer": (0x592f30,0x593010), + "Rage Bomb": (0x599250,0x599420), + "Reduction Bomb": (0x5939b0,0x593b00), + "Be The Ball": (0x59a9c0,0x59ab70), + "Berserker Charge": (0x5955a0,0x595700), + "Juggernaut Throw": (0x594c50,0x594dd0), + "Guttural Roar": (0x595830,0x595920), + "Fists of Flame": (0x5944a0,0x594610), + "Temporal Lock": (0x593c40,0x593e60), + "Raging Inferno Flop": (0x595a50,0x595bd0), + "Diablo Fire Slam": (0x595260,0x595450), + "Smoke Bomb": (0x595d60,0x595ee0), + "Combat Dodge": (0x596050,0x596190), + "Paraglide": (0x5966d0,0x5968d0), + "Silent Obliteration": (0x596ba0,0x596df0), + "Feral Pounce": (0x597290,0x5973f0), + "Mega Jump": (0x5975f0,0x597780), + "Knockout Dive": (0x597e10,0x598130), + "Shadow Power Level 1": (0x599c30,0x599eb0), + "Thief Reflexes": (0x596f70,0x597110), + "Shadow Power Level 2": (0x59a140,0x59a310), + "Rocket Boots": (0x57aa00,0x57ace0), + "Treasure Map": (0x57a3e0,0x57a780), + "ENGLISHpowerup_shield_name": (0x59b550,0x579c50), + "Venice Disguise": (0x57ae40,0x57b040), + "Photographer Disguise": (0x57b220,0x57b3b0), + "Pirate Disguise": (0x57b5d0,0x57b7b0), + "Spin Attack Level 1": (0x57b9e0,0x57bc40), + "Spin Attack Level 2": (0x57be80,0x57c130), + "Spin Attack Level 3": (0x57c300,0x57c5b0), + "Jump Attack Level 1": (0x57c7c0,0x57c970), + "Jump Attack Level 2": (0x57cb00,0x57cc30), + "Jump Attack Level 3": (0x57cdf0,0x57d010), + "Push Attack Level 1": (0x57d370,0x57d680), + "Push Attack Level 2": (0x57d940,0x57dc80), + "Push Attack Level 3": (0x57e070,0x57e3b0), + }, + {}, + {}, + {} + ] + } + } +} + +MENU_RETURN_DATA = ( + "794C15EE"+ + "419A69B1"+ + "FA2319BC"+ + "FF2E5E8A"+ + "ACD1E787"+ + "3A2B7DB0"+ + "B94681B3"+ + "95777951"+ + "CE8FEAA9"+ + "07FB6D94"+ + "F890094F"+ + "3BFA55F6"+ + "A0310D22"+ + "F93E1EEE"+ + "7F2319BC"+ + "7B8274B1" +) \ No newline at end of file diff --git a/data/Items.py b/data/Items.py new file mode 100644 index 0000000..819ec34 --- /dev/null +++ b/data/Items.py @@ -0,0 +1,107 @@ +from typing import NamedTuple + +from BaseClasses import Item, ItemClassification + +from .Constants import EPISODES + +class Sly3Item(Item): + game: str = "Sly 3: Honor Among Thieves" + +class Sly3ItemData(NamedTuple): + name: str + code: int + category: str + classification: ItemClassification + +filler_list = [ + ("Coins", ItemClassification.filler, "Filler"), +] + +powerup_list = [ + ("Binocucom", ItemClassification.progression, "Power-Up"), + ("Smoke Bomb", ItemClassification.useful, "Power-Up"), + ("Knockout Dive", ItemClassification.useful, "Power-Up"), + ("Combat Dodge", ItemClassification.useful, "Power-Up"), + ("Paraglider", ItemClassification.progression, "Power-Up"), + ("Rocket Boots", ItemClassification.useful, "Power-Up"), + ("Silent Obliteration", ItemClassification.progression, "Power-Up"), + ("Feral Pounce", ItemClassification.useful, "Power-Up"), + ("Thief Reflexes", ItemClassification.useful, "Power-Up"), + ("Progressive Shadow Power", ItemClassification.useful, "Power-Up"), + ("Treasure Map", ItemClassification.progression, "Power-Up"), + ("Disguise (Venice)", ItemClassification.progression, "Power-Up"), + ("Disguise (Photographer)", ItemClassification.progression, "Power-Up"), + ("Disguise (Pirate)", ItemClassification.progression, "Power-Up"), + ("Progressive Spin Attack", ItemClassification.useful, "Power-Up"), + ("Progressive Jump Attack", ItemClassification.useful, "Power-Up"), + ("Progressive Push Attack", ItemClassification.useful, "Power-Up"), + ("Mega Jump", ItemClassification.useful, "Power-Up"), + + ("Bombs", ItemClassification.progression, "Power-Up"), + ("Trigger Bomb", ItemClassification.useful, "Power-Up"), + ("Fishing Pole", ItemClassification.progression, "Power-Up"), + ("Alarm Clock", ItemClassification.useful, "Power-Up"), + ("Adrenaline Burst", ItemClassification.useful, "Power-Up"), + ("Health Extractor", ItemClassification.useful, "Power-Up"), + ("Insanity Strike", ItemClassification.useful, "Power-Up"), + ("Grapple-Cam", ItemClassification.progression, "Power-Up"), + ("Size Destabilizer", ItemClassification.useful, "Power-Up"), + ("Rage Bomb", ItemClassification.useful, "Power-Up"), + ("Reduction Bomb", ItemClassification.useful, "Power-Up"), + ("Hover Pack", ItemClassification.progression, "Power-Up"), + + ("Ball Form", ItemClassification.progression, "Power-Up"), + ("Berserker Charge", ItemClassification.useful, "Power-Up"), + ("Juggernaut Throw", ItemClassification.useful, "Power-Up"), + ("Guttural Roar", ItemClassification.useful, "Power-Up"), + ("Fists of Flame", ItemClassification.useful, "Power-Up"), + ("Temporal Lock", ItemClassification.useful, "Power-Up"), + ("Raging Inferno Flop", ItemClassification.useful, "Power-Up"), + ("Diablo Fire Slam", ItemClassification.useful, "Power-Up") +] + +crew_list = [ + ("Bentley", ItemClassification.progression, "Crew"), + ("Murray", ItemClassification.progression, "Crew"), + ("Guru", ItemClassification.progression, "Crew"), + ("Penelope", ItemClassification.progression, "Crew"), + ("Panda King", ItemClassification.progression, "Crew"), + ("Dimitri", ItemClassification.progression, "Crew"), + ("Carmelita", ItemClassification.progression, "Crew") +] + +progressive_episode_list = [ + (f"Progressive {e}", ItemClassification.progression, "Episode") + for e in list(EPISODES.keys())[:-1] +] + +item_list = ( + filler_list + + powerup_list + + crew_list + + progressive_episode_list +) + +base_code = 5318008 + +item_dict = { + name: Sly3ItemData(name, base_code+code, category, classification) + for code, (name, classification, category) in enumerate(item_list) +} + +item_groups = { + key: {item.name for item in item_dict.values() if item.category == key} + for key in [ + "Filler", + "Power-Up", + "Episode", + "Crew" + ] +} + +def from_id(item_id: int) -> Sly3ItemData: + matching = [item for item in item_dict.values() if item.code == item_id] + if len(matching) == 0: + raise ValueError(f"No item data for item id '{item_id}'") + assert len(matching) < 2, f"Multiple item data with id '{item_id}'. Please report." + return matching[0] \ No newline at end of file diff --git a/data/Locations.py b/data/Locations.py new file mode 100644 index 0000000..0f52f90 --- /dev/null +++ b/data/Locations.py @@ -0,0 +1,52 @@ +from typing import NamedTuple + +from .Constants import EPISODES, CHALLENGES + +class Sly3LocationData(NamedTuple): + name: str + code: int + category: str + +jobs_list = [ + (f"{ep} - {job}", "Job") + for ep, chapters in EPISODES.items() + for jobs in chapters + for job in jobs +] + +purchases_list = [ + (f"ThiefNet {i+1:02}", "Purchase") + for i in range(37) +] + +challenges_list = [ + (f"{ep} - {challenge}", "Challenge") + for ep, chapters in CHALLENGES.items() + for challenges in chapters + for challenge in challenges +] + +location_list = jobs_list + purchases_list + challenges_list + +base_code = 8008135 + +location_dict = { + name: Sly3LocationData(name, base_code+code, category) + for code, (name, category) in enumerate(location_list) +} + +location_groups = { + key: {location.name for location in location_dict.values() if location.category == key} + for key in [ + "Job", + "Purchase", + "Challenge" + ] +} + +def from_id(location_id: int) -> Sly3LocationData: + matching = [location for location in location_dict.values() if location.code == location_id] + if len(matching) == 0: + raise ValueError(f"No location data for location id '{location_id}'") + assert len(matching) < 2, f"Multiple locations data with id '{location_id}'. Please report." + return matching[0] \ No newline at end of file diff --git a/icon.png b/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c6b53821a4742ad17f368d80c2109f144d029659 GIT binary patch literal 228644 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�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 None: + if system() == "Windows": + socket_family = socket.AF_INET + socket_name = ("127.0.0.1", self._slot) + elif system() == "Linux": + socket_family = socket.AF_UNIX + socket_name = os.environ.get("XDG_RUNTIME_DIR", "/tmp") + socket_name += "/pcsx2.sock" + elif system() == "Darwin": + socket_family = socket.AF_UNIX + socket_name = os.environ.get("TMPDIR", "/tmp") + socket_name += "/pcsx2.sock" + else: + socket_family = socket.AF_UNIX + socket_name = "/tmp/pcsx2.sock" + + try: + self._sock = socket.socket(socket_family, socket.SOCK_STREAM) + self._sock.settimeout(5.0) + self._sock.connect(socket_name) + except socket.error: + self._sock.close() + self._sock_state = False + return + + self._sock_state = True + + def connect(self) -> None: + if not self._sock_state: + self._init_socket() + + def disconnect(self) -> None: + if self._sock_state: + self._sock.close() + + def is_connected(self) -> bool: + return self._sock_state + + def read_int8(self, address: int) -> int: + request = Pine._create_request(Pine.IPCCommand.READ8, address, 9) + return Pine.from_bytes(self._send_request(request)[-1:]) + + def read_int16(self, address) -> int: + request = Pine._create_request(Pine.IPCCommand.READ16, address, 9) + return Pine.from_bytes(self._send_request(request)[-2:]) + + def read_int32(self, address) -> int: + request = Pine._create_request(Pine.IPCCommand.READ32, address, 9) + return Pine.from_bytes(self._send_request(request)[-4:]) + + def read_int64(self, address) -> int: + request = Pine._create_request(Pine.IPCCommand.READ64, address, 9) + return Pine.from_bytes(self._send_request(request)[-8:]) + + def read_bytes(self, address: int, length: int) -> bytes: + """Careful! This can be quite slow for large reads""" + data = b'' + while len(data) < length: + if length - len(data) >= 8: + data += self._send_request(Pine._create_request(Pine.IPCCommand.READ64, address + len(data), 9))[-8:] + elif length - len(data) >= 4: + data += self._send_request(Pine._create_request(Pine.IPCCommand.READ32, address + len(data), 9))[-4:] + elif length - len(data) >= 2: + data += self._send_request(Pine._create_request(Pine.IPCCommand.READ16, address + len(data), 9))[-2:] + elif length - len(data) >= 1: + data += self._send_request(Pine._create_request(Pine.IPCCommand.READ8, address + len(data), 9))[-1:] + + return data + + def write_int8(self, address: int, value: int) -> None: + request = Pine._create_request(Pine.IPCCommand.WRITE8, address, 9 + Pine.DataSize.INT8) + request += value.to_bytes(length=1, byteorder="little") + self._send_request(request) + + def write_int16(self, address: int, value: int) -> None: + request = Pine._create_request(Pine.IPCCommand.WRITE16, address, 9 + Pine.DataSize.INT16) + request += value.to_bytes(length=2, byteorder="little") + self._send_request(request) + + def write_int32(self, address: int, value: int) -> None: + request = Pine._create_request(Pine.IPCCommand.WRITE32, address, 9 + Pine.DataSize.INT32) + request += value.to_bytes(length=4, byteorder="little") + self._send_request(request) + + def write_int64(self, address: int, value: int) -> None: + request = Pine._create_request(Pine.IPCCommand.WRITE64, address, 9 + Pine.DataSize.INT64) + request += value.to_bytes(length=8, byteorder="little") + self._send_request(request) + + def write_float(self, address: int, value: float) -> None: + request = Pine._create_request(Pine.IPCCommand.WRITE32, address, 9 + Pine.DataSize.INT32) + request + struct.pack(" None: + """Careful! This can be quite slow for large writes""" + bytes_written = 0 + while bytes_written < len(data): + if len(data) - bytes_written >= 8: + request = self._create_request(Pine.IPCCommand.WRITE64, address + bytes_written, 9 + Pine.DataSize.INT64) + request += data[bytes_written:bytes_written + 8] + self._send_request(request) + bytes_written += 8 + elif len(data) - bytes_written >= 4: + request = self._create_request(Pine.IPCCommand.WRITE32, address + bytes_written, 9 + Pine.DataSize.INT32) + request += data[bytes_written:bytes_written + 4] + self._send_request(request) + bytes_written += 4 + elif len(data) - bytes_written >= 2: + request = self._create_request(Pine.IPCCommand.WRITE16, address + bytes_written, 9 + Pine.DataSize.INT16) + request += data[bytes_written:bytes_written + 2] + self._send_request(request) + bytes_written += 2 + elif len(data) - bytes_written >= 1: + request = self._create_request(Pine.IPCCommand.WRITE8, address + bytes_written, 9 + Pine.DataSize.INT8) + request += data[bytes_written:bytes_written + 1] + self._send_request(request) + bytes_written += 1 + + def get_game_id(self) -> str: + request = Pine.to_bytes(5, 4) + Pine.to_bytes(Pine.IPCCommand.ID, 1) + response = self._send_request(request) + return response[9:-1].decode("ascii") + + def _send_request(self, request: bytes) -> bytes: + if not self._sock_state: + self._init_socket() + + try: + self._sock.sendall(request) + except socket.error: + self._sock.close() + self._sock_state = False + raise ConnectionError("Lost connection to PCSX2.") + + end_length = 4 + result: bytes = b'' + while len(result) < end_length: + try: + response = self._sock.recv(4096) + except TimeoutError: + raise TimeoutError("Response timed out. " + "This might be caused by having two PINE connections open on the same slot") + + if len(response) <= 0: + result = b'' + break + + result += response + + if end_length == 4 and len(response) >= 4: + end_length = Pine.from_bytes(result[0:4]) + if end_length > Pine.MAX_IPC_SIZE: + result = b'' + break + + if len(result) == 0: + raise ConnectionError("Invalid response from PCSX2.") + if result[4] == Pine.IPCResult.IPC_FAIL: + raise ConnectionError("Failure indicated in PCSX2 response.") + + return result + + @staticmethod + def _create_request(command: IPCCommand, address: int, size: int = 0) -> bytes: + ipc = Pine.to_bytes(size, 4) + ipc += Pine.to_bytes(command, 1) + ipc += Pine.to_bytes(address, 4) + return ipc + + @staticmethod + def to_bytes(value: int, size: int) -> bytes: + return value.to_bytes(length=size, byteorder="little") + + @staticmethod + def from_bytes(arr: bytes) -> int: + return int.from_bytes(arr, byteorder="little") +