From 737dfd60ee88d48fec87487b78dc083b0be09a51 Mon Sep 17 00:00:00 2001 From: libccy Date: Sat, 18 Nov 2017 03:16:18 +0800 Subject: [PATCH] tmo --- game/game.js | 69 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 65 insertions(+), 4 deletions(-) diff --git a/game/game.js b/game/game.js index 015880814..f823ca443 100644 --- a/game/game.js +++ b/game/game.js @@ -23254,18 +23254,36 @@ game.importedPack=obj; } }, - importExtension:function(data,finishLoad,exportext){ + importExtension:function(data,finishLoad,exportext,pkg){ if(!window.JSZip){ lib.init.js(lib.assetURL+'game','jszip',function(){ - game.importExtension(data,finishLoad,exportext); + game.importExtension(data,finishLoad,exportext,pkg); }); } else if(get.objtype(data)=='object'){ var zip=new JSZip(); + var filelist=[]; for(var i in data){ zip.file(i,data[i]); + filelist.push(i); } if(exportext){ + if(pkg){ + filelist.remove('extension.js'); + pkg.files=filelist; + window.xxx=zip.generate({type:"arraybuffer"}) + pkg.size=zip.generate({type:"arraybuffer"}).byteLength; + if(pkg.size<1000){ + pkg.size=pkg.size+'B'; + } + else if(pkg.size<1000000){ + pkg.size=Math.round(pkg.size/1000)+'KB'; + } + else{ + pkg.size=Math.round(pkg.size/100000)/10+'MB'; + } + zip.file('package.js','window.noname_extension_package='+JSON.stringify(pkg)); + } var blob = zip.generate({type:"blob"}); var fileNameToSaveAs = exportext; fileNameToSaveAs=fileNameToSaveAs.replace(/\\|\/|\:|\?|\"|\*|<|>|\|/g,'.'); @@ -32479,7 +32497,13 @@ extension[i]=dash2.content.image[i]; } if(exportext){ - game.importExtension(extension,null,page.currentExtension); + game.importExtension(extension,null,page.currentExtension,{ + intro:introExtLine.querySelector('input').value||'', + author:authorExtLine.querySelector('input').value||'', + diskURL:diskExtLine.querySelector('input').value||'', + forumURL:forumExtLine.querySelector('input').value||'', + version:versionExtLine.querySelector('input').value||'', + }); } else{ game.importExtension(extension,function(){ @@ -34606,7 +34630,44 @@ loading.innerHTML='连接失败'; return; } - loaded(); + var list=window.noname_extension_list; + if(Array.isArray(list)){ + list[i]={ + name:list[i], + files:[] + }; + var num=0; + for(var i=0;i