-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathffl-emscripten.cjs
More file actions
21 lines (17 loc) · 12.2 KB
/
ffl-emscripten.cjs
File metadata and controls
21 lines (17 loc) · 12.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var ModuleFFL = (() => {
var _scriptName = typeof document != 'undefined' ? document.currentScript?.src : undefined;
return (
async function(moduleArg = {}) {
var moduleRtn;
var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=true;var ENVIRONMENT_IS_WORKER=false;var moduleOverrides=Object.assign({},Module);var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptName){scriptDirectory=_scriptName}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.slice(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{readAsync=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;var wasmBinary;var wasmMemory;var ABORT=false;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAP64,HEAPU64,HEAPF64;var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b);HEAP64=new BigInt64Array(b);HEAPU64=new BigUint64Array(b)}function preRun(){}function initRuntime(){runtimeInitialized=true;wasmExports["e"]()}function postRun(){}var runDependencies=0;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++}function removeRunDependency(id){runDependencies--;if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var wasmBinaryFile;function findWasmBinary(){return locateFile("ffl-emscripten.wasm")}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){return{a:wasmImports}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["d"];updateMemoryViews();wasmTable=wasmExports["O"];removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){return receiveInstance(result["instance"])}var info=getWasmImports();wasmBinaryFile??=findWasmBinary();try{var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}catch(e){readyPromiseReject(e);return Promise.reject(e)}}class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}function stackTrace(){abort("missing function: $stackTrace")}stackTrace.stub=true;var __abort_js=()=>abort("");var _emscripten_random=()=>Math.random();var getHeapMax=()=>2147483648;var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var uleb128Encode=(n,target)=>{if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}};var sigToWasmTypes=sig=>{var typeNames={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i<sig.length;++i){type.parameters.push(typeNames[sig[i]])}return type};var generateFuncType=(sig,target)=>{var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={i:127,p:127,j:126,f:125,d:124,e:111};target.push(96);uleb128Encode(sigParam.length,target);for(var i=0;i<sigParam.length;++i){target.push(typeCodes[sigParam[i]])}if(sigRet=="v"){target.push(0)}else{target.push(1,typeCodes[sigRet])}};var convertJsFunctionToWasm=(func,sig)=>{if(typeof WebAssembly.Function=="function"){return new WebAssembly.Function(sigToWasmTypes(sig),func)}var typeSectionBody=[1];generateFuncType(sig,typeSectionBody);var bytes=[0,97,115,109,1,0,0,0,1];uleb128Encode(typeSectionBody.length,bytes);bytes.push(...typeSectionBody);bytes.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(new Uint8Array(bytes));var instance=new WebAssembly.Instance(module,{e:{f:func}});var wrappedFunc=instance.exports["f"];return wrappedFunc};var wasmTableMirror=[];var wasmTable;var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func};var updateTableMap=(offset,count)=>{if(functionsInTableMap){for(var i=offset;i<offset+count;i++){var item=getWasmTableEntry(i);if(item){functionsInTableMap.set(item,i)}}}};var functionsInTableMap;var getFunctionAddress=func=>{if(!functionsInTableMap){functionsInTableMap=new WeakMap;updateTableMap(0,wasmTable.length)}return functionsInTableMap.get(func)||0};var freeTableIndexes=[];var getEmptyTableSlot=()=>{if(freeTableIndexes.length){return freeTableIndexes.pop()}try{wasmTable.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return wasmTable.length-1};var setWasmTableEntry=(idx,func)=>{wasmTable.set(idx,func);wasmTableMirror[idx]=wasmTable.get(idx)};var addFunction=(func,sig)=>{var rtn=getFunctionAddress(func);if(rtn){return rtn}var ret=getEmptyTableSlot();try{setWasmTableEntry(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}var wrapped=convertJsFunctionToWasm(func,sig);setWasmTableEntry(ret,wrapped)}functionsInTableMap.set(func,ret);return ret};var removeFunction=index=>{functionsInTableMap.delete(getWasmTableEntry(index));setWasmTableEntry(index,null);freeTableIndexes.push(index)};var wasmImports={a:__abort_js,c:_emscripten_random,b:_emscripten_resize_heap};var wasmExports=await createWasm();var ___wasm_call_ctors=wasmExports["e"];var _FFLInitCharModelCPUStepWithCallback=Module["_FFLInitCharModelCPUStepWithCallback"]=wasmExports["f"];var _FFLInitCharModelCPUStep=Module["_FFLInitCharModelCPUStep"]=wasmExports["g"];var _FFLDeleteCharModel=Module["_FFLDeleteCharModel"]=wasmExports["h"];var _FFLGetDrawParamOpaFaceline=Module["_FFLGetDrawParamOpaFaceline"]=wasmExports["i"];var _FFLGetDrawParamOpaBeard=Module["_FFLGetDrawParamOpaBeard"]=wasmExports["j"];var _FFLGetDrawParamOpaNose=Module["_FFLGetDrawParamOpaNose"]=wasmExports["k"];var _FFLGetDrawParamOpaForehead=Module["_FFLGetDrawParamOpaForehead"]=wasmExports["l"];var _FFLGetDrawParamOpaHair=Module["_FFLGetDrawParamOpaHair"]=wasmExports["m"];var _FFLGetDrawParamOpaCap=Module["_FFLGetDrawParamOpaCap"]=wasmExports["n"];var _FFLGetDrawParamXluMask=Module["_FFLGetDrawParamXluMask"]=wasmExports["o"];var _FFLGetDrawParamXluNoseLine=Module["_FFLGetDrawParamXluNoseLine"]=wasmExports["p"];var _FFLGetDrawParamXluGlass=Module["_FFLGetDrawParamXluGlass"]=wasmExports["q"];var _FFLSetExpression=Module["_FFLSetExpression"]=wasmExports["r"];var _FFLGetExpression=Module["_FFLGetExpression"]=wasmExports["s"];var _FFLSetViewModelType=Module["_FFLSetViewModelType"]=wasmExports["t"];var _FFLGetBoundingBox=Module["_FFLGetBoundingBox"]=wasmExports["u"];var _FFLIsAvailableExpression=Module["_FFLIsAvailableExpression"]=wasmExports["v"];var _FFLSetCoordinate=Module["_FFLSetCoordinate"]=wasmExports["w"];var _FFLSetScale=Module["_FFLSetScale"]=wasmExports["x"];var _FFLiGetRandomCharInfo=Module["_FFLiGetRandomCharInfo"]=wasmExports["y"];var _FFLpGetStoreDataFromCharInfo=Module["_FFLpGetStoreDataFromCharInfo"]=wasmExports["z"];var _FFLpGetCharInfoFromStoreData=Module["_FFLpGetCharInfoFromStoreData"]=wasmExports["A"];var _FFLpGetCharInfoFromMiiDataOfficialRFL=Module["_FFLpGetCharInfoFromMiiDataOfficialRFL"]=wasmExports["B"];var _FFLGetAdditionalInfo=Module["_FFLGetAdditionalInfo"]=wasmExports["C"];var _FFLInitRes=Module["_FFLInitRes"]=wasmExports["D"];var _FFLInitResGPUStep=Module["_FFLInitResGPUStep"]=wasmExports["E"];var _FFLExit=Module["_FFLExit"]=wasmExports["F"];var _FFLIsAvailable=Module["_FFLIsAvailable"]=wasmExports["G"];var _FFLGetFavoriteColor=Module["_FFLGetFavoriteColor"]=wasmExports["H"];var _FFLSetLinearGammaMode=Module["_FFLSetLinearGammaMode"]=wasmExports["I"];var _FFLGetFacelineColor=Module["_FFLGetFacelineColor"]=wasmExports["J"];var _FFLSetTextureFlipY=Module["_FFLSetTextureFlipY"]=wasmExports["K"];var _FFLSetNormalIsSnorm8_8_8_8=Module["_FFLSetNormalIsSnorm8_8_8_8"]=wasmExports["L"];var _FFLSetFrontCullForFlipX=Module["_FFLSetFrontCullForFlipX"]=wasmExports["M"];var _FFLSetTextureCallback=Module["_FFLSetTextureCallback"]=wasmExports["N"];var _FFLiDeleteTempObjectMaskTextures=Module["_FFLiDeleteTempObjectMaskTextures"]=wasmExports["P"];var _FFLiDeleteTempObjectFacelineTexture=Module["_FFLiDeleteTempObjectFacelineTexture"]=wasmExports["Q"];var _FFLiDeleteTextureTempObject=Module["_FFLiDeleteTextureTempObject"]=wasmExports["R"];var _FFLiiGetEyeRotateOffset=Module["_FFLiiGetEyeRotateOffset"]=wasmExports["S"];var _FFLiiGetEyebrowRotateOffset=Module["_FFLiiGetEyebrowRotateOffset"]=wasmExports["T"];var _FFLiInvalidateTempObjectFacelineTexture=Module["_FFLiInvalidateTempObjectFacelineTexture"]=wasmExports["U"];var _FFLiInvalidatePartsTextures=Module["_FFLiInvalidatePartsTextures"]=wasmExports["V"];var _FFLiInvalidateRawMask=Module["_FFLiInvalidateRawMask"]=wasmExports["W"];var _FFLiVerifyCharInfoWithReason=Module["_FFLiVerifyCharInfoWithReason"]=wasmExports["X"];var _free=Module["_free"]=wasmExports["Y"];var _malloc=Module["_malloc"]=wasmExports["Z"];Module["addFunction"]=addFunction;Module["removeFunction"]=removeFunction;function run(){if(runDependencies>0){dependenciesFulfilled=run;return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);Module["onRuntimeInitialized"]?.();postRun()}{doRun()}}run();moduleRtn=readyPromise;
return moduleRtn;
}
);
})();
if (typeof exports === 'object' && typeof module === 'object') {
module.exports = ModuleFFL;
// This default export looks redundant, but it allows TS to import this
// commonjs style module.
module.exports.default = ModuleFFL;
} else if (typeof define === 'function' && define['amd'])
define([], () => ModuleFFL);