import struct from .base import IDZHandlerBase from core.config import CoreConfig from ..config import IDZConfig from ..const import IDZConstants class IDZHandlerLoad2on2A(IDZHandlerBase): cmd_codes = [0x00B0, 0x00B0, 0x00A3, 0x00A3] rsp_codes = [0x00B1, 0x00B1, 0x00A4, 0x00A4] name = "load_2on2A" def __init__(self, core_cfg: CoreConfig, game_cfg: IDZConfig, version: int) -> None: super().__init__(core_cfg, game_cfg, version) self.size = 0x04C0 if version >= IDZConstants.VER_IDZ_210: self.size = 0x1290 def handle(self, data: bytes) -> bytearray: return super().handle(data) class IDZHandlerLoad2on2B(IDZHandlerBase): cmd_codes = [0x0132] * 4 rsp_codes = [0x0133] * 4 name = "load_2on2B" def __init__(self, core_cfg: CoreConfig, game_cfg: IDZConfig, version: int) -> None: super().__init__(core_cfg, game_cfg, version) self.size = 0x04C0 if version >= IDZConstants.VER_IDZ_210: self.size = 0x0540 def handle(self, data: bytes) -> bytearray: return super().handle(data)