vox-saver
Version:
Takes a JavaScript Object of .vox file data and returns a Byte Array with all the containing informations
17 lines (11 loc) • 506 B
text/typescript
const { pow } = Math;
const RANGE_4 = [0, 1, 2, 3];
const MAX_OF_4_BYTE_INTEGER = pow(2, 32) - 1;
const write4ByteInteger = (number : number) : Array<number> =>
{
if(number % 1 !== 0) throw Error("expect number to be an integer. Found: " + number);
if(number < 0) throw Error("expect number to be positive");
if(number > MAX_OF_4_BYTE_INTEGER) throw Error("expect number to be less than 2^32");
return RANGE_4.map(index => (number >> (index * 8)) % 256);
}
export = write4ByteInteger;