|
7 | 7 | return; |
8 | 8 | } |
9 | 9 | let settings = Object.assign({ anim:0 }, storage.readJSON(SETTINGS_FILE, 1)||{}); |
| 10 | + function getPattern(pattern) { |
| 11 | + var im = Graphics.createImage(pattern,"string"); |
| 12 | + var w = g.getWidth(), h = g.getHeight(); |
| 13 | + var b = Graphics.createArrayBuffer(w,h,1,{msb:true}); |
| 14 | + for (var y=0;y<h;y+=im.height) |
| 15 | + for (var x=0;x<w;x+=im.width) |
| 16 | + b.drawImage(im,x,y); |
| 17 | + b.transparent = 0; |
| 18 | + return b.asImage("string"); |
| 19 | + } |
10 | 20 | const ANIM = [ |
11 | 21 | { |
12 | 22 | name : "Circle", |
|
95 | 105 | }; |
96 | 106 | setTimeout(done, 0); |
97 | 107 | }, // 'loading' is an image that the OS displays as soon as it restarts |
98 | | - loading : atob("gFiCAVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQAFVVVVVVVVQAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVUAAFVVVVVVVUAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVAAAFVVVVVVVAAAAFVVUAAVVVVVVVVVVVVVVVVVVVVVUAAAVVVVVVVUAAAAVVVAAAVVVVVVVVVVVVVVVVVVVVVQDwBUAAEAAEADzwAAEAAAAVVVVVVVVVVVVVVVVVVVVVAPAFAAAAAAAAPPAAAAAAABVVVVVVVVVVVVVVVVVVVVUA8AQAAAAAAAA88AAAAA/AFVVVVVVVVVVVVVVVVVVVVQDwAAAAAAAAADwAAAAAPwAVVVVVVVVVVVVVVVVVVVVVAPAAA/wA/wA/PAPPwA/8ABVVVVVVVVVVVVVVVVVVVVUA8AAP/wP/wP/88//wP/8AFVVVVVVVVVVVVVVVVVVVVQDwAD8Pz8Pz8Pzz8Pz8D8AVVVVVVVVVVVVVVVVVVVVVAPAAPAPAAPPAPPPAPPADwBVVVVVVVVVVVVVVVVVVVVUA8AA8A8AA88A888A88APAFVVVVVVVVVVVVVVVVVVVVQDwADwDwP/zwDzzwDz8D8AVVVVVVVVVVVVVVVVVVVVVAPAAPAPD//PAPPPAPP//ABVVVVVVVVVVVVVVVVVVVVUA8AA8A8/A88A888A8P/wAAABVVVVVVVVVVVVVVVVVVQDwADwDzwDzwDzzwDw8AAAAABVVVVVVVVVVVVVVVVVVAPAAPAPPAPPAPPPAPDwAAAAABVVVVVVVVVVVVVVVVVUA8AA8A88A88A888A8D/wAAAAFVVVVVVVVVVVVVVVVVQDwAD8Pz8Pz8PzzwDw//w888AVVVVVVVVVVVVVVVVVVAP//D/8D//D//PPAPPwPzzzwBVVVVVVVVVVVVVVVVVUA//8D/AD88D8888A88APPPPAFVVVVVVVVVVVVVVVVVQAAAAAAAAAAAAAAAADwA8AAAAVVVVVVVVVVVVVVVVVVAAAAAAAAAAAAAAAAAPwPwAAABVVVVVVVVVVVVVVVVVUAAAAAAAAAAAAAAAAAP/8AAAAFVVVVVVVVVVVVVVVVVQAAAAAAAAAAAAAAAAAP/AAAAAVVVVVVVVVVVVVVVVVVAAAAAAAAAAAAAAAAAAAAAAAABVVVVVVVVVVVVVVVVVUAAAAAAAAAAAAAAAAAAAAAAAAFVVVVVVVVVVVVVVVVVQAAAAAAAAAAAAAAAAAAAAAAAAVVVVVVVVVVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVAP//////////////////////////////////////AFUA//////////////////////////////////////8AVQDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwBVAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAFUA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AVQDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwBVAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAFUA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AVQDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwBVAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAFUA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AVQDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwBVAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAFUA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AVQDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwBVAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAFUA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AVQDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwBVAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAFUA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AVQDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwBVAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAFUA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AVQDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwBVAP//////////////////////////////////////AFUA//////////////////////////////////////8AVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV") |
| 108 | + loading : () => atob("gFiCAVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQAFVVVVVVVVQAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVUAAFVVVVVVVUAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVAAAFVVVVVVVAAAAFVVUAAVVVVVVVVVVVVVVVVVVVVVUAAAVVVVVVVUAAAAVVVAAAVVVVVVVVVVVVVVVVVVVVVQDwBUAAEAAEADzwAAEAAAAVVVVVVVVVVVVVVVVVVVVVAPAFAAAAAAAAPPAAAAAAABVVVVVVVVVVVVVVVVVVVVUA8AQAAAAAAAA88AAAAA/AFVVVVVVVVVVVVVVVVVVVVQDwAAAAAAAAADwAAAAAPwAVVVVVVVVVVVVVVVVVVVVVAPAAA/wA/wA/PAPPwA/8ABVVVVVVVVVVVVVVVVVVVVUA8AAP/wP/wP/88//wP/8AFVVVVVVVVVVVVVVVVVVVVQDwAD8Pz8Pz8Pzz8Pz8D8AVVVVVVVVVVVVVVVVVVVVVAPAAPAPAAPPAPPPAPPADwBVVVVVVVVVVVVVVVVVVVVUA8AA8A8AA88A888A88APAFVVVVVVVVVVVVVVVVVVVVQDwADwDwP/zwDzzwDz8D8AVVVVVVVVVVVVVVVVVVVVVAPAAPAPD//PAPPPAPP//ABVVVVVVVVVVVVVVVVVVVVUA8AA8A8/A88A888A8P/wAAABVVVVVVVVVVVVVVVVVVQDwADwDzwDzwDzzwDw8AAAAABVVVVVVVVVVVVVVVVVVAPAAPAPPAPPAPPPAPDwAAAAABVVVVVVVVVVVVVVVVVUA8AA8A88A88A888A8D/wAAAAFVVVVVVVVVVVVVVVVVQDwAD8Pz8Pz8PzzwDw//w888AVVVVVVVVVVVVVVVVVVAP//D/8D//D//PPAPPwPzzzwBVVVVVVVVVVVVVVVVVUA//8D/AD88D8888A88APPPPAFVVVVVVVVVVVVVVVVVQAAAAAAAAAAAAAAAADwA8AAAAVVVVVVVVVVVVVVVVVVAAAAAAAAAAAAAAAAAPwPwAAABVVVVVVVVVVVVVVVVVUAAAAAAAAAAAAAAAAAP/8AAAAFVVVVVVVVVVVVVVVVVQAAAAAAAAAAAAAAAAAP/AAAAAVVVVVVVVVVVVVVVVVVAAAAAAAAAAAAAAAAAAAAAAAABVVVVVVVVVVVVVVVVVUAAAAAAAAAAAAAAAAAAAAAAAAFVVVVVVVVVVVVVVVVVQAAAAAAAAAAAAAAAAAAAAAAAAVVVVVVVVVVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVAP//////////////////////////////////////AFUA//////////////////////////////////////8AVQDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwBVAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAFUA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AVQDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwBVAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAFUA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AVQDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwBVAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAFUA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AVQDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwBVAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAFUA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AVQDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwBVAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAFUA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AVQDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwBVAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAFUA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AVQDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwBVAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAFUA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AVQDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwBVAP//////////////////////////////////////AFUA//////////////////////////////////////8AVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV") |
99 | 109 | }, |
100 | 110 | { |
101 | 111 | name : "Spinner", |
|
125 | 135 | Bangle.setLCDOverlay(undefined, {id: "loadanim"}); |
126 | 136 | }; |
127 | 137 | setTimeout(done, 0); |
128 | | - } |
| 138 | + }, |
| 139 | + loading : () => getPattern(` |
| 140 | +XX..XX.. |
| 141 | +.XX..XX. |
| 142 | +..XX..XX |
| 143 | +X..XX..X |
| 144 | +XX..XX.. |
| 145 | +.XX..XX. |
| 146 | +..XX..XX |
| 147 | +X..XX..X |
| 148 | +`) // stripy background |
129 | 149 | } |
130 | 150 | ]; |
131 | 151 |
|
|
135 | 155 | function saveBootAnim() { |
136 | 156 | let a = ANIM[settings.anim]; |
137 | 157 | storage.write("loadanim.0.boot.js", `{let timer;try{timer=require("timer");}catch{print("loadscr: need FW 2v29+");}if(timer){${a.code["\xffcod"]}}}`); |
138 | | - if (a.loading) storage.write(".loading", a.loading); |
| 158 | + if (a.loading) storage.write(".loading", a.loading()); |
139 | 159 | else storage.erase(".loading"); |
140 | 160 | } |
141 | 161 | function showAnimChooser() { |
|
144 | 164 | menu[a.name] = function() { |
145 | 165 | setTimeout(function() { |
146 | 166 | if (a.loading) |
147 | | - g.drawImage(a.loading,g.getWidth()/2,g.getHeight()/2,{rotate:0/*center*/}); |
| 167 | + g.drawImage(a.loading(),g.getWidth()/2,g.getHeight()/2,{rotate:0/*center*/}); |
148 | 168 | a.code(); |
149 | 169 | let t=getTime()+0.5;while(getTime()<t); // wait for 0.5s (easiest way to) demo |
150 | 170 | // draw widgets and menu |
|
0 commit comments