better showcanvas fix
[mminer.git] / dpack / packer.js
blobcf1a83544a8cbf8ad08db9698c24e593880784f2
1 var doLZW = true;
2 //doLZW = false;
4 var data;
5 var window = {
6 miner: {
7 SetData: function (d) { data = d; }
9 };
10 load("../data/data.js");
13 if (doLZW) {
14 load("packer_lzw.js");
15 } else {
16 load("packer_rle.js");
18 load("pkutil.js");
21 var szU = 0, szP = 0;
22 for (k in data) {
23 //print(k);
24 var dd = data[k];
25 var s = PackArray(dd);
26 var l = ArrLength(dd);
27 if (l > s.length+2) {
28 //print(k+": "+l+" bytes was packed to "+s.length+" bytes");
29 /*print(s);*/
30 eval('ss="'+s+'"');
31 var up = DUnpackStr(ss);
32 ArrCompare(dd, up);
33 szU += l; szP += s.length+3;
34 var xjs = '"'+s+'"';
35 data[k] = xjs;
36 }// else print(k+": "+l+" bytes was BADLY packed to "+s.length+" bytes; rejected");
38 //print(szU+" bytes squeezed to "+szP+" bytes; "+(szU-szP)+" bytes saved.");
40 print("/*"+szU+" bytes squeezed to "+szP+" bytes; "+(szU-szP)+" bytes saved*/");
41 print("window.miner.SetData({");
42 for (k in data) {
43 var res = k+":";
44 var v = data[k];
45 if (typeof(v) == "string") res += v;
46 else {
47 res += "[";
48 for (var f = 0; f < v.length; f++) {
49 if (f > 0) res += ",";
50 res += v[f];
52 res += "]";
54 res += ",";
55 print(res);
57 print('$_: ""});');