UNPKG

mudb

Version:

Real-time database for multiplayer games

66 lines (54 loc) 2.02 kB
import { MuStruct, MuUint8, MuVarint, MuRelativeVarint, MuVector, MuFloat32 } from '../'; import { deltaByteLength, diffPatchDuration } from './_do'; { const struct = new MuStruct({ a: new MuUint8(), b: new MuUint8(), }); deltaByteLength(struct, {a: 0, b: 0}, {a:1, b: 0}); deltaByteLength(struct, {a: 0, b: 0}, {a:1, b: 2}); const s0 = {a: 0, b: 0}; const s1 = {a: 1, b: 2}; diffPatchDuration(struct, s1, s1, 1e3, 'uint8 - b=t'); diffPatchDuration(struct, s0, s1, 1e3, 'uint8 - b!=t'); diffPatchDuration(struct, s0, s1, 1e4, 'uint8 - b!=t'); diffPatchDuration(struct, s0, s1, 1e5, 'uint8 - b!=t'); } { const struct = new MuStruct({ v: new MuVarint(), rv: new MuRelativeVarint(), }); deltaByteLength(struct, {v: 0, rv: 0}, {v: 0x7f, rv: 0}); deltaByteLength(struct, {v: 0, rv: 0}, {v: 0x80, rv: 0}); deltaByteLength(struct, {v: 0, rv: 0}, {v: 0x80, rv: -0x2a}); deltaByteLength(struct, {v: 0, rv: 0}, {v: 0x80, rv: -0x2b}); const s0 = {v: 0, rv: 0}; const s1 = {v: 0x7f, rv: -0x2a}; const s2 = {v: 0x80, rv: -0x2b}; diffPatchDuration(struct, s1, s1, 1e3, 'varint - b=t'); diffPatchDuration(struct, s0, s1, 1e3, 'varint - one byte'); diffPatchDuration(struct, s0, s1, 1e4, 'varint - one byte'); diffPatchDuration(struct, s0, s1, 1e5, 'varint - one byte'); diffPatchDuration(struct, s0, s2, 1e3, 'varint - two bytes'); diffPatchDuration(struct, s0, s2, 1e4, 'varint - two bytes'); diffPatchDuration(struct, s0, s2, 1e5, 'varint - two bytes'); } { const struct = new MuStruct({ vec2: new MuVector(new MuFloat32(), 2), vec3: new MuVector(new MuFloat32(), 3), }); const s0 = { vec2: Float32Array.from([0, 0]), vec3: Float32Array.from([0, 0, 0]), }; const s1 = { vec2: Float32Array.from([0.5, 1.5]), vec3: Float32Array.from([0.5, 1.5, 2.5]), }; diffPatchDuration(struct, s0, s0, 1e3, 'vector - b=t'); diffPatchDuration(struct, s0, s1, 1e3, 'vector - b!=t'); diffPatchDuration(struct, s0, s1, 1e4, 'vector - b!=t'); diffPatchDuration(struct, s0, s1, 1e5, 'vector - b!=t'); }