diff options
| author | TheMas3212 <mas3212@gmail.com> | 2023-09-26 17:49:39 +1000 |
|---|---|---|
| committer | TheMas3212 <mas3212@gmail.com> | 2023-09-26 17:49:39 +1000 |
| commit | 2812cbcce624fcc2c2a0691ff7601c83aa7d6f64 (patch) | |
| tree | 6f1e4a638b825bc3a07a98127adbc60cc70c7dd0 /src | |
| parent | df602e9b4990583f5881107f357c83925a2b44e8 (diff) | |
| download | tasd-js-2812cbcce624fcc2c2a0691ff7601c83aa7d6f64.tar.gz tasd-js-2812cbcce624fcc2c2a0691ff7601c83aa7d6f64.zip | |
Add EnumLike values for various packet parameters
Diffstat (limited to 'src')
| -rw-r--r-- | src/packets/general.ts | 106 | ||||
| -rw-r--r-- | src/packets/input.ts | 25 |
2 files changed, 131 insertions, 0 deletions
diff --git a/src/packets/general.ts b/src/packets/general.ts index cf8d61e..596cd2c 100644 --- a/src/packets/general.ts +++ b/src/packets/general.ts @@ -26,6 +26,18 @@ export class ConsoleTypePacket implements TASDPacket { toString() { return `ConsoleType ${this.type}, ${this.name}`; } + static readonly CONSOLE_TYPE = { + NES: 0x01, + SNES: 0x02, + N64: 0x03, + GC: 0x04, + GB: 0x05, + GBC: 0x06, + GBA: 0x07, + GENESIS: 0x08, + A2600: 0x09, + CUSTOM: 0xFF + } as const; } export class ConsoleRegionPacket implements TASDPacket { @@ -47,6 +59,11 @@ export class ConsoleRegionPacket implements TASDPacket { toString() { return `ConsoleRegion ${this.region}`; } + static readonly CONSOLE_REGION = { + NTSC: 0x01, + PAL: 0x02, + OTHER: 0xFF + } as const; } export class GameTitlePacket implements TASDPacket { @@ -109,6 +126,13 @@ export class AttributionPacket implements TASDPacket { toString() { return `Attribution ${this.type}, ${this.name}`; } + static readonly ATTRIBUTION_TYPE = { + AUTHOR: 0x01, + VERIFIER: 0x02, + TASD_FILE_CREATOR: 0x03, + TASD_FILE_EDITOR: 0x04, + OTHER: 0xFF + } as const; } export class CategoryPacket implements TASDPacket { @@ -396,6 +420,31 @@ export class MemoryInitPacket implements TASDPacket { toString() { return `MemoryInit ${this.datatype}, ${this.device}, ${this.required}, ${this.name}, ${this.data.length}`; } + static readonly MEMORY_INIT_TYPE = { + NONE: 0x01, + ALL_00: 0x02, + ALL_FF: 0x03, + PATTERN_00000000FFFFFFFF: 0x04, + RANDOM: 0x05, + CUSTOM: 0xFF + } as const; + static readonly MEMORY_INIT_DEVICE = { + NES_CPU_RAM: 0x0101, + NES_CART_SRAM: 0x0102, + SNES_CPU_RAM: 0x0201, + SNES_CART_SRAM: 0x0202, + GB_CPU_RAM: 0x0501, + GB_CART_SRAM: 0x0502, + GBC_CPU_RAM: 0x0601, + GBC_CART_SRAM: 0x0602, + GBA_CPU_RAM: 0x0701, + GBA_CART_SRAM: 0x0702, + GENESIS_CPU_RAM: 0x0801, + GENESIS_CART_SRAM: 0x0802, + A2600_CPU_RAM: 0x0901, + A2600_CART_SRAM: 0x0902, + CUSTOM: 0xFFFF + } as const; } export class GameIdentiferPacket implements TASDPacket { @@ -419,6 +468,33 @@ export class GameIdentiferPacket implements TASDPacket { toString(): string { return `GameIdentifier ${this.type}, ${this.base}, ${this.identifier}`; } + static readonly IDENTIFIER_TYPE = { + CRC8: 0x01, + CRC16: 0x02, + CRC32: 0x03, + MD5: 0x04, + SHA1: 0x05, + SHA224: 0x06, + SHA256: 0x07, + SHA384: 0x08, + SHA512: 0x09, + SHA512_224: 0x0A, + SHA512_256: 0x0B, + SHA3_224: 0x0C, + SHA3_256: 0x0D, + SHA3_384: 0x0E, + SHA3_512: 0x0F, + SHAKE_128: 0x10, + SHAKE_256: 0x11, + OTHER: 0xFF, + } as const; + static readonly IDENTIFIER_BASE = { + RAW_BINARY: 0x01, + HEX: 0x02, + BASE32: 0x03, + BASE64: 0x04, + OTHER: 0xFF + } as const; } export class MovieLicensePacket implements TASDPacket { @@ -487,6 +563,36 @@ export class PortControllerPacket implements TASDPacket { toString() { return `PortController ${this.port}, 0x${this.type.toString(16).padStart(4, '0')}`; } + static readonly CONTROLLER_TYPE = { + NES_STANDARD_CONTROLLER: 0x0101, + NES_FOUR_SCORE: 0x0102, + NES_ZAPPER: 0x0103, + NES_POWER_PAD: 0x0104, + FAMICOM_FAMILY_BASIC_KEYBOARD: 0x0105, + SNES_STANDARD_CONTROLLER: 0x0201, + SNES_SUPER_MULTITAP: 0x0202, + SNES_MOUSE: 0x0203, + SNES_SUPERSCOPE: 0x0204, + N64_STANDARD_CONTROLLER: 0x0301, + N64_STANDARD_CONTROLLER_WITH_RUMBLE_PAK: 0x0302, + N64_STANDARD_CONTROLLER_WITH_CONTROLLER_PAK: 0x0303, + N64_STANDARD_CONTROLLER_WITH_TRANSFER_PAK: 0x0304, + N64_MOUSE: 0x0305, + N64_VOICE_RECOGNITION_UNIT: 0x0306, + N64_RANDNET_KEYBOARD: 0x0307, + N64_DENSHA_DE_GO: 0x0308, + GC_STANDARD_CONTROLLER: 0x0401, + GC_KEYBOARD: 0x0402, + GB_GAMEPAD: 0x0501, + GBC_GAMEPAD: 0x0601, + GBA_GAMEPAD: 0x0701, + GENESIS_3BUTTON: 0x0801, + GENESIS_6BUTTON: 0x0802, + A2600_JOYSTICK: 0x0901, + A2600_PADDLE: 0x0902, + A2600_KEYBOARD_CONTROLLER: 0x0903, + OTHER_UNSPECIFIED: 0xFFFF, + } as const; } export class PortOverreadPacket implements TASDPacket { diff --git a/src/packets/input.ts b/src/packets/input.ts index e2e712d..b825b23 100644 --- a/src/packets/input.ts +++ b/src/packets/input.ts @@ -55,6 +55,12 @@ export class InputMomentPacket implements TASDPacket { toString(): string { return `InputMoment ${this.port}, ${this.indexType}, ${this.index}, ${this.inputs.length}`; } + static readonly INPUT_MOMENT_INDEX_TYPE = { + FRAME: 0x01, + CYCLE_COUNT: 0x02, + MILLISECONDS: 0x03, + MICROSECONDS_X10: 0x04 + } as const; } export class TransitionPacket implements TASDPacket { @@ -91,6 +97,19 @@ export class TransitionPacket implements TASDPacket { toString(): string { return `Transition ${this.indexType}, ${this.index}, ${this.type}, ${this.data.length}`; } + static readonly TRANSITION_INDEX_TYPE = { + FRAME: 0x01, + CYCLE_COUNT: 0x02, + MILLISECONDS: 0x03, + MICROSECONDS_X10: 0x04, + INPUT_CHUNK_INDEX: 0x05 + } as const; + static readonly TRANSITION_TYPE = { + SOFT_RESET: 0x01, + POWER_RESET: 0x02, + RESTART_TASD_FILE: 0x03, + PACKET_DERIVED: 0xFF + } as const; } export class LagFrameChunkPacket implements TASDPacket { @@ -141,4 +160,10 @@ export class MovieTransitionPacket implements TASDPacket { toString(): string { return `MovieTransition ${this.frame}, ${this.type}, ${this.data.length}`; } + static readonly MOVIE_TRANSITION_TYPE = { + SOFT_RESET: 0x01, + POWER_RESET: 0x02, + RESTART_TASD_FILE: 0x03, + PACKET_DERIVED: 0xFF + } as const; }
\ No newline at end of file |
