Initial commit: Client Doc docs Server Tools

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
ud18010
2026-07-10 10:24:29 +08:00
co-authored by Cursor
commit 7e35d8da31
3374 changed files with 680813 additions and 0 deletions
@@ -0,0 +1,33 @@
fileFormatVersion: 2
guid: e3bcb9f6d2b014d38815ff3cdeb11f6f
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Any:
second:
enabled: 1
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
- first:
Windows Store Apps: WindowsStoreApps
second:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,967 @@
mergeInto(LibraryManager.library, {
WXPointer_stringify_adaptor:function(str){
if (typeof UTF8ToString !== "undefined") {
return UTF8ToString(str)
}
return Pointer_stringify(str)
},
glGenTextures: function (n, textures) {
for (var i = 0; i < n; i++) {
var texture = GLctx.createTexture();
if (!texture) {
GL.recordError(1282);
while (i < n) HEAP32[textures + i++ * 4 >> 2] = 0;
return
}
var id = GL.getNewId(GL.textures);
texture.name = id;
GL.textures[id] = texture;
window._lastTextureId = id;
HEAP32[textures + i * 4 >> 2] = id
}
},
glBindTexture:function(target, texture) {
window._lastBoundTexture = texture;
GLctx.bindTexture(target, texture ? GL.textures[texture] : null)
},
WXInitializeSDK: function (version) {
window.WXWASMSDK.WXInitializeSDK(_WXPointer_stringify_adaptor(version));
if (typeof emscriptenMemoryProfiler !== "undefined") {
GameGlobal.memprofiler = emscriptenMemoryProfiler
GameGlobal.memprofiler.onDump = function () {
var fs = wx.getFileSystemManager();
var allocation_used=GameGlobal.memprofiler.allocationsAtLoc;
if (typeof allocation_used === "undefined") allocation_used=GameGlobal.memprofiler.allocationSiteStatistics;
var calls = [];
for (var i in allocation_used) {
calls.push(i);
}
calls.sort((function (a, b) {
return allocation_used[b][1] - allocation_used[a][1];
}));
console.log('WXDumpUnityHeap begin', Object.keys(allocation_used).length, calls.length);
wx.getFileSystemManager().open({
filePath: wx.env.USER_DATA_PATH + '/alloc_used.csv',
flag: 'w',
success: function(res) {
var wxfile = res.fd;
fs.write({
fd: wxfile,
data:'callback;count;size;malloc;free\r\n',
fail: function(res) {
console.error(res);
}
})
var errorCount = 0;
for (var i = 0; i < 100000 && i < calls.length; ++i) {
var callstack = calls[i];
var item = allocation_used[callstack];
if (typeof item === "undefined") {
// console.error('callstack not fond', callstack);
++errorCount;
continue
}
var posOfThisFunc = callstack.indexOf('emscripten_trace_record_') + "emscripten_trace_record_".length;
if (posOfThisFunc != -1) callstack = callstack.substr(posOfThisFunc);
var posOfRaf = callstack.lastIndexOf("InitWebGLPlayeriPPc ");
if (posOfRaf != -1) callstack = callstack.substr(0, posOfRaf);
posOfRaf = callstack.lastIndexOf("InitPlayerLoopCallbacks");
if (posOfRaf != -1) callstack = callstack.substr(0, posOfRaf);
callstack = callstack.replace(/\(.*?\)/g, '')
callstack = callstack.replace(/[A-Z0-9]{40}/g, '')
callstack = callstack.replace(/\n/g, "<-")
callstack = callstack.replace(/_malloc <-.*?MemLabelId15AllocateOptions/g, '')
callstack = callstack.replace(/<- at dynCall.*?at invoke_/g, '')
fs.write({
fd: wxfile,
data: callstack + ';' + item[0] + ';' + item[1] + ';' + item[2] + ';' + item[3] + '\r\n',
fail: function(res) {
console.error(res)
}
})
}
console.log("WXDumpUnityHeap end", errorCount)
}
})
}
}
},
WXStorageSetIntSync: function (key, value) {
window.WXWASMSDK.WXStorageSetIntSync(_WXPointer_stringify_adaptor(key), value);
},
WXStorageGetIntSync: function (key, defaultValue) {
return window.WXWASMSDK.WXStorageGetIntSync(_WXPointer_stringify_adaptor(key), defaultValue);
},
WXStorageSetFloatSync: function (key, value) {
window.WXWASMSDK.WXStorageSetFloatSync(_WXPointer_stringify_adaptor(key), value);
},
WXStorageGetFloatSync: function (key, defaultValue) {
return window.WXWASMSDK.WXStorageGetFloatSync(_WXPointer_stringify_adaptor(key), defaultValue);
},
WXStorageSetStringSync: function (key, value) {
window.WXWASMSDK.WXStorageSetStringSync(_WXPointer_stringify_adaptor(key), _WXPointer_stringify_adaptor(value));
},
WXStorageGetStringSync: function (key, defaultValue) {
var returnStr = window.WXWASMSDK.WXStorageGetStringSync(_WXPointer_stringify_adaptor(key), _WXPointer_stringify_adaptor(defaultValue));
var bufferSize = lengthBytesUTF8(returnStr || '') + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(returnStr, buffer, bufferSize);
return buffer;
},
WXStorageDeleteAllSync: function () {
window.WXWASMSDK.WXStorageDeleteAllSync();
},
WXStorageDeleteKeySync: function (key) {
window.WXWASMSDK.WXStorageDeleteKeySync(_WXPointer_stringify_adaptor(key));
},
WXStorageHasKeySync: function (key) {
return window.WXWASMSDK.WXStorageHasKeySync(_WXPointer_stringify_adaptor(key));
},
WXCheckSession: function (s, f, c) {
window.WXWASMSDK.WXCheckSession(_WXPointer_stringify_adaptor(s), _WXPointer_stringify_adaptor(f), _WXPointer_stringify_adaptor(c));
},
WXAuthorize: function (scope, s, f, c) {
window.WXWASMSDK.WXAuthorize(_WXPointer_stringify_adaptor(scope), _WXPointer_stringify_adaptor(s), _WXPointer_stringify_adaptor(f), _WXPointer_stringify_adaptor(c));
},
WXCreateUserInfoButton: function (x, y, width, height, lang, withCredentials) {
var returnStr = window.WXWASMSDK.WXCreateUserInfoButton(x, y, width, height, _WXPointer_stringify_adaptor(lang), withCredentials);
var bufferSize = lengthBytesUTF8(returnStr || '') + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(returnStr, buffer, bufferSize);
return buffer;
},
WXUserInfoButtonShow: function (id) {
window.WXWASMSDK.WXUserInfoButtonShow(_WXPointer_stringify_adaptor(id));
},
WXUserInfoButtonDestroy: function (id) {
window.WXWASMSDK.WXUserInfoButtonDestroy(_WXPointer_stringify_adaptor(id));
},
WXUserInfoButtonHide: function (id) {
window.WXWASMSDK.WXUserInfoButtonHide(_WXPointer_stringify_adaptor(id));
},
WXUserInfoButtonOffTap: function (id) {
window.WXWASMSDK.WXUserInfoButtonOffTap(_WXPointer_stringify_adaptor(id));
},
WXUserInfoButtonOnTap: function (id) {
window.WXWASMSDK.WXUserInfoButtonOnTap(_WXPointer_stringify_adaptor(id));
},
WXOnShareAppMessage: function (conf, isPromise) {
return window.WXWASMSDK.WXOnShareAppMessage(_WXPointer_stringify_adaptor(conf), isPromise);
},
WXOnShareAppMessageResolve: function (conf) {
return window.WXWASMSDK.WXOnShareAppMessageResolve(_WXPointer_stringify_adaptor(conf));
},
WXOffShareAppMessage: function () {
return window.WXWASMSDK.WXOffShareAppMessage();
},
WXCreateBannerAd: function (conf) {
var returnStr = window.WXWASMSDK.WXCreateBannerAd(_WXPointer_stringify_adaptor(conf));
var bufferSize = lengthBytesUTF8(returnStr || '') + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(returnStr, buffer, bufferSize);
return buffer;
},
WXCreateRewardedVideoAd: function (conf) {
var returnStr = window.WXWASMSDK.WXCreateRewardedVideoAd(_WXPointer_stringify_adaptor(conf));
var bufferSize = lengthBytesUTF8(returnStr || '') + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(returnStr, buffer, bufferSize);
return buffer;
},
WXGetFontRawData: function (conf, callbackId) {
window.WXWASMSDK.WXGetFontRawData(_WXPointer_stringify_adaptor(conf), _WXPointer_stringify_adaptor(callbackId))
},
WXShareFontBuffer:function(offset,callbackId){
window.WXWASMSDK.WXShareFontBuffer(
HEAPU8,
offset,
_WXPointer_stringify_adaptor(callbackId)
)
},
WXRewardedVideoAdReportShareBehavior: function (id, conf) {
var returnStr = window.WXWASMSDK.WXReportShareBehavior(_WXPointer_stringify_adaptor(id), _WXPointer_stringify_adaptor(conf));
var bufferSize = lengthBytesUTF8(returnStr || '') + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(returnStr, buffer, bufferSize);
return buffer;
},
WXCreateInterstitialAd: function (conf) {
var returnStr = window.WXWASMSDK.WXCreateInterstitialAd(_WXPointer_stringify_adaptor(conf));
var bufferSize = lengthBytesUTF8(returnStr || '') + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(returnStr, buffer, bufferSize);
return buffer;
},
WXCreateCustomAd: function (conf) {
var returnStr = window.WXWASMSDK.WXCreateCustomAd(_WXPointer_stringify_adaptor(conf));
var bufferSize = lengthBytesUTF8(returnStr || '') + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(returnStr, buffer, bufferSize);
return buffer;
},
WXADStyleChange: function (id, key, value) {
window.WXWASMSDK.WXADStyleChange(_WXPointer_stringify_adaptor(id), _WXPointer_stringify_adaptor(key), value);
},
WXShowAd: function (id, s, f) {
window.WXWASMSDK.WXShowAd(_WXPointer_stringify_adaptor(id), _WXPointer_stringify_adaptor(s), _WXPointer_stringify_adaptor(f));
},
WXShowAd2: function (id,branchId,branchDim, s, f) {
window.WXWASMSDK.WXShowAd2(_WXPointer_stringify_adaptor(id),_WXPointer_stringify_adaptor(branchId),_WXPointer_stringify_adaptor(branchDim), _WXPointer_stringify_adaptor(s), _WXPointer_stringify_adaptor(f));
},
WXHideAd: function (id, s, f) {
window.WXWASMSDK.WXHideAd(_WXPointer_stringify_adaptor(id), _WXPointer_stringify_adaptor(s), _WXPointer_stringify_adaptor(f));
},
WXADGetStyleValue: function (id, key) {
return window.WXWASMSDK.WXADGetStyleValue(_WXPointer_stringify_adaptor(id), _WXPointer_stringify_adaptor(key));
},
WXADDestroy: function (id) {
window.WXWASMSDK.WXADDestroy(_WXPointer_stringify_adaptor(id));
},
WXADLoad: function (id, succ, fail) {
window.WXWASMSDK.WXADLoad(_WXPointer_stringify_adaptor(id), _WXPointer_stringify_adaptor(succ), _WXPointer_stringify_adaptor(fail));
},
WXToTempFilePath: function (conf, s, f, c) {
window.WXWASMSDK.WXToTempFilePath(_WXPointer_stringify_adaptor(conf), _WXPointer_stringify_adaptor(s), _WXPointer_stringify_adaptor(f), _WXPointer_stringify_adaptor(c))
},
WXToTempFilePathSync: function (conf) {
var returnStr = window.WXWASMSDK.WXToTempFilePathSync(_WXPointer_stringify_adaptor(conf));
var bufferSize = lengthBytesUTF8(returnStr || '') + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(returnStr, buffer, bufferSize);
return buffer;
},
WXGetUserDataPath: function () {
var returnStr = window.WXWASMSDK.WXGetUserDataPath();
var bufferSize = lengthBytesUTF8(returnStr || '') + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(returnStr, buffer, bufferSize);
return buffer;
},
WXWriteFileSync: function (filePath, data, encoding) {
var returnStr = window.WXWASMSDK.WXWriteFileSync(_WXPointer_stringify_adaptor(filePath), _WXPointer_stringify_adaptor(data), _WXPointer_stringify_adaptor(encoding));
var bufferSize = lengthBytesUTF8(returnStr || '') + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(returnStr, buffer, bufferSize);
return buffer;
},
WXCreateFixedBottomMiddleBannerAd: function (adUnitId, adIntervals, height) {
var returnStr = window.WXWASMSDK.WXCreateFixedBottomMiddleBannerAd(_WXPointer_stringify_adaptor(adUnitId), adIntervals, height);
var bufferSize = lengthBytesUTF8(returnStr || '') + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(returnStr, buffer, bufferSize);
return buffer;
},
WXDataContextPostMessage: function (msg) {
window.WXWASMSDK.WXDataContextPostMessage(_WXPointer_stringify_adaptor(msg));
},
WXShowOpenData: function (id, x, y, width, height) {
window.WXWASMSDK.WXShowOpenData(id, x, y, width, height);
},
WXHideOpenData: function () {
window.WXWASMSDK.WXHideOpenData();
},
WXReportGameStart: function () {
window.WXWASMSDK.WXReportGameStart();
},
WXReportGameSceneError: function(sceneId, errorType, errStr, extJsonStr) {
window.WXWASMSDK.WXReportGameSceneError(sceneId, errorType, _WXPointer_stringify_adaptor(errStr), _WXPointer_stringify_adaptor(extJsonStr));
},
WXWriteLog: function (str) {
window.WXWASMSDK.WXWriteLog(_WXPointer_stringify_adaptor(str))
},
WXWriteWarn: function (str) {
window.WXWASMSDK.WXWriteWarn(_WXPointer_stringify_adaptor(str))
},
WXPreloadConcurrent: function (count) {
window.WXWASMSDK.WXPreloadConcurrent(count);
},
WXAccessFileSync: function (path) {
var returnStr = window.WXWASMSDK.WXAccessFileSync(_WXPointer_stringify_adaptor(path));
var bufferSize = lengthBytesUTF8(returnStr || '') + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(returnStr, buffer, bufferSize);
return buffer;
},
WXAccessFile: function (path, s, f, c) {
return window.WXWASMSDK.WXAccessFile(_WXPointer_stringify_adaptor(path), _WXPointer_stringify_adaptor(s), _WXPointer_stringify_adaptor(f), _WXPointer_stringify_adaptor(c));
},
WXCopyFileSync: function (srcPath, destPath) {
var returnStr = window.WXWASMSDK.WXCopyFileSync(_WXPointer_stringify_adaptor(srcPath), _WXPointer_stringify_adaptor(destPath));
var bufferSize = lengthBytesUTF8(returnStr || '') + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(returnStr, buffer, bufferSize);
return buffer;
},
WXCopyFile: function (srcPath, destPath, s, f, c) {
return window.WXWASMSDK.WXCopyFile(_WXPointer_stringify_adaptor(srcPath), _WXPointer_stringify_adaptor(destPath), _WXPointer_stringify_adaptor(s), _WXPointer_stringify_adaptor(f), _WXPointer_stringify_adaptor(c));
},
WXUnlinkSync: function (filePath) {
var returnStr = window.WXWASMSDK.WXUnlinkSync(_WXPointer_stringify_adaptor(filePath));
var bufferSize = lengthBytesUTF8(returnStr || '') + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(returnStr, buffer, bufferSize);
return buffer;
},
WXUnlink: function (filePath, s, f, c) {
return window.WXWASMSDK.WXUnlink(_WXPointer_stringify_adaptor(filePath), _WXPointer_stringify_adaptor(s), _WXPointer_stringify_adaptor(f), _WXPointer_stringify_adaptor(c));
},
WXReportUserBehaviorBranchAnalytics: function (branchId, branchDim, eventType) {
window.WXWASMSDK.WXReportUserBehaviorBranchAnalytics(_WXPointer_stringify_adaptor(branchId), _WXPointer_stringify_adaptor(branchDim), eventType);
},
WXCallFunction: function (name, data, conf, s, f, c) {
window.WXWASMSDK.WXCallFunction(_WXPointer_stringify_adaptor(name), _WXPointer_stringify_adaptor(data), _WXPointer_stringify_adaptor(conf), _WXPointer_stringify_adaptor(s), _WXPointer_stringify_adaptor(f), _WXPointer_stringify_adaptor(c));
},
WXCallFunctionInit: function (conf) {
window.WXWASMSDK.WXCallFunctionInit(_WXPointer_stringify_adaptor(conf));
},
WXCloudID: function (cloudID) {
var returnStr = window.WXWASMSDK.WXCloudID(_WXPointer_stringify_adaptor(cloudID));
var bufferSize = lengthBytesUTF8(returnStr || '') + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(returnStr, buffer, bufferSize);
return buffer;
},
WXCreateInnerAudioContext: function (src, loop, startTime, autoplay, volume, playbackRate, needDownload) {
var returnStr = window.WXWASMSDK.WXCreateInnerAudioContext(_WXPointer_stringify_adaptor(src), loop, startTime, autoplay, volume, playbackRate, needDownload);
var bufferSize = lengthBytesUTF8(returnStr || '') + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(returnStr, buffer, bufferSize);
return buffer;
},
WXInnerAudioContextSetBool: function (id, k, v) {
window.WXWASMSDK.WXInnerAudioContextSetBool(_WXPointer_stringify_adaptor(id), _WXPointer_stringify_adaptor(k), v);
},
WXInnerAudioContextSetString: function (id, k, v) {
window.WXWASMSDK.WXInnerAudioContextSetString(_WXPointer_stringify_adaptor(id), _WXPointer_stringify_adaptor(k), _WXPointer_stringify_adaptor(v));
},
WXInnerAudioContextSetFloat: function (id, k, v) {
window.WXWASMSDK.WXInnerAudioContextSetFloat(_WXPointer_stringify_adaptor(id), _WXPointer_stringify_adaptor(k), v);
},
WXInnerAudioContextGetFloat: function (id, k) {
return window.WXWASMSDK.WXInnerAudioContextGetFloat(_WXPointer_stringify_adaptor(id), _WXPointer_stringify_adaptor(k));
},
WXInnerAudioContextGetBool: function (id, k) {
return window.WXWASMSDK.WXInnerAudioContextGetBool(_WXPointer_stringify_adaptor(id), _WXPointer_stringify_adaptor(k));
},
WXInnerAudioContextPlay: function (id) {
window.WXWASMSDK.WXInnerAudioContextPlay(_WXPointer_stringify_adaptor(id));
},
WXInnerAudioContextStop: function (id) {
window.WXWASMSDK.WXInnerAudioContextStop(_WXPointer_stringify_adaptor(id));
},
WXInnerAudioContextPause: function (id) {
window.WXWASMSDK.WXInnerAudioContextPause(_WXPointer_stringify_adaptor(id));
},
WXInnerAudioContextDestroy: function (id) {
window.WXWASMSDK.WXInnerAudioContextDestroy(_WXPointer_stringify_adaptor(id));
},
WXInnerAudioContextSeek: function (id, position) {
window.WXWASMSDK.WXInnerAudioContextSeek(_WXPointer_stringify_adaptor(id), position);
},
WXInnerAudioContextAddListener: function (id, key) {
window.WXWASMSDK.WXInnerAudioContextAddListener(_WXPointer_stringify_adaptor(id), _WXPointer_stringify_adaptor(key));
},
WXInnerAudioContextRemoveListener: function (id, key) {
window.WXWASMSDK.WXInnerAudioContextRemoveListener(_WXPointer_stringify_adaptor(id), _WXPointer_stringify_adaptor(key));
},
WXPreDownloadAudios: function (paths, id) {
window.WXWASMSDK.WXPreDownloadAudios(_WXPointer_stringify_adaptor(paths), id);
},
WXSetDataCDN: function(path) {
window.WXWASMSDK.WXSetDataCDN(_WXPointer_stringify_adaptor(path));
},
WXSetPreloadList: function(paths) {
window.WXWASMSDK.WXSetPreloadList(_WXPointer_stringify_adaptor(paths));
},
WXCreateGameClubButton: function (conf) {
var returnStr = window.WXWASMSDK.WXCreateGameClubButton(_WXPointer_stringify_adaptor(conf));
var bufferSize = lengthBytesUTF8(returnStr || '') + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(returnStr, buffer, bufferSize);
return buffer;
},
WXGameClubButtonDestroy: function(id) {
window.WXWASMSDK.WXGameClubButtonDestroy(_WXPointer_stringify_adaptor(id));
},
WXGameClubButtonHide: function(id) {
window.WXWASMSDK.WXGameClubButtonHide(_WXPointer_stringify_adaptor(id));
},
WXGameClubButtonShow: function(id) {
window.WXWASMSDK.WXGameClubButtonShow(_WXPointer_stringify_adaptor(id));
},
WXGameClubButtonAddListener: function(id, key) {
window.WXWASMSDK.WXGameClubButtonAddListener(_WXPointer_stringify_adaptor(id), _WXPointer_stringify_adaptor(key));
},
WXGameClubButtonRemoveListener: function(id, key) {
window.WXWASMSDK.WXGameClubButtonRemoveListener(_WXPointer_stringify_adaptor(id), _WXPointer_stringify_adaptor(key));
},
WXGameClubButtonSetProperty: function(id, key, value) {
window.WXWASMSDK.WXGameClubButtonSetProperty(_WXPointer_stringify_adaptor(id), _WXPointer_stringify_adaptor(key), _WXPointer_stringify_adaptor(value));
},
WXGameClubStyleChangeInt: function(id, key, value) {
window.WXWASMSDK.WXGameClubStyleChangeInt(_WXPointer_stringify_adaptor(id), _WXPointer_stringify_adaptor(key), value);
},
WXGameClubStyleChangeStr: function(id, key, value) {
window.WXWASMSDK.WXGameClubStyleChangeStr(_WXPointer_stringify_adaptor(id), _WXPointer_stringify_adaptor(key), _WXPointer_stringify_adaptor(value));
},
WXCreateVideo: function(conf) {
var returnStr = window.WXWASMSDK.WXCreateVideo(_WXPointer_stringify_adaptor(conf));
var bufferSize = lengthBytesUTF8(returnStr || '') + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(returnStr, buffer, bufferSize);
return buffer;
},
WXVideoPlay: function(id) {
window.WXWASMSDK.WXVideoPlay(_WXPointer_stringify_adaptor(id));
},
WXVideoAddListener: function(id,key) {
window.WXWASMSDK.WXVideoAddListener(_WXPointer_stringify_adaptor(id), _WXPointer_stringify_adaptor(key));
},
WXVideoDestroy: function(id) {
window.WXWASMSDK.WXVideoDestroy(_WXPointer_stringify_adaptor(id));
},
WXVideoExitFullScreen: function(id) {
window.WXWASMSDK.WXVideoExitFullScreen(_WXPointer_stringify_adaptor(id));
},
WXVideoPause: function(id){
window.WXWASMSDK.WXVideoPause(_WXPointer_stringify_adaptor(id));
},
WXVideoRequestFullScreen:function(id,direction){
window.WXWASMSDK.WXVideoRequestFullScreen(_WXPointer_stringify_adaptor(id),direction);
},
WXVideoSeek:function(id,time){
window.WXWASMSDK.WXVideoSeek(_WXPointer_stringify_adaptor(id),time);
},
WXVideoStop:function(id){
window.WXWASMSDK.WXVideoStop(_WXPointer_stringify_adaptor(id));
},
WXVideoRemoveListener:function(id,key){
window.WXWASMSDK.WXVideoRemoveListener(_WXPointer_stringify_adaptor(id), _WXPointer_stringify_adaptor(key));
},
WXHideLoadingPage: function() {
window.WXWASMSDK && window.WXWASMSDK.WXHideLoadingPage()
},
WXWriteFile:function(filePath, data, dataLength, encoding, s, f, c) {
window.WXWASMSDK.WXWriteFile(
_WXPointer_stringify_adaptor(filePath),
HEAPU8.slice(data, dataLength + data),
_WXPointer_stringify_adaptor(encoding),
_WXPointer_stringify_adaptor(s),
_WXPointer_stringify_adaptor(f),
_WXPointer_stringify_adaptor(c)
)
},
WXWriteStringFile:function (filePath,data,encoding, s, f, c) {
window.WXWASMSDK.WXWriteStringFile(
_WXPointer_stringify_adaptor(filePath),
_WXPointer_stringify_adaptor(data),
_WXPointer_stringify_adaptor(encoding),
_WXPointer_stringify_adaptor(s),
_WXPointer_stringify_adaptor(f),
_WXPointer_stringify_adaptor(c)
)
},
WXAppendFile:function(filePath, data, dataLength, encoding, s, f, c) {
window.WXWASMSDK.WXAppendFile(
_WXPointer_stringify_adaptor(filePath),
HEAPU8.slice(data, dataLength + data),
_WXPointer_stringify_adaptor(encoding),
_WXPointer_stringify_adaptor(s),
_WXPointer_stringify_adaptor(f),
_WXPointer_stringify_adaptor(c)
)
},
WXAppendStringFile:function (filePath, data, encoding, s, f, c) {
window.WXWASMSDK.WXAppendStringFile(
_WXPointer_stringify_adaptor(filePath),
_WXPointer_stringify_adaptor(data),
_WXPointer_stringify_adaptor(encoding),
_WXPointer_stringify_adaptor(s),
_WXPointer_stringify_adaptor(f),
_WXPointer_stringify_adaptor(c)
)
},
WXWriteBinFileSync:function(filePath, data, dataLength, encoding) {
var returnStr = window.WXWASMSDK.WXWriteBinFileSync(
_WXPointer_stringify_adaptor(filePath),
HEAPU8.slice(data, dataLength + data),
_WXPointer_stringify_adaptor(encoding)
);
var bufferSize = lengthBytesUTF8(returnStr || '') + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(returnStr, buffer, bufferSize);
return buffer;
},
WXReadFile:function(option, callbackId) {
window.WXWASMSDK.WXReadFile(_WXPointer_stringify_adaptor(option), _WXPointer_stringify_adaptor(callbackId));
},
WXReadFileSync:function(option) {
var returnStr = window.WXWASMSDK.WXReadFileSync(_WXPointer_stringify_adaptor(option));
var bufferSize = lengthBytesUTF8(returnStr || '') + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(returnStr, buffer, bufferSize);
return buffer;
},
WXGetTotalMemorySize: function() {
if (typeof TOTAL_MEMORY !== "undefined") {
return TOTAL_MEMORY
}
return buffer.byteLength;
},
WXGetTotalStackSize: function() {
return TOTAL_STACK;
},
WXGetStaticMemorySize: function() {
return STATICTOP - STATIC_BASE;
},
WXGetDynamicMemorySize: function() {
if (typeof DYNAMIC_BASE !== "undefined") {
return HEAP32[DYNAMICTOP_PTR >> 2] - DYNAMIC_BASE
}
var heap_base = 7936880;
if (typeof Module["___heap_base"] !== "undefined") {
heap_base = Module["___heap_base"];
}
var heap_end = _sbrk();
return heap_end - heap_base;
},
WXGetUsedMemorySize: function() {
if (typeof emscriptenMemoryProfiler !== "undefined") {
return emscriptenMemoryProfiler.totalMemoryAllocated;
}
},
WXGetUnAllocatedMemorySize: function() {
var heap_end = _sbrk()
return HEAP8.length - heap_end
return 0
},
WXGetEXFrameTime : function() {
if(typeof GameGlobal.calcFrameTimeFunc == "undefined")
{
GameGlobal.calcFrameTimeFunc = function ()
{
var frameCount = 0;
var exTotalTime = 0;
return function update(frameStart, frameEnd) {
frameCount++;
exTotalTime += (frameEnd - frameStart);
if (frameCount >= 60) {
GameGlobal.avgExFrameTime = exTotalTime / 60;
frameCount = 0;
exTotalTime = 0;
}
};
}();
}
return GameGlobal.avgExFrameTime
},
WXProfilingMemoryDump: function() {
if (typeof emscriptenMemoryProfiler !== "undefined") {
GameGlobal.memprofiler.onDump();
wx.showModal({
title: 'ProfilingMemory',
content: 'OnDump Complete!'
});
return;
}
console.error('Please call WX.InitSDK & Select ProfilingMemory Option')
},
WXLogManagerDebug:function(str){
window.WXWASMSDK.WXLogManagerDebug(
_WXPointer_stringify_adaptor(str)
);
},
WXLogManagerInfo:function(str){
window.WXWASMSDK.WXLogManagerInfo(
_WXPointer_stringify_adaptor(str)
);
},
WXLogManagerLog:function(str){
window.WXWASMSDK.WXLogManagerLog(
_WXPointer_stringify_adaptor(str)
);
},
WXLogManagerWarn:function(str){
window.WXWASMSDK.WXLogManagerWarn(
_WXPointer_stringify_adaptor(str)
);
},
WXIsCloudTest:function(){
return window.WXWASMSDK.WXIsCloudTest();
},
WXCleanAllFileCache:function() {
var returnStr = window.WXWASMSDK.WXCleanAllFileCache();
var bufferSize = lengthBytesUTF8(returnStr || '') + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(returnStr, buffer, bufferSize);
return buffer;
},
WXCleanFileCache: function(fileSize) {
var returnStr = window.WXWASMSDK.WXCleanFileCache(fileSize);
var bufferSize = lengthBytesUTF8(returnStr || '') + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(returnStr, buffer, bufferSize);
return buffer;
},
WXRemoveFile: function(path) {
var returnStr = window.WXWASMSDK.WXRemoveFile(_WXPointer_stringify_adaptor(path));
var bufferSize = lengthBytesUTF8(returnStr || '') + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(returnStr, buffer, bufferSize);
return buffer;
},
WXGetCachePath: function(url) {
var returnStr = window.WXWASMSDK.WXGetCachePath(_WXPointer_stringify_adaptor(url));
var bufferSize = lengthBytesUTF8(returnStr || '') + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(returnStr, buffer, bufferSize);
return buffer;
},
WXGetPluginCachePath: function() {
var returnStr = window.WXWASMSDK.WXGetPluginCachePath();
var bufferSize = lengthBytesUTF8(returnStr || '') + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(returnStr, buffer, bufferSize);
return buffer;
},
WXOnLaunchProgress: function() {
var returnStr = window.WXWASMSDK.WXOnLaunchProgress();
var bufferSize = lengthBytesUTF8(returnStr || '') + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(returnStr, buffer, bufferSize);
return buffer;
},
WXUncaughtException: function() {
window.WXWASMSDK.WXUncaughtException(false);
},
WXMkdir:function(dirPath, recursive, s, f, c){
window.WXWASMSDK.WXMkdir(_WXPointer_stringify_adaptor(dirPath), recursive, _WXPointer_stringify_adaptor(s), _WXPointer_stringify_adaptor(f), _WXPointer_stringify_adaptor(c));
},
WXMkdirSync: function (dirPath, recursive) {
var returnStr = window.WXWASMSDK.WXMkdirSync(_WXPointer_stringify_adaptor(dirPath),recursive);
var bufferSize = lengthBytesUTF8(returnStr || '') + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(returnStr, buffer, bufferSize);
return buffer;
},
WXRmdir: function(dirPath, recursive, s, f, c) {
window.WXWASMSDK.WXRmdir(_WXPointer_stringify_adaptor(dirPath), recursive, _WXPointer_stringify_adaptor(s), _WXPointer_stringify_adaptor(f), _WXPointer_stringify_adaptor(c));
},
WXRmdirSync: function(dirPath, recursive) {
var returnStr = window.WXWASMSDK.WXRmdirSync(_WXPointer_stringify_adaptor(dirPath),recursive);
var bufferSize = lengthBytesUTF8(returnStr || '') + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(returnStr, buffer, bufferSize);
return buffer;
},
WXCameraCreateCamera: function (option, callbackId) {
window.WXWASMSDK.WXCameraCreateCamera(_WXPointer_stringify_adaptor(option), _WXPointer_stringify_adaptor(callbackId));
},
WXCameraCloseFrameChange: function (id) {
window.WXWASMSDK.WXCameraCloseFrameChange(_WXPointer_stringify_adaptor(id));
},
WXCameraDestroy: function (id) {
window.WXWASMSDK.WXCameraDestroy(_WXPointer_stringify_adaptor(id));
},
WXCameraListenFrameChange: function (id) {
window.WXWASMSDK.WXCameraListenFrameChange(_WXPointer_stringify_adaptor(id));
},
WXCameraOnAuthCancel: function (id) {
window.WXWASMSDK.WXCameraOnAuthCancel(_WXPointer_stringify_adaptor(id));
},
WXCameraOnCameraFrame: function (id) {
window.WXWASMSDK.WXCameraOnCameraFrame(_WXPointer_stringify_adaptor(id));
},
WXCameraOnStop:function (id) {
window.WXWASMSDK.WXCameraOnStop(_WXPointer_stringify_adaptor(id));
},
WX_GetRecorderManager:function(
){
var res = window.WXWASMSDK.WX_GetRecorderManager();
var bufferSize = lengthBytesUTF8(res || '') + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(res, buffer, bufferSize);
return buffer;
},
WX_OnRecorderError:function(id){
window.WXWASMSDK.WX_OnRecorderError(_WXPointer_stringify_adaptor(id));
},
WX_OnRecorderFrameRecorded:function(id){
window.WXWASMSDK.WX_OnRecorderFrameRecorded(_WXPointer_stringify_adaptor(id));
},
WX_OnRecorderInterruptionBegin:function(id){
window.WXWASMSDK.WX_OnRecorderInterruptionBegin(_WXPointer_stringify_adaptor(id));
},
WX_OnRecorderInterruptionEnd:function(id){
window.WXWASMSDK.WX_OnRecorderInterruptionEnd(_WXPointer_stringify_adaptor(id));
},
WX_OnRecorderPause:function(id){
window.WXWASMSDK.WX_OnRecorderPause(_WXPointer_stringify_adaptor(id));
},
WX_OnRecorderResume:function(id){
window.WXWASMSDK.WX_OnRecorderResume(_WXPointer_stringify_adaptor(id));
},
WX_OnRecorderStart:function(id){
window.WXWASMSDK.WX_OnRecorderStart(_WXPointer_stringify_adaptor(id));
},
WX_OnRecorderStop:function(id){
window.WXWASMSDK.WX_OnRecorderStop(_WXPointer_stringify_adaptor(id));
},
WX_RecorderPause:function(id){
window.WXWASMSDK.WX_RecorderPause(_WXPointer_stringify_adaptor(id));
},
WX_RecorderResume:function(id){
window.WXWASMSDK.WX_RecorderResume(_WXPointer_stringify_adaptor(id));
},
WX_RecorderStart:function(id,option){
window.WXWASMSDK.WX_RecorderStart(_WXPointer_stringify_adaptor(id),_WXPointer_stringify_adaptor(option));
},
WX_RecorderStop:function(id){
window.WXWASMSDK.WX_RecorderStop(_WXPointer_stringify_adaptor(id));
},
WX_UploadFile:function(conf, callbackId){
window.WXWASMSDK.WX_UploadFile(_WXPointer_stringify_adaptor(conf), _WXPointer_stringify_adaptor(callbackId));
},
WXUploadTaskAbort:function(id){
window.WXWASMSDK.WXUploadTaskAbort(_WXPointer_stringify_adaptor(id));
},
WXUploadTaskOffHeadersReceived:function(id){
window.WXWASMSDK.WXUploadTaskOffHeadersReceived(_WXPointer_stringify_adaptor(id));
},
WXUploadTaskOffProgressUpdate:function(id){
window.WXWASMSDK.WXUploadTaskOffProgressUpdate(_WXPointer_stringify_adaptor(id));
},
WXUploadTaskOnHeadersReceived:function(id){
window.WXWASMSDK.WXUploadTaskOnHeadersReceived(_WXPointer_stringify_adaptor(id));
},
WXUploadTaskOnProgressUpdate:function(id){
window.WXWASMSDK.WXUploadTaskOnProgressUpdate(_WXPointer_stringify_adaptor(id));
},
WXStat: function (conf, callbackId) {
window.WXWASMSDK.WXStat(_WXPointer_stringify_adaptor(conf), _WXPointer_stringify_adaptor(callbackId))
},
WX_GetGameRecorder:function() {
var res = window.WXWASMSDK.WX_GetGameRecorder();
var bufferSize = lengthBytesUTF8(res || '') + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(res, buffer, bufferSize);
return buffer;
},
WX_GameRecorderOff:function(id, eventType){
window.WXWASMSDK.WX_GameRecorderOff(_WXPointer_stringify_adaptor(id), _WXPointer_stringify_adaptor(eventType));
},
WX_GameRecorderOn:function(id, eventType){
window.WXWASMSDK.WX_GameRecorderOn(_WXPointer_stringify_adaptor(id), _WXPointer_stringify_adaptor(eventType));
},
WX_GameRecorderStart:function(id,option){
window.WXWASMSDK.WX_GameRecorderStart(_WXPointer_stringify_adaptor(id),_WXPointer_stringify_adaptor(option));
},
WX_GameRecorderAbort:function(id){
window.WXWASMSDK.WX_GameRecorderAbort(_WXPointer_stringify_adaptor(id));
},
WX_GameRecorderPause:function(id){
window.WXWASMSDK.WX_GameRecorderPause(_WXPointer_stringify_adaptor(id));
},
WX_GameRecorderResume:function(id){
window.WXWASMSDK.WX_GameRecorderResume(_WXPointer_stringify_adaptor(id));
},
WX_GameRecorderStop:function(id){
window.WXWASMSDK.WX_GameRecorderStop(_WXPointer_stringify_adaptor(id));
},
WX_OperateGameRecorderVideo:function(option){
window.WXWASMSDK.WX_OperateGameRecorderVideo(_WXPointer_stringify_adaptor(option));
},
WXChatCreate: function (option) {
return window.WXWASMSDK.WXChatCreate(_WXPointer_stringify_adaptor(option));
},
WXChatHide: function () {
window.WXWASMSDK.WXChatHide();
},
WXChatShow: function (option) {
window.WXWASMSDK.WXChatShow(_WXPointer_stringify_adaptor(option));
},
WXChatClose: function () {
window.WXWASMSDK.WXChatClose();
},
WXChatOpen: function (pageKey) {
window.WXWASMSDK.WXChatOpen(_WXPointer_stringify_adaptor(pageKey));
},
WXChatSetTabs: function (pageKeys) {
window.WXWASMSDK.WXChatSetTabs(_WXPointer_stringify_adaptor(pageKeys));
},
WXChatOn: function (eventType) {
window.WXWASMSDK.WXChatOn(_WXPointer_stringify_adaptor(eventType));
},
WXChatOff: function (eventType) {
window.WXWASMSDK.WXChatOff(_WXPointer_stringify_adaptor(eventType));
},
WXChatSetSignature: function (signature) {
window.WXWASMSDK.WXChatSetSignature(_WXPointer_stringify_adaptor(signature));
},
WXSetArrayBuffer: function (offset,callbackId){
window.WXWASMSDK.WXSetArrayBuffer(
HEAPU8,
offset,
_WXPointer_stringify_adaptor(callbackId)
)
},
WX_FileSystemManagerAppendFileSync:function(filePath, data, dataLength, encoding) {
window.WXWASMSDK.WX_FileSystemManagerAppendFileSync(
_WXPointer_stringify_adaptor(filePath),
HEAPU8.slice(data, dataLength + data),
_WXPointer_stringify_adaptor(encoding)
);
},
WX_FileSystemManagerAppendFileStringSync:function(filePath, data, encoding) {
window.WXWASMSDK.WX_FileSystemManagerAppendFileStringSync(_WXPointer_stringify_adaptor(filePath), _WXPointer_stringify_adaptor(data), _WXPointer_stringify_adaptor(encoding));
},
WX_FileSystemManagerReaddirSync:function(dirPath) {
var res = window.WXWASMSDK.WX_FileSystemManagerReaddirSync(_WXPointer_stringify_adaptor(dirPath));
var bufferSize = lengthBytesUTF8(res) + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(res, buffer, bufferSize);
return buffer;
},
WX_FileSystemManagerReadCompressedFileSync:function(option, callbackId) {
var res = window.WXWASMSDK.WX_FileSystemManagerReadCompressedFileSync(_WXPointer_stringify_adaptor(option), _WXPointer_stringify_adaptor(callbackId));
var bufferSize = lengthBytesUTF8(res) + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(res, buffer, bufferSize);
return buffer;
},
WX_FileSystemManagerClose:function(option, callbackId) {
window.WXWASMSDK.WX_FileSystemManagerClose(_WXPointer_stringify_adaptor(option), _WXPointer_stringify_adaptor(callbackId));
},
WX_FileSystemManagerFstat:function(option, callbackId) {
window.WXWASMSDK.WX_FileSystemManagerFstat(_WXPointer_stringify_adaptor(option), _WXPointer_stringify_adaptor(callbackId));
},
WX_FileSystemManagerFtruncate:function(option, callbackId) {
window.WXWASMSDK.WX_FileSystemManagerFtruncate(_WXPointer_stringify_adaptor(option), _WXPointer_stringify_adaptor(callbackId));
},
WX_FileSystemManagerGetFileInfo:function(option, callbackId) {
window.WXWASMSDK.WX_FileSystemManagerGetFileInfo(_WXPointer_stringify_adaptor(option), _WXPointer_stringify_adaptor(callbackId));
},
WX_FileSystemManagerGetSavedFileList:function(option, callbackId) {
window.WXWASMSDK.WX_FileSystemManagerGetSavedFileList(_WXPointer_stringify_adaptor(option), _WXPointer_stringify_adaptor(callbackId));
},
WX_FileSystemManagerOpen:function(option, callbackId) {
window.WXWASMSDK.WX_FileSystemManagerOpen(_WXPointer_stringify_adaptor(option), _WXPointer_stringify_adaptor(callbackId));
},
WX_FileSystemManagerRead:function(option, data, dataLength, callbackId) {
window.WXWASMSDK.WX_FileSystemManagerRead(_WXPointer_stringify_adaptor(option), HEAPU8.slice(data, dataLength + data), _WXPointer_stringify_adaptor(callbackId));
},
WX_FileSystemManagerReadCompressedFile:function(option, callbackId) {
window.WXWASMSDK.WX_FileSystemManagerReadCompressedFile(_WXPointer_stringify_adaptor(option), _WXPointer_stringify_adaptor(callbackId));
},
WX_FileSystemManagerReadZipEntry:function(option, callbackId) {
window.WXWASMSDK.WX_FileSystemManagerReadZipEntry(_WXPointer_stringify_adaptor(option), _WXPointer_stringify_adaptor(callbackId));
},
WX_FileSystemManagerReadZipEntryString:function(option, callbackId) {
window.WXWASMSDK.WX_FileSystemManagerReadZipEntryString(_WXPointer_stringify_adaptor(option), _WXPointer_stringify_adaptor(callbackId));
},
WX_FileSystemManagerReaddir:function(option, callbackId) {
window.WXWASMSDK.WX_FileSystemManagerReaddir(_WXPointer_stringify_adaptor(option), _WXPointer_stringify_adaptor(callbackId));
},
WX_FileSystemManagerRemoveSavedFile:function(option, callbackId) {
window.WXWASMSDK.WX_FileSystemManagerRemoveSavedFile(_WXPointer_stringify_adaptor(option), _WXPointer_stringify_adaptor(callbackId));
},
WX_FileSystemManagerRename:function(option, callbackId) {
window.WXWASMSDK.WX_FileSystemManagerRename(_WXPointer_stringify_adaptor(option), _WXPointer_stringify_adaptor(callbackId));
},
WX_FileSystemManagerSaveFile:function(option, callbackId) {
window.WXWASMSDK.WX_FileSystemManagerSaveFile(_WXPointer_stringify_adaptor(option), _WXPointer_stringify_adaptor(callbackId));
},
WX_FileSystemManagerTruncate:function(option, callbackId) {
window.WXWASMSDK.WX_FileSystemManagerTruncate(_WXPointer_stringify_adaptor(option), _WXPointer_stringify_adaptor(callbackId));
},
WX_FileSystemManagerUnzip:function(option, callbackId) {
window.WXWASMSDK.WX_FileSystemManagerUnzip(_WXPointer_stringify_adaptor(option), _WXPointer_stringify_adaptor(callbackId));
},
WX_FileSystemManagerWrite:function(option, data, dataLength, callbackId) {
window.WXWASMSDK.WX_FileSystemManagerWrite(_WXPointer_stringify_adaptor(option), HEAPU8.slice(data, dataLength + data), _WXPointer_stringify_adaptor(callbackId));
},
WX_FileSystemManagerWriteString:function(option, callbackId) {
window.WXWASMSDK.WX_FileSystemManagerWriteString(_WXPointer_stringify_adaptor(option), _WXPointer_stringify_adaptor(callbackId));
},
WX_FileSystemManagerRenameSync:function(oldPath, newPath) {
window.WXWASMSDK.WX_FileSystemManagerRenameSync(_WXPointer_stringify_adaptor(oldPath), _WXPointer_stringify_adaptor(newPath));
},
WX_FileSystemManagerReadSync:function(option, callbackId) {
var res = window.WXWASMSDK.WX_FileSystemManagerReadSync(_WXPointer_stringify_adaptor(option), _WXPointer_stringify_adaptor(callbackId));
var bufferSize = lengthBytesUTF8(res) + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(res, buffer, bufferSize);
return buffer;
},
WX_FileSystemManagerFstatSync:function(option) {
var res = window.WXWASMSDK.WX_FileSystemManagerFstatSync(_WXPointer_stringify_adaptor(option));
var bufferSize = lengthBytesUTF8(res) + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(res, buffer, bufferSize);
return buffer;
},
WX_FileSystemManagerStatSync:function(path, recursive) {
var res = window.WXWASMSDK.WX_FileSystemManagerStatSync(_WXPointer_stringify_adaptor(path), recursive);
var bufferSize = lengthBytesUTF8(res) + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(res, buffer, bufferSize);
return buffer;
},
WX_FileSystemManagerWriteSync:function(option, data, dataLength) {
var res = window.WXWASMSDK.WX_FileSystemManagerWriteSync(_WXPointer_stringify_adaptor(option), HEAPU8.slice(data, dataLength + data));
var bufferSize = lengthBytesUTF8(res) + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(res, buffer, bufferSize);
return buffer;
},
WX_FileSystemManagerWriteStringSync:function(option) {
var res = window.WXWASMSDK.WX_FileSystemManagerWriteStringSync(_WXPointer_stringify_adaptor(option));
var bufferSize = lengthBytesUTF8(res) + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(res, buffer, bufferSize);
return buffer;
},
WX_FileSystemManagerOpenSync:function(option) {
var res = window.WXWASMSDK.WX_FileSystemManagerOpenSync(_WXPointer_stringify_adaptor(option));
var bufferSize = lengthBytesUTF8(res) + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(res, buffer, bufferSize);
return buffer;
},
WX_FileSystemManagerSaveFileSync:function(tempFilePath, filePath) {
var res = window.WXWASMSDK.WX_FileSystemManagerSaveFileSync(_WXPointer_stringify_adaptor(tempFilePath), _WXPointer_stringify_adaptor(filePath));
var bufferSize = lengthBytesUTF8(res) + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(res, buffer, bufferSize);
return buffer;
},
WX_FileSystemManagerCloseSync:function(option) {
window.WXWASMSDK.WX_FileSystemManagerCloseSync(_WXPointer_stringify_adaptor(option));
},
WX_FileSystemManagerFtruncateSync:function(option) {
window.WXWASMSDK.WX_FileSystemManagerFtruncateSync(_WXPointer_stringify_adaptor(option));
},
WX_FileSystemManagerTruncateSync:function(option) {
window.WXWASMSDK.WX_FileSystemManagerTruncateSync(_WXPointer_stringify_adaptor(option));
},
WXVideoSetProperty: function(id, key, value) {
window.WXWASMSDK.WXVideoSetProperty(_WXPointer_stringify_adaptor(id), _WXPointer_stringify_adaptor(key), _WXPointer_stringify_adaptor(value));
},
WX_OnNeedPrivacyAuthorization:function() {
window.WXWASMSDK.WX_OnNeedPrivacyAuthorization();
},
WX_PrivacyAuthorizeResolve: function(option) {
window.WXWASMSDK.WX_PrivacyAuthorizeResolve(_WXPointer_stringify_adaptor(option));
}
});
@@ -0,0 +1,74 @@
fileFormatVersion: 2
guid: 63afc2a12fd6d404092ed133a0c10433
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
: Any
second:
enabled: 0
settings:
Exclude Editor: 1
Exclude Linux64: 1
Exclude OSXUniversal: 1
Exclude WeixinMiniGame: 0
Exclude Win: 1
Exclude Win64: 1
- first:
Any:
second:
enabled: 0
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
CPU: AnyCPU
DefaultValueInitialized: true
OS: AnyOS
- first:
Standalone: Linux64
second:
enabled: 0
settings:
CPU: x86_64
- first:
Standalone: OSXUniversal
second:
enabled: 0
settings:
CPU: None
- first:
Standalone: Win
second:
enabled: 0
settings:
CPU: x86
- first:
Standalone: Win64
second:
enabled: 0
settings:
CPU: x86_64
- first:
WebGL: WebGL
second:
enabled: 1
settings: {}
- first:
WeixinMiniGame: WeixinMiniGame
second:
enabled: 1
settings: {}
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,74 @@
fileFormatVersion: 2
guid: 340c9937849614db7bd7a069ff60c77b
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
: Any
second:
enabled: 0
settings:
Exclude Editor: 1
Exclude Linux64: 1
Exclude OSXUniversal: 1
Exclude WeixinMiniGame: 0
Exclude Win: 1
Exclude Win64: 1
- first:
Any:
second:
enabled: 0
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
CPU: AnyCPU
DefaultValueInitialized: true
OS: AnyOS
- first:
Standalone: Linux64
second:
enabled: 0
settings:
CPU: x86_64
- first:
Standalone: OSXUniversal
second:
enabled: 0
settings:
CPU: None
- first:
Standalone: Win
second:
enabled: 0
settings:
CPU: x86
- first:
Standalone: Win64
second:
enabled: 0
settings:
CPU: x86_64
- first:
WebGL: WebGL
second:
enabled: 1
settings: {}
- first:
WeixinMiniGame: WeixinMiniGame
second:
enabled: 1
settings: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,324 @@
mergeInto(LibraryManager.library, {
glCompressedTexImage2D: function(target, level, internalFormat, width, height, border, imageSize, data) {
var lastTid = window._lastTextureId;
var isMiniProgram = typeof wx !== 'undefined';
function getMatchId() {
var webgl1c = internalFormat == 36196;
if (isMiniProgram && GameGlobal.USED_TEXTURE_COMPRESSION && webgl1c) {
var length = HEAPU8.subarray(data, data + 1)[0];
var d = HEAPU8.subarray(data + 1, data + 1 + length);
var res = [];
d.forEach(function(v) {
res.push(String.fromCharCode(v));
});
var matchId = res.join('');
var start0 = res.length - 8;
var start1 = res.length - 5;
if (res[start0] == '_') {
start0++;
var header = ['a', 's', 't', 'c'];
for (var i = 0; i < header.length; i++) {
if (res[start0 + i] != header[i]) {
return [matchId, '8x8', false];
}
}
start0--;
var astcBlockSize = matchId.substring(start0 + 5);
return [matchId.substr(0, start0), astcBlockSize, false];
} else if (res[start1] == '_') {
start1++;
var size = res[start1++];
if (size != '4' && size != '5' && size != '6' && size != '8') {
return [matchId, '8x8', false];
}
var astcBlockSize = size + 'x' + size;
var limit = res[start1];
var limitType = false;
if (limit != '#') {
limitType = true;
}
start1 -= 2;
return [matchId.substr(0, start1), astcBlockSize, limitType];
} else {
return [matchId, '8x8', false];
}
}
return [-1, '8x8', false];
}
var matchIdInfo = getMatchId();
var matchId = matchIdInfo[0];
var astcBlockSize = matchIdInfo[1];
var limitType = matchIdInfo[2];
function compressedImage2D(rawData) {
var format = 0;
var dataOffset = 16;
var compressFormat = limitType ? GameGlobal.NoneLimitSupportedTexture : GameGlobal.TextureCompressedFormat;
switch (compressFormat) {
case "astc":
var astcList = GLctx.getExtension("WEBGL_compressed_texture_astc");
if (astcBlockSize == '4x4') {
format = astcList.COMPRESSED_RGBA_ASTC_4x4_KHR;
break;
}
if (astcBlockSize == '5x5') {
format = astcList.COMPRESSED_RGBA_ASTC_5x5_KHR;
break;
}
if (astcBlockSize == '6x6') {
format = 0x93B4;
break;
}
format = astcList.COMPRESSED_RGBA_ASTC_8x8_KHR;
break;
case "etc2":
format = GLctx.getExtension("WEBGL_compressed_texture_etc").COMPRESSED_RGBA8_ETC2_EAC;
break;
case "dds":
format = GLctx.getExtension("WEBGL_compressed_texture_s3tc").COMPRESSED_RGBA_S3TC_DXT5_EXT;
dataOffset = 128;
break;
case "pvr":
format = GLctx.getExtension("WEBGL_compressed_texture_pvrtc").COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;
var PVR_HEADER_METADATA = 12;
var PVR_HEADER_LENGTH = 13; // The header length in 32 bit ints.
var header = new Int32Array(rawData, 0, PVR_HEADER_LENGTH);
dataOffset = header[PVR_HEADER_METADATA] + 52;
break;
case "etc1":
format = GLctx.getExtension("WEBGL_compressed_texture_etc1").COMPRESSED_RGB_ETC1_WEBGL;
break
}
GLctx["compressedTexImage2D"](target, level, format, width, height, border, new Uint8Array(rawData, dataOffset))
}
function texImage2D(image) {
GLctx.texImage2D(GLctx.TEXTURE_2D, 0, GLctx.RGBA, GLctx.RGBA, GLctx.UNSIGNED_BYTE, image)
}
function renderTexture(id) {
if (!GL.textures[lastTid]) {
return;
}
var PotList = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096];
var _data = GameGlobal.DownloadedTextures[id].data;
var tid = lastTid;
if (!GL.textures[tid]) {
return;
}
GLctx.bindTexture(GLctx.TEXTURE_2D, GL.textures[tid]);
if (limitType && !GameGlobal.NoneLimitSupportedTexture) {
texImage2D(_data);
} else if (!GameGlobal.TextureCompressedFormat) {
texImage2D(_data);
} else if (GameGlobal.TextureCompressedFormat == "pvr" && (width !== height || PotList.indexOf(height) == -1)) {
texImage2D(_data);
} else if (GameGlobal.TextureCompressedFormat == 'dds' && (height % 4 !== 0 || width % 4 !== 0)) {
texImage2D(_data);
} else {
compressedImage2D(_data);
}
GLctx.bindTexture(GLctx.TEXTURE_2D, window._lastBoundTexture ? GL.textures[window._lastBoundTexture] : null);
}
function renderTransparent() {
GLctx.texImage2D(GLctx.TEXTURE_2D, 0, GLctx.RGBA, 1, 1, 0, GLctx.RGBA, GLctx.UNSIGNED_SHORT_4_4_4_4, new Uint16Array([0, 0]))
}
if (matchId != -1) {
if (GameGlobal.DownloadedTextures[matchId] && GameGlobal.DownloadedTextures[matchId].data) {
renderTexture(matchId)
} else {
renderTransparent();
window.WXWASMSDK.WXDownloadTexture(matchId, width, height, (function() {
renderTexture(matchId)
}), limitType)
}
return
}
if (GL.currentContext.supportsWebGL2EntryPoints) {
GLctx["compressedTexImage2D"](target, level, internalFormat, width, height, border, HEAPU8, data, imageSize);
return
}
GLctx["compressedTexImage2D"](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray(data, data + imageSize) : null)
},
glCompressedTexSubImage2D: function(target, level, xoffset, yoffset, width, height, format, imageSize, data) {
var lastTid = window._lastTextureId;
var isMiniProgram = typeof wx !== 'undefined';
function getMatchId() {
var webgl1c = format == 36196;
if (isMiniProgram && GameGlobal.USED_TEXTURE_COMPRESSION && webgl1c) {
var length = HEAPU8.subarray(data, data + 1)[0];
var d = HEAPU8.subarray(data + 1, data + 1 + length);
var res = [];
d.forEach(function(v) {
res.push(String.fromCharCode(v));
});
var matchId = res.join('');
var start0 = res.length - 8;
var start1 = res.length - 5;
if (res[start0] == '_') {
start0++;
var header = ['a', 's', 't', 'c'];
for (var i = 0; i < header.length; i++) {
if (res[start0 + i] != header[i]) {
return [matchId, '8x8', false];
}
}
start0--;
var astcBlockSize = matchId.substring(start0 + 5);
return [matchId.substr(0, start0), astcBlockSize, false];
} else if (res[start1] == '_') {
start1++;
var size = res[start1++];
if (size != '4' && size != '5' && size != '6' && size != '8') {
return [matchId, '8x8', false];
}
var astcBlockSize = size + 'x' + size;
var limit = res[start1];
var limitType = false;
if (limit != '#') {
limitType = true;
}
start1 -= 2;
return [matchId.substr(0, start1), astcBlockSize, limitType];
} else {
return [matchId, '8x8', false];
}
}
return [-1, '8x8', false];
}
var matchIdInfo = getMatchId();
var matchId = matchIdInfo[0];
var astcBlockSize = matchIdInfo[1];
var limitType = matchIdInfo[2];
function compressedImage2D(rawData) {
var format = 0;
var dataOffset = 16;
var compressFormat = limitType ? GameGlobal.NoneLimitSupportedTexture : GameGlobal.TextureCompressedFormat;
switch (compressFormat) {
case "astc":
var astcList = GLctx.getExtension("WEBGL_compressed_texture_astc");
if (astcBlockSize == '4x4') {
format = astcList.COMPRESSED_RGBA_ASTC_4x4_KHR;
break;
}
if (astcBlockSize == '5x5') {
format = astcList.COMPRESSED_RGBA_ASTC_5x5_KHR;
break;
}
if (astcBlockSize == '6x6') {
format = 0x93B4;
break;
}
format = astcList.COMPRESSED_RGBA_ASTC_8x8_KHR;
break;
case "etc2":
format = GLctx.getExtension("WEBGL_compressed_texture_etc").COMPRESSED_RGBA8_ETC2_EAC;
break;
case "dds":
format = GLctx.getExtension("WEBGL_compressed_texture_s3tc").COMPRESSED_RGBA_S3TC_DXT5_EXT;
dataOffset = 128;
break;
case "pvr":
format = GLctx.getExtension("WEBGL_compressed_texture_pvrtc").COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;
var PVR_HEADER_METADATA = 12;
var PVR_HEADER_LENGTH = 13; // The header length in 32 bit ints.
var header = new Int32Array(rawData, 0, PVR_HEADER_LENGTH);
dataOffset = header[PVR_HEADER_METADATA] + 52;
break;
case "etc1":
format = GLctx.getExtension("WEBGL_compressed_texture_etc1").COMPRESSED_RGB_ETC1_WEBGL;
break
}
GLctx["compressedTexSubImage2D"](target, level, xoffset, yoffset, width, height, format, new Uint8Array(rawData, dataOffset))
}
function texImage2D(image) {
GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, GLctx.RGBA, GLctx.UNSIGNED_BYTE, image)
}
function renderTexture(id) {
if (!GL.textures[lastTid]) {
return;
}
var _data = GameGlobal.DownloadedTextures[id].data;
var tid = lastTid;
if (!GL.textures[tid]) {
return;
}
GLctx.bindTexture(GLctx.TEXTURE_2D, GL.textures[tid]);
if (limitType && !GameGlobal.NoneLimitSupportedTexture) {
texImage2D(_data);
} else if (!GameGlobal.TextureCompressedFormat) {
texImage2D(_data);
} else if (GameGlobal.TextureCompressedFormat == "pvr" && (width !== height || PotList.indexOf(height) == -1)) {
texImage2D(_data);
} else if (GameGlobal.TextureCompressedFormat == 'dds' && (height % 4 !== 0 || width % 4 !== 0)) {
texImage2D(_data);
} else {
compressedImage2D(_data);
}
GLctx.bindTexture(GLctx.TEXTURE_2D, window._lastBoundTexture ? GL.textures[window._lastBoundTexture] : null);
}
var p = window._lastTexStorage2DParams;
if (matchId != -1) {
var f = GLctx.RGBA8;
switch (GameGlobal.TextureCompressedFormat) {
case "astc":
var astcList = GLctx.getExtension("WEBGL_compressed_texture_astc");
if (astcBlockSize == '4x4') {
f = astcList.COMPRESSED_RGBA_ASTC_4x4_KHR;
break;
}
if (astcBlockSize == '5x5') {
f = astcList.COMPRESSED_RGBA_ASTC_5x5_KHR;
break;
}
if (astcBlockSize == '6x6') {
f = 0x93B4;
break;
}
f = astcList.COMPRESSED_RGBA_ASTC_8x8_KHR;
break;
case "etc2":
f = GLctx.getExtension("WEBGL_compressed_texture_etc").COMPRESSED_RGBA8_ETC2_EAC;
break;
case "dds":
f = GLctx.getExtension("WEBGL_compressed_texture_s3tc").COMPRESSED_RGBA_S3TC_DXT5_EXT;
break;
case "pvr":
f = GLctx.getExtension("WEBGL_compressed_texture_pvrtc").COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;
break;
}
GLctx["texStorage2D"](p[0], p[1], f, width, height);
if (GameGlobal.DownloadedTextures[matchId] && GameGlobal.DownloadedTextures[matchId].data) {
renderTexture(matchId)
} else {
window.WXWASMSDK.WXDownloadTexture(matchId, width, height, (function() {
renderTexture(matchId)
}), limitType)
}
return
}
if (GL.currentContext.supportsWebGL2EntryPoints) {
GLctx["compressedTexSubImage2D"](target, level, xoffset, yoffset, width, height, format, HEAPU8, data, imageSize);
return
}
GLctx["compressedTexSubImage2D"](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray(data, data + imageSize) : null)
},
});
@@ -0,0 +1,37 @@
fileFormatVersion: 2
guid: d55bbf266368a4d91b5b8750b746dc78
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Any:
second:
enabled: 0
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
- first:
WebGL: WebGL
second:
enabled: 0
settings: {}
- first:
WeixinMiniGame: WeixinMiniGame
second:
enabled: 0
settings: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,324 @@
mergeInto(LibraryManager.library, {
glCompressedTexImage2D: function(target, level, internalFormat, width, height, border, imageSize, data) {
var lastTid = window._lastTextureId;
var isMiniProgram = typeof wx !== 'undefined';
function getMatchId() {
var webgl2c = internalFormat == 37493;
if (isMiniProgram && GameGlobal.USED_TEXTURE_COMPRESSION && webgl2c) {
var length = HEAPU8.subarray(data, data + 1)[0];
var d = HEAPU8.subarray(data + 1, data + 1 + length);
var res = [];
d.forEach(function(v) {
res.push(String.fromCharCode(v));
});
var matchId = res.join('');
var start0 = res.length - 8;
var start1 = res.length - 5;
if (res[start0] == '_') {
start0++;
var header = ['a', 's', 't', 'c'];
for (var i = 0; i < header.length; i++) {
if (res[start0 + i] != header[i]) {
return [matchId, '8x8', false];
}
}
start0--;
var astcBlockSize = matchId.substring(start0 + 5);
return [matchId.substr(0, start0), astcBlockSize, false];
} else if (res[start1] == '_') {
start1++;
var size = res[start1++];
if (size != '4' && size != '5' && size != '6' && size != '8') {
return [matchId, '8x8', false];
}
var astcBlockSize = size + 'x' + size;
var limit = res[start1];
var limitType = false;
if (limit != '#') {
limitType = true;
}
start1 -= 2;
return [matchId.substr(0, start1), astcBlockSize, limitType];
} else {
return [matchId, '8x8', false];
}
}
return [-1, '8x8', false];
}
var matchIdInfo = getMatchId();
var matchId = matchIdInfo[0];
var astcBlockSize = matchIdInfo[1];
var limitType = matchIdInfo[2];
function compressedImage2D(rawData) {
var format = 0;
var dataOffset = 16;
var compressFormat = limitType ? GameGlobal.NoneLimitSupportedTexture : GameGlobal.TextureCompressedFormat;
switch (compressFormat) {
case "astc":
var astcList = GLctx.getExtension("WEBGL_compressed_texture_astc");
if (astcBlockSize == '4x4') {
format = astcList.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR;
break;
}
if (astcBlockSize == '5x5') {
format = astcList.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR;
break;
}
if (astcBlockSize == '6x6') {
format = astcList.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR;
break;
}
format = astcList.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR;
break;
case "etc2":
format = GLctx.getExtension("WEBGL_compressed_texture_etc").COMPRESSED_RGBA8_ETC2_EAC;
break;
case "dds":
format = GLctx.getExtension("WEBGL_compressed_texture_s3tc").COMPRESSED_RGBA_S3TC_DXT5_EXT;
dataOffset = 128;
break;
case "pvr":
format = GLctx.getExtension("WEBGL_compressed_texture_pvrtc").COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;
var PVR_HEADER_METADATA = 12;
var PVR_HEADER_LENGTH = 13; // The header length in 32 bit ints.
var header = new Int32Array(rawData, 0, PVR_HEADER_LENGTH);
dataOffset = header[PVR_HEADER_METADATA] + 52;
break;
case "etc1":
format = GLctx.getExtension("WEBGL_compressed_texture_etc1").COMPRESSED_RGB_ETC1_WEBGL;
break
}
GLctx["compressedTexImage2D"](target, level, format, width, height, border, new Uint8Array(rawData, dataOffset))
}
function texImage2D(image) {
GLctx.texImage2D(GLctx.TEXTURE_2D, 0, GLctx.RGBA, GLctx.RGBA, GLctx.UNSIGNED_BYTE, image)
}
function renderTexture(id) {
if (!GL.textures[lastTid]) {
return;
}
var PotList = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096];
var _data = GameGlobal.DownloadedTextures[id].data;
var tid = lastTid;
if (!GL.textures[tid]) {
return;
}
GLctx.bindTexture(GLctx.TEXTURE_2D, GL.textures[tid]);
if (limitType && !GameGlobal.NoneLimitSupportedTexture) {
texImage2D(_data);
} else if (!GameGlobal.TextureCompressedFormat) {
texImage2D(_data);
} else if (GameGlobal.TextureCompressedFormat == "pvr" && (width !== height || PotList.indexOf(height) == -1)) {
texImage2D(_data);
} else if (GameGlobal.TextureCompressedFormat == 'dds' && (height % 4 !== 0 || width % 4 !== 0)) {
texImage2D(_data);
} else {
compressedImage2D(_data);
}
GLctx.bindTexture(GLctx.TEXTURE_2D, window._lastBoundTexture ? GL.textures[window._lastBoundTexture] : null);
}
function renderTransparent() {
GLctx.texImage2D(GLctx.TEXTURE_2D, 0, GLctx.RGBA, 1, 1, 0, GLctx.RGBA, GLctx.UNSIGNED_SHORT_4_4_4_4, new Uint16Array([0, 0]))
}
if (matchId != -1) {
if (GameGlobal.DownloadedTextures[matchId] && GameGlobal.DownloadedTextures[matchId].data) {
renderTexture(matchId)
} else {
renderTransparent();
window.WXWASMSDK.WXDownloadTexture(matchId, width, height, (function() {
renderTexture(matchId)
}), limitType)
}
return
}
if (GL.currentContext.supportsWebGL2EntryPoints) {
GLctx["compressedTexImage2D"](target, level, internalFormat, width, height, border, HEAPU8, data, imageSize);
return
}
GLctx["compressedTexImage2D"](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray(data, data + imageSize) : null)
},
glCompressedTexSubImage2D: function(target, level, xoffset, yoffset, width, height, format, imageSize, data) {
var lastTid = window._lastTextureId;
var isMiniProgram = typeof wx !== 'undefined';
function getMatchId() {
var webgl2c = format == 37493;
if (isMiniProgram && GameGlobal.USED_TEXTURE_COMPRESSION && webgl2c) {
var length = HEAPU8.subarray(data, data + 1)[0];
var d = HEAPU8.subarray(data + 1, data + 1 + length);
var res = [];
d.forEach(function(v) {
res.push(String.fromCharCode(v));
});
var matchId = res.join('');
var start0 = res.length - 8;
var start1 = res.length - 5;
if (res[start0] == '_') {
start0++;
var header = ['a', 's', 't', 'c'];
for (var i = 0; i < header.length; i++) {
if (res[start0 + i] != header[i]) {
return [matchId, '8x8', false];
}
}
start0--;
var astcBlockSize = matchId.substring(start0 + 5);
return [matchId.substr(0, start0), astcBlockSize, false];
} else if (res[start1] == '_') {
start1++;
var size = res[start1++];
if (size != '4' && size != '5' && size != '6' && size != '8') {
return [matchId, '8x8', false];
}
var astcBlockSize = size + 'x' + size;
var limit = res[start1];
var limitType = false;
if (limit != '#') {
limitType = true;
}
start1 -= 2;
return [matchId.substr(0, start1), astcBlockSize, limitType];
} else {
return [matchId, '8x8', false];
}
}
return [-1, '8x8', false];
}
var matchIdInfo = getMatchId();
var matchId = matchIdInfo[0];
var astcBlockSize = matchIdInfo[1];
var limitType = matchIdInfo[2];
function compressedImage2D(rawData) {
var format = 0;
var dataOffset = 16;
var compressFormat = limitType ? GameGlobal.NoneLimitSupportedTexture : GameGlobal.TextureCompressedFormat;
switch (compressFormat) {
case "astc":
var astcList = GLctx.getExtension("WEBGL_compressed_texture_astc");
if (astcBlockSize == '4x4') {
format = astcList.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR;
break;
}
if (astcBlockSize == '5x5') {
format = astcList.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR;
break;
}
if (astcBlockSize == '6x6') {
format = astcList.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR;
break;
}
format = astcList.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR;
break;
case "etc2":
format = GLctx.getExtension("WEBGL_compressed_texture_etc").COMPRESSED_RGBA8_ETC2_EAC;
break;
case "dds":
format = GLctx.getExtension("WEBGL_compressed_texture_s3tc").COMPRESSED_RGBA_S3TC_DXT5_EXT;
dataOffset = 128;
break;
case "pvr":
format = GLctx.getExtension("WEBGL_compressed_texture_pvrtc").COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;
var PVR_HEADER_METADATA = 12;
var PVR_HEADER_LENGTH = 13; // The header length in 32 bit ints.
var header = new Int32Array(rawData, 0, PVR_HEADER_LENGTH);
dataOffset = header[PVR_HEADER_METADATA] + 52;
break;
case "etc1":
format = GLctx.getExtension("WEBGL_compressed_texture_etc1").COMPRESSED_RGB_ETC1_WEBGL;
break
}
GLctx["compressedTexSubImage2D"](target, level, xoffset, yoffset, width, height, format, new Uint8Array(rawData, dataOffset))
}
function texImage2D(image) {
GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, GLctx.RGBA, GLctx.UNSIGNED_BYTE, image)
}
function renderTexture(id) {
if (!GL.textures[lastTid]) {
return;
}
var _data = GameGlobal.DownloadedTextures[id].data;
var tid = lastTid;
if (!GL.textures[tid]) {
return;
}
GLctx.bindTexture(GLctx.TEXTURE_2D, GL.textures[tid]);
if (limitType && !GameGlobal.NoneLimitSupportedTexture) {
texImage2D(_data);
} else if (!GameGlobal.TextureCompressedFormat) {
texImage2D(_data);
} else if (GameGlobal.TextureCompressedFormat == "pvr" && (width !== height || PotList.indexOf(height) == -1)) {
texImage2D(_data);
} else if (GameGlobal.TextureCompressedFormat == 'dds' && (height % 4 !== 0 || width % 4 !== 0)) {
texImage2D(_data);
} else {
compressedImage2D(_data);
}
GLctx.bindTexture(GLctx.TEXTURE_2D, window._lastBoundTexture ? GL.textures[window._lastBoundTexture] : null);
}
var p = window._lastTexStorage2DParams;
if (matchId != -1) {
var f = GLctx.RGBA8;
switch (GameGlobal.TextureCompressedFormat) {
case "astc":
var astcList = GLctx.getExtension("WEBGL_compressed_texture_astc");
if (astcBlockSize == '4x4') {
f = astcList.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR;
break;
}
if (astcBlockSize == '5x5') {
f = astcList.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR;
break;
}
if (astcBlockSize == '6x6') {
f = astcList.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR;
break;
}
f = astcList.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR;
break;
case "etc2":
f = GLctx.getExtension("WEBGL_compressed_texture_etc").COMPRESSED_RGBA8_ETC2_EAC;
break;
case "dds":
f = GLctx.getExtension("WEBGL_compressed_texture_s3tc").COMPRESSED_RGBA_S3TC_DXT5_EXT;
break;
case "pvr":
f = GLctx.getExtension("WEBGL_compressed_texture_pvrtc").COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;
break;
}
GLctx["texStorage2D"](p[0], p[1], f, width, height);
if (GameGlobal.DownloadedTextures[matchId] && GameGlobal.DownloadedTextures[matchId].data) {
renderTexture(matchId)
} else {
window.WXWASMSDK.WXDownloadTexture(matchId, width, height, (function() {
renderTexture(matchId)
}), limitType)
}
return
}
if (GL.currentContext.supportsWebGL2EntryPoints) {
GLctx["compressedTexSubImage2D"](target, level, xoffset, yoffset, width, height, format, HEAPU8, data, imageSize);
return
}
GLctx["compressedTexSubImage2D"](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray(data, data + imageSize) : null)
},
});
@@ -0,0 +1,37 @@
fileFormatVersion: 2
guid: f1315910877e64f9898a2c5a31a63994
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Any:
second:
enabled: 0
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
- first:
WebGL: WebGL
second:
enabled: 1
settings: {}
- first:
WeixinMiniGame: WeixinMiniGame
second:
enabled: 1
settings: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,324 @@
mergeInto(LibraryManager.library, {
glCompressedTexImage2D: function(target, level, internalFormat, width, height, border, imageSize, data) {
var lastTid = window._lastTextureId;
var isMiniProgram = typeof wx !== 'undefined';
function getMatchId() {
var webgl2c = internalFormat == 37492;
if (isMiniProgram && GameGlobal.USED_TEXTURE_COMPRESSION && webgl2c) {
var length = HEAPU8.subarray(data, data + 1)[0];
var d = HEAPU8.subarray(data + 1, data + 1 + length);
var res = [];
d.forEach(function(v) {
res.push(String.fromCharCode(v));
});
var matchId = res.join('');
var start0 = res.length - 8;
var start1 = res.length - 5;
if (res[start0] == '_') {
start0++;
var header = ['a', 's', 't', 'c'];
for (var i = 0; i < header.length; i++) {
if (res[start0 + i] != header[i]) {
return [matchId, '8x8', false];
}
}
start0--;
var astcBlockSize = matchId.substring(start0 + 5);
return [matchId.substr(0, start0), astcBlockSize, false];
} else if (res[start1] == '_') {
start1++;
var size = res[start1++];
if (size != '4' && size != '5' && size != '6' && size != '8') {
return [matchId, '8x8', false];
}
var astcBlockSize = size + 'x' + size;
var limit = res[start1];
var limitType = false;
if (limit != '#') {
limitType = true;
}
start1 -= 2;
return [matchId.substr(0, start1), astcBlockSize, limitType];
} else {
return [matchId, '8x8', false];
}
}
return [-1, '8x8', false];
}
var matchIdInfo = getMatchId();
var matchId = matchIdInfo[0];
var astcBlockSize = matchIdInfo[1];
var limitType = matchIdInfo[2];
function compressedImage2D(rawData) {
var format = 0;
var dataOffset = 16;
var compressFormat = limitType ? GameGlobal.NoneLimitSupportedTexture : GameGlobal.TextureCompressedFormat;
switch (compressFormat) {
case "astc":
var astcList = GLctx.getExtension("WEBGL_compressed_texture_astc");
if (astcBlockSize == '4x4') {
format = astcList.COMPRESSED_RGBA_ASTC_4x4_KHR;
break;
}
if (astcBlockSize == '5x5') {
format = astcList.COMPRESSED_RGBA_ASTC_5x5_KHR;
break;
}
if (astcBlockSize == '6x6') {
format = 0x93B4;
break;
}
format = astcList.COMPRESSED_RGBA_ASTC_8x8_KHR;
break;
case "etc2":
format = GLctx.getExtension("WEBGL_compressed_texture_etc").COMPRESSED_RGBA8_ETC2_EAC;
break;
case "dds":
format = GLctx.getExtension("WEBGL_compressed_texture_s3tc").COMPRESSED_RGBA_S3TC_DXT5_EXT;
dataOffset = 128;
break;
case "pvr":
format = GLctx.getExtension("WEBGL_compressed_texture_pvrtc").COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;
var PVR_HEADER_METADATA = 12;
var PVR_HEADER_LENGTH = 13; // The header length in 32 bit ints.
var header = new Int32Array(rawData, 0, PVR_HEADER_LENGTH);
dataOffset = header[PVR_HEADER_METADATA] + 52;
break;
case "etc1":
format = GLctx.getExtension("WEBGL_compressed_texture_etc1").COMPRESSED_RGB_ETC1_WEBGL;
break
}
GLctx["compressedTexImage2D"](target, level, format, width, height, border, new Uint8Array(rawData, dataOffset))
}
function texImage2D(image) {
GLctx.texImage2D(GLctx.TEXTURE_2D, 0, GLctx.RGBA, GLctx.RGBA, GLctx.UNSIGNED_BYTE, image)
}
function renderTexture(id) {
if (!GL.textures[lastTid]) {
return;
}
var PotList = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096];
var _data = GameGlobal.DownloadedTextures[id].data;
var tid = lastTid;
if (!GL.textures[tid]) {
return;
}
GLctx.bindTexture(GLctx.TEXTURE_2D, GL.textures[tid]);
if (limitType && !GameGlobal.NoneLimitSupportedTexture) {
texImage2D(_data);
} else if (!GameGlobal.TextureCompressedFormat) {
texImage2D(_data);
} else if (GameGlobal.TextureCompressedFormat == "pvr" && (width !== height || PotList.indexOf(height) == -1)) {
texImage2D(_data);
} else if (GameGlobal.TextureCompressedFormat == 'dds' && (height % 4 !== 0 || width % 4 !== 0)) {
texImage2D(_data);
} else {
compressedImage2D(_data);
}
GLctx.bindTexture(GLctx.TEXTURE_2D, window._lastBoundTexture ? GL.textures[window._lastBoundTexture] : null);
}
function renderTransparent() {
GLctx.texImage2D(GLctx.TEXTURE_2D, 0, GLctx.RGBA, 1, 1, 0, GLctx.RGBA, GLctx.UNSIGNED_SHORT_4_4_4_4, new Uint16Array([0, 0]))
}
if (matchId != -1) {
if (GameGlobal.DownloadedTextures[matchId] && GameGlobal.DownloadedTextures[matchId].data) {
renderTexture(matchId)
} else {
renderTransparent();
window.WXWASMSDK.WXDownloadTexture(matchId, width, height, (function() {
renderTexture(matchId)
}), limitType)
}
return
}
if (GL.currentContext.supportsWebGL2EntryPoints) {
GLctx["compressedTexImage2D"](target, level, internalFormat, width, height, border, HEAPU8, data, imageSize);
return
}
GLctx["compressedTexImage2D"](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray(data, data + imageSize) : null)
},
glCompressedTexSubImage2D: function(target, level, xoffset, yoffset, width, height, format, imageSize, data) {
var lastTid = window._lastTextureId;
var isMiniProgram = typeof wx !== 'undefined';
function getMatchId() {
var webgl2c = format == 37492;
if (isMiniProgram && GameGlobal.USED_TEXTURE_COMPRESSION && webgl2c) {
var length = HEAPU8.subarray(data, data + 1)[0];
var d = HEAPU8.subarray(data + 1, data + 1 + length);
var res = [];
d.forEach(function(v) {
res.push(String.fromCharCode(v));
});
var matchId = res.join('');
var start0 = res.length - 8;
var start1 = res.length - 5;
if (res[start0] == '_') {
start0++;
var header = ['a', 's', 't', 'c'];
for (var i = 0; i < header.length; i++) {
if (res[start0 + i] != header[i]) {
return [matchId, '8x8', false];
}
}
start0--;
var astcBlockSize = matchId.substring(start0 + 5);
return [matchId.substr(0, start0), astcBlockSize, false];
} else if (res[start1] == '_') {
start1++;
var size = res[start1++];
if (size != '4' && size != '5' && size != '6' && size != '8') {
return [matchId, '8x8', false];
}
var astcBlockSize = size + 'x' + size;
var limit = res[start1];
var limitType = false;
if (limit != '#') {
limitType = true;
}
start1 -= 2;
return [matchId.substr(0, start1), astcBlockSize, limitType];
} else {
return [matchId, '8x8', false];
}
}
return [-1, '8x8', false];
}
var matchIdInfo = getMatchId();
var matchId = matchIdInfo[0];
var astcBlockSize = matchIdInfo[1];
var limitType = matchIdInfo[2];
function compressedImage2D(rawData) {
var format = 0;
var dataOffset = 16;
var compressFormat = limitType ? GameGlobal.NoneLimitSupportedTexture : GameGlobal.TextureCompressedFormat;
switch (compressFormat) {
case "astc":
var astcList = GLctx.getExtension("WEBGL_compressed_texture_astc");
if (astcBlockSize == '4x4') {
format = astcList.COMPRESSED_RGBA_ASTC_4x4_KHR;
break;
}
if (astcBlockSize == '5x5') {
format = astcList.COMPRESSED_RGBA_ASTC_5x5_KHR;
break;
}
if (astcBlockSize == '6x6') {
format = 0x93B4;
break;
}
format = astcList.COMPRESSED_RGBA_ASTC_8x8_KHR;
break;
case "etc2":
format = GLctx.getExtension("WEBGL_compressed_texture_etc").COMPRESSED_RGBA8_ETC2_EAC;
break;
case "dds":
format = GLctx.getExtension("WEBGL_compressed_texture_s3tc").COMPRESSED_RGBA_S3TC_DXT5_EXT;
dataOffset = 128;
break;
case "pvr":
format = GLctx.getExtension("WEBGL_compressed_texture_pvrtc").COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;
var PVR_HEADER_METADATA = 12;
var PVR_HEADER_LENGTH = 13; // The header length in 32 bit ints.
var header = new Int32Array(rawData, 0, PVR_HEADER_LENGTH);
dataOffset = header[PVR_HEADER_METADATA] + 52;
break;
case "etc1":
format = GLctx.getExtension("WEBGL_compressed_texture_etc1").COMPRESSED_RGB_ETC1_WEBGL;
break
}
GLctx["compressedTexSubImage2D"](target, level, xoffset, yoffset, width, height, format, new Uint8Array(rawData, dataOffset))
}
function texImage2D(image) {
GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, GLctx.RGBA, GLctx.UNSIGNED_BYTE, image)
}
function renderTexture(id) {
if (!GL.textures[lastTid]) {
return;
}
var _data = GameGlobal.DownloadedTextures[id].data;
var tid = lastTid;
if (!GL.textures[tid]) {
return;
}
GLctx.bindTexture(GLctx.TEXTURE_2D, GL.textures[tid]);
if (limitType && !GameGlobal.NoneLimitSupportedTexture) {
texImage2D(_data);
} else if (!GameGlobal.TextureCompressedFormat) {
texImage2D(_data);
} else if (GameGlobal.TextureCompressedFormat == "pvr" && (width !== height || PotList.indexOf(height) == -1)) {
texImage2D(_data);
} else if (GameGlobal.TextureCompressedFormat == 'dds' && (height % 4 !== 0 || width % 4 !== 0)) {
texImage2D(_data);
} else {
compressedImage2D(_data);
}
GLctx.bindTexture(GLctx.TEXTURE_2D, window._lastBoundTexture ? GL.textures[window._lastBoundTexture] : null);
}
var p = window._lastTexStorage2DParams;
if (matchId != -1) {
var f = GLctx.RGBA8;
switch (GameGlobal.TextureCompressedFormat) {
case "astc":
var astcList = GLctx.getExtension("WEBGL_compressed_texture_astc");
if (astcBlockSize == '4x4') {
f = astcList.COMPRESSED_RGBA_ASTC_4x4_KHR;
break;
}
if (astcBlockSize == '5x5') {
f = astcList.COMPRESSED_RGBA_ASTC_5x5_KHR;
break;
}
if (astcBlockSize == '6x6') {
f = 0x93B4;
break;
}
f = astcList.COMPRESSED_RGBA_ASTC_8x8_KHR;
break;
case "etc2":
f = GLctx.getExtension("WEBGL_compressed_texture_etc").COMPRESSED_RGBA8_ETC2_EAC;
break;
case "dds":
f = GLctx.getExtension("WEBGL_compressed_texture_s3tc").COMPRESSED_RGBA_S3TC_DXT5_EXT;
break;
case "pvr":
f = GLctx.getExtension("WEBGL_compressed_texture_pvrtc").COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;
break;
}
GLctx["texStorage2D"](p[0], p[1], f, width, height);
if (GameGlobal.DownloadedTextures[matchId] && GameGlobal.DownloadedTextures[matchId].data) {
renderTexture(matchId)
} else {
window.WXWASMSDK.WXDownloadTexture(matchId, width, height, (function() {
renderTexture(matchId)
}), limitType)
}
return
}
if (GL.currentContext.supportsWebGL2EntryPoints) {
GLctx["compressedTexSubImage2D"](target, level, xoffset, yoffset, width, height, format, HEAPU8, data, imageSize);
return
}
GLctx["compressedTexSubImage2D"](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray(data, data + imageSize) : null)
},
});
@@ -0,0 +1,37 @@
fileFormatVersion: 2
guid: 3940ebcc91b954d46ab08a5ee248e437
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Any:
second:
enabled: 0
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
- first:
WebGL: WebGL
second:
enabled: 0
settings: {}
- first:
WeixinMiniGame: WeixinMiniGame
second:
enabled: 0
settings: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,114 @@
var UDPSocketLibrary =
{
$udpSocketManager:
{
/*
* Map of instances
*
* Instance structure:
* {
* url: string,
* ws: WebSocket
* }
*/
instances: {},
/* Last instance ID */
lastId: 0,
/* Event listeners */
onOpen: null,
onMessage: null,
onError: null,
onClose: null,
},
WXCreateUDPSocket: function (server, remotePort, localPort) {
var instanceId = ++udpSocketManager.lastId;
var udpSocket = wx.createUDPSocket();
if (localPort == 0) {
localPort = udpSocket.bind()
} else {
udpSocket.bind(localPort)
}
var instance = {
instanceId: instanceId,
socket: udpSocket,
server: UTF8ToString(server),
remotePort: remotePort,
localPort: localPort,
OnMessage: (function (res) {
if (udpSocketManager.onMessage) {
var dataBuffer = new Uint8Array(res.message);
var buffer = _malloc(dataBuffer.length);
HEAPU8.set(dataBuffer, buffer);
Module.dynCall_viii(udpSocketManager.onMessage, instanceId, buffer, dataBuffer.length);
_free(buffer)
}
}),
OnError: (function (res) {
if (udpSocketManager.onError) {
var msg = res.errMsg;
console.log("udp socket on error " + instanceId + " " + msg);
var length = lengthBytesUTF8(msg) + 1;
var buffer = _malloc(length);
stringToUTF8(msg, buffer, length);
Module.dynCall_vii(udpSocketManager.onError, instanceId, buffer);
_free(buffer)
}
}),
OnClose: (function (res) {
if (udpSocketManager.onClose) {
Module.dynCall_vi(udpSocketManager.onClose, instanceId)
}
})
};
udpSocket.onMessage(instance.OnMessage);
udpSocket.onError(instance.OnError);
udpSocket.onClose(instance.OnClose);
udpSocket.connect({
address:instance.server,
port:instance.remotePort
});
udpSocketManager.instances[instanceId] = instance;
return instanceId
},
WXSendUDPSocket: function (instanceId, bufferPtr, offset, length) {
var instance = udpSocketManager.instances[instanceId];
if (instance && instance.socket) {
instance.socket.write({
address: instance.server,
port: instance.remotePort,
message: buffer.slice(bufferPtr + offset, bufferPtr + length)
})
} else {
console.log("udp socket instance not found " + instanceId)
}
},
WXCloseUDPSocket: function (instanceId) {
var instance = udpSocketManager.instances[instanceId];
if (instance && instance.socket) {
instance.socket.close();
instance.socket = null;
delete udpSocketManager.instances[instanceId]
} else {
console.log("udp socket instance not found " + instanceId)
}
},
WXUDPSocketSetOnMessage: function (callback) {
udpSocketManager.onMessage = callback
},
WXUDPSocketSetOnClose: function (callback) {
udpSocketManager.onClose = callback
},
WXUDPSocketSetOnError: function (callback) {
udpSocketManager.onError = callback
}
};
autoAddDeps(UDPSocketLibrary, '$udpSocketManager');
mergeInto(LibraryManager.library, UDPSocketLibrary);
@@ -0,0 +1,74 @@
fileFormatVersion: 2
guid: 1a619860d36bdfb4eaa583d3ba561e99
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
: Any
second:
enabled: 0
settings:
Exclude Editor: 1
Exclude Linux64: 1
Exclude OSXUniversal: 1
Exclude WeixinMiniGame: 0
Exclude Win: 1
Exclude Win64: 1
- first:
Any:
second:
enabled: 0
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
CPU: AnyCPU
DefaultValueInitialized: true
OS: AnyOS
- first:
Standalone: Linux64
second:
enabled: 0
settings:
CPU: x86_64
- first:
Standalone: OSXUniversal
second:
enabled: 0
settings:
CPU: None
- first:
Standalone: Win
second:
enabled: 0
settings:
CPU: x86
- first:
Standalone: Win64
second:
enabled: 0
settings:
CPU: x86_64
- first:
WebGL: WebGL
second:
enabled: 1
settings: {}
- first:
WeixinMiniGame: WeixinMiniGame
second:
enabled: 1
settings: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,33 @@
fileFormatVersion: 2
guid: f17a7c2339e372b468d80e48b8a1fbb8
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Any:
second:
enabled: 1
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
- first:
Windows Store Apps: WindowsStoreApps
second:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,439 @@
var WXAssetBundleLibrary = {
$WXFS: {},
WXFSInit: function (ttl, capacity) {
function _instanceof(left, right) { if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) { return !!right[Symbol.hasInstance](left); } else { return left instanceof right; } }
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
function _classCallCheck(instance, Constructor) { if (!_instanceof(instance, Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
var WXMap = /*#__PURE__*/function () {
function WXMap(hash, rename) {
_classCallCheck(this, WXMap);
this.hash = hash;
this.rename = rename;
this.size = 0;
}
_createClass(WXMap, [{
key: "get",
value: function get(key) {
return this.hash.get(this.rename(key));
}
}, {
key: "set",
value: function set(key, value) {
this.delete(key);
this.size += value;
return this.hash.set(this.rename(key), value);
}
}, {
key: "has",
value: function has(key) {
return this.hash.has(this.rename(key));
}
}, {
key: "delete",
value: function _delete(key) {
this.size -= this.hash.get(this.rename(key))|0;
return this.hash.delete(this.rename(key));
}
}]);
return WXMap;
}();
WXFS.WXABErrorSteps = {
"kWebRequestResponse": 0,
"kLoadBundleFromFile": 1,
"kCacheGet" : 2
};
WXFS.disk = new WXMap(unityNamespace.WXAssetBundles,unityNamespace.PathInFileOS);
WXFS.msg = "";
WXFS.fd2wxStream = new Map;
WXFS.path2fd = new Map;
WXFS.fs = wx.getFileSystemManager();
WXFS.nowfd = FS.MAX_OPEN_FDS + 1;
WXFS.isWXAssetBundle = function(url){
if(url.startsWith(GameGlobal.unityNamespace.DATA_CDN)||url.startsWith('/vfs_streamingassets')){
return unityNamespace.isWXAssetBundle(WXFS.url2path(url));
}
return unityNamespace.isWXAssetBundle(url);
}
WXFS.newfd = function(){
return WXFS.nowfd++;
}
WXFS.doWXAccess = function(path, amode){
if (amode & ~7) {
return -28;
}
try{
WXFS.fs.accessSync(path);
} catch(e){
return -44;
}
return 0
}
var WXFileCache = /*#__PURE__*/function () {
function WXFileCache(ttl, capacity) {
_classCallCheck(this, WXFileCache);
this.ttl = ttl;
if (capacity > 0) this.capacity = capacity;
this.hash = new Map();
this.size = 0;
this.maxSize = 0;
this.obsolete = "";
}
// record obsolete file path when file not found
_createClass(WXFileCache, [{
key: "record",
value: function record(path) {
if (!this.obsolete.includes(path)) {
if (this.obsolete != "") this.obsolete += ";";
this.obsolete += path;
}
}
}, {
key: "get",
value: function get(key) {
var temp = this.hash.get(key);
if (temp !== undefined) {
if(temp.cleanable && unityNamespace.isAndroid && temp.time + this.ttl * 1000 < Date.now()){
try {
var check_path = WXFS.fd2wxStream.get(key).path
if(!GameGlobal.manager.getCachePath(check_path)){
throw new Error("No such file in the wx cache system")
}
WXFS.fs.statSync(check_path)
} catch (e) {
GameGlobal.manager.reporter.wxAssetBundle.reportEmptyContent({stage: WXFS.WXABErrorSteps['kCacheGet'], path: check_path, error: !!e ? e.toString() : 'unknown'});
GameGlobal.manager.Logger.pluginLog('[WXAssetBundle]Android statSync path: ' + check_path + ' error: ' + (!!e ? e.toString() : 'unknown'));
}
}
this.hash.delete(key);
temp.time = Date.now();
this.hash.set(key, temp);
return temp.ab;
}
return -1;
}
}, {
key: "put",
value: function put(key, ab, cleanable) {
if(!ab)return;
cleanable = cleanable != undefined ? cleanable : true;
var value = {
ab: ab,
time: Date.now(),
cleanable: cleanable
};
var temp = this.hash.get(key);
if (temp !== undefined) {
this.size -= temp.ab.byteLength;
this.hash.delete(key);
this.hash.set(key, value);
} else {
if (this.capacity !== undefined && this.size >= this.capacity) {
var idx = this.hash.keys().next().value;
this.size -= idx.ab.byteLength;
this.hash.delete(idx);
this.hash.set(key, value);
} else {
this.hash.set(key, value);
}
}
this.size += value.ab.byteLength;
this.maxSize = Math.max(this.size, this.maxSize);
}
}, {
key: "cleanable",
value: function cleanable(key, _cleanable) {
_cleanable = _cleanable != undefined ? _cleanable : true;
var temp = this.hash.get(key);
if (temp !== undefined) {
// this.hash.delete(key);
// temp.time = Date.now();
temp.cleanable = _cleanable;
this.hash.set(key, temp);
return 0;
} else {
return -1;
}
}
}, {
key: "cleanbytime",
value: function cleanbytime(deadline) {
var iter = this.hash.keys(),
key,
value;
while ((key = iter.next().value) != undefined && (value = this.hash.get(key)).time < deadline) {
if (value.cleanable) {
this.size -= value.ab.byteLength;
this.hash.delete(key);
}
}
}
}, {
key: "RegularCleaning",
value: function RegularCleaning(kIntervalSecond) {
var _this = this;
setInterval(function () {
_this.cleanbytime(Date.now() - _this.ttl * 1000);
}, kIntervalSecond * 1000);
}
}, {
key: "delete",
value: function _delete(key) {
this.size -= this.hash.get(key).ab.byteLength;
return this.hash.delete(key)
}
}, {
key: "has",
value: function _has(key) {
return this.hash.has(key)
}
}
]);
return WXFileCache;
}();
WXFS.cache = new WXFileCache(ttl, capacity);
if(!unityNamespace.isAndroid) {
WXFS.cache.RegularCleaning(1);
}
WXFS.wxstat = function(path){
try {
var fd = WXFS.path2fd.get(path)
if (fd !== undefined){
var stat = {
mode: 33206,
size: WXFS.cache.get(fd).byteLength,
dev: 1,
ino: 1,
nlink: 1,
uid: 0,
gid: 0,
rdev: 0,
atime: new Date(),
mtime: new Date(0),
ctime: new Date(),
blksize: 4096
}
stat.blocks = Math.ceil(stat.size / stat.blksize);
return stat;
}
var stat = WXFS.fs.statSync(path);
// something not in wx.FileSystemManager, just fill in 0/1
stat.dev = 1;
stat.ino = 1;
stat.nlink = 1;
stat.uid = 0;
stat.gid = 0;
stat.rdev = 0;
stat.atime = new Date(stat.lastAccessedTime * 1000);
stat.mtime = new Date(0); // if update modified time, wasm will log error "Archive file was modified when opened"
stat.ctime = new Date(stat.lastModifiedTime * 1000); // time of permission modification, just use mtime to instand
delete stat.lastAccessedTime;
delete stat.lastModifiedTime;
stat.blksize = 4096;
stat.blocks = Math.ceil(stat.size / stat.blksize);
return stat;
} catch (e){
console.error(e)
throw e;
}
}
WXFS._url2path = new Map();
WXFS.url2path = function(url) {
if(WXFS._url2path.has(url)){
return WXFS._url2path.get(url);
}
if(url.startsWith('/vfs_streamingassets/')){
var path = url.replace('/vfs_streamingassets/', wx.env.USER_DATA_PATH + "/__GAME_FILE_CACHE/StreamingAssets/");
}
else{
var path = url.replace(GameGlobal.unityNamespace.DATA_CDN, wx.env.USER_DATA_PATH+'/__GAME_FILE_CACHE/');
}
if(path.indexOf('?') > -1){
path = path.substring(0,path.indexOf("?"));
}
WXFS._url2path.set(url, path);
return path;
};
WXFS.LoadBundleFromFile = function(path){
try {
var res = WXFS.fs.readFileSync(path);
} catch(e) {
var err_msg = !!e ? e.toString() : 'unknown';
}
var expected_size = WXFS.disk.get(path);
if(!res || res.byteLength != expected_size){
var wxab_error = {
stage: WXFS.WXABErrorSteps['kLoadBundleFromFile'],
path: path,
size: (!!res ? res.byteLength : 0),
expected_size: expected_size,
error: err_msg
};
GameGlobal.manager.reporter.wxAssetBundle.reportEmptyContent(wxab_error);
GameGlobal.manager.Logger.pluginLog('[WXAssetBundle]readFileSync at path ' + path + ' return size ' + (!!res?res.byteLength:0) + ', different from expected size ' + expected_size + ' error: ' + err_msg);
wx.setStorageSync("wxfs_unserviceable",true);
GameGlobal.onCrash();
return "";
}
return res;
};
WXFS.read = function(stream, buffer, offset, length, position){
var contents = WXFS.cache.get(stream.fd);
if (contents === -1) {
var res = WXFS.LoadBundleFromFile(stream.path);
WXFS.cache.put(stream.fd, res);
contents = res;
}
if (position >= stream.node.usedBytes) return 0;
var size = Math.min(stream.node.usedBytes - position, length);
assert(size >= 0);
buffer.set(new Uint8Array(contents.slice(position, position + size)), offset);
return size;
};
},
GetObsoleteFilePath: function () {
var bufferSize = lengthBytesUTF8(WXFS.cache.obsolete) + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(WXFS.cache.obsolete, buffer, bufferSize);
WXFS.cache.obsolete = "";
return buffer;
},
UnCleanbyPath: function (ptr) {
var url = UTF8ToString(ptr);
var path = WXFS.url2path(url);
if(!WXFS.disk.has(path)){
WXFS.disk.set(path, 0);
}
},
UnloadbyPath: function (ptr) {
var path = WXFS.url2path(UTF8ToString(ptr));
var fd = WXFS.path2fd.get(path);
if(WXFS.cache.has(fd)){
WXFS.cache.delete(fd);
}
if(WXFS.disk.has(path)){
WXFS.disk.delete(path);
}
},
CheckWXFSReady: function () {
return WXFS.fs!==undefined;
},
WXGetBundleFromXML: function(url, id, callback, needRetry){
needRetry = needRetry?needRetry:true;
var _url = UTF8ToString(url);
var _id = UTF8ToString(id);
var len = lengthBytesUTF8(_id) + 1;
var idPtr = _malloc(len);
stringToUTF8(_id, idPtr, len);
var xhr = new GameGlobal.unityNamespace.UnityLoader.UnityCache.XMLHttpRequest;
xhr.open('GET', _url, true);
xhr.responseType = "arraybuffer";
xhr.onload = function (e) {
if (xhr.status >= 400 && needRetry) {
setTimeout(function () {
_WXGetBundleFromXML(url, false);
}, 1000);
xhr=null;
return false;
}
if (callback) {
var kWebRequestOK = 0;
var kNoResponseBuffer = 1111;
var xhrByteArray = new Uint8Array(xhr.response);
if (xhrByteArray.length != 0) {
var arrayBuffer = xhr.response;
var path = WXFS.url2path(_url);
var numberfd = WXFS.path2fd.get(path);
if (numberfd == undefined) {
numberfd = WXFS.newfd();
WXFS.path2fd.set(path, numberfd);
}
var wxStream = WXFS.fd2wxStream.get(numberfd);
if (wxStream == undefined) {
wxStream = {
fd: numberfd,
path: path,
seekable: true,
position: 0,
stream_ops: MEMFS.stream_ops,
ungotten: [],
node:{mode:32768,usedBytes:xhrByteArray.length},
error: false
};
wxStream.stream_ops.read = WXFS.read;
WXFS.fd2wxStream.set(numberfd, wxStream);
}
WXFS.cache.put(numberfd, arrayBuffer, xhr.isReadFromCache);
WXFS.disk.set(path, xhrByteArray.length);
dynCall("viii", callback, [idPtr, kWebRequestOK, 0]);
if(xhr.isReadFromCache){
_free(idPtr);
}
} else {
dynCall('viii', callback, [idPtr, kNoResponseBuffer, 0]);
_free(idPtr);
}
}
};
xhr.onsave = function xhr_onsave(e){
WXFS.cache.cleanable(WXFS.path2fd.get(e));
_free(idPtr);
}
function XHRHandleError(err, code) {
if (needRetry) {
return setTimeout(function () {
_WXGetBundleFromXML(url, false);
}, 1e3);
}
if (callback) {
var len = lengthBytesUTF8(err) + 1;
var buffer = _malloc(len);
stringToUTF8(err, buffer, len);
dynCall("viii", callback, [idPtr, code, buffer]);
_free(buffer);
_free(idPtr);
}
}
xhr.onerror = function xhr_onerror(e) {
var kWebErrorUnknown = 2;
XHRHandleError("Unknown error.", kWebErrorUnknown);
};
xhr.ontimeout = function xhr_onerror(e) {
var kWebErrorTimeout = 14;
XHRHandleError("Connection timed out.", kWebErrorTimeout);
};
xhr.onabort = function xhr_onerror(e) {
var kWebErrorAborted = 17;
XHRHandleError("Aborted.", kWebErrorAborted);
}
xhr.send();
},
WXGetBundleNumberInMemory: function () {
return WXFS&&WXFS.cache&&WXFS.cache.hash&&WXFS.cache.hash.size;
},
WXGetBundleNumberOnDisk: function () {
return WXFS&&WXFS.disk&&WXFS.disk.hash&&WXFS.disk.hash.size;
},
WXGetBundleSizeInMemory: function () {
return WXFS&&WXFS.cache&&WXFS.cache.size;
},
WXGetBundleSizeOnDisk: function () {
return WXFS&&WXFS.disk&&WXFS.disk.size;
}
};
autoAddDeps(WXAssetBundleLibrary, '$WXFS');
mergeInto(LibraryManager.library, WXAssetBundleLibrary);
@@ -0,0 +1,79 @@
fileFormatVersion: 2
guid: f0312171d672c4253a88f587630cce43
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
: Any
second:
enabled: 0
settings:
Exclude Editor: 1
Exclude Linux64: 1
Exclude OSXUniversal: 1
Exclude WeixinMiniGame: 0
Exclude Win: 1
Exclude Win64: 1
- first:
Any:
second:
enabled: 0
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
CPU: AnyCPU
DefaultValueInitialized: true
OS: AnyOS
- first:
Facebook: WebGL
second:
enabled: 1
settings: {}
- first:
Standalone: Linux64
second:
enabled: 0
settings:
CPU: AnyCPU
- first:
Standalone: OSXUniversal
second:
enabled: 0
settings:
CPU: None
- first:
Standalone: Win
second:
enabled: 0
settings:
CPU: x86
- first:
Standalone: Win64
second:
enabled: 0
settings:
CPU: x86_64
- first:
WebGL: WebGL
second:
enabled: 1
settings: {}
- first:
WeixinMiniGame: WeixinMiniGame
second:
enabled: 1
settings: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,43 @@
mergeInto(LibraryManager.library, {
_WXPointer_stringify_adaptor:function(str){
if (typeof UTF8ToString !== "undefined") {
return UTF8ToString(str)
}
return Pointer_stringify(str)
},
DumpUICallback: function (str) {
if(typeof GameGlobal!='undefined'){
GameGlobal.monkeyCallback(_WXPointer_stringify_adaptor(str));
}
},
GetScreenSizeCallback: function(width, height){
if(typeof GameGlobal!='undefined'){
GameGlobal.monkeyCallback([width, height]);
}
},
GetUnityVersionCallback: function(version){
if(typeof GameGlobal!='undefined'){
GameGlobal.monkeyCallback(_WXPointer_stringify_adaptor(version));
}
},
GetUnityFrameRateCallback: function(rate){
if(typeof GameGlobal!='undefined'){
GameGlobal.monkeyCallback(rate)
}
},
GetUnityCacheDetailCallback: function(str) {
if(typeof GameGlobal!='undefined'){
GameGlobal.monkeyCallback(_WXPointer_stringify_adaptor(str));
}
},
SetUnityUIType: function(str){
if(typeof GameGlobal!='undefined'){
GameGlobal.UnityUIType = _WXPointer_stringify_adaptor(str);
}
},
DumpProfileStatsCallback: function(str){
if(typeof GameGlobal!='undefined') {
GameGlobal.monkeyCallback(_WXPointer_stringify_adaptor(str));
}
}
});
@@ -0,0 +1,74 @@
fileFormatVersion: 2
guid: dae845d21bfc9479cbd0cbe4e34ac070
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
: Any
second:
enabled: 0
settings:
Exclude Editor: 1
Exclude Linux64: 1
Exclude OSXUniversal: 1
Exclude WeixinMiniGame: 0
Exclude Win: 1
Exclude Win64: 1
- first:
Any:
second:
enabled: 0
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
CPU: AnyCPU
DefaultValueInitialized: true
OS: AnyOS
- first:
Standalone: Linux64
second:
enabled: 0
settings:
CPU: x86_64
- first:
Standalone: OSXUniversal
second:
enabled: 0
settings:
CPU: None
- first:
Standalone: Win
second:
enabled: 0
settings:
CPU: x86
- first:
Standalone: Win64
second:
enabled: 0
settings:
CPU: x86_64
- first:
WebGL: WebGL
second:
enabled: 1
settings: {}
- first:
WeixinMiniGame: WeixinMiniGame
second:
enabled: 1
settings: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,4 @@
<linker>
<assembly fullname="wx-runtime" preserve="all"/>
<assembly fullname="LitJson" preserve="all"/>
</linker>
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: b079ebcdeb0414c9e9e8990e3490fcb6
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,96 @@
fileFormatVersion: 2
guid: 30bbdd4df4b1a43bb83ed8e59cc42c54
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
: Any
second:
enabled: 0
settings:
Exclude Editor: 0
Exclude Linux: 1
Exclude Linux64: 1
Exclude LinuxUniversal: 1
Exclude OSXUniversal: 1
Exclude WebGL: 1
Exclude Win: 1
Exclude Win64: 1
- first:
Any:
second:
enabled: 0
settings: {}
- first:
Editor: Editor
second:
enabled: 1
settings:
CPU: AnyCPU
DefaultValueInitialized: true
OS: AnyOS
- first:
Facebook: Win
second:
enabled: 0
settings:
CPU: AnyCPU
- first:
Facebook: Win64
second:
enabled: 0
settings:
CPU: AnyCPU
- first:
Standalone: Linux
second:
enabled: 0
settings:
CPU: x86
- first:
Standalone: Linux64
second:
enabled: 0
settings:
CPU: x86_64
- first:
Standalone: LinuxUniversal
second:
enabled: 0
settings:
CPU: None
- first:
Standalone: OSXUniversal
second:
enabled: 0
settings:
CPU: AnyCPU
- first:
Standalone: Win
second:
enabled: 0
settings:
CPU: AnyCPU
- first:
Standalone: Win64
second:
enabled: 0
settings:
CPU: AnyCPU
- first:
Windows Store Apps: WindowsStoreApps
second:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,107 @@
fileFormatVersion: 2
guid: 6708da74d31314f7e96085e884d8b693
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
: Any
second:
enabled: 0
settings:
Exclude Editor: 1
Exclude Linux: 1
Exclude Linux64: 1
Exclude LinuxUniversal: 1
Exclude OSXUniversal: 1
Exclude WebGL: 0
Exclude WeixinMiniGame: 0
Exclude Win: 1
Exclude Win64: 1
- first:
Any:
second:
enabled: 0
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
CPU: AnyCPU
DefaultValueInitialized: true
OS: AnyOS
- first:
Facebook: Win
second:
enabled: 0
settings:
CPU: AnyCPU
- first:
Facebook: Win64
second:
enabled: 0
settings:
CPU: AnyCPU
- first:
Standalone: Linux
second:
enabled: 0
settings:
CPU: x86
- first:
Standalone: Linux64
second:
enabled: 0
settings:
CPU: AnyCPU
- first:
Standalone: LinuxUniversal
second:
enabled: 0
settings:
CPU: None
- first:
Standalone: OSXUniversal
second:
enabled: 0
settings:
CPU: AnyCPU
- first:
Standalone: Win
second:
enabled: 0
settings:
CPU: AnyCPU
- first:
Standalone: Win64
second:
enabled: 0
settings:
CPU: AnyCPU
- first:
WebGL: WebGL
second:
enabled: 1
settings: {}
- first:
WeixinMiniGame: WeixinMiniGame
second:
enabled: 1
settings: {}
- first:
Windows Store Apps: WindowsStoreApps
second:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant: