diff options
| author | TheMas3212 <mas3212@gmail.com> | 2025-02-02 17:14:25 +1100 |
|---|---|---|
| committer | TheMas3212 <mas3212@gmail.com> | 2025-02-02 17:14:25 +1100 |
| commit | 253ca4e5c8a105dd92e646e0d8bb5bd7ce2c0000 (patch) | |
| tree | 17c6a4f8e72878ee6fbf8ee56935acc114cb62bb | |
| parent | 86222a6f61a522adf9016b5d423cbe19452c71fb (diff) | |
| download | tasd-js-253ca4e5c8a105dd92e646e0d8bb5bd7ce2c0000.tar.gz tasd-js-253ca4e5c8a105dd92e646e0d8bb5bd7ce2c0000.zip | |
Update InputMoment inline with draft at 2025-02-01
| -rw-r--r-- | src/packets/input.ts | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/src/packets/input.ts b/src/packets/input.ts index b825b23..59d8666 100644 --- a/src/packets/input.ts +++ b/src/packets/input.ts @@ -1,5 +1,5 @@ import { PACKET_TYPES } from "../constants"; -import { readUint32, readUint64, readUint8, writeUint32, writeUint64, writeUint8 } from "../utils"; +import { readBoolean, readUint32, readUint64, readUint8, writeBoolean, writeUint32, writeUint64, writeUint8 } from "../utils"; import { TASDPacket, buildBuffer } from "./utils"; export class InputChunkPacket implements TASDPacket { @@ -27,6 +27,7 @@ export class InputChunkPacket implements TASDPacket { export class InputMomentPacket implements TASDPacket { constructor( public port: number, + public hold: boolean, public indexType: number, public index: bigint, public inputs: Uint8Array @@ -39,21 +40,23 @@ export class InputMomentPacket implements TASDPacket { } static fromBuffer(buffer: Uint8Array) { const port = readUint8(buffer, 0); - const indexType = readUint8(buffer, 1); - const index = readUint64(buffer, 2); - const inputs = buffer.subarray(10); - return new this(port, indexType, index, inputs); + const hold = readBoolean(buffer, 1); + const indexType = readUint8(buffer, 2); + const index = readUint64(buffer, 3); + const inputs = buffer.subarray(11); + return new this(port, hold, indexType, index, inputs); } toBuffer(g_keylen: number): Uint8Array { const payload = new Uint8Array(this.size); writeUint8(this.port, payload, 0); - writeUint8(this.indexType, payload, 1); - writeUint64(this.index, payload, 2); - payload.set(this.inputs, 10); + writeBoolean(this.hold, payload, 1); + writeUint8(this.indexType, payload, 2); + writeUint64(this.index, payload, 3); + payload.set(this.inputs, 11); return buildBuffer(g_keylen, this.key, payload); } toString(): string { - return `InputMoment ${this.port}, ${this.indexType}, ${this.index}, ${this.inputs.length}`; + return `InputMoment ${this.port}, ${this.hold}, ${this.indexType}, ${this.index}, ${this.inputs.length}`; } static readonly INPUT_MOMENT_INDEX_TYPE = { FRAME: 0x01, |
