|
1 | 1 | /* |
2 | | - Animal Crossing: New Leaf Save Editor v20180427 |
| 2 | + Animal Crossing: New Leaf Save Editor v20180517 |
3 | 3 | by Marc Robledo 2015-2018 |
4 | 4 |
|
5 | 5 | A lot of thanks to: |
@@ -449,6 +449,8 @@ function enableDebugOnElement(e){addEvent(e,'mouseenter',showDebug);addEvent(e,' |
449 | 449 | /* Initialize ACNL editor */ |
450 | 450 | addEvent(window,'load',function(){ |
451 | 451 | /* service worker */ |
| 452 | + if(location.protocol==='http:') |
| 453 | + location.href=window.location.href.replace('http:','https:'); |
452 | 454 | if('serviceWorker' in navigator) |
453 | 455 | navigator.serviceWorker.register('_cache_service_worker.js'); |
454 | 456 |
|
@@ -1105,43 +1107,46 @@ function GrassMap(offset,width,height){ |
1105 | 1107 | this.draw(); |
1106 | 1108 | } |
1107 | 1109 | GrassMap.prototype._refreshBackground=function(){ |
1108 | | - var canvas=document.createElement('canvas'); |
1109 | | - var acreSize=this._TILE_SIZE*16; |
1110 | | - canvas.width=acreSize*(this.width-1); |
1111 | | - canvas.height=acreSize*(this.height); |
1112 | | - var ctx=canvas.getContext('2d'); |
| 1110 | + try{ |
| 1111 | + var canvas=document.createElement('canvas'); |
| 1112 | + var acreSize=this._TILE_SIZE*16; |
| 1113 | + canvas.width=acreSize*(this.width-1); |
| 1114 | + canvas.height=acreSize*(this.height); |
| 1115 | + var ctx=canvas.getContext('2d'); |
1113 | 1116 |
|
1114 | | - for(var y=0; y<this.height; y++){ |
1115 | | - for(var x=0; x<this.width-1; x++){ |
1116 | | - var acreId=map.acres[y*(this.width-1)+x].id; |
| 1117 | + for(var y=0; y<this.height; y++){ |
| 1118 | + for(var x=0; x<this.width-1; x++){ |
| 1119 | + var acreId=map.acres[y*(this.width-1)+x].id; |
1117 | 1120 |
|
1118 | | - var cropAcreX=(acreId%20)*64; |
1119 | | - var cropAcreY=parseInt(acreId/20)*64; |
| 1121 | + var cropAcreX=(acreId%20)*64; |
| 1122 | + var cropAcreY=parseInt(acreId/20)*64; |
1120 | 1123 |
|
1121 | | - var cropHeight=(acreId==0xa8 || (acreId>=0x9e && acreId<=0xa3))?40:64; |
| 1124 | + var cropHeight=(acreId==0xa8 || (acreId>=0x9e && acreId<=0xa3))?40:64; |
1122 | 1125 |
|
1123 | | - ctx.drawImage(acresImage, cropAcreX, cropAcreY, 64, cropHeight, acreSize*x, acreSize*y, acreSize, acreSize); |
| 1126 | + ctx.drawImage(acresImage, cropAcreX, cropAcreY, 64, cropHeight, acreSize*x, acreSize*y, acreSize, acreSize); |
| 1127 | + } |
1124 | 1128 | } |
1125 | | - } |
1126 | 1129 |
|
1127 | 1130 |
|
1128 | | - /* grayscale */ |
1129 | | - var imageData=ctx.getImageData(0, 0, canvas.width, canvas.height); |
1130 | | - var data=imageData.data; |
1131 | | - for(var i=0; i<data.length; i+=4) { |
1132 | | - //var brightness=0.34*data[i] + 0.5*data[i+1] + 0.16*data[i+2]; |
1133 | | - //var brightness=0.44*data[i] + 0.6*data[i+1] + 0.26*data[i+2]; |
1134 | | - var brightness=0.54*data[i] + 0.7*data[i+1] + 0.36*data[i+2]; |
1135 | | - data[i]=brightness; //red |
1136 | | - data[i+1]=brightness; //green |
1137 | | - data[i+2]=brightness; //blue |
1138 | | - } |
1139 | | - ctx.putImageData(imageData, 0, 0); |
| 1131 | + /* grayscale */ |
| 1132 | + var imageData=ctx.getImageData(0, 0, canvas.width, canvas.height); |
| 1133 | + var data=imageData.data; |
| 1134 | + for(var i=0; i<data.length; i+=4) { |
| 1135 | + //var brightness=0.34*data[i] + 0.5*data[i+1] + 0.16*data[i+2]; |
| 1136 | + //var brightness=0.44*data[i] + 0.6*data[i+1] + 0.26*data[i+2]; |
| 1137 | + var brightness=0.54*data[i] + 0.7*data[i+1] + 0.36*data[i+2]; |
| 1138 | + data[i]=brightness; //red |
| 1139 | + data[i+1]=brightness; //green |
| 1140 | + data[i+2]=brightness; //blue |
| 1141 | + } |
| 1142 | + ctx.putImageData(imageData, 0, 0); |
1140 | 1143 |
|
1141 | 1144 |
|
1142 | 1145 |
|
1143 | 1146 |
|
1144 | | - el('grass-quads').style.backgroundImage='url('+canvas.toDataURL()+')'; |
| 1147 | + el('grass-quads').style.backgroundImage='url('+canvas.toDataURL()+')'; |
| 1148 | + }catch(e){ |
| 1149 | + } |
1145 | 1150 | } |
1146 | 1151 | GrassMap.prototype.draw=function(){ |
1147 | 1152 | this._refreshBackground(); |
|
0 commit comments