diff --git a/src/messaging/Message.ts b/src/messaging/Message.ts index 4983c82..245a90b 100644 --- a/src/messaging/Message.ts +++ b/src/messaging/Message.ts @@ -177,7 +177,7 @@ export namespace Message { payload += WASM.leb128(arg.value); } else { const buff = Buffer.alloc(arg.type === Type.f32 ? 4 : 8); - write(buff, arg.value, 0, true, 23, buff.length); + write(buff, arg.value, 0, true, arg.type === Type.f32 ? 23 : 52, buff.length); payload += buff.toString('hex'); } }); diff --git a/src/messaging/Parsers.ts b/src/messaging/Parsers.ts index 1869ce8..46b1824 100644 --- a/src/messaging/Parsers.ts +++ b/src/messaging/Parsers.ts @@ -65,7 +65,7 @@ function stacking(objects: {value: any, type: any}[]): WASM.Value[] { const type: WASM.Type = WASM.typing.get(object.type.toLowerCase()) ?? WASM.Type.unknown; if (type === WASM.Type.f32 || type === WASM.Type.f64) { const buff = Buffer.from(object.value, 'hex'); - value = ieee754.read(buff, 0, false, 23, buff.length); + value = ieee754.read(buff, 0, false, type === WASM.Type.f32 ? 23 : 52, buff.length); } stacked.push({value: value, type: type}); }