diff --git a/config-serializer/Serializable.ts b/config-serializer/Serializable.ts index 75305566..f108db94 100644 --- a/config-serializer/Serializable.ts +++ b/config-serializer/Serializable.ts @@ -1,6 +1,5 @@ abstract class Serializable { - static boolFlag = 0x80; private static depth = 0; private static maxDisplayedJsonLength = 160; private static enableDump = true; @@ -46,15 +45,6 @@ abstract class Serializable { return value; } - /* should have assert uint8? */ - binToBool(bin: number) { - return (bin & Serializable.boolFlag) !== 0; - } - - boolToBin(bool: boolean) { - return bool ? Serializable.boolFlag : 0; - } - abstract _fromJsObject(jsObject: any): Serializable; abstract _fromBinary(buffer: UhkBuffer): Serializable; abstract _toJsObject(): any; diff --git a/config-serializer/UhkBuffer.ts b/config-serializer/UhkBuffer.ts index fb29dcb3..e1356af6 100644 --- a/config-serializer/UhkBuffer.ts +++ b/config-serializer/UhkBuffer.ts @@ -143,6 +143,14 @@ class UhkBuffer { this.offset += stringByteLength; } + readBoolean(): boolean { + return this.readUInt8() !== 0; + } + + writeBoolean(bool: boolean) { + this.writeUInt8(bool ? 1 : 0); + } + backtrack(): void { this.offset -= this.bytesToBacktrack; this.bytesToBacktrack = 0; diff --git a/config-serializer/config-items/KeyMap.ts b/config-serializer/config-items/KeyMap.ts index bf6cff8f..1a9d4ccf 100644 --- a/config-serializer/config-items/KeyMap.ts +++ b/config-serializer/config-items/KeyMap.ts @@ -22,7 +22,7 @@ class KeyMap extends Serializable { _fromBinary(buffer: UhkBuffer): KeyMap { this.id = buffer.readUInt8(); - this.isDefault = this.binToBool(buffer.readUInt8()); + this.isDefault = buffer.readBoolean(); this.abbreviation = buffer.readString(); this.name = buffer.readString(); this.layers = new Layers().fromBinary(buffer); @@ -41,7 +41,7 @@ class KeyMap extends Serializable { _toBinary(buffer: UhkBuffer): void { buffer.writeUInt8(this.id); - buffer.writeUInt8(this.boolToBin(this.isDefault)); + buffer.writeBoolean(this.isDefault); buffer.writeString(this.abbreviation); buffer.writeString(this.name); this.layers.toBinary(buffer); diff --git a/config-serializer/config-items/Macro.ts b/config-serializer/config-items/Macro.ts index e68ef437..b31713d1 100644 --- a/config-serializer/config-items/Macro.ts +++ b/config-serializer/config-items/Macro.ts @@ -22,8 +22,8 @@ class Macro extends Serializable { _fromBinary(buffer: UhkBuffer): Macro { this.id = buffer.readUInt8(); - this.isLooped = this.binToBool(buffer.readUInt8()); - this.isPrivate = this.binToBool(buffer.readUInt8()); + this.isLooped = buffer.readBoolean(); + this.isPrivate = buffer.readBoolean(); this.name = buffer.readString(); this.macroActions = new MacroActions().fromBinary(buffer); return this; @@ -41,8 +41,8 @@ class Macro extends Serializable { _toBinary(buffer: UhkBuffer): void { buffer.writeUInt8(this.id); - buffer.writeUInt8(this.boolToBin(this.isLooped)); - buffer.writeUInt8(this.boolToBin(this.isPrivate)); + buffer.writeBoolean(this.isLooped); + buffer.writeBoolean(this.isPrivate); buffer.writeString(this.name); this.macroActions.toBinary(buffer); } diff --git a/config-serializer/config-items/SwitchLayerAction.ts b/config-serializer/config-items/SwitchLayerAction.ts index b4ed51f4..1ec30f20 100644 --- a/config-serializer/config-items/SwitchLayerAction.ts +++ b/config-serializer/config-items/SwitchLayerAction.ts @@ -21,7 +21,7 @@ class SwitchLayerAction extends KeyAction { _fromBinary(buffer: UhkBuffer): SwitchLayerAction { this.readAndAssertKeyActionId(buffer); this.layer = buffer.readUInt8(); - this.isLayerToggleable = this.binToBool(buffer.readUInt8()); + this.isLayerToggleable = buffer.readBoolean(); return this; } @@ -36,7 +36,7 @@ class SwitchLayerAction extends KeyAction { _toBinary(buffer: UhkBuffer) { buffer.writeUInt8(KeyActionId.SwitchLayerAction); buffer.writeUInt8(this.layer); - buffer.writeUInt8(this.boolToBin(this.isLayerToggleable)); + buffer.writeBoolean(this.isLayerToggleable); } toString(): string {