#!/usr/bin/env node var fs = require('fs'), PNG = require('pngjs').PNG, RgbQuant = require('rgbquant'); var data = fs.readFileSync(process.argv[2]); var png = PNG.sync.read(data); q = new RgbQuant(); q.colors = 4; q.sample(png.data); pal = q.palette(false, true); //console.log(q); function readfonttxt(s) { var lines = s.split(/\r?\n/);// TODO } function remapBits(x, arr) { if (!arr) return x; var y = 0; for (var i=0; i= arrin.length) throw i+" -> "+j+" >= "+arrin.length; out.push(arrin[j] | 0); } return out; } function packbits(arrin, bpp, brev) { var out = new Uint8Array((arrin.length * bpp) >> 3); for (var i=0; i> 3; var s = (i * bpp) & 7; if (brev) s = 8-bpp-s; out[j] |= arrin[i] << s; } return out; } function hex(n) { return (n < 16 ? "0" : "") + n.toString(16); } function dump(arr, bpl) { var s = ''; for (var i=0; i