37 lines
1.1 KiB
Python
37 lines
1.1 KiB
Python
|
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)
|