diff --git a/worlds/alttp/Rom.py b/worlds/alttp/Rom.py index 05460e0f..05113514 100644 --- a/worlds/alttp/Rom.py +++ b/worlds/alttp/Rom.py @@ -18,7 +18,7 @@ import subprocess import threading import concurrent.futures import bsdiff4 -from typing import Optional, List +from typing import Collection, Optional, List, SupportsIndex from BaseClasses import CollectionState, Region, Location, MultiWorld from Utils import local_path, user_path, int16_as_bytes, int32_as_bytes, snes_to_pc, is_frozen, parse_yaml, read_snes_rom @@ -52,7 +52,7 @@ except: enemizer_logger = logging.getLogger("Enemizer") -class LocalRom(object): +class LocalRom: def __init__(self, file, patch=True, vanillaRom=None, name=None, hash=None): self.name = name @@ -71,13 +71,13 @@ class LocalRom(object): def read_byte(self, address: int) -> int: return self.buffer[address] - def read_bytes(self, startaddress: int, length: int) -> bytes: + def read_bytes(self, startaddress: int, length: int) -> bytearray: return self.buffer[startaddress:startaddress + length] def write_byte(self, address: int, value: int): self.buffer[address] = value - def write_bytes(self, startaddress: int, values): + def write_bytes(self, startaddress: int, values: Collection[SupportsIndex]) -> None: self.buffer[startaddress:startaddress + len(values)] = values def encrypt_range(self, startaddress: int, length: int, key: bytes): diff --git a/worlds/dkc3/Rom.py b/worlds/dkc3/Rom.py index efe8033d..0dc722a7 100644 --- a/worlds/dkc3/Rom.py +++ b/worlds/dkc3/Rom.py @@ -434,7 +434,7 @@ level_music_ids = [ 0x21, ] -class LocalRom(object): +class LocalRom: def __init__(self, file, patch=True, vanillaRom=None, name=None, hash=None): self.name = name @@ -457,7 +457,7 @@ class LocalRom(object): def read_byte(self, address: int) -> int: return self.buffer[address] - def read_bytes(self, startaddress: int, length: int) -> bytes: + def read_bytes(self, startaddress: int, length: int) -> bytearray: return self.buffer[startaddress:startaddress + length] def write_byte(self, address: int, value: int): diff --git a/worlds/smw/Rom.py b/worlds/smw/Rom.py index 36078d46..ff3b5c31 100644 --- a/worlds/smw/Rom.py +++ b/worlds/smw/Rom.py @@ -83,7 +83,7 @@ class LocalRom: def read_byte(self, address: int) -> int: return self.buffer[address] - def read_bytes(self, startaddress: int, length: int) -> bytes: + def read_bytes(self, startaddress: int, length: int) -> bytearray: return self.buffer[startaddress:startaddress + length] def write_byte(self, address: int, value: int): diff --git a/worlds/yoshisisland/Rom.py b/worlds/yoshisisland/Rom.py index fa3006af..0943ba82 100644 --- a/worlds/yoshisisland/Rom.py +++ b/worlds/yoshisisland/Rom.py @@ -3,7 +3,7 @@ import os import Utils from worlds.Files import APDeltaPatch from settings import get_settings -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, Collection, SupportsIndex from .Options import YoshiColors, BowserDoor, PlayerGoal, MinigameChecks @@ -396,7 +396,7 @@ location_table = { 0x30510B: [0x14B2, 4] } -class LocalRom(object): +class LocalRom: def __init__(self, file: str) -> None: self.name = None @@ -413,13 +413,13 @@ class LocalRom(object): def read_byte(self, address: int) -> int: return self.buffer[address] - def read_bytes(self, startaddress: int, length: int) -> bytes: + def read_bytes(self, startaddress: int, length: int) -> bytearray: return self.buffer[startaddress:startaddress + length] def write_byte(self, address: int, value: int) -> None: self.buffer[address] = value - def write_bytes(self, startaddress: int, values: bytearray) -> None: + def write_bytes(self, startaddress: int, values: Collection[SupportsIndex]) -> None: self.buffer[startaddress:startaddress + len(values)] = values def write_to_file(self, file: str) -> None: