diff options
| author | TheMas3212 <mas3212@gmail.com> | 2023-09-23 12:21:43 +1000 |
|---|---|---|
| committer | TheMas3212 <mas3212@gmail.com> | 2023-09-23 12:21:43 +1000 |
| commit | f2aab487c22f4919d48896d33cd0f09ba0928395 (patch) | |
| tree | c0930fd74c887c59a009cc8bd36833c381ebed8a /src/packets/index.ts | |
| parent | bdf1756baa223c89587abaa239001222263b665f (diff) | |
| download | tasd-js-f2aab487c22f4919d48896d33cd0f09ba0928395.tar.gz tasd-js-f2aab487c22f4919d48896d33cd0f09ba0928395.zip | |
Add additional Packet Types
Diffstat (limited to 'src/packets/index.ts')
| -rw-r--r-- | src/packets/index.ts | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/packets/index.ts b/src/packets/index.ts new file mode 100644 index 0000000..0bf2195 --- /dev/null +++ b/src/packets/index.ts @@ -0,0 +1,58 @@ +import { PACKET_TYPES } from "../constants"; +import { AttributionPacket, BlankFramesPacket, CategoryPacket, ConsoleRegionPacket, ConsoleTypePacket, DumpCreatedPacket, DumpLastModifiedPacket, EmulatorCorePacket, EmulatorNamePacket, EmulatorVersionPacket, GameTitlePacket, MovieLicensePacket, PortControllerPacket, ROMNamePacket, RerecordsPacket, SourceLinkPacket, TASLastModifedPacket, TotalFramesPacket, VerifiedPacket } from "./general"; +import { InputChunkPacket } from "./input"; +import { TASDPacket, UnknownPacket } from "./utils"; +export * as General from './general'; +export * as Input from './input'; + +export function parse(type: number, buffer: Uint8Array): TASDPacket { + switch (type) { + // General + case PACKET_TYPES.CONSOLE_TYPE: return ConsoleTypePacket.fromBuffer(buffer); + case PACKET_TYPES.CONSOLE_REGION: return ConsoleRegionPacket.fromBuffer(buffer); + case PACKET_TYPES.GAME_TITLE: return GameTitlePacket.fromBuffer(buffer); + case PACKET_TYPES.ROM_NAME: return ROMNamePacket.fromBuffer(buffer); + case PACKET_TYPES.ATTRIBUTION: return AttributionPacket.fromBuffer(buffer); + case PACKET_TYPES.CATEGORY: return CategoryPacket.fromBuffer(buffer); + case PACKET_TYPES.EMULATOR_NAME: return EmulatorNamePacket.fromBuffer(buffer); + case PACKET_TYPES.EMULATOR_VERSION: return EmulatorVersionPacket.fromBuffer(buffer); + case PACKET_TYPES.EMULATOR_CORE: return EmulatorCorePacket.fromBuffer(buffer); + case PACKET_TYPES.TAS_LAST_MODIFIED: return TASLastModifedPacket.fromBuffer(buffer); + case PACKET_TYPES.DUMP_CREATED: return DumpCreatedPacket.fromBuffer(buffer); + case PACKET_TYPES.DUMP_LAST_MODIFIED: return DumpLastModifiedPacket.fromBuffer(buffer); + case PACKET_TYPES.TOTAL_FRAMES: return TotalFramesPacket.fromBuffer(buffer); + case PACKET_TYPES.RERECORDS: return RerecordsPacket.fromBuffer(buffer); + case PACKET_TYPES.SOURCE_LINK: return SourceLinkPacket.fromBuffer(buffer); + case PACKET_TYPES.BLANK_FRAMES: return BlankFramesPacket.fromBuffer(buffer); + case PACKET_TYPES.VERIFIED: return VerifiedPacket.fromBuffer(buffer); + // case PACKET_TYPES.MEMORY_INIT: return XXXXX.fromBuffer(buffer); + // case PACKET_TYPES.GAME_IDENTIFIER: return XXXXX.fromBuffer(buffer); + case PACKET_TYPES.MOVIE_LICENSE: return MovieLicensePacket.fromBuffer(buffer); + // case PACKET_TYPES.MOVIE_FILE: return XXXXX.fromBuffer(buffer); + case PACKET_TYPES.PORT_CONTROLLER: return PortControllerPacket.fromBuffer(buffer); + // NES + // case PACKET_TYPES.NES_LATCH_FILTER: return XXXXX.fromBuffer(buffer); + // case PACKET_TYPES.NES_CLOCK_FILTER: return XXXXX.fromBuffer(buffer); + // case PACKET_TYPES.NES_OVERREAD: return XXXXX.fromBuffer(buffer); + // case PACKET_TYPES.NES_GAME_GENIE_CODE: return XXXXX.fromBuffer(buffer); + // SNES + // case PACKET_TYPES.SNES_CLOCK_FILTER: return XXXXX.fromBuffer(buffer); + // case PACKET_TYPES.SNES_OVERREAD: return XXXXX.fromBuffer(buffer); + // case PACKET_TYPES.SNES_GAME_GENIE_CODE: return XXXXX.fromBuffer(buffer); + // case PACKET_TYPES.SNES_LATCH_TRAIN: return XXXXX.fromBuffer(buffer); + // Genesis + // case PACKET_TYPES.GENESIS_GAME_GENIE_CODE: return XXXXX.fromBuffer(buffer); + // Input + case PACKET_TYPES.INPUT_CHUNK: return InputChunkPacket.fromBuffer(buffer); + // case PACKET_TYPES.INPUT_MOMENT: return XXXXX.fromBuffer(buffer); + // case PACKET_TYPES.TRANSITION: return XXXXX.fromBuffer(buffer); + // case PACKET_TYPES.LAG_FRAME_CHUNK: return XXXXX.fromBuffer(buffer); + // case PACKET_TYPES.MOVIE_TRANSITION: return XXXXX.fromBuffer(buffer); + // Extra + // case PACKET_TYPES.COMMENT: return XXXXX.fromBuffer(buffer); + // case PACKET_TYPES.EXPERIMENTAL: return XXXXX.fromBuffer(buffer); + // case PACKET_TYPES.UNSPECIFIED: return XXXXX.fromBuffer(buffer); + // Unknown + default: return new UnknownPacket(type, buffer); + } +}
\ No newline at end of file |
