// Copyright 2010 The Emscripten Authors. All rights reserved. // Emscripten is available under two separate licenses, the MIT license and the // University of Illinois/NCSA Open Source License. Both these licenses can be // found in the LICENSE file. // The Module object: Our interface to the outside world. We import // and export values on it. There are various ways Module can be used: // 1. Not defined. We create it here // 2. A function parameter, function(Module) { ..generated code.. } // 3. pre-run appended it, var Module = {}; ..generated code.. // 4. External script tag defines var Module. // We need to check if Module already exists (e.g. case 3 above). // Substitution will be replaced with actual code on later stage of the build, // this way Closure Compiler will not mangle it (e.g. case 4. above). // Note that if you want to run closure, and also to use Module // after the generated code, you will need to define var Module = {}; // before the code. Then that object will be used in the code, and you // can continue to use Module afterwards as well. var Module = typeof Module !== 'undefined' ? Module : {}; // --pre-jses are emitted after the Module integration code, so that they can // refer to Module (if they choose; they can also define Module) if (!Module.expectedDataFileDownloads) { Module.expectedDataFileDownloads = 0; Module.finishedDataFileDownloads = 0; } Module.expectedDataFileDownloads++; (function() { var loadPackage = function(metadata) { var PACKAGE_PATH; if (typeof window === 'object') { PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/'); } else if (typeof location !== 'undefined') { // worker PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/'); } else { throw 'using preloaded data can only be done on a web page or in a web worker'; } var PACKAGE_NAME = '/static/default.zip'; var REMOTE_PACKAGE_BASE = '/static/default.zip'; if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) { Module['locateFile'] = Module['locateFilePackage']; err('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)'); } var REMOTE_PACKAGE_NAME = Module['locateFile'] ? Module['locateFile'](REMOTE_PACKAGE_BASE, '') : REMOTE_PACKAGE_BASE; var REMOTE_PACKAGE_SIZE = metadata.remote_package_size; var PACKAGE_UUID = metadata.package_uuid; function fetchRemotePackage(packageName, packageSize, callback, errback) { var xhr = new XMLHttpRequest(); xhr.open('GET', packageName, true); xhr.responseType = 'arraybuffer'; xhr.onprogress = function(event) { var url = packageName; var size = packageSize; if (event.total) size = event.total; if (event.loaded) { if (!xhr.addedTotal) { xhr.addedTotal = true; if (!Module.dataFileDownloads) Module.dataFileDownloads = {}; Module.dataFileDownloads[url] = { loaded: event.loaded, total: size }; } else { Module.dataFileDownloads[url].loaded = event.loaded; } var total = 0; var loaded = 0; var num = 0; for (var download in Module.dataFileDownloads) { var data = Module.dataFileDownloads[download]; total += data.total; loaded += data.loaded; num++; } total = Math.ceil(total * Module.expectedDataFileDownloads/num); if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')'); } else if (!Module.dataFileDownloads) { if (Module['setStatus']) Module['setStatus']('Downloading data...'); } }; xhr.onerror = function(event) { throw new Error("NetworkError for: " + packageName); } xhr.onload = function(event) { if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 var packageData = xhr.response; callback(packageData); } else { throw new Error(xhr.statusText + " : " + xhr.responseURL); } }; xhr.send(null); }; function handleError(error) { console.error('package error:', error); }; var fetchedCallback = null; var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null; if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) { if (fetchedCallback) { fetchedCallback(data); fetchedCallback = null; } else { fetched = data; } }, handleError); function runWithFS() { function assert(check, msg) { if (!check) throw msg + new Error().stack; } Module['FS_createPath']('/', 'texpacks', true, true); function DataRequest(start, end, audio) { this.start = start; this.end = end; this.audio = audio; } DataRequest.prototype = { requests: {}, open: function(mode, name) { this.name = name; this.requests[name] = this; Module['addRunDependency']('fp ' + this.name); }, send: function() {}, onload: function() { var byteArray = this.byteArray.subarray(this.start, this.end); this.finish(byteArray); }, finish: function(byteArray) { var that = this; Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change Module['removeRunDependency']('fp ' + that.name); this.requests[this.name] = null; } }; var files = metadata.files; for (var i = 0; i < files.length; ++i) { new DataRequest(files[i].start, files[i].end, files[i].audio).open('GET', files[i].filename); } function processPackageData(arrayBuffer) { Module.finishedDataFileDownloads++; assert(arrayBuffer, 'Loading data file failed.'); assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData'); var byteArray = new Uint8Array(arrayBuffer); var curr; // Reuse the bytearray from the XHR as the source for file reads. DataRequest.prototype.byteArray = byteArray; var files = metadata.files; for (var i = 0; i < files.length; ++i) { DataRequest.prototype.requests[files[i].filename].onload(); } Module['removeRunDependency']('datafile_/static/default.zip'); }; Module['addRunDependency']('datafile_/static/default.zip'); if (!Module.preloadResults) Module.preloadResults = {}; Module.preloadResults[PACKAGE_NAME] = {fromCache: false}; if (fetched) { processPackageData(fetched); fetched = null; } else { fetchedCallback = processPackageData; } } if (Module['calledRun']) { runWithFS(); } else { if (!Module['preRun']) Module['preRun'] = []; Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it } } loadPackage({"files": [{"start": 0, "audio": 0, "end": 237603, "filename": "/texpacks/default.zip"}], "remote_package_size": 237603, "package_uuid": "ae897999-5dce-4041-89a9-f47a7acf7d1f"}); })(); // Sometimes an existing Module object exists with properties // meant to overwrite the default module functionality. Here // we collect those properties and reapply _after_ we configure // the current environment's defaults to avoid having to be so // defensive during initialization. var moduleOverrides = {}; var key; for (key in Module) { if (Module.hasOwnProperty(key)) { moduleOverrides[key] = Module[key]; } } Module['arguments'] = []; Module['thisProgram'] = './this.program'; Module['quit'] = function(status, toThrow) { throw toThrow; }; Module['preRun'] = []; Module['postRun'] = []; // Determine the runtime environment we are in. You can customize this by // setting the ENVIRONMENT setting at compile time (see settings.js). var ENVIRONMENT_IS_WEB = false; var ENVIRONMENT_IS_WORKER = false; var ENVIRONMENT_IS_NODE = false; var ENVIRONMENT_IS_SHELL = false; ENVIRONMENT_IS_WEB = typeof window === 'object'; ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; // Three configurations we can be running in: // 1) We could be the application main() thread running in the main JS UI thread. (ENVIRONMENT_IS_WORKER == false and ENVIRONMENT_IS_PTHREAD == false) // 2) We could be the application main() thread proxied to worker. (with Emscripten -s PROXY_TO_WORKER=1) (ENVIRONMENT_IS_WORKER == true, ENVIRONMENT_IS_PTHREAD == false) // 3) We could be an application pthread running in a worker. (ENVIRONMENT_IS_WORKER == true and ENVIRONMENT_IS_PTHREAD == true) // `/` should be present at the end if `scriptDirectory` is not empty var scriptDirectory = ''; function locateFile(path) { if (Module['locateFile']) { return Module['locateFile'](path, scriptDirectory); } else { return scriptDirectory + path; } } if (ENVIRONMENT_IS_NODE) { scriptDirectory = __dirname + '/'; // Expose functionality in the same simple way that the shells work // Note that we pollute the global namespace here, otherwise we break in node var nodeFS; var nodePath; Module['read'] = function shell_read(filename, binary) { var ret; ret = tryParseAsDataURI(filename); if (!ret) { if (!nodeFS) nodeFS = require('fs'); if (!nodePath) nodePath = require('path'); filename = nodePath['normalize'](filename); ret = nodeFS['readFileSync'](filename); } return binary ? ret : ret.toString(); }; Module['readBinary'] = function readBinary(filename) { var ret = Module['read'](filename, true); if (!ret.buffer) { ret = new Uint8Array(ret); } assert(ret.buffer); return ret; }; if (process['argv'].length > 1) { Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); } Module['arguments'] = process['argv'].slice(2); if (typeof module !== 'undefined') { module['exports'] = Module; } process['on']('uncaughtException', function(ex) { // suppress ExitStatus exceptions from showing an error if (!(ex instanceof ExitStatus)) { throw ex; } }); // Currently node will swallow unhandled rejections, but this behavior is // deprecated, and in the future it will exit with error status. process['on']('unhandledRejection', abort); Module['quit'] = function(status) { process['exit'](status); }; Module['inspect'] = function () { return '[Emscripten Module object]'; }; } else if (ENVIRONMENT_IS_SHELL) { if (typeof read != 'undefined') { Module['read'] = function shell_read(f) { var data = tryParseAsDataURI(f); if (data) { return intArrayToString(data); } return read(f); }; } Module['readBinary'] = function readBinary(f) { var data; data = tryParseAsDataURI(f); if (data) { return data; } if (typeof readbuffer === 'function') { return new Uint8Array(readbuffer(f)); } data = read(f, 'binary'); assert(typeof data === 'object'); return data; }; if (typeof scriptArgs != 'undefined') { Module['arguments'] = scriptArgs; } else if (typeof arguments != 'undefined') { Module['arguments'] = arguments; } if (typeof quit === 'function') { Module['quit'] = function(status) { quit(status); } } } else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled scriptDirectory = self.location.href; } else if (document.currentScript) { // web scriptDirectory = document.currentScript.src; } // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. // otherwise, slice off the final part of the url to find the script directory. // if scriptDirectory does not contain a slash, lastIndexOf will return -1, // and scriptDirectory will correctly be replaced with an empty string. if (scriptDirectory.indexOf('blob:') !== 0) { scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf('/')+1); } else { scriptDirectory = ''; } Module['read'] = function shell_read(url) { try { var xhr = new XMLHttpRequest(); xhr.open('GET', url, false); xhr.send(null); return xhr.responseText; } catch (err) { var data = tryParseAsDataURI(url); if (data) { return intArrayToString(data); } throw err; } }; if (ENVIRONMENT_IS_WORKER) { Module['readBinary'] = function readBinary(url) { try { var xhr = new XMLHttpRequest(); xhr.open('GET', url, false); xhr.responseType = 'arraybuffer'; xhr.send(null); return new Uint8Array(xhr.response); } catch (err) { var data = tryParseAsDataURI(url); if (data) { return data; } throw err; } }; } Module['readAsync'] = function readAsync(url, onload, onerror) { var xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.responseType = 'arraybuffer'; xhr.onload = function xhr_onload() { if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 onload(xhr.response); return; } var data = tryParseAsDataURI(url); if (data) { onload(data.buffer); return; } onerror(); }; xhr.onerror = onerror; xhr.send(null); }; Module['setWindowTitle'] = function(title) { document.title = title }; } else { } // Set up the out() and err() hooks, which are how we can print to stdout or // stderr, respectively. // If the user provided Module.print or printErr, use that. Otherwise, // console.log is checked first, as 'print' on the web will open a print dialogue // printErr is preferable to console.warn (works better in shells) // bind(console) is necessary to fix IE/Edge closed dev tools panel behavior. var out = Module['print'] || (typeof console !== 'undefined' ? console.log.bind(console) : (typeof print !== 'undefined' ? print : null)); var err = Module['printErr'] || (typeof printErr !== 'undefined' ? printErr : ((typeof console !== 'undefined' && console.warn.bind(console)) || out)); // Merge back in the overrides for (key in moduleOverrides) { if (moduleOverrides.hasOwnProperty(key)) { Module[key] = moduleOverrides[key]; } } // Free the object hierarchy contained in the overrides, this lets the GC // reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. moduleOverrides = undefined; // perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message // Copyright 2017 The Emscripten Authors. All rights reserved. // Emscripten is available under two separate licenses, the MIT license and the // University of Illinois/NCSA Open Source License. Both these licenses can be // found in the LICENSE file. // {{PREAMBLE_ADDITIONS}} var STACK_ALIGN = 16; function dynamicAlloc(size) { var ret = HEAP32[DYNAMICTOP_PTR>>2]; var end = (ret + size + 15) & -16; if (end <= _emscripten_get_heap_size()) { HEAP32[DYNAMICTOP_PTR>>2] = end; } else { var success = _emscripten_resize_heap(end); if (!success) return 0; } return ret; } function alignMemory(size, factor) { if (!factor) factor = STACK_ALIGN; // stack alignment (16-byte) by default return Math.ceil(size / factor) * factor; } function getNativeTypeSize(type) { switch (type) { case 'i1': case 'i8': return 1; case 'i16': return 2; case 'i32': return 4; case 'i64': return 8; case 'float': return 4; case 'double': return 8; default: { if (type[type.length-1] === '*') { return 4; // A pointer } else if (type[0] === 'i') { var bits = parseInt(type.substr(1)); assert(bits % 8 === 0, 'getNativeTypeSize invalid bits ' + bits + ', type ' + type); return bits / 8; } else { return 0; } } } } function warnOnce(text) { if (!warnOnce.shown) warnOnce.shown = {}; if (!warnOnce.shown[text]) { warnOnce.shown[text] = 1; err(text); } } var asm2wasmImports = { // special asm2wasm imports "f64-rem": function(x, y) { return x % y; }, "debugger": function() { debugger; } }; var jsCallStartIndex = 1; var functionPointers = new Array(0); // 'sig' parameter is required for the llvm backend but only when func is not // already a WebAssembly function. function addFunction(func, sig) { var base = 0; for (var i = base; i < base + 0; i++) { if (!functionPointers[i]) { functionPointers[i] = func; return jsCallStartIndex + i; } } throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; } function removeFunction(index) { functionPointers[index-jsCallStartIndex] = null; } var funcWrappers = {}; function getFuncWrapper(func, sig) { if (!func) return; // on null pointer, return undefined assert(sig); if (!funcWrappers[sig]) { funcWrappers[sig] = {}; } var sigCache = funcWrappers[sig]; if (!sigCache[func]) { // optimize away arguments usage in common cases if (sig.length === 1) { sigCache[func] = function dynCall_wrapper() { return dynCall(sig, func); }; } else if (sig.length === 2) { sigCache[func] = function dynCall_wrapper(arg) { return dynCall(sig, func, [arg]); }; } else { // general case sigCache[func] = function dynCall_wrapper() { return dynCall(sig, func, Array.prototype.slice.call(arguments)); }; } } return sigCache[func]; } function makeBigInt(low, high, unsigned) { return unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0)); } function dynCall(sig, ptr, args) { if (args && args.length) { return Module['dynCall_' + sig].apply(null, [ptr].concat(args)); } else { return Module['dynCall_' + sig].call(null, ptr); } } var tempRet0 = 0; var setTempRet0 = function(value) { tempRet0 = value; } var getTempRet0 = function() { return tempRet0; } var Runtime = { }; // The address globals begin at. Very low in memory, for code size and optimization opportunities. // Above 0 is static memory, starting with globals. // Then the stack. // Then 'dynamic' memory for sbrk. var GLOBAL_BASE = 8; // === Preamble library stuff === // Documentation for the public APIs defined in this file must be updated in: // site/source/docs/api_reference/preamble.js.rst // A prebuilt local version of the documentation is available at: // site/build/text/docs/api_reference/preamble.js.txt // You can also build docs locally as HTML or other formats in site/ // An online HTML version (which may be of a different version of Emscripten) // is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html /** @type {function(number, string, boolean=)} */ function getValue(ptr, type, noSafe) { type = type || 'i8'; if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit switch(type) { case 'i1': return HEAP8[((ptr)>>0)]; case 'i8': return HEAP8[((ptr)>>0)]; case 'i16': return HEAP16[((ptr)>>1)]; case 'i32': return HEAP32[((ptr)>>2)]; case 'i64': return HEAP32[((ptr)>>2)]; case 'float': return HEAPF32[((ptr)>>2)]; case 'double': return HEAPF64[((ptr)>>3)]; default: abort('invalid type for getValue: ' + type); } return null; } // Wasm globals var wasmMemory; // Potentially used for direct table calls. var wasmTable; //======================================== // Runtime essentials //======================================== // whether we are quitting the application. no code should run after this. // set in exit() and abort() var ABORT = false; // set by exit() and abort(). Passed to 'onExit' handler. // NOTE: This is also used as the process return code code in shell environments // but only when noExitRuntime is false. var EXITSTATUS = 0; /** @type {function(*, string=)} */ function assert(condition, text) { if (!condition) { abort('Assertion failed: ' + text); } } // Returns the C function with a specified identifier (for C++, you need to do manual name mangling) function getCFunc(ident) { var func = Module['_' + ident]; // closure exported function assert(func, 'Cannot call unknown function ' + ident + ', make sure it is exported'); return func; } // C calling interface. function ccall(ident, returnType, argTypes, args, opts) { // For fast lookup of conversion functions var toC = { 'string': function(str) { var ret = 0; if (str !== null && str !== undefined && str !== 0) { // null string // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0' var len = (str.length << 2) + 1; ret = stackAlloc(len); stringToUTF8(str, ret, len); } return ret; }, 'array': function(arr) { var ret = stackAlloc(arr.length); writeArrayToMemory(arr, ret); return ret; } }; function convertReturnValue(ret) { if (returnType === 'string') return UTF8ToString(ret); if (returnType === 'boolean') return Boolean(ret); return ret; } var func = getCFunc(ident); var cArgs = []; var stack = 0; if (args) { for (var i = 0; i < args.length; i++) { var converter = toC[argTypes[i]]; if (converter) { if (stack === 0) stack = stackSave(); cArgs[i] = converter(args[i]); } else { cArgs[i] = args[i]; } } } var ret = func.apply(null, cArgs); ret = convertReturnValue(ret); if (stack !== 0) stackRestore(stack); return ret; } function cwrap(ident, returnType, argTypes, opts) { argTypes = argTypes || []; // When the function takes numbers and returns a number, we can just return // the original function var numericArgs = argTypes.every(function(type){ return type === 'number'}); var numericRet = returnType !== 'string'; if (numericRet && numericArgs && !opts) { return getCFunc(ident); } return function() { return ccall(ident, returnType, argTypes, arguments, opts); } } /** @type {function(number, number, string, boolean=)} */ function setValue(ptr, value, type, noSafe) { type = type || 'i8'; if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit switch(type) { case 'i1': HEAP8[((ptr)>>0)]=value; break; case 'i8': HEAP8[((ptr)>>0)]=value; break; case 'i16': HEAP16[((ptr)>>1)]=value; break; case 'i32': HEAP32[((ptr)>>2)]=value; break; case 'i64': (tempI64 = [value>>>0,(tempDouble=value,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break; case 'float': HEAPF32[((ptr)>>2)]=value; break; case 'double': HEAPF64[((ptr)>>3)]=value; break; default: abort('invalid type for setValue: ' + type); } } var ALLOC_NORMAL = 0; // Tries to use _malloc() var ALLOC_STACK = 1; // Lives for the duration of the current function call var ALLOC_DYNAMIC = 2; // Cannot be freed except through sbrk var ALLOC_NONE = 3; // Do not allocate // allocate(): This is for internal use. You can use it yourself as well, but the interface // is a little tricky (see docs right below). The reason is that it is optimized // for multiple syntaxes to save space in generated code. So you should // normally not use allocate(), and instead allocate memory using _malloc(), // initialize it with setValue(), and so forth. // @slab: An array of data, or a number. If a number, then the size of the block to allocate, // in *bytes* (note that this is sometimes confusing: the next parameter does not // affect this!) // @types: Either an array of types, one for each byte (or 0 if no type at that position), // or a single type which is used for the entire block. This only matters if there // is initial data - if @slab is a number, then this does not matter at all and is // ignored. // @allocator: How to allocate memory, see ALLOC_* /** @type {function((TypedArray|Array|number), string, number, number=)} */ function allocate(slab, types, allocator, ptr) { var zeroinit, size; if (typeof slab === 'number') { zeroinit = true; size = slab; } else { zeroinit = false; size = slab.length; } var singleType = typeof types === 'string' ? types : null; var ret; if (allocator == ALLOC_NONE) { ret = ptr; } else { ret = [_malloc, stackAlloc, dynamicAlloc][allocator](Math.max(size, singleType ? 1 : types.length)); } if (zeroinit) { var stop; ptr = ret; assert((ret & 3) == 0); stop = ret + (size & ~3); for (; ptr < stop; ptr += 4) { HEAP32[((ptr)>>2)]=0; } stop = ret + size; while (ptr < stop) { HEAP8[((ptr++)>>0)]=0; } return ret; } if (singleType === 'i8') { if (slab.subarray || slab.slice) { HEAPU8.set(/** @type {!Uint8Array} */ (slab), ret); } else { HEAPU8.set(new Uint8Array(slab), ret); } return ret; } var i = 0, type, typeSize, previousType; while (i < size) { var curr = slab[i]; type = singleType || types[i]; if (type === 0) { i++; continue; } if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later setValue(ret+i, curr, type); // no need to look up size unless type changes, so cache it if (previousType !== type) { typeSize = getNativeTypeSize(type); previousType = type; } i += typeSize; } return ret; } // Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready function getMemory(size) { if (!runtimeInitialized) return dynamicAlloc(size); return _malloc(size); } /** @type {function(number, number=)} */ function Pointer_stringify(ptr, length) { abort("this function has been removed - you should use UTF8ToString(ptr, maxBytesToRead) instead!"); } // Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns // a copy of that string as a Javascript String object. function AsciiToString(ptr) { var str = ''; while (1) { var ch = HEAPU8[((ptr++)>>0)]; if (!ch) return str; str += String.fromCharCode(ch); } } // Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', // null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP. function stringToAscii(str, outPtr) { return writeAsciiToMemory(str, outPtr, false); } // Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns // a copy of that string as a Javascript String object. var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined; /** * @param {number} idx * @param {number=} maxBytesToRead * @return {string} */ function UTF8ArrayToString(u8Array, idx, maxBytesToRead) { var endIdx = idx + maxBytesToRead; var endPtr = idx; // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. // (As a tiny code save trick, compare endPtr against endIdx using a negation, so that undefined means Infinity) while (u8Array[endPtr] && !(endPtr >= endIdx)) ++endPtr; if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)); } else { var str = ''; // If building with TextDecoder, we have already computed the string length above, so test loop end condition against that while (idx < endPtr) { // For UTF8 byte structure, see: // http://en.wikipedia.org/wiki/UTF-8#Description // https://www.ietf.org/rfc/rfc2279.txt // https://tools.ietf.org/html/rfc3629 var u0 = u8Array[idx++]; if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } var u1 = u8Array[idx++] & 63; if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } var u2 = u8Array[idx++] & 63; if ((u0 & 0xF0) == 0xE0) { u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; } else { u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (u8Array[idx++] & 63); } if (u0 < 0x10000) { str += String.fromCharCode(u0); } else { var ch = u0 - 0x10000; str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); } } } return str; } // Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns a // copy of that string as a Javascript String object. // maxBytesToRead: an optional length that specifies the maximum number of bytes to read. You can omit // this parameter to scan the string until the first \0 byte. If maxBytesToRead is // passed, and the string at [ptr, ptr+maxBytesToReadr[ contains a null byte in the // middle, then the string will cut short at that byte index (i.e. maxBytesToRead will // not produce a string of exact length [ptr, ptr+maxBytesToRead[) // N.B. mixing frequent uses of UTF8ToString() with and without maxBytesToRead may // throw JS JIT optimizations off, so it is worth to consider consistently using one // style or the other. /** * @param {number} ptr * @param {number=} maxBytesToRead * @return {string} */ function UTF8ToString(ptr, maxBytesToRead) { return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; } // Copies the given Javascript String object 'str' to the given byte array at address 'outIdx', // encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP. // Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. // Parameters: // str: the Javascript string to copy. // outU8Array: the array to copy to. Each index in this array is assumed to be one 8-byte element. // outIdx: The starting offset in the array to begin the copying. // maxBytesToWrite: The maximum number of bytes this function can write to the array. // This count should include the null terminator, // i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else. // maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator. // Returns the number of bytes written, EXCLUDING the null terminator. function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes. return 0; var startIdx = outIdx; var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. for (var i = 0; i < str.length; ++i) { // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. // See http://unicode.org/faq/utf_bom.html#utf16-3 // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 var u = str.charCodeAt(i); // possibly a lead surrogate if (u >= 0xD800 && u <= 0xDFFF) { var u1 = str.charCodeAt(++i); u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); } if (u <= 0x7F) { if (outIdx >= endIdx) break; outU8Array[outIdx++] = u; } else if (u <= 0x7FF) { if (outIdx + 1 >= endIdx) break; outU8Array[outIdx++] = 0xC0 | (u >> 6); outU8Array[outIdx++] = 0x80 | (u & 63); } else if (u <= 0xFFFF) { if (outIdx + 2 >= endIdx) break; outU8Array[outIdx++] = 0xE0 | (u >> 12); outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); outU8Array[outIdx++] = 0x80 | (u & 63); } else { if (outIdx + 3 >= endIdx) break; outU8Array[outIdx++] = 0xF0 | (u >> 18); outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); outU8Array[outIdx++] = 0x80 | (u & 63); } } // Null-terminate the pointer to the buffer. outU8Array[outIdx] = 0; return outIdx - startIdx; } // Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', // null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP. // Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. // Returns the number of bytes written, EXCLUDING the null terminator. function stringToUTF8(str, outPtr, maxBytesToWrite) { return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); } // Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte. function lengthBytesUTF8(str) { var len = 0; for (var i = 0; i < str.length; ++i) { // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. // See http://unicode.org/faq/utf_bom.html#utf16-3 var u = str.charCodeAt(i); // possibly a lead surrogate if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); if (u <= 0x7F) ++len; else if (u <= 0x7FF) len += 2; else if (u <= 0xFFFF) len += 3; else len += 4; } return len; } // Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns // a copy of that string as a Javascript String object. var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined; function UTF16ToString(ptr) { var endPtr = ptr; // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. var idx = endPtr >> 1; while (HEAP16[idx]) ++idx; endPtr = idx << 1; if (endPtr - ptr > 32 && UTF16Decoder) { return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); } else { var i = 0; var str = ''; while (1) { var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; if (codeUnit == 0) return str; ++i; // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. str += String.fromCharCode(codeUnit); } } } // Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', // null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP. // Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write. // Parameters: // str: the Javascript string to copy. // outPtr: Byte address in Emscripten HEAP where to write the string to. // maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null // terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else. // maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator. // Returns the number of bytes written, EXCLUDING the null terminator. function stringToUTF16(str, outPtr, maxBytesToWrite) { // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. if (maxBytesToWrite === undefined) { maxBytesToWrite = 0x7FFFFFFF; } if (maxBytesToWrite < 2) return 0; maxBytesToWrite -= 2; // Null terminator. var startPtr = outPtr; var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; for (var i = 0; i < numCharsToWrite; ++i) { // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. var codeUnit = str.charCodeAt(i); // possibly a lead surrogate HEAP16[((outPtr)>>1)]=codeUnit; outPtr += 2; } // Null-terminate the pointer to the HEAP. HEAP16[((outPtr)>>1)]=0; return outPtr - startPtr; } // Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. function lengthBytesUTF16(str) { return str.length*2; } function UTF32ToString(ptr) { var i = 0; var str = ''; while (1) { var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; if (utf32 == 0) return str; ++i; // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. // See http://unicode.org/faq/utf_bom.html#utf16-3 if (utf32 >= 0x10000) { var ch = utf32 - 0x10000; str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); } else { str += String.fromCharCode(utf32); } } } // Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', // null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP. // Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write. // Parameters: // str: the Javascript string to copy. // outPtr: Byte address in Emscripten HEAP where to write the string to. // maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null // terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else. // maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator. // Returns the number of bytes written, EXCLUDING the null terminator. function stringToUTF32(str, outPtr, maxBytesToWrite) { // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. if (maxBytesToWrite === undefined) { maxBytesToWrite = 0x7FFFFFFF; } if (maxBytesToWrite < 4) return 0; var startPtr = outPtr; var endPtr = startPtr + maxBytesToWrite - 4; for (var i = 0; i < str.length; ++i) { // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. // See http://unicode.org/faq/utf_bom.html#utf16-3 var codeUnit = str.charCodeAt(i); // possibly a lead surrogate if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { var trailSurrogate = str.charCodeAt(++i); codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); } HEAP32[((outPtr)>>2)]=codeUnit; outPtr += 4; if (outPtr + 4 > endPtr) break; } // Null-terminate the pointer to the HEAP. HEAP32[((outPtr)>>2)]=0; return outPtr - startPtr; } // Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. function lengthBytesUTF32(str) { var len = 0; for (var i = 0; i < str.length; ++i) { // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. // See http://unicode.org/faq/utf_bom.html#utf16-3 var codeUnit = str.charCodeAt(i); if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. len += 4; } return len; } // Allocate heap space for a JS string, and write it there. // It is the responsibility of the caller to free() that memory. function allocateUTF8(str) { var size = lengthBytesUTF8(str) + 1; var ret = _malloc(size); if (ret) stringToUTF8Array(str, HEAP8, ret, size); return ret; } // Allocate stack space for a JS string, and write it there. function allocateUTF8OnStack(str) { var size = lengthBytesUTF8(str) + 1; var ret = stackAlloc(size); stringToUTF8Array(str, HEAP8, ret, size); return ret; } // Deprecated: This function should not be called because it is unsafe and does not provide // a maximum length limit of how many bytes it is allowed to write. Prefer calling the // function stringToUTF8Array() instead, which takes in a maximum length that can be used // to be secure from out of bounds writes. /** @deprecated */ function writeStringToMemory(string, buffer, dontAddNull) { warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); var /** @type {number} */ lastChar, /** @type {number} */ end; if (dontAddNull) { // stringToUTF8Array always appends null. If we don't want to do that, remember the // character that existed at the location where the null will be placed, and restore // that after the write (below). end = buffer + lengthBytesUTF8(string); lastChar = HEAP8[end]; } stringToUTF8(string, buffer, Infinity); if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character. } function writeArrayToMemory(array, buffer) { HEAP8.set(array, buffer); } function writeAsciiToMemory(str, buffer, dontAddNull) { for (var i = 0; i < str.length; ++i) { HEAP8[((buffer++)>>0)]=str.charCodeAt(i); } // Null-terminate the pointer to the HEAP. if (!dontAddNull) HEAP8[((buffer)>>0)]=0; } function demangle(func) { return func; } function demangleAll(text) { var regex = /__Z[\w\d_]+/g; return text.replace(regex, function(x) { var y = demangle(x); return x === y ? x : (y + ' [' + x + ']'); }); } function jsStackTrace() { var err = new Error(); if (!err.stack) { // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown, // so try that as a special-case. try { throw new Error(0); } catch(e) { err = e; } if (!err.stack) { return '(no stack trace available)'; } } return err.stack.toString(); } function stackTrace() { var js = jsStackTrace(); if (Module['extraStackTrace']) js += '\n' + Module['extraStackTrace'](); return demangleAll(js); } // Memory management var PAGE_SIZE = 16384; var WASM_PAGE_SIZE = 65536; var ASMJS_PAGE_SIZE = 16777216; function alignUp(x, multiple) { if (x % multiple > 0) { x += multiple - (x % multiple); } return x; } var HEAP, /** @type {ArrayBuffer} */ buffer, /** @type {Int8Array} */ HEAP8, /** @type {Uint8Array} */ HEAPU8, /** @type {Int16Array} */ HEAP16, /** @type {Uint16Array} */ HEAPU16, /** @type {Int32Array} */ HEAP32, /** @type {Uint32Array} */ HEAPU32, /** @type {Float32Array} */ HEAPF32, /** @type {Float64Array} */ HEAPF64; function updateGlobalBufferViews() { Module['HEAP8'] = HEAP8 = new Int8Array(buffer); Module['HEAP16'] = HEAP16 = new Int16Array(buffer); Module['HEAP32'] = HEAP32 = new Int32Array(buffer); Module['HEAPU8'] = HEAPU8 = new Uint8Array(buffer); Module['HEAPU16'] = HEAPU16 = new Uint16Array(buffer); Module['HEAPU32'] = HEAPU32 = new Uint32Array(buffer); Module['HEAPF32'] = HEAPF32 = new Float32Array(buffer); Module['HEAPF64'] = HEAPF64 = new Float64Array(buffer); } var STATIC_BASE = 8, STACK_BASE = 1408592, STACKTOP = STACK_BASE, STACK_MAX = 6651472, DYNAMIC_BASE = 6651472, DYNAMICTOP_PTR = 1408320; var TOTAL_STACK = 5242880; var INITIAL_TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216; if (INITIAL_TOTAL_MEMORY < TOTAL_STACK) err('TOTAL_MEMORY should be larger than TOTAL_STACK, was ' + INITIAL_TOTAL_MEMORY + '! (TOTAL_STACK=' + TOTAL_STACK + ')'); // Initialize the runtime's memory // Use a provided buffer, if there is one, or else allocate a new one if (Module['buffer']) { buffer = Module['buffer']; } else { // Use a WebAssembly memory where available { buffer = new ArrayBuffer(INITIAL_TOTAL_MEMORY); } } updateGlobalBufferViews(); HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE; // Endianness check (note: assumes compiler arch was little-endian) function callRuntimeCallbacks(callbacks) { while(callbacks.length > 0) { var callback = callbacks.shift(); if (typeof callback == 'function') { callback(); continue; } var func = callback.func; if (typeof func === 'number') { if (callback.arg === undefined) { Module['dynCall_v'](func); } else { Module['dynCall_vi'](func, callback.arg); } } else { func(callback.arg === undefined ? null : callback.arg); } } } var __ATPRERUN__ = []; // functions called before the runtime is initialized var __ATINIT__ = []; // functions called during startup var __ATMAIN__ = []; // functions called when main() is to be run var __ATEXIT__ = []; // functions called during shutdown var __ATPOSTRUN__ = []; // functions called after the main() is called var runtimeInitialized = false; var runtimeExited = false; function preRun() { // compatibility - merge in anything from Module['preRun'] at this time if (Module['preRun']) { if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; while (Module['preRun'].length) { addOnPreRun(Module['preRun'].shift()); } } callRuntimeCallbacks(__ATPRERUN__); } function ensureInitRuntime() { if (runtimeInitialized) return; runtimeInitialized = true; if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); TTY.init(); SOCKFS.root = FS.mount(SOCKFS, {}, null); callRuntimeCallbacks(__ATINIT__); } function preMain() { FS.ignorePermissions = false; callRuntimeCallbacks(__ATMAIN__); } function exitRuntime() { runtimeExited = true; } function postRun() { // compatibility - merge in anything from Module['postRun'] at this time if (Module['postRun']) { if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; while (Module['postRun'].length) { addOnPostRun(Module['postRun'].shift()); } } callRuntimeCallbacks(__ATPOSTRUN__); } function addOnPreRun(cb) { __ATPRERUN__.unshift(cb); } function addOnInit(cb) { __ATINIT__.unshift(cb); } function addOnPreMain(cb) { __ATMAIN__.unshift(cb); } function addOnExit(cb) { } function addOnPostRun(cb) { __ATPOSTRUN__.unshift(cb); } function unSign(value, bits, ignore) { if (value >= 0) { return value; } return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts : Math.pow(2, bits) + value; } function reSign(value, bits, ignore) { if (value <= 0) { return value; } var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32 : Math.pow(2, bits-1); if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don't do that // but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors // TODO: In i64 mode 1, resign the two parts separately and safely value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts } return value; } // check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) if (!Math.imul || Math.imul(0xffffffff, 5) !== -5) Math.imul = function imul(a, b) { var ah = a >>> 16; var al = a & 0xffff; var bh = b >>> 16; var bl = b & 0xffff; return (al*bl + ((ah*bl + al*bh) << 16))|0; }; if (!Math.clz32) Math.clz32 = function(x) { var n = 32; var y = x >> 16; if (y) { n -= 16; x = y; } y = x >> 8; if (y) { n -= 8; x = y; } y = x >> 4; if (y) { n -= 4; x = y; } y = x >> 2; if (y) { n -= 2; x = y; } y = x >> 1; if (y) return n - 2; return n - x; }; if (!Math.trunc) Math.trunc = function(x) { return x < 0 ? Math.ceil(x) : Math.floor(x); }; var Math_abs = Math.abs; var Math_cos = Math.cos; var Math_sin = Math.sin; var Math_tan = Math.tan; var Math_acos = Math.acos; var Math_asin = Math.asin; var Math_atan = Math.atan; var Math_atan2 = Math.atan2; var Math_exp = Math.exp; var Math_log = Math.log; var Math_sqrt = Math.sqrt; var Math_ceil = Math.ceil; var Math_floor = Math.floor; var Math_pow = Math.pow; var Math_imul = Math.imul; var Math_fround = Math.fround; var Math_round = Math.round; var Math_min = Math.min; var Math_max = Math.max; var Math_clz32 = Math.clz32; var Math_trunc = Math.trunc; // A counter of dependencies for calling run(). If we need to // do asynchronous work before running, increment this and // decrement it. Incrementing must happen in a place like // Module.preRun (used by emcc to add file preloading). // Note that you can add dependencies in preRun, even though // it happens right before run - run will be postponed until // the dependencies are met. var runDependencies = 0; var runDependencyWatcher = null; var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled function getUniqueRunDependency(id) { return id; } function addRunDependency(id) { runDependencies++; if (Module['monitorRunDependencies']) { Module['monitorRunDependencies'](runDependencies); } } function removeRunDependency(id) { runDependencies--; if (Module['monitorRunDependencies']) { Module['monitorRunDependencies'](runDependencies); } if (runDependencies == 0) { if (runDependencyWatcher !== null) { clearInterval(runDependencyWatcher); runDependencyWatcher = null; } if (dependenciesFulfilled) { var callback = dependenciesFulfilled; dependenciesFulfilled = null; callback(); // can add another dependenciesFulfilled } } } Module["preloadedImages"] = {}; // maps url to image data Module["preloadedAudios"] = {}; // maps url to audio data var memoryInitializer = null; // Copyright 2017 The Emscripten Authors. All rights reserved. // Emscripten is available under two separate licenses, the MIT license and the // University of Illinois/NCSA Open Source License. Both these licenses can be // found in the LICENSE file. // Prefix of data URIs emitted by SINGLE_FILE and related options. var dataURIPrefix = 'data:application/octet-stream;base64,'; // Indicates whether filename is a base64 data URI. function isDataURI(filename) { return String.prototype.startsWith ? filename.startsWith(dataURIPrefix) : filename.indexOf(dataURIPrefix) === 0; } // === Body === var ASM_CONSTS = [function($0, $1, $2) { var data = HEAPU8.subarray($1, $1 + $2); var blob = new Blob([data], { type: 'application/octet-stream' }); var name = UTF8ToString($0); if (window.navigator.msSaveBlob) { window.navigator.msSaveBlob(blob, name); return; } var url = window.URL.createObjectURL(blob); var elem = document.createElement('a'); elem.href = url; elem.download = name; elem.style.display = 'none'; document.body.appendChild(elem); elem.click(); document.body.removeChild(elem); window.URL.revokeObjectURL(url); }, function() { FS.syncfs(false, function(err) { if (err) console.log(err); }); }, function($0) { window.open(UTF8ToString($0)); }, function() { Module['websocket']['subprotocol'] = 'ClassiCube'; }, function() { Module['canvas'].style['cursor'] = 'default'; }, function() { Module['canvas'].style['cursor'] = 'none'; }, function($0, $1) { alert(UTF8ToString($0) + "\n\n" + UTF8ToString($1)); }, function() { return screen.width; }, function() { return screen.height; }, function() { window.addEventListener('copy', function(e) { if (window.getSelection && window.getSelection().toString()) return; if (window.cc_copyText) { if (e.clipboardData) { e.clipboardData.setData('text/plain', window.cc_copyText); } else { window.clipboardData.setData('Text', window.cc_copyText); } e.preventDefault(); window.cc_copyText = null; } }); }, function() { window.addEventListener('paste', function(e) { var contents = e.clipboardData ? e.clipboardData.getData('text/plain') : window.clipboardData.getData('Text'); ccall('Window_GotClipboardText', 'void', ['string'], [contents]); }); }, function() { return /iPhone|iPad|iPod|Android/i.test(navigator.userAgent); }, function($0) { document.title = UTF8ToString($0); }, function($0) { window.cc_copyText = UTF8ToString($0); }, function() { var elem = window.cc_inputElem; if (!elem) { elem = document.createElement('textarea'); elem.setAttribute('style', 'position:absolute; left:0; top:0; width:100%; height:100%; opacity:0.3; resize:none; pointer-events:none;'); elem.addEventListener("input", function(ev) { ccall('Window_OnTextChanged', 'void', ['string'], [ev.target.value]); }, false); window.cc_inputElem = elem; document.body.appendChild(elem); } elem.focus(); elem.click(); }, function($0) { if (!window.cc_inputElem) return; var str = UTF8ToString($0); if (str == window.cc_inputElem.value) return; window.cc_inputElem.value = str; }, function() { if (!window.cc_inputElem) return; document.body.removeChild(window.cc_inputElem); window.cc_inputElem = null; }]; function _emscripten_asm_const_i(code) { return ASM_CONSTS[code](); } function _emscripten_asm_const_iii(code, a0, a1) { return ASM_CONSTS[code](a0, a1); } function _emscripten_asm_const_ii(code, a0) { return ASM_CONSTS[code](a0); } function _emscripten_asm_const_iiii(code, a0, a1, a2) { return ASM_CONSTS[code](a0, a1, a2); } // STATICTOP = STATIC_BASE + 1408584; /* global initializers */ __ATINIT__.push({ func: function() { ___emscripten_environ_constructor() } }); memoryInitializer = "data:application/octet-stream;base64,AAAAAAAAAAACAgECAgMEAgMEAgEBAgIBAgQDAgQDAgIBAgMBBAMDBAEDAgEAAAAAAAAAAAAAAAABAAAAAAAAAAMAAAABAAAAAgAAAAAAAAAEAAAAAAAAAAABAAIQBA8RDg4eHhITICEiFRYwMUBBQkNERUZHSElKS0xNTk8NDB0cGBcGBgcJBCQlEAsZMiZQUVJTVDM2Vho1NAAAAAAAAAAAAAAAAAAAAAECAhAEDxEODh4eEhMgISIVFjAxQEFCQ0RFRkdISUpLTE1OTw0MHRw4NwYGBwoEJCUQCzkyJlBRUlNUMzZWOjU0AAAAAAAAAAAAAAAAAAAAAQMCEAQPEQ4OHh4SEyAhIhQWMDFAQUJDREVGR0hJSktMTU5PDQwdHCgnBQUHCCMkJRALKTImUFFSU1QzNlYqNTQAAAAAAAAAAAAAAAAAAAABAAABAAABAQEBAQAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEAAAEBAQABAAAAAAAAAAABAQEBAQAAAAAAAAAAAAAAAAAA/////wEAAADu////EgAAALz+//9EAQAAAAAAAAAAAAAHDhwAwIEDB/8BAAAAAPwHSZIkASRJkgQAAAAAAAAAABBQAgAAAEAAUFACAAAAQACQUAIAAABAANBQAgAAAEAAEFECAAAAQABQUQIAAABAAJBRAgAAAEAAAAAAAAAAAADQUQIAAABAABBSAgAAAEAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwgICAgICAgIBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQERIACAcJBgoFCwQMAw0CDgEPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQICAgIDAwMDBAQEBAUFBQUAAAAAAwAEAAUABgAHAAgACQAKAAsADQAPABEAEwAXABsAHwAjACsAMwA7AEMAUwBjAHMAgwCjAMMA4wACAQAAAAAAAAAAAAABAQICAwMEBAUFBgYHBwgICQkKCgsLDAwNDQAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAAAMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgH//wAAAAABAAIAAwAEAAUABwAJAA0AEQAZACEAMQBBAGEAgQDBAAEBgQEBAgEDAQQBBgEIAQwBEAEYASABMAFAAWD//wAAJX0VAAAAAAA5VwAABQAFAD9XAAAaABoAWlcAAAsACwBmVwAADwAPAHZXAAARABEAiFcAAAkACQCSVwAAEAAQAKNXAAAGAAYAAAAAAAAAAAC4ZQAAqlcAALJXAAC2VwAAwVcAAAAAAAAAAAAAAAAAALhlAADNVwAA2VcAAOBXAAAAAIC/AACAvwAAgL8AAAAAAACAPgAAgD8AAIA/AACAvwAAgL8AAAAAAAAAPwAAgD8AAIA/AACAPwAAgL8AAAAAAAAAPwAAAD8AAIC/AACAPwAAgL8AAAAAAACAPgAAAD8AAIC/AACAvwAAgD8AAAAAAAAAAAAAgD8AAIC/AACAvwAAgL8AAAAAAACAPgAAgD8AAIC/AACAPwAAgL8AAAAAAACAPgAAAD8AAIC/AACAPwAAgD8AAAAAAAAAAAAAAD8AAIA/AACAvwAAgD8AAAAAAABAPwAAgD8AAIC/AACAvwAAgD8AAAAAAACAPwAAgD8AAIC/AACAPwAAgD8AAAAAAACAPwAAAD8AAIA/AACAPwAAgD8AAAAAAABAPwAAAD8AAIA/AACAvwAAgL8AAAAAAAAAPwAAgD8AAIA/AACAvwAAgD8AAAAAAABAPwAAgD8AAIA/AACAPwAAgD8AAAAAAABAPwAAAD8AAIA/AACAPwAAgL8AAAAAAAAAPwAAAD8AAIA/AACAPwAAgL8AAAAAAAAAPwAAAD8AAIA/AACAPwAAgD8AAAAAAAAAPwAAAAAAAIC/AACAPwAAgD8AAAAAAACAPgAAAAAAAIC/AACAPwAAgL8AAAAAAACAPgAAAD8AAIA/AACAvwAAgL8AAAAAAABAPwAAAD8AAIA/AACAvwAAgD8AAAAAAABAPwAAAAAAAIC/AACAvwAAgD8AAAAAAAAAPwAAAAAAAIC/AACAvwAAgL8AAAAAAAAAPwAAAD8KAAxDbGFzc2ljV29ybGQBAA1Gb3JtYXRWZXJzaW9uAQcABFVVSUQAAAAQAAAAAAAAAAAAAAAAAAAAAAIAAVgAAAIAAVkAAAIAAVoAAAoABVNwYXduAgABWAAAAgABWQAAAgABWgAAAQABSAABAAFQAAAHAApCbG9ja0FycmF5AAAAAAAAAAAAAAAAAAAAAAAHAAtCbG9ja0FycmF5MgAAAAAAAAAAAAAAAAAAAAAAAAoACE1ldGFkYXRhCgADQ1BFCgANQ2xpY2tEaXN0YW5jZQIACERpc3RhbmNlAAAACgAORW52V2VhdGhlclR5cGUBAAtXZWF0aGVyVHlwZQAACgAJRW52Q29sb3JzCgADU2t5AgABUgAAAgABRwAAAgABQgAAAAoABUNsb3VkAgABUgAAAgABRwAAAgABQgAAAAoAA0ZvZwIAAVIAAAIAAUcAAAIAAUIAAAAKAAdBbWJpZW50AgABUgAAAgABRwAAAgABQgAAAAoACFN1bmxpZ2h0AgABUgAAAgABRwAAAgABQgAAAAAKABBFbnZNYXBBcHBlYXJhbmNlAQAJU2lkZUJsb2NrAAEACUVkZ2VCbG9jawACAAlTaWRlTGV2ZWwAAAgAClRleHR1cmVVUkwAAAAKABBCbG9ja0RlZmluaXRpb25zAAAAAAAAAAAAAAAAAAoACUJsb2NrAAAAAAEAAklEAAIAA0lEMgAAAQALQ29sbGlkZVR5cGUABQAFU3BlZWQAAAAABwAIVGV4dHVyZXMAAAAMAAAAAAAAAAAAAAAAAQAOVHJhbnNtaXRzTGlnaHQAAQAJV2Fsa1NvdW5kAAEACkZ1bGxCcmlnaHQAAQAFU2hhcGUAAQAJQmxvY2tEcmF3AAcAA0ZvZwAAAAQAAAAABwAGQ29vcmRzAAAABgAAAAAAAAgABE5hbWUAAAAAADhcAABDXAAATlwAAFlcAABlXAAAcVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMWUAABYAFgBIZQAAIgAiAGtlAAAXABcASGUAACIAIgC4ZQAAvWUAAMBlAADDZQAAxmUAAMllAADMZQAAz2UAANJlAADVZQAA2GUAANxlAADgZQAA5GUAAOhlAADsZQAA8GUAAPRlAAD4ZQAA/GUAAABmAAAEZgAACGYAAAxmAAAQZgAAFGYAABhmAAAcZgAAIGYAACRmAAAoZgAALGYAADBmAAA0ZgAAOGYAADxmAABAZgAASmYAAFVmAABhZgAAbmYAAHZmAAB/ZgAAh2YAAJBmAACTZgAA73sAAPR7AACYZgAAoGYAAKhmAACwZgAAuGYAAMBmAADIZgAA0GYAANhmAADgZgAA6GYAAC6OAADvZgAA9GYAAPhmAAD/ZgAAy4UAAAhnAAAKZwAADGcAAA5nAAAQZwAAEmcAABRnAAAWZwAAGGcAABpnAAAcZwAAHmcAACBnAAAiZwAAJGcAACZnAAAoZwAAKmcAACxnAAAuZwAAMGcAADJnAAA0ZwAANmcAADhnAAA6ZwAAPGcAAEJnAABJZwAAT2cAAFlnAABdZwAAZmcAAHFnAAB9ZwAAg2cAAItnAACTZwAAm2cAAKNnAACrZwAAs2cAALtnAADDZwAAy2cAANNnAADbZwAA6GcAAPdnAAAGaAAAEGgAAB5oAAAqaAAAMGgAADZoAAA7aAAAR2gAAFRoAABaaAAAZGgAAGpoAABwaAAAd2gAAIFoAACKaAAAk2gAAJ1oAACoaAAAAAAAAAAAAAAAAAAAV1NBRF1SW1RCRltfJFhaUUUoAwwLBQEHQyaChIMGKAhHCgAAAAAAAAAAAAAAAAAAAFwxMjM0NTY3ODkwdndeX1FXRVJUWVVJT1B4eVsmQVNERkdISktMe3x1JH9aWENWQk5NfX56JQAoXWABAgMEBQYHCAkKZGFsbW5xaWprcmZnaGVzAAAACwwAAAAAAAAAAAAAAA0ODxAREgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcgAAAAAAAAAAAAAAAAAAdCcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG8AACkAAAAAAAAAAAAAAABjADwsPgAuAC8APS0/OjsAAAAAAAAAKisAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANR7AADcewAA73sAAPR7AABEjgAAHH4AALtoAADhewAAEn4AAMRoAADOaAAA12gAAKh7AADiaAAAwHsAAOloAADvaAAA92gAAABpAACYfQAAo30AAAhpAAAUaQAAHGkAACZpAAA0aQAAPmkAAEppAABUaQAAX2kAAGppAAB6aQAAh2kAAJFpAACbaQAAAAAAAAgAEAAgAEAAgAAAAQACAAQACAAQAAAAAAAAAAAAAAAAAQQtAwUREhQsMAYlJicoDA0TFRYXGBkaGxwdHh8gISIjJBAPDiopLy4xAAAAAAAAAQIELQMFBwgJCgsREhQsMAYlJicoDA0TFRYXGBkaGxwdHh8gISIjJBAPDisqKS8uMQAAAAAAAAAAAAAAAAAAAARbEwBUWxMApFsTAPRbEwBEXBMAlFwTAORcEwCsXRMA8F0TADRdEwAAAAAAAAAAAAAAAACc////EnAAAAoAAAAAAAAAzv///x1wAAALAAAAAAAAAAAAAAAzcAAADAAAAAAAAAAyAAAAQXAAAA0AAAAAAAAAlgAAAAt2AAAOAAAAYP///87///8ScAAADwAAAKAAAADO////HXAAABAAAACgAAAAAAAAADNwAAAMAAAAoAAAADIAAABBcAAADQAAAGD///8AAAAAT3AAABEAAABg////MgAAAGZwAAASAAAAYP///5z///+qdQAAEwAAAGD////O////unUAABQAAABg////AAAAAMl1AAAVAAAAYP///zIAAADddQAAFgAAAKAAAADO////6XUAABcAAACgAAAAAAAAAPt1AAAYAAAAoAAAADIAAAALdgAADgAAAGV0AACLdAAAvnQAAO90AAAkdQAATXUAAHt1AAAAAAAA//9q/zR2AAAZAAAALQAAAC4AAAD//5z/R3YAABkAAAAvAAAAMAAAAP//zv9ZdgAAGQAAADEAAAAyAAAA//8AAG52AAAZAAAAMwAAADQAAAD//zIAgnYAABkAAAA1AAAANgAAAAEAav+SdgAAGQAAADcAAAA4AAAAAQCc/6Z2AAAZAAAAOQAAADoAAAABAM7/rnYAABkAAAA7AAAAPAAAAP//av+OdwAAGgAAAD0AAAA+AAAA//+c/5l3AAAaAAAAPwAAAEAAAAD//87/oXcAABoAAABBAAAAQgAAAP//AACpdwAAGgAAAEMAAABEAAAA//8yALZ3AAAaAAAARQAAAEYAAAABAGr/xHcAABoAAABHAAAASAAAAAEAnP/RdwAAGgAAAEkAAABKAAAAAQDO/9x3AAAbAAAASwAAAEwAAAABAAAA5HcAABoAAABNAAAATgAAAAEAMgD0dwAAGgAAAE8AAABQAAAAAAAAAAAAAAD//2r/83kAABkAAABRAAAAUgAAAP//nP8BegAAGgAAAFMAAABUAAAA///O/xJ6AAAZAAAAVQAAAFYAAAD//wAAInoAABoAAABXAAAAWAAAAP//MgAuegAAGQAAAFkAAABaAAAAAQBq/z56AAAZAAAAWwAAAFwAAAABAJz/UnoAABkAAABdAAAAXgAAAAEAzv9kegAAGQAAAF8AAABgAAAAAQAAAHV6AAAZAAAAYQAAAGIAAAABADIAgnoAABoAAABjAAAAZAAAAAAAAAAAAAAA1HsAANx7AABEjgAA4XsAAPx9AAAGfgAA73sAAPR7AAASfgAAAHwAABx+AAAkfgAAvXwAALd8AACwfAAArHwAAP//av8UfAAAGQAAAGoAAABrAAAA//+c/xp8AAAZAAAAbAAAAG0AAAD//87/J3wAABsAAABuAAAAbwAAAP//AAA3fAAAGQAAAHAAAABxAAAAAQBq/0V8AAAZAAAAcgAAAHMAAAABAJz/S3wAABkAAAB0AAAAdQAAAAEAzv9UfAAAGQAAAHYAAAB3AAAAAQAAAGF8AAAbAAAAeAAAAHkAAAAAADwA83kAABkAAAB6AAAAewAAAAAAAAAAAAAAAAAAANR7AADcewAARI4AAOF7AADmewAA73sAAPR7AAD6ewAAAHwAAAt8AAAAAAAAAAAAAKh7AACuewAAtXsAAMB7AADEewAAy3sAAAAAAAAAAAAAqHsAAK57AAC1ewAA430AAMB7AADEewAAy3sAAO99AABbfQAAan0AAHN9AAB8fQAAjX0AAJh9AACjfQAArn0AAL59AADKfQAA2H0AAFJ6AAD//87/YXwAABsAAAB4AAAAeQAAAP//AACfgQAAGgAAAHwAAAB9AAAA//8yAK2BAAAZAAAAfgAAAH8AAAABAM7/v4EAABsAAACAAAAAgQAAAAEAAADFgQAAGwAAAIIAAACDAAAAAQAyAM2BAAAZAAAAhAAAAIUAAAAAAAAAAAAAAP//av8LggAAGQAAAIYAAACHAAAA//+c/0t8AAAZAAAAiAAAAIkAAAD//87/HoIAABoAAACKAAAAiwAAAP//AAArggAAGgAAAIwAAACNAAAA//8yADuCAAAZAAAAjgAAAI8AAAABAGr/TYIAABkAAACQAAAAkQAAAAEAnP9cggAAGgAAAJIAAACTAAAAAQDO/2eCAAAaAAAAlAAAAJUAAAABAAAAcoIAABkAAACWAAAAlwAAAAEAMgCCggAAHAAAAAAAAAAAAAAAAAAAAAAAAAD//5z/SYMAABoAAACYAAAAmQAAAP//zv9YgwAAGgAAAJoAAACbAAAA//8AAGWDAAAaAAAAnAAAAJ0AAAD//zIAVHwAABkAAACeAAAAnwAAAAEAnP83fAAAGQAAAKAAAAChAAAAAQDO/3ODAAAZAAAAogAAAKMAAAABAAAAGnwAABkAAACkAAAApQAAAAEAMgCHgwAAGgAAAKYAAACnAAAACHUTAFh1EwCodRMA+HUTAEh2EwCYdhMA6HYTADh3EwB8dxMAAAAAAAAAAAAAAAAAoH0TAPB9EwBAfhMAkH4TAHSAEwC4gBMA/IATAECBEwDUfxMAJIATAAAAAAAAAAAA/IMTAECEEwCEhBMAyIQTALyCEwAMgxMAXIMTAKyDEwBg////zv///+F7AAAdAAAAYP///wAAAACoewAAHgAAAGD///8yAAAAwHsAAB8AAABg////ZAAAAMuFAAAgAAAAoAAAAM7///8SfgAAIQAAAKAAAAAAAAAAo30AACIAAACgAAAAMgAAAK57AAAjAAAAoAAAAGQAAADQhQAAJAAAAAAAAQAAAgEAAgEAAQMAAQMAAgIAAgIAAQAAAAAAAQMAAQMAAAAAAwAAAgMAAgMAAwADAQADAgEDAgEDAQMDAQMDAgIDAgIDAQADAAADAQMDAQMDAAADAwADAgMDAgMDAwABAAACAAACAQABAQABAwACAwACAgABAgAAAAABAAABAwAAAwADAAACAAACAwADAwMBAAMCAAMCAQMBAQMBAwMCAwMCAgMBAgMAAAMBAAMBAwMAAwMDAAMCAAMCAwMDAwABAAACAAECAAEBAAMBAAMCAAICAAIBAAAAAAABAAMBAAMAAAADAAACAAMCAAMDAAABAwACAwECAwEBAwMBAwMCAwICAwIBAwAAAwABAwMBAwMAAwADAwACAwMCAwMDAzeKAABFigAAYIkAAFKKAABbigAAd4kAAGaKAABwigAAhYkAAICKAACiiQAAjIoAAGqJAACbigAAlokAAMKJAACziQAAJooAAMyJAACnigAAt4oAAMKKAADPigAA4IkAAPOJAADeigAA7YoAAP6JAAD5igAAA4sAABGLAAAGigAAF4oAAAAAAAAAAAAAAAAAADuOAAACKAoAWgAAAD2OAAADKJYAWgAAAD+OAAAAKFAAMgAAAEGOAAABKFAAggAAAESOAAAEZDIAMgAAACV9FQAjZDIAWgAAAEmOAAAjZDIAggAAAAAAAAAAAAAAAAAAABQeFQBkHhUAtB4VAAQfFQBUHxUApB8VAPQfFQAAAAAAAAAAAAABAQABAQAAAAEAAAEBAQEBAQEAAAAAAAEAAQEAAQAAAAABAAEBAQEBAQABAAAAAAEAAAEBAAABAQAAAQEAAQEBAQABAAAAAAAAAAAAAAABAAABAAABAAEBAAEAAAEAAAEAAAAAAQABAQABAQABAQEBAQEAAQEAAQEAAQAAAAAAAQABAAABAQABAAEBAQEAAAEAAQEAAAAAAAAAAAAAOiY7JmUmZiZjJmAmIiDYJcsl2SVCJkAmaiZrJjwmuiXEJZUhPCC2AKcArCWoIZEhkyGSIZAhHyKUIbIlvCUCI8cA/ADpAOIA5ADgAOUA5wDqAOsA6ADvAO4A7ADEAMUAyQDmAMYA9AD2APIA+wD5AP8A1gDcAKIAowClAKcgkgHhAO0A8wD6APEA0QCqALoAvwAQI6wAvQC8AKEAqwC7AJElkiWTJQIlJCVhJWIlViVVJWMlUSVXJV0lXCVbJRAlFCU0JSwlHCUAJTwlXiVfJVolVCVpJWYlYCVQJWwlZyVoJWQlZSVZJVglUiVTJWslaiUYJQwliCWEJYwlkCWAJbED3wCTA8ADowPDA7UAxAOmA5gDqQO0Ax4ixgO1AykiYSKxAGUiZCIgIyEj9wBIIrAAGSK3ABoifyCyAKAloAAAAAAAAAAAAAAAAAAAAAAAAACWMAd3LGEO7rpRCZkZxG0Hj/RqcDWlY+mjlWSeMojbDqS43Hke6dXgiNnSlytMtgm9fLF+By2455Edv5BkELcd8iCwakhxufPeQb6EfdTaGuvk3W1RtdT0x4XTg1aYbBPAqGtkevli/ezJZYpPXAEU2WwGY2M9D/r1DQiNyCBuO14QaUzkQWDVcnFnotHkAzxH1ARL/YUN0mu1CqX6qLU1bJiyQtbJu9tA+bys42zYMnVc30XPDdbcWT3Rq6ww2SY6AN5RgFHXyBZh0L+19LQhI8SzVpmVus8Ppb24nrgCKAiIBV+y2QzGJOkLsYd8by8RTGhYqx1hwT0tZraQQdx2BnHbAbwg0pgqENXviYWxcR+1tgal5L+fM9S46KLJB3g0+QAPjqgJlhiYDuG7DWp/LT1tCJdsZJEBXGPm9FFra2JhbBzYMGWFTgBi8u2VBmx7pQEbwfQIglfED/XG2bBlUOm3Euq4vot8iLn83x3dYkkt2hXzfNOMZUzU+1hhsk3OUbU6dAC8o+Iwu9RBpd9K15XYPW3E0aT79NbTaulpQ/zZbjRGiGet0Lhg2nMtBETlHQMzX0wKqsl8Dd08cQVQqkECJxAQC76GIAzJJbVoV7OFbyAJ1Ga5n+Rhzg753l6YydkpIpjQsLSo18cXPbNZgQ20LjtcvbetbLrAIIO47bazv5oM4rYDmtKxdDlH1eqvd9KdFSbbBIMW3HMSC2PjhDtklD5qbQ2oWmp6C88O5J3/CZMnrgAKsZ4HfUSTD/DSowiHaPIBHv7CBmldV2L3y2dlgHE2bBnnBmtudhvU/uAr04laetoQzErdZ2/fufn5776OQ763F9WOsGDoo9bWfpPRocTC2DhS8t9P8We70WdXvKbdBrU/SzaySNorDdhMGwqv9koDNmB6BEHD72DfVd9nqO+ObjF5vmlGjLNhyxqDZryg0m8lNuJoUpV3DMwDRwu7uRYCIi8mBVW+O7rFKAu9spJatCsEarNcp//XwjHP0LWLntksHa7eW7DCZJsm8mPsnKNqdQqTbQKpBgmcPzYO64VnB3ITVwAFgkq/lRR6uOKuK7F7OBu2DJuO0pINvtXlt+/cfCHf2wvU0tOGQuLU8fiz3Whug9ofzRa+gVsmufbhd7Bvd0e3GOZaCIhwag//yjsGZlwLARH/nmWPaa5i+NP/a2FFz2wWeOIKoO7SDddUgwROwrMDOWEmZ6f3FmDQTUdpSdt3bj5KatGu3FrW2WYL30DwO9g3U668qcWeu95/z7JH6f+1MBzyvb2KwrrKMJOzU6ajtCQFNtC6kwbXzSlX3lS/Z9kjLnpms7hKYcQCG2hdlCtvKje+C7ShjgzDG98FWo3vAi1UISIZDQECAxFLHAwQBAsdEh4naG5vcHFiIAUGDxMUFRoIFgcoJBcYCQoOGx8lI4OCfSYqKzw9Pj9DR0pNWFlaW1xdXl9gYWNkZWZnaWprbHJzdHl6e3wAAAAAAAAAAABJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAAAAAAN9MAAAHAAcA9W8AAAUABQBQyQUAAABAANGTAAALAAsAAAAAAAAA0D8BAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAABAAAAAAAAAAAAAAAAAAAAAAAAAD/AAD/AAD//wD/AP8FAAAABgAAAAcAAAAAAAAAAAAAAAAAAAAAAAA/AAAAAAAAAD/wSgAA7gHuAQgAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAQEAAAEBAAAAAAAEAAAACAAAAAwAAAAEAAAABAAAAAQAAAAoAAAALAAAABAAAAAEAAAAAAAAAAQAAAAEAAAACAAAABQAAAAIAAAABAAAAAQAAAAoAAAALAAAABAAAAAIAAAAAAAAAAQAAAAEAAAACAAAABQAAAAIAAAABAAAAAQAAAAoAAAALAAAABAAAAAIAAAAAAAAAUFICAAAAQACQUgIADAAAAA0AAAAOAAAAAAAAAAAAAAAAAAAAAAEAAKlVAAACAAAAAAAAALFVAADDVQAAAAAAAAAAAAAAAAAAAAAAADBUAAADAAAAAAAAADVUAABTVAAAAAAAAAAAAAAAAAAAAAAAACtSAAAEAAAAAAAAADZSAABmUgAArFIAAAlTAABZUwAAAAAAADZRAAAFAAAAAAAAAEFRAABnUQAAAAAAAAAAAAAAAAAAAAAAAHJQAAAGAAAAAQAAAHhQAACPUAAAxVAAAAAAAAAAAAAAAAAAAJ1OAAAHAAAAAQAAAKROAADHTgAAAU8AADlPAABwTwAAAAAAAOtNAAAIAAAAAQAAAO5NAAADTgAAAAAAAAAAAAAAAAAAAAAAAGlNAAAJAAAAAAAAAHVNAACLTQAAAAAAAAAAAAAAAAAAAAAAAP////+2TwAAJAAkAPdVAAAIAAgA71UAAAcABwD3VQAACAAIAO9VAAAHAAcAkFoCAAAAQAAPAAAAEAAAABEAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAAAASAAAAEwAAAAAAAAAAAAAAAAAAAAMAAAAGAAAAAQAAAAEAAAABAAAABwAAABQAAAAVAAAAFgAAABcAAAAAAAAAAAAAAAQAAAAGAAAAAgAAAAEAAAACAAAACAAAAEKGAAAIAAgA/4UAAAUABQAAAIA8AAAAAAAAgDwPWQAABAAEAM3MTD/NzEw/zcxMPwAAAD8AAAA/AAAAPwAAAD+amVk/AAAAP1FZBOlRWQTpUVkE6RgAAAAZAAAAGgAAABoAAAAbAAAAAAAAALZxAAADAAMA51sAAAUABQBwxwUAAAAEAYDIBQAAAEAA5V0AAAsACwD/////EAAAABgAAAD/////AACAvwAAgL8kZAAAFgAWABwAAAAdAAAAHgAAAAAAAAAAAAAAAAAAAB8AAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAP+FAAAFAAUAH4XrPrgeBb/sUTi/KVwPP+xROL/sUTi/IQAAACIAAAAjAAAAAAAAAAAAAAAAAAAAoGUAAK5lAAAAAAAA/f/////////laQAABwAHAAAAgL8kAAAAAAAAACUAAAAAAAAAAAAAAAAAAAAAAAAAJgAAACYAAAAmAAAAJwAAAAAAAACvawAACQAAACgAAAApAAAAKgAAACoAAAArAAAAAAAAAFFZBGlRWQRpUVkEaf///3////9/////fwwAAAAKAAAABQAAAAsAAAAGAAAADAAAAAEAAAACAAAAAwAAAAQAAAABAAAAAgAAAAMAAAABAAAADQAAAA4AAAAPAAAAEAAAAAUAAAARAAAABwAAABIAAAAFAAAAAgAAAAMAAAAEAAAAAQAAAAIAAAADAAAAAgAAAA0AAAATAAAAFAAAAIpwAAAEAAQAhHAAAAUABQCAcAAAAwADABUAAAAFAAAAFgAAAAgAAAAXAAAABgAAAAIAAAAHAAAACAAAAAEAAAACAAAAAwAAAAIAAAANAAAAGAAAABkAAAB+iAAACAAIANqVAAAEAAQAGgAAAAUAAAAWAAAACQAAABsAAAAJAAAAAgAAAAoAAAALAAAAAQAAAAIAAAADAAAAAgAAAA0AAAAcAAAAHQAAALZxAAADAAMAeYgAAAQABAAeAAAABQAAABYAAAAHAAAAHwAAAAwAAAACAAAADQAAAA4AAAAEAAAAAgAAAAMAAAACAAAADQAAACAAAAAhAAAAIgAAAAUAAAAjAAAACgAAACQAAAAFAAAAAgAAAAMAAAAEAAAAAQAAAAIAAAAFAAAAAgAAAA0AAAAlAAAAJgAAACcAAAAFAAAAKAAAAAsAAAApAAAADwAAAAIAAAAQAAAAEQAAAAEAAAACAAAABgAAAAIAAAAqAAAAKwAAACwAAABlAAAABQAAAGYAAAAHAAAAZwAAABIAAAACAAAAAwAAAAQAAAABAAAAAgAAAAMAAAACAAAADQAAAGgAAABpAAAAN30AAER9AABPfQAAqAAAAAUAAABmAAAACgAAAKkAAAAFAAAAAgAAAAMAAAAEAAAAAQAAAAIAAAADAAAAAgAAAA0AAAATAAAAqgAAAKsAAAAFAAAAZgAAAAwAAACsAAAAEwAAABQAAAAVAAAAFgAAAAEAAAACAAAAAwAAAAIAAAANAAAArQAAAK4AAADrgwAACgAKAOmDAAABAAEArwAAAAUAAABmAAAACgAAALAAAAAFAAAAAgAAAAMAAAAEAAAAAQAAAAIAAAADAAAAAgAAAA0AAAATAAAAsQAAALIAAAANAAAAZgAAAAoAAACzAAAABQAAAAIAAAADAAAABAAAAAEAAAACAAAAAwAAAAIAAAANAAAAtAAAALUAAADflQAACAAIAOiVAAAHAAcAtgAAAAUAAABmAAAABwAAALcAAAAFAAAAAgAAAAMAAAAEAAAAAQAAAAIAAAADAAAAAgAAAA0AAAATAAAAuAAAACwAAAAtAAAAAAAAAAAAAAAAAAAAAAAAAKaGAAAAAAAAAAAAAAAAAACahgAAAAAAAAAAAAAAAAAAjoYAAAAAAAAAAAAAAAAAAIaGAAAAAAAAAAAAAAAAAAB8hgAAAAAAAAAAAAAAAAAAboYAAAAAAAAAAAAAAAAAAGGGAAAAAAAAAAAAAAAAAABWhgAAAAAAAAAAAAAAAAAAS4YAAAAAAAAAAAAAAAAAAEKGAADQDgYA4DEAAC4AAAC5AAAAAQAAAAIAAAC6AAAAuwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6hgAAUHkGAPAxAAAvAAAAvAAAAAMAAAAEAAAAvQAAAL4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMoYAAFBwBgAAMgAAMAAAAL8AAAAFAAAABgAAAMAAAADBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC6GAABQZwYAEDIAADEAAADCAAAABwAAAAgAAADDAAAAxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAohgAAUFUGACAyAAAyAAAAxQAAAAkAAAAKAAAAxgAAAMcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHIYAAFBVBgAgMgAAMgAAAMgAAAAJAAAACgAAAMYAAADHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOGAABQTAYAQDIAADMAAADJAAAAAQAAAAIAAADKAAAAywAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMhgAA0EQGAFAyAAA0AAAAzAAAAAsAAAAMAAAAzQAAAM4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYYAANAOBgBgMgAANQAAAM8AAAABAAAAAgAAALoAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+FAAAAAAAA4DEAADUAAADRAAAADQAAAA4AAADSAAAA0wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD5hQAA0CkGAOAxAAA2AAAA1AAAAA8AAAAQAAAA1QAAANYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9IUAANAOBgDgMQAANQAAANcAAAABAAAAEQAAANgAAADZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPCFAADQDgYA4DEAADUAAADaAAAAAQAAABIAAADbAAAA3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/AAAAAAAAgL4AAAA/AACwPwAAgD6amQk/zcyQP5qZCT8AAIC+AAAAAAAAgL4AAIA+AAAAPwAAgD7NzPw+zcz8Ps3M/D4AAIC+AAAAAAAAgL4AAIA+AACAPwAAgD4zM5M+zcygPzMzkz4AAAAACAgIAAAAgL4AAEA/AACAvgAAgD4AAKA/AACAPgAAAAAAAFA/AAAAACAAAAAICAgAAACIvgAAPD8AAIi+AACIPgAAoj8AAIg+AAAAAAAAUD8AAAAAAABAPQAAQD0AAEA9/////5qZCT/NzOA/mpkJPwAAoL4AAAAAAAAwvwAAoD4AAEA/AABwPwAAcD8AAEA/AABwPyAABAAICAgAAACAvgAAgD4AADC/AACAPgAAQD8AAEC+AAAAAAAAAD8AAEC+AAAAAAYGBgAAAEC+AACgPgAAQD4AAEA+AAAwPwAAQL4AAAAAAACgPgAAAAAAAAwACggMAAAAoL4AAIA+AABAPgAAoD4AAEA/AABwPwAAAAAAAIA+AAAQPxIAAAAQAgIAAACYvwAA4D4AAIC9AABAvgAAED8AAIA9AABAvgAAAD8AAAAAEgAAABACAgAAAEA+AADgPgAAgL0AAJg/AAAQPwAAgD0AAEA+AAAAPwAAAAAAAIC+AAAAAAAAgL4AAIA+AAAAQAAAgD4AAAA/zczgPwAAAD8AAAAACAgIAAAAgL4AAMA/AACAvgAAgD4AAABAAACAPgAAAAAAAMA/AAAAABAAEAAIDAQAAACAvgAAQD8AAAC+AACAPgAAwD8AAAA+AAAAAAAAQD8AAAAAAAAQAAIMAgAAAIC9AAAAAAAAgL0AAEC+AABAPwAAgD0AAAAAAABAPwAAAAAAABAAAgwCAAAAgD0AAAAAAACAvQAAQD4AAEA/AACAPQAAAAAAAEA/AAAAACgAEAACDAIAAACAvgAAQD8AAIC9AADAvgAAwD8AAIA9AACgvgAAuD8AAAAAKAAQAAIMAgAAAIA+AABAPwAAgL0AAMA+AADAPwAAgD0AAKA+AAC4PwAAAAAAAMC+AAAAAAAAUL8AAMA+AAC4PwAAID8AACA/AACgPwAAID8AAAAABgYIAAAAQL4AAIA/AABgvwAAQD4AALA/AADAvgAAAAAAAJA/AAAAvxwACAAIBhAAAACAvgAAQD8AAAC/AACAPgAAkD8AAAA/AAAAAAAAQD8AAAAAAAAQAAQMBAAAAKC+AAAAAAAA4L4AAIC9AABAPwAAQL4AAAAAAABAPwAAoL4AABAABAwEAAAAgD0AAAAAAADgvgAAoD4AAEA/AABAvgAAAAAAAEA/AACgvgAAEAAEDAQAAACgvgAAAAAAAKA+AACAvQAAQD8AABA/AAAAAAAAQD8AAOA+AAAQAAQMBAAAAIA9AAAAAAAAoD4AAKA+AABAPwAAED8AAAAAAABAPwAA4D4AAAAABgYGAAAAYL4AAHg/AABIvwAAYD4AALQ/AACwvgAAAAAAAJA/AAAAvxwACAAIBhAAAADAvgAAKD8AACC/AADAPgAAnD8AACA/AAAAAAAAQD8AAAAAAAAQAAQGBAAAALC+AACwPgAA8L4AAAC9AABIPwAAIL4AAAAAAABAPwAAoL4AABAABAYEAAAAAD0AALA+AADwvgAAsD4AAEg/AAAgvgAAAAAAAEA/AACgvgAAEAAEBgQAAACwvgAAsD4AAJA+AAAAvQAASD8AABg/AAAAAAAAQD8AAOA+AAAQAAQGBAAAAAA9AACwPgAAkD4AALA+AABIPwAAGD8AAAAAAABAPwAA4D4AAKC+AAAAAAAAYL8AAKA+AACAPwAAED8AAGA/AABgPwAAYD8AAAAACAgIAAAAgL4AAAA/AABgvwAAgD4AAIA/AADAvgAAAAAAAEA/AADAvhwACAAKCBAAAACgvgAAwD4AAAC/AACgPgAAYD8AAAA/AAAAAAAAwD4AAAAAAAAQAAQGBAAAAKC+AAAAAAAA4L4AAIC9AADAPgAAQL4AAAAAAADAPgAAoL4AABAABAYEAAAAgD0AAAAAAADgvgAAoD4AAMA+AABAvgAAAAAAAMA+AACgvgAAEAAEBgQAAACgvgAAAAAAAKA+AACAvQAAwD4AABA/AAAAAAAAwD4AAOA+AAAQAAQGBAAAAIA9AAAAAAAAoD4AAKA+AADAPgAAED8AAAAAAADAPgAA4D4AAIC+AAAAAAAAwL4AAIA+AADQPwAAwD4AAAA/AADQPwAAAD8AAAAACAgIAAAAgL4AAJA/AACAvgAAgD4AANA/AACAPgAAAAAAAJA/AAAAABAAEAAIDAQAAACAvgAAwD4AAAC+AACAPgAAkD8AAAA+AAAAAAAAwD4AAAAAAAAQAAQGBAAAAIC+AAAAAAAAwL4AAAAAAADAPgAAAL4AAAAAAADAPgAAAL4AABAABAYEAAAAAAAAAAAAAADAvgAAgD4AAMA+AAAAvgAAAAAAAMA+AAAAvgAAEAAEBgQAAACAvgAAAAAAAAA+AAAAAAAAwD4AAMA+AAAAAAAAwD4AAAA+AAAQAAQGBAAAAAAAAAAAAAAAAD4AAIA+AADAPgAAwD4AAAAAAADAPgAAAD4AAIC+AAAAAAAAAL8AAIA+AABwPwAAgD4AAAA/AABAPwAAAD8AAAAABAYDAAAAAL4AABA/AADAvgAAAD4AAHA/AABAvgAAAAAAABA/AACAvg4ABAACAgIAAACAvQAAED8AAOC+AACAPQAAMD8AAKC+AAAAAAAAED8AAIC+DgAAAAQCAgAAAAC+AAAwPwAAAL8AAAA+AABQPwAAwL4AAAAAAAAQPwAAgL4AAAkABgYHAAAAQL4AAKA+AACAvgAAQD4AADA/AABAPgAAAAAAAKA+AAAAABgADQABBAYAAACAvgAA4D4AAEC+AABAvgAAMD8AAEA+AABAvgAAMD8AAAAAGAANAAEEBgAAAEA+AADgPgAAQL4AAIA+AAAwPwAAQD4AAEA+AAAwPwAAAAAAAAC/AAAAAAAAgL4AAAA/AAAAQAAAgD4AAAAACAgIAAAAgL4AAMA/AACAvgAAgD4AAABAAACAPgAAAAAAAMA/AAAAABAAEAAIDAQAAACAvgAAQD8AAAC+AACAPgAAwD8AAAA+AAAAAAAAQD8AAAAAIAAAAAgICAAAAJC+AAC8PwAAkL4AAJA+AAACQAAAkD4AAAAAAADAPwAAAAAQACAACAwEAAAAkL4AADg/AAAgvgAAkD4AAMQ/AAAgPgAAAAAAAEA/AAAAAAAAEAAEDAQAAAAAAAAAAAAAAAC+AACAvgAAQD8AAAA+AAAAAAAAQD8AAAAAAAAQAAQMBAAAAAAAAAAAAAAAAL4AAIA+AABAPwAAAD4AAAAAAABAPwAAAAAoABAABAwEAAAAgL4AAEA/AAAAvgAAAL8AAMA/AAAAPgAAoL4AALA/AAAAACgAEAAEDAQAAACAPgAAQD8AAAC+AAAAPwAAwD8AAAA+AACgPgAAsD8AAAAAEAAwAAQMBAAAAIC+AAAAAAAAAL4AAAAAAABAPwAAAD4AAAAAAABAPwAAAAAgADAABAwEAAAAAL8AAEA/AAAAvgAAgL4AAMA/AAAAPgAAoL4AALA/AAAAAAAAMAAEDAQAAACQvgAAAL0AACC+AAAAPQAASD8AACA+AAAAAAAAQD8AAAAAAAAgAAQMBAAAAAC9AAAAvQAAIL4AAJA+AABIPwAAID4AAAAAAABAPwAAAAAwADAABAwEAAAACL8AADg/AAAgvgAAYL4AAMQ/AAAgPgAAoL4AALA/AAAAACgAIAAEDAQAAABgPgAAOD8AACC+AAAIPwAAxD8AACA+AACgPgAAsD8AAAAA0pAAAAUABQDYkAAABAAEADcAAAA4AAAAOQAAADkAAAAAAAAAAAAAAAAAgDwAAOA9AAAgPQAAAD5wiAcAQAAAADoAAAA7AAAAAAAAAAAAAAAAAAAAAAAAAP///////////////83MzD3NzMw9zczMPQIAAABzAAAACwAAAPCTBwAAACAAAgAAAAIAAAA1iwAACQAJAEuPAAAfAB8AT4sAAA0ADQBCiwAADAAMAF2LAAAHAAcAqYsAABYAFgAhjAAABAAEAGYAAAAFAAAAZgAAAA4AAADdAAAAFAAAABQAAAAVAAAAFgAAAAcAAAAHAAAABwAAAAMAAABmAAAA3gAAAN8AAAC3jAAADwAPAKyMAAAKAAoA4AAAAAUAAADhAAAADwAAAOIAAAAXAAAAGAAAABkAAAAaAAAACAAAAAcAAAAHAAAABAAAAOMAAADkAAAA5QAAAK6VAAABAAEA5gAAAAUAAADnAAAAEAAAAOgAAAAbAAAAHAAAAAMAAAAEAAAACQAAAAoAAAALAAAABQAAAOkAAADqAAAA6wAAAO2eAAALAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHA9AABwPewAAAAFAAAA7QAAABEAAADuAAAAAgAAAAIAAAADAAAABAAAAAIAAAACAAAAAgAAAAIAAADvAAAA8AAAAPEAAADyAAAABQAAAO0AAAASAAAA7gAAAAIAAAACAAAAAwAAAAQAAAACAAAAAgAAAAcAAAACAAAA7wAAAPAAAADxAAAAfo0AABAAEABxjQAADAAMACaOAAAHAAcAHo4AAAcABwDzAAAAEwAAAPQAAAAUAAAA9QAAAAUAAAACAAAAAwAAAAQAAAAMAAAAAgAAAA0AAAACAAAADQAAAPYAAAD3AAAA2K8IABywCABwrwgA+AAAAAUAAABmAAAAFQAAAPkAAAAUAAAAFAAAABUAAAAWAAAADgAAAA8AAAAHAAAAAwAAAA0AAAD6AAAA+wAAADwAAAA9AAAAPgAAAD4AAAAAAAAAAAAAAD8AAABAAAAAQQAAAEIAAAAAAAAAAAAAAEuPAAAfAB8ALI8AAB4AHgAfjwAADAAMAAOPAAAbABsA7Z4AAAsACwCQjwAADQANAGuPAAAkACQA2I8AADgAOAAnkAAADAAMAEMAAABEAAAAAAAAAAAAAAAAAAAAAAAAANqVAAAEAAQA6JUAAAcABwDflQAACAAIAAAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8lAAAAHQAAAB4AAAAfAAAAJgAAACcAAAAgAAAAIQAAACIAAAAoAAAAKQAAACAAAAAhAAAAIgAAACoAAAArAAAAIwAAACQAAAAlAAAALAAAAC0AAAAmAAAAJwAAACcAAAAqAAAALgAAACgAAAApAAAAKQAAACoAAAAWAAAA/AAAAP0AAAAqAAAAKgAAAAYAAAAQAAAAEAAAABEAAAAvAAAAKwAAABcAAAD+AAAA/wAAACoAAAAqAAAABgAAABAAAAAQAAAAEQAAADAAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAArD4AAEg/AADUPgAAAAAAAAAAAAAAAAAAAAAAAIQ+AABIPwAArD4AAAAAAAAAAAAAAAAAAAAAAAA4PgAASD8AAIQ+GAAAAAABAAABAQAAKgAAACoAAAAHAAAAEgAAABMAAAAUAAAAAAAAAAAAAAAZAAAAAAEAAAIBAAAtAAAALgAAAAgAAAAVAAAAEAAAABEAAAAAAAAAAAAAABoAAAADAQAABAEAAC8AAAAqAAAACQAAABYAAAAXAAAAGAAAAAAAAAAAAAAALJcAAAEAAQAbAAAABQEAAAYBAAAwAAAAMQAAAAYAAAAZAAAAEAAAABEAAAAAAAAAAAAAABwAAAAFAQAABgEAADIAAAAxAAAABgAAABkAAAAQAAAAEQAAAAAAAAAAAAAALpcAAAIAAgAdAAAABwEAAAgBAAAqAAAAKgAAAAYAAAAQAAAAEAAAABEAAAAAAAAAAAAAAB4AAAAJAQAACgEAACoAAAAqAAAABgAAABAAAAAQAAAAEQAAAAAAAAAAAAAAHwAAAAsBAAAMAQAAKgAAACoAAAAGAAAAGgAAABAAAAARAAAAAAAAAAAAAAAZmAAABwAHABSYAAAEAAQA9JcAAB8AHwDrlwAACAAIALmXAAAxADEAsZcAAAcABwCPlwAAIQAhAImXAAAFAAUAWpcAAC4ALgAAAIA/AACAP8qeAADQngAA1p4AAFArCAAAAEAA7Z4AAAsACwABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMfBUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAIACAAAACJmNNdXNpYyBpcyBub3Qgc3VwcG9ydGVkIGN1cnJlbnRseQAmY1NvdW5kcyBhcmUgbm90IHN1cHBvcnRlZCBjdXJyZW50bHkAYml0bWFwIGRhdGEAQWlyX1N0b25lX0dyYXNzX0RpcnRfQ29iYmxlc3RvbmVfV29vZF9TYXBsaW5nX0JlZHJvY2tfV2F0ZXJfU3RpbGwgd2F0ZXJfTGF2YV9TdGlsbCBsYXZhX1NhbmRfR3JhdmVsX0dvbGQgb3JlX0lyb24gb3JlX0NvYWwgb3JlX0xvZ19MZWF2ZXNfU3BvbmdlX0dsYXNzX1JlZF9PcmFuZ2VfWWVsbG93X0xpbWVfR3JlZW5fVGVhbF9BcXVhX0N5YW5fQmx1ZV9JbmRpZ29fVmlvbGV0X01hZ2VudGFfUGlua19CbGFja19HcmF5X1doaXRlX0RhbmRlbGlvbl9Sb3NlX0Jyb3duIG11c2hyb29tX1JlZCBtdXNocm9vbV9Hb2xkX0lyb25fRG91YmxlIHNsYWJfU2xhYl9Ccmlja19UTlRfQm9va3NoZWxmX01vc3N5IHJvY2tzX09ic2lkaWFuX0NvYmJsZXN0b25lIHNsYWJfUm9wZV9TYW5kc3RvbmVfU25vd19GaXJlX0xpZ2h0IHBpbmtfRm9yZXN0IGdyZWVuX0Jyb3duX0RlZXAgYmx1ZV9UdXJxdW9pc2VfSWNlX0NlcmFtaWMgdGlsZV9NYWdtYV9QaWxsYXJfQ3JhdGVfU3RvbmUgYnJpY2sASW52YWxpZAAtVUQALVdFAC1OUwAtRQAtUwAtVwAtTgAtVQAtRAAtTlcALU5FAC1TVwAtU0UAJmNUb28gbWFueSBwaHlzaWNzIGVudHJpZXMsIGNsZWFyaW5nAHBoeXNpY3MgdGljayBxdWV1ZQBjaHVuayB2ZXJ0aWNlcwBjaGF0LWxvZ2dpbmcAQ2xlYXJEZW5pZWQAJmEvY2xpZW50IGNsZWFyZGVuaWVkACZlQ2xlYXJzIHRoZSBsaXN0IG9mIHRleHR1cmUgcGFjayBVUkxzIHlvdSBoYXZlIGRlbmllZABSZW1vdmVkICZlJWkgJmZkZW5pZWQgdGV4dHVyZSBwYWNrIFVSTHMuAFRQACZhL2NsaWVudCB0cCBbeCB5IHpdACZlTW92ZXMgeW91IHRvIHRoZSBnaXZlbiBjb29yZGluYXRlcy4AJmUvY2xpZW50IHRlbGVwb3J0OiAmY1lvdSBkaWRuJ3Qgc3BlY2lmeSBYLCBZIGFuZCBaIGNvb3JkaW5hdGVzLgAmZS9jbGllbnQgdGVsZXBvcnQ6ICZjQ29vcmRpbmF0ZXMgbXVzdCBiZSBkZWNpbWFscwBDdWJvaWQAJmEvY2xpZW50IGN1Ym9pZCBbYmxvY2tdIFtwZXJzaXN0XQAmZUZpbGxzIHRoZSAzRCByZWN0YW5nbGUgYmV0d2VlbiB0d28gcG9pbnRzIHdpdGggW2Jsb2NrXS4AJmVJZiBubyBibG9jayBpcyBnaXZlbiwgdXNlcyB5b3VyIGN1cnJlbnRseSBoZWxkIGJsb2NrLgAmZSAgSWYgcGVyc2lzdCBpcyBnaXZlbiBhbmQgaXMgInllcyIsIHRoZW4gdGhlIGNvbW1hbmQAJmUgIHdpbGwgcmVwZWF0ZWRseSBjdWJvaWQsIHdpdGhvdXQgbmVlZGluZyB0byBiZSB0eXBlZCBpbiBhZ2Fpbi4AeWVzACZlQ3Vib2lkOiAmZlBsYWNlIG9yIGRlbGV0ZSBhIGJsb2NrLgAmZUN1Ym9pZDogJmMiJXMiIGlzIG5vdCBhIHZhbGlkIGJsb2NrIG5hbWUgb3IgaWQuACZlQ3Vib2lkOiAmY1RoZXJlIGlzIG5vIGJsb2NrIHdpdGggaWQgIiVzIi4AJmVDdWJvaWQ6ICZmTWFyayAxIHBsYWNlZCBhdCAoJWksICVpLCAlaSksIHBsYWNlIG1hcmsgMi4ATW9kZWwAJmEvY2xpZW50IG1vZGVsIFtuYW1lXQAmYm5hbWVzOiAmZWNoaWJpLCBjaGlja2VuLCBjcmVlcGVyLCBodW1hbiwgcGlnLCBzaGVlcAAmZSAgICAgICBza2VsZXRvbiwgc3BpZGVyLCB6b21iaWUsIHNpdCwgPG51bWVyaWNhbCBibG9jayBpZD4AJmUvY2xpZW50IG1vZGVsOiAmY1lvdSBkaWRuJ3Qgc3BlY2lmeSBhIG1vZGVsIG5hbWUuAFJlc29sdXRpb24AJmEvY2xpZW50IHJlc29sdXRpb24gW3dpZHRoXSBbaGVpZ2h0XQAmZVByZWNpc2VseSBzZXRzIHRoZSBzaXplIG9mIHRoZSByZW5kZXJlZCB3aW5kb3cuACZlL2NsaWVudDogJmZDdXJyZW50IHJlc29sdXRpb24gaXMgJWlAJWYyIHggJWlAJWYyACZlL2NsaWVudDogJmNXaWR0aCBhbmQgaGVpZ2h0IG11c3QgYmUgaW50ZWdlcnMuACZlL2NsaWVudDogJmNXaWR0aCBhbmQgaGVpZ2h0IG11c3QgYmUgYWJvdmUgMC4AUmVuZGVyVHlwZQAmYS9jbGllbnQgcmVuZGVydHlwZSBbbm9ybWFsL2xlZ2FjeS9sZWdhY3lmYXN0XQAmYm5vcm1hbDogJmVEZWZhdWx0IHJlbmRlcmVyLCB3aXRoIGFsbCBlbnZpcm9ubWVudGFsIGVmZmVjdHMgZW5hYmxlZC4AJmJsZWdhY3k6ICZlTWF5IGJlIHNsaWdodGx5IHNsb3dlciB0aGFuIG5vcm1hbCwgYnV0IHByb2R1Y2VzIHRoZSBzYW1lIGVudmlyb25tZW50YWwgZWZmZWN0cy4AJmJsZWdhY3lmYXN0OiAmZVNhY3JpZmljZXMgY2xvdWRzLCBmb2cgYW5kIG92ZXJoZWFkIHNreSBmb3IgZmFzdGVyIHBlcmZvcm1hbmNlLgAmYm5vcm1hbGZhc3Q6ICZlU2FjcmlmaWNlcyBjbG91ZHMsIGZvZyBhbmQgb3ZlcmhlYWQgc2t5IGZvciBmYXN0ZXIgcGVyZm9ybWFuY2UuACZlL2NsaWVudDogJmNZb3UgZGlkbid0IHNwZWNpZnkgYSBuZXcgcmVuZGVyIHR5cGUuACZlL2NsaWVudDogJmZSZW5kZXIgdHlwZSBpcyBub3cgJXMuACZlL2NsaWVudDogJmNVbnJlY29nbmlzZWQgcmVuZGVyIHR5cGUgJmYiJXMiJmMuAEhlbHAAJmEvY2xpZW50IGhlbHAgW2NvbW1hbmQgbmFtZV0AJmVEaXNwbGF5cyB0aGUgaGVscCBmb3IgdGhlIGdpdmVuIGNvbW1hbmQuACZlL2NsaWVudDogTXVsdGlwbGUgY29tbWFuZHMgZm91bmQgdGhhdCBzdGFydCB3aXRoOiAiJmYlcyZlIi4AJmUvY2xpZW50OiBVbnJlY29nbmlzZWQgY29tbWFuZDogIiZmJXMmZSIuACZlL2NsaWVudDogVHlwZSAmYS9jbGllbnQgJmVmb3IgYSBsaXN0IG9mIGNvbW1hbmRzLgAmZS9jbGllbnQ6ICImZiVzJmUiIGNhbiBvbmx5IGJlIHVzZWQgaW4gc2luZ2xlcGxheWVyLgAmZUxpc3Qgb2YgY2xpZW50IGNvbW1hbmRzOgAsIAAmZVRvIHNlZSBoZWxwIGZvciBhIGNvbW1hbmQsIHR5cGUgL2NsaWVudCBoZWxwIFtjbWQgbmFtZV0AR3B1SW5mbwAmYS9jbGllbnQgZ3B1aW5mbwAmZURpc3BsYXlzIGluZm9ybWF0aW9uIGFib3V0IHlvdXIgR1BVLgAmYSVzAC9jbGllbnQAL2NsaWVudCAAREVGTEFURSAtIEludmFsaWQgYmxvY2sgdHlwZQBERUZMQVRFIC0gVW5jb21wcmVzc2VkIGJsb2NrIExFTiBjaGVjayBmYWlsZWQAREVGTEFURSAtIFRyaWVkIHRvIHJlcGVhdCBpbnZhbGlkIGJ5dGUAREVGTEFURSAtIFRyaWVkIHRvIHJlcGVhdCBwYXN0IGVuZABERUZMQVRFIC0gSW52YWxpZCBodWZmbWFuIGNvZGUAVG9vIG1hbnkgaHVmZm1hbiBjb2RlcyBmb3IgYml0IGxlbmd0aAAfiwgAAAAAAAAAVW5zdXBwb3J0ZWQuemlwIGVudHJ5IGNvbXByZXNzaW9uIG1ldGhvZDogJWkAZGVmYXVsdC5wbmcAVW5hYmxlIHRvIGluaXQgZGVmYXVsdCBmb250AEFyaWFsAENlbnR1cnkgU2Nob29sYm9vayBMIFJvbWFuAE5pbWJ1cyBTYW5zAExpYmVyYXRpb24gU2FucwBCaXRzdHJlYW0gQ2hhcnRlcgBDYW50YXJlbGwARGVqYVZ1IFNhbnMgQm9vawBSb2JvdG8ASG92ZXJlZABBbGwAQWxsSG92ZXJlZABBbGxVbnNjYWxlZABTbmFwVG9CbG9jawBDaXJjbGUAQ2lyY2xlQWxsACZjU2tpbiAlcyBpcyB0b28gbGFyZ2UAaGFja3MtcGVybS1tc2dzAGdpYW50ACZjTm9jbGlwIGlzIGN1cnJlbnRseSBkaXNhYmxlZAAmY0ZseWluZyBpcyBjdXJyZW50bHkgZGlzYWJsZWQAJmNDYW5ub3Qgc2V0IHNwYXduIG1pZGFpciB3aGVuIG5vY2xpcCBpcyBkaXNhYmxlZAAmY1Jlc3Bhd25pbmcgaXMgY3VycmVudGx5IGRpc2FibGVkACtmbHkALWZseQArbm9jbGlwAC1ub2NsaXAAK3NwZWVkAC1zcGVlZAArcmVzcGF3bgAtcmVzcGF3bgArcHVzaAAtcHVzaABqdW1wcz0AaG9yc3BlZWQ9ACtvcGhheAAtb3BoYXgALWhheAB0ID4gMSBpbiBwaHlzaWNzIGNhbGN1bGF0aW9uLi4gdGhpcyBzaG91bGRuJ3QgaGF2ZSBoYXBwZW5lZC4Ac2t5IHZlcnRpY2VzAGNsb3VkcyB2ZXJ0aWNlcwBlZGdlIHZlcnRpY2VzAHNpZGVzIHZlcnRpY2VzAGNsb3Vkcy5wbmcAc2t5Ym94LnBuZwBzbm93LnBuZwByYWluLnBuZwBub3JtYWwAbGVnYWN5ZmFzdABsZWdhY3kAbm9ybWFsZmFzdAB3ZWF0aGVyIGhlaWdodG1hcABBdHRlbXB0IHRvIHJlZ2lzdGVyIGV2ZW50IGhhbmRsZXIgdGhhdCB3YXMgYWxyZWFkeSByZWdpc3RlcmVkAFVuYWJsZSB0byByZWdpc3RlciBhbm90aGVyIGV2ZW50IGhhbmRsZXIAQXR0ZW1wdCB0byB1bnJlZ2lzdGVyIGV2ZW50IGhhbmRsZXIgdGhhdCB3YXMgbm90IHJlZ2lzdGVyZWQgdG8gYmVnaW4gd2l0aABDUEUATWV0YWRhdGEASUQASUQyAENvbGxpZGVUeXBlAFRyYW5zbWl0c0xpZ2h0AEZ1bGxCcmlnaHQAQmxvY2tEcmF3AFNoYXBlAE5hbWUAVGV4dHVyZXMAV2Fsa1NvdW5kAENvb3JkcwBFeHBlY3RlZCBJOF9BcnJheSBOQlQgdGFnAEk4X0FycmF5IE5CVCB0YWcgdG9vIHNtYWxsAEV4cGVjdGVkIFN0cmluZyBOQlQgdGFnAEV4cGVjdGVkIEYzMiBOQlQgdGFnAEV4cGVjdGVkIEk4IE5CVCB0YWcARXhwZWN0ZWQgSTE2IE5CVCB0YWcARGlzdGFuY2UAV2VhdGhlclR5cGUAU2lkZUJsb2NrAEVkZ2VCbG9jawBTaWRlTGV2ZWwAVGV4dHVyZVVSTABTa3kAQ2xvdWQAU3VubGlnaHQAQW1iaWVudABCbG9jawBTcGF3bgBVVUlEAE1hcCBVVUlEIG11c3QgYmUgMTYgYnl0ZXMAQmxvY2tBcnJheQBCbG9ja0FycmF5MgAuY3cgbWFwIGJsb2NrcwBMaW1pdFZTeW5jAExpbWl0MzBGUFMATGltaXQ2MEZQUwBMaW1pdDEyMEZQUwBMaW1pdDE0NEZQUwBMaW1pdE5vbmUAU2NoZWR1bGVkVGFza19BZGQgLSBoaXQgbWF4IGNvdW50ACZjVW5hYmxlIHRvIHVzZSB0ZXJyYWluLnBuZyBmcm9tIHRoZSB0ZXh0dXJlIHBhY2suACZjIEl0cyBoZWlnaHQgaXMgbGVzcyB0aGFuIGl0cyB3aWR0aC4AJmMgSXQgbXVzdCBiZSAxNiBvciBtb3JlIHBpeGVscyB3aWRlLgAmY0Vycm9yIGxvYWRpbmcgJXMgZnJvbSB0aGUgdGV4dHVyZSBwYWNrLgAmY1VuYWJsZSB0byB1c2UgJXMgZnJvbSB0aGUgdGV4dHVyZSBwYWNrLgAmYyBJdHMgc2l6ZSBpcyAoJWksJWkpLCB5b3VyIEdQVSBzdXBwb3J0cyAoJWksJWkpIGF0IG1vc3QuACZjIEl0cyBzaXplIGlzICglaSwlaSksIHdoaWNoIGlzIG5vdCBhIHBvd2VyIG9mIHR3byBzaXplLgB0ZXJyYWluLnBuZwB2aWV3ZGlzdABPdXQgb2YgdmlkZW8gbWVtb3J5IQAmY091dCBvZiBWUkFNISBIYWx2aW5nIHZpZXcgZGlzdGFuY2UuLgBtb2RlLWNsYXNzaWMAbm9zdGFsZ2lhLWhhY2tzACZjJXMAU2V0dGluZyBhaXIgYmxvY2tzAFNldHRpbmcgZGlydCBibG9ja3MAU2V0dGluZyBncmFzcyBibG9ja3MAZ2VuIGhlaWdodG1hcABDYXJ2aW5nIGNvYWwgb3JlAENhcnZpbmcgaXJvbiBvcmUAQ2FydmluZyBnb2xkIG9yZQBQbGFudGluZyB0cmVlcwBQbGFudGluZyBtdXNocm9vbXMAUGxhbnRpbmcgZmxvd2VycwBDcmVhdGluZyBzdXJmYWNlAEZsb29kaW5nIGxhdmEARmxvb2Rpbmcgd2F0ZXIARmxvb2RpbmcgZWRnZSB3YXRlcgBDYXJ2aW5nIGNhdmVzAENyZWF0aW5nIHN0cmF0YQBGaWxsaW5nIG1hcABCdWlsZGluZyBoZWlnaHRtYXAATG9zdCBncmFwaGljcyBjb250ZXh0OiAlYwBGYWlsZWQgdG8gY3JlYXRlIHByb2dyYW0AaW5fcG9zAGluX2NvbABpbl91dgBtdnAAdGV4TWF0cml4AGZvZ0NvbABmb2dFbmQAZm9nRGVuc2l0eQBGYWlsZWQgdG8gY29tcGlsZSBwcm9ncmFtAHByZWNpc2lvbiBoaWdocCBmbG9hdDsKAHZhcnlpbmcgdmVjNCBvdXRfY29sOwoAdmFyeWluZyB2ZWMyIG91dF91djsKAHVuaWZvcm0gc2FtcGxlcjJEIHRleEltYWdlOwoAdW5pZm9ybSB2ZWMzIGZvZ0NvbDsKAHVuaWZvcm0gZmxvYXQgZm9nRW5kOwoAdW5pZm9ybSBmbG9hdCBmb2dEZW5zaXR5OwoAdm9pZCBtYWluKCkgewoAICB2ZWM0IGNvbCA9IHRleHR1cmUyRCh0ZXhJbWFnZSwgb3V0X3V2KSAqIG91dF9jb2w7CgAgIHZlYzQgY29sID0gb3V0X2NvbDsKACAgaWYgKGNvbC5hIDwgMC41KSBkaXNjYXJkOwoAICBmbG9hdCBkZXB0aCA9IGdsX0ZyYWdDb29yZC56IC8gZ2xfRnJhZ0Nvb3JkLnc7CgAgIGZsb2F0IGYgPSBjbGFtcCgoZm9nRW5kIC0gZGVwdGgpIC8gZm9nRW5kLCAwLjAsIDEuMCk7CgAgIGZsb2F0IGYgPSBjbGFtcChleHAoZm9nRGVuc2l0eSAqIGRlcHRoKSwgMC4wLCAxLjApOwoAICBjb2wucmdiID0gbWl4KGZvZ0NvbCwgY29sLnJnYiwgZik7CgAgIGdsX0ZyYWdDb2xvciA9IGNvbDsKAH0ARmFpbGVkIHRvIGNyZWF0ZSBzaGFkZXIARmFpbGVkIHRvIGNvbXBpbGUgc2hhZGVyAGF0dHJpYnV0ZSB2ZWMzIGluX3BvczsKAGF0dHJpYnV0ZSB2ZWM0IGluX2NvbDsKAGF0dHJpYnV0ZSB2ZWMyIGluX3V2OwoAdW5pZm9ybSBtYXQ0IG12cDsKAHVuaWZvcm0gbWF0NCB0ZXhNYXRyaXg7CgAgIGdsX1Bvc2l0aW9uID0gbXZwICogdmVjNChpbl9wb3MsIDEuMCk7CgAgIG91dF9jb2wgPSBpbl9jb2w7CgAgIG91dF91diAgPSBpbl91djsKACAgb3V0X3V2ID0gKHRleE1hdHJpeCAqIHZlYzQob3V0X3V2LDAuMCwxLjApKS54eTsKAFJlY3JlYXRpbmcgZ3JhcGhpY3MgY29udGV4dABUZXh0dXJlcyBtdXN0IGhhdmUgcG93ZXIgb2YgdHdvIGRpbWVuc2lvbnMAbWlwbWFwcwAtLSBVc2luZyBPcGVuR0wgKCVpIGJpdCkgLS0AVmVuZG9yOiAlYwBSZW5kZXJlcjogJWMAR0wgdmVyc2lvbjogJWMATWF4IHRleHR1cmUgc2l6ZTogKCVpLCAlaSkARGVwdGggYnVmZmVyIGJpdHM6ICVpAFZpZGVvIG1lbW9yeTogJWYyIE1CIHRvdGFsLCAlZjIgZnJlZQBHTF9OVlhfZ3B1X21lbW9yeV9pbmZvAEdMQ29udGV4dCBsb3N0AGd1aS5wbmcAZ3VpX2NsYXNzaWMucG5nAGljb25zLnBuZwBIaXQgbWF4IHNjcmVlbnMAZ3VpLWJsb2NraW5oYW5kAFRyaWVkIHRvIHJlbW92ZSBlbGVtZW50IGF0IGxpc3QgZW5kAGh0dHA6Ly9jbGFzc2ljdWJlLnMzLmFtYXpvbmF3cy5jb20vc2tpbi8ALnBuZwBBZGRpbmcgJXMgKHR5cGUgJWIpAEh0dHBfUG9zdERhdGEAR0VUAEhFQUQAUE9TVABEb3dubG9hZGluZyBmcm9tICVzICh0eXBlICViKQAlcyVzAGh0dHA6Ly9kbC5kcm9wYm94LmNvbS8AaHR0cHM6Ly9kbC5kcm9wYm94dXNlcmNvbnRlbnQuY29tLwBodHRwczovL2RsLmRyb3Bib3guY29tLwBIVFRQIHJldHVybmVkIGRhdGE6ICVpIGJ5dGVzAGNhY2hlLWNvbnRyb2wAbWF4LWFnZT0wAE5vbmUARjEARjIARjMARjQARjUARjYARjcARjgARjkARjEwAEYxMQBGMTIARjEzAEYxNABGMTUARjE2AEYxNwBGMTgARjE5AEYyMABGMjEARjIyAEYyMwBGMjQARjI1AEYyNgBGMjcARjI4AEYyOQBGMzAARjMxAEYzMgBGMzMARjM0AEYzNQBTaGlmdExlZnQAU2hpZnRSaWdodABDb250cm9sTGVmdABDb250cm9sUmlnaHQAQWx0TGVmdABBbHRSaWdodABXaW5MZWZ0AFdpblJpZ2h0AFVwAERvd24ATnVtYmVyMABOdW1iZXIxAE51bWJlcjIATnVtYmVyMwBOdW1iZXI0AE51bWJlcjUATnVtYmVyNgBOdW1iZXI3AE51bWJlcjgATnVtYmVyOQBJbnNlcnQASG9tZQBFbmQAUGFnZVVwAFBhZ2VEb3duAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBFbnRlcgBFc2NhcGUAU3BhY2UAQmFja1NwYWNlAFRhYgBDYXBzTG9jawBTY3JvbGxMb2NrAFByaW50U2NyZWVuAFBhdXNlAE51bUxvY2sAS2V5cGFkMABLZXlwYWQxAEtleXBhZDIAS2V5cGFkMwBLZXlwYWQ0AEtleXBhZDUAS2V5cGFkNgBLZXlwYWQ3AEtleXBhZDgAS2V5cGFkOQBLZXlwYWREaXZpZGUAS2V5cGFkTXVsdGlwbHkAS2V5cGFkU3VidHJhY3QAS2V5cGFkQWRkAEtleXBhZERlY2ltYWwAS2V5cGFkRW50ZXIAVGlsZGUATWludXMAUGx1cwBCcmFja2V0TGVmdABCcmFja2V0UmlnaHQAU2xhc2gAU2VtaWNvbG9uAFF1b3RlAENvbW1hAFBlcmlvZABCYWNrU2xhc2gAWEJ1dHRvbjEAWEJ1dHRvbjIATGVmdE1vdXNlAFJpZ2h0TW91c2UATWlkZGxlTW91c2UAa2V5LSVjAFNldFNwYXduAFRvZ2dsZUZvZwBTZW5kQ2hhdABQbGF5ZXJMaXN0AE5vQ2xpcABGbHlVcABGbHlEb3duAEV4dElucHV0AEhpZGVGUFMAVGhpcmRQZXJzb24ASGlkZUdVSQBBeGlzTGluZXMAWm9vbVNjcm9sbGluZwBIYWxmU3BlZWQARGVsZXRlQmxvY2sAUGlja0Jsb2NrAFBsYWNlQmxvY2sAQXV0b1JvdGF0ZQBIb3RiYXJTd2l0Y2hpbmcAU21vb3RoQ2FtZXJhAERyb3BCbG9jawBJRE92ZXJsYXkAQnJlYWthYmxlTGlxdWlkcwAmY0Nhbm5vdCBkZWZpbmUgbW9yZSB0aGFuIDI1NiBob3RrZXlzAGhvdGtleS0lYyYlYgAldCYlcwBob3RrZXktAGxlYXZpbmcgZnVsbHNjcmVlbgBnb2luZyBmdWxsc2NyZWVuACAgJmVTbW9vdGggY2FtZXJhIGlzICZhZW5hYmxlZAAgICZlU21vb3RoIGNhbWVyYSBpcyAmY2Rpc2FibGVkACAgJmVBeGlzIGxpbmVzICgmNFgmZSwgJjJZJmUsICYxWiZlKSBub3cgc2hvdwAgICZlQXhpcyBsaW5lcyBubyBsb25nZXIgc2hvdwAgICZlQXV0byByb3RhdGUgaXMgJmFlbmFibGVkACAgJmVBdXRvIHJvdGF0ZSBpcyAmY2Rpc2FibGVkACAgJmVCcmVha2FibGUgbGlxdWlkcyBpcyAmYWVuYWJsZWQAICAmZUJyZWFrYWJsZSBsaXF1aWRzIGlzICZjZGlzYWJsZWQAJWMuICZlUHJlc3MgJmElYyAmZXRvIGRpc2FibGUuACVjLiAmZVByZXNzICZhJWMgJmV0byByZS1lbmFibGUuACZjVGhlIHNlcnZlciBoYXMgZm9yYmlkZGVuIHlvdSBmcm9tIGNoYW5naW5nIHlvdXIgaGVsZCBibG9jay4AbGlnaHRpbmcgaGVpZ2h0bWFwAEVycm9yAEVycm9yICVoIHdoZW4gJWMARXJyb3IgJWggd2hlbiAlYyAnJXMnAAogIEVycm9yIG1lYW5pbmc6ICVjAAogIEVycm9yIG1lYW5pbmc6ICVzAE5CVCBzdHJpbmcgdG9vIGxvbmcASW52YWxpZCByb290IE5CVCB0YWcAVW5rbm93biBOQlQgdGFnIHR5cGUASTMyX0FycmF5IE5CVCB0YWcgdW5zdXBwb3J0ZWQASW52YWxpZCBQTkcgc2NhbmxpbmUgdHlwZQBObyBpbWFnZSBpbiBQTkcATm9uLWVtcHR5IElFTkQgY2h1bmsAVHJhbnNwYXJlbmN5IGludmFsaWQgZm9yIGNvbG9yIHR5cGUASW52YWxpZCBudW1iZXIgb2YgdHJhbnNwYXJlbmN5IGVudHJpZXMASW52YWxpZCBzaXplIG9mIHBhbGV0dGUgZGF0YQBJbnRlcmxhY2VkIFBOR3MgdW5zdXBwb3J0ZWQASW52YWxpZCBmaWx0ZXIgaW4gUE5HAEludmFsaWQgY29tcHJlc3Npb24gaW4gUE5HAEludmFsaWQgY29sb3IgdHlwZSBpbiBQTkcAUE5HIGltYWdlIHRvbyB0YWxsAFBORyBpbWFnZSB0b28gd2lkZQBJbnZhbGlkIFBORyBoZWFkZXIgc2l6ZQBJbnZhbGlkIFBORyBzaWduYXR1cmUATm8gYXVkaW8gaW4gV0FWAFVuc3VwcG9ydGVkIFdBViBhdWRpbyBmb3JtYXQASW52YWxpZCBXQVYgdHlwZQBJbnZhbGlkIFdBViBoZWFkZXIASW52YWxpZCBPR0cgZm9ybWF0IHZlcnNpb24ASW52YWxpZCBPR0cgc2lnbmF0dXJlAEludmFsaWQgYXJndW1lbnQAT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQARW5kIG9mIHN0cmVhbQBDbGFzc2lDdWJlIGNyYXNoZWQuClJlYXNvbjogJWMKACVoCgBGdWxsIGRldGFpbHMgb2YgdGhlIGNyYXNoIGhhdmUgYmVlbiBsb2dnZWQgdG8gJ2NsaWVudC5sb2cnLgoAUGxlYXNlIHJlcG9ydCB0aGlzIG9uIHRoZSBDbGFzc2lDdWJlIGZvcnVtcyBvciB0byBVbmtub3duU2hhZG93MjAwLgoKAFdlJ3JlIHNvcnJ5AAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgBDcmFzaCB0aW1lOiAlcDIvJXAyLyVwNCAAJXAyOiVwMjolcDIKAGNodW5rIHBhcnRzAGNodW5rIGluZm8Ac29ydGVkIGNodW5rIGluZm8AcmVuZGVyIGNodW5rIGluZm8AY2h1bmsgZGlzdGFuY2VzAGdmeC1tYXhjaHVua3VwZGF0ZXMARG9uZQAmN1BhZ2UgJWkgb2YgJWkALS0tLS0AUXVpdCBnYW1lAEJhY2sgdG8gZ2FtZQBPcHRpb25zLi4uAEdlbmVyYXRlIG5ldyBsZXZlbC4uLgBMb2FkIGxldmVsLi4uAFNhdmUgbGV2ZWwuLi4AQ2hhbmdlIHRleHR1cmUgcGFjay4uLgBIb3RrZXlzLi4uAE1vZGlmeSBob3RrZXlzAEFsdABTaGlmdABDdHJsAFNhdmUgY2hhbmdlcwBBZGQgaG90a2V5AFJlbW92ZSBob3RrZXkASW5wdXQgc3RheXMgb3BlbjogAE9GRgBPTgBNb2RpZmllcnM6IHByZXNzIGEga2V5Li4ATW9kaWZpZXJzOgAgTm9uZQAgQ3RybAAgU2hpZnQAIEFsdABLZXk6IHByZXNzIGEga2V5Li4AS2V5OiAAICsAU2VsZWN0IGEgdGV4dHVyZSBwYWNrIHppcABEb3dubG9hZCAoV0lQKQBTYXZlACZjT3ZlcndyaXRlIGV4aXN0aW5nPwAuc2NoZW1hdGljACZlUGxlYXNlIGVudGVyIGEgZmlsZW5hbWUAbWFwcy8lcyVjAGVuY29kaW5nACZlU2F2ZWQgbWFwIHRvOiAlcwAuY3cAeyB2YXIgZGF0YSA9IEhFQVBVOC5zdWJhcnJheSgkMSwgJDEgKyAkMik7IHZhciBibG9iID0gbmV3IEJsb2IoW2RhdGFdLCB7IHR5cGU6ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nIH0pOyB2YXIgbmFtZSA9IFVURjhUb1N0cmluZygkMCk7IGlmICh3aW5kb3cubmF2aWdhdG9yLm1zU2F2ZUJsb2IpIHsgd2luZG93Lm5hdmlnYXRvci5tc1NhdmVCbG9iKGJsb2IsIG5hbWUpOyByZXR1cm47IH0gdmFyIHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpOyB2YXIgZWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsgZWxlbS5ocmVmID0gdXJsOyBlbGVtLmRvd25sb2FkID0gbmFtZTsgZWxlbS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOyBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW0pOyBlbGVtLmNsaWNrKCk7IGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZWxlbSk7IHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKHVybCk7IH0AJmVEb3dubG9hZGVkIG1hcDogJXMAU2VsZWN0IGEgbGV2ZWwAbWFwcy8lcwBXaWR0aDoASGVpZ2h0OgBMZW5ndGg6AFNlZWQ6AEdlbmVyYXRlIG5ldyBsZXZlbABGbGF0Z3Jhc3MAVmFuaWxsYQAmY1RoZSBnZW5lcmF0ZWQgbWFwJ3Mgdm9sdW1lIGlzIHRvbyBiaWcuACZjT25lIG9mIHRoZSBtYXAgZGltZW5zaW9ucyBpcyBpbnZhbGlkLgAmZU11c2ljL1NvdW5kLCB2aWV3IGJvYmJpbmcsIGFuZCBtb3JlACZlQ2hhdCBvcHRpb25zLCBndWkgc2NhbGUsIGZvbnQgc2V0dGluZ3MsIGFuZCBtb3JlACZlRlBTIGxpbWl0LCB2aWV3IGRpc3RhbmNlLCBlbnRpdHkgbmFtZXMvc2hhZG93cwAmZVNldCBrZXkgYmluZGluZ3MsIGJpbmQga2V5cyB0byBhY3QgYXMgbW91c2UgY2xpY2tzACZlSGFja3MgYWxsb3dlZCwganVtcCBzZXR0aW5ncywgYW5kIG1vcmUAJmVFbnYgY29sb3Vycywgd2F0ZXIgbGV2ZWwsIHdlYXRoZXIsIGFuZCBtb3JlACZlU2V0dGluZ3MgZm9yIHJlc2VtYmxpbmcgdGhlIG9yaWdpbmFsIGNsYXNzaWMATWlzYyBvcHRpb25zLi4uAEd1aSBvcHRpb25zLi4uAEdyYXBoaWNzIG9wdGlvbnMuLi4AQ29udHJvbHMuLi4ASGFja3Mgc2V0dGluZ3MuLi4ARW52IHNldHRpbmdzLi4uAE5vc3RhbGdpYSBvcHRpb25zLi4uAE9LAERlZmF1bHQgdmFsdWUAOiAAQ2xhc3NpYyBoYW5kIG1vZGVsAENsYXNzaWMgd2FsayBhbmltAENsYXNzaWMgZ3VpIHRleHR1cmVzAENsYXNzaWMgcGxheWVyIGxpc3QAQ2xhc3NpYyBvcHRpb25zAEFsbG93IGN1c3RvbSBibG9ja3MAVXNlIENQRQBVc2Ugc2VydmVyIHRleHR1cmVzAG5vc3RhbGdpYS1zZXJ2ZXJ0ZXh0dXJlcwBub3N0YWxnaWEtdXNlY3BlAG5vc3RhbGdpYS1jdXN0b21ibG9ja3MAbm9zdGFsZ2lhLWNsYXNzaWNvcHRpb25zAG5vc3RhbGdpYS1jbGFzc2ljdGFibGlzdABub3N0YWxnaWEtY2xhc3NpY2d1aQBub3N0YWxnaWEtc2ltcGxlYXJtcwAmZUJ1dHRvbnMgb24gdGhlIHJpZ2h0IHJlcXVpcmUgcmVzdGFydGluZyBnYW1lAENsb3VkcyBjb2wAU2t5IGNvbABGb2cgY29sAENsb3VkcyBzcGVlZABDbG91ZHMgaGVpZ2h0AFN1bmxpZ2h0IGNvbABTaGFkb3cgY29sAFdlYXRoZXIAUmFpbi9Tbm93IHNwZWVkAFdhdGVyIGxldmVsACZlSWYgJmZPTiZlLCB0aGVuIHRoZSB0aGlyZCBwZXJzb24gY2FtZXJhcyB3aWxsIGxpbWl0CiZldGhlaXIgem9vbSBkaXN0YW5jZSBpZiB0aGV5IGhpdCBhIHNvbGlkIGJsb2NrLgAmZVNldHMgaG93IG1hbnkgYmxvY2tzIGhpZ2ggeW91IGNhbiBqdW1wIHVwLgomZU5vdGU6IFlvdSBqdW1wIG11Y2ggaGlnaGVyIHdoZW4gaG9sZGluZyBkb3duIHRoZSBTcGVlZCBrZXkgYmluZGluZy4AJmVJZiAmZk9OJmUsIHBsYWNpbmcgYmxvY2tzIHRoYXQgaW50ZXJzZWN0IHlvdXIgb3duIHBvc2l0aW9uIGNhdXNlCiZldGhlIGJsb2NrIHRvIGJlIHBsYWNlZCwgYW5kIHlvdSB0byBiZSBtb3ZlZCBvdXQgb2YgdGhlIHdheS4KJmZUaGlzIGlzIG1haW5seSB1c2VmdWwgZm9yIHF1aWNrIHBpbGxhcmluZy90b3dlcmluZy4AJmVJZiAmZk9GRiZlLCB5b3Ugd2lsbCBpbW1lZGlhdGVseSBzdG9wIHdoZW4gaW4gbm9jbGlwCiZlbW9kZSBhbmQgbm8gbW92ZW1lbnQga2V5cyBhcmUgaGVsZCBkb3duLgBIYWNrcyBlbmFibGVkAFNwZWVkIG11bHRpcGxpZXIAQ2FtZXJhIGNsaXBwaW5nAEp1bXAgaGVpZ2h0AFdPTSBzdHlsZSBoYWNrcwBGdWxsIGJsb2NrIHN0ZXBwaW5nAEJyZWFrYWJsZSBsaXF1aWRzAFB1c2hiYWNrIHBsYWNpbmcATm9jbGlwIHNsaWRlAEZpZWxkIG9mIHZpZXcAaGFja3MtZm92AGhhY2tzLW5vY2xpcHNsaWRlAGhhY2tzLXB1c2hiYWNrcGxhY2luZwBoYWNrcy1saXF1aWRzYnJlYWthYmxlAGhhY2tzLWZ1bGxibG9ja3N0ZXAAaGFja3Mtd29tc3R5bGVoYWNrcwBoYWNrcy1qdW1wdmVsb2NpdHkAaGFja3MtY2FtZXJhY2xpcHBpbmcAaGFja3Mtc3BlZWRtdWx0aXBsaWVyAGhhY2tzLWhhY2tzZW5hYmxlZAAAAQQHBgsCAwgJBQo+ICVjOiAlYyA8ACVjOiAlYwBOb3JtYWwgY29udHJvbHMAAAEEBwYCAwgJBUNvbnRyb2xzAAwNGQ4PEEhhY2tzIGNvbnRyb2xzAFNwZWVkAE5vY2xpcABIYWxmIHNwZWVkAEZseQBGbHkgdXAARmx5IGRvd24ARm9yd2FyZABCYWNrAENoYXQAU2F2ZSBsb2MATGVmdABSaWdodABCdWlsZABUb2dnbGUgZm9nAExvYWQgbG9jAE11c2ljAEludmVydCBtb3VzZQBSZW5kZXIgZGlzdGFuY2UAQmxvY2sgcGh5c2ljcwBTb3VuZABTaG93IEZQUwBWaWV3IGJvYmJpbmcARlBTIG1vZGUAZnBzbGltaXQAdmlld2JvYmJpbmcAZ3VpLXNob3dmcHMAc291bmRzdm9sdW1lAHNpbmdsZXBsYXllcnBoeXNpY3MARkFSAE5PUk1BTABTSE9SVABUSU5ZAGludmVydG1vdXNlAG11c2ljdm9sdW1lAAwNGRgODxAVERIWHiATFBcdHyEiT3RoZXIgY29udHJvbHMAGhscJmVQcmVzcyBlc2NhcGUgdG8gcmVzZXQgdGhlIGJpbmRpbmcATW91c2Uga2V5IGJpbmRpbmdzAERlbGV0ZSBibG9jawBQaWNrIGJsb2NrAFBsYWNlIGJsb2NrAFNob3cgZXh0IGlucHV0AEhpZGUgRlBTAEhpZGUgZ3VpAEhvdGJhciBzd2l0Y2hpbmcARHJvcCBibG9jawBTY3JlZW5zaG90AEZ1bGxzY3JlZW4AU2hvdyBheGlzIGxpbmVzAEF1dG8tcm90YXRlAFNtb290aCBjYW1lcmEASUQgb3ZlcmxheQBTY3JvbGwgem9vbQBUaGlyZCBwZXJzb24AU2V0IHNwYXduAFBsYXllciBsaXN0AEludmVudG9yeQBSZXNwYXduAFNlbmQgY2hhdAAmZVZTeW5jOiAmZk51bWJlciBvZiBmcmFtZXMgcmVuZGVyZWQgaXMgYXQgbW9zdCB0aGUgbW9uaXRvcidzIHJlZnJlc2ggcmF0ZS4KJmUzMC82MC8xMjAvMTQ0IEZQUzogJmZSZW5kZXJzIDMwLzYwLzEyMC8xNDQgZnJhbWVzIGF0IG1vc3QgZWFjaCBzZWNvbmQuCiZlTm9MaW1pdDogJmZSZW5kZXJzIGFzIG1hbnkgZnJhbWVzIGFzIHBvc3NpYmxlIGVhY2ggc2Vjb25kLgomY1VzaW5nIE5vTGltaXQgbW9kZSBpcyBkaXNjb3VyYWdlZC4AJmNOb3RlOiAmZVNtb290aCBsaWdodGluZyBpcyBzdGlsbCBleHBlcmltZW50YWwgYW5kIGNhbiBoZWF2aWx5IHJlZHVjZSBwZXJmb3JtYW5jZS4AJmVOb25lOiAmZk5vIG5hbWVzIG9mIHBsYXllcnMgYXJlIGRyYXduLgomZUhvdmVyZWQ6ICZmTmFtZSBvZiB0aGUgdGFyZ2V0ZWQgcGxheWVyIGlzIGRyYXduIHNlZS10aHJvdWdoLgomZUFsbDogJmZOYW1lcyBvZiBhbGwgb3RoZXIgcGxheWVycyBhcmUgZHJhd24gbm9ybWFsbHkuCiZlQWxsSG92ZXJlZDogJmZBbGwgbmFtZXMgb2YgcGxheWVycyBhcmUgZHJhd24gc2VlLXRocm91Z2guCiZlQWxsVW5zY2FsZWQ6ICZmQWxsIG5hbWVzIG9mIHBsYXllcnMgYXJlIGRyYXduIHNlZS10aHJvdWdoIHdpdGhvdXQgc2NhbGluZy4AJmVOb25lOiAmZk5vIGVudGl0eSBzaGFkb3dzIGFyZSBkcmF3bi4KJmVTbmFwVG9CbG9jazogJmZBIHNxdWFyZSBzaGFkb3cgaXMgc2hvd24gb24gYmxvY2sgeW91IGFyZSBkaXJlY3RseSBhYm92ZS4KJmVDaXJjbGU6ICZmQSBjaXJjdWxhciBzaGFkb3cgaXMgc2hvd24gYWNyb3NzIHRoZSBibG9ja3MgeW91IGFyZSBhYm92ZS4KJmVDaXJjbGVBbGw6ICZmQSBjaXJjdWxhciBzaGFkb3cgaXMgc2hvd24gdW5kZXJuZWF0aCBhbGwgZW50aXRpZXMuAFZpZXcgZGlzdGFuY2UAQWR2YW5jZWQgbGlnaHRpbmcATmFtZXMAU2hhZG93cwBNaXBtYXBzAGdmeC1taXBtYXBzAGVudGl0eXNoYWRvdwBuYW1lc21vZGUAZ2Z4LXNtb290aGxpZ2h0aW5nAEJsYWNrIHRleHQgc2hhZG93cwBIb3RiYXIgc2NhbGUASW52ZW50b3J5IHNjYWxlAFRhYiBhdXRvLWNvbXBsZXRlAENsaWNrYWJsZSBjaGF0AENoYXQgc2NhbGUAQ2hhdCBsaW5lcwBVc2Ugc3lzdGVtIGZvbnQAU2VsZWN0IHN5c3RlbSBmb250AFNlbGVjdCBhIGZvbnQAbWFraW5nIGZvbnQAZ3VpLWZvbnRuYW1lAGd1aS1hcmlhbGNoYXRmb250AGd1aS1jaGF0bGluZXMAZ3VpLWNoYXRzY2FsZQBndWktY2hhdGNsaWNrYWJsZQBndWktdGFiLWF1dG9jb21wbGV0ZQBndWktaW52ZW50b3J5c2NhbGUAZ3VpLWhvdGJhcnNjYWxlAGd1aS1ibGFja3RleHRzaGFkb3dzAFJlYWNoIGRpc3RhbmNlAE11c2ljIHZvbHVtZQBTb3VuZHMgdm9sdW1lAEF1dG8gY2xvc2UgbGF1bmNoZXIATW91c2Ugc2Vuc2l0aXZpdHkAbW91c2VzZW5zaXRpdml0eQBhdXRvY2xvc2VsYXVuY2hlcgBTbWFsbABOb3JtYWwASHVnZQBUZXh0dXJlIElEIHJlZmVyZW5jZSBzaGVldABmADAxMjM0NTY3ODkAJmVBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gb3BlbiB0aGlzIGxpbms/AEJlIGNhcmVmdWwgLSBsaW5rcyBmcm9tIHN0cmFuZ2VycyBtYXkgYmUgd2Vic2l0ZXMgdGhhdAAgaGF2ZSB2aXJ1c2VzLCBvciB0aGluZ3MgeW91IG1heSBub3Qgd2FudCB0byBvcGVuL3NlZS4AWWVzAE5vAENMXyVzAERvIHlvdSB3YW50IHRvIGRvd25sb2FkIHRoZSBzZXJ2ZXIncyB0ZXh0dXJlIHBhY2s/ACZlWW91IG1pZ2h0IGJlIG1pc3Npbmcgb3V0LgBUZXh0dXJlIHBhY2sgdXJsOgBUZXh0dXJlIHBhY2tzIGNhbiBwbGF5IGEgdml0YWwgcm9sZSBpbiB0aGUgbG9vayBhbmQgZmVlbCBvZiBtYXBzLgBJJ20gc3VyZQBHbyBiYWNrAEFsd2F5cyB5ZXMAQWx3YXlzIG5vAFN1cmUgeW91IGRvbid0IHdhbnQgdG8gZG93bmxvYWQgdGhlIHRleHR1cmUgcGFjaz8ARG93bmxvYWQgc2l6ZTogJWYzIE1CAERvd25sb2FkIHNpemU6IERldGVybWluaW5nLi4uAE1lbnUARm9nAG5vc3RhbGdpYS1jbGFzc2ljYXJtAGNvcnBzZQBzaXQAaGVhZABjaGliaQBibG9jawB6b21iaWUAc3BpZGVyAHNrZWxldG9uAHNoZWVwX25vZnVyAHNoZWVwAHBpZwBjcmVlcGVyAGNoaWNrZW4AaHVtYW5vaWQAem9tYmllLnBuZwBzcGlkZXIucG5nAHNrZWxldG9uLnBuZwBzaGVlcF9mdXIucG5nAHNoZWVwLnBuZwBwaWcucG5nAGNyZWVwZXIucG5nAGNoaWNrZW4ucG5nAGNoYXIucG5nAG9wdGlvbnMtZGVmYXVsdC50eHQAb3B0aW9ucy50eHQAcGFydGljbGVzLnBuZwBjb2xsaXNpb24gc2VhcmNoIHN0YXRlcwBTb21ldGhpbmcgd2VudCB3cm9uZywgZGlkIG92ZXIgMjUsMDAwIGl0ZXJhdGlvbnMgaW4gUGlja2luZ19SYXlUcmFjZSgpAE91dCBvZiBtZW1vcnkhICh3aGVuIGFsbG9jYXRpbmcgJWMpAAoAU3RyaW5nIHRvbyBsb25nIHRvIGV4cGFuZAAlcy8ARlMuc3luY2ZzKGZhbHNlLCBmdW5jdGlvbihlcnIpIHsgaWYgKGVycikgY29uc29sZS5sb2coZXJyKTsgfSk7AAABAkZhaWxlZCB0byBjcmVhdGUgc29ja2V0AHsgd2luZG93Lm9wZW4oVVRGOFRvU3RyaW5nKCQwKSk7IH0ATW9kdWxlWyd3ZWJzb2NrZXQnXVsnc3VicHJvdG9jb2wnXSA9ICdDbGFzc2lDdWJlJzsAL2NsYXNzaWN1YmUAc2V0dGluZyBjdXJyZW50IGRpcmVjdG9yeQBTdGFydGluZyBDbGFzc2lDdWJlIHdlYiBjbGllbnQgLi4AbWFwcwB0ZXhwYWNrcwB0ZXh0dXJlY2FjaGUAcGx1Z2lucwBXZWJUZXN0IQBJbnZhbGlkIElQAEludmFsaWQgcG9ydAAlYyAnJXMnAEZhaWxlZCB0byBzdGFydABNaXNzaW5nIElQIGFuZC9vciBwb3J0IC0gAHdpbmRvdy13aWR0aAB3aW5kb3ctaGVpZ2h0ACVjICglcykAQ2xhc3NpQ3ViZQB3b21lbnZfJWkAVGV4IHVybDogJXMAQ1BFIGhvdGtleSBhZGRlZDogJWMsICViOiAlcwBjcGUgZXh0OiAlcywgJWkASGVsZEJsb2NrAE1lc3NhZ2VUeXBlcwBFeHRQbGF5ZXJMaXN0AEJsb2NrUGVybWlzc2lvbnMAUGxheWVyQ2xpY2sARW52TWFwQXBwZWFyYW5jZQBMb25nZXJNZXNzYWdlcwBGdWxsQ1A0MzcAQmxvY2tEZWZpbml0aW9uc0V4dABFeHRFbnRpdHlQb3NpdGlvbnMAVHdvV2F5UGluZwBGYXN0TWFwAEV4dGVuZGVkVGV4dHVyZXMARXh0ZW5kZWRCbG9ja3MAQmxvY2tEZWZpbml0aW9ucwBDbGlja0Rpc3RhbmNlAEN1c3RvbUJsb2NrcwBFbW90ZUZpeABUZXh0SG90S2V5AEVudkNvbG9ycwBTZWxlY3Rpb25DdWJvaWQAQ2hhbmdlTW9kZWwARW52V2VhdGhlclR5cGUASGFja0NvbnRyb2wAQnVsa0Jsb2NrVXBkYXRlAFRleHRDb2xvcnMARW52TWFwQXNwZWN0AEVudGl0eVByb3BlcnR5AEludmVudG9yeU9yZGVyAEluc3RhbnRNT1REAFNldEhvdGJhcgBTZXRTcGF3bnBvaW50AFZlbG9jaXR5Q29udHJvbABTZXJ2ZXIgc29mdHdhcmU6ICVzAEQzIHNlcnZlcgAmZQBeZGV0YWlsLnVzZXIAXmRldGFpbC51c2VyPQBQbGF5ZXJzAG1hcCBsb2FkaW5nIHRvb2s6ICVpAEJsb2NrcyBhcnJheSBzaXplIGRvZXMgbm90IG1hdGNoIHZvbHVtZSBvZiBtYXAAL3dvbWlkIFdvTUNsaWVudC0yLjAuNwByZWFkaW5nIG1hcCBkYXRhAE5vdCBlbm91Z2ggZnJlZSBtZW1vcnkgdG8gam9pbiB0aGF0IG1hcC4KVHJ5IGpvaW5pbmcgYSBkaWZmZXJlbnQgbWFwLgBodHRwOi8vJXMAY2ZnPQBlbnZpcm9ubWVudC5jbG91ZABlbnZpcm9ubWVudC5za3kAZW52aXJvbm1lbnQuZm9nAGVudmlyb25tZW50LmxldmVsAHVzZXIuZGV0YWlsADAuMzAAWm9vbSBmb3YgJWkgIABGbHkgT04gICAAU3BlZWQgT04gICAATm9jbGlwIE9OICAgAFBvc2l0aW9uOiAAMDEyMzQ1Njc4OS0sICgpACVpIGZwcywgACVpIGNodW5rIHVwZGF0ZXMAJWkgY2h1bmtzL3MsIAAlaSB2ZXJ0aWNlcwAsIHBpbmcgJWkgbXMAU2VuZABDYW5jZWwAJmVSZXRyaWV2aW5nIHRleHR1cmUgcGFjay4uACZlRG93bmxvYWRpbmcgdGV4dHVyZSBwYWNrACZlRG93bmxvYWRpbmcgdGV4dHVyZSBwYWNrICgmNyVpJmUlJSkAR2VuZXJhdGluZy4uAEdlbmVyYXRpbmcgbGV2ZWwAJmNGYWlsZWQgdG8gZ2VuZXJhdGUgdGhlIG1hcC4AT3V0IG9mIG1lbW9yeQBOb3QgZW5vdWdoIGZyZWUgbWVtb3J5IHRvIGdlbmVyYXRlIGEgbWFwIHRoYXQgbGFyZ2UuClRyeSBhIHNtYWxsZXIgc2l6ZS4AUmVjb25uZWN0IGluICVpAFJlY29ubmVjdABCYW5uZWQgAEtpY2tlZCAARGVsZXRlAFBsYWNlADwAPgBeAFwvAEp1bXAATW9yZQBDbGFzc2lDdWJlIHdlYiBjbGllbnQARXJyb3IgcmVhZGluZyBmcm9tICVzOiVpOiAlaQoAU2tpcHBpbmcgaW52YWxpZCBIYWNrQ29udHJvbCBieXRlIGZyb20gRDMgc2VydmVyAHRyeWluZyB0byBkb3dubG9hZCB0ZXh0dXJlIHBhY2sAJmMlaSBlcnJvciB3aGVuIHRyeWluZyB0byBkb3dubG9hZCB0ZXh0dXJlIHBhY2sAU2VydmVyIHNlbnQgaW52YWxpZCBwYWNrZXQhAERpc2Nvbm5lY3RlZABJL08gZXJyb3Igd2hlbiByZWFkaW5nIHBhY2tldHMAJmVMb3N0IGNvbm5lY3Rpb24gdG8gdGhlIHNlcnZlcgBZb3UndmUgbG9zdCBjb25uZWN0aW9uIHRvIHRoZSBzZXJ2ZXIARGlzY29ubmVjdGVkIQBFcnJvciBjb25uZWN0aW5nIHRvICVzOiVpOiAlaQoARmFpbGVkIHRvIGNvbm5lY3QgdG8gJXM6JWkAWW91IGZhaWxlZCB0byBjb25uZWN0IHRvIHRoZSBzZXJ2ZXIuIEl0J3MgcHJvYmFibHkgZG93biEAQ29ubmVjdGluZyB0byAlczolaS4uAFNpbmdsZXBsYXllcgBPZmZzZXQgZm9yIERlbGV0ZUF0IG91dCBvZiByYW5nZQBPZmZzZXQgZm9yIHN1YnN0cmluZyBvdXQgb2YgcmFuZ2UATGVuZ3RoIGZvciBzdWJzdHJpbmcgb3V0IG9mIHJhbmdlAFJlc3VsdCBzdWJzdHJpbmcgaXMgb3V0IG9mIHJhbmdlAFN1YiBvZmZzZXQgb3V0IG9mIHJhbmdlAEZhbHNlAFRydWUAT2Zmc2V0IGZvciBJbnNlcnRBdCBvdXQgb2YgcmFuZ2UAQ2Fubm90IGluc2VydCBjaGFyYWN0ZXIgaW50byBmdWxsIHN0cmluZwBJbnZhbGlkIHR5cGUgZm9yIHN0cmluZyBmb3JtYXQAMjE0NzQ4MzY0OAAyMTQ3NDgzNjQ3ADE4NDQ2NzQ0MDczNzA5NTUxNjE1AFRyaWVkIHRvIGdldCBTdHJpbmcgcGFzdCBTdHJpbmdzQnVmZmVyIGVuZABTdHJpbmcgdG9vIGJpZyB0byBpbnNlcnQgaW50byBTdHJpbmdzQnVmZmVyAFRyaWVkIHRvIHJlbW92ZSBTdHJpbmcgcGFzdCBTdHJpbmdzQnVmZmVyIGVuZABXb3JkV3JhcF9HZXRCYWNrTGVuZ3RoIC0gaW5kZXggcGFzdCBlbmQgb2Ygc3RyaW5nAFdvcmRXcmFwX0dldEZvcndhcmRMZW5ndGggLSBpbmRleCBwYXN0IGVuZCBvZiBzdHJpbmcAYW5pbWF0aW9ucy5wbmcAZGVjb2RpbmcAYW5pbWF0aW9ucy50eHQAdXNlbGF2YWFuaW0AdXNld2F0ZXJhbmltACZjTm90IGVub3VnaCBhcmd1bWVudHMgZm9yIGFuaW06ICVzACZjSW52YWxpZCBhbmltIHRpbGUgWCBjb29yZDogJXMAJmNJbnZhbGlkIGFuaW0gdGlsZSBZIGNvb3JkOiAlcwAmY0ludmFsaWQgYW5pbSBmcmFtZSBYIGNvb3JkOiAlcwAmY0ludmFsaWQgYW5pbSBmcmFtZSBZIGNvb3JkOiAlcwAmY0ludmFsaWQgYW5pbSBmcmFtZSBzaXplOiAlcwAmY0ludmFsaWQgYW5pbSBzdGF0ZXMgY291bnQ6ICVzACZjSW52YWxpZCBhbmltIGZyYW1lIGRlbGF5OiAlcwAmY0Nhbm5vdCBzaG93IG92ZXIgNTEyIGFuaW1hdGlvbnMAZGVmYXVsdHRleHBhY2sAZGVmYXVsdC56aXAAJmNDdXJyZW50IHRleHR1cmUgcGFjayBzcGVjaWZpZXMgaXQgdXNlcyBhbmltYXRpb25zLAAmY2J1dCBpcyBtaXNzaW5nIGFuaW1hdGlvbnMucG5nAGFuaW0gZnJhbWUAJmNBbmltYXRpb24gZnJhbWVzIGZvciB0aWxlICglaSwgJWkpIGFyZSBiaWdnZXIgdGhhbiB0aGUgc2l6ZSBvZiBhIHRpbGUgaW4gdGVycmFpbi5wbmcAJmNTb21lIG9mIHRoZSBhbmltYXRpb24gZnJhbWVzIGZvciB0aWxlICglaSwgJWkpIGFyZSBhdCBjb29yZGluYXRlcyBvdXRzaWRlIGFuaW1hdGlvbnMucG5nAExvYWRlZCBuZXcgYXRsYXM6ICVpIGJtcHMsICVpIHBlciBibXAAdGV4dHVyZWNhY2hlL2FjY2VwdGVkdXJscy50eHQAdGV4dHVyZWNhY2hlL2RlbmllZHVybHMudHh0AHRleHR1cmVjYWNoZS9ldGFncy50eHQAdGV4dHVyZWNhY2hlL2xhc3Rtb2RpZmllZC50eHQAdGV4dHVyZWNhY2hlLyVzAG9wZW5pbmcgY2FjaGUgZm9yAGNhY2hpbmcALwB0ZXhwYWNrcy8lcwBleHRyYWN0aW5nAAFjbG9zaW5nIGNhY2hlIGZvcgAuemlwAGh0dHBzOi8vAGh0dHA6Ly8AY3JlYXRpbmcgZGlyZWN0b3J5AGluaXRpbmcgYXJyYXkAcmVzaXppbmcgYXJyYXkAb3BlbmluZwByZWFkaW5nIGZyb20AU2tpcHBpbmcgZXh0cmVtZWx5IGxvbmcgbGluZSBpbiAlYywgZmlsZSBtYXkgaGF2ZSBiZWVuIGNvcnJ1cHRlZABjbG9zaW5nACVzJXIlcwBjcmVhdGluZwB3cml0aW5nIHRvACY3KCMwMDAwMDAgLSAjRkZGRkZGKQAmNyglaSAtICVpKQAmNyhhbiBpbnRlZ2VyKQAmNyglZjIgLSAlZjIpACY3KEVudGVyIG5hbWUpACY3KEVudGVyIHRleHQpAFNlbGVjdCBibG9jawAgKElEICVpJmYALCBwbGFjZSAmY05vJmYALCBkZWxldGUgJmNObyZmAF8APiAAJmUlaSBtYXRjaGluZyBuYW1lczogAENvbm5lY3RlZCBwbGF5ZXJzOgABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4ff5ucnZ6mp6ipqq2ur/n6AE90aGVyAICBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmqChoqOkpQBMZXR0ZXJzALCxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3/4ATGluZS9Cb3gAn6us4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pv8/QBNYXRoAENvbG91cnMAAU1vZHVsZVsnY2FudmFzJ10uc3R5bGVbJ2N1cnNvciddID0gJ2RlZmF1bHQnOwBNb2R1bGVbJ2NhbnZhcyddLnN0eWxlWydjdXJzb3InXSA9ICdub25lJzsAeyBhbGVydChVVEY4VG9TdHJpbmcoJDApICsgIlxuXG4iICsgVVRGOFRvU3RyaW5nKCQxKSk7IH0AVW5zdXBwb3J0ZWQgYml0cyBwZXIgcGl4ZWwAInsgcmV0dXJuIHNjcmVlbi53aWR0aDsgfSIAInsgcmV0dXJuIHNjcmVlbi5oZWlnaHQ7IH0iAHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjb3B5JywgZnVuY3Rpb24oZSkgeyBpZiAod2luZG93LmdldFNlbGVjdGlvbiAmJiB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSkgcmV0dXJuOyBpZiAod2luZG93LmNjX2NvcHlUZXh0KSB7IGlmIChlLmNsaXBib2FyZERhdGEpIHsgZS5jbGlwYm9hcmREYXRhLnNldERhdGEoJ3RleHQvcGxhaW4nLCB3aW5kb3cuY2NfY29weVRleHQpOyB9IGVsc2UgeyB3aW5kb3cuY2xpcGJvYXJkRGF0YS5zZXREYXRhKCdUZXh0Jywgd2luZG93LmNjX2NvcHlUZXh0KTsgfSBlLnByZXZlbnREZWZhdWx0KCk7IHdpbmRvdy5jY19jb3B5VGV4dCA9IG51bGw7IH0gfSk7AHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdwYXN0ZScsIGZ1bmN0aW9uKGUpIHsgdmFyIGNvbnRlbnRzID0gZS5jbGlwYm9hcmREYXRhID8gZS5jbGlwYm9hcmREYXRhLmdldERhdGEoJ3RleHQvcGxhaW4nKSA6IHdpbmRvdy5jbGlwYm9hcmREYXRhLmdldERhdGEoJ1RleHQnKTsgY2NhbGwoJ1dpbmRvd19Hb3RDbGlwYm9hcmRUZXh0JywgJ3ZvaWQnLCBbJ3N0cmluZyddLCBbY29udGVudHNdKTsgfSk7ACJ7IHJldHVybiAvaVBob25lfGlQYWR8aVBvZHxBbmRyb2lkL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTsgfSIAI3dpbmRvdwAjY2FudmFzAHsgZG9jdW1lbnQudGl0bGUgPSBVVEY4VG9TdHJpbmcoJDApOyB9AHsgd2luZG93LmNjX2NvcHlUZXh0ID0gVVRGOFRvU3RyaW5nKCQwKTsgfQBPUEVOIFNFU0FNRQB7IHZhciBlbGVtID0gd2luZG93LmNjX2lucHV0RWxlbTsgaWYgKCFlbGVtKSB7IGVsZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpOyBlbGVtLnNldEF0dHJpYnV0ZSgnc3R5bGUnLCAncG9zaXRpb246YWJzb2x1dGU7IGxlZnQ6MDsgdG9wOjA7IHdpZHRoOjEwMCU7IGhlaWdodDoxMDAlOyBvcGFjaXR5OjAuMzsgcmVzaXplOm5vbmU7IHBvaW50ZXItZXZlbnRzOm5vbmU7Jyk7IGVsZW0uYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLCBmdW5jdGlvbihldikgeyBjY2FsbCgnV2luZG93X09uVGV4dENoYW5nZWQnLCAndm9pZCcsIFsnc3RyaW5nJ10sIFtldi50YXJnZXQudmFsdWVdKTsgfSwgZmFsc2UpOyB3aW5kb3cuY2NfaW5wdXRFbGVtID0gZWxlbTsgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtKTsgfSBlbGVtLmZvY3VzKCk7IGVsZW0uY2xpY2soKTsgfQB7IGlmICghd2luZG93LmNjX2lucHV0RWxlbSkgcmV0dXJuOyB2YXIgc3RyID0gVVRGOFRvU3RyaW5nKCQwKTsgaWYgKHN0ciA9PSB3aW5kb3cuY2NfaW5wdXRFbGVtLnZhbHVlKSByZXR1cm47IHdpbmRvdy5jY19pbnB1dEVsZW0udmFsdWUgPSBzdHI7IH0AeyBpZiAoIXdpbmRvdy5jY19pbnB1dEVsZW0pIHJldHVybjsgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh3aW5kb3cuY2NfaW5wdXRFbGVtKTsgd2luZG93LmNjX2lucHV0RWxlbSA9IG51bGw7IH0AV2ViR0wgY29udGV4dCBsb3N0AFN1bm55AFJhaW55AFNub3d5AG1hcCBibG9ja3MgdXBwZXIAdGV4dHVyZVBhY2sAYWJvcnRlZCB3aXRoIGVtc2NyaXB0ZW5fZmV0Y2hfY2xvc2UoKQAvcHJvYy9zZWxmL2ZkLw=="; /* no memory initializer */ var tempDoublePtr = 1408576 function copyTempFloat(ptr) { // functions, because inlining this code increases code size too much HEAP8[tempDoublePtr] = HEAP8[ptr]; HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; } function copyTempDouble(ptr) { HEAP8[tempDoublePtr] = HEAP8[ptr]; HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; HEAP8[tempDoublePtr+4] = HEAP8[ptr+4]; HEAP8[tempDoublePtr+5] = HEAP8[ptr+5]; HEAP8[tempDoublePtr+6] = HEAP8[ptr+6]; HEAP8[tempDoublePtr+7] = HEAP8[ptr+7]; } // {{PRE_LIBRARY}} var ENV={};function ___buildEnvironment(environ) { // WARNING: Arbitrary limit! var MAX_ENV_VALUES = 64; var TOTAL_ENV_SIZE = 1024; // Statically allocate memory for the environment. var poolPtr; var envPtr; if (!___buildEnvironment.called) { ___buildEnvironment.called = true; // Set default values. Use string keys for Closure Compiler compatibility. ENV['USER'] = ENV['LOGNAME'] = 'web_user'; ENV['PATH'] = '/'; ENV['PWD'] = '/'; ENV['HOME'] = '/home/web_user'; ENV['LANG'] = 'C.UTF-8'; ENV['_'] = Module['thisProgram']; // Allocate memory. poolPtr = getMemory(TOTAL_ENV_SIZE); envPtr = getMemory(MAX_ENV_VALUES * 4); HEAP32[((envPtr)>>2)]=poolPtr; HEAP32[((environ)>>2)]=envPtr; } else { envPtr = HEAP32[((environ)>>2)]; poolPtr = HEAP32[((envPtr)>>2)]; } // Collect key=value lines. var strings = []; var totalSize = 0; for (var key in ENV) { if (typeof ENV[key] === 'string') { var line = key + '=' + ENV[key]; strings.push(line); totalSize += line.length; } } if (totalSize > TOTAL_ENV_SIZE) { throw new Error('Environment size exceeded TOTAL_ENV_SIZE!'); } // Make new. var ptrSize = 4; for (var i = 0; i < strings.length; i++) { var line = strings[i]; writeAsciiToMemory(line, poolPtr); HEAP32[(((envPtr)+(i * ptrSize))>>2)]=poolPtr; poolPtr += line.length + 1; } HEAP32[(((envPtr)+(strings.length * ptrSize))>>2)]=0; } function ___setErrNo(value) { if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; return value; } var PATH={splitPath:function (filename) { var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; return splitPathRe.exec(filename).slice(1); },normalizeArray:function (parts, allowAboveRoot) { // if the path tries to go above the root, `up` ends up > 0 var up = 0; for (var i = parts.length - 1; i >= 0; i--) { var last = parts[i]; if (last === '.') { parts.splice(i, 1); } else if (last === '..') { parts.splice(i, 1); up++; } else if (up) { parts.splice(i, 1); up--; } } // if the path is allowed to go above the root, restore leading ..s if (allowAboveRoot) { for (; up; up--) { parts.unshift('..'); } } return parts; },normalize:function (path) { var isAbsolute = path.charAt(0) === '/', trailingSlash = path.substr(-1) === '/'; // Normalize the path path = PATH.normalizeArray(path.split('/').filter(function(p) { return !!p; }), !isAbsolute).join('/'); if (!path && !isAbsolute) { path = '.'; } if (path && trailingSlash) { path += '/'; } return (isAbsolute ? '/' : '') + path; },dirname:function (path) { var result = PATH.splitPath(path), root = result[0], dir = result[1]; if (!root && !dir) { // No dirname whatsoever return '.'; } if (dir) { // It has a dirname, strip trailing slash dir = dir.substr(0, dir.length - 1); } return root + dir; },basename:function (path) { // EMSCRIPTEN return '/'' for '/', not an empty string if (path === '/') return '/'; var lastSlash = path.lastIndexOf('/'); if (lastSlash === -1) return path; return path.substr(lastSlash+1); },extname:function (path) { return PATH.splitPath(path)[3]; },join:function () { var paths = Array.prototype.slice.call(arguments, 0); return PATH.normalize(paths.join('/')); },join2:function (l, r) { return PATH.normalize(l + '/' + r); },resolve:function () { var resolvedPath = '', resolvedAbsolute = false; for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { var path = (i >= 0) ? arguments[i] : FS.cwd(); // Skip empty and invalid entries if (typeof path !== 'string') { throw new TypeError('Arguments to path.resolve must be strings'); } else if (!path) { return ''; // an invalid portion invalidates the whole thing } resolvedPath = path + '/' + resolvedPath; resolvedAbsolute = path.charAt(0) === '/'; } // At this point the path should be resolved to a full absolute path, but // handle relative paths to be safe (might happen when process.cwd() fails) resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) { return !!p; }), !resolvedAbsolute).join('/'); return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; },relative:function (from, to) { from = PATH.resolve(from).substr(1); to = PATH.resolve(to).substr(1); function trim(arr) { var start = 0; for (; start < arr.length; start++) { if (arr[start] !== '') break; } var end = arr.length - 1; for (; end >= 0; end--) { if (arr[end] !== '') break; } if (start > end) return []; return arr.slice(start, end - start + 1); } var fromParts = trim(from.split('/')); var toParts = trim(to.split('/')); var length = Math.min(fromParts.length, toParts.length); var samePartsLength = length; for (var i = 0; i < length; i++) { if (fromParts[i] !== toParts[i]) { samePartsLength = i; break; } } var outputParts = []; for (var i = samePartsLength; i < fromParts.length; i++) { outputParts.push('..'); } outputParts = outputParts.concat(toParts.slice(samePartsLength)); return outputParts.join('/'); }}; var TTY={ttys:[],init:function () { // https://github.com/emscripten-core/emscripten/pull/1555 // if (ENVIRONMENT_IS_NODE) { // // currently, FS.init does not distinguish if process.stdin is a file or TTY // // device, it always assumes it's a TTY device. because of this, we're forcing // // process.stdin to UTF8 encoding to at least make stdin reading compatible // // with text files until FS.init can be refactored. // process['stdin']['setEncoding']('utf8'); // } },shutdown:function () { // https://github.com/emscripten-core/emscripten/pull/1555 // if (ENVIRONMENT_IS_NODE) { // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call // process['stdin']['pause'](); // } },register:function (dev, ops) { TTY.ttys[dev] = { input: [], output: [], ops: ops }; FS.registerDevice(dev, TTY.stream_ops); },stream_ops:{open:function (stream) { var tty = TTY.ttys[stream.node.rdev]; if (!tty) { throw new FS.ErrnoError(ERRNO_CODES.ENODEV); } stream.tty = tty; stream.seekable = false; },close:function (stream) { // flush any pending line data stream.tty.ops.flush(stream.tty); },flush:function (stream) { stream.tty.ops.flush(stream.tty); },read:function (stream, buffer, offset, length, pos /* ignored */) { if (!stream.tty || !stream.tty.ops.get_char) { throw new FS.ErrnoError(ERRNO_CODES.ENXIO); } var bytesRead = 0; for (var i = 0; i < length; i++) { var result; try { result = stream.tty.ops.get_char(stream.tty); } catch (e) { throw new FS.ErrnoError(ERRNO_CODES.EIO); } if (result === undefined && bytesRead === 0) { throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); } if (result === null || result === undefined) break; bytesRead++; buffer[offset+i] = result; } if (bytesRead) { stream.node.timestamp = Date.now(); } return bytesRead; },write:function (stream, buffer, offset, length, pos) { if (!stream.tty || !stream.tty.ops.put_char) { throw new FS.ErrnoError(ERRNO_CODES.ENXIO); } try { for (var i = 0; i < length; i++) { stream.tty.ops.put_char(stream.tty, buffer[offset+i]); } } catch (e) { throw new FS.ErrnoError(ERRNO_CODES.EIO); } if (length) { stream.node.timestamp = Date.now(); } return i; }},default_tty_ops:{get_char:function (tty) { if (!tty.input.length) { var result = null; if (ENVIRONMENT_IS_NODE) { // we will read data by chunks of BUFSIZE var BUFSIZE = 256; var buf = new Buffer(BUFSIZE); var bytesRead = 0; var isPosixPlatform = (process.platform != 'win32'); // Node doesn't offer a direct check, so test by exclusion var fd = process.stdin.fd; if (isPosixPlatform) { // Linux and Mac cannot use process.stdin.fd (which isn't set up as sync) var usingDevice = false; try { fd = fs.openSync('/dev/stdin', 'r'); usingDevice = true; } catch (e) {} } try { bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null); } catch(e) { // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes, // reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0. if (e.toString().indexOf('EOF') != -1) bytesRead = 0; else throw e; } if (usingDevice) { fs.closeSync(fd); } if (bytesRead > 0) { result = buf.slice(0, bytesRead).toString('utf-8'); } else { result = null; } } else if (typeof window != 'undefined' && typeof window.prompt == 'function') { // Browser. result = window.prompt('Input: '); // returns null on cancel if (result !== null) { result += '\n'; } } else if (typeof readline == 'function') { // Command line. result = readline(); if (result !== null) { result += '\n'; } } if (!result) { return null; } tty.input = intArrayFromString(result, true); } return tty.input.shift(); },put_char:function (tty, val) { if (val === null || val === 10) { out(UTF8ArrayToString(tty.output, 0)); tty.output = []; } else { if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. } },flush:function (tty) { if (tty.output && tty.output.length > 0) { out(UTF8ArrayToString(tty.output, 0)); tty.output = []; } }},default_tty1_ops:{put_char:function (tty, val) { if (val === null || val === 10) { err(UTF8ArrayToString(tty.output, 0)); tty.output = []; } else { if (val != 0) tty.output.push(val); } },flush:function (tty) { if (tty.output && tty.output.length > 0) { err(UTF8ArrayToString(tty.output, 0)); tty.output = []; } }}}; var MEMFS={ops_table:null,mount:function (mount) { return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); },createNode:function (parent, name, mode, dev) { if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { // no supported throw new FS.ErrnoError(ERRNO_CODES.EPERM); } if (!MEMFS.ops_table) { MEMFS.ops_table = { dir: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr, lookup: MEMFS.node_ops.lookup, mknod: MEMFS.node_ops.mknod, rename: MEMFS.node_ops.rename, unlink: MEMFS.node_ops.unlink, rmdir: MEMFS.node_ops.rmdir, readdir: MEMFS.node_ops.readdir, symlink: MEMFS.node_ops.symlink }, stream: { llseek: MEMFS.stream_ops.llseek } }, file: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr }, stream: { llseek: MEMFS.stream_ops.llseek, read: MEMFS.stream_ops.read, write: MEMFS.stream_ops.write, allocate: MEMFS.stream_ops.allocate, mmap: MEMFS.stream_ops.mmap, msync: MEMFS.stream_ops.msync } }, link: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr, readlink: MEMFS.node_ops.readlink }, stream: {} }, chrdev: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr }, stream: FS.chrdev_stream_ops } }; } var node = FS.createNode(parent, name, mode, dev); if (FS.isDir(node.mode)) { node.node_ops = MEMFS.ops_table.dir.node; node.stream_ops = MEMFS.ops_table.dir.stream; node.contents = {}; } else if (FS.isFile(node.mode)) { node.node_ops = MEMFS.ops_table.file.node; node.stream_ops = MEMFS.ops_table.file.stream; node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. node.contents = null; } else if (FS.isLink(node.mode)) { node.node_ops = MEMFS.ops_table.link.node; node.stream_ops = MEMFS.ops_table.link.stream; } else if (FS.isChrdev(node.mode)) { node.node_ops = MEMFS.ops_table.chrdev.node; node.stream_ops = MEMFS.ops_table.chrdev.stream; } node.timestamp = Date.now(); // add the new node to the parent if (parent) { parent.contents[name] = node; } return node; },getFileDataAsRegularArray:function (node) { if (node.contents && node.contents.subarray) { var arr = []; for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); return arr; // Returns a copy of the original data. } return node.contents; // No-op, the file contents are already in a JS array. Return as-is. },getFileDataAsTypedArray:function (node) { if (!node.contents) return new Uint8Array; if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. return new Uint8Array(node.contents); },expandFileStorage:function (node, newCapacity) { var prevCapacity = node.contents ? node.contents.length : 0; if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to // avoid overshooting the allocation cap by a very large margin. var CAPACITY_DOUBLING_MAX = 1024 * 1024; newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) | 0); if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. var oldContents = node.contents; node.contents = new Uint8Array(newCapacity); // Allocate new storage. if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. return; },resizeFileStorage:function (node, newSize) { if (node.usedBytes == newSize) return; if (newSize == 0) { node.contents = null; // Fully decommit when requesting a resize to zero. node.usedBytes = 0; return; } if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store. var oldContents = node.contents; node.contents = new Uint8Array(new ArrayBuffer(newSize)); // Allocate new storage. if (oldContents) { node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. } node.usedBytes = newSize; return; } // Backing with a JS array. if (!node.contents) node.contents = []; if (node.contents.length > newSize) node.contents.length = newSize; else while (node.contents.length < newSize) node.contents.push(0); node.usedBytes = newSize; },node_ops:{getattr:function (node) { var attr = {}; // device numbers reuse inode numbers. attr.dev = FS.isChrdev(node.mode) ? node.id : 1; attr.ino = node.id; attr.mode = node.mode; attr.nlink = 1; attr.uid = 0; attr.gid = 0; attr.rdev = node.rdev; if (FS.isDir(node.mode)) { attr.size = 4096; } else if (FS.isFile(node.mode)) { attr.size = node.usedBytes; } else if (FS.isLink(node.mode)) { attr.size = node.link.length; } else { attr.size = 0; } attr.atime = new Date(node.timestamp); attr.mtime = new Date(node.timestamp); attr.ctime = new Date(node.timestamp); // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), // but this is not required by the standard. attr.blksize = 4096; attr.blocks = Math.ceil(attr.size / attr.blksize); return attr; },setattr:function (node, attr) { if (attr.mode !== undefined) { node.mode = attr.mode; } if (attr.timestamp !== undefined) { node.timestamp = attr.timestamp; } if (attr.size !== undefined) { MEMFS.resizeFileStorage(node, attr.size); } },lookup:function (parent, name) { throw FS.genericErrors[ERRNO_CODES.ENOENT]; },mknod:function (parent, name, mode, dev) { return MEMFS.createNode(parent, name, mode, dev); },rename:function (old_node, new_dir, new_name) { // if we're overwriting a directory at new_name, make sure it's empty. if (FS.isDir(old_node.mode)) { var new_node; try { new_node = FS.lookupNode(new_dir, new_name); } catch (e) { } if (new_node) { for (var i in new_node.contents) { throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); } } } // do the internal rewiring delete old_node.parent.contents[old_node.name]; old_node.name = new_name; new_dir.contents[new_name] = old_node; old_node.parent = new_dir; },unlink:function (parent, name) { delete parent.contents[name]; },rmdir:function (parent, name) { var node = FS.lookupNode(parent, name); for (var i in node.contents) { throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); } delete parent.contents[name]; },readdir:function (node) { var entries = ['.', '..'] for (var key in node.contents) { if (!node.contents.hasOwnProperty(key)) { continue; } entries.push(key); } return entries; },symlink:function (parent, newname, oldpath) { var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0); node.link = oldpath; return node; },readlink:function (node) { if (!FS.isLink(node.mode)) { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } return node.link; }},stream_ops:{read:function (stream, buffer, offset, length, position) { var contents = stream.node.contents; if (position >= stream.node.usedBytes) return 0; var size = Math.min(stream.node.usedBytes - position, length); if (size > 8 && contents.subarray) { // non-trivial, and typed array buffer.set(contents.subarray(position, position + size), offset); } else { for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; } return size; },write:function (stream, buffer, offset, length, position, canOwn) { // If memory can grow, we don't want to hold on to references of // the memory Buffer, as they may get invalidated. That means // we need to do a copy here. canOwn = false; if (!length) return 0; var node = stream.node; node.timestamp = Date.now(); if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? if (canOwn) { node.contents = buffer.subarray(offset, offset + length); node.usedBytes = length; return length; } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); node.usedBytes = length; return length; } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? node.contents.set(buffer.subarray(offset, offset + length), position); return length; } } // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. MEMFS.expandFileStorage(node, position+length); if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); // Use typed array write if available. else { for (var i = 0; i < length; i++) { node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. } } node.usedBytes = Math.max(node.usedBytes, position+length); return length; },llseek:function (stream, offset, whence) { var position = offset; if (whence === 1) { // SEEK_CUR. position += stream.position; } else if (whence === 2) { // SEEK_END. if (FS.isFile(stream.node.mode)) { position += stream.node.usedBytes; } } if (position < 0) { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } return position; },allocate:function (stream, offset, length) { MEMFS.expandFileStorage(stream.node, offset + length); stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); },mmap:function (stream, buffer, offset, length, position, prot, flags) { if (!FS.isFile(stream.node.mode)) { throw new FS.ErrnoError(ERRNO_CODES.ENODEV); } var ptr; var allocated; var contents = stream.node.contents; // Only make a new copy when MAP_PRIVATE is specified. if ( !(flags & 2) && (contents.buffer === buffer || contents.buffer === buffer.buffer) ) { // We can't emulate MAP_SHARED when the file is not backed by the buffer // we're mapping to (e.g. the HEAP buffer). allocated = false; ptr = contents.byteOffset; } else { // Try to avoid unnecessary slices. if (position > 0 || position + length < stream.node.usedBytes) { if (contents.subarray) { contents = contents.subarray(position, position + length); } else { contents = Array.prototype.slice.call(contents, position, position + length); } } allocated = true; ptr = _malloc(length); if (!ptr) { throw new FS.ErrnoError(ERRNO_CODES.ENOMEM); } buffer.set(contents, ptr); } return { ptr: ptr, allocated: allocated }; },msync:function (stream, buffer, offset, length, mmapFlags) { if (!FS.isFile(stream.node.mode)) { throw new FS.ErrnoError(ERRNO_CODES.ENODEV); } if (mmapFlags & 2) { // MAP_PRIVATE calls need not to be synced back to underlying fs return 0; } var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); // should we check if bytesWritten and length are the same? return 0; }}}; var IDBFS={dbs:{},indexedDB:function () { if (typeof indexedDB !== 'undefined') return indexedDB; var ret = null; if (typeof window === 'object') ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; assert(ret, 'IDBFS used, but indexedDB not supported'); return ret; },DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function (mount) { // reuse all of the core MEMFS functionality return MEMFS.mount.apply(null, arguments); },syncfs:function (mount, populate, callback) { IDBFS.getLocalSet(mount, function(err, local) { if (err) return callback(err); IDBFS.getRemoteSet(mount, function(err, remote) { if (err) return callback(err); var src = populate ? remote : local; var dst = populate ? local : remote; IDBFS.reconcile(src, dst, callback); }); }); },getDB:function (name, callback) { // check the cache first var db = IDBFS.dbs[name]; if (db) { return callback(null, db); } var req; try { req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION); } catch (e) { return callback(e); } if (!req) { return callback("Unable to connect to IndexedDB"); } req.onupgradeneeded = function(e) { var db = e.target.result; var transaction = e.target.transaction; var fileStore; if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME); } else { fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME); } if (!fileStore.indexNames.contains('timestamp')) { fileStore.createIndex('timestamp', 'timestamp', { unique: false }); } }; req.onsuccess = function() { db = req.result; // add to the cache IDBFS.dbs[name] = db; callback(null, db); }; req.onerror = function(e) { callback(this.error); e.preventDefault(); }; },getLocalSet:function (mount, callback) { var entries = {}; function isRealDir(p) { return p !== '.' && p !== '..'; }; function toAbsolute(root) { return function(p) { return PATH.join2(root, p); } }; var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); while (check.length) { var path = check.pop(); var stat; try { stat = FS.stat(path); } catch (e) { return callback(e); } if (FS.isDir(stat.mode)) { check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))); } entries[path] = { timestamp: stat.mtime }; } return callback(null, { type: 'local', entries: entries }); },getRemoteSet:function (mount, callback) { var entries = {}; IDBFS.getDB(mount.mountpoint, function(err, db) { if (err) return callback(err); try { var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly'); transaction.onerror = function(e) { callback(this.error); e.preventDefault(); }; var store = transaction.objectStore(IDBFS.DB_STORE_NAME); var index = store.index('timestamp'); index.openKeyCursor().onsuccess = function(event) { var cursor = event.target.result; if (!cursor) { return callback(null, { type: 'remote', db: db, entries: entries }); } entries[cursor.primaryKey] = { timestamp: cursor.key }; cursor.continue(); }; } catch (e) { return callback(e); } }); },loadLocalEntry:function (path, callback) { var stat, node; try { var lookup = FS.lookupPath(path); node = lookup.node; stat = FS.stat(path); } catch (e) { return callback(e); } if (FS.isDir(stat.mode)) { return callback(null, { timestamp: stat.mtime, mode: stat.mode }); } else if (FS.isFile(stat.mode)) { // Performance consideration: storing a normal JavaScript array to a IndexedDB is much slower than storing a typed array. // Therefore always convert the file contents to a typed array first before writing the data to IndexedDB. node.contents = MEMFS.getFileDataAsTypedArray(node); return callback(null, { timestamp: stat.mtime, mode: stat.mode, contents: node.contents }); } else { return callback(new Error('node type not supported')); } },storeLocalEntry:function (path, entry, callback) { try { if (FS.isDir(entry.mode)) { FS.mkdir(path, entry.mode); } else if (FS.isFile(entry.mode)) { FS.writeFile(path, entry.contents, { canOwn: true }); } else { return callback(new Error('node type not supported')); } FS.chmod(path, entry.mode); FS.utime(path, entry.timestamp, entry.timestamp); } catch (e) { return callback(e); } callback(null); },removeLocalEntry:function (path, callback) { try { var lookup = FS.lookupPath(path); var stat = FS.stat(path); if (FS.isDir(stat.mode)) { FS.rmdir(path); } else if (FS.isFile(stat.mode)) { FS.unlink(path); } } catch (e) { return callback(e); } callback(null); },loadRemoteEntry:function (store, path, callback) { var req = store.get(path); req.onsuccess = function(event) { callback(null, event.target.result); }; req.onerror = function(e) { callback(this.error); e.preventDefault(); }; },storeRemoteEntry:function (store, path, entry, callback) { var req = store.put(entry, path); req.onsuccess = function() { callback(null); }; req.onerror = function(e) { callback(this.error); e.preventDefault(); }; },removeRemoteEntry:function (store, path, callback) { var req = store.delete(path); req.onsuccess = function() { callback(null); }; req.onerror = function(e) { callback(this.error); e.preventDefault(); }; },reconcile:function (src, dst, callback) { var total = 0; var create = []; Object.keys(src.entries).forEach(function (key) { var e = src.entries[key]; var e2 = dst.entries[key]; if (!e2 || e.timestamp > e2.timestamp) { create.push(key); total++; } }); var remove = []; Object.keys(dst.entries).forEach(function (key) { var e = dst.entries[key]; var e2 = src.entries[key]; if (!e2) { remove.push(key); total++; } }); if (!total) { return callback(null); } var errored = false; var completed = 0; var db = src.type === 'remote' ? src.db : dst.db; var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readwrite'); var store = transaction.objectStore(IDBFS.DB_STORE_NAME); function done(err) { if (err) { if (!done.errored) { done.errored = true; return callback(err); } return; } if (++completed >= total) { return callback(null); } }; transaction.onerror = function(e) { done(this.error); e.preventDefault(); }; // sort paths in ascending order so directory entries are created // before the files inside them create.sort().forEach(function (path) { if (dst.type === 'local') { IDBFS.loadRemoteEntry(store, path, function (err, entry) { if (err) return done(err); IDBFS.storeLocalEntry(path, entry, done); }); } else { IDBFS.loadLocalEntry(path, function (err, entry) { if (err) return done(err); IDBFS.storeRemoteEntry(store, path, entry, done); }); } }); // sort paths in descending order so files are deleted before their // parent directories remove.sort().reverse().forEach(function(path) { if (dst.type === 'local') { IDBFS.removeLocalEntry(path, done); } else { IDBFS.removeRemoteEntry(store, path, done); } }); }}; var NODEFS={isWindows:false,staticInit:function () { NODEFS.isWindows = !!process.platform.match(/^win/); var flags = process["binding"]("constants"); // Node.js 4 compatibility: it has no namespaces for constants if (flags["fs"]) { flags = flags["fs"]; } NODEFS.flagsForNodeMap = { "1024": flags["O_APPEND"], "64": flags["O_CREAT"], "128": flags["O_EXCL"], "0": flags["O_RDONLY"], "2": flags["O_RDWR"], "4096": flags["O_SYNC"], "512": flags["O_TRUNC"], "1": flags["O_WRONLY"] }; },bufferFrom:function (arrayBuffer) { // Node.js < 4.5 compatibility: Buffer.from does not support ArrayBuffer // Buffer.from before 4.5 was just a method inherited from Uint8Array // Buffer.alloc has been added with Buffer.from together, so check it instead return Buffer.alloc ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer); },mount:function (mount) { assert(ENVIRONMENT_IS_NODE); return NODEFS.createNode(null, '/', NODEFS.getMode(mount.opts.root), 0); },createNode:function (parent, name, mode, dev) { if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } var node = FS.createNode(parent, name, mode); node.node_ops = NODEFS.node_ops; node.stream_ops = NODEFS.stream_ops; return node; },getMode:function (path) { var stat; try { stat = fs.lstatSync(path); if (NODEFS.isWindows) { // Node.js on Windows never represents permission bit 'x', so // propagate read bits to execute bits stat.mode = stat.mode | ((stat.mode & 292) >> 2); } } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } return stat.mode; },realPath:function (node) { var parts = []; while (node.parent !== node) { parts.push(node.name); node = node.parent; } parts.push(node.mount.opts.root); parts.reverse(); return PATH.join.apply(null, parts); },flagsForNode:function (flags) { flags &= ~0x200000 /*O_PATH*/; // Ignore this flag from musl, otherwise node.js fails to open the file. flags &= ~0x800 /*O_NONBLOCK*/; // Ignore this flag from musl, otherwise node.js fails to open the file. flags &= ~0x8000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file. flags &= ~0x80000 /*O_CLOEXEC*/; // Some applications may pass it; it makes no sense for a single process. var newFlags = 0; for (var k in NODEFS.flagsForNodeMap) { if (flags & k) { newFlags |= NODEFS.flagsForNodeMap[k]; flags ^= k; } } if (!flags) { return newFlags; } else { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } },node_ops:{getattr:function (node) { var path = NODEFS.realPath(node); var stat; try { stat = fs.lstatSync(path); } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } // node.js v0.10.20 doesn't report blksize and blocks on Windows. Fake them with default blksize of 4096. // See http://support.microsoft.com/kb/140365 if (NODEFS.isWindows && !stat.blksize) { stat.blksize = 4096; } if (NODEFS.isWindows && !stat.blocks) { stat.blocks = (stat.size+stat.blksize-1)/stat.blksize|0; } return { dev: stat.dev, ino: stat.ino, mode: stat.mode, nlink: stat.nlink, uid: stat.uid, gid: stat.gid, rdev: stat.rdev, size: stat.size, atime: stat.atime, mtime: stat.mtime, ctime: stat.ctime, blksize: stat.blksize, blocks: stat.blocks }; },setattr:function (node, attr) { var path = NODEFS.realPath(node); try { if (attr.mode !== undefined) { fs.chmodSync(path, attr.mode); // update the common node structure mode as well node.mode = attr.mode; } if (attr.timestamp !== undefined) { var date = new Date(attr.timestamp); fs.utimesSync(path, date, date); } if (attr.size !== undefined) { fs.truncateSync(path, attr.size); } } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } },lookup:function (parent, name) { var path = PATH.join2(NODEFS.realPath(parent), name); var mode = NODEFS.getMode(path); return NODEFS.createNode(parent, name, mode); },mknod:function (parent, name, mode, dev) { var node = NODEFS.createNode(parent, name, mode, dev); // create the backing node for this in the fs root as well var path = NODEFS.realPath(node); try { if (FS.isDir(node.mode)) { fs.mkdirSync(path, node.mode); } else { fs.writeFileSync(path, '', { mode: node.mode }); } } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } return node; },rename:function (oldNode, newDir, newName) { var oldPath = NODEFS.realPath(oldNode); var newPath = PATH.join2(NODEFS.realPath(newDir), newName); try { fs.renameSync(oldPath, newPath); } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } },unlink:function (parent, name) { var path = PATH.join2(NODEFS.realPath(parent), name); try { fs.unlinkSync(path); } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } },rmdir:function (parent, name) { var path = PATH.join2(NODEFS.realPath(parent), name); try { fs.rmdirSync(path); } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } },readdir:function (node) { var path = NODEFS.realPath(node); try { return fs.readdirSync(path); } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } },symlink:function (parent, newName, oldPath) { var newPath = PATH.join2(NODEFS.realPath(parent), newName); try { fs.symlinkSync(oldPath, newPath); } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } },readlink:function (node) { var path = NODEFS.realPath(node); try { path = fs.readlinkSync(path); path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); return path; } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } }},stream_ops:{open:function (stream) { var path = NODEFS.realPath(stream.node); try { if (FS.isFile(stream.node.mode)) { stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags)); } } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } },close:function (stream) { try { if (FS.isFile(stream.node.mode) && stream.nfd) { fs.closeSync(stream.nfd); } } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } },read:function (stream, buffer, offset, length, position) { // Node.js < 6 compatibility: node errors on 0 length reads if (length === 0) return 0; try { return fs.readSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position); } catch (e) { throw new FS.ErrnoError(ERRNO_CODES[e.code]); } },write:function (stream, buffer, offset, length, position) { try { return fs.writeSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position); } catch (e) { throw new FS.ErrnoError(ERRNO_CODES[e.code]); } },llseek:function (stream, offset, whence) { var position = offset; if (whence === 1) { // SEEK_CUR. position += stream.position; } else if (whence === 2) { // SEEK_END. if (FS.isFile(stream.node.mode)) { try { var stat = fs.fstatSync(stream.nfd); position += stat.size; } catch (e) { throw new FS.ErrnoError(ERRNO_CODES[e.code]); } } } if (position < 0) { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } return position; }}}; var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function (mount) { assert(ENVIRONMENT_IS_WORKER); if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync(); var root = WORKERFS.createNode(null, '/', WORKERFS.DIR_MODE, 0); var createdParents = {}; function ensureParent(path) { // return the parent node, creating subdirs as necessary var parts = path.split('/'); var parent = root; for (var i = 0; i < parts.length-1; i++) { var curr = parts.slice(0, i+1).join('/'); // Issue 4254: Using curr as a node name will prevent the node // from being found in FS.nameTable when FS.open is called on // a path which holds a child of this node, // given that all FS functions assume node names // are just their corresponding parts within their given path, // rather than incremental aggregates which include their parent's // directories. if (!createdParents[curr]) { createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0); } parent = createdParents[curr]; } return parent; } function base(path) { var parts = path.split('/'); return parts[parts.length-1]; } // We also accept FileList here, by using Array.prototype Array.prototype.forEach.call(mount.opts["files"] || [], function(file) { WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate); }); (mount.opts["blobs"] || []).forEach(function(obj) { WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]); }); (mount.opts["packages"] || []).forEach(function(pack) { pack['metadata'].files.forEach(function(file) { var name = file.filename.substr(1); // remove initial slash WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack['blob'].slice(file.start, file.end)); }); }); return root; },createNode:function (parent, name, mode, dev, contents, mtime) { var node = FS.createNode(parent, name, mode); node.mode = mode; node.node_ops = WORKERFS.node_ops; node.stream_ops = WORKERFS.stream_ops; node.timestamp = (mtime || new Date).getTime(); assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); if (mode === WORKERFS.FILE_MODE) { node.size = contents.size; node.contents = contents; } else { node.size = 4096; node.contents = {}; } if (parent) { parent.contents[name] = node; } return node; },node_ops:{getattr:function (node) { return { dev: 1, ino: undefined, mode: node.mode, nlink: 1, uid: 0, gid: 0, rdev: undefined, size: node.size, atime: new Date(node.timestamp), mtime: new Date(node.timestamp), ctime: new Date(node.timestamp), blksize: 4096, blocks: Math.ceil(node.size / 4096), }; },setattr:function (node, attr) { if (attr.mode !== undefined) { node.mode = attr.mode; } if (attr.timestamp !== undefined) { node.timestamp = attr.timestamp; } },lookup:function (parent, name) { throw new FS.ErrnoError(ERRNO_CODES.ENOENT); },mknod:function (parent, name, mode, dev) { throw new FS.ErrnoError(ERRNO_CODES.EPERM); },rename:function (oldNode, newDir, newName) { throw new FS.ErrnoError(ERRNO_CODES.EPERM); },unlink:function (parent, name) { throw new FS.ErrnoError(ERRNO_CODES.EPERM); },rmdir:function (parent, name) { throw new FS.ErrnoError(ERRNO_CODES.EPERM); },readdir:function (node) { var entries = ['.', '..']; for (var key in node.contents) { if (!node.contents.hasOwnProperty(key)) { continue; } entries.push(key); } return entries; },symlink:function (parent, newName, oldPath) { throw new FS.ErrnoError(ERRNO_CODES.EPERM); },readlink:function (node) { throw new FS.ErrnoError(ERRNO_CODES.EPERM); }},stream_ops:{read:function (stream, buffer, offset, length, position) { if (position >= stream.node.size) return 0; var chunk = stream.node.contents.slice(position, position + length); var ab = WORKERFS.reader.readAsArrayBuffer(chunk); buffer.set(new Uint8Array(ab), offset); return chunk.size; },write:function (stream, buffer, offset, length, position) { throw new FS.ErrnoError(ERRNO_CODES.EIO); },llseek:function (stream, offset, whence) { var position = offset; if (whence === 1) { // SEEK_CUR. position += stream.position; } else if (whence === 2) { // SEEK_END. if (FS.isFile(stream.node.mode)) { position += stream.node.size; } } if (position < 0) { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } return position; }}}; var _stdin=1408336; var _stdout=1408352; var _stderr=1408368;var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function (e) { if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace(); return ___setErrNo(e.errno); },lookupPath:function (path, opts) { path = PATH.resolve(FS.cwd(), path); opts = opts || {}; if (!path) return { path: '', node: null }; var defaults = { follow_mount: true, recurse_count: 0 }; for (var key in defaults) { if (opts[key] === undefined) { opts[key] = defaults[key]; } } if (opts.recurse_count > 8) { // max recursive lookup of 8 throw new FS.ErrnoError(40); } // split the path var parts = PATH.normalizeArray(path.split('/').filter(function(p) { return !!p; }), false); // start at the root var current = FS.root; var current_path = '/'; for (var i = 0; i < parts.length; i++) { var islast = (i === parts.length-1); if (islast && opts.parent) { // stop resolving break; } current = FS.lookupNode(current, parts[i]); current_path = PATH.join2(current_path, parts[i]); // jump to the mount's root node if this is a mountpoint if (FS.isMountpoint(current)) { if (!islast || (islast && opts.follow_mount)) { current = current.mounted.root; } } // by default, lookupPath will not follow a symlink if it is the final path component. // setting opts.follow = true will override this behavior. if (!islast || opts.follow) { var count = 0; while (FS.isLink(current.mode)) { var link = FS.readlink(current_path); current_path = PATH.resolve(PATH.dirname(current_path), link); var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count }); current = lookup.node; if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). throw new FS.ErrnoError(40); } } } } return { path: current_path, node: current }; },getPath:function (node) { var path; while (true) { if (FS.isRoot(node)) { var mount = node.mount.mountpoint; if (!path) return mount; return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path; } path = path ? node.name + '/' + path : node.name; node = node.parent; } },hashName:function (parentid, name) { var hash = 0; for (var i = 0; i < name.length; i++) { hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; } return ((parentid + hash) >>> 0) % FS.nameTable.length; },hashAddNode:function (node) { var hash = FS.hashName(node.parent.id, node.name); node.name_next = FS.nameTable[hash]; FS.nameTable[hash] = node; },hashRemoveNode:function (node) { var hash = FS.hashName(node.parent.id, node.name); if (FS.nameTable[hash] === node) { FS.nameTable[hash] = node.name_next; } else { var current = FS.nameTable[hash]; while (current) { if (current.name_next === node) { current.name_next = node.name_next; break; } current = current.name_next; } } },lookupNode:function (parent, name) { var err = FS.mayLookup(parent); if (err) { throw new FS.ErrnoError(err, parent); } var hash = FS.hashName(parent.id, name); for (var node = FS.nameTable[hash]; node; node = node.name_next) { var nodeName = node.name; if (node.parent.id === parent.id && nodeName === name) { return node; } } // if we failed to find it in the cache, call into the VFS return FS.lookup(parent, name); },createNode:function (parent, name, mode, rdev) { if (!FS.FSNode) { FS.FSNode = function(parent, name, mode, rdev) { if (!parent) { parent = this; // root node sets parent to itself } this.parent = parent; this.mount = parent.mount; this.mounted = null; this.id = FS.nextInode++; this.name = name; this.mode = mode; this.node_ops = {}; this.stream_ops = {}; this.rdev = rdev; }; FS.FSNode.prototype = {}; // compatibility var readMode = 292 | 73; var writeMode = 146; // NOTE we must use Object.defineProperties instead of individual calls to // Object.defineProperty in order to make closure compiler happy Object.defineProperties(FS.FSNode.prototype, { read: { get: function() { return (this.mode & readMode) === readMode; }, set: function(val) { val ? this.mode |= readMode : this.mode &= ~readMode; } }, write: { get: function() { return (this.mode & writeMode) === writeMode; }, set: function(val) { val ? this.mode |= writeMode : this.mode &= ~writeMode; } }, isFolder: { get: function() { return FS.isDir(this.mode); } }, isDevice: { get: function() { return FS.isChrdev(this.mode); } } }); } var node = new FS.FSNode(parent, name, mode, rdev); FS.hashAddNode(node); return node; },destroyNode:function (node) { FS.hashRemoveNode(node); },isRoot:function (node) { return node === node.parent; },isMountpoint:function (node) { return !!node.mounted; },isFile:function (mode) { return (mode & 61440) === 32768; },isDir:function (mode) { return (mode & 61440) === 16384; },isLink:function (mode) { return (mode & 61440) === 40960; },isChrdev:function (mode) { return (mode & 61440) === 8192; },isBlkdev:function (mode) { return (mode & 61440) === 24576; },isFIFO:function (mode) { return (mode & 61440) === 4096; },isSocket:function (mode) { return (mode & 49152) === 49152; },flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function (str) { var flags = FS.flagModes[str]; if (typeof flags === 'undefined') { throw new Error('Unknown file open mode: ' + str); } return flags; },flagsToPermissionString:function (flag) { var perms = ['r', 'w', 'rw'][flag & 3]; if ((flag & 512)) { perms += 'w'; } return perms; },nodePermissions:function (node, perms) { if (FS.ignorePermissions) { return 0; } // return 0 if any user, group or owner bits are set. if (perms.indexOf('r') !== -1 && !(node.mode & 292)) { return 13; } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) { return 13; } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) { return 13; } return 0; },mayLookup:function (dir) { var err = FS.nodePermissions(dir, 'x'); if (err) return err; if (!dir.node_ops.lookup) return 13; return 0; },mayCreate:function (dir, name) { try { var node = FS.lookupNode(dir, name); return 17; } catch (e) { } return FS.nodePermissions(dir, 'wx'); },mayDelete:function (dir, name, isdir) { var node; try { node = FS.lookupNode(dir, name); } catch (e) { return e.errno; } var err = FS.nodePermissions(dir, 'wx'); if (err) { return err; } if (isdir) { if (!FS.isDir(node.mode)) { return 20; } if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { return 16; } } else { if (FS.isDir(node.mode)) { return 21; } } return 0; },mayOpen:function (node, flags) { if (!node) { return 2; } if (FS.isLink(node.mode)) { return 40; } else if (FS.isDir(node.mode)) { if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) return 21; } } return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); },MAX_OPEN_FDS:4096,nextfd:function (fd_start, fd_end) { fd_start = fd_start || 0; fd_end = fd_end || FS.MAX_OPEN_FDS; for (var fd = fd_start; fd <= fd_end; fd++) { if (!FS.streams[fd]) { return fd; } } throw new FS.ErrnoError(24); },getStream:function (fd) { return FS.streams[fd]; },createStream:function (stream, fd_start, fd_end) { if (!FS.FSStream) { FS.FSStream = function(){}; FS.FSStream.prototype = {}; // compatibility Object.defineProperties(FS.FSStream.prototype, { object: { get: function() { return this.node; }, set: function(val) { this.node = val; } }, isRead: { get: function() { return (this.flags & 2097155) !== 1; } }, isWrite: { get: function() { return (this.flags & 2097155) !== 0; } }, isAppend: { get: function() { return (this.flags & 1024); } } }); } // clone it, so we can return an instance of FSStream var newStream = new FS.FSStream(); for (var p in stream) { newStream[p] = stream[p]; } stream = newStream; var fd = FS.nextfd(fd_start, fd_end); stream.fd = fd; FS.streams[fd] = stream; return stream; },closeStream:function (fd) { FS.streams[fd] = null; },chrdev_stream_ops:{open:function (stream) { var device = FS.getDevice(stream.node.rdev); // override node's stream ops with the device's stream.stream_ops = device.stream_ops; // forward the open call if (stream.stream_ops.open) { stream.stream_ops.open(stream); } },llseek:function () { throw new FS.ErrnoError(29); }},major:function (dev) { return ((dev) >> 8); },minor:function (dev) { return ((dev) & 0xff); },makedev:function (ma, mi) { return ((ma) << 8 | (mi)); },registerDevice:function (dev, ops) { FS.devices[dev] = { stream_ops: ops }; },getDevice:function (dev) { return FS.devices[dev]; },getMounts:function (mount) { var mounts = []; var check = [mount]; while (check.length) { var m = check.pop(); mounts.push(m); check.push.apply(check, m.mounts); } return mounts; },syncfs:function (populate, callback) { if (typeof(populate) === 'function') { callback = populate; populate = false; } FS.syncFSRequests++; if (FS.syncFSRequests > 1) { console.log('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work'); } var mounts = FS.getMounts(FS.root.mount); var completed = 0; function doCallback(err) { FS.syncFSRequests--; return callback(err); } function done(err) { if (err) { if (!done.errored) { done.errored = true; return doCallback(err); } return; } if (++completed >= mounts.length) { doCallback(null); } }; // sync all mounts mounts.forEach(function (mount) { if (!mount.type.syncfs) { return done(null); } mount.type.syncfs(mount, populate, done); }); },mount:function (type, opts, mountpoint) { var root = mountpoint === '/'; var pseudo = !mountpoint; var node; if (root && FS.root) { throw new FS.ErrnoError(16); } else if (!root && !pseudo) { var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); mountpoint = lookup.path; // use the absolute path node = lookup.node; if (FS.isMountpoint(node)) { throw new FS.ErrnoError(16); } if (!FS.isDir(node.mode)) { throw new FS.ErrnoError(20); } } var mount = { type: type, opts: opts, mountpoint: mountpoint, mounts: [] }; // create a root node for the fs var mountRoot = type.mount(mount); mountRoot.mount = mount; mount.root = mountRoot; if (root) { FS.root = mountRoot; } else if (node) { // set as a mountpoint node.mounted = mount; // add the new mount to the current mount's children if (node.mount) { node.mount.mounts.push(mount); } } return mountRoot; },unmount:function (mountpoint) { var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); if (!FS.isMountpoint(lookup.node)) { throw new FS.ErrnoError(22); } // destroy the nodes for this mount, and all its child mounts var node = lookup.node; var mount = node.mounted; var mounts = FS.getMounts(mount); Object.keys(FS.nameTable).forEach(function (hash) { var current = FS.nameTable[hash]; while (current) { var next = current.name_next; if (mounts.indexOf(current.mount) !== -1) { FS.destroyNode(current); } current = next; } }); // no longer a mountpoint node.mounted = null; // remove this mount from the child mounts var idx = node.mount.mounts.indexOf(mount); node.mount.mounts.splice(idx, 1); },lookup:function (parent, name) { return parent.node_ops.lookup(parent, name); },mknod:function (path, mode, dev) { var lookup = FS.lookupPath(path, { parent: true }); var parent = lookup.node; var name = PATH.basename(path); if (!name || name === '.' || name === '..') { throw new FS.ErrnoError(22); } var err = FS.mayCreate(parent, name); if (err) { throw new FS.ErrnoError(err); } if (!parent.node_ops.mknod) { throw new FS.ErrnoError(1); } return parent.node_ops.mknod(parent, name, mode, dev); },create:function (path, mode) { mode = mode !== undefined ? mode : 438 /* 0666 */; mode &= 4095; mode |= 32768; return FS.mknod(path, mode, 0); },mkdir:function (path, mode) { mode = mode !== undefined ? mode : 511 /* 0777 */; mode &= 511 | 512; mode |= 16384; return FS.mknod(path, mode, 0); },mkdirTree:function (path, mode) { var dirs = path.split('/'); var d = ''; for (var i = 0; i < dirs.length; ++i) { if (!dirs[i]) continue; d += '/' + dirs[i]; try { FS.mkdir(d, mode); } catch(e) { if (e.errno != 17) throw e; } } },mkdev:function (path, mode, dev) { if (typeof(dev) === 'undefined') { dev = mode; mode = 438 /* 0666 */; } mode |= 8192; return FS.mknod(path, mode, dev); },symlink:function (oldpath, newpath) { if (!PATH.resolve(oldpath)) { throw new FS.ErrnoError(2); } var lookup = FS.lookupPath(newpath, { parent: true }); var parent = lookup.node; if (!parent) { throw new FS.ErrnoError(2); } var newname = PATH.basename(newpath); var err = FS.mayCreate(parent, newname); if (err) { throw new FS.ErrnoError(err); } if (!parent.node_ops.symlink) { throw new FS.ErrnoError(1); } return parent.node_ops.symlink(parent, newname, oldpath); },rename:function (old_path, new_path) { var old_dirname = PATH.dirname(old_path); var new_dirname = PATH.dirname(new_path); var old_name = PATH.basename(old_path); var new_name = PATH.basename(new_path); // parents must exist var lookup, old_dir, new_dir; try { lookup = FS.lookupPath(old_path, { parent: true }); old_dir = lookup.node; lookup = FS.lookupPath(new_path, { parent: true }); new_dir = lookup.node; } catch (e) { throw new FS.ErrnoError(16); } if (!old_dir || !new_dir) throw new FS.ErrnoError(2); // need to be part of the same mount if (old_dir.mount !== new_dir.mount) { throw new FS.ErrnoError(18); } // source must exist var old_node = FS.lookupNode(old_dir, old_name); // old path should not be an ancestor of the new path var relative = PATH.relative(old_path, new_dirname); if (relative.charAt(0) !== '.') { throw new FS.ErrnoError(22); } // new path should not be an ancestor of the old path relative = PATH.relative(new_path, old_dirname); if (relative.charAt(0) !== '.') { throw new FS.ErrnoError(39); } // see if the new path already exists var new_node; try { new_node = FS.lookupNode(new_dir, new_name); } catch (e) { // not fatal } // early out if nothing needs to change if (old_node === new_node) { return; } // we'll need to delete the old entry var isdir = FS.isDir(old_node.mode); var err = FS.mayDelete(old_dir, old_name, isdir); if (err) { throw new FS.ErrnoError(err); } // need delete permissions if we'll be overwriting. // need create permissions if new doesn't already exist. err = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); if (err) { throw new FS.ErrnoError(err); } if (!old_dir.node_ops.rename) { throw new FS.ErrnoError(1); } if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { throw new FS.ErrnoError(16); } // if we are going to change the parent, check write permissions if (new_dir !== old_dir) { err = FS.nodePermissions(old_dir, 'w'); if (err) { throw new FS.ErrnoError(err); } } try { if (FS.trackingDelegate['willMovePath']) { FS.trackingDelegate['willMovePath'](old_path, new_path); } } catch(e) { console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); } // remove the node from the lookup hash FS.hashRemoveNode(old_node); // do the underlying fs rename try { old_dir.node_ops.rename(old_node, new_dir, new_name); } catch (e) { throw e; } finally { // add the node back to the hash (in case node_ops.rename // changed its name) FS.hashAddNode(old_node); } try { if (FS.trackingDelegate['onMovePath']) FS.trackingDelegate['onMovePath'](old_path, new_path); } catch(e) { console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); } },rmdir:function (path) { var lookup = FS.lookupPath(path, { parent: true }); var parent = lookup.node; var name = PATH.basename(path); var node = FS.lookupNode(parent, name); var err = FS.mayDelete(parent, name, true); if (err) { throw new FS.ErrnoError(err); } if (!parent.node_ops.rmdir) { throw new FS.ErrnoError(1); } if (FS.isMountpoint(node)) { throw new FS.ErrnoError(16); } try { if (FS.trackingDelegate['willDeletePath']) { FS.trackingDelegate['willDeletePath'](path); } } catch(e) { console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); } parent.node_ops.rmdir(parent, name); FS.destroyNode(node); try { if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); } catch(e) { console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); } },readdir:function (path) { var lookup = FS.lookupPath(path, { follow: true }); var node = lookup.node; if (!node.node_ops.readdir) { throw new FS.ErrnoError(20); } return node.node_ops.readdir(node); },unlink:function (path) { var lookup = FS.lookupPath(path, { parent: true }); var parent = lookup.node; var name = PATH.basename(path); var node = FS.lookupNode(parent, name); var err = FS.mayDelete(parent, name, false); if (err) { // According to POSIX, we should map EISDIR to EPERM, but // we instead do what Linux does (and we must, as we use // the musl linux libc). throw new FS.ErrnoError(err); } if (!parent.node_ops.unlink) { throw new FS.ErrnoError(1); } if (FS.isMountpoint(node)) { throw new FS.ErrnoError(16); } try { if (FS.trackingDelegate['willDeletePath']) { FS.trackingDelegate['willDeletePath'](path); } } catch(e) { console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); } parent.node_ops.unlink(parent, name); FS.destroyNode(node); try { if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); } catch(e) { console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); } },readlink:function (path) { var lookup = FS.lookupPath(path); var link = lookup.node; if (!link) { throw new FS.ErrnoError(2); } if (!link.node_ops.readlink) { throw new FS.ErrnoError(22); } return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); },stat:function (path, dontFollow) { var lookup = FS.lookupPath(path, { follow: !dontFollow }); var node = lookup.node; if (!node) { throw new FS.ErrnoError(2); } if (!node.node_ops.getattr) { throw new FS.ErrnoError(1); } return node.node_ops.getattr(node); },lstat:function (path) { return FS.stat(path, true); },chmod:function (path, mode, dontFollow) { var node; if (typeof path === 'string') { var lookup = FS.lookupPath(path, { follow: !dontFollow }); node = lookup.node; } else { node = path; } if (!node.node_ops.setattr) { throw new FS.ErrnoError(1); } node.node_ops.setattr(node, { mode: (mode & 4095) | (node.mode & ~4095), timestamp: Date.now() }); },lchmod:function (path, mode) { FS.chmod(path, mode, true); },fchmod:function (fd, mode) { var stream = FS.getStream(fd); if (!stream) { throw new FS.ErrnoError(9); } FS.chmod(stream.node, mode); },chown:function (path, uid, gid, dontFollow) { var node; if (typeof path === 'string') { var lookup = FS.lookupPath(path, { follow: !dontFollow }); node = lookup.node; } else { node = path; } if (!node.node_ops.setattr) { throw new FS.ErrnoError(1); } node.node_ops.setattr(node, { timestamp: Date.now() // we ignore the uid / gid for now }); },lchown:function (path, uid, gid) { FS.chown(path, uid, gid, true); },fchown:function (fd, uid, gid) { var stream = FS.getStream(fd); if (!stream) { throw new FS.ErrnoError(9); } FS.chown(stream.node, uid, gid); },truncate:function (path, len) { if (len < 0) { throw new FS.ErrnoError(22); } var node; if (typeof path === 'string') { var lookup = FS.lookupPath(path, { follow: true }); node = lookup.node; } else { node = path; } if (!node.node_ops.setattr) { throw new FS.ErrnoError(1); } if (FS.isDir(node.mode)) { throw new FS.ErrnoError(21); } if (!FS.isFile(node.mode)) { throw new FS.ErrnoError(22); } var err = FS.nodePermissions(node, 'w'); if (err) { throw new FS.ErrnoError(err); } node.node_ops.setattr(node, { size: len, timestamp: Date.now() }); },ftruncate:function (fd, len) { var stream = FS.getStream(fd); if (!stream) { throw new FS.ErrnoError(9); } if ((stream.flags & 2097155) === 0) { throw new FS.ErrnoError(22); } FS.truncate(stream.node, len); },utime:function (path, atime, mtime) { var lookup = FS.lookupPath(path, { follow: true }); var node = lookup.node; node.node_ops.setattr(node, { timestamp: Math.max(atime, mtime) }); },open:function (path, flags, mode, fd_start, fd_end) { if (path === "") { throw new FS.ErrnoError(2); } flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags; mode = typeof mode === 'undefined' ? 438 /* 0666 */ : mode; if ((flags & 64)) { mode = (mode & 4095) | 32768; } else { mode = 0; } var node; if (typeof path === 'object') { node = path; } else { path = PATH.normalize(path); try { var lookup = FS.lookupPath(path, { follow: !(flags & 131072) }); node = lookup.node; } catch (e) { // ignore } } // perhaps we need to create the node var created = false; if ((flags & 64)) { if (node) { // if O_CREAT and O_EXCL are set, error out if the node already exists if ((flags & 128)) { throw new FS.ErrnoError(17); } } else { // node doesn't exist, try to create it node = FS.mknod(path, mode, 0); created = true; } } if (!node) { throw new FS.ErrnoError(2); } // can't truncate a device if (FS.isChrdev(node.mode)) { flags &= ~512; } // if asked only for a directory, then this must be one if ((flags & 65536) && !FS.isDir(node.mode)) { throw new FS.ErrnoError(20); } // check permissions, if this is not a file we just created now (it is ok to // create and write to a file with read-only permissions; it is read-only // for later use) if (!created) { var err = FS.mayOpen(node, flags); if (err) { throw new FS.ErrnoError(err); } } // do truncation if necessary if ((flags & 512)) { FS.truncate(node, 0); } // we've already handled these, don't pass down to the underlying vfs flags &= ~(128 | 512); // register the stream with the filesystem var stream = FS.createStream({ node: node, path: FS.getPath(node), // we want the absolute path to the node flags: flags, seekable: true, position: 0, stream_ops: node.stream_ops, // used by the file family libc calls (fopen, fwrite, ferror, etc.) ungotten: [], error: false }, fd_start, fd_end); // call the new stream's open function if (stream.stream_ops.open) { stream.stream_ops.open(stream); } if (Module['logReadFiles'] && !(flags & 1)) { if (!FS.readFiles) FS.readFiles = {}; if (!(path in FS.readFiles)) { FS.readFiles[path] = 1; console.log("FS.trackingDelegate error on read file: " + path); } } try { if (FS.trackingDelegate['onOpenFile']) { var trackingFlags = 0; if ((flags & 2097155) !== 1) { trackingFlags |= FS.tracking.openFlags.READ; } if ((flags & 2097155) !== 0) { trackingFlags |= FS.tracking.openFlags.WRITE; } FS.trackingDelegate['onOpenFile'](path, trackingFlags); } } catch(e) { console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message); } return stream; },close:function (stream) { if (FS.isClosed(stream)) { throw new FS.ErrnoError(9); } if (stream.getdents) stream.getdents = null; // free readdir state try { if (stream.stream_ops.close) { stream.stream_ops.close(stream); } } catch (e) { throw e; } finally { FS.closeStream(stream.fd); } stream.fd = null; },isClosed:function (stream) { return stream.fd === null; },llseek:function (stream, offset, whence) { if (FS.isClosed(stream)) { throw new FS.ErrnoError(9); } if (!stream.seekable || !stream.stream_ops.llseek) { throw new FS.ErrnoError(29); } if (whence != 0 /* SEEK_SET */ && whence != 1 /* SEEK_CUR */ && whence != 2 /* SEEK_END */) { throw new FS.ErrnoError(22); } stream.position = stream.stream_ops.llseek(stream, offset, whence); stream.ungotten = []; return stream.position; },read:function (stream, buffer, offset, length, position) { if (length < 0 || position < 0) { throw new FS.ErrnoError(22); } if (FS.isClosed(stream)) { throw new FS.ErrnoError(9); } if ((stream.flags & 2097155) === 1) { throw new FS.ErrnoError(9); } if (FS.isDir(stream.node.mode)) { throw new FS.ErrnoError(21); } if (!stream.stream_ops.read) { throw new FS.ErrnoError(22); } var seeking = typeof position !== 'undefined'; if (!seeking) { position = stream.position; } else if (!stream.seekable) { throw new FS.ErrnoError(29); } var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); if (!seeking) stream.position += bytesRead; return bytesRead; },write:function (stream, buffer, offset, length, position, canOwn) { if (length < 0 || position < 0) { throw new FS.ErrnoError(22); } if (FS.isClosed(stream)) { throw new FS.ErrnoError(9); } if ((stream.flags & 2097155) === 0) { throw new FS.ErrnoError(9); } if (FS.isDir(stream.node.mode)) { throw new FS.ErrnoError(21); } if (!stream.stream_ops.write) { throw new FS.ErrnoError(22); } if (stream.flags & 1024) { // seek to the end before writing in append mode FS.llseek(stream, 0, 2); } var seeking = typeof position !== 'undefined'; if (!seeking) { position = stream.position; } else if (!stream.seekable) { throw new FS.ErrnoError(29); } var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); if (!seeking) stream.position += bytesWritten; try { if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path); } catch(e) { console.log("FS.trackingDelegate['onWriteToFile']('"+stream.path+"') threw an exception: " + e.message); } return bytesWritten; },allocate:function (stream, offset, length) { if (FS.isClosed(stream)) { throw new FS.ErrnoError(9); } if (offset < 0 || length <= 0) { throw new FS.ErrnoError(22); } if ((stream.flags & 2097155) === 0) { throw new FS.ErrnoError(9); } if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { throw new FS.ErrnoError(19); } if (!stream.stream_ops.allocate) { throw new FS.ErrnoError(95); } stream.stream_ops.allocate(stream, offset, length); },mmap:function (stream, buffer, offset, length, position, prot, flags) { // TODO if PROT is PROT_WRITE, make sure we have write access if ((stream.flags & 2097155) === 1) { throw new FS.ErrnoError(13); } if (!stream.stream_ops.mmap) { throw new FS.ErrnoError(19); } return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags); },msync:function (stream, buffer, offset, length, mmapFlags) { if (!stream || !stream.stream_ops.msync) { return 0; } return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); },munmap:function (stream) { return 0; },ioctl:function (stream, cmd, arg) { if (!stream.stream_ops.ioctl) { throw new FS.ErrnoError(25); } return stream.stream_ops.ioctl(stream, cmd, arg); },readFile:function (path, opts) { opts = opts || {}; opts.flags = opts.flags || 'r'; opts.encoding = opts.encoding || 'binary'; if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { throw new Error('Invalid encoding type "' + opts.encoding + '"'); } var ret; var stream = FS.open(path, opts.flags); var stat = FS.stat(path); var length = stat.size; var buf = new Uint8Array(length); FS.read(stream, buf, 0, length, 0); if (opts.encoding === 'utf8') { ret = UTF8ArrayToString(buf, 0); } else if (opts.encoding === 'binary') { ret = buf; } FS.close(stream); return ret; },writeFile:function (path, data, opts) { opts = opts || {}; opts.flags = opts.flags || 'w'; var stream = FS.open(path, opts.flags, opts.mode); if (typeof data === 'string') { var buf = new Uint8Array(lengthBytesUTF8(data)+1); var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); } else if (ArrayBuffer.isView(data)) { FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); } else { throw new Error('Unsupported data type'); } FS.close(stream); },cwd:function () { return FS.currentPath; },chdir:function (path) { var lookup = FS.lookupPath(path, { follow: true }); if (lookup.node === null) { throw new FS.ErrnoError(2); } if (!FS.isDir(lookup.node.mode)) { throw new FS.ErrnoError(20); } var err = FS.nodePermissions(lookup.node, 'x'); if (err) { throw new FS.ErrnoError(err); } FS.currentPath = lookup.path; },createDefaultDirectories:function () { FS.mkdir('/tmp'); FS.mkdir('/home'); FS.mkdir('/home/web_user'); },createDefaultDevices:function () { // create /dev FS.mkdir('/dev'); // setup /dev/null FS.registerDevice(FS.makedev(1, 3), { read: function() { return 0; }, write: function(stream, buffer, offset, length, pos) { return length; } }); FS.mkdev('/dev/null', FS.makedev(1, 3)); // setup /dev/tty and /dev/tty1 // stderr needs to print output using Module['printErr'] // so we register a second tty just for it. TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); FS.mkdev('/dev/tty', FS.makedev(5, 0)); FS.mkdev('/dev/tty1', FS.makedev(6, 0)); // setup /dev/[u]random var random_device; if (typeof crypto === 'object' && typeof crypto['getRandomValues'] === 'function') { // for modern web browsers var randomBuffer = new Uint8Array(1); random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; }; } else if (ENVIRONMENT_IS_NODE) { // for nodejs with or without crypto support included try { var crypto_module = require('crypto'); // nodejs has crypto support random_device = function() { return crypto_module['randomBytes'](1)[0]; }; } catch (e) { // nodejs doesn't have crypto support } } else {} if (!random_device) { // we couldn't find a proper implementation, as Math.random() is not suitable for /dev/random, see emscripten-core/emscripten/pull/7096 random_device = function() { abort("random_device"); }; } FS.createDevice('/dev', 'random', random_device); FS.createDevice('/dev', 'urandom', random_device); // we're not going to emulate the actual shm device, // just create the tmp dirs that reside in it commonly FS.mkdir('/dev/shm'); FS.mkdir('/dev/shm/tmp'); },createSpecialDirectories:function () { // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname) FS.mkdir('/proc'); FS.mkdir('/proc/self'); FS.mkdir('/proc/self/fd'); FS.mount({ mount: function() { var node = FS.createNode('/proc/self', 'fd', 16384 | 511 /* 0777 */, 73); node.node_ops = { lookup: function(parent, name) { var fd = +name; var stream = FS.getStream(fd); if (!stream) throw new FS.ErrnoError(9); var ret = { parent: null, mount: { mountpoint: 'fake' }, node_ops: { readlink: function() { return stream.path } } }; ret.parent = ret; // make it look like a simple root node return ret; } }; return node; } }, {}, '/proc/self/fd'); },createStandardStreams:function () { // TODO deprecate the old functionality of a single // input / output callback and that utilizes FS.createDevice // and instead require a unique set of stream ops // by default, we symlink the standard streams to the // default tty devices. however, if the standard streams // have been overwritten we create a unique device for // them instead. if (Module['stdin']) { FS.createDevice('/dev', 'stdin', Module['stdin']); } else { FS.symlink('/dev/tty', '/dev/stdin'); } if (Module['stdout']) { FS.createDevice('/dev', 'stdout', null, Module['stdout']); } else { FS.symlink('/dev/tty', '/dev/stdout'); } if (Module['stderr']) { FS.createDevice('/dev', 'stderr', null, Module['stderr']); } else { FS.symlink('/dev/tty1', '/dev/stderr'); } // open default streams for the stdin, stdout and stderr devices var stdin = FS.open('/dev/stdin', 'r'); var stdout = FS.open('/dev/stdout', 'w'); var stderr = FS.open('/dev/stderr', 'w'); },ensureErrnoError:function () { if (FS.ErrnoError) return; FS.ErrnoError = function ErrnoError(errno, node) { this.node = node; this.setErrno = function(errno) { this.errno = errno; }; this.setErrno(errno); this.message = 'FS error'; // Node.js compatibility: assigning on this.stack fails on Node 4 (but fixed on Node 8) if (this.stack) Object.defineProperty(this, "stack", { value: (new Error).stack, writable: true }); }; FS.ErrnoError.prototype = new Error(); FS.ErrnoError.prototype.constructor = FS.ErrnoError; // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) [2].forEach(function(code) { FS.genericErrors[code] = new FS.ErrnoError(code); FS.genericErrors[code].stack = ''; }); },staticInit:function () { FS.ensureErrnoError(); FS.nameTable = new Array(4096); FS.mount(MEMFS, {}, '/'); FS.createDefaultDirectories(); FS.createDefaultDevices(); FS.createSpecialDirectories(); FS.filesystems = { 'MEMFS': MEMFS, 'IDBFS': IDBFS, 'NODEFS': NODEFS, 'WORKERFS': WORKERFS, }; },init:function (input, output, error) { FS.init.initialized = true; FS.ensureErrnoError(); // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here Module['stdin'] = input || Module['stdin']; Module['stdout'] = output || Module['stdout']; Module['stderr'] = error || Module['stderr']; FS.createStandardStreams(); },quit:function () { FS.init.initialized = false; // force-flush all streams, so we get musl std streams printed out var fflush = Module['_fflush']; if (fflush) fflush(0); // close all of our streams for (var i = 0; i < FS.streams.length; i++) { var stream = FS.streams[i]; if (!stream) { continue; } FS.close(stream); } },getMode:function (canRead, canWrite) { var mode = 0; if (canRead) mode |= 292 | 73; if (canWrite) mode |= 146; return mode; },joinPath:function (parts, forceRelative) { var path = PATH.join.apply(null, parts); if (forceRelative && path[0] == '/') path = path.substr(1); return path; },absolutePath:function (relative, base) { return PATH.resolve(base, relative); },standardizePath:function (path) { return PATH.normalize(path); },findObject:function (path, dontResolveLastLink) { var ret = FS.analyzePath(path, dontResolveLastLink); if (ret.exists) { return ret.object; } else { ___setErrNo(ret.error); return null; } },analyzePath:function (path, dontResolveLastLink) { // operate from within the context of the symlink's target try { var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); path = lookup.path; } catch (e) { } var ret = { isRoot: false, exists: false, error: 0, name: null, path: null, object: null, parentExists: false, parentPath: null, parentObject: null }; try { var lookup = FS.lookupPath(path, { parent: true }); ret.parentExists = true; ret.parentPath = lookup.path; ret.parentObject = lookup.node; ret.name = PATH.basename(path); lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); ret.exists = true; ret.path = lookup.path; ret.object = lookup.node; ret.name = lookup.node.name; ret.isRoot = lookup.path === '/'; } catch (e) { ret.error = e.errno; }; return ret; },createFolder:function (parent, name, canRead, canWrite) { var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); var mode = FS.getMode(canRead, canWrite); return FS.mkdir(path, mode); },createPath:function (parent, path, canRead, canWrite) { parent = typeof parent === 'string' ? parent : FS.getPath(parent); var parts = path.split('/').reverse(); while (parts.length) { var part = parts.pop(); if (!part) continue; var current = PATH.join2(parent, part); try { FS.mkdir(current); } catch (e) { // ignore EEXIST } parent = current; } return current; },createFile:function (parent, name, properties, canRead, canWrite) { var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); var mode = FS.getMode(canRead, canWrite); return FS.create(path, mode); },createDataFile:function (parent, name, data, canRead, canWrite, canOwn) { var path = name ? PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name) : parent; var mode = FS.getMode(canRead, canWrite); var node = FS.create(path, mode); if (data) { if (typeof data === 'string') { var arr = new Array(data.length); for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); data = arr; } // make sure we can write to the file FS.chmod(node, mode | 146); var stream = FS.open(node, 'w'); FS.write(stream, data, 0, data.length, 0, canOwn); FS.close(stream); FS.chmod(node, mode); } return node; },createDevice:function (parent, name, input, output) { var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); var mode = FS.getMode(!!input, !!output); if (!FS.createDevice.major) FS.createDevice.major = 64; var dev = FS.makedev(FS.createDevice.major++, 0); // Create a fake device that a set of stream ops to emulate // the old behavior. FS.registerDevice(dev, { open: function(stream) { stream.seekable = false; }, close: function(stream) { // flush any pending line data if (output && output.buffer && output.buffer.length) { output(10); } }, read: function(stream, buffer, offset, length, pos /* ignored */) { var bytesRead = 0; for (var i = 0; i < length; i++) { var result; try { result = input(); } catch (e) { throw new FS.ErrnoError(5); } if (result === undefined && bytesRead === 0) { throw new FS.ErrnoError(11); } if (result === null || result === undefined) break; bytesRead++; buffer[offset+i] = result; } if (bytesRead) { stream.node.timestamp = Date.now(); } return bytesRead; }, write: function(stream, buffer, offset, length, pos) { for (var i = 0; i < length; i++) { try { output(buffer[offset+i]); } catch (e) { throw new FS.ErrnoError(5); } } if (length) { stream.node.timestamp = Date.now(); } return i; } }); return FS.mkdev(path, mode, dev); },createLink:function (parent, name, target, canRead, canWrite) { var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); return FS.symlink(target, path); },forceLoadFile:function (obj) { if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; var success = true; if (typeof XMLHttpRequest !== 'undefined') { throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); } else if (Module['read']) { // Command-line. try { // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as // read() will try to parse UTF8. obj.contents = intArrayFromString(Module['read'](obj.url), true); obj.usedBytes = obj.contents.length; } catch (e) { success = false; } } else { throw new Error('Cannot load without read() or XMLHttpRequest.'); } if (!success) ___setErrNo(5); return success; },createLazyFile:function (parent, name, url, canRead, canWrite) { // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. function LazyUint8Array() { this.lengthKnown = false; this.chunks = []; // Loaded chunks. Index is the chunk number } LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { if (idx > this.length-1 || idx < 0) { return undefined; } var chunkOffset = idx % this.chunkSize; var chunkNum = (idx / this.chunkSize)|0; return this.getter(chunkNum)[chunkOffset]; } LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { this.getter = getter; } LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { // Find length var xhr = new XMLHttpRequest(); xhr.open('HEAD', url, false); xhr.send(null); if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); var datalength = Number(xhr.getResponseHeader("Content-length")); var header; var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; var chunkSize = 1024*1024; // Chunk size in bytes if (!hasByteServing) chunkSize = datalength; // Function to get a range from the remote URL. var doXHR = (function(from, to) { if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. var xhr = new XMLHttpRequest(); xhr.open('GET', url, false); if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); // Some hints to the browser that we want binary data. if (typeof Uint8Array != 'undefined') xhr.responseType = 'arraybuffer'; if (xhr.overrideMimeType) { xhr.overrideMimeType('text/plain; charset=x-user-defined'); } xhr.send(null); if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); if (xhr.response !== undefined) { return new Uint8Array(xhr.response || []); } else { return intArrayFromString(xhr.responseText || '', true); } }); var lazyArray = this; lazyArray.setDataGetter(function(chunkNum) { var start = chunkNum * chunkSize; var end = (chunkNum+1) * chunkSize - 1; // including this byte end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block if (typeof(lazyArray.chunks[chunkNum]) === "undefined") { lazyArray.chunks[chunkNum] = doXHR(start, end); } if (typeof(lazyArray.chunks[chunkNum]) === "undefined") throw new Error("doXHR failed!"); return lazyArray.chunks[chunkNum]; }); if (usesGzip || !datalength) { // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file datalength = this.getter(0).length; chunkSize = datalength; console.log("LazyFiles on gzip forces download of the whole file when length is accessed"); } this._length = datalength; this._chunkSize = chunkSize; this.lengthKnown = true; } if (typeof XMLHttpRequest !== 'undefined') { if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; var lazyArray = new LazyUint8Array(); Object.defineProperties(lazyArray, { length: { get: function() { if(!this.lengthKnown) { this.cacheLength(); } return this._length; } }, chunkSize: { get: function() { if(!this.lengthKnown) { this.cacheLength(); } return this._chunkSize; } } }); var properties = { isDevice: false, contents: lazyArray }; } else { var properties = { isDevice: false, url: url }; } var node = FS.createFile(parent, name, properties, canRead, canWrite); // This is a total hack, but I want to get this lazy file code out of the // core of MEMFS. If we want to keep this lazy file concept I feel it should // be its own thin LAZYFS proxying calls to MEMFS. if (properties.contents) { node.contents = properties.contents; } else if (properties.url) { node.contents = null; node.url = properties.url; } // Add a function that defers querying the file size until it is asked the first time. Object.defineProperties(node, { usedBytes: { get: function() { return this.contents.length; } } }); // override each stream op with one that tries to force load the lazy file first var stream_ops = {}; var keys = Object.keys(node.stream_ops); keys.forEach(function(key) { var fn = node.stream_ops[key]; stream_ops[key] = function forceLoadLazyFile() { if (!FS.forceLoadFile(node)) { throw new FS.ErrnoError(5); } return fn.apply(null, arguments); }; }); // use a custom read function stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { if (!FS.forceLoadFile(node)) { throw new FS.ErrnoError(5); } var contents = stream.node.contents; if (position >= contents.length) return 0; var size = Math.min(contents.length - position, length); if (contents.slice) { // normal array for (var i = 0; i < size; i++) { buffer[offset + i] = contents[position + i]; } } else { for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR buffer[offset + i] = contents.get(position + i); } } return size; }; node.stream_ops = stream_ops; return node; },createPreloadedFile:function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { Browser.init(); // XXX perhaps this method should move onto Browser? // TODO we should allow people to just pass in a complete filename instead // of parent and name being that we just join them anyways var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent; var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same fullname function processData(byteArray) { function finish(byteArray) { if (preFinish) preFinish(); if (!dontCreateFile) { FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); } if (onload) onload(); removeRunDependency(dep); } var handled = false; Module['preloadPlugins'].forEach(function(plugin) { if (handled) return; if (plugin['canHandle'](fullname)) { plugin['handle'](byteArray, fullname, finish, function() { if (onerror) onerror(); removeRunDependency(dep); }); handled = true; } }); if (!handled) finish(byteArray); } addRunDependency(dep); if (typeof url == 'string') { Browser.asyncLoad(url, function(byteArray) { processData(byteArray); }, onerror); } else { processData(url); } },indexedDB:function () { return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; },DB_NAME:function () { return 'EM_FS_' + window.location.pathname; },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function (paths, onload, onerror) { onload = onload || function(){}; onerror = onerror || function(){}; var indexedDB = FS.indexedDB(); try { var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); } catch (e) { return onerror(e); } openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { console.log('creating db'); var db = openRequest.result; db.createObjectStore(FS.DB_STORE_NAME); }; openRequest.onsuccess = function openRequest_onsuccess() { var db = openRequest.result; var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite'); var files = transaction.objectStore(FS.DB_STORE_NAME); var ok = 0, fail = 0, total = paths.length; function finish() { if (fail == 0) onload(); else onerror(); } paths.forEach(function(path) { var putRequest = files.put(FS.analyzePath(path).object.contents, path); putRequest.onsuccess = function putRequest_onsuccess() { ok++; if (ok + fail == total) finish() }; putRequest.onerror = function putRequest_onerror() { fail++; if (ok + fail == total) finish() }; }); transaction.onerror = onerror; }; openRequest.onerror = onerror; },loadFilesFromDB:function (paths, onload, onerror) { onload = onload || function(){}; onerror = onerror || function(){}; var indexedDB = FS.indexedDB(); try { var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); } catch (e) { return onerror(e); } openRequest.onupgradeneeded = onerror; // no database to load from openRequest.onsuccess = function openRequest_onsuccess() { var db = openRequest.result; try { var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly'); } catch(e) { onerror(e); return; } var files = transaction.objectStore(FS.DB_STORE_NAME); var ok = 0, fail = 0, total = paths.length; function finish() { if (fail == 0) onload(); else onerror(); } paths.forEach(function(path) { var getRequest = files.get(path); getRequest.onsuccess = function getRequest_onsuccess() { if (FS.analyzePath(path).exists) { FS.unlink(path); } FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); ok++; if (ok + fail == total) finish(); }; getRequest.onerror = function getRequest_onerror() { fail++; if (ok + fail == total) finish() }; }); transaction.onerror = onerror; }; openRequest.onerror = onerror; }}; var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function (dirfd, path) { if (path[0] !== '/') { // relative path var dir; if (dirfd === -100) { dir = FS.cwd(); } else { var dirstream = FS.getStream(dirfd); if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); dir = dirstream.path; } path = PATH.join2(dir, path); } return path; },doStat:function (func, path, buf) { try { var stat = func(path); } catch (e) { if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { // an error occurred while trying to look up the path; we should just report ENOTDIR return -ERRNO_CODES.ENOTDIR; } throw e; } HEAP32[((buf)>>2)]=stat.dev; HEAP32[(((buf)+(4))>>2)]=0; HEAP32[(((buf)+(8))>>2)]=stat.ino; HEAP32[(((buf)+(12))>>2)]=stat.mode; HEAP32[(((buf)+(16))>>2)]=stat.nlink; HEAP32[(((buf)+(20))>>2)]=stat.uid; HEAP32[(((buf)+(24))>>2)]=stat.gid; HEAP32[(((buf)+(28))>>2)]=stat.rdev; HEAP32[(((buf)+(32))>>2)]=0; HEAP32[(((buf)+(36))>>2)]=stat.size; HEAP32[(((buf)+(40))>>2)]=4096; HEAP32[(((buf)+(44))>>2)]=stat.blocks; HEAP32[(((buf)+(48))>>2)]=(stat.atime.getTime() / 1000)|0; HEAP32[(((buf)+(52))>>2)]=0; HEAP32[(((buf)+(56))>>2)]=(stat.mtime.getTime() / 1000)|0; HEAP32[(((buf)+(60))>>2)]=0; HEAP32[(((buf)+(64))>>2)]=(stat.ctime.getTime() / 1000)|0; HEAP32[(((buf)+(68))>>2)]=0; HEAP32[(((buf)+(72))>>2)]=stat.ino; return 0; },doMsync:function (addr, stream, len, flags) { var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); FS.msync(stream, buffer, 0, len, flags); },doMkdir:function (path, mode) { // remove a trailing slash, if one - /a/b/ has basename of '', but // we want to create b in the context of this function path = PATH.normalize(path); if (path[path.length-1] === '/') path = path.substr(0, path.length-1); FS.mkdir(path, mode, 0); return 0; },doMknod:function (path, mode, dev) { // we don't want this in the JS API as it uses mknod to create all nodes. switch (mode & 61440) { case 32768: case 8192: case 24576: case 4096: case 49152: break; default: return -ERRNO_CODES.EINVAL; } FS.mknod(path, mode, dev); return 0; },doReadlink:function (path, buf, bufsize) { if (bufsize <= 0) return -ERRNO_CODES.EINVAL; var ret = FS.readlink(path); var len = Math.min(bufsize, lengthBytesUTF8(ret)); var endChar = HEAP8[buf+len]; stringToUTF8(ret, buf, bufsize+1); // readlink is one of the rare functions that write out a C string, but does never append a null to the output buffer(!) // stringToUTF8() always appends a null byte, so restore the character under the null byte after the write. HEAP8[buf+len] = endChar; return len; },doAccess:function (path, amode) { if (amode & ~7) { // need a valid mode return -ERRNO_CODES.EINVAL; } var node; var lookup = FS.lookupPath(path, { follow: true }); node = lookup.node; var perms = ''; if (amode & 4) perms += 'r'; if (amode & 2) perms += 'w'; if (amode & 1) perms += 'x'; if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) { return -ERRNO_CODES.EACCES; } return 0; },doDup:function (path, flags, suggestFD) { var suggest = FS.getStream(suggestFD); if (suggest) FS.close(suggest); return FS.open(path, flags, 0, suggestFD, suggestFD).fd; },doReadv:function (stream, iov, iovcnt, offset) { var ret = 0; for (var i = 0; i < iovcnt; i++) { var ptr = HEAP32[(((iov)+(i*8))>>2)]; var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; var curr = FS.read(stream, HEAP8,ptr, len, offset); if (curr < 0) return -1; ret += curr; if (curr < len) break; // nothing more to read } return ret; },doWritev:function (stream, iov, iovcnt, offset) { var ret = 0; for (var i = 0; i < iovcnt; i++) { var ptr = HEAP32[(((iov)+(i*8))>>2)]; var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; var curr = FS.write(stream, HEAP8,ptr, len, offset); if (curr < 0) return -1; ret += curr; } return ret; },varargs:0,get:function (varargs) { SYSCALLS.varargs += 4; var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; return ret; },getStr:function () { var ret = UTF8ToString(SYSCALLS.get()); return ret; },getStreamFromFD:function () { var stream = FS.getStream(SYSCALLS.get()); if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); return stream; },getSocketFromFD:function () { var socket = SOCKFS.getSocket(SYSCALLS.get()); if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF); return socket; },getSocketAddress:function (allowNull) { var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get(); if (allowNull && addrp === 0) return null; var info = __read_sockaddr(addrp, addrlen); if (info.errno) throw new FS.ErrnoError(info.errno); info.addr = DNS.lookup_addr(info.addr) || info.addr; return info; },get64:function () { var low = SYSCALLS.get(), high = SYSCALLS.get(); return low; },getZero:function () { SYSCALLS.get(); }};function ___syscall10(which, varargs) {SYSCALLS.varargs = varargs; try { // unlink var path = SYSCALLS.getStr(); FS.unlink(path); return 0; } catch (e) { if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno; } } var SOCKFS={mount:function (mount) { // If Module['websocket'] has already been defined (e.g. for configuring // the subprotocol/url) use that, if not initialise it to a new object. Module['websocket'] = (Module['websocket'] && ('object' === typeof Module['websocket'])) ? Module['websocket'] : {}; // Add the Event registration mechanism to the exported websocket configuration // object so we can register network callbacks from native JavaScript too. // For more documentation see system/include/emscripten/emscripten.h Module['websocket']._callbacks = {}; Module['websocket']['on'] = function(event, callback) { if ('function' === typeof callback) { this._callbacks[event] = callback; } return this; }; Module['websocket'].emit = function(event, param) { if ('function' === typeof this._callbacks[event]) { this._callbacks[event].call(this, param); } }; // If debug is enabled register simple default logging callbacks for each Event. return FS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); },createSocket:function (family, type, protocol) { var streaming = type == 1; if (protocol) { assert(streaming == (protocol == 6)); // if SOCK_STREAM, must be tcp } // create our internal socket structure var sock = { family: family, type: type, protocol: protocol, server: null, error: null, // Used in getsockopt for SOL_SOCKET/SO_ERROR test peers: {}, pending: [], recv_queue: [], sock_ops: SOCKFS.websocket_sock_ops }; // create the filesystem node to store the socket structure var name = SOCKFS.nextname(); var node = FS.createNode(SOCKFS.root, name, 49152, 0); node.sock = sock; // and the wrapping stream that enables library functions such // as read and write to indirectly interact with the socket var stream = FS.createStream({ path: name, node: node, flags: FS.modeStringToFlags('r+'), seekable: false, stream_ops: SOCKFS.stream_ops }); // map the new stream to the socket structure (sockets have a 1:1 // relationship with a stream) sock.stream = stream; return sock; },getSocket:function (fd) { var stream = FS.getStream(fd); if (!stream || !FS.isSocket(stream.node.mode)) { return null; } return stream.node.sock; },stream_ops:{poll:function (stream) { var sock = stream.node.sock; return sock.sock_ops.poll(sock); },ioctl:function (stream, request, varargs) { var sock = stream.node.sock; return sock.sock_ops.ioctl(sock, request, varargs); },read:function (stream, buffer, offset, length, position /* ignored */) { var sock = stream.node.sock; var msg = sock.sock_ops.recvmsg(sock, length); if (!msg) { // socket is closed return 0; } buffer.set(msg.buffer, offset); return msg.buffer.length; },write:function (stream, buffer, offset, length, position /* ignored */) { var sock = stream.node.sock; return sock.sock_ops.sendmsg(sock, buffer, offset, length); },close:function (stream) { var sock = stream.node.sock; sock.sock_ops.close(sock); }},nextname:function () { if (!SOCKFS.nextname.current) { SOCKFS.nextname.current = 0; } return 'socket[' + (SOCKFS.nextname.current++) + ']'; },websocket_sock_ops:{createPeer:function (sock, addr, port) { var ws; if (typeof addr === 'object') { ws = addr; addr = null; port = null; } if (ws) { // for sockets that've already connected (e.g. we're the server) // we can inspect the _socket property for the address if (ws._socket) { addr = ws._socket.remoteAddress; port = ws._socket.remotePort; } // if we're just now initializing a connection to the remote, // inspect the url property else { var result = /ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url); if (!result) { throw new Error('WebSocket URL must be in the format ws(s)://address:port'); } addr = result[1]; port = parseInt(result[2], 10); } } else { // create the actual websocket object and connect try { // runtimeConfig gets set to true if WebSocket runtime configuration is available. var runtimeConfig = (Module['websocket'] && ('object' === typeof Module['websocket'])); // The default value is 'ws://' the replace is needed because the compiler replaces '//' comments with '#' // comments without checking context, so we'd end up with ws:#, the replace swaps the '#' for '//' again. var url = 'ws:#'.replace('#', '//'); if (runtimeConfig) { if ('string' === typeof Module['websocket']['url']) { url = Module['websocket']['url']; // Fetch runtime WebSocket URL config. } } if (url === 'ws://' || url === 'wss://') { // Is the supplied URL config just a prefix, if so complete it. var parts = addr.split('/'); url = url + parts[0] + ":" + port + "/" + parts.slice(1).join('/'); } // Make the WebSocket subprotocol (Sec-WebSocket-Protocol) default to binary if no configuration is set. var subProtocols = 'binary'; // The default value is 'binary' if (runtimeConfig) { if ('string' === typeof Module['websocket']['subprotocol']) { subProtocols = Module['websocket']['subprotocol']; // Fetch runtime WebSocket subprotocol config. } } // The regex trims the string (removes spaces at the beginning and end, then splits the string by // , into an Array. Whitespace removal is important for Websockify and ws. subProtocols = subProtocols.replace(/^ +| +$/g,"").split(/ *, */); // The node ws library API for specifying optional subprotocol is slightly different than the browser's. var opts = ENVIRONMENT_IS_NODE ? {'protocol': subProtocols.toString()} : subProtocols; // some webservers (azure) does not support subprotocol header if (runtimeConfig && null === Module['websocket']['subprotocol']) { subProtocols = 'null'; opts = undefined; } // If node we use the ws library. var WebSocketConstructor; if (ENVIRONMENT_IS_NODE) { WebSocketConstructor = require('ws'); } else if (ENVIRONMENT_IS_WEB) { WebSocketConstructor = window['WebSocket']; } else { WebSocketConstructor = WebSocket; } ws = new WebSocketConstructor(url, opts); ws.binaryType = 'arraybuffer'; } catch (e) { throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH); } } var peer = { addr: addr, port: port, socket: ws, dgram_send_queue: [] }; SOCKFS.websocket_sock_ops.addPeer(sock, peer); SOCKFS.websocket_sock_ops.handlePeerEvents(sock, peer); // if this is a bound dgram socket, send the port number first to allow // us to override the ephemeral port reported to us by remotePort on the // remote end. if (sock.type === 2 && typeof sock.sport !== 'undefined') { peer.dgram_send_queue.push(new Uint8Array([ 255, 255, 255, 255, 'p'.charCodeAt(0), 'o'.charCodeAt(0), 'r'.charCodeAt(0), 't'.charCodeAt(0), ((sock.sport & 0xff00) >> 8) , (sock.sport & 0xff) ])); } return peer; },getPeer:function (sock, addr, port) { return sock.peers[addr + ':' + port]; },addPeer:function (sock, peer) { sock.peers[peer.addr + ':' + peer.port] = peer; },removePeer:function (sock, peer) { delete sock.peers[peer.addr + ':' + peer.port]; },handlePeerEvents:function (sock, peer) { var first = true; var handleOpen = function () { Module['websocket'].emit('open', sock.stream.fd); try { var queued = peer.dgram_send_queue.shift(); while (queued) { peer.socket.send(queued); queued = peer.dgram_send_queue.shift(); } } catch (e) { // not much we can do here in the way of proper error handling as we've already // lied and said this data was sent. shut it down. peer.socket.close(); } }; function handleMessage(data) { assert(typeof data !== 'string' && data.byteLength !== undefined); // must receive an ArrayBuffer // An empty ArrayBuffer will emit a pseudo disconnect event // as recv/recvmsg will return zero which indicates that a socket // has performed a shutdown although the connection has not been disconnected yet. if (data.byteLength == 0) { return; } data = new Uint8Array(data); // make a typed array view on the array buffer // if this is the port message, override the peer's port with it var wasfirst = first; first = false; if (wasfirst && data.length === 10 && data[0] === 255 && data[1] === 255 && data[2] === 255 && data[3] === 255 && data[4] === 'p'.charCodeAt(0) && data[5] === 'o'.charCodeAt(0) && data[6] === 'r'.charCodeAt(0) && data[7] === 't'.charCodeAt(0)) { // update the peer's port and it's key in the peer map var newport = ((data[8] << 8) | data[9]); SOCKFS.websocket_sock_ops.removePeer(sock, peer); peer.port = newport; SOCKFS.websocket_sock_ops.addPeer(sock, peer); return; } sock.recv_queue.push({ addr: peer.addr, port: peer.port, data: data }); Module['websocket'].emit('message', sock.stream.fd); }; if (ENVIRONMENT_IS_NODE) { peer.socket.on('open', handleOpen); peer.socket.on('message', function(data, flags) { if (!flags.binary) { return; } handleMessage((new Uint8Array(data)).buffer); // copy from node Buffer -> ArrayBuffer }); peer.socket.on('close', function() { Module['websocket'].emit('close', sock.stream.fd); }); peer.socket.on('error', function(error) { // Although the ws library may pass errors that may be more descriptive than // ECONNREFUSED they are not necessarily the expected error code e.g. // ENOTFOUND on getaddrinfo seems to be node.js specific, so using ECONNREFUSED // is still probably the most useful thing to do. sock.error = ERRNO_CODES.ECONNREFUSED; // Used in getsockopt for SOL_SOCKET/SO_ERROR test. Module['websocket'].emit('error', [sock.stream.fd, sock.error, 'ECONNREFUSED: Connection refused']); // don't throw }); } else { peer.socket.onopen = handleOpen; peer.socket.onclose = function() { Module['websocket'].emit('close', sock.stream.fd); }; peer.socket.onmessage = function peer_socket_onmessage(event) { handleMessage(event.data); }; peer.socket.onerror = function(error) { // The WebSocket spec only allows a 'simple event' to be thrown on error, // so we only really know as much as ECONNREFUSED. sock.error = ERRNO_CODES.ECONNREFUSED; // Used in getsockopt for SOL_SOCKET/SO_ERROR test. Module['websocket'].emit('error', [sock.stream.fd, sock.error, 'ECONNREFUSED: Connection refused']); }; } },poll:function (sock) { if (sock.type === 1 && sock.server) { // listen sockets should only say they're available for reading // if there are pending clients. return sock.pending.length ? (64 | 1) : 0; } var mask = 0; var dest = sock.type === 1 ? // we only care about the socket state for connection-based sockets SOCKFS.websocket_sock_ops.getPeer(sock, sock.daddr, sock.dport) : null; if (sock.recv_queue.length || !dest || // connection-less sockets are always ready to read (dest && dest.socket.readyState === dest.socket.CLOSING) || (dest && dest.socket.readyState === dest.socket.CLOSED)) { // let recv return 0 once closed mask |= (64 | 1); } if (!dest || // connection-less sockets are always ready to write (dest && dest.socket.readyState === dest.socket.OPEN)) { mask |= 4; } if ((dest && dest.socket.readyState === dest.socket.CLOSING) || (dest && dest.socket.readyState === dest.socket.CLOSED)) { mask |= 16; } return mask; },ioctl:function (sock, request, arg) { switch (request) { case 21531: var bytes = 0; if (sock.recv_queue.length) { bytes = sock.recv_queue[0].data.length; } HEAP32[((arg)>>2)]=bytes; return 0; default: return ERRNO_CODES.EINVAL; } },close:function (sock) { // if we've spawned a listen server, close it if (sock.server) { try { sock.server.close(); } catch (e) { } sock.server = null; } // close any peer connections var peers = Object.keys(sock.peers); for (var i = 0; i < peers.length; i++) { var peer = sock.peers[peers[i]]; try { peer.socket.close(); } catch (e) { } SOCKFS.websocket_sock_ops.removePeer(sock, peer); } return 0; },bind:function (sock, addr, port) { if (typeof sock.saddr !== 'undefined' || typeof sock.sport !== 'undefined') { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); // already bound } sock.saddr = addr; sock.sport = port; // in order to emulate dgram sockets, we need to launch a listen server when // binding on a connection-less socket // note: this is only required on the server side if (sock.type === 2) { // close the existing server if it exists if (sock.server) { sock.server.close(); sock.server = null; } // swallow error operation not supported error that occurs when binding in the // browser where this isn't supported try { sock.sock_ops.listen(sock, 0); } catch (e) { if (!(e instanceof FS.ErrnoError)) throw e; if (e.errno !== ERRNO_CODES.EOPNOTSUPP) throw e; } } },connect:function (sock, addr, port) { if (sock.server) { throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); } // TODO autobind // if (!sock.addr && sock.type == 2) { // } // early out if we're already connected / in the middle of connecting if (typeof sock.daddr !== 'undefined' && typeof sock.dport !== 'undefined') { var dest = SOCKFS.websocket_sock_ops.getPeer(sock, sock.daddr, sock.dport); if (dest) { if (dest.socket.readyState === dest.socket.CONNECTING) { throw new FS.ErrnoError(ERRNO_CODES.EALREADY); } else { throw new FS.ErrnoError(ERRNO_CODES.EISCONN); } } } // add the socket to our peer list and set our // destination address / port to match var peer = SOCKFS.websocket_sock_ops.createPeer(sock, addr, port); sock.daddr = peer.addr; sock.dport = peer.port; // always "fail" in non-blocking mode throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS); },listen:function (sock, backlog) { if (!ENVIRONMENT_IS_NODE) { throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); } if (sock.server) { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); // already listening } var WebSocketServer = require('ws').Server; var host = sock.saddr; sock.server = new WebSocketServer({ host: host, port: sock.sport // TODO support backlog }); Module['websocket'].emit('listen', sock.stream.fd); // Send Event with listen fd. sock.server.on('connection', function(ws) { if (sock.type === 1) { var newsock = SOCKFS.createSocket(sock.family, sock.type, sock.protocol); // create a peer on the new socket var peer = SOCKFS.websocket_sock_ops.createPeer(newsock, ws); newsock.daddr = peer.addr; newsock.dport = peer.port; // push to queue for accept to pick up sock.pending.push(newsock); Module['websocket'].emit('connection', newsock.stream.fd); } else { // create a peer on the listen socket so calling sendto // with the listen socket and an address will resolve // to the correct client SOCKFS.websocket_sock_ops.createPeer(sock, ws); Module['websocket'].emit('connection', sock.stream.fd); } }); sock.server.on('closed', function() { Module['websocket'].emit('close', sock.stream.fd); sock.server = null; }); sock.server.on('error', function(error) { // Although the ws library may pass errors that may be more descriptive than // ECONNREFUSED they are not necessarily the expected error code e.g. // ENOTFOUND on getaddrinfo seems to be node.js specific, so using EHOSTUNREACH // is still probably the most useful thing to do. This error shouldn't // occur in a well written app as errors should get trapped in the compiled // app's own getaddrinfo call. sock.error = ERRNO_CODES.EHOSTUNREACH; // Used in getsockopt for SOL_SOCKET/SO_ERROR test. Module['websocket'].emit('error', [sock.stream.fd, sock.error, 'EHOSTUNREACH: Host is unreachable']); // don't throw }); },accept:function (listensock) { if (!listensock.server) { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } var newsock = listensock.pending.shift(); newsock.stream.flags = listensock.stream.flags; return newsock; },getname:function (sock, peer) { var addr, port; if (peer) { if (sock.daddr === undefined || sock.dport === undefined) { throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN); } addr = sock.daddr; port = sock.dport; } else { // TODO saddr and sport will be set for bind()'d UDP sockets, but what // should we be returning for TCP sockets that've been connect()'d? addr = sock.saddr || 0; port = sock.sport || 0; } return { addr: addr, port: port }; },sendmsg:function (sock, buffer, offset, length, addr, port) { if (sock.type === 2) { // connection-less sockets will honor the message address, // and otherwise fall back to the bound destination address if (addr === undefined || port === undefined) { addr = sock.daddr; port = sock.dport; } // if there was no address to fall back to, error out if (addr === undefined || port === undefined) { throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ); } } else { // connection-based sockets will only use the bound addr = sock.daddr; port = sock.dport; } // find the peer for the destination address var dest = SOCKFS.websocket_sock_ops.getPeer(sock, addr, port); // early out if not connected with a connection-based socket if (sock.type === 1) { if (!dest || dest.socket.readyState === dest.socket.CLOSING || dest.socket.readyState === dest.socket.CLOSED) { throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN); } else if (dest.socket.readyState === dest.socket.CONNECTING) { throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); } } // create a copy of the incoming data to send, as the WebSocket API // doesn't work entirely with an ArrayBufferView, it'll just send // the entire underlying buffer if (ArrayBuffer.isView(buffer)) { offset += buffer.byteOffset; buffer = buffer.buffer; } var data; data = buffer.slice(offset, offset + length); // if we're emulating a connection-less dgram socket and don't have // a cached connection, queue the buffer to send upon connect and // lie, saying the data was sent now. if (sock.type === 2) { if (!dest || dest.socket.readyState !== dest.socket.OPEN) { // if we're not connected, open a new connection if (!dest || dest.socket.readyState === dest.socket.CLOSING || dest.socket.readyState === dest.socket.CLOSED) { dest = SOCKFS.websocket_sock_ops.createPeer(sock, addr, port); } dest.dgram_send_queue.push(data); return length; } } try { // send the actual data dest.socket.send(data); return length; } catch (e) { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } },recvmsg:function (sock, length) { // http://pubs.opengroup.org/onlinepubs/7908799/xns/recvmsg.html if (sock.type === 1 && sock.server) { // tcp servers should not be recv()'ing on the listen socket throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN); } var queued = sock.recv_queue.shift(); if (!queued) { if (sock.type === 1) { var dest = SOCKFS.websocket_sock_ops.getPeer(sock, sock.daddr, sock.dport); if (!dest) { // if we have a destination address but are not connected, error out throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN); } else if (dest.socket.readyState === dest.socket.CLOSING || dest.socket.readyState === dest.socket.CLOSED) { // return null if the socket has closed return null; } else { // else, our socket is in a valid state but truly has nothing available throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); } } else { throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); } } // queued.data will be an ArrayBuffer if it's unadulterated, but if it's // requeued TCP data it'll be an ArrayBufferView var queuedLength = queued.data.byteLength || queued.data.length; var queuedOffset = queued.data.byteOffset || 0; var queuedBuffer = queued.data.buffer || queued.data; var bytesRead = Math.min(length, queuedLength); var res = { buffer: new Uint8Array(queuedBuffer, queuedOffset, bytesRead), addr: queued.addr, port: queued.port }; // push back any unread data for TCP connections if (sock.type === 1 && bytesRead < queuedLength) { var bytesRemaining = queuedLength - bytesRead; queued.data = new Uint8Array(queuedBuffer, queuedOffset + bytesRead, bytesRemaining); sock.recv_queue.unshift(queued); } return res; }}}; function __inet_pton4_raw(str) { var b = str.split('.'); for (var i = 0; i < 4; i++) { var tmp = Number(b[i]); if (isNaN(tmp)) return null; b[i] = tmp; } return (b[0] | (b[1] << 8) | (b[2] << 16) | (b[3] << 24)) >>> 0; } function __inet_pton6_raw(str) { var words; var w, offset, z, i; /* http://home.deds.nl/~aeron/regex/ */ var valid6regx = /^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i var parts = []; if (!valid6regx.test(str)) { return null; } if (str === "::") { return [0, 0, 0, 0, 0, 0, 0, 0]; } // Z placeholder to keep track of zeros when splitting the string on ":" if (str.indexOf("::") === 0) { str = str.replace("::", "Z:"); // leading zeros case } else { str = str.replace("::", ":Z:"); } if (str.indexOf(".") > 0) { // parse IPv4 embedded stress str = str.replace(new RegExp('[.]', 'g'), ":"); words = str.split(":"); words[words.length-4] = parseInt(words[words.length-4]) + parseInt(words[words.length-3])*256; words[words.length-3] = parseInt(words[words.length-2]) + parseInt(words[words.length-1])*256; words = words.slice(0, words.length-2); } else { words = str.split(":"); } offset = 0; z = 0; for (w=0; w < words.length; w++) { if (typeof words[w] === 'string') { if (words[w] === 'Z') { // compressed zeros - write appropriate number of zero words for (z = 0; z < (8 - words.length+1); z++) { parts[w+z] = 0; } offset = z-1; } else { // parse hex to field to 16-bit value and write it in network byte-order parts[w+offset] = _htons(parseInt(words[w],16)); } } else { // parsed IPv4 words parts[w+offset] = words[w]; } } return [ (parts[1] << 16) | parts[0], (parts[3] << 16) | parts[2], (parts[5] << 16) | parts[4], (parts[7] << 16) | parts[6] ]; }var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:function (name) { // If the name is already a valid ipv4 / ipv6 address, don't generate a fake one. var res = __inet_pton4_raw(name); if (res !== null) { return name; } res = __inet_pton6_raw(name); if (res !== null) { return name; } // See if this name is already mapped. var addr; if (DNS.address_map.addrs[name]) { addr = DNS.address_map.addrs[name]; } else { var id = DNS.address_map.id++; assert(id < 65535, 'exceeded max address mappings of 65535'); addr = '172.29.' + (id & 0xff) + '.' + (id & 0xff00); DNS.address_map.names[addr] = name; DNS.address_map.addrs[name] = addr; } return addr; },lookup_addr:function (addr) { if (DNS.address_map.names[addr]) { return DNS.address_map.names[addr]; } return null; }}; var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]}; function __inet_ntop4_raw(addr) { return (addr & 0xff) + '.' + ((addr >> 8) & 0xff) + '.' + ((addr >> 16) & 0xff) + '.' + ((addr >> 24) & 0xff) } function __inet_ntop6_raw(ints) { // ref: http://www.ietf.org/rfc/rfc2373.txt - section 2.5.4 // Format for IPv4 compatible and mapped 128-bit IPv6 Addresses // 128-bits are split into eight 16-bit words // stored in network byte order (big-endian) // | 80 bits | 16 | 32 bits | // +-----------------------------------------------------------------+ // | 10 bytes | 2 | 4 bytes | // +--------------------------------------+--------------------------+ // + 5 words | 1 | 2 words | // +--------------------------------------+--------------------------+ // |0000..............................0000|0000| IPv4 ADDRESS | (compatible) // +--------------------------------------+----+---------------------+ // |0000..............................0000|FFFF| IPv4 ADDRESS | (mapped) // +--------------------------------------+----+---------------------+ var str = ""; var word = 0; var longest = 0; var lastzero = 0; var zstart = 0; var len = 0; var i = 0; var parts = [ ints[0] & 0xffff, (ints[0] >> 16), ints[1] & 0xffff, (ints[1] >> 16), ints[2] & 0xffff, (ints[2] >> 16), ints[3] & 0xffff, (ints[3] >> 16) ]; // Handle IPv4-compatible, IPv4-mapped, loopback and any/unspecified addresses var hasipv4 = true; var v4part = ""; // check if the 10 high-order bytes are all zeros (first 5 words) for (i = 0; i < 5; i++) { if (parts[i] !== 0) { hasipv4 = false; break; } } if (hasipv4) { // low-order 32-bits store an IPv4 address (bytes 13 to 16) (last 2 words) v4part = __inet_ntop4_raw(parts[6] | (parts[7] << 16)); // IPv4-mapped IPv6 address if 16-bit value (bytes 11 and 12) == 0xFFFF (6th word) if (parts[5] === -1) { str = "::ffff:"; str += v4part; return str; } // IPv4-compatible IPv6 address if 16-bit value (bytes 11 and 12) == 0x0000 (6th word) if (parts[5] === 0) { str = "::"; //special case IPv6 addresses if(v4part === "0.0.0.0") v4part = ""; // any/unspecified address if(v4part === "0.0.0.1") v4part = "1";// loopback address str += v4part; return str; } } // Handle all other IPv6 addresses // first run to find the longest contiguous zero words for (word = 0; word < 8; word++) { if (parts[word] === 0) { if (word - lastzero > 1) { len = 0; } lastzero = word; len++; } if (len > longest) { longest = len; zstart = word - longest + 1; } } for (word = 0; word < 8; word++) { if (longest > 1) { // compress contiguous zeros - to produce "::" if (parts[word] === 0 && word >= zstart && word < (zstart + longest) ) { if (word === zstart) { str += ":"; if (zstart === 0) str += ":"; //leading zeros case } continue; } } // converts 16-bit words from big-endian to little-endian before converting to hex string str += Number(_ntohs(parts[word] & 0xffff)).toString(16); str += word < 7 ? ":" : ""; } return str; }function __read_sockaddr(sa, salen) { // family / port offsets are common to both sockaddr_in and sockaddr_in6 var family = HEAP16[((sa)>>1)]; var port = _ntohs(HEAP16[(((sa)+(2))>>1)]); var addr; switch (family) { case 2: if (salen !== 16) { return { errno: 22 }; } addr = HEAP32[(((sa)+(4))>>2)]; addr = __inet_ntop4_raw(addr); break; case 10: if (salen !== 28) { return { errno: 22 }; } addr = [ HEAP32[(((sa)+(8))>>2)], HEAP32[(((sa)+(12))>>2)], HEAP32[(((sa)+(16))>>2)], HEAP32[(((sa)+(20))>>2)] ]; addr = __inet_ntop6_raw(addr); break; default: return { errno: 97 }; } return { family: family, addr: addr, port: port }; } function __write_sockaddr(sa, family, addr, port) { switch (family) { case 2: addr = __inet_pton4_raw(addr); HEAP16[((sa)>>1)]=family; HEAP32[(((sa)+(4))>>2)]=addr; HEAP16[(((sa)+(2))>>1)]=_htons(port); break; case 10: addr = __inet_pton6_raw(addr); HEAP32[((sa)>>2)]=family; HEAP32[(((sa)+(8))>>2)]=addr[0]; HEAP32[(((sa)+(12))>>2)]=addr[1]; HEAP32[(((sa)+(16))>>2)]=addr[2]; HEAP32[(((sa)+(20))>>2)]=addr[3]; HEAP16[(((sa)+(2))>>1)]=_htons(port); HEAP32[(((sa)+(4))>>2)]=0; HEAP32[(((sa)+(24))>>2)]=0; break; default: return { errno: 97 }; } // kind of lame, but let's match _read_sockaddr's interface return {}; }function ___syscall102(which, varargs) {SYSCALLS.varargs = varargs; try { // socketcall var call = SYSCALLS.get(), socketvararg = SYSCALLS.get(); // socketcalls pass the rest of the arguments in a struct SYSCALLS.varargs = socketvararg; switch (call) { case 1: { // socket var domain = SYSCALLS.get(), type = SYSCALLS.get(), protocol = SYSCALLS.get(); var sock = SOCKFS.createSocket(domain, type, protocol); return sock.stream.fd; } case 2: { // bind var sock = SYSCALLS.getSocketFromFD(), info = SYSCALLS.getSocketAddress(); sock.sock_ops.bind(sock, info.addr, info.port); return 0; } case 3: { // connect var sock = SYSCALLS.getSocketFromFD(), info = SYSCALLS.getSocketAddress(); sock.sock_ops.connect(sock, info.addr, info.port); return 0; } case 4: { // listen var sock = SYSCALLS.getSocketFromFD(), backlog = SYSCALLS.get(); sock.sock_ops.listen(sock, backlog); return 0; } case 5: { // accept var sock = SYSCALLS.getSocketFromFD(), addr = SYSCALLS.get(), addrlen = SYSCALLS.get(); var newsock = sock.sock_ops.accept(sock); if (addr) { var res = __write_sockaddr(addr, newsock.family, DNS.lookup_name(newsock.daddr), newsock.dport); } return newsock.stream.fd; } case 6: { // getsockname var sock = SYSCALLS.getSocketFromFD(), addr = SYSCALLS.get(), addrlen = SYSCALLS.get(); // TODO: sock.saddr should never be undefined, see TODO in websocket_sock_ops.getname var res = __write_sockaddr(addr, sock.family, DNS.lookup_name(sock.saddr || '0.0.0.0'), sock.sport); return 0; } case 7: { // getpeername var sock = SYSCALLS.getSocketFromFD(), addr = SYSCALLS.get(), addrlen = SYSCALLS.get(); if (!sock.daddr) { return -ERRNO_CODES.ENOTCONN; // The socket is not connected. } var res = __write_sockaddr(addr, sock.family, DNS.lookup_name(sock.daddr), sock.dport); return 0; } case 11: { // sendto var sock = SYSCALLS.getSocketFromFD(), message = SYSCALLS.get(), length = SYSCALLS.get(), flags = SYSCALLS.get(), dest = SYSCALLS.getSocketAddress(true); if (!dest) { // send, no address provided return FS.write(sock.stream, HEAP8,message, length); } else { // sendto an address return sock.sock_ops.sendmsg(sock, HEAP8,message, length, dest.addr, dest.port); } } case 12: { // recvfrom var sock = SYSCALLS.getSocketFromFD(), buf = SYSCALLS.get(), len = SYSCALLS.get(), flags = SYSCALLS.get(), addr = SYSCALLS.get(), addrlen = SYSCALLS.get(); var msg = sock.sock_ops.recvmsg(sock, len); if (!msg) return 0; // socket is closed if (addr) { var res = __write_sockaddr(addr, sock.family, DNS.lookup_name(msg.addr), msg.port); } HEAPU8.set(msg.buffer, buf); return msg.buffer.byteLength; } case 14: { // setsockopt return -ERRNO_CODES.ENOPROTOOPT; // The option is unknown at the level indicated. } case 15: { // getsockopt var sock = SYSCALLS.getSocketFromFD(), level = SYSCALLS.get(), optname = SYSCALLS.get(), optval = SYSCALLS.get(), optlen = SYSCALLS.get(); // Minimal getsockopt aimed at resolving https://github.com/emscripten-core/emscripten/issues/2211 // so only supports SOL_SOCKET with SO_ERROR. if (level === 1) { if (optname === 4) { HEAP32[((optval)>>2)]=sock.error; HEAP32[((optlen)>>2)]=4; sock.error = null; // Clear the error (The SO_ERROR option obtains and then clears this field). return 0; } } return -ERRNO_CODES.ENOPROTOOPT; // The option is unknown at the level indicated. } case 16: { // sendmsg var sock = SYSCALLS.getSocketFromFD(), message = SYSCALLS.get(), flags = SYSCALLS.get(); var iov = HEAP32[(((message)+(8))>>2)]; var num = HEAP32[(((message)+(12))>>2)]; // read the address and port to send to var addr, port; var name = HEAP32[((message)>>2)]; var namelen = HEAP32[(((message)+(4))>>2)]; if (name) { var info = __read_sockaddr(name, namelen); if (info.errno) return -info.errno; port = info.port; addr = DNS.lookup_addr(info.addr) || info.addr; } // concatenate scatter-gather arrays into one message buffer var total = 0; for (var i = 0; i < num; i++) { total += HEAP32[(((iov)+((8 * i) + 4))>>2)]; } var view = new Uint8Array(total); var offset = 0; for (var i = 0; i < num; i++) { var iovbase = HEAP32[(((iov)+((8 * i) + 0))>>2)]; var iovlen = HEAP32[(((iov)+((8 * i) + 4))>>2)]; for (var j = 0; j < iovlen; j++) { view[offset++] = HEAP8[(((iovbase)+(j))>>0)]; } } // write the buffer return sock.sock_ops.sendmsg(sock, view, 0, total, addr, port); } case 17: { // recvmsg var sock = SYSCALLS.getSocketFromFD(), message = SYSCALLS.get(), flags = SYSCALLS.get(); var iov = HEAP32[(((message)+(8))>>2)]; var num = HEAP32[(((message)+(12))>>2)]; // get the total amount of data we can read across all arrays var total = 0; for (var i = 0; i < num; i++) { total += HEAP32[(((iov)+((8 * i) + 4))>>2)]; } // try to read total data var msg = sock.sock_ops.recvmsg(sock, total); if (!msg) return 0; // socket is closed // TODO honor flags: // MSG_OOB // Requests out-of-band data. The significance and semantics of out-of-band data are protocol-specific. // MSG_PEEK // Peeks at the incoming message. // MSG_WAITALL // Requests that the function block until the full amount of data requested can be returned. The function may return a smaller amount of data if a signal is caught, if the connection is terminated, if MSG_PEEK was specified, or if an error is pending for the socket. // write the source address out var name = HEAP32[((message)>>2)]; if (name) { var res = __write_sockaddr(name, sock.family, DNS.lookup_name(msg.addr), msg.port); } // write the buffer out to the scatter-gather arrays var bytesRead = 0; var bytesRemaining = msg.buffer.byteLength; for (var i = 0; bytesRemaining > 0 && i < num; i++) { var iovbase = HEAP32[(((iov)+((8 * i) + 0))>>2)]; var iovlen = HEAP32[(((iov)+((8 * i) + 4))>>2)]; if (!iovlen) { continue; } var length = Math.min(iovlen, bytesRemaining); var buf = msg.buffer.subarray(bytesRead, bytesRead + length); HEAPU8.set(buf, iovbase + bytesRead); bytesRead += length; bytesRemaining -= length; } // TODO set msghdr.msg_flags // MSG_EOR // End of record was received (if supported by the protocol). // MSG_OOB // Out-of-band data was received. // MSG_TRUNC // Normal data was truncated. // MSG_CTRUNC return bytesRead; } default: abort('unsupported socketcall syscall ' + call); } } catch (e) { if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno; } } function ___syscall12(which, varargs) {SYSCALLS.varargs = varargs; try { // chdir var path = SYSCALLS.getStr(); FS.chdir(path); return 0; } catch (e) { if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno; } } function ___syscall140(which, varargs) {SYSCALLS.varargs = varargs; try { // llseek var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get(); // NOTE: offset_high is unused - Emscripten's off_t is 32-bit var offset = offset_low; FS.llseek(stream, offset, whence); HEAP32[((result)>>2)]=stream.position; if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state return 0; } catch (e) { if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno; } } function ___syscall168(which, varargs) {SYSCALLS.varargs = varargs; try { // poll var fds = SYSCALLS.get(), nfds = SYSCALLS.get(), timeout = SYSCALLS.get(); var nonzero = 0; for (var i = 0; i < nfds; i++) { var pollfd = fds + 8 * i; var fd = HEAP32[((pollfd)>>2)]; var events = HEAP16[(((pollfd)+(4))>>1)]; var mask = 32; var stream = FS.getStream(fd); if (stream) { mask = SYSCALLS.DEFAULT_POLLMASK; if (stream.stream_ops.poll) { mask = stream.stream_ops.poll(stream); } } mask &= events | 8 | 16; if (mask) nonzero++; HEAP16[(((pollfd)+(6))>>1)]=mask; } return nonzero; } catch (e) { if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno; } } function ___syscall195(which, varargs) {SYSCALLS.varargs = varargs; try { // SYS_stat64 var path = SYSCALLS.getStr(), buf = SYSCALLS.get(); return SYSCALLS.doStat(FS.stat, path, buf); } catch (e) { if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno; } } function ___syscall197(which, varargs) {SYSCALLS.varargs = varargs; try { // SYS_fstat64 var stream = SYSCALLS.getStreamFromFD(), buf = SYSCALLS.get(); return SYSCALLS.doStat(FS.stat, stream.path, buf); } catch (e) { if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno; } } function ___syscall220(which, varargs) {SYSCALLS.varargs = varargs; try { // SYS_getdents64 var stream = SYSCALLS.getStreamFromFD(), dirp = SYSCALLS.get(), count = SYSCALLS.get(); if (!stream.getdents) { stream.getdents = FS.readdir(stream.path); } var pos = 0; while (stream.getdents.length > 0 && pos + 268 <= count) { var id; var type; var name = stream.getdents.pop(); if (name[0] === '.') { id = 1; type = 4; // DT_DIR } else { var child = FS.lookupNode(stream.node, name); id = child.id; type = FS.isChrdev(child.mode) ? 2 : // DT_CHR, character device. FS.isDir(child.mode) ? 4 : // DT_DIR, directory. FS.isLink(child.mode) ? 10 : // DT_LNK, symbolic link. 8; // DT_REG, regular file. } HEAP32[((dirp + pos)>>2)]=id; HEAP32[(((dirp + pos)+(4))>>2)]=stream.position; HEAP16[(((dirp + pos)+(8))>>1)]=268; HEAP8[(((dirp + pos)+(10))>>0)]=type; stringToUTF8(name, dirp + pos + 11, 256); pos += 268; } return pos; } catch (e) { if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno; } } function ___syscall221(which, varargs) {SYSCALLS.varargs = varargs; try { // fcntl64 var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get(); switch (cmd) { case 0: { var arg = SYSCALLS.get(); if (arg < 0) { return -ERRNO_CODES.EINVAL; } var newStream; newStream = FS.open(stream.path, stream.flags, 0, arg); return newStream.fd; } case 1: case 2: return 0; // FD_CLOEXEC makes no sense for a single process. case 3: return stream.flags; case 4: { var arg = SYSCALLS.get(); stream.flags |= arg; return 0; } case 12: /* case 12: Currently in musl F_GETLK64 has same value as F_GETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ { var arg = SYSCALLS.get(); var offset = 0; // We're always unlocked. HEAP16[(((arg)+(offset))>>1)]=2; return 0; } case 13: case 14: /* case 13: Currently in musl F_SETLK64 has same value as F_SETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ /* case 14: Currently in musl F_SETLKW64 has same value as F_SETLKW, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ return 0; // Pretend that the locking is successful. case 16: case 8: return -ERRNO_CODES.EINVAL; // These are for sockets. We don't have them fully implemented yet. case 9: // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fnctl() returns that, and we set errno ourselves. ___setErrNo(ERRNO_CODES.EINVAL); return -1; default: { return -ERRNO_CODES.EINVAL; } } } catch (e) { if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno; } } function ___syscall3(which, varargs) {SYSCALLS.varargs = varargs; try { // read var stream = SYSCALLS.getStreamFromFD(), buf = SYSCALLS.get(), count = SYSCALLS.get(); return FS.read(stream, HEAP8,buf, count); } catch (e) { if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno; } } function ___syscall39(which, varargs) {SYSCALLS.varargs = varargs; try { // mkdir var path = SYSCALLS.getStr(), mode = SYSCALLS.get(); return SYSCALLS.doMkdir(path, mode); } catch (e) { if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno; } } function ___syscall4(which, varargs) {SYSCALLS.varargs = varargs; try { // write var stream = SYSCALLS.getStreamFromFD(), buf = SYSCALLS.get(), count = SYSCALLS.get(); return FS.write(stream, HEAP8,buf, count); } catch (e) { if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno; } } function ___syscall5(which, varargs) {SYSCALLS.varargs = varargs; try { // open var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get() // optional TODO var stream = FS.open(pathname, flags, mode); return stream.fd; } catch (e) { if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno; } } function ___syscall54(which, varargs) {SYSCALLS.varargs = varargs; try { // ioctl var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get(); switch (op) { case 21509: case 21505: { if (!stream.tty) return -ERRNO_CODES.ENOTTY; return 0; } case 21510: case 21511: case 21512: case 21506: case 21507: case 21508: { if (!stream.tty) return -ERRNO_CODES.ENOTTY; return 0; // no-op, not actually adjusting terminal settings } case 21519: { if (!stream.tty) return -ERRNO_CODES.ENOTTY; var argp = SYSCALLS.get(); HEAP32[((argp)>>2)]=0; return 0; } case 21520: { if (!stream.tty) return -ERRNO_CODES.ENOTTY; return -ERRNO_CODES.EINVAL; // not supported } case 21531: { var argp = SYSCALLS.get(); return FS.ioctl(stream, op, argp); } case 21523: { // TODO: in theory we should write to the winsize struct that gets // passed in, but for now musl doesn't read anything on it if (!stream.tty) return -ERRNO_CODES.ENOTTY; return 0; } case 21524: { // TODO: technically, this ioctl call should change the window size. // but, since emscripten doesn't have any concept of a terminal window // yet, we'll just silently throw it away as we do TIOCGWINSZ if (!stream.tty) return -ERRNO_CODES.ENOTTY; return 0; } default: abort('bad ioctl syscall ' + op); } } catch (e) { if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno; } } function ___syscall6(which, varargs) {SYSCALLS.varargs = varargs; try { // close var stream = SYSCALLS.getStreamFromFD(); FS.close(stream); return 0; } catch (e) { if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno; } } var _emscripten_asm_const_int=true; var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,removeAllEventListeners:function () { for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { JSEvents._removeHandler(i); } JSEvents.eventHandlers = []; JSEvents.deferredCalls = []; },registerRemoveEventListeners:function () { if (!JSEvents.removeEventListenersRegistered) { __ATEXIT__.push(JSEvents.removeAllEventListeners); JSEvents.removeEventListenersRegistered = true; } },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { function arraysHaveEqualContent(arrA, arrB) { if (arrA.length != arrB.length) return false; for(var i in arrA) { if (arrA[i] != arrB[i]) return false; } return true; } // Test if the given call was already queued, and if so, don't add it again. for(var i in JSEvents.deferredCalls) { var call = JSEvents.deferredCalls[i]; if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { return; } } JSEvents.deferredCalls.push({ targetFunction: targetFunction, precedence: precedence, argsList: argsList }); JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); },removeDeferredCalls:function (targetFunction) { for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { JSEvents.deferredCalls.splice(i, 1); --i; } } },canPerformEventHandlerRequests:function () { return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; },runDeferredCalls:function () { if (!JSEvents.canPerformEventHandlerRequests()) { return; } for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { var call = JSEvents.deferredCalls[i]; JSEvents.deferredCalls.splice(i, 1); --i; call.targetFunction.apply(this, call.argsList); } },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { if (JSEvents.eventHandlers[i].target == target && (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { JSEvents._removeHandler(i--); } } },_removeHandler:function (i) { var h = JSEvents.eventHandlers[i]; h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); JSEvents.eventHandlers.splice(i, 1); },registerOrRemoveHandler:function (eventHandler) { var jsEventHandler = function jsEventHandler(event) { // Increment nesting count for the event handler. ++JSEvents.inEventHandler; JSEvents.currentEventHandler = eventHandler; // Process any old deferred calls the user has placed. JSEvents.runDeferredCalls(); // Process the actual event, calls back to user C code handler. eventHandler.handlerFunc(event); // Process any new deferred calls that were placed right now from this event handler. JSEvents.runDeferredCalls(); // Out of event handler - restore nesting count. --JSEvents.inEventHandler; } if (eventHandler.callbackfunc) { eventHandler.eventListenerFunc = jsEventHandler; eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, { useCapture: eventHandler.useCapture, passive: false }); JSEvents.eventHandlers.push(eventHandler); JSEvents.registerRemoveEventListeners(); } else { for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { if (JSEvents.eventHandlers[i].target == eventHandler.target && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { JSEvents._removeHandler(i--); } } } },getBoundingClientRectOrZeros:function (target) { return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; },pageScrollPos:function () { if (window.pageXOffset > 0 || window.pageYOffset > 0) { return [window.pageXOffset, window.pageYOffset]; } if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; } return [document.body.scrollLeft|0, document.body.scrollTop|0]; },getNodeNameForTarget:function (target) { if (!target) return ''; if (target == window) return '#window'; if (target == screen) return '#screen'; return (target && target.nodeName) ? target.nodeName : ''; },tick:function () { if (window['performance'] && window['performance']['now']) return window['performance']['now'](); else return Date.now(); },fullscreenEnabled:function () { return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; }}; var __currentFullscreenStrategy={}; var __specialEventTargets=[0, typeof document !== 'undefined' ? document : 0, typeof window !== 'undefined' ? window : 0];function __findEventTarget(target) { try { // The sensible "default" target varies between events, but use window as the default // since DOM events mostly can default to that. Specific callback registrations // override their own defaults. if (!target) return window; if (typeof target === "number") target = __specialEventTargets[target] || UTF8ToString(target); if (target === '#window') return window; else if (target === '#document') return document; else if (target === '#screen') return screen; else if (target === '#canvas') return Module['canvas']; return (typeof target === 'string') ? document.getElementById(target) : target; } catch(e) { // In Web Workers, some objects above, such as '#document' do not exist. Gracefully // return null for them. return null; } }function __findCanvasEventTarget(target) { if (typeof target === 'number') target = UTF8ToString(target); if (!target || target === '#canvas') { if (typeof GL !== 'undefined' && GL.offscreenCanvases['canvas']) return GL.offscreenCanvases['canvas']; // TODO: Remove this line, target '#canvas' should refer only to Module['canvas'], not to GL.offscreenCanvases['canvas'] - but need stricter tests to be able to remove this line. return Module['canvas']; } if (typeof GL !== 'undefined' && GL.offscreenCanvases[target]) return GL.offscreenCanvases[target]; return __findEventTarget(target); }function _emscripten_get_canvas_element_size(target, width, height) { var canvas = __findCanvasEventTarget(target); if (!canvas) return -4; HEAP32[((width)>>2)]=canvas.width; HEAP32[((height)>>2)]=canvas.height; }function __get_canvas_element_size(target) { var stackTop = stackSave(); var w = stackAlloc(8); var h = w + 4; var targetInt = stackAlloc(target.id.length+1); stringToUTF8(target.id, targetInt, target.id.length+1); var ret = _emscripten_get_canvas_element_size(targetInt, w, h); var size = [HEAP32[((w)>>2)], HEAP32[((h)>>2)]]; stackRestore(stackTop); return size; } function _emscripten_set_canvas_element_size(target, width, height) { var canvas = __findCanvasEventTarget(target); if (!canvas) return -4; canvas.width = width; canvas.height = height; return 0; }function __set_canvas_element_size(target, width, height) { if (!target.controlTransferredOffscreen) { target.width = width; target.height = height; } else { // This function is being called from high-level JavaScript code instead of asm.js/Wasm, // and it needs to synchronously proxy over to another thread, so marshal the string onto the heap to do the call. var stackTop = stackSave(); var targetInt = stackAlloc(target.id.length+1); stringToUTF8(target.id, targetInt, target.id.length+1); _emscripten_set_canvas_element_size(targetInt, width, height); stackRestore(stackTop); } }function __registerRestoreOldStyle(canvas) { var canvasSize = __get_canvas_element_size(canvas); var oldWidth = canvasSize[0]; var oldHeight = canvasSize[1]; var oldCssWidth = canvas.style.width; var oldCssHeight = canvas.style.height; var oldBackgroundColor = canvas.style.backgroundColor; // Chrome reads color from here. var oldDocumentBackgroundColor = document.body.style.backgroundColor; // IE11 reads color from here. // Firefox always has black background color. var oldPaddingLeft = canvas.style.paddingLeft; // Chrome, FF, Safari var oldPaddingRight = canvas.style.paddingRight; var oldPaddingTop = canvas.style.paddingTop; var oldPaddingBottom = canvas.style.paddingBottom; var oldMarginLeft = canvas.style.marginLeft; // IE11 var oldMarginRight = canvas.style.marginRight; var oldMarginTop = canvas.style.marginTop; var oldMarginBottom = canvas.style.marginBottom; var oldDocumentBodyMargin = document.body.style.margin; var oldDocumentOverflow = document.documentElement.style.overflow; // Chrome, Firefox var oldDocumentScroll = document.body.scroll; // IE var oldImageRendering = canvas.style.imageRendering; function restoreOldStyle() { var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; if (!fullscreenElement) { document.removeEventListener('fullscreenchange', restoreOldStyle); document.removeEventListener('mozfullscreenchange', restoreOldStyle); document.removeEventListener('webkitfullscreenchange', restoreOldStyle); document.removeEventListener('MSFullscreenChange', restoreOldStyle); __set_canvas_element_size(canvas, oldWidth, oldHeight); canvas.style.width = oldCssWidth; canvas.style.height = oldCssHeight; canvas.style.backgroundColor = oldBackgroundColor; // Chrome // IE11 hack: assigning 'undefined' or an empty string to document.body.style.backgroundColor has no effect, so first assign back the default color // before setting the undefined value. Setting undefined value is also important, or otherwise we would later treat that as something that the user // had explicitly set so subsequent fullscreen transitions would not set background color properly. if (!oldDocumentBackgroundColor) document.body.style.backgroundColor = 'white'; document.body.style.backgroundColor = oldDocumentBackgroundColor; // IE11 canvas.style.paddingLeft = oldPaddingLeft; // Chrome, FF, Safari canvas.style.paddingRight = oldPaddingRight; canvas.style.paddingTop = oldPaddingTop; canvas.style.paddingBottom = oldPaddingBottom; canvas.style.marginLeft = oldMarginLeft; // IE11 canvas.style.marginRight = oldMarginRight; canvas.style.marginTop = oldMarginTop; canvas.style.marginBottom = oldMarginBottom; document.body.style.margin = oldDocumentBodyMargin; document.documentElement.style.overflow = oldDocumentOverflow; // Chrome, Firefox document.body.scroll = oldDocumentScroll; // IE canvas.style.imageRendering = oldImageRendering; if (canvas.GLctxObject) canvas.GLctxObject.GLctx.viewport(0, 0, oldWidth, oldHeight); if (__currentFullscreenStrategy.canvasResizedCallback) { dynCall_iiii(__currentFullscreenStrategy.canvasResizedCallback, 37, 0, __currentFullscreenStrategy.canvasResizedCallbackUserData); } } } document.addEventListener('fullscreenchange', restoreOldStyle); document.addEventListener('mozfullscreenchange', restoreOldStyle); document.addEventListener('webkitfullscreenchange', restoreOldStyle); document.addEventListener('MSFullscreenChange', restoreOldStyle); return restoreOldStyle; } function __setLetterbox(element, topBottom, leftRight) { if (JSEvents.isInternetExplorer()) { // Cannot use padding on IE11, because IE11 computes padding in addition to the size, unlike // other browsers, which treat padding to be part of the size. // e.g. // FF, Chrome: If CSS size = 1920x1080, padding-leftright = 460, padding-topbottomx40, then content size = (1920 - 2*460) x (1080-2*40) = 1000x1000px, and total element size = 1920x1080px. // IE11: If CSS size = 1920x1080, padding-leftright = 460, padding-topbottomx40, then content size = 1920x1080px and total element size = (1920+2*460) x (1080+2*40)px. // IE11 treats margin like Chrome and FF treat padding. element.style.marginLeft = element.style.marginRight = leftRight + 'px'; element.style.marginTop = element.style.marginBottom = topBottom + 'px'; } else { // Cannot use margin to specify letterboxes in FF or Chrome, since those ignore margins in fullscreen mode. element.style.paddingLeft = element.style.paddingRight = leftRight + 'px'; element.style.paddingTop = element.style.paddingBottom = topBottom + 'px'; } }function _JSEvents_resizeCanvasForFullscreen(target, strategy) { var restoreOldStyle = __registerRestoreOldStyle(target); var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; var rect = target.getBoundingClientRect(); var windowedCssWidth = rect.right - rect.left; var windowedCssHeight = rect.bottom - rect.top; var canvasSize = __get_canvas_element_size(target); var windowedRttWidth = canvasSize[0]; var windowedRttHeight = canvasSize[1]; if (strategy.scaleMode == 3) { __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); cssWidth = windowedCssWidth; cssHeight = windowedCssHeight; } else if (strategy.scaleMode == 2) { if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); cssHeight = desiredCssHeight; } else { var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); cssWidth = desiredCssWidth; } } // If we are adding padding, must choose a background color or otherwise Chrome will give the // padding a default white color. Do it only if user has not customized their own background color. if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; // IE11 does the same, but requires the color to be set in the document body. if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 // Firefox always shows black letterboxes independent of style color. target.style.width = cssWidth + 'px'; target.style.height = cssHeight + 'px'; if (strategy.filteringMode == 1) { target.style.imageRendering = 'optimizeSpeed'; target.style.imageRendering = '-moz-crisp-edges'; target.style.imageRendering = '-o-crisp-edges'; target.style.imageRendering = '-webkit-optimize-contrast'; target.style.imageRendering = 'optimize-contrast'; target.style.imageRendering = 'crisp-edges'; target.style.imageRendering = 'pixelated'; } var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; if (strategy.canvasResolutionScaleMode != 0) { var newWidth = (cssWidth * dpiScale)|0; var newHeight = (cssHeight * dpiScale)|0; __set_canvas_element_size(target, newWidth, newHeight); if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, newWidth, newHeight); } return restoreOldStyle; }function _JSEvents_requestFullscreen(target, strategy) { // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { _JSEvents_resizeCanvasForFullscreen(target, strategy); } if (target.requestFullscreen) { target.requestFullscreen(); } else if (target.msRequestFullscreen) { target.msRequestFullscreen(); } else if (target.mozRequestFullScreen) { target.mozRequestFullScreen(); } else if (target.mozRequestFullscreen) { target.mozRequestFullscreen(); } else if (target.webkitRequestFullscreen) { target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); } else { if (typeof JSEvents.fullscreenEnabled() === 'undefined') { return -1; } else { return -3; } } if (strategy.canvasResizedCallback) { dynCall_iiii(strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); } return 0; }function _emscripten_exit_fullscreen() { if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; // Make sure no queued up calls will fire after this. JSEvents.removeDeferredCalls(_JSEvents_requestFullscreen); var d = __specialEventTargets[1]; if (d.exitFullscreen) { d.fullscreenElement && d.exitFullscreen(); } else if (d.msExitFullscreen) { d.msFullscreenElement && d.msExitFullscreen(); } else if (d.mozCancelFullScreen) { d.mozFullScreenElement && d.mozCancelFullScreen(); } else if (d.webkitExitFullscreen) { d.webkitFullscreenElement && d.webkitExitFullscreen(); } else { return -1; } if (__currentFullscreenStrategy.canvasResizedCallback) { dynCall_iiii(__currentFullscreenStrategy.canvasResizedCallback, 37, 0, __currentFullscreenStrategy.canvasResizedCallbackUserData); __currentFullscreenStrategy = 0; } return 0; } function __requestPointerLock(target) { if (target.requestPointerLock) { target.requestPointerLock(); } else if (target.mozRequestPointerLock) { target.mozRequestPointerLock(); } else if (target.webkitRequestPointerLock) { target.webkitRequestPointerLock(); } else if (target.msRequestPointerLock) { target.msRequestPointerLock(); } else { // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, // or if the whole browser just doesn't support the feature. if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { return -3; } else { return -1; } } return 0; }function _emscripten_exit_pointerlock() { // Make sure no queued up calls will fire after this. JSEvents.removeDeferredCalls(__requestPointerLock); if (document.exitPointerLock) { document.exitPointerLock(); } else if (document.msExitPointerLock) { document.msExitPointerLock(); } else if (document.mozExitPointerLock) { document.mozExitPointerLock(); } else if (document.webkitExitPointerLock) { document.webkitExitPointerLock(); } else { return -1; } return 0; } function _emscripten_get_device_pixel_ratio() { return window.devicePixelRatio || 1.0; } function _emscripten_get_element_css_size(target, width, height) { target = target ? __findEventTarget(target) : Module['canvas']; if (!target) return -4; if (target.getBoundingClientRect) { var rect = target.getBoundingClientRect(); HEAPF64[((width)>>3)]=rect.right - rect.left; HEAPF64[((height)>>3)]=rect.bottom - rect.top; } else { HEAPF64[((width)>>3)]=target.clientWidth; HEAPF64[((height)>>3)]=target.clientHeight; } return 0; } function __fillFullscreenChangeEventData(eventStruct, e) { var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; var isFullscreen = !!fullscreenElement; HEAP32[((eventStruct)>>2)]=isFullscreen; HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); // If transitioning to fullscreen, report info about the element that is now fullscreen. // If transitioning to windowed mode, report info about the element that just was fullscreen. var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; var nodeName = JSEvents.getNodeNameForTarget(reportedElement); var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; stringToUTF8(nodeName, eventStruct + 8, 128); stringToUTF8(id, eventStruct + 136, 128); HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; HEAP32[(((eventStruct)+(272))>>2)]=screen.width; HEAP32[(((eventStruct)+(276))>>2)]=screen.height; if (isFullscreen) { JSEvents.previousFullscreenElement = fullscreenElement; } }function _emscripten_get_fullscreen_status(fullscreenStatus) { if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; __fillFullscreenChangeEventData(fullscreenStatus); return 0; } function _emscripten_get_heap_size() { return HEAP8.length; } function _emscripten_get_now() { abort() } function __fillPointerlockChangeEventData(eventStruct, e) { var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; var isPointerlocked = !!pointerLockElement; HEAP32[((eventStruct)>>2)]=isPointerlocked; var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; stringToUTF8(nodeName, eventStruct + 4, 128); stringToUTF8(id, eventStruct + 132, 128); }function _emscripten_get_pointerlock_status(pointerlockStatus) { if (pointerlockStatus) __fillPointerlockChangeEventData(pointerlockStatus); if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { return -1; } return 0; } function _emscripten_is_main_browser_thread() { return !ENVIRONMENT_IS_WORKER; } function _emscripten_is_webgl_context_lost(target) { return !GL.contexts[target] || GL.contexts[target].GLctx.isContextLost(); // No context ~> lost context. } function __emscripten_do_request_fullscreen(target, strategy) { if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; if (!JSEvents.fullscreenEnabled()) return -3; if (!target) target = '#canvas'; target = __findEventTarget(target); if (!target) return -4; if (!target.requestFullscreen && !target.msRequestFullscreen && !target.mozRequestFullScreen && !target.mozRequestFullscreen && !target.webkitRequestFullscreen) { return -3; } var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. if (!canPerformRequests) { if (strategy.deferUntilInEventHandler) { JSEvents.deferCall(_JSEvents_requestFullscreen, 1 /* priority over pointer lock */, [target, strategy]); return 1; } else { return -2; } } return _JSEvents_requestFullscreen(target, strategy); }function _emscripten_request_fullscreen_strategy(target, deferUntilInEventHandler, fullscreenStrategy) { var strategy = {}; strategy.scaleMode = HEAP32[((fullscreenStrategy)>>2)]; strategy.canvasResolutionScaleMode = HEAP32[(((fullscreenStrategy)+(4))>>2)]; strategy.filteringMode = HEAP32[(((fullscreenStrategy)+(8))>>2)]; strategy.deferUntilInEventHandler = deferUntilInEventHandler; strategy.canvasResizedCallback = HEAP32[(((fullscreenStrategy)+(12))>>2)]; strategy.canvasResizedCallbackUserData = HEAP32[(((fullscreenStrategy)+(16))>>2)]; __currentFullscreenStrategy = strategy; return __emscripten_do_request_fullscreen(target, strategy); } function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { if (!target) target = '#canvas'; target = __findEventTarget(target); if (!target) return -4; if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) { return -1; } var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. if (!canPerformRequests) { if (deferUntilInEventHandler) { JSEvents.deferCall(__requestPointerLock, 2 /* priority below fullscreen */, [target]); return 1; } else { return -2; } } return __requestPointerLock(target); } function abortOnCannotGrowMemory(requestedSize) { abort('OOM'); } function emscripten_realloc_buffer(size) { try { var newBuffer = new ArrayBuffer(size); if (newBuffer.byteLength != size) return false; new Int8Array(newBuffer).set(HEAP8); } catch(e) { return false; } Module['_emscripten_replace_memory'](newBuffer); HEAP8 = new Int8Array(newBuffer); HEAP16 = new Int16Array(newBuffer); HEAP32 = new Int32Array(newBuffer); HEAPU8 = new Uint8Array(newBuffer); HEAPU16 = new Uint16Array(newBuffer); HEAPU32 = new Uint32Array(newBuffer); HEAPF32 = new Float32Array(newBuffer); HEAPF64 = new Float64Array(newBuffer); buffer = newBuffer; return newBuffer; }function _emscripten_resize_heap(requestedSize) { var oldSize = _emscripten_get_heap_size(); var PAGE_MULTIPLE = 16777216; var LIMIT = 2147483648 - PAGE_MULTIPLE; // We can do one page short of 2GB as theoretical maximum. if (requestedSize > LIMIT) { return false; } var MIN_TOTAL_MEMORY = 16777216; var newSize = Math.max(oldSize, MIN_TOTAL_MEMORY); // So the loop below will not be infinite, and minimum asm.js memory size is 16MB. while (newSize < requestedSize) { // Keep incrementing the heap size as long as it's less than what is requested. if (newSize <= 536870912) { newSize = alignUp(2 * newSize, PAGE_MULTIPLE); // Simple heuristic: double until 1GB... } else { // ..., but after that, add smaller increments towards 2GB, which we cannot reach newSize = Math.min(alignUp((3 * newSize + 2147483648) / 4, PAGE_MULTIPLE), LIMIT); } } var replacement = emscripten_realloc_buffer(newSize); if (!replacement || replacement.byteLength != newSize) { return false; } // everything worked updateGlobalBufferViews(); return true; } function __registerBeforeUnloadEventCallback(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { var beforeUnloadEventHandlerFunc = function(event) { var e = event || window.event; // Note: This is always called on the main browser thread, since it needs synchronously return a value! var confirmationMessage = dynCall_iiii(callbackfunc, eventTypeId, 0, userData); if (confirmationMessage) { confirmationMessage = UTF8ToString(confirmationMessage); } if (confirmationMessage) { e.preventDefault(); e.returnValue = confirmationMessage; return confirmationMessage; } }; var eventHandler = { target: __findEventTarget(target), allowsDeferredCalls: false, eventTypeString: eventTypeString, callbackfunc: callbackfunc, handlerFunc: beforeUnloadEventHandlerFunc, useCapture: useCapture }; JSEvents.registerOrRemoveHandler(eventHandler); }function _emscripten_set_beforeunload_callback_on_thread(userData, callbackfunc, targetThread) { if (typeof window.onbeforeunload === 'undefined') return -1; // beforeunload callback can only be registered on the main browser thread, because the page will go away immediately after returning from the handler, // and there is no time to start proxying it anywhere. if (targetThread !== 1) return -5; __registerBeforeUnloadEventCallback(2, userData, true, callbackfunc, 28, "beforeunload"); return 0; } function __registerFocusEventCallback(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) { if (!JSEvents.focusEvent) JSEvents.focusEvent = _malloc( 256 ); var focusEventHandlerFunc = function(event) { var e = event || window.event; var nodeName = JSEvents.getNodeNameForTarget(e.target); var id = e.target.id ? e.target.id : ''; var focusEvent = JSEvents.focusEvent; stringToUTF8(nodeName, focusEvent + 0, 128); stringToUTF8(id, focusEvent + 128, 128); if (dynCall_iiii(callbackfunc, eventTypeId, focusEvent, userData)) e.preventDefault(); }; var eventHandler = { target: __findEventTarget(target), allowsDeferredCalls: false, eventTypeString: eventTypeString, callbackfunc: callbackfunc, handlerFunc: focusEventHandlerFunc, useCapture: useCapture }; JSEvents.registerOrRemoveHandler(eventHandler); }function _emscripten_set_blur_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { __registerFocusEventCallback(target, userData, useCapture, callbackfunc, 12, "blur", targetThread); return 0; } function _emscripten_set_focus_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { __registerFocusEventCallback(target, userData, useCapture, callbackfunc, 13, "focus", targetThread); return 0; } function __registerKeyEventCallback(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) { if (!JSEvents.keyEvent) JSEvents.keyEvent = _malloc( 164 ); var keyEventHandlerFunc = function(event) { var e = event || window.event; var keyEventData = JSEvents.keyEvent; stringToUTF8(e.key ? e.key : "", keyEventData + 0, 32); stringToUTF8(e.code ? e.code : "", keyEventData + 32, 32); HEAP32[(((keyEventData)+(64))>>2)]=e.location; HEAP32[(((keyEventData)+(68))>>2)]=e.ctrlKey; HEAP32[(((keyEventData)+(72))>>2)]=e.shiftKey; HEAP32[(((keyEventData)+(76))>>2)]=e.altKey; HEAP32[(((keyEventData)+(80))>>2)]=e.metaKey; HEAP32[(((keyEventData)+(84))>>2)]=e.repeat; stringToUTF8(e.locale ? e.locale : "", keyEventData + 88, 32); stringToUTF8(e.char ? e.char : "", keyEventData + 120, 32); HEAP32[(((keyEventData)+(152))>>2)]=e.charCode; HEAP32[(((keyEventData)+(156))>>2)]=e.keyCode; HEAP32[(((keyEventData)+(160))>>2)]=e.which; if (dynCall_iiii(callbackfunc, eventTypeId, keyEventData, userData)) e.preventDefault(); }; var eventHandler = { target: __findEventTarget(target), allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. eventTypeString: eventTypeString, callbackfunc: callbackfunc, handlerFunc: keyEventHandlerFunc, useCapture: useCapture }; JSEvents.registerOrRemoveHandler(eventHandler); }function _emscripten_set_keydown_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { __registerKeyEventCallback(target, userData, useCapture, callbackfunc, 2, "keydown", targetThread); return 0; } function _emscripten_set_keypress_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { __registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress", targetThread); return 0; } function _emscripten_set_keyup_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { __registerKeyEventCallback(target, userData, useCapture, callbackfunc, 3, "keyup", targetThread); return 0; } var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { Browser.mainLoop.scheduler = null; Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. },resume:function () { Browser.mainLoop.currentlyRunningMainloop++; var timingMode = Browser.mainLoop.timingMode; var timingValue = Browser.mainLoop.timingValue; var func = Browser.mainLoop.func; Browser.mainLoop.func = null; _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); _emscripten_set_main_loop_timing(timingMode, timingValue); Browser.mainLoop.scheduler(); },updateStatus:function () { if (Module['setStatus']) { var message = Module['statusMessage'] || 'Please wait...'; var remaining = Browser.mainLoop.remainingBlockers; var expected = Browser.mainLoop.expectedBlockers; if (remaining) { if (remaining < expected) { Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); } else { Module['setStatus'](message); } } else { Module['setStatus'](''); } } },runIter:function (func) { if (ABORT) return; if (Module['preMainLoop']) { var preRet = Module['preMainLoop'](); if (preRet === false) { return; // |return false| skips a frame } } try { func(); } catch (e) { if (e instanceof ExitStatus) { return; } else { if (e && typeof e === 'object' && e.stack) err('exception thrown: ' + [e, e.stack]); throw e; } } if (Module['postMainLoop']) Module['postMainLoop'](); }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers if (Browser.initted) return; Browser.initted = true; try { new Blob(); Browser.hasBlobConstructor = true; } catch(e) { Browser.hasBlobConstructor = false; console.log("warning: no blob constructor, cannot create blobs with mimetypes"); } Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); Module.noImageDecoding = true; } // Support for plugins that can process preloaded files. You can add more of these to // your app by creating and appending to Module.preloadPlugins. // // Each plugin is asked if it can handle a file based on the file's name. If it can, // it is given the file's raw data. When it is done, it calls a callback with the file's // (possibly modified) data. For example, a plugin might decompress a file, or it // might create some side data structure for use later (like an Image element, etc.). var imagePlugin = {}; imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); }; imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { var b = null; if (Browser.hasBlobConstructor) { try { b = new Blob([byteArray], { type: Browser.getMimetype(name) }); if (b.size !== byteArray.length) { // Safari bug #118630 // Safari's Blob can only take an ArrayBuffer b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); } } catch(e) { warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); } } if (!b) { var bb = new Browser.BlobBuilder(); bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range b = bb.getBlob(); } var url = Browser.URLObject.createObjectURL(b); var img = new Image(); img.onload = function img_onload() { assert(img.complete, 'Image ' + name + ' could not be decoded'); var canvas = document.createElement('canvas'); canvas.width = img.width; canvas.height = img.height; var ctx = canvas.getContext('2d'); ctx.drawImage(img, 0, 0); Module["preloadedImages"][name] = canvas; Browser.URLObject.revokeObjectURL(url); if (onload) onload(byteArray); }; img.onerror = function img_onerror(event) { console.log('Image ' + url + ' could not be decoded'); if (onerror) onerror(); }; img.src = url; }; Module['preloadPlugins'].push(imagePlugin); var audioPlugin = {}; audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; }; audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { var done = false; function finish(audio) { if (done) return; done = true; Module["preloadedAudios"][name] = audio; if (onload) onload(byteArray); } function fail() { if (done) return; done = true; Module["preloadedAudios"][name] = new Audio(); // empty shim if (onerror) onerror(); } if (Browser.hasBlobConstructor) { try { var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); } catch(e) { return fail(); } var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! var audio = new Audio(); audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 audio.onerror = function audio_onerror(event) { if (done) return; console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); function encode64(data) { var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; var PAD = '='; var ret = ''; var leftchar = 0; var leftbits = 0; for (var i = 0; i < data.length; i++) { leftchar = (leftchar << 8) | data[i]; leftbits += 8; while (leftbits >= 6) { var curr = (leftchar >> (leftbits-6)) & 0x3f; leftbits -= 6; ret += BASE[curr]; } } if (leftbits == 2) { ret += BASE[(leftchar&3) << 4]; ret += PAD + PAD; } else if (leftbits == 4) { ret += BASE[(leftchar&0xf) << 2]; ret += PAD; } return ret; } audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); finish(audio); // we don't wait for confirmation this worked - but it's worth trying }; audio.src = url; // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror Browser.safeSetTimeout(function() { finish(audio); // try to use it even though it is not necessarily ready to play }, 10000); } else { return fail(); } }; Module['preloadPlugins'].push(audioPlugin); // Canvas event setup function pointerLockChange() { Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] || document['mozPointerLockElement'] === Module['canvas'] || document['webkitPointerLockElement'] === Module['canvas'] || document['msPointerLockElement'] === Module['canvas']; } var canvas = Module['canvas']; if (canvas) { // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module // Module['forcedAspectRatio'] = 4 / 3; canvas.requestPointerLock = canvas['requestPointerLock'] || canvas['mozRequestPointerLock'] || canvas['webkitRequestPointerLock'] || canvas['msRequestPointerLock'] || function(){}; canvas.exitPointerLock = document['exitPointerLock'] || document['mozExitPointerLock'] || document['webkitExitPointerLock'] || document['msExitPointerLock'] || function(){}; // no-op if function does not exist canvas.exitPointerLock = canvas.exitPointerLock.bind(document); document.addEventListener('pointerlockchange', pointerLockChange, false); document.addEventListener('mozpointerlockchange', pointerLockChange, false); document.addEventListener('webkitpointerlockchange', pointerLockChange, false); document.addEventListener('mspointerlockchange', pointerLockChange, false); if (Module['elementPointerLock']) { canvas.addEventListener("click", function(ev) { if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { Module['canvas'].requestPointerLock(); ev.preventDefault(); } }, false); } } },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. var ctx; var contextHandle; if (useWebGL) { // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. var contextAttributes = { antialias: false, alpha: false, majorVersion: 1, }; if (webGLContextAttributes) { for (var attribute in webGLContextAttributes) { contextAttributes[attribute] = webGLContextAttributes[attribute]; } } // This check of existence of GL is here to satisfy Closure compiler, which yells if variable GL is referenced below but GL object is not // actually compiled in because application is not doing any GL operations. TODO: Ideally if GL is not being used, this function // Browser.createContext() should not even be emitted. if (typeof GL !== 'undefined') { contextHandle = GL.createContext(canvas, contextAttributes); if (contextHandle) { ctx = GL.getContext(contextHandle).GLctx; } } } else { ctx = canvas.getContext('2d'); } if (!ctx) return null; if (setInModule) { if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); Module.ctx = ctx; if (useWebGL) GL.makeContextCurrent(contextHandle); Module.useWebGL = useWebGL; Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); Browser.init(); } return ctx; },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { Browser.lockPointer = lockPointer; Browser.resizeCanvas = resizeCanvas; Browser.vrDevice = vrDevice; if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; var canvas = Module['canvas']; function fullscreenChange() { Browser.isFullscreen = false; var canvasContainer = canvas.parentNode; if ((document['fullscreenElement'] || document['mozFullScreenElement'] || document['msFullscreenElement'] || document['webkitFullscreenElement'] || document['webkitCurrentFullScreenElement']) === canvasContainer) { canvas.exitFullscreen = Browser.exitFullscreen; if (Browser.lockPointer) canvas.requestPointerLock(); Browser.isFullscreen = true; if (Browser.resizeCanvas) { Browser.setFullscreenCanvasSize(); } else { Browser.updateCanvasDimensions(canvas); } } else { // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen canvasContainer.parentNode.insertBefore(canvas, canvasContainer); canvasContainer.parentNode.removeChild(canvasContainer); if (Browser.resizeCanvas) { Browser.setWindowedCanvasSize(); } else { Browser.updateCanvasDimensions(canvas); } } if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); } if (!Browser.fullscreenHandlersInstalled) { Browser.fullscreenHandlersInstalled = true; document.addEventListener('fullscreenchange', fullscreenChange, false); document.addEventListener('mozfullscreenchange', fullscreenChange, false); document.addEventListener('webkitfullscreenchange', fullscreenChange, false); document.addEventListener('MSFullscreenChange', fullscreenChange, false); } // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root var canvasContainer = document.createElement("div"); canvas.parentNode.insertBefore(canvasContainer, canvas); canvasContainer.appendChild(canvas); // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] || canvasContainer['mozRequestFullScreen'] || canvasContainer['msRequestFullscreen'] || (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) || (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); if (vrDevice) { canvasContainer.requestFullscreen({ vrDisplay: vrDevice }); } else { canvasContainer.requestFullscreen(); } },requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { err('Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.'); Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) { return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); } return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); },exitFullscreen:function () { // This is workaround for chrome. Trying to exit from fullscreen // not in fullscreen state will cause "TypeError: Document not active" // in chrome. See https://github.com/emscripten-core/emscripten/pull/8236 if (!Browser.isFullscreen) { return false; } var CFS = document['exitFullscreen'] || document['cancelFullScreen'] || document['mozCancelFullScreen'] || document['msExitFullscreen'] || document['webkitCancelFullScreen'] || (function() {}); CFS.apply(document, []); return true; },nextRAF:0,fakeRequestAnimationFrame:function (func) { // try to keep 60fps between calls to here var now = Date.now(); if (Browser.nextRAF === 0) { Browser.nextRAF = now + 1000/60; } else { while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 Browser.nextRAF += 1000/60; } } var delay = Math.max(Browser.nextRAF - now, 0); setTimeout(func, delay); },requestAnimationFrame:function requestAnimationFrame(func) { if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) Browser.fakeRequestAnimationFrame(func); } else { if (!window.requestAnimationFrame) { window.requestAnimationFrame = window['requestAnimationFrame'] || window['mozRequestAnimationFrame'] || window['webkitRequestAnimationFrame'] || window['msRequestAnimationFrame'] || window['oRequestAnimationFrame'] || Browser.fakeRequestAnimationFrame; } window.requestAnimationFrame(func); } },safeCallback:function (func) { return function() { if (!ABORT) return func.apply(null, arguments); }; },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { Browser.allowAsyncCallbacks = false; },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now Browser.allowAsyncCallbacks = true; if (Browser.queuedAsyncCallbacks.length > 0) { var callbacks = Browser.queuedAsyncCallbacks; Browser.queuedAsyncCallbacks = []; callbacks.forEach(function(func) { func(); }); } },safeRequestAnimationFrame:function (func) { return Browser.requestAnimationFrame(function() { if (ABORT) return; if (Browser.allowAsyncCallbacks) { func(); } else { Browser.queuedAsyncCallbacks.push(func); } }); },safeSetTimeout:function (func, timeout) { Module['noExitRuntime'] = true; return setTimeout(function() { if (ABORT) return; if (Browser.allowAsyncCallbacks) { func(); } else { Browser.queuedAsyncCallbacks.push(func); } }, timeout); },safeSetInterval:function (func, timeout) { Module['noExitRuntime'] = true; return setInterval(function() { if (ABORT) return; if (Browser.allowAsyncCallbacks) { func(); } // drop it on the floor otherwise, next interval will kick in }, timeout); },getMimetype:function (name) { return { 'jpg': 'image/jpeg', 'jpeg': 'image/jpeg', 'png': 'image/png', 'bmp': 'image/bmp', 'ogg': 'audio/ogg', 'wav': 'audio/wav', 'mp3': 'audio/mpeg' }[name.substr(name.lastIndexOf('.')+1)]; },getUserMedia:function (func) { if(!window.getUserMedia) { window.getUserMedia = navigator['getUserMedia'] || navigator['mozGetUserMedia']; } window.getUserMedia(func); },getMovementX:function (event) { return event['movementX'] || event['mozMovementX'] || event['webkitMovementX'] || 0; },getMovementY:function (event) { return event['movementY'] || event['mozMovementY'] || event['webkitMovementY'] || 0; },getMouseWheelDelta:function (event) { var delta = 0; switch (event.type) { case 'DOMMouseScroll': // 3 lines make up a step delta = event.detail / 3; break; case 'mousewheel': // 120 units make up a step delta = event.wheelDelta / 120; break; case 'wheel': delta = event.deltaY switch(event.deltaMode) { case 0: // DOM_DELTA_PIXEL: 100 pixels make up a step delta /= 100; break; case 1: // DOM_DELTA_LINE: 3 lines make up a step delta /= 3; break; case 2: // DOM_DELTA_PAGE: A page makes up 80 steps delta *= 80; break; default: throw 'unrecognized mouse wheel delta mode: ' + event.deltaMode; } break; default: throw 'unrecognized mouse wheel event: ' + event.type; } return delta; },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup if (Browser.pointerLock) { // When the pointer is locked, calculate the coordinates // based on the movement of the mouse. // Workaround for Firefox bug 764498 if (event.type != 'mousemove' && ('mozMovementX' in event)) { Browser.mouseMovementX = Browser.mouseMovementY = 0; } else { Browser.mouseMovementX = Browser.getMovementX(event); Browser.mouseMovementY = Browser.getMovementY(event); } // check if SDL is available if (typeof SDL != "undefined") { Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; } else { // just add the mouse delta to the current absolut mouse position // FIXME: ideally this should be clamped against the canvas size and zero Browser.mouseX += Browser.mouseMovementX; Browser.mouseY += Browser.mouseMovementY; } } else { // Otherwise, calculate the movement based on the changes // in the coordinates. var rect = Module["canvas"].getBoundingClientRect(); var cw = Module["canvas"].width; var ch = Module["canvas"].height; // Neither .scrollX or .pageXOffset are defined in a spec, but // we prefer .scrollX because it is currently in a spec draft. // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { var touch = event.touch; if (touch === undefined) { return; // the "touch" property is only defined in SDL } var adjustedX = touch.pageX - (scrollX + rect.left); var adjustedY = touch.pageY - (scrollY + rect.top); adjustedX = adjustedX * (cw / rect.width); adjustedY = adjustedY * (ch / rect.height); var coords = { x: adjustedX, y: adjustedY }; if (event.type === 'touchstart') { Browser.lastTouches[touch.identifier] = coords; Browser.touches[touch.identifier] = coords; } else if (event.type === 'touchend' || event.type === 'touchmove') { var last = Browser.touches[touch.identifier]; if (!last) last = coords; Browser.lastTouches[touch.identifier] = last; Browser.touches[touch.identifier] = coords; } return; } var x = event.pageX - (scrollX + rect.left); var y = event.pageY - (scrollY + rect.top); // the canvas might be CSS-scaled compared to its backbuffer; // SDL-using content will want mouse coordinates in terms // of backbuffer units. x = x * (cw / rect.width); y = y * (ch / rect.height); Browser.mouseMovementX = x - Browser.mouseX; Browser.mouseMovementY = y - Browser.mouseY; Browser.mouseX = x; Browser.mouseY = y; } },asyncLoad:function (url, onload, onerror, noRunDep) { var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; Module['readAsync'](url, function(arrayBuffer) { assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); onload(new Uint8Array(arrayBuffer)); if (dep) removeRunDependency(dep); }, function(event) { if (onerror) { onerror(); } else { throw 'Loading data file "' + url + '" failed.'; } }); if (dep) addRunDependency(dep); },resizeListeners:[],updateResizeListeners:function () { var canvas = Module['canvas']; Browser.resizeListeners.forEach(function(listener) { listener(canvas.width, canvas.height); }); },setCanvasSize:function (width, height, noUpdates) { var canvas = Module['canvas']; Browser.updateCanvasDimensions(canvas, width, height); if (!noUpdates) Browser.updateResizeListeners(); },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function () { // check if SDL is available if (typeof SDL != "undefined") { var flags = HEAPU32[((SDL.screen)>>2)]; flags = flags | 0x00800000; // set SDL_FULLSCREEN flag HEAP32[((SDL.screen)>>2)]=flags } Browser.updateCanvasDimensions(Module['canvas']); Browser.updateResizeListeners(); },setWindowedCanvasSize:function () { // check if SDL is available if (typeof SDL != "undefined") { var flags = HEAPU32[((SDL.screen)>>2)]; flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag HEAP32[((SDL.screen)>>2)]=flags } Browser.updateCanvasDimensions(Module['canvas']); Browser.updateResizeListeners(); },updateCanvasDimensions:function (canvas, wNative, hNative) { if (wNative && hNative) { canvas.widthNative = wNative; canvas.heightNative = hNative; } else { wNative = canvas.widthNative; hNative = canvas.heightNative; } var w = wNative; var h = hNative; if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { if (w/h < Module['forcedAspectRatio']) { w = Math.round(h * Module['forcedAspectRatio']); } else { h = Math.round(w / Module['forcedAspectRatio']); } } if (((document['fullscreenElement'] || document['mozFullScreenElement'] || document['msFullscreenElement'] || document['webkitFullscreenElement'] || document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { var factor = Math.min(screen.width / w, screen.height / h); w = Math.round(w * factor); h = Math.round(h * factor); } if (Browser.resizeCanvas) { if (canvas.width != w) canvas.width = w; if (canvas.height != h) canvas.height = h; if (typeof canvas.style != 'undefined') { canvas.style.removeProperty( "width"); canvas.style.removeProperty("height"); } } else { if (canvas.width != wNative) canvas.width = wNative; if (canvas.height != hNative) canvas.height = hNative; if (typeof canvas.style != 'undefined') { if (w != wNative || h != hNative) { canvas.style.setProperty( "width", w + "px", "important"); canvas.style.setProperty("height", h + "px", "important"); } else { canvas.style.removeProperty( "width"); canvas.style.removeProperty("height"); } } } },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { var handle = Browser.nextWgetRequestHandle; Browser.nextWgetRequestHandle++; return handle; }};function _emscripten_set_main_loop_timing(mode, value) { Browser.mainLoop.timingMode = mode; Browser.mainLoop.timingValue = value; if (!Browser.mainLoop.func) { return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. } if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0; setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop }; Browser.mainLoop.method = 'timeout'; } else if (mode == 1 /*EM_TIMING_RAF*/) { Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { Browser.requestAnimationFrame(Browser.mainLoop.runner); }; Browser.mainLoop.method = 'rAF'; } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { if (typeof setImmediate === 'undefined') { // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) var setImmediates = []; var emscriptenMainLoopMessageId = 'setimmediate'; var Browser_setImmediate_messageHandler = function(event) { // When called in current thread or Worker, the main loop ID is structured slightly different to accommodate for --proxy-to-worker runtime listening to Worker events, // so check for both cases. if (event.data === emscriptenMainLoopMessageId || event.data.target === emscriptenMainLoopMessageId) { event.stopPropagation(); setImmediates.shift()(); } } addEventListener("message", Browser_setImmediate_messageHandler, true); setImmediate = function Browser_emulated_setImmediate(func) { setImmediates.push(func); if (ENVIRONMENT_IS_WORKER) { if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; Module['setImmediates'].push(func); postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js } else postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. } } Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { setImmediate(Browser.mainLoop.runner); }; Browser.mainLoop.method = 'immediate'; } return 0; }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { Module['noExitRuntime'] = true; assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); Browser.mainLoop.func = func; Browser.mainLoop.arg = arg; var browserIterationFunc; if (typeof arg !== 'undefined') { browserIterationFunc = function() { Module['dynCall_vi'](func, arg); }; } else { browserIterationFunc = function() { Module['dynCall_v'](func); }; } var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; Browser.mainLoop.runner = function Browser_mainLoop_runner() { if (ABORT) return; if (Browser.mainLoop.queue.length > 0) { var start = Date.now(); var blocker = Browser.mainLoop.queue.shift(); blocker.func(blocker.arg); if (Browser.mainLoop.remainingBlockers) { var remaining = Browser.mainLoop.remainingBlockers; var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); if (blocker.counted) { Browser.mainLoop.remainingBlockers = next; } else { // not counted, but move the progress along a tiny bit next = next + 0.5; // do not steal all the next one's progress Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; } } console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); Browser.mainLoop.updateStatus(); // catches pause/resume main loop from blocker execution if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; setTimeout(Browser.mainLoop.runner, 0); return; } // catch pauses from non-main loop sources if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; // Implement very basic swap interval control Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { // Not the scheduled time to render this frame - skip. Browser.mainLoop.scheduler(); return; } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { Browser.mainLoop.tickStartTime = _emscripten_get_now(); } // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize // VBO double-buffering and reduce GPU stalls. if (Browser.mainLoop.method === 'timeout' && Module.ctx) { err('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); Browser.mainLoop.method = ''; // just warn once per call to set main loop } Browser.mainLoop.runIter(browserIterationFunc); // catch pauses from the main loop itself if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able // to queue the newest produced audio samples. // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() // do not need to be hardcoded into this function, but can be more generic. if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); Browser.mainLoop.scheduler(); } if (!noSetTiming) { if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) Browser.mainLoop.scheduler(); } if (simulateInfiniteLoop) { throw 'SimulateInfiniteLoop'; } } function __fillMouseEventData(eventStruct, e, target) { HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; HEAP16[(((eventStruct)+(40))>>1)]=e.button; HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); if (Module['canvas']) { var rect = Module['canvas'].getBoundingClientRect(); HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; } else { // Canvas is not initialized, return 0. HEAP32[(((eventStruct)+(60))>>2)]=0; HEAP32[(((eventStruct)+(64))>>2)]=0; } if (target) { var rect = JSEvents.getBoundingClientRectOrZeros(target); HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; } else { // No specific target passed, return 0. HEAP32[(((eventStruct)+(52))>>2)]=0; HEAP32[(((eventStruct)+(56))>>2)]=0; } // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera // https://github.com/emscripten-core/emscripten/pull/4997 // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 if (e.type !== 'wheel' && e.type !== 'mousewheel') { JSEvents.previousScreenX = e.screenX; JSEvents.previousScreenY = e.screenY; } }function __registerMouseEventCallback(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) { if (!JSEvents.mouseEvent) JSEvents.mouseEvent = _malloc( 72 ); target = __findEventTarget(target); var mouseEventHandlerFunc = function(event) { var e = event || window.event; // TODO: Make this access thread safe, or this could update live while app is reading it. __fillMouseEventData(JSEvents.mouseEvent, e, target); if (dynCall_iiii(callbackfunc, eventTypeId, JSEvents.mouseEvent, userData)) e.preventDefault(); }; var eventHandler = { target: target, allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! eventTypeString: eventTypeString, callbackfunc: callbackfunc, handlerFunc: mouseEventHandlerFunc, useCapture: useCapture }; // In IE, mousedown events don't either allow deferred calls to be run! if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; JSEvents.registerOrRemoveHandler(eventHandler); }function _emscripten_set_mousedown_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { __registerMouseEventCallback(target, userData, useCapture, callbackfunc, 5, "mousedown", targetThread); return 0; } function _emscripten_set_mousemove_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { __registerMouseEventCallback(target, userData, useCapture, callbackfunc, 8, "mousemove", targetThread); return 0; } function _emscripten_set_mouseup_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { __registerMouseEventCallback(target, userData, useCapture, callbackfunc, 6, "mouseup", targetThread); return 0; } function __registerUiEventCallback(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) { if (!JSEvents.uiEvent) JSEvents.uiEvent = _malloc( 36 ); if (eventTypeString == "scroll" && !target) { target = document; // By default read scroll events on document rather than window. } else { target = __findEventTarget(target); } var uiEventHandlerFunc = function(event) { var e = event || window.event; if (e.target != target) { // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, // causing a new scroll, etc.. return; } var scrollPos = JSEvents.pageScrollPos(); var uiEvent = JSEvents.uiEvent; HEAP32[((uiEvent)>>2)]=e.detail; HEAP32[(((uiEvent)+(4))>>2)]=document.body.clientWidth; HEAP32[(((uiEvent)+(8))>>2)]=document.body.clientHeight; HEAP32[(((uiEvent)+(12))>>2)]=window.innerWidth; HEAP32[(((uiEvent)+(16))>>2)]=window.innerHeight; HEAP32[(((uiEvent)+(20))>>2)]=window.outerWidth; HEAP32[(((uiEvent)+(24))>>2)]=window.outerHeight; HEAP32[(((uiEvent)+(28))>>2)]=scrollPos[0]; HEAP32[(((uiEvent)+(32))>>2)]=scrollPos[1]; if (dynCall_iiii(callbackfunc, eventTypeId, uiEvent, userData)) e.preventDefault(); }; var eventHandler = { target: target, allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. eventTypeString: eventTypeString, callbackfunc: callbackfunc, handlerFunc: uiEventHandlerFunc, useCapture: useCapture }; JSEvents.registerOrRemoveHandler(eventHandler); }function _emscripten_set_resize_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { __registerUiEventCallback(target, userData, useCapture, callbackfunc, 10, "resize", targetThread); return 0; } function __registerTouchEventCallback(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) { if (!JSEvents.touchEvent) JSEvents.touchEvent = _malloc( 1684 ); target = __findEventTarget(target); var touchEventHandlerFunc = function(event) { var e = event || window.event; var touches = {}; for(var i = 0; i < e.touches.length; ++i) { var touch = e.touches[i]; touches[touch.identifier] = touch; } for(var i = 0; i < e.changedTouches.length; ++i) { var touch = e.changedTouches[i]; touches[touch.identifier] = touch; touch.changed = true; } for(var i = 0; i < e.targetTouches.length; ++i) { var touch = e.targetTouches[i]; touches[touch.identifier].onTarget = true; } var touchEvent = JSEvents.touchEvent; var ptr = touchEvent; HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; HEAP32[(((ptr)+(12))>>2)]=e.altKey; HEAP32[(((ptr)+(16))>>2)]=e.metaKey; ptr += 20; // Advance to the start of the touch array. var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; var targetRect = JSEvents.getBoundingClientRectOrZeros(target); var numTouches = 0; for(var i in touches) { var t = touches[i]; HEAP32[((ptr)>>2)]=t.identifier; HEAP32[(((ptr)+(4))>>2)]=t.screenX; HEAP32[(((ptr)+(8))>>2)]=t.screenY; HEAP32[(((ptr)+(12))>>2)]=t.clientX; HEAP32[(((ptr)+(16))>>2)]=t.clientY; HEAP32[(((ptr)+(20))>>2)]=t.pageX; HEAP32[(((ptr)+(24))>>2)]=t.pageY; HEAP32[(((ptr)+(28))>>2)]=t.changed; HEAP32[(((ptr)+(32))>>2)]=t.onTarget; if (canvasRect) { HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; } else { HEAP32[(((ptr)+(44))>>2)]=0; HEAP32[(((ptr)+(48))>>2)]=0; } HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; ptr += 52; if (++numTouches >= 32) { break; } } HEAP32[((touchEvent)>>2)]=numTouches; if (dynCall_iiii(callbackfunc, eventTypeId, touchEvent, userData)) e.preventDefault(); }; var eventHandler = { target: target, allowsDeferredCalls: eventTypeString == 'touchstart' || eventTypeString == 'touchend', eventTypeString: eventTypeString, callbackfunc: callbackfunc, handlerFunc: touchEventHandlerFunc, useCapture: useCapture }; JSEvents.registerOrRemoveHandler(eventHandler); }function _emscripten_set_touchcancel_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { __registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel", targetThread); return 0; } function _emscripten_set_touchend_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { __registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend", targetThread); return 0; } function _emscripten_set_touchmove_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { __registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove", targetThread); return 0; } function _emscripten_set_touchstart_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { __registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart", targetThread); return 0; } function __registerWebGlEventCallback(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) { if (!target) target = Module['canvas']; var webGlEventHandlerFunc = function(event) { var e = event || window.event; if (dynCall_iiii(callbackfunc, eventTypeId, 0, userData)) e.preventDefault(); }; var eventHandler = { target: __findEventTarget(target), allowsDeferredCalls: false, eventTypeString: eventTypeString, callbackfunc: callbackfunc, handlerFunc: webGlEventHandlerFunc, useCapture: useCapture }; JSEvents.registerOrRemoveHandler(eventHandler); }function _emscripten_set_webglcontextlost_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { __registerWebGlEventCallback(target, userData, useCapture, callbackfunc, 31, "webglcontextlost", targetThread); return 0; } function __registerWheelEventCallback(target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) { if (!JSEvents.wheelEvent) JSEvents.wheelEvent = _malloc( 104 ); // The DOM Level 3 events spec event 'wheel' var wheelHandlerFunc = function(event) { var e = event || window.event; var wheelEvent = JSEvents.wheelEvent; __fillMouseEventData(wheelEvent, e, target); HEAPF64[(((wheelEvent)+(72))>>3)]=e["deltaX"]; HEAPF64[(((wheelEvent)+(80))>>3)]=e["deltaY"]; HEAPF64[(((wheelEvent)+(88))>>3)]=e["deltaZ"]; HEAP32[(((wheelEvent)+(96))>>2)]=e["deltaMode"]; if (dynCall_iiii(callbackfunc, eventTypeId, wheelEvent, userData)) e.preventDefault(); }; // The 'mousewheel' event as implemented in Safari 6.0.5 var mouseWheelHandlerFunc = function(event) { var e = event || window.event; __fillMouseEventData(JSEvents.wheelEvent, e, target); HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; var shouldCancel = dynCall_iiii(callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); if (shouldCancel) { e.preventDefault(); } }; var eventHandler = { target: target, allowsDeferredCalls: true, eventTypeString: eventTypeString, callbackfunc: callbackfunc, handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, useCapture: useCapture }; JSEvents.registerOrRemoveHandler(eventHandler); }function _emscripten_set_wheel_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { target = __findEventTarget(target); if (typeof target.onwheel !== 'undefined') { __registerWheelEventCallback(target, userData, useCapture, callbackfunc, 9, "wheel", targetThread); return 0; } else if (typeof target.onmousewheel !== 'undefined') { __registerWheelEventCallback(target, userData, useCapture, callbackfunc, 9, "mousewheel", targetThread); return 0; } else { return -1; } } var Fetch={xhrs:[],setu64:function (addr, val) { HEAPU32[addr >> 2] = val; HEAPU32[addr + 4 >> 2] = (val / 4294967296)|0; },openDatabase:function (dbname, dbversion, onsuccess, onerror) { try { var openRequest = indexedDB.open(dbname, dbversion); } catch (e) { return onerror(e); } openRequest.onupgradeneeded = function(event) { var db = event.target.result; if (db.objectStoreNames.contains('FILES')) { db.deleteObjectStore('FILES'); } db.createObjectStore('FILES'); }; openRequest.onsuccess = function(event) { onsuccess(event.target.result); }; openRequest.onerror = function(error) { onerror(error); }; },staticInit:function () { var isMainThread = (typeof ENVIRONMENT_IS_FETCH_WORKER === 'undefined'); var onsuccess = function(db) { Fetch.dbInstance = db; if (isMainThread) { removeRunDependency('library_fetch_init'); } }; var onerror = function() { Fetch.dbInstance = false; if (isMainThread) { removeRunDependency('library_fetch_init'); } }; Fetch.openDatabase('emscripten_filesystem', 1, onsuccess, onerror); if (typeof ENVIRONMENT_IS_FETCH_WORKER === 'undefined' || !ENVIRONMENT_IS_FETCH_WORKER) addRunDependency('library_fetch_init'); }}; function __emscripten_fetch_xhr(fetch, onsuccess, onerror, onprogress) { var url = HEAPU32[fetch + 8 >> 2]; if (!url) { onerror(fetch, 0, 'no url specified!'); return; } var url_ = UTF8ToString(url); var fetch_attr = fetch + 112; var requestMethod = UTF8ToString(fetch_attr); if (!requestMethod) requestMethod = 'GET'; var userData = HEAPU32[fetch_attr + 32 >> 2]; var fetchAttributes = HEAPU32[fetch_attr + 48 >> 2]; var timeoutMsecs = HEAPU32[fetch_attr + 52 >> 2]; var withCredentials = !!HEAPU32[fetch_attr + 56 >> 2]; var destinationPath = HEAPU32[fetch_attr + 60 >> 2]; var userName = HEAPU32[fetch_attr + 64 >> 2]; var password = HEAPU32[fetch_attr + 68 >> 2]; var requestHeaders = HEAPU32[fetch_attr + 72 >> 2]; var overriddenMimeType = HEAPU32[fetch_attr + 76 >> 2]; var dataPtr = HEAPU32[fetch_attr + 80 >> 2]; var dataLength = HEAPU32[fetch_attr + 84 >> 2]; var fetchAttrLoadToMemory = !!(fetchAttributes & 1); var fetchAttrStreamData = !!(fetchAttributes & 2); var fetchAttrPersistFile = !!(fetchAttributes & 4); var fetchAttrAppend = !!(fetchAttributes & 8); var fetchAttrReplace = !!(fetchAttributes & 16); var fetchAttrSynchronous = !!(fetchAttributes & 64); var fetchAttrWaitable = !!(fetchAttributes & 128); var userNameStr = userName ? UTF8ToString(userName) : undefined; var passwordStr = password ? UTF8ToString(password) : undefined; var overriddenMimeTypeStr = overriddenMimeType ? UTF8ToString(overriddenMimeType) : undefined; var xhr = new XMLHttpRequest(); xhr.withCredentials = withCredentials; xhr.open(requestMethod, url_, !fetchAttrSynchronous, userNameStr, passwordStr); if (!fetchAttrSynchronous) xhr.timeout = timeoutMsecs; // XHR timeout field is only accessible in async XHRs, and must be set after .open() but before .send(). xhr.url_ = url_; // Save the url for debugging purposes (and for comparing to the responseURL that server side advertised) xhr.responseType = fetchAttrStreamData ? 'moz-chunked-arraybuffer' : 'arraybuffer'; if (overriddenMimeType) { xhr.overrideMimeType(overriddenMimeTypeStr); } if (requestHeaders) { for(;;) { var key = HEAPU32[requestHeaders >> 2]; if (!key) break; var value = HEAPU32[requestHeaders + 4 >> 2]; if (!value) break; requestHeaders += 8; var keyStr = UTF8ToString(key); var valueStr = UTF8ToString(value); xhr.setRequestHeader(keyStr, valueStr); } } Fetch.xhrs.push(xhr); var id = Fetch.xhrs.length; HEAPU32[fetch + 0 >> 2] = id; var data = (dataPtr && dataLength) ? HEAPU8.slice(dataPtr, dataPtr + dataLength) : null; // TODO: Support specifying custom headers to the request. xhr.onload = function(e) { Fetch.setu64(fetch + 32, e.total); var len = xhr.response ? xhr.response.byteLength : 0; var ptr = 0; var ptrLen = 0; if (fetchAttrLoadToMemory && !fetchAttrStreamData) { ptrLen = len; // The data pointer malloc()ed here has the same lifetime as the emscripten_fetch_t structure itself has, and is // freed when emscripten_fetch_close() is called. ptr = _malloc(ptrLen); HEAPU8.set(new Uint8Array(xhr.response), ptr); } HEAPU32[fetch + 12 >> 2] = ptr; Fetch.setu64(fetch + 16, ptrLen); Fetch.setu64(fetch + 24, 0); if (len) { // If the final XHR.onload handler receives the bytedata to compute total length, report that, // otherwise don't write anything out here, which will retain the latest byte size reported in // the most recent XHR.onprogress handler. Fetch.setu64(fetch + 32, len); } HEAPU16[fetch + 40 >> 1] = xhr.readyState; if (xhr.readyState === 4 && xhr.status === 0) { if (len > 0) xhr.status = 200; // If loading files from a source that does not give HTTP status code, assume success if we got data bytes. else xhr.status = 404; // Conversely, no data bytes is 404. } HEAPU16[fetch + 42 >> 1] = xhr.status; if (xhr.statusText) stringToUTF8(xhr.statusText, fetch + 44, 64); if (xhr.status >= 200 && xhr.status < 300) { if (onsuccess) onsuccess(fetch, xhr, e); } else { if (onerror) onerror(fetch, xhr, e); } } xhr.onerror = function(e) { var status = xhr.status; // XXX TODO: Overwriting xhr.status doesn't work here, so don't override anywhere else either. if (xhr.readyState == 4 && status == 0) status = 404; // If no error recorded, pretend it was 404 Not Found. HEAPU32[fetch + 12 >> 2] = 0; Fetch.setu64(fetch + 16, 0); Fetch.setu64(fetch + 24, 0); Fetch.setu64(fetch + 32, 0); HEAPU16[fetch + 40 >> 1] = xhr.readyState; HEAPU16[fetch + 42 >> 1] = status; if (onerror) onerror(fetch, xhr, e); } xhr.ontimeout = function(e) { if (onerror) onerror(fetch, xhr, e); } xhr.onprogress = function(e) { var ptrLen = (fetchAttrLoadToMemory && fetchAttrStreamData && xhr.response) ? xhr.response.byteLength : 0; var ptr = 0; if (fetchAttrLoadToMemory && fetchAttrStreamData) { // The data pointer malloc()ed here has the same lifetime as the emscripten_fetch_t structure itself has, and is // freed when emscripten_fetch_close() is called. ptr = _malloc(ptrLen); HEAPU8.set(new Uint8Array(xhr.response), ptr); } HEAPU32[fetch + 12 >> 2] = ptr; Fetch.setu64(fetch + 16, ptrLen); Fetch.setu64(fetch + 24, e.loaded - ptrLen); Fetch.setu64(fetch + 32, e.total); HEAPU16[fetch + 40 >> 1] = xhr.readyState; if (xhr.readyState >= 3 && xhr.status === 0 && e.loaded > 0) xhr.status = 200; // If loading files from a source that does not give HTTP status code, assume success if we get data bytes HEAPU16[fetch + 42 >> 1] = xhr.status; if (xhr.statusText) stringToUTF8(xhr.statusText, fetch + 44, 64); if (onprogress) onprogress(fetch, xhr, e); } try { xhr.send(data); } catch(e) { if (onerror) onerror(fetch, xhr, e); } } function __emscripten_fetch_cache_data(db, fetch, data, onsuccess, onerror) { if (!db) { onerror(fetch, 0, 'IndexedDB not available!'); return; } var fetch_attr = fetch + 112; var destinationPath = HEAPU32[fetch_attr + 60 >> 2]; if (!destinationPath) destinationPath = HEAPU32[fetch + 8 >> 2]; var destinationPathStr = UTF8ToString(destinationPath); try { var transaction = db.transaction(['FILES'], 'readwrite'); var packages = transaction.objectStore('FILES'); var putRequest = packages.put(data, destinationPathStr); putRequest.onsuccess = function(event) { HEAPU16[fetch + 40 >> 1] = 4; // Mimic XHR readyState 4 === 'DONE: The operation is complete' HEAPU16[fetch + 42 >> 1] = 200; // Mimic XHR HTTP status code 200 "OK" stringToUTF8("OK", fetch + 44, 64); onsuccess(fetch, 0, destinationPathStr); }; putRequest.onerror = function(error) { // Most likely we got an error if IndexedDB is unwilling to store any more data for this page. // TODO: Can we identify and break down different IndexedDB-provided errors and convert those // to more HTTP status codes for more information? HEAPU16[fetch + 40 >> 1] = 4; // Mimic XHR readyState 4 === 'DONE: The operation is complete' HEAPU16[fetch + 42 >> 1] = 413; // Mimic XHR HTTP status code 413 "Payload Too Large" stringToUTF8("Payload Too Large", fetch + 44, 64); onerror(fetch, 0, error); }; } catch(e) { onerror(fetch, 0, e); } } function __emscripten_fetch_load_cached_data(db, fetch, onsuccess, onerror) { if (!db) { onerror(fetch, 0, 'IndexedDB not available!'); return; } var fetch_attr = fetch + 112; var path = HEAPU32[fetch_attr + 60 >> 2]; if (!path) path = HEAPU32[fetch + 8 >> 2]; var pathStr = UTF8ToString(path); try { var transaction = db.transaction(['FILES'], 'readonly'); var packages = transaction.objectStore('FILES'); var getRequest = packages.get(pathStr); getRequest.onsuccess = function(event) { if (event.target.result) { var value = event.target.result; var len = value.byteLength || value.length; // The data pointer malloc()ed here has the same lifetime as the emscripten_fetch_t structure itself has, and is // freed when emscripten_fetch_close() is called. var ptr = _malloc(len); HEAPU8.set(new Uint8Array(value), ptr); HEAPU32[fetch + 12 >> 2] = ptr; Fetch.setu64(fetch + 16, len); Fetch.setu64(fetch + 24, 0); Fetch.setu64(fetch + 32, len); HEAPU16[fetch + 40 >> 1] = 4; // Mimic XHR readyState 4 === 'DONE: The operation is complete' HEAPU16[fetch + 42 >> 1] = 200; // Mimic XHR HTTP status code 200 "OK" stringToUTF8("OK", fetch + 44, 64); onsuccess(fetch, 0, value); } else { // Succeeded to load, but the load came back with the value of undefined, treat that as an error since we never store undefined in db. HEAPU16[fetch + 40 >> 1] = 4; // Mimic XHR readyState 4 === 'DONE: The operation is complete' HEAPU16[fetch + 42 >> 1] = 404; // Mimic XHR HTTP status code 404 "Not Found" stringToUTF8("Not Found", fetch + 44, 64); onerror(fetch, 0, 'no data'); } }; getRequest.onerror = function(error) { HEAPU16[fetch + 40 >> 1] = 4; // Mimic XHR readyState 4 === 'DONE: The operation is complete' HEAPU16[fetch + 42 >> 1] = 404; // Mimic XHR HTTP status code 404 "Not Found" stringToUTF8("Not Found", fetch + 44, 64); onerror(fetch, 0, error); }; } catch(e) { onerror(fetch, 0, e); } } function __emscripten_fetch_delete_cached_data(db, fetch, onsuccess, onerror) { if (!db) { onerror(fetch, 0, 'IndexedDB not available!'); return; } var fetch_attr = fetch + 112; var path = HEAPU32[fetch_attr + 60 >> 2]; if (!path) path = HEAPU32[fetch + 8 >> 2]; var pathStr = UTF8ToString(path); try { var transaction = db.transaction(['FILES'], 'readwrite'); var packages = transaction.objectStore('FILES'); var request = packages.delete(pathStr); request.onsuccess = function(event) { var value = event.target.result; HEAPU32[fetch + 12 >> 2] = 0; Fetch.setu64(fetch + 16, 0); Fetch.setu64(fetch + 24, 0); Fetch.setu64(fetch + 32, 0); HEAPU16[fetch + 40 >> 1] = 4; // Mimic XHR readyState 4 === 'DONE: The operation is complete' HEAPU16[fetch + 42 >> 1] = 200; // Mimic XHR HTTP status code 200 "OK" stringToUTF8("OK", fetch + 44, 64); onsuccess(fetch, 0, value); }; request.onerror = function(error) { HEAPU16[fetch + 40 >> 1] = 4; // Mimic XHR readyState 4 === 'DONE: The operation is complete' HEAPU16[fetch + 42 >> 1] = 404; // Mimic XHR HTTP status code 404 "Not Found" stringToUTF8("Not Found", fetch + 44, 64); onerror(fetch, 0, error); }; } catch(e) { onerror(fetch, 0, e); } } var _fetch_work_queue=1408560;function __emscripten_get_fetch_work_queue() { return _fetch_work_queue; } function _emscripten_is_main_runtime_thread() { err('missing function: emscripten_is_main_runtime_thread'); abort(-1); }function _emscripten_start_fetch(fetch, successcb, errorcb, progresscb) { if (typeof Module !== 'undefined') Module['noExitRuntime'] = true; // If we are the main Emscripten runtime, we should not be closing down. var fetch_attr = fetch + 112; var requestMethod = UTF8ToString(fetch_attr); var onsuccess = HEAPU32[fetch_attr + 36 >> 2]; var onerror = HEAPU32[fetch_attr + 40 >> 2]; var onprogress = HEAPU32[fetch_attr + 44 >> 2]; var fetchAttributes = HEAPU32[fetch_attr + 48 >> 2]; var fetchAttrLoadToMemory = !!(fetchAttributes & 1); var fetchAttrStreamData = !!(fetchAttributes & 2); var fetchAttrPersistFile = !!(fetchAttributes & 4); var fetchAttrNoDownload = !!(fetchAttributes & 32); var fetchAttrAppend = !!(fetchAttributes & 8); var fetchAttrReplace = !!(fetchAttributes & 16); var reportSuccess = function(fetch, xhr, e) { if (onsuccess) dynCall_vi(onsuccess, fetch); else if (successcb) successcb(fetch); }; var reportProgress = function(fetch, xhr, e) { if (onprogress) dynCall_vi(onprogress, fetch); else if (progresscb) progresscb(fetch); }; var reportError = function(fetch, xhr, e) { if (onerror) dynCall_vi(onerror, fetch); else if (errorcb) errorcb(fetch); }; var performUncachedXhr = function(fetch, xhr, e) { __emscripten_fetch_xhr(fetch, reportSuccess, reportError, reportProgress); }; var cacheResultAndReportSuccess = function(fetch, xhr, e) { var storeSuccess = function(fetch, xhr, e) { if (onsuccess) dynCall_vi(onsuccess, fetch); else if (successcb) successcb(fetch); }; var storeError = function(fetch, xhr, e) { if (onsuccess) dynCall_vi(onsuccess, fetch); else if (successcb) successcb(fetch); }; __emscripten_fetch_cache_data(Fetch.dbInstance, fetch, xhr.response, storeSuccess, storeError); }; var performCachedXhr = function(fetch, xhr, e) { __emscripten_fetch_xhr(fetch, cacheResultAndReportSuccess, reportError, reportProgress); }; // Should we try IndexedDB first? var needsIndexedDbConnection = !fetchAttrReplace || requestMethod === 'EM_IDB_STORE' || requestMethod === 'EM_IDB_DELETE'; if (needsIndexedDbConnection && !Fetch.dbInstance) { reportError(fetch, 0, 'IndexedDB is not open'); return 0; // todo: free } if (requestMethod === 'EM_IDB_STORE') { // TODO(?): Here we perform a clone of the data, because storing shared typed arrays to IndexedDB does not seem to be allowed. var ptr = HEAPU32[fetch_attr + 80 >> 2]; __emscripten_fetch_cache_data(Fetch.dbInstance, fetch, HEAPU8.slice(ptr, ptr + HEAPU32[fetch_attr + 84 >> 2]), reportSuccess, reportError); } else if (requestMethod === 'EM_IDB_DELETE') { __emscripten_fetch_delete_cached_data(Fetch.dbInstance, fetch, reportSuccess, reportError); } else if (!fetchAttrReplace) { __emscripten_fetch_load_cached_data(Fetch.dbInstance, fetch, reportSuccess, fetchAttrNoDownload ? reportError : (fetchAttrPersistFile ? performCachedXhr : performUncachedXhr)); } else if (!fetchAttrNoDownload) { __emscripten_fetch_xhr(fetch, fetchAttrPersistFile ? cacheResultAndReportSuccess : reportSuccess, reportError, reportProgress); } else { return 0; // todo: free } return fetch; } var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function () { GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); } },recordError:function recordError(errorCode) { if (!GL.lastError) { GL.lastError = errorCode; } },getNewId:function (table) { var ret = GL.counter++; for (var i = table.length; i < ret; i++) { table[i] = null; } return ret; },MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { var source = ''; for (var i = 0; i < count; ++i) { var len = length ? HEAP32[(((length)+(i*4))>>2)] : -1; source += UTF8ToString(HEAP32[(((string)+(i*4))>>2)], len < 0 ? undefined : len); } return source; },createContext:function (canvas, webGLContextAttributes) { var ctx = (canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes)); return ctx && GL.registerContext(ctx, webGLContextAttributes); },registerContext:function (ctx, webGLContextAttributes) { var handle = _malloc(8); // Make space on the heap to store GL context attributes that need to be accessible as shared between threads. var context = { handle: handle, attributes: webGLContextAttributes, version: webGLContextAttributes.majorVersion, GLctx: ctx }; context.cannotHandleOffsetsInUniformArrayViews = (function(g) { function b(c, t) { var s = g.createShader(t); g.shaderSource(s, c); g.compileShader(s); return s; } try { var p = g.createProgram(); // Note: we do not delete this program so it stays part of the context we created, but that is ok - it does not do anything and we want to keep this detection size minimal. g.attachShader(p, b("attribute vec4 p;void main(){gl_Position=p;}", g.VERTEX_SHADER)); g.attachShader(p, b("precision lowp float;uniform vec4 u;void main(){gl_FragColor=u;}", g.FRAGMENT_SHADER)); g.linkProgram(p); var h = new Float32Array(8); h[4] = 1; g.useProgram(p); var l = g.getUniformLocation(p, "u"); g.uniform4fv(l, h.subarray(4, 8)); // Uploading a 4-vector GL uniform from last four elements of array [0,0,0,0,1,0,0,0], i.e. uploading vec4=(1,0,0,0) at offset=4. return !g.getUniform(p, l)[0]; // in proper WebGL we expect to read back the vector we just uploaded: (1,0,0,0). On buggy browser would instead have uploaded offset=0 of above array, i.e. vec4=(0,0,0,0) } catch(e) { return false; } // If we get an exception, we assume we got some other error, and do not trigger this workaround. })(); // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. if (ctx.canvas) ctx.canvas.GLctxObject = context; GL.contexts[handle] = context; if (typeof webGLContextAttributes.enableExtensionsByDefault === 'undefined' || webGLContextAttributes.enableExtensionsByDefault) { GL.initExtensions(context); } return handle; },makeContextCurrent:function (contextHandle) { GL.currentContext = GL.contexts[contextHandle]; // Active Emscripten GL layer context object. Module.ctx = GLctx = GL.currentContext && GL.currentContext.GLctx; // Active WebGL context object. return !(contextHandle && !GLctx); },getContext:function (contextHandle) { return GL.contexts[contextHandle]; },deleteContext:function (contextHandle) { if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. _free(GL.contexts[contextHandle]); GL.contexts[contextHandle] = null; },initExtensions:function (context) { // If this function is called without a specific context object, init the extensions of the currently active context. if (!context) context = GL.currentContext; if (context.initExtensionsDone) return; context.initExtensionsDone = true; var GLctx = context.GLctx; // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. if (context.version < 2) { // Extension available from Firefox 26 and Google Chrome 30 var instancedArraysExt = GLctx.getExtension('ANGLE_instanced_arrays'); if (instancedArraysExt) { GLctx['vertexAttribDivisor'] = function(index, divisor) { instancedArraysExt['vertexAttribDivisorANGLE'](index, divisor); }; GLctx['drawArraysInstanced'] = function(mode, first, count, primcount) { instancedArraysExt['drawArraysInstancedANGLE'](mode, first, count, primcount); }; GLctx['drawElementsInstanced'] = function(mode, count, type, indices, primcount) { instancedArraysExt['drawElementsInstancedANGLE'](mode, count, type, indices, primcount); }; } // Extension available from Firefox 25 and WebKit var vaoExt = GLctx.getExtension('OES_vertex_array_object'); if (vaoExt) { GLctx['createVertexArray'] = function() { return vaoExt['createVertexArrayOES'](); }; GLctx['deleteVertexArray'] = function(vao) { vaoExt['deleteVertexArrayOES'](vao); }; GLctx['bindVertexArray'] = function(vao) { vaoExt['bindVertexArrayOES'](vao); }; GLctx['isVertexArray'] = function(vao) { return vaoExt['isVertexArrayOES'](vao); }; } var drawBuffersExt = GLctx.getExtension('WEBGL_draw_buffers'); if (drawBuffersExt) { GLctx['drawBuffers'] = function(n, bufs) { drawBuffersExt['drawBuffersWEBGL'](n, bufs); }; } } GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions // here, as long as they don't produce a performance impact for users that might not be using those extensions. // E.g. debugging-related extensions should probably be off by default. var automaticallyEnabledExtensions = [ // Khronos ratified WebGL extensions ordered by number (no debug extensions): "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", "OES_element_index_uint", "EXT_texture_filter_anisotropic", "EXT_frag_depth", "WEBGL_draw_buffers", "ANGLE_instanced_arrays", "OES_texture_float_linear", "OES_texture_half_float_linear", "EXT_blend_minmax", "EXT_shader_texture_lod", // Community approved WebGL extensions ordered by number: "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", "EXT_sRGB", "WEBGL_compressed_texture_etc1", "EXT_disjoint_timer_query", "WEBGL_compressed_texture_etc", "WEBGL_compressed_texture_astc", "EXT_color_buffer_float", "WEBGL_compressed_texture_s3tc_srgb", "EXT_disjoint_timer_query_webgl2"]; function shouldEnableAutomatically(extension) { var ret = false; automaticallyEnabledExtensions.forEach(function(include) { if (extension.indexOf(include) != -1) { ret = true; } }); return ret; } var exts = GLctx.getSupportedExtensions(); if (exts && exts.length > 0) { GLctx.getSupportedExtensions().forEach(function(ext) { if (automaticallyEnabledExtensions.indexOf(ext) != -1) { GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. } }); } },populateUniformTable:function (program) { var p = GL.programs[program]; var ptable = GL.programInfos[program] = { uniforms: {}, maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. maxUniformBlockNameLength: -1 // Lazily computed as well }; var utable = ptable.uniforms; // A program's uniform table maps the string name of an uniform to an integer location of that uniform. // The global GL.uniforms map maps integer locations to WebGLUniformLocations. var numUniforms = GLctx.getProgramParameter(p, 0x8B86/*GL_ACTIVE_UNIFORMS*/); for (var i = 0; i < numUniforms; ++i) { var u = GLctx.getActiveUniform(p, i); var name = u.name; ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); // If we are dealing with an array, e.g. vec4 foo[3], strip off the array index part to canonicalize that "foo", "foo[]", // and "foo[0]" will mean the same. Loop below will populate foo[1] and foo[2]. if (name.slice(-1) == ']') { name = name.slice(0, name.lastIndexOf('[')); } // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. var loc = GLctx.getUniformLocation(p, name); if (loc) { var id = GL.getNewId(GL.uniforms); utable[name] = [u.size, id]; GL.uniforms[id] = loc; for (var j = 1; j < u.size; ++j) { var n = name + '['+j+']'; loc = GLctx.getUniformLocation(p, n); id = GL.getNewId(GL.uniforms); GL.uniforms[id] = loc; } } } }}; var __emscripten_webgl_power_preferences=['default', 'low-power', 'high-performance'];function _emscripten_webgl_do_create_context(target, attributes) { var contextAttributes = {}; var a = attributes >> 2; contextAttributes['alpha'] = !!HEAP32[a + (0>>2)]; contextAttributes['depth'] = !!HEAP32[a + (4>>2)]; contextAttributes['stencil'] = !!HEAP32[a + (8>>2)]; contextAttributes['antialias'] = !!HEAP32[a + (12>>2)]; contextAttributes['premultipliedAlpha'] = !!HEAP32[a + (16>>2)]; contextAttributes['preserveDrawingBuffer'] = !!HEAP32[a + (20>>2)]; var powerPreference = HEAP32[a + (24>>2)]; contextAttributes['powerPreference'] = __emscripten_webgl_power_preferences[powerPreference]; contextAttributes['failIfMajorPerformanceCaveat'] = !!HEAP32[a + (28>>2)]; contextAttributes.majorVersion = HEAP32[a + (32>>2)]; contextAttributes.minorVersion = HEAP32[a + (36>>2)]; contextAttributes.enableExtensionsByDefault = HEAP32[a + (40>>2)]; contextAttributes.explicitSwapControl = HEAP32[a + (44>>2)]; contextAttributes.proxyContextToMainThread = HEAP32[a + (48>>2)]; contextAttributes.renderViaOffscreenBackBuffer = HEAP32[a + (52>>2)]; var canvas = __findCanvasEventTarget(target); if (!canvas) { return 0; } if (contextAttributes.explicitSwapControl) { return 0; } var contextHandle = GL.createContext(canvas, contextAttributes); return contextHandle; }function _emscripten_webgl_create_context(a0,a1 /**/) { return _emscripten_webgl_do_create_context(a0,a1); } function _emscripten_webgl_destroy_context_calling_thread(contextHandle) { if (GL.currentContext == contextHandle) GL.currentContext = 0; GL.deleteContext(contextHandle); }function _emscripten_webgl_destroy_context(a0 /**/) { return _emscripten_webgl_destroy_context_calling_thread(a0); } function _emscripten_webgl_init_context_attributes(attributes) { var a = attributes >> 2; for(var i = 0; i < (56>>2); ++i) { HEAP32[a+i] = 0; } HEAP32[a + (0>>2)] = HEAP32[a + (4>>2)] = HEAP32[a + (12>>2)] = HEAP32[a + (16>>2)] = HEAP32[a + (32>>2)] = HEAP32[a + (40>>2)] = 1; } function _emscripten_webgl_make_context_current(contextHandle) { var success = GL.makeContextCurrent(contextHandle); return success ? 0 : -5; } Module["_emscripten_webgl_make_context_current"] = _emscripten_webgl_make_context_current; function _exit(status) { // void _exit(int status); // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html exit(status); } function _gettimeofday(ptr) { var now = Date.now(); HEAP32[((ptr)>>2)]=(now/1000)|0; // seconds HEAP32[(((ptr)+(4))>>2)]=((now % 1000)*1000)|0; // microseconds return 0; } function _glAttachShader(program, shader) { GLctx.attachShader(GL.programs[program], GL.shaders[shader]); } function _glBindAttribLocation(program, index, name) { GLctx.bindAttribLocation(GL.programs[program], index, UTF8ToString(name)); } function _glBindBuffer(target, buffer) { GLctx.bindBuffer(target, GL.buffers[buffer]); } function _glBindTexture(target, texture) { GLctx.bindTexture(target, GL.textures[texture]); } function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } function _glBufferData(target, size, data, usage) { // N.b. here first form specifies a heap subarray, second form an integer size, so the ?: code here is polymorphic. It is advised to avoid // randomly mixing both uses in calling code, to avoid any potential JS engine JIT issues. GLctx.bufferData(target, data ? HEAPU8.subarray(data, data+size) : size, usage); } function _glBufferSubData(target, offset, size, data) { GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); } function _glClear(x0) { GLctx['clear'](x0) } function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } function _glColorMask(red, green, blue, alpha) { GLctx.colorMask(!!red, !!green, !!blue, !!alpha); } function _glCompileShader(shader) { GLctx.compileShader(GL.shaders[shader]); } function _glCreateProgram() { var id = GL.getNewId(GL.programs); var program = GLctx.createProgram(); program.name = id; GL.programs[id] = program; return id; } function _glCreateShader(shaderType) { var id = GL.getNewId(GL.shaders); GL.shaders[id] = GLctx.createShader(shaderType); return id; } function _glDeleteBuffers(n, buffers) { for (var i = 0; i < n; i++) { var id = HEAP32[(((buffers)+(i*4))>>2)]; var buffer = GL.buffers[id]; // From spec: "glDeleteBuffers silently ignores 0's and names that do not // correspond to existing buffer objects." if (!buffer) continue; GLctx.deleteBuffer(buffer); buffer.name = 0; GL.buffers[id] = null; if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; } } function _glDeleteProgram(id) { if (!id) return; var program = GL.programs[id]; if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. GL.recordError(0x0501 /* GL_INVALID_VALUE */); return; } GLctx.deleteProgram(program); program.name = 0; GL.programs[id] = null; GL.programInfos[id] = null; } function _glDeleteShader(id) { if (!id) return; var shader = GL.shaders[id]; if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. GL.recordError(0x0501 /* GL_INVALID_VALUE */); return; } GLctx.deleteShader(shader); GL.shaders[id] = null; } function _glDeleteTextures(n, textures) { for (var i = 0; i < n; i++) { var id = HEAP32[(((textures)+(i*4))>>2)]; var texture = GL.textures[id]; if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". GLctx.deleteTexture(texture); texture.name = 0; GL.textures[id] = null; } } function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } function _glDepthMask(flag) { GLctx.depthMask(!!flag); } function _glDetachShader(program, shader) { GLctx.detachShader(GL.programs[program], GL.shaders[shader]); } function _glDisable(x0) { GLctx['disable'](x0) } function _glDisableVertexAttribArray(index) { GLctx.disableVertexAttribArray(index); } function _glDrawArrays(mode, first, count) { GLctx.drawArrays(mode, first, count); } function _glDrawElements(mode, count, type, indices) { GLctx.drawElements(mode, count, type, indices); } function _glEnable(x0) { GLctx['enable'](x0) } function _glEnableVertexAttribArray(index) { GLctx.enableVertexAttribArray(index); } function __glGenObject(n, buffers, createFunction, objectTable ) { for (var i = 0; i < n; i++) { var buffer = GLctx[createFunction](); var id = buffer && GL.getNewId(objectTable); if (buffer) { buffer.name = id; objectTable[id] = buffer; } else { GL.recordError(0x0502 /* GL_INVALID_OPERATION */); } HEAP32[(((buffers)+(i*4))>>2)]=id; } }function _glGenBuffers(n, buffers) { __glGenObject(n, buffers, 'createBuffer', GL.buffers ); } function _glGenTextures(n, textures) { __glGenObject(n, textures, 'createTexture', GL.textures ); } function emscriptenWebGLGet(name_, p, type) { // Guard against user passing a null pointer. // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but // better to report an error instead of doing anything random. if (!p) { GL.recordError(0x0501 /* GL_INVALID_VALUE */); return; } var ret = undefined; switch(name_) { // Handle a few trivial GLES values case 0x8DFA: // GL_SHADER_COMPILER ret = 1; break; case 0x8DF8: // GL_SHADER_BINARY_FORMATS if (type !== 'Integer' && type !== 'Integer64') { GL.recordError(0x0500); // GL_INVALID_ENUM } return; // Do not write anything to the out pointer, since no binary formats are supported. case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS ret = 0; break; case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), // so implement it ourselves to allow C++ GLES2 code get the length. var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); ret = formats ? formats.length : 0; break; } if (ret === undefined) { var result = GLctx.getParameter(name_); switch (typeof(result)) { case "number": ret = result; break; case "boolean": ret = result ? 1 : 0; break; case "string": GL.recordError(0x0500); // GL_INVALID_ENUM return; case "object": if (result === null) { // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise // can mean an invalid name_, which we need to report as an error switch(name_) { case 0x8894: // ARRAY_BUFFER_BINDING case 0x8B8D: // CURRENT_PROGRAM case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING case 0x8CA6: // FRAMEBUFFER_BINDING case 0x8CA7: // RENDERBUFFER_BINDING case 0x8069: // TEXTURE_BINDING_2D case 0x85B5: // WebGL 2 GL_VERTEX_ARRAY_BINDING, or WebGL 1 extension OES_vertex_array_object GL_VERTEX_ARRAY_BINDING_OES case 0x8514: { // TEXTURE_BINDING_CUBE_MAP ret = 0; break; } default: { GL.recordError(0x0500); // GL_INVALID_ENUM return; } } } else if (result instanceof Float32Array || result instanceof Uint32Array || result instanceof Int32Array || result instanceof Array) { for (var i = 0; i < result.length; ++i) { switch (type) { case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; default: throw 'internal glGet error, bad type: ' + type; } } return; } else { try { ret = result.name | 0; } catch(e) { GL.recordError(0x0500); // GL_INVALID_ENUM err('GL_INVALID_ENUM in glGet' + type + 'v: Unknown object returned from WebGL getParameter(' + name_ + ')! (error: ' + e + ')'); return; } } break; default: GL.recordError(0x0500); // GL_INVALID_ENUM return; } } switch (type) { case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; case 'Integer': HEAP32[((p)>>2)]=ret; break; case 'Float': HEAPF32[((p)>>2)]=ret; break; case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; default: throw 'internal glGet error, bad type: ' + type; } }function _glGetIntegerv(name_, p) { emscriptenWebGLGet(name_, p, 'Integer'); } function _glGetProgramInfoLog(program, maxLength, length, infoLog) { var log = GLctx.getProgramInfoLog(GL.programs[program]); if (log === null) log = '(unknown error)'; if (maxLength > 0 && infoLog) { var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; } else { if (length) HEAP32[((length)>>2)]=0; } } function _glGetProgramiv(program, pname, p) { if (!p) { // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense // if p == null, issue a GL error to notify user about it. GL.recordError(0x0501 /* GL_INVALID_VALUE */); return; } if (program >= GL.counter) { GL.recordError(0x0501 /* GL_INVALID_VALUE */); return; } var ptable = GL.programInfos[program]; if (!ptable) { GL.recordError(0x0502 /* GL_INVALID_OPERATION */); return; } if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH var log = GLctx.getProgramInfoLog(GL.programs[program]); if (log === null) log = '(unknown error)'; HEAP32[((p)>>2)]=log.length + 1; } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { HEAP32[((p)>>2)]=ptable.maxUniformLength; } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { if (ptable.maxAttributeLength == -1) { program = GL.programs[program]; var numAttribs = GLctx.getProgramParameter(program, 0x8B89/*GL_ACTIVE_ATTRIBUTES*/); ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. for (var i = 0; i < numAttribs; ++i) { var activeAttrib = GLctx.getActiveAttrib(program, i); ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); } } HEAP32[((p)>>2)]=ptable.maxAttributeLength; } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { if (ptable.maxUniformBlockNameLength == -1) { program = GL.programs[program]; var numBlocks = GLctx.getProgramParameter(program, 0x8A36/*GL_ACTIVE_UNIFORM_BLOCKS*/); ptable.maxUniformBlockNameLength = 0; for (var i = 0; i < numBlocks; ++i) { var activeBlockName = GLctx.getActiveUniformBlockName(program, i); ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); } } HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; } else { HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); } } function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { var log = GLctx.getShaderInfoLog(GL.shaders[shader]); if (log === null) log = '(unknown error)'; if (maxLength > 0 && infoLog) { var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; } else { if (length) HEAP32[((length)>>2)]=0; } } function _glGetShaderiv(shader, pname, p) { if (!p) { // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense // if p == null, issue a GL error to notify user about it. GL.recordError(0x0501 /* GL_INVALID_VALUE */); return; } if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH var log = GLctx.getShaderInfoLog(GL.shaders[shader]); if (log === null) log = '(unknown error)'; HEAP32[((p)>>2)]=log.length + 1; } else if (pname == 0x8B88) { // GL_SHADER_SOURCE_LENGTH var source = GLctx.getShaderSource(GL.shaders[shader]); var sourceLength = (source === null || source.length == 0) ? 0 : source.length + 1; HEAP32[((p)>>2)]=sourceLength; } else { HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); } } function stringToNewUTF8(jsString) { var length = lengthBytesUTF8(jsString)+1; var cString = _malloc(length); stringToUTF8(jsString, cString, length); return cString; }function _glGetString(name_) { if (GL.stringCache[name_]) return GL.stringCache[name_]; var ret; switch(name_) { case 0x1F03 /* GL_EXTENSIONS */: var exts = GLctx.getSupportedExtensions(); var gl_exts = []; for (var i = 0; i < exts.length; ++i) { gl_exts.push(exts[i]); gl_exts.push("GL_" + exts[i]); } ret = stringToNewUTF8(gl_exts.join(' ')); break; case 0x1F00 /* GL_VENDOR */: case 0x1F01 /* GL_RENDERER */: case 0x9245 /* UNMASKED_VENDOR_WEBGL */: case 0x9246 /* UNMASKED_RENDERER_WEBGL */: var s = GLctx.getParameter(name_); if (!s) { GL.recordError(0x0500/*GL_INVALID_ENUM*/); } ret = stringToNewUTF8(s); break; case 0x1F02 /* GL_VERSION */: var glVersion = GLctx.getParameter(GLctx.VERSION); // return GLES version string corresponding to the version of the WebGL context { glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; } ret = stringToNewUTF8(glVersion); break; case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; var ver_num = glslVersion.match(ver_re); if (ver_num !== null) { if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; } ret = stringToNewUTF8(glslVersion); break; default: GL.recordError(0x0500/*GL_INVALID_ENUM*/); return 0; } GL.stringCache[name_] = ret; return ret; } function _glGetUniformLocation(program, name) { name = UTF8ToString(name); var arrayIndex = 0; // If user passed an array accessor "[index]", parse the array index off the accessor. if (name[name.length - 1] == ']') { var leftBrace = name.lastIndexOf('['); arrayIndex = name[leftBrace+1] != ']' ? parseInt(name.slice(leftBrace + 1)) : 0; // "index]", parseInt will ignore the ']' at the end; but treat "foo[]" as "foo[0]" name = name.slice(0, leftBrace); } var uniformInfo = GL.programInfos[program] && GL.programInfos[program].uniforms[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] if (uniformInfo && arrayIndex >= 0 && arrayIndex < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. return uniformInfo[1] + arrayIndex; } else { return -1; } } function _glLinkProgram(program) { GLctx.linkProgram(GL.programs[program]); GL.populateUniformTable(program); } function _glShaderSource(shader, count, string, length) { var source = GL.getSource(shader, count, string, length); GLctx.shaderSource(GL.shaders[shader], source); } function __computeUnpackAlignedImageSize(width, height, sizePerPixel, alignment) { function roundedToNextMultipleOf(x, y) { return (x + y - 1) & -y; } var plainRowSize = width * sizePerPixel; var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); return height * alignedRowSize; } var __colorChannelsInGlTextureFormat={6402:1,6406:1,6407:3,6408:4,6409:1,6410:2,35904:3,35906:4}; var __sizeOfGlTextureElementType={5121:1,5123:2,5125:4,5126:4,32819:2,32820:2,33635:2,34042:4,36193:2};function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { var sizePerPixel = __colorChannelsInGlTextureFormat[format] * __sizeOfGlTextureElementType[type]; if (!sizePerPixel) { GL.recordError(0x0500); // GL_INVALID_ENUM return; } var bytes = __computeUnpackAlignedImageSize(width, height, sizePerPixel, GL.unpackAlignment); var end = pixels + bytes; switch(type) { case 0x1401 /* GL_UNSIGNED_BYTE */: return HEAPU8.subarray(pixels, end); case 0x1406 /* GL_FLOAT */: return HEAPF32.subarray(pixels>>2, end>>2); case 0x1405 /* GL_UNSIGNED_INT */: case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: return HEAPU32.subarray(pixels>>2, end>>2); case 0x1403 /* GL_UNSIGNED_SHORT */: case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: case 0x8D61 /* GL_HALF_FLOAT_OES */: return HEAPU16.subarray(pixels>>1, end>>1); default: GL.recordError(0x0500); // GL_INVALID_ENUM } }function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixels ? emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) : null); } function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } function _glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { var pixelData = null; if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); } function _glUniform1f(location, v0) { GLctx.uniform1f(GL.uniforms[location], v0); } function _glUniform3f(location, v0, v1, v2) { GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); } function _glUniformMatrix4fv(location, count, transpose, value) { if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { // avoid allocation when uploading few enough uniforms var view = GL.miniTempBufferViews[16*count-1]; for (var i = 0; i < 16*count; i += 16) { view[i] = HEAPF32[(((value)+(4*i))>>2)]; view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; } } else { var view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); if (GL.currentContext.cannotHandleOffsetsInUniformArrayViews) view = new Float32Array(view); } GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); } function _glUseProgram(program) { GLctx.useProgram(GL.programs[program]); } function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); } function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } var ___tm_timezone=(stringToUTF8("GMT", 1408464, 4), 1408464); function _tzset() { // TODO: Use (malleable) environment variables instead of system settings. if (_tzset.called) return; _tzset.called = true; // timezone is specified as seconds west of UTC ("The external variable // `timezone` shall be set to the difference, in seconds, between // Coordinated Universal Time (UTC) and local standard time."), the same // as returned by getTimezoneOffset(). // See http://pubs.opengroup.org/onlinepubs/009695399/functions/tzset.html HEAP32[((__get_timezone())>>2)]=(new Date()).getTimezoneOffset() * 60; var winter = new Date(2000, 0, 1); var summer = new Date(2000, 6, 1); HEAP32[((__get_daylight())>>2)]=Number(winter.getTimezoneOffset() != summer.getTimezoneOffset()); function extractZone(date) { var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); return match ? match[1] : "GMT"; }; var winterName = extractZone(winter); var summerName = extractZone(summer); var winterNamePtr = allocate(intArrayFromString(winterName), 'i8', ALLOC_NORMAL); var summerNamePtr = allocate(intArrayFromString(summerName), 'i8', ALLOC_NORMAL); if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) { // Northern hemisphere HEAP32[((__get_tzname())>>2)]=winterNamePtr; HEAP32[(((__get_tzname())+(4))>>2)]=summerNamePtr; } else { HEAP32[((__get_tzname())>>2)]=summerNamePtr; HEAP32[(((__get_tzname())+(4))>>2)]=winterNamePtr; } }function _localtime_r(time, tmPtr) { _tzset(); var date = new Date(HEAP32[((time)>>2)]*1000); HEAP32[((tmPtr)>>2)]=date.getSeconds(); HEAP32[(((tmPtr)+(4))>>2)]=date.getMinutes(); HEAP32[(((tmPtr)+(8))>>2)]=date.getHours(); HEAP32[(((tmPtr)+(12))>>2)]=date.getDate(); HEAP32[(((tmPtr)+(16))>>2)]=date.getMonth(); HEAP32[(((tmPtr)+(20))>>2)]=date.getFullYear()-1900; HEAP32[(((tmPtr)+(24))>>2)]=date.getDay(); var start = new Date(date.getFullYear(), 0, 1); var yday = ((date.getTime() - start.getTime()) / (1000 * 60 * 60 * 24))|0; HEAP32[(((tmPtr)+(28))>>2)]=yday; HEAP32[(((tmPtr)+(36))>>2)]=-(date.getTimezoneOffset() * 60); // Attention: DST is in December in South, and some regions don't have DST at all. var summerOffset = new Date(2000, 6, 1).getTimezoneOffset(); var winterOffset = start.getTimezoneOffset(); var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset))|0; HEAP32[(((tmPtr)+(32))>>2)]=dst; var zonePtr = HEAP32[(((__get_tzname())+(dst ? 4 : 0))>>2)]; HEAP32[(((tmPtr)+(40))>>2)]=zonePtr; return tmPtr; } function _emscripten_memcpy_big(dest, src, num) { HEAPU8.set(HEAPU8.subarray(src, src+num), dest); } FS.staticInit();Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;; if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); }; if (ENVIRONMENT_IS_NODE) { _emscripten_get_now = function _emscripten_get_now_actual() { var t = process['hrtime'](); return t[0] * 1e3 + t[1] / 1e6; }; } else if (typeof dateNow !== 'undefined') { _emscripten_get_now = dateNow; } else if (typeof performance === 'object' && performance && typeof performance['now'] === 'function') { _emscripten_get_now = function() { return performance['now'](); }; } else { _emscripten_get_now = Date.now; }; Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."); Module["requestFullScreen"] = Module["requestFullscreen"]; Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice) }; Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) }; Fetch.staticInit();; var GLctx; GL.init(); var ASSERTIONS = false; // Copyright 2017 The Emscripten Authors. All rights reserved. // Emscripten is available under two separate licenses, the MIT license and the // University of Illinois/NCSA Open Source License. Both these licenses can be // found in the LICENSE file. /** @type {function(string, boolean=, number=)} */ function intArrayFromString(stringy, dontAddNull, length) { var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; var u8array = new Array(len); var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); if (dontAddNull) u8array.length = numBytesWritten; return u8array; } function intArrayToString(array) { var ret = []; for (var i = 0; i < array.length; i++) { var chr = array[i]; if (chr > 0xFF) { if (ASSERTIONS) { assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.'); } chr &= 0xFF; } ret.push(String.fromCharCode(chr)); } return ret.join(''); } // Copied from https://github.com/strophe/strophejs/blob/e06d027/src/polyfills.js#L149 // This code was written by Tyler Akins and has been placed in the // public domain. It would be nice if you left this header intact. // Base64 code from Tyler Akins -- http://rumkin.com /** * Decodes a base64 string. * @param {String} input The string to decode. */ var decodeBase64 = typeof atob === 'function' ? atob : function (input) { var keyStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; var output = ''; var chr1, chr2, chr3; var enc1, enc2, enc3, enc4; var i = 0; // remove all characters that are not A-Z, a-z, 0-9, +, /, or = input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ''); do { enc1 = keyStr.indexOf(input.charAt(i++)); enc2 = keyStr.indexOf(input.charAt(i++)); enc3 = keyStr.indexOf(input.charAt(i++)); enc4 = keyStr.indexOf(input.charAt(i++)); chr1 = (enc1 << 2) | (enc2 >> 4); chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); chr3 = ((enc3 & 3) << 6) | enc4; output = output + String.fromCharCode(chr1); if (enc3 !== 64) { output = output + String.fromCharCode(chr2); } if (enc4 !== 64) { output = output + String.fromCharCode(chr3); } } while (i < input.length); return output; }; // Converts a string of base64 into a byte array. // Throws error on invalid input. function intArrayFromBase64(s) { if (typeof ENVIRONMENT_IS_NODE === 'boolean' && ENVIRONMENT_IS_NODE) { var buf; try { buf = Buffer.from(s, 'base64'); } catch (_) { buf = new Buffer(s, 'base64'); } return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength); } try { var decoded = decodeBase64(s); var bytes = new Uint8Array(decoded.length); for (var i = 0 ; i < decoded.length ; ++i) { bytes[i] = decoded.charCodeAt(i); } return bytes; } catch (_) { throw new Error('Converting base64 string to bytes failed.'); } } // If filename is a base64 data URI, parses and returns data (Buffer on node, // Uint8Array otherwise). If filename is not a base64 data URI, returns undefined. function tryParseAsDataURI(filename) { if (!isDataURI(filename)) { return; } return intArrayFromBase64(filename.slice(dataURIPrefix.length)); } // ASM_LIBRARY EXTERN PRIMITIVES: Math_imul,Int8Array,Int32Array var asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "Infinity": Infinity } var asmLibraryArg = { "a": abort, "b": setTempRet0, "c": getTempRet0, "d": _JSEvents_requestFullscreen, "e": _JSEvents_resizeCanvasForFullscreen, "f": ___buildEnvironment, "g": ___setErrNo, "h": ___syscall10, "i": ___syscall102, "j": ___syscall12, "k": ___syscall140, "l": ___syscall168, "m": ___syscall195, "n": ___syscall197, "o": ___syscall220, "p": ___syscall221, "q": ___syscall3, "r": ___syscall39, "s": ___syscall4, "t": ___syscall5, "u": ___syscall54, "v": ___syscall6, "w": __computeUnpackAlignedImageSize, "x": __emscripten_do_request_fullscreen, "y": __emscripten_fetch_cache_data, "z": __emscripten_fetch_delete_cached_data, "A": __emscripten_fetch_load_cached_data, "B": __emscripten_fetch_xhr, "C": __emscripten_get_fetch_work_queue, "D": __fillFullscreenChangeEventData, "E": __fillMouseEventData, "F": __fillPointerlockChangeEventData, "G": __findCanvasEventTarget, "H": __findEventTarget, "I": __get_canvas_element_size, "J": __glGenObject, "K": __inet_ntop4_raw, "L": __inet_ntop6_raw, "M": __inet_pton4_raw, "N": __inet_pton6_raw, "O": __read_sockaddr, "P": __registerBeforeUnloadEventCallback, "Q": __registerFocusEventCallback, "R": __registerKeyEventCallback, "S": __registerMouseEventCallback, "T": __registerRestoreOldStyle, "U": __registerTouchEventCallback, "V": __registerUiEventCallback, "W": __registerWebGlEventCallback, "X": __registerWheelEventCallback, "Y": __requestPointerLock, "Z": __setLetterbox, "_": __set_canvas_element_size, "$": __write_sockaddr, "aa": _emscripten_asm_const_i, "ab": _emscripten_asm_const_ii, "ac": _emscripten_asm_const_iii, "ad": _emscripten_asm_const_iiii, "ae": _emscripten_exit_fullscreen, "af": _emscripten_exit_pointerlock, "ag": _emscripten_get_canvas_element_size, "ah": _emscripten_get_device_pixel_ratio, "ai": _emscripten_get_element_css_size, "aj": _emscripten_get_fullscreen_status, "ak": _emscripten_get_heap_size, "al": _emscripten_get_now, "am": _emscripten_get_pointerlock_status, "an": _emscripten_is_main_browser_thread, "ao": _emscripten_is_main_runtime_thread, "ap": _emscripten_is_webgl_context_lost, "aq": _emscripten_memcpy_big, "ar": _emscripten_request_fullscreen_strategy, "as": _emscripten_request_pointerlock, "at": _emscripten_resize_heap, "au": _emscripten_set_beforeunload_callback_on_thread, "av": _emscripten_set_blur_callback_on_thread, "aw": _emscripten_set_canvas_element_size, "ax": _emscripten_set_focus_callback_on_thread, "ay": _emscripten_set_keydown_callback_on_thread, "az": _emscripten_set_keypress_callback_on_thread, "aA": _emscripten_set_keyup_callback_on_thread, "aB": _emscripten_set_main_loop, "aC": _emscripten_set_main_loop_timing, "aD": _emscripten_set_mousedown_callback_on_thread, "aE": _emscripten_set_mousemove_callback_on_thread, "aF": _emscripten_set_mouseup_callback_on_thread, "aG": _emscripten_set_resize_callback_on_thread, "aH": _emscripten_set_touchcancel_callback_on_thread, "aI": _emscripten_set_touchend_callback_on_thread, "aJ": _emscripten_set_touchmove_callback_on_thread, "aK": _emscripten_set_touchstart_callback_on_thread, "aL": _emscripten_set_webglcontextlost_callback_on_thread, "aM": _emscripten_set_wheel_callback_on_thread, "aN": _emscripten_start_fetch, "aO": _emscripten_webgl_create_context, "aP": _emscripten_webgl_destroy_context, "aQ": _emscripten_webgl_destroy_context_calling_thread, "aR": _emscripten_webgl_do_create_context, "aS": _emscripten_webgl_init_context_attributes, "aT": _emscripten_webgl_make_context_current, "aU": _exit, "aV": _gettimeofday, "aW": _glAttachShader, "aX": _glBindAttribLocation, "aY": _glBindBuffer, "aZ": _glBindTexture, "a_": _glBlendFunc, "a$": _glBufferData, "ba": _glBufferSubData, "bb": _glClear, "bc": _glClearColor, "bd": _glColorMask, "be": _glCompileShader, "bf": _glCreateProgram, "bg": _glCreateShader, "bh": _glDeleteBuffers, "bi": _glDeleteProgram, "bj": _glDeleteShader, "bk": _glDeleteTextures, "bl": _glDepthFunc, "bm": _glDepthMask, "bn": _glDetachShader, "bo": _glDisable, "bp": _glDisableVertexAttribArray, "bq": _glDrawArrays, "br": _glDrawElements, "bs": _glEnable, "bt": _glEnableVertexAttribArray, "bu": _glGenBuffers, "bv": _glGenTextures, "bw": _glGetIntegerv, "bx": _glGetProgramInfoLog, "by": _glGetProgramiv, "bz": _glGetShaderInfoLog, "bA": _glGetShaderiv, "bB": _glGetString, "bC": _glGetUniformLocation, "bD": _glLinkProgram, "bE": _glShaderSource, "bF": _glTexImage2D, "bG": _glTexParameteri, "bH": _glTexSubImage2D, "bI": _glUniform1f, "bJ": _glUniform3f, "bK": _glUniformMatrix4fv, "bL": _glUseProgram, "bM": _glVertexAttribPointer, "bN": _glViewport, "bO": _localtime_r, "bP": _tzset, "bQ": abortOnCannotGrowMemory, "bR": emscriptenWebGLGet, "bS": emscriptenWebGLGetTexPixelData, "bT": emscripten_realloc_buffer, "bU": stringToNewUTF8, "bV": tempDoublePtr, "bW": DYNAMICTOP_PTR } // EMSCRIPTEN_START_ASM var asm = (/** @suppress {uselessCode} */ function(global, env, buffer) { 'almost asm'; var HEAP8 = new global.Int8Array(buffer), HEAP16 = new global.Int16Array(buffer), HEAP32 = new global.Int32Array(buffer), HEAPU8 = new global.Uint8Array(buffer), HEAPU16 = new global.Uint16Array(buffer), HEAPF32 = new global.Float32Array(buffer), HEAPF64 = new global.Float64Array(buffer), tempDoublePtr=env.bV|0, DYNAMICTOP_PTR=env.bW|0, __THREW__ = 0, threwValue = 0, setjmpId = 0, tempInt = 0, tempBigInt = 0, tempBigIntS = 0, tempValue = 0, tempDouble = 0.0, inf = global.Infinity, Math_floor=global.Math.floor, Math_abs=global.Math.abs, Math_sqrt=global.Math.sqrt, Math_cos=global.Math.cos, Math_sin=global.Math.sin, Math_exp=global.Math.exp, Math_log=global.Math.log, Math_ceil=global.Math.ceil, Math_imul=global.Math.imul, Math_min=global.Math.min, abort=env.a, setTempRet0=env.b, getTempRet0=env.c, _JSEvents_requestFullscreen=env.d, _JSEvents_resizeCanvasForFullscreen=env.e, ___buildEnvironment=env.f, ___setErrNo=env.g, ___syscall10=env.h, ___syscall102=env.i, ___syscall12=env.j, ___syscall140=env.k, ___syscall168=env.l, ___syscall195=env.m, ___syscall197=env.n, ___syscall220=env.o, ___syscall221=env.p, ___syscall3=env.q, ___syscall39=env.r, ___syscall4=env.s, ___syscall5=env.t, ___syscall54=env.u, ___syscall6=env.v, __computeUnpackAlignedImageSize=env.w, __emscripten_do_request_fullscreen=env.x, __emscripten_fetch_cache_data=env.y, __emscripten_fetch_delete_cached_data=env.z, __emscripten_fetch_load_cached_data=env.A, __emscripten_fetch_xhr=env.B, __emscripten_get_fetch_work_queue=env.C, __fillFullscreenChangeEventData=env.D, __fillMouseEventData=env.E, __fillPointerlockChangeEventData=env.F, __findCanvasEventTarget=env.G, __findEventTarget=env.H, __get_canvas_element_size=env.I, __glGenObject=env.J, __inet_ntop4_raw=env.K, __inet_ntop6_raw=env.L, __inet_pton4_raw=env.M, __inet_pton6_raw=env.N, __read_sockaddr=env.O, __registerBeforeUnloadEventCallback=env.P, __registerFocusEventCallback=env.Q, __registerKeyEventCallback=env.R, __registerMouseEventCallback=env.S, __registerRestoreOldStyle=env.T, __registerTouchEventCallback=env.U, __registerUiEventCallback=env.V, __registerWebGlEventCallback=env.W, __registerWheelEventCallback=env.X, __requestPointerLock=env.Y, __setLetterbox=env.Z, __set_canvas_element_size=env._, __write_sockaddr=env.$, _emscripten_asm_const_i=env.aa, _emscripten_asm_const_ii=env.ab, _emscripten_asm_const_iii=env.ac, _emscripten_asm_const_iiii=env.ad, _emscripten_exit_fullscreen=env.ae, _emscripten_exit_pointerlock=env.af, _emscripten_get_canvas_element_size=env.ag, _emscripten_get_device_pixel_ratio=env.ah, _emscripten_get_element_css_size=env.ai, _emscripten_get_fullscreen_status=env.aj, _emscripten_get_heap_size=env.ak, _emscripten_get_now=env.al, _emscripten_get_pointerlock_status=env.am, _emscripten_is_main_browser_thread=env.an, _emscripten_is_main_runtime_thread=env.ao, _emscripten_is_webgl_context_lost=env.ap, _emscripten_memcpy_big=env.aq, _emscripten_request_fullscreen_strategy=env.ar, _emscripten_request_pointerlock=env.as, _emscripten_resize_heap=env.at, _emscripten_set_beforeunload_callback_on_thread=env.au, _emscripten_set_blur_callback_on_thread=env.av, _emscripten_set_canvas_element_size=env.aw, _emscripten_set_focus_callback_on_thread=env.ax, _emscripten_set_keydown_callback_on_thread=env.ay, _emscripten_set_keypress_callback_on_thread=env.az, _emscripten_set_keyup_callback_on_thread=env.aA, _emscripten_set_main_loop=env.aB, _emscripten_set_main_loop_timing=env.aC, _emscripten_set_mousedown_callback_on_thread=env.aD, _emscripten_set_mousemove_callback_on_thread=env.aE, _emscripten_set_mouseup_callback_on_thread=env.aF, _emscripten_set_resize_callback_on_thread=env.aG, _emscripten_set_touchcancel_callback_on_thread=env.aH, _emscripten_set_touchend_callback_on_thread=env.aI, _emscripten_set_touchmove_callback_on_thread=env.aJ, _emscripten_set_touchstart_callback_on_thread=env.aK, _emscripten_set_webglcontextlost_callback_on_thread=env.aL, _emscripten_set_wheel_callback_on_thread=env.aM, _emscripten_start_fetch=env.aN, _emscripten_webgl_create_context=env.aO, _emscripten_webgl_destroy_context=env.aP, _emscripten_webgl_destroy_context_calling_thread=env.aQ, _emscripten_webgl_do_create_context=env.aR, _emscripten_webgl_init_context_attributes=env.aS, _emscripten_webgl_make_context_current=env.aT, _exit=env.aU, _gettimeofday=env.aV, _glAttachShader=env.aW, _glBindAttribLocation=env.aX, _glBindBuffer=env.aY, _glBindTexture=env.aZ, _glBlendFunc=env.a_, _glBufferData=env.a$, _glBufferSubData=env.ba, _glClear=env.bb, _glClearColor=env.bc, _glColorMask=env.bd, _glCompileShader=env.be, _glCreateProgram=env.bf, _glCreateShader=env.bg, _glDeleteBuffers=env.bh, _glDeleteProgram=env.bi, _glDeleteShader=env.bj, _glDeleteTextures=env.bk, _glDepthFunc=env.bl, _glDepthMask=env.bm, _glDetachShader=env.bn, _glDisable=env.bo, _glDisableVertexAttribArray=env.bp, _glDrawArrays=env.bq, _glDrawElements=env.br, _glEnable=env.bs, _glEnableVertexAttribArray=env.bt, _glGenBuffers=env.bu, _glGenTextures=env.bv, _glGetIntegerv=env.bw, _glGetProgramInfoLog=env.bx, _glGetProgramiv=env.by, _glGetShaderInfoLog=env.bz, _glGetShaderiv=env.bA, _glGetString=env.bB, _glGetUniformLocation=env.bC, _glLinkProgram=env.bD, _glShaderSource=env.bE, _glTexImage2D=env.bF, _glTexParameteri=env.bG, _glTexSubImage2D=env.bH, _glUniform1f=env.bI, _glUniform3f=env.bJ, _glUniformMatrix4fv=env.bK, _glUseProgram=env.bL, _glVertexAttribPointer=env.bM, _glViewport=env.bN, _localtime_r=env.bO, _tzset=env.bP, abortOnCannotGrowMemory=env.bQ, emscriptenWebGLGet=env.bR, emscriptenWebGLGetTexPixelData=env.bS, emscripten_realloc_buffer=env.bT, stringToNewUTF8=env.bU, STACKTOP = 1408592, STACK_MAX = 6651472, tempFloat = 0.0; function _emscripten_replace_memory(newBuffer) { HEAP8 = new Int8Array(newBuffer); HEAPU8 = new Uint8Array(newBuffer); HEAP16 = new Int16Array(newBuffer); HEAPU16 = new Uint16Array(newBuffer); HEAP32 = new Int32Array(newBuffer); HEAPF32 = new Float32Array(newBuffer); HEAPF64 = new Float64Array(newBuffer); buffer = newBuffer; return true; } // EMSCRIPTEN_START_FUNCS function stackAlloc(size) { size = size|0; var ret = 0; ret = STACKTOP; STACKTOP = (STACKTOP + size)|0; STACKTOP = (STACKTOP + 15)&-16; return ret|0; } function stackSave() { return STACKTOP|0; } function stackRestore(top) { top = top|0; STACKTOP = top; } function establishStackSpace(stackBase, stackMax) { stackBase = stackBase|0; stackMax = stackMax|0; STACKTOP = stackBase; STACK_MAX = stackMax; } function _Audio_SetMusic($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ($0|0)==(0); if ($1) { return; } _Chat_AddRaw(19100); return; } function _Audio_SetSounds($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ($0|0)==(0); if ($1) { return; } _Chat_AddRaw(19135); return; } function _Audio_PlayStepSound($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return; } function _Audio_Init() { var label = 0, sp = 0; sp = STACKTOP; return; } function _Audio_Free() { var label = 0, sp = 0; sp = STACKTOP; return; } function _AxisLinesRenderer_Init() { var label = 0, sp = 0; sp = STACKTOP; _Event_Register((1251856),0,269); return; } function _AxisLinesRenderer_Free() { var label = 0, sp = 0; sp = STACKTOP; _OnContextLost(0); _Event_Unregister((1251856),0,269); return; } function _OnContextLost($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _Gfx_DeleteVb(569600); return; } function _AxisLinesRenderer_Render() { var $$01719 = 0, $$020 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 272|0; $0 = sp + 192|0; $1 = sp + 252|0; $2 = sp; $3 = HEAP8[1408206]|0; $4 = ($3<<24>>24)!=(0); $5 = HEAP8[(1260360)>>0]|0; $6 = ($5<<24>>24)==(0); $or$cond = $4 & $6; if (!($or$cond)) { STACKTOP = sp;return; } $7 = HEAP32[142400]|0; $8 = ($7|0)==(0); if ($8) { $9 = (_Gfx_CreateDynamicVb(0,12)|0); HEAP32[142400] = $9; } ;HEAP32[$1>>2]=HEAP32[(1242156)>>2]|0;HEAP32[$1+4>>2]=HEAP32[(1242156)+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[(1242156)+8>>2]|0; $10 = ((($1)) + 4|0); $11 = +HEAPF32[$10>>2]; $12 = $11 + 0.05000000074505806; HEAPF32[$10>>2] = $12; $13 = HEAP32[(1230632)>>2]|0; $14 = HEAP8[$13>>0]|0; $15 = ($14<<24>>24)==(0); $16 = $15 ? 8 : 12; _Vec3_Add1($0,$1,-3.0); $17 = ((($0)) + 12|0); _Vec3_Add1($17,$1,-0.03125); $18 = ((($0)) + 24|0); ;HEAP32[$18>>2]=HEAP32[$1>>2]|0;HEAP32[$18+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$18+8>>2]=HEAP32[$1+8>>2]|0; $19 = ((($0)) + 36|0); _Vec3_Add1($19,$1,0.03125); $20 = ((($0)) + 48|0); _Vec3_Add1($20,$1,3.0); $$01719 = 0;$$020 = $2; while(1) { $21 = ($$01719*3)|0; $22 = (16 + ($21)|0); $23 = HEAP8[$22>>0]|0; $24 = $23&255; $25 = (($0) + (($24*12)|0)|0); $26 = HEAP32[$25>>2]|0; HEAP32[$$020>>2] = $26; $27 = (($21) + 1)|0; $28 = (16 + ($27)|0); $29 = HEAP8[$28>>0]|0; $30 = $29&255; $31 = (((($0) + (($30*12)|0)|0)) + 4|0); $32 = HEAP32[$31>>2]|0; $33 = ((($$020)) + 4|0); HEAP32[$33>>2] = $32; $34 = (($21) + 2)|0; $35 = (16 + ($34)|0); $36 = HEAP8[$35>>0]|0; $37 = $36&255; $38 = (((($0) + (($37*12)|0)|0)) + 8|0); $39 = HEAP32[$38>>2]|0; $40 = ((($$020)) + 8|0); HEAP32[$40>>2] = $39; $41 = (2)?($$01719 >>> 2):($$01719); $42 = (10600 + ($41<<2)|0); $43 = HEAP32[$42>>2]|0; $44 = ((($$020)) + 12|0); HEAP32[$44>>2] = $43; $45 = (($$01719) + 1)|0; $46 = ((($$020)) + 16|0); $exitcond = ($45|0)==($16|0); if ($exitcond) { break; } else { $$01719 = $45;$$020 = $46; } } _Gfx_SetVertexFormat(0); $47 = HEAP32[142400]|0; _Gfx_UpdateDynamicVb_IndexedTris($47,$2,$16); STACKTOP = sp;return; } function _Vec3_Add1($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = +$2; var $10 = 0.0, $11 = 0.0, $12 = 0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = $3 + $2; HEAPF32[$0>>2] = $4; $5 = ((($1)) + 4|0); $6 = +HEAPF32[$5>>2]; $7 = $6 + $2; $8 = ((($0)) + 4|0); HEAPF32[$8>>2] = $7; $9 = ((($1)) + 8|0); $10 = +HEAPF32[$9>>2]; $11 = $10 + $2; $12 = ((($0)) + 8|0); HEAPF32[$12>>2] = $11; return; } function _Bitmap_UNSAFE_CopyBlock($0,$1,$2,$3,$4,$5,$6) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; $6 = $6|0; var $$02628 = 0, $$027 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $7 = 0; var $8 = 0, $9 = 0, $exitcond = 0, $exitcond32 = 0, label = 0, sp = 0; sp = STACKTOP; $7 = ($6|0)>(0); if (!($7)) { return; } $8 = HEAP32[$4>>2]|0; $9 = ((($4)) + 4|0); $10 = HEAP32[$5>>2]|0; $11 = ((($5)) + 4|0); $$02628 = 0; while(1) { $12 = (($$02628) + ($1))|0; $13 = HEAP32[$9>>2]|0; $14 = Math_imul($13, $12)|0; $15 = (($8) + ($14<<2)|0); $16 = (($15) + ($0<<2)|0); $17 = (($$02628) + ($3))|0; $18 = HEAP32[$11>>2]|0; $19 = Math_imul($18, $17)|0; $20 = (($10) + ($19<<2)|0); $21 = (($20) + ($2<<2)|0); $$027 = 0; while(1) { $22 = (($16) + ($$027<<2)|0); $23 = HEAP32[$22>>2]|0; $24 = (($21) + ($$027<<2)|0); HEAP32[$24>>2] = $23; $25 = (($$027) + 1)|0; $exitcond = ($25|0)==($6|0); if ($exitcond) { break; } else { $$027 = $25; } } $26 = (($$02628) + 1)|0; $exitcond32 = ($26|0)==($6|0); if ($exitcond32) { break; } else { $$02628 = $26; } } return; } function _Bitmap_Allocate($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ((($0)) + 4|0); HEAP32[$3>>2] = $1; $4 = ((($0)) + 8|0); HEAP32[$4>>2] = $2; $5 = Math_imul($2, $1)|0; $6 = (_Mem_Alloc($5,4,19172)|0); HEAP32[$0>>2] = $6; return; } function _Bitmap_AllocateClearedPow2($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (_Math_NextPowOf2($1)|0); $4 = (_Math_NextPowOf2($2)|0); $5 = ((($0)) + 4|0); HEAP32[$5>>2] = $3; $6 = ((($0)) + 8|0); HEAP32[$6>>2] = $4; $7 = Math_imul($4, $3)|0; $8 = (_Mem_AllocCleared($7,4,19172)|0); HEAP32[$0>>2] = $8; return; } function _Png_Detect($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1>>>0)<(8); if ($2) { return 0; } $6 = HEAP8[$0>>0]|0; $7 = ($6<<24>>24)==(-119); if (!($7)) { return 0; } $3 = ((($0)) + 1|0); $4 = HEAP8[$3>>0]|0; $5 = ($4<<24>>24)==(80); if (!($5)) { return 0; } $8 = ((($0)) + 2|0); $9 = HEAP8[$8>>0]|0; $10 = ($9<<24>>24)==(78); if (!($10)) { return 0; } $11 = ((($0)) + 3|0); $12 = HEAP8[$11>>0]|0; $13 = ($12<<24>>24)==(71); if (!($13)) { return 0; } $14 = ((($0)) + 4|0); $15 = HEAP8[$14>>0]|0; $16 = ($15<<24>>24)==(13); if (!($16)) { return 0; } $17 = ((($0)) + 5|0); $18 = HEAP8[$17>>0]|0; $19 = ($18<<24>>24)==(10); if (!($19)) { return 0; } $20 = ((($0)) + 6|0); $21 = HEAP8[$20>>0]|0; $22 = ($21<<24>>24)==(26); if ($22) { $23 = ((($0)) + 7|0); $24 = HEAP8[$23>>0]|0; $25 = ($24<<24>>24)==(10); $spec$select = $25&1; return ($spec$select|0); } else { return 0; } return (0)|0; } function _Png_Decode($0,$1) { $0 = $0|0; $1 = $1|0; var $$0180266 = 0, $$0184265 = 0, $$0188264 = 0, $$0190263 = 0, $$0192262 = 0, $$0194237 = 0, $$0195261 = 0, $$0197260 = 0, $$0201312 = 0, $$0204259 = 0, $$0206258 = 0, $$0206258$op = 0, $$0208257 = 0, $$1181 = 0, $$1185243 = 0, $$1189 = 0, $$1191 = 0, $$1193 = 0, $$1196 = 0, $$1198242 = 0; var $$1202254 = 0, $$1205 = 0, $$1207 = 0, $$1209 = 0, $$2199$lcssa = 0, $$2199236 = 0, $$2203251 = 0, $$3187 = 0, $$3200 = 0, $$5 = 0, $$neg = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0; var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0; var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0; var $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0; var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0; var $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0; var $exitcond331 = 0, $or$cond214 = 0, $spec$select = 0, $spec$select211 = 0, $switch$split112D = 0, $switch$split142D = 0, $switch$split2D = 0, $switch$split82D = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 570960|0; $2 = sp + 525328|0; $3 = sp + 524304|0; $4 = sp; $5 = sp + 570944|0; $6 = sp + 526208|0; $7 = sp + 526152|0; $8 = sp + 526096|0; $9 = sp + 570948|0; $10 = ((($0)) + 4|0); HEAP32[$10>>2] = 0; $11 = ((($0)) + 8|0); HEAP32[$11>>2] = 0; HEAP32[$0>>2] = 0; $12 = (_Stream_Read($1,$2,8)|0); $13 = ($12|0)==(0); if (!($13)) { $$5 = $12; STACKTOP = sp;return ($$5|0); } $14 = (_Png_Detect($2,8)|0); $15 = ($14<<24>>24)==(0); if ($15) { $$5 = -857812962; STACKTOP = sp;return ($$5|0); } $$0201312 = 0; while(1) { $16 = (($3) + ($$0201312<<2)|0); HEAP32[$16>>2] = -16777216; $17 = (($$0201312) + 1)|0; $exitcond331 = ($17|0)==(256); if ($exitcond331) { break; } else { $$0201312 = $17; } } _Inflate_MakeStream($7,$6,$1); _ZLibHeader_Init($9); $18 = (_Stream_Read($1,$2,8)|0); $19 = ($18|0)==(0); if (!($19)) { $$5 = $18; STACKTOP = sp;return ($$5|0); } $20 = ((($2)) + 4|0); $21 = ((($1)) + 12|0); $22 = ((($1)) + 12|0); $23 = ((($6)) + 28|0); $24 = ((($9)) + 1|0); $25 = ((($2)) + 2|0); $26 = ((($2)) + 8|0); $27 = ((($2)) + 9|0); $28 = ((($2)) + 10|0); $29 = ((($2)) + 11|0); $30 = ((($2)) + 12|0); $$0180266 = 0;$$0184265 = 0;$$0188264 = 0;$$0190263 = 0;$$0192262 = 0;$$0195261 = 0;$$0197260 = 0;$$0204259 = -16777216;$$0206258 = 0;$$0208257 = 0; L13: while(1) { $33 = (_Stream_GetU32_BE($2)|0); $34 = (_Stream_GetU32_BE($20)|0); $switch$split2D = ($34|0)<(1229472850); L15: do { if ($switch$split2D) { $switch$split82D = ($34|0)<(1229278788); if (!($switch$split82D)) { switch ($34|0) { case 1229278788: { label = 51; break L13; break; } default: { label = 55; break L15; } } } switch ($34|0) { case 1229209940: { break; } default: { label = 55; break L15; } } _Stream_ReadonlyPortion($8,$1,$33); HEAP32[$23>>2] = $8; $134 = HEAP8[$24>>0]|0; $135 = ($134<<24>>24)==(0); if ($135) { while(1) { $138 = (_ZLibHeader_Read($8,$9)|0); $139 = ($138|0)==(0); if (!($139)) { $$5 = $138; label = 57; break L13; } $136 = HEAP8[$24>>0]|0; $137 = ($136<<24>>24)==(0); if (!($137)) { break; } } } $140 = HEAP32[$0>>2]|0; $141 = ($140|0)==(0|0); if ($141) { $$5 = -857812950; label = 57; break L13; } $142 = HEAP32[$11>>2]|0; $143 = ($$0197260>>>0)<($142>>>0); if ($143) { $$0206258$op = (0 - ($$0206258))|0; $$1185243 = $$0184265;$$1198242 = $$0197260; while(1) { $144 = (($$1185243>>>0) / ($$0206258>>>0))&-1; $145 = (($$0188264) - ($$1185243))|0; $146 = ($$0206258>>>0)>($$1185243>>>0); $$neg = $146 ? $$0206258$op : 0; $spec$select = (($145) + ($$neg))|0; $147 = HEAP32[$7>>2]|0; $148 = (($4) + ($$1185243)|0); $149 = (FUNCTION_TABLE_iiiii[$147 & 63]($7,$148,$spec$select,$5)|0); $150 = ($149|0)==(0); if (!($150)) { $$5 = $149; label = 57; break L13; } $151 = HEAP32[$5>>2]|0; $152 = ($151|0)==(0); if ($152) { $$1181 = $$0180266;$$1189 = $$0188264;$$1191 = $$0190263;$$1193 = $$0192262;$$1196 = $$0195261;$$1205 = $$0204259;$$1207 = $$0206258;$$1209 = $$0208257;$$3187 = $$1185243;$$3200 = $$1198242; break L15; } $153 = (($151) + ($$1185243))|0; $154 = (($153>>>0) / ($$0206258>>>0))&-1; $155 = ($153|0)==($$0188264|0); $spec$select211 = $155 ? 0 : $153; $156 = ($144>>>0)<($154>>>0); L33: do { if ($156) { $$0194237 = $144;$$2199236 = $$1198242; while(1) { $157 = HEAP32[$11>>2]|0; $158 = ($$2199236>>>0)<($157>>>0); if (!($158)) { $$2199$lcssa = $$2199236; break L33; } $159 = Math_imul($$0194237, $$0206258)|0; $160 = (($4) + ($159)|0); $161 = HEAP8[$160>>0]|0; $162 = ($161&255)>(4); if ($162) { $$5 = -857812949; label = 57; break L13; } $163 = ($$0194237|0)==(0); $164 = $163 ? $$0190263 : $$0194237; $165 = (($164) + -1)|0; $166 = Math_imul($165, $$0206258)|0; $167 = (($4) + ($166)|0); $168 = ((($160)) + 1|0); $169 = ((($167)) + 1|0); _Png_Reconstruct($161,$$0192262,$168,$169,$$0208257); $170 = HEAP32[$10>>2]|0; $171 = HEAP32[$0>>2]|0; $172 = Math_imul($170, $$2199236)|0; $173 = (($171) + ($172<<2)|0); FUNCTION_TABLE_viiii[$$0195261 & 31]($170,$3,$168,$173); $174 = (($$0194237) + 1)|0; $175 = (($$2199236) + 1)|0; $176 = ($174>>>0)<($154>>>0); if ($176) { $$0194237 = $174;$$2199236 = $175; } else { $$2199$lcssa = $175; break; } } } else { $$2199$lcssa = $$1198242; } } while(0); $177 = HEAP32[$11>>2]|0; $178 = ($$2199$lcssa>>>0)<($177>>>0); if ($178) { $$1185243 = $spec$select211;$$1198242 = $$2199$lcssa; } else { $$1181 = $$0180266;$$1189 = $$0188264;$$1191 = $$0190263;$$1193 = $$0192262;$$1196 = $$0195261;$$1205 = $$0204259;$$1207 = $$0206258;$$1209 = $$0208257;$$3187 = $spec$select211;$$3200 = $$2199$lcssa; break; } } } else { $$1181 = $$0180266;$$1189 = $$0188264;$$1191 = $$0190263;$$1193 = $$0192262;$$1196 = $$0195261;$$1205 = $$0204259;$$1207 = $$0206258;$$1209 = $$0208257;$$3187 = $$0184265;$$3200 = $$0197260; } } else { $switch$split112D = ($34|0)<(1347179589); if ($switch$split112D) { switch ($34|0) { case 1229472850: { break; } default: { label = 55; break L15; } } $35 = ($33|0)==(13); if (!($35)) { $$5 = -857812961; label = 57; break L13; } $36 = (_Stream_Read($1,$2,13)|0); $37 = ($36|0)==(0); if (!($37)) { $$5 = $36; label = 57; break L13; } $38 = (_Stream_GetU32_BE($2)|0); HEAP32[$10>>2] = $38; $39 = (_Stream_GetU32_BE($20)|0); HEAP32[$11>>2] = $39; $40 = HEAP32[$10>>2]|0; $41 = ($40>>>0)>(32768); if ($41) { $$5 = -857812960; label = 57; break L13; } $42 = ($39>>>0)>(32768); if ($42) { $$5 = -857812959; label = 57; break L13; } $43 = Math_imul($40, $39)|0; $44 = (_Mem_TryAlloc($43,4)|0); HEAP32[$0>>2] = $44; $45 = ($44|0)==(0|0); if ($45) { $$5 = -857812988; label = 57; break L13; } $46 = HEAP8[$26>>0]|0; $47 = HEAP8[$27>>0]|0; $48 = (_Png_GetExpander($47,$46)|0); $49 = ($48|0)==(0|0); if ($49) { $$5 = -857812958; label = 57; break L13; } $50 = HEAP8[$28>>0]|0; $51 = ($50<<24>>24)==(0); if (!($51)) { $$5 = -857812957; label = 57; break L13; } $52 = HEAP8[$29>>0]|0; $53 = ($52<<24>>24)==(0); if (!($53)) { $$5 = -857812956; label = 57; break L13; } $54 = HEAP8[$30>>0]|0; $55 = ($54<<24>>24)==(0); if (!($55)) { $$5 = -857812955; label = 57; break L13; } $56 = $47&255; $57 = (64 + ($56<<2)|0); $58 = HEAP32[$57>>2]|0; $59 = $46&255; $60 = Math_imul($58, $59)|0; $61 = (($60) + 7)|0; $62 = (3)?($61 >>> 3):($61); $63 = $62&255; $64 = HEAP32[$10>>2]|0; $65 = Math_imul($60, $64)|0; $66 = (($65) + 7)|0; $67 = (3)?($66 >>> 3):($66); $68 = (($67) + 1)|0; _Mem_Set($4,0,$68); $69 = (524290 / ($68>>>0))&-1; $70 = Math_imul($68, $69)|0; $$1181 = $47;$$1189 = $70;$$1191 = $69;$$1193 = $63;$$1196 = $48;$$1205 = $$0204259;$$1207 = $68;$$1209 = $67;$$3187 = $68;$$3200 = $$0197260; break; } $switch$split142D = ($34|0)<(1951551059); if ($switch$split142D) { switch ($34|0) { case 1347179589: { break; } default: { label = 55; break L15; } } $71 = ($33>>>0)<(769); $72 = (($33>>>0) % 3)&-1; $73 = ($72|0)==(0); $or$cond214 = $71 & $73; if (!($or$cond214)) { $$5 = -857812954; label = 57; break L13; } $74 = (_Stream_Read($1,$2,$33)|0); $75 = ($74|0)==(0); if (!($75)) { $$5 = $74; label = 57; break L13; } $76 = ($33|0)==(0); if ($76) { $$1181 = $$0180266;$$1189 = $$0188264;$$1191 = $$0190263;$$1193 = $$0192262;$$1196 = $$0195261;$$1205 = $$0204259;$$1207 = $$0206258;$$1209 = $$0208257;$$3187 = $$0184265;$$3200 = $$0197260; break; } $$1202254 = 0; while(1) { $77 = (($$1202254>>>0) / 3)&-1; $78 = (($3) + ($77<<2)|0); $79 = HEAP32[$78>>2]|0; $80 = $79 & -16777216; $81 = (($2) + ($$1202254)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $80 | $83; $85 = (($$1202254) + 1)|0; $86 = (($2) + ($85)|0); $87 = HEAP8[$86>>0]|0; $88 = $87&255; $89 = $88 << 8; $90 = $89 | $84; $91 = (($$1202254) + 2)|0; $92 = (($2) + ($91)|0); $93 = HEAP8[$92>>0]|0; $94 = $93&255; $95 = $94 << 16; $96 = $95 | $90; HEAP32[$78>>2] = $96; $97 = (($$1202254) + 3)|0; $98 = ($97>>>0)<($33>>>0); if ($98) { $$1202254 = $97; } else { $$1181 = $$0180266;$$1189 = $$0188264;$$1191 = $$0190263;$$1193 = $$0192262;$$1196 = $$0195261;$$1205 = $$0204259;$$1207 = $$0206258;$$1209 = $$0208257;$$3187 = $$0184265;$$3200 = $$0197260; break L15; } } } switch ($34|0) { case 1951551059: { break; } default: { label = 55; break L15; } } switch ($$0180266<<24>>24) { case 0: { $99 = ($33|0)==(2); if (!($99)) { $$5 = -857812953; label = 57; break L13; } $100 = (_Stream_Read($1,$2,$33)|0); $101 = ($100|0)==(0); if (!($101)) { $$5 = $100; label = 57; break L13; } $102 = HEAP8[$2>>0]|0; $103 = $102&255; $104 = $103 << 8; $105 = $104 | $103; $106 = $103 << 16; $107 = $105 | $106; $$1181 = 0;$$1189 = $$0188264;$$1191 = $$0190263;$$1193 = $$0192262;$$1196 = $$0195261;$$1205 = $107;$$1207 = $$0206258;$$1209 = $$0208257;$$3187 = $$0184265;$$3200 = $$0197260; break L15; break; } case 3: { $108 = ($33>>>0)>(256); if ($108) { $$5 = -857812953; label = 57; break L13; } $109 = (_Stream_Read($1,$2,$33)|0); $110 = ($109|0)==(0); if (!($110)) { $$5 = $109; label = 57; break L13; } $111 = ($33|0)==(0); if ($111) { $$1181 = 3;$$1189 = $$0188264;$$1191 = $$0190263;$$1193 = $$0192262;$$1196 = $$0195261;$$1205 = $$0204259;$$1207 = $$0206258;$$1209 = $$0208257;$$3187 = $$0184265;$$3200 = $$0197260; break L15; } $$2203251 = 0; while(1) { $112 = (($3) + ($$2203251<<2)|0); $113 = HEAP32[$112>>2]|0; $114 = $113 & 16777215; $115 = (($2) + ($$2203251)|0); $116 = HEAP8[$115>>0]|0; $117 = $116&255; $118 = $117 << 24; $119 = $118 | $114; HEAP32[$112>>2] = $119; $120 = (($$2203251) + 1)|0; $exitcond = ($120|0)==($33|0); if ($exitcond) { $$1181 = $$0180266;$$1189 = $$0188264;$$1191 = $$0190263;$$1193 = $$0192262;$$1196 = $$0195261;$$1205 = $$0204259;$$1207 = $$0206258;$$1209 = $$0208257;$$3187 = $$0184265;$$3200 = $$0197260; break; } else { $$2203251 = $120; } } break; } case 2: { $121 = ($33|0)==(6); if (!($121)) { $$5 = -857812953; label = 57; break L13; } $122 = (_Stream_Read($1,$2,$33)|0); $123 = ($122|0)==(0); if (!($123)) { $$5 = $122; label = 57; break L13; } $124 = HEAP8[$2>>0]|0; $125 = $124&255; $126 = HEAP8[$25>>0]|0; $127 = $126&255; $128 = $127 << 8; $129 = $128 | $125; $130 = HEAP8[$20>>0]|0; $131 = $130&255; $132 = $131 << 16; $133 = $129 | $132; $$1181 = 2;$$1189 = $$0188264;$$1191 = $$0190263;$$1193 = $$0192262;$$1196 = $$0195261;$$1205 = $133;$$1207 = $$0206258;$$1209 = $$0208257;$$3187 = $$0184265;$$3200 = $$0197260; break L15; break; } default: { $$5 = -857812952; label = 57; break L13; } } } } while(0); if ((label|0) == 55) { label = 0; $184 = HEAP32[$21>>2]|0; $185 = (FUNCTION_TABLE_iii[$184 & 127]($1,$33)|0); $186 = ($185|0)==(0); if ($186) { $$1181 = $$0180266;$$1189 = $$0188264;$$1191 = $$0190263;$$1193 = $$0192262;$$1196 = $$0195261;$$1205 = $$0204259;$$1207 = $$0206258;$$1209 = $$0208257;$$3187 = $$0184265;$$3200 = $$0197260; } else { $$5 = $185; label = 57; break; } } $187 = HEAP32[$22>>2]|0; $188 = (FUNCTION_TABLE_iii[$187 & 127]($1,4)|0); $189 = ($188|0)==(0); if (!($189)) { $$5 = $188; label = 57; break; } $31 = (_Stream_Read($1,$2,8)|0); $32 = ($31|0)==(0); if ($32) { $$0180266 = $$1181;$$0184265 = $$3187;$$0188264 = $$1189;$$0190263 = $$1191;$$0192262 = $$1193;$$0195261 = $$1196;$$0197260 = $$3200;$$0204259 = $$1205;$$0206258 = $$1207;$$0208257 = $$1209; } else { $$5 = $31; label = 57; break; } } if ((label|0) == 51) { $179 = ($33|0)==(0); if (!($179)) { $$5 = -857812951; STACKTOP = sp;return ($$5|0); } $180 = ($$0204259>>>0)>(16777215); if (!($180)) { _ComputeTransparency($0,$$0204259); } $181 = HEAP32[$0>>2]|0; $182 = ($181|0)==(0|0); $183 = $182 ? -857812950 : 0; $$5 = $183; STACKTOP = sp;return ($$5|0); } else if ((label|0) == 57) { STACKTOP = sp;return ($$5|0); } return (0)|0; } function _Png_GetExpander($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $switch$select = 0, $switch$select11 = 0, $switch$select13 = 0, $switch$select15 = 0, $switch$select7 = 0, $switch$select9 = 0, $switch$selectcmp = 0, $switch$selectcmp10 = 0, $switch$selectcmp12 = 0, $switch$selectcmp14 = 0, $switch$selectcmp6 = 0, $switch$selectcmp8 = 0, label = 0, sp = 0; sp = STACKTOP; L1: do { switch ($0<<24>>24) { case 0: { switch ($1<<24>>24) { case 1: { $$0 = 7; break L1; break; } case 2: { $$0 = 8; break L1; break; } case 4: { $$0 = 9; break L1; break; } case 8: { $$0 = 10; break L1; break; } case 16: { $$0 = 11; break L1; break; } default: { $$0 = 0; break L1; } } break; } case 2: { $switch$selectcmp = ($1<<24>>24)==(16); $switch$select = $switch$selectcmp ? 1 : 0; $switch$selectcmp6 = ($1<<24>>24)==(8); $switch$select7 = $switch$selectcmp6 ? 2 : $switch$select; $$0 = $switch$select7; break; } case 3: { switch ($1<<24>>24) { case 1: { $$0 = 12; break L1; break; } case 2: { $$0 = 13; break L1; break; } case 4: { $$0 = 14; break L1; break; } case 8: { $$0 = 15; break L1; break; } default: { $$0 = 0; break L1; } } break; } case 4: { $switch$selectcmp8 = ($1<<24>>24)==(16); $switch$select9 = $switch$selectcmp8 ? 3 : 0; $switch$selectcmp10 = ($1<<24>>24)==(8); $switch$select11 = $switch$selectcmp10 ? 4 : $switch$select9; $$0 = $switch$select11; break; } case 6: { $switch$selectcmp12 = ($1<<24>>24)==(16); $switch$select13 = $switch$selectcmp12 ? 5 : 0; $switch$selectcmp14 = ($1<<24>>24)==(8); $switch$select15 = $switch$selectcmp14 ? 6 : $switch$select13; $$0 = $switch$select15; break; } default: { $$0 = 0; } } } while(0); return ($$0|0); } function _Png_Reconstruct($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $$08595 = 0, $$096 = 0, $$186102 = 0, $$199 = 0, $$2$lcssa = 0, $$2106 = 0, $$28791 = 0, $$3103 = 0, $$4$lcssa = 0, $$493 = 0, $$592 = 0, $$sink126 = 0, $$sink127 = 0, $10 = 0, $100 = 0, $101 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond115 = 0, $exitcond116 = 0, $exitcond117 = 0, $exitcond118 = 0, $exitcond119 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; switch ($0<<24>>24) { case 4: { $57 = $1&255; $58 = ($1<<24>>24)==(0); if ($58) { $$4$lcssa = 0; } else { $$493 = 0; while(1) { $59 = (($3) + ($$493)|0); $60 = HEAP8[$59>>0]|0; $61 = $60&255; $62 = (($2) + ($$493)|0); $63 = HEAP8[$62>>0]|0; $64 = $63&255; $65 = (($64) + ($61))|0; $66 = $65&255; HEAP8[$62>>0] = $66; $67 = (($$493) + 1)|0; $exitcond115 = ($67|0)==($57|0); if ($exitcond115) { $$4$lcssa = $57; break; } else { $$493 = $67; } } } $68 = ($$4$lcssa>>>0)<($4>>>0); if (!($68)) { return; } $69 = (($4) - ($$4$lcssa))|0; $$28791 = 0;$$592 = $$4$lcssa; while(1) { $70 = (($2) + ($$28791)|0); $71 = HEAP8[$70>>0]|0; $72 = (($3) + ($$592)|0); $73 = HEAP8[$72>>0]|0; $74 = (($3) + ($$28791)|0); $75 = HEAP8[$74>>0]|0; $76 = $71&255; $77 = $73&255; $78 = (($77) + ($76))|0; $79 = $75&255; $80 = (($78) - ($79))|0; $81 = (($80) - ($76))|0; $82 = (_Math_AbsI($81)|0); $83 = (($80) - ($77))|0; $84 = (_Math_AbsI($83)|0); $85 = (($80) - ($79))|0; $86 = (_Math_AbsI($85)|0); $87 = ($82|0)>($84|0); $88 = ($82|0)>($86|0); $or$cond = $87 | $88; do { if ($or$cond) { $93 = ($84|0)>($86|0); $94 = (($2) + ($$592)|0); $95 = HEAP8[$94>>0]|0; $96 = $95&255; if ($93) { $98 = (($96) + ($79))|0; $$sink126 = $94;$$sink127 = $98; break; } else { $97 = (($96) + ($77))|0; $$sink126 = $94;$$sink127 = $97; break; } } else { $89 = (($2) + ($$592)|0); $90 = HEAP8[$89>>0]|0; $91 = $90&255; $92 = (($91) + ($76))|0; $$sink126 = $89;$$sink127 = $92; } } while(0); $99 = $$sink127&255; HEAP8[$$sink126>>0] = $99; $100 = (($$592) + 1)|0; $101 = (($$28791) + 1)|0; $exitcond = ($101|0)==($69|0); if ($exitcond) { break; } else { $$28791 = $101;$$592 = $100; } } return; break; } case 1: { $5 = $1&255; $6 = ($5>>>0)<($4>>>0); if (!($6)) { return; } $7 = (($4) - ($5))|0; $$08595 = 0;$$096 = $5; while(1) { $8 = (($2) + ($$08595)|0); $9 = HEAP8[$8>>0]|0; $10 = $9&255; $11 = (($2) + ($$096)|0); $12 = HEAP8[$11>>0]|0; $13 = $12&255; $14 = (($13) + ($10))|0; $15 = $14&255; HEAP8[$11>>0] = $15; $16 = (($$096) + 1)|0; $17 = (($$08595) + 1)|0; $exitcond116 = ($17|0)==($7|0); if ($exitcond116) { break; } else { $$08595 = $17;$$096 = $16; } } return; break; } case 2: { $18 = ($4|0)==(0); if ($18) { return; } $$199 = 0; while(1) { $19 = (($3) + ($$199)|0); $20 = HEAP8[$19>>0]|0; $21 = $20&255; $22 = (($2) + ($$199)|0); $23 = HEAP8[$22>>0]|0; $24 = $23&255; $25 = (($24) + ($21))|0; $26 = $25&255; HEAP8[$22>>0] = $26; $27 = (($$199) + 1)|0; $exitcond117 = ($27|0)==($4|0); if ($exitcond117) { break; } else { $$199 = $27; } } return; break; } case 3: { $28 = $1&255; $29 = ($1<<24>>24)==(0); if ($29) { $$2$lcssa = 0; } else { $$2106 = 0; while(1) { $30 = (($3) + ($$2106)|0); $31 = HEAP8[$30>>0]|0; $32 = $31&255; $33 = (1)?($32 >>> 1):($32); $34 = (($2) + ($$2106)|0); $35 = HEAP8[$34>>0]|0; $36 = $35&255; $37 = (($33) + ($36))|0; $38 = $37&255; HEAP8[$34>>0] = $38; $39 = (($$2106) + 1)|0; $exitcond119 = ($39|0)==($28|0); if ($exitcond119) { $$2$lcssa = $28; break; } else { $$2106 = $39; } } } $40 = ($$2$lcssa>>>0)<($4>>>0); if (!($40)) { return; } $41 = (($4) - ($$2$lcssa))|0; $$186102 = 0;$$3103 = $$2$lcssa; while(1) { $42 = (($3) + ($$3103)|0); $43 = HEAP8[$42>>0]|0; $44 = $43&255; $45 = (($2) + ($$186102)|0); $46 = HEAP8[$45>>0]|0; $47 = $46&255; $48 = (($47) + ($44))|0; $49 = (1)?($48 >>> 1):($48); $50 = (($2) + ($$3103)|0); $51 = HEAP8[$50>>0]|0; $52 = $51&255; $53 = (($49) + ($52))|0; $54 = $53&255; HEAP8[$50>>0] = $54; $55 = (($$3103) + 1)|0; $56 = (($$186102) + 1)|0; $exitcond118 = ($56|0)==($41|0); if ($exitcond118) { break; } else { $$186102 = $56;$$3103 = $55; } } return; break; } default: { return; } } } function _ComputeTransparency($0,$1) { $0 = $0|0; $1 = $1|0; var $$ = 0, $$03335 = 0, $$034 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var $exitcond = 0, $exitcond39 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = $1 & 16777215; $3 = ((($0)) + 4|0); $4 = HEAP32[$3>>2]|0; $5 = ((($0)) + 8|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)>(0); if (!($7)) { return; } $8 = HEAP32[$0>>2]|0; $9 = ($4|0)>(0); $$03335 = 0; while(1) { $10 = HEAP32[$3>>2]|0; $11 = Math_imul($10, $$03335)|0; $12 = (($8) + ($11<<2)|0); if ($9) { $$034 = 0; while(1) { $13 = (($12) + ($$034<<2)|0); $14 = HEAP32[$13>>2]|0; $15 = $14 & 16777215; $16 = ($15|0)==($2|0); $$ = $16 ? $2 : $14; HEAP32[$13>>2] = $$; $17 = (($$034) + 1)|0; $exitcond = ($17|0)==($4|0); if ($exitcond) { break; } else { $$034 = $17; } } } $18 = (($$03335) + 1)|0; $exitcond39 = ($18|0)==($6|0); if ($exitcond39) { break; } else { $$03335 = $18; } } return; } function _Png_Expand_RGB_16($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$01415 = 0, $$016 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ($0|0)>(0); if (!($4)) { return; } $$01415 = 0;$$016 = 0; while(1) { $5 = (($2) + ($$016)|0); $6 = HEAP8[$5>>0]|0; $7 = $6&255; $8 = (($$016) + 2)|0; $9 = (($2) + ($8)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 << 8; $13 = (($$016) + 4)|0; $14 = (($2) + ($13)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = $16 << 16; $18 = $12 | $7; $19 = $18 | $17; $20 = $19 | -16777216; $21 = (($3) + ($$01415<<2)|0); HEAP32[$21>>2] = $20; $22 = (($$01415) + 1)|0; $23 = (($$016) + 6)|0; $exitcond = ($22|0)==($0|0); if ($exitcond) { break; } else { $$01415 = $22;$$016 = $23; } } return; } function _Png_Expand_RGB_8($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0$lcssa = 0, $$050$lcssa = 0, $$05054 = 0, $$055 = 0, $$15152 = 0, $$153 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $4 = $0 & -4; $5 = ($4|0)>(0); if ($5) { $6 = (($4) + -1)|0; $7 = (2)?($6 >>> 2):($6); $8 = ($7*12)|0; $$05054 = 0;$$055 = 0; while(1) { $9 = (($2) + ($$055)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $$055 | 1; $13 = (($2) + ($12)|0); $14 = HEAP8[$13>>0]|0; $15 = $14&255; $16 = $15 << 8; $17 = $$055 | 2; $18 = (($2) + ($17)|0); $19 = HEAP8[$18>>0]|0; $20 = $19&255; $21 = $20 << 16; $22 = $16 | $11; $23 = $22 | $21; $24 = $23 | -16777216; $25 = (($3) + ($$05054<<2)|0); HEAP32[$25>>2] = $24; $26 = $$055 | 3; $27 = (($2) + ($26)|0); $28 = HEAP8[$27>>0]|0; $29 = $28&255; $30 = (($26) + 1)|0; $31 = (($2) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = $32&255; $34 = $33 << 8; $35 = (($26) + 2)|0; $36 = (($2) + ($35)|0); $37 = HEAP8[$36>>0]|0; $38 = $37&255; $39 = $38 << 16; $40 = $34 | $29; $41 = $40 | $39; $42 = $41 | -16777216; $43 = $$05054 | 1; $44 = (($3) + ($43<<2)|0); HEAP32[$44>>2] = $42; $45 = (($$055) + 6)|0; $46 = (($2) + ($45)|0); $47 = HEAP8[$46>>0]|0; $48 = $47&255; $49 = (($$055) + 7)|0; $50 = (($2) + ($49)|0); $51 = HEAP8[$50>>0]|0; $52 = $51&255; $53 = $52 << 8; $54 = (($$055) + 8)|0; $55 = (($2) + ($54)|0); $56 = HEAP8[$55>>0]|0; $57 = $56&255; $58 = $57 << 16; $59 = $53 | $48; $60 = $59 | $58; $61 = $60 | -16777216; $62 = $$05054 | 2; $63 = (($3) + ($62<<2)|0); HEAP32[$63>>2] = $61; $64 = (($$055) + 9)|0; $65 = (($2) + ($64)|0); $66 = HEAP8[$65>>0]|0; $67 = $66&255; $68 = (($$055) + 10)|0; $69 = (($2) + ($68)|0); $70 = HEAP8[$69>>0]|0; $71 = $70&255; $72 = $71 << 8; $73 = (($$055) + 11)|0; $74 = (($2) + ($73)|0); $75 = HEAP8[$74>>0]|0; $76 = $75&255; $77 = $76 << 16; $78 = $72 | $67; $79 = $78 | $77; $80 = $79 | -16777216; $81 = $$05054 | 3; $82 = (($3) + ($81<<2)|0); HEAP32[$82>>2] = $80; $83 = (($$05054) + 4)|0; $84 = (($$055) + 12)|0; $85 = ($83|0)<($4|0); if ($85) { $$05054 = $83;$$055 = $84; } else { break; } } $86 = $0 & -4; $87 = (($8) + 12)|0; $$0$lcssa = $87;$$050$lcssa = $86; } else { $$0$lcssa = 0;$$050$lcssa = 0; } $88 = ($$050$lcssa|0)<($0|0); if (!($88)) { return; } $$15152 = $$050$lcssa;$$153 = $$0$lcssa; while(1) { $89 = (($2) + ($$153)|0); $90 = HEAP8[$89>>0]|0; $91 = $90&255; $92 = (($$153) + 1)|0; $93 = (($2) + ($92)|0); $94 = HEAP8[$93>>0]|0; $95 = $94&255; $96 = $95 << 8; $97 = (($$153) + 2)|0; $98 = (($2) + ($97)|0); $99 = HEAP8[$98>>0]|0; $100 = $99&255; $101 = $100 << 16; $102 = $96 | $91; $103 = $102 | $101; $104 = $103 | -16777216; $105 = (($3) + ($$15152<<2)|0); HEAP32[$105>>2] = $104; $106 = (($$15152) + 1)|0; $107 = (($$153) + 3)|0; $exitcond = ($106|0)==($0|0); if ($exitcond) { break; } else { $$15152 = $106;$$153 = $107; } } return; } function _Png_Expand_GRAYSCALE_A_16($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$012 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0; var sp = 0; sp = STACKTOP; $4 = ($0|0)>(0); if (!($4)) { return; } $$012 = 0; while(1) { $5 = $$012 << 2; $6 = (($2) + ($5)|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; $9 = $8 << 8; $10 = $9 | $8; $11 = $8 << 16; $12 = $10 | $11; $13 = $5 | 2; $14 = (($2) + ($13)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = $16 << 24; $18 = $12 | $17; $19 = (($3) + ($$012<<2)|0); HEAP32[$19>>2] = $18; $20 = (($$012) + 1)|0; $exitcond = ($20|0)==($0|0); if ($exitcond) { break; } else { $$012 = $20; } } return; } function _Png_Expand_GRAYSCALE_A_8($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0$lcssa = 0, $$055$lcssa = 0, $$05559 = 0, $$060 = 0, $$15657 = 0, $$158 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $4 = $0 & -4; $5 = ($4|0)>(0); if ($5) { $6 = (($4) + 2147483647)|0; $7 = (2)?($6 >>> 2):($6); $8 = $7 << 3; $$05559 = 0;$$060 = 0; while(1) { $9 = (($2) + ($$060)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 << 8; $13 = $12 | $11; $14 = $11 << 16; $15 = $13 | $14; $16 = $$060 | 1; $17 = (($2) + ($16)|0); $18 = HEAP8[$17>>0]|0; $19 = $18&255; $20 = $19 << 24; $21 = $15 | $20; $22 = (($3) + ($$05559<<2)|0); HEAP32[$22>>2] = $21; $23 = $$060 | 2; $24 = (($2) + ($23)|0); $25 = HEAP8[$24>>0]|0; $26 = $25&255; $27 = $26 << 8; $28 = $27 | $26; $29 = $26 << 16; $30 = $28 | $29; $31 = $$060 | 3; $32 = (($2) + ($31)|0); $33 = HEAP8[$32>>0]|0; $34 = $33&255; $35 = $34 << 24; $36 = $30 | $35; $37 = $$05559 | 1; $38 = (($3) + ($37<<2)|0); HEAP32[$38>>2] = $36; $39 = $$060 | 4; $40 = (($2) + ($39)|0); $41 = HEAP8[$40>>0]|0; $42 = $41&255; $43 = $42 << 8; $44 = $43 | $42; $45 = $42 << 16; $46 = $44 | $45; $47 = $$060 | 5; $48 = (($2) + ($47)|0); $49 = HEAP8[$48>>0]|0; $50 = $49&255; $51 = $50 << 24; $52 = $46 | $51; $53 = $$05559 | 2; $54 = (($3) + ($53<<2)|0); HEAP32[$54>>2] = $52; $55 = $$060 | 6; $56 = (($2) + ($55)|0); $57 = HEAP8[$56>>0]|0; $58 = $57&255; $59 = $58 << 8; $60 = $59 | $58; $61 = $58 << 16; $62 = $60 | $61; $63 = $$060 | 7; $64 = (($2) + ($63)|0); $65 = HEAP8[$64>>0]|0; $66 = $65&255; $67 = $66 << 24; $68 = $62 | $67; $69 = $$05559 | 3; $70 = (($3) + ($69<<2)|0); HEAP32[$70>>2] = $68; $71 = (($$05559) + 4)|0; $72 = (($$060) + 8)|0; $73 = ($71|0)<($4|0); if ($73) { $$05559 = $71;$$060 = $72; } else { break; } } $74 = $0 & -4; $75 = (($8) + 8)|0; $$0$lcssa = $75;$$055$lcssa = $74; } else { $$0$lcssa = 0;$$055$lcssa = 0; } $76 = ($$055$lcssa|0)<($0|0); if (!($76)) { return; } $$15657 = $$055$lcssa;$$158 = $$0$lcssa; while(1) { $77 = (($2) + ($$158)|0); $78 = HEAP8[$77>>0]|0; $79 = $78&255; $80 = $79 << 8; $81 = $80 | $79; $82 = $79 << 16; $83 = $81 | $82; $84 = $$158 | 1; $85 = (($2) + ($84)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; $88 = $87 << 24; $89 = $83 | $88; $90 = (($3) + ($$15657<<2)|0); HEAP32[$90>>2] = $89; $91 = (($$15657) + 1)|0; $92 = (($$158) + 2)|0; $exitcond = ($91|0)==($0|0); if ($exitcond) { break; } else { $$15657 = $91;$$158 = $92; } } return; } function _Png_Expand_RGB_A_16($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$01617 = 0, $$018 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ($0|0)>(0); if (!($4)) { return; } $$01617 = 0;$$018 = 0; while(1) { $5 = (($2) + ($$018)|0); $6 = HEAP8[$5>>0]|0; $7 = $6&255; $8 = $$018 | 2; $9 = (($2) + ($8)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 << 8; $13 = $12 | $7; $14 = $$018 | 4; $15 = (($2) + ($14)|0); $16 = HEAP8[$15>>0]|0; $17 = $16&255; $18 = $17 << 16; $19 = $13 | $18; $20 = $$018 | 6; $21 = (($2) + ($20)|0); $22 = HEAP8[$21>>0]|0; $23 = $22&255; $24 = $23 << 24; $25 = $19 | $24; $26 = (($3) + ($$01617<<2)|0); HEAP32[$26>>2] = $25; $27 = (($$01617) + 1)|0; $28 = (($$018) + 8)|0; $exitcond = ($27|0)==($0|0); if ($exitcond) { break; } else { $$01617 = $27;$$018 = $28; } } return; } function _Png_Expand_RGB_A_8($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0$lcssa = 0, $$060$lcssa = 0, $$06064 = 0, $$065 = 0, $$16162 = 0, $$163 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; var $130 = 0, $131 = 0, $132 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0; var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $4 = $0 & -4; $5 = ($4|0)>(0); if ($5) { $6 = (($4) + 1073741823)|0; $7 = (2)?($6 >>> 2):($6); $8 = $7 << 4; $$06064 = 0;$$065 = 0; while(1) { $9 = (($2) + ($$065)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $$065 | 1; $13 = (($2) + ($12)|0); $14 = HEAP8[$13>>0]|0; $15 = $14&255; $16 = $15 << 8; $17 = $16 | $11; $18 = $$065 | 2; $19 = (($2) + ($18)|0); $20 = HEAP8[$19>>0]|0; $21 = $20&255; $22 = $21 << 16; $23 = $17 | $22; $24 = $$065 | 3; $25 = (($2) + ($24)|0); $26 = HEAP8[$25>>0]|0; $27 = $26&255; $28 = $27 << 24; $29 = $23 | $28; $30 = (($3) + ($$06064<<2)|0); HEAP32[$30>>2] = $29; $31 = $$065 | 4; $32 = (($2) + ($31)|0); $33 = HEAP8[$32>>0]|0; $34 = $33&255; $35 = $$065 | 5; $36 = (($2) + ($35)|0); $37 = HEAP8[$36>>0]|0; $38 = $37&255; $39 = $38 << 8; $40 = $39 | $34; $41 = $$065 | 6; $42 = (($2) + ($41)|0); $43 = HEAP8[$42>>0]|0; $44 = $43&255; $45 = $44 << 16; $46 = $40 | $45; $47 = $$065 | 7; $48 = (($2) + ($47)|0); $49 = HEAP8[$48>>0]|0; $50 = $49&255; $51 = $50 << 24; $52 = $46 | $51; $53 = $$06064 | 1; $54 = (($3) + ($53<<2)|0); HEAP32[$54>>2] = $52; $55 = $$065 | 8; $56 = (($2) + ($55)|0); $57 = HEAP8[$56>>0]|0; $58 = $57&255; $59 = $$065 | 9; $60 = (($2) + ($59)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $63 = $62 << 8; $64 = $63 | $58; $65 = $$065 | 10; $66 = (($2) + ($65)|0); $67 = HEAP8[$66>>0]|0; $68 = $67&255; $69 = $68 << 16; $70 = $64 | $69; $71 = $$065 | 11; $72 = (($2) + ($71)|0); $73 = HEAP8[$72>>0]|0; $74 = $73&255; $75 = $74 << 24; $76 = $70 | $75; $77 = $$06064 | 2; $78 = (($3) + ($77<<2)|0); HEAP32[$78>>2] = $76; $79 = $$065 | 12; $80 = (($2) + ($79)|0); $81 = HEAP8[$80>>0]|0; $82 = $81&255; $83 = $$065 | 13; $84 = (($2) + ($83)|0); $85 = HEAP8[$84>>0]|0; $86 = $85&255; $87 = $86 << 8; $88 = $87 | $82; $89 = $$065 | 14; $90 = (($2) + ($89)|0); $91 = HEAP8[$90>>0]|0; $92 = $91&255; $93 = $92 << 16; $94 = $88 | $93; $95 = $$065 | 15; $96 = (($2) + ($95)|0); $97 = HEAP8[$96>>0]|0; $98 = $97&255; $99 = $98 << 24; $100 = $94 | $99; $101 = $$06064 | 3; $102 = (($3) + ($101<<2)|0); HEAP32[$102>>2] = $100; $103 = (($$06064) + 4)|0; $104 = (($$065) + 16)|0; $105 = ($103|0)<($4|0); if ($105) { $$06064 = $103;$$065 = $104; } else { break; } } $106 = $0 & -4; $107 = (($8) + 16)|0; $$0$lcssa = $107;$$060$lcssa = $106; } else { $$0$lcssa = 0;$$060$lcssa = 0; } $108 = ($$060$lcssa|0)<($0|0); if (!($108)) { return; } $$16162 = $$060$lcssa;$$163 = $$0$lcssa; while(1) { $109 = (($2) + ($$163)|0); $110 = HEAP8[$109>>0]|0; $111 = $110&255; $112 = $$163 | 1; $113 = (($2) + ($112)|0); $114 = HEAP8[$113>>0]|0; $115 = $114&255; $116 = $115 << 8; $117 = $116 | $111; $118 = $$163 | 2; $119 = (($2) + ($118)|0); $120 = HEAP8[$119>>0]|0; $121 = $120&255; $122 = $121 << 16; $123 = $117 | $122; $124 = $$163 | 3; $125 = (($2) + ($124)|0); $126 = HEAP8[$125>>0]|0; $127 = $126&255; $128 = $127 << 24; $129 = $123 | $128; $130 = (($3) + ($$16162<<2)|0); HEAP32[$130>>2] = $129; $131 = (($$16162) + 1)|0; $132 = (($$163) + 4)|0; $exitcond = ($131|0)==($0|0); if ($exitcond) { break; } else { $$16162 = $131;$$163 = $132; } } return; } function _Png_Expand_INDEXED_8($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0$lcssa = 0, $$032 = 0, $$131 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0, $6 = 0; var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $4 = $0 & -4; $5 = ($4|0)>(0); if ($5) { $$032 = 0; while(1) { $6 = (($2) + ($$032)|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; $9 = (($1) + ($8<<2)|0); $10 = HEAP32[$9>>2]|0; $11 = (($3) + ($$032<<2)|0); HEAP32[$11>>2] = $10; $12 = $$032 | 1; $13 = (($2) + ($12)|0); $14 = HEAP8[$13>>0]|0; $15 = $14&255; $16 = (($1) + ($15<<2)|0); $17 = HEAP32[$16>>2]|0; $18 = (($3) + ($12<<2)|0); HEAP32[$18>>2] = $17; $19 = $$032 | 2; $20 = (($2) + ($19)|0); $21 = HEAP8[$20>>0]|0; $22 = $21&255; $23 = (($1) + ($22<<2)|0); $24 = HEAP32[$23>>2]|0; $25 = (($3) + ($19<<2)|0); HEAP32[$25>>2] = $24; $26 = $$032 | 3; $27 = (($2) + ($26)|0); $28 = HEAP8[$27>>0]|0; $29 = $28&255; $30 = (($1) + ($29<<2)|0); $31 = HEAP32[$30>>2]|0; $32 = (($3) + ($26<<2)|0); HEAP32[$32>>2] = $31; $33 = (($$032) + 4)|0; $34 = ($33|0)<($4|0); if ($34) { $$032 = $33; } else { break; } } $35 = $0 & -4; $$0$lcssa = $35; } else { $$0$lcssa = 0; } $36 = ($$0$lcssa|0)<($0|0); if (!($36)) { return; } $$131 = $$0$lcssa; while(1) { $37 = (($2) + ($$131)|0); $38 = HEAP8[$37>>0]|0; $39 = $38&255; $40 = (($1) + ($39<<2)|0); $41 = HEAP32[$40>>2]|0; $42 = (($3) + ($$131<<2)|0); HEAP32[$42>>2] = $41; $43 = (($$131) + 1)|0; $exitcond = ($43|0)==($0|0); if ($exitcond) { break; } else { $$131 = $43; } } return; } function _Png_Expand_INDEXED_4($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0$lcssa = 0, $$025$lcssa = 0, $$02527 = 0, $$028 = 0, $$126 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond34 = 0; var label = 0, sp = 0; sp = STACKTOP; $4 = $0 & -2; $5 = ($4|0)>(0); if ($5) { $6 = (($4) + -1)|0; $7 = (1)?($6 >>> 1):($6); $8 = (($7) + 1)|0; $$02527 = 0;$$028 = 0; while(1) { $9 = (($2) + ($$02527)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = (4)?($11 >>> 4):($11); $13 = (($1) + ($12<<2)|0); $14 = HEAP32[$13>>2]|0; $15 = (($3) + ($$028<<2)|0); HEAP32[$15>>2] = $14; $16 = $11 & 15; $17 = (($1) + ($16<<2)|0); $18 = HEAP32[$17>>2]|0; $19 = $$028 | 1; $20 = (($3) + ($19<<2)|0); HEAP32[$20>>2] = $18; $21 = (($$028) + 2)|0; $22 = (($$02527) + 1)|0; $exitcond34 = ($22|0)==($8|0); if ($exitcond34) { break; } else { $$02527 = $22;$$028 = $21; } } $23 = $0 & -2; $$0$lcssa = $23;$$025$lcssa = $8; } else { $$0$lcssa = 0;$$025$lcssa = 0; } $24 = ($$0$lcssa|0)<($0|0); if (!($24)) { return; } $25 = (($2) + ($$025$lcssa)|0); $$126 = $$0$lcssa; while(1) { $26 = HEAP8[$25>>0]|0; $27 = $26&255; $28 = $$126 << 2; $29 = $28 & 4; $30 = $29 ^ 4; $31 = ($30)?($27 >>> $30):($27); $32 = $31 & 15; $33 = (($1) + ($32<<2)|0); $34 = HEAP32[$33>>2]|0; $35 = (($3) + ($$126<<2)|0); HEAP32[$35>>2] = $34; $36 = (($$126) + 1)|0; $exitcond = ($36|0)==($0|0); if ($exitcond) { break; } else { $$126 = $36; } } return; } function _Png_Expand_INDEXED_2($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$09 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ($0|0)>(0); if (!($4)) { return; } $$09 = 0; while(1) { $5 = (2)?($$09 >>> 2):($$09); $6 = (($2) + ($5)|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; $9 = $$09 << 1; $10 = $9 & 6; $11 = $10 ^ 6; $12 = ($11)?($8 >>> $11):($8); $13 = $12 & 3; $14 = (($1) + ($13<<2)|0); $15 = HEAP32[$14>>2]|0; $16 = (($3) + ($$09<<2)|0); HEAP32[$16>>2] = $15; $17 = (($$09) + 1)|0; $exitcond = ($17|0)==($0|0); if ($exitcond) { break; } else { $$09 = $17; } } return; } function _Png_Expand_GRAYSCALE_16($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$010 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ($0|0)>(0); if (!($4)) { return; } $$010 = 0; while(1) { $5 = $$010 << 1; $6 = (($2) + ($5)|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; $9 = $8 << 8; $10 = $8 << 16; $11 = $9 | $8; $12 = $11 | $10; $13 = $12 | -16777216; $14 = (($3) + ($$010<<2)|0); HEAP32[$14>>2] = $13; $15 = (($$010) + 1)|0; $exitcond = ($15|0)==($0|0); if ($exitcond) { break; } else { $$010 = $15; } } return; } function _Png_Expand_GRAYSCALE_8($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0$lcssa = 0, $$042 = 0, $$141 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0; var sp = 0; sp = STACKTOP; $4 = $0 & -4; $5 = ($4|0)>(0); if ($5) { $$042 = 0; while(1) { $6 = (($2) + ($$042)|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; $9 = $8 << 8; $10 = $8 << 16; $11 = $9 | $8; $12 = $11 | $10; $13 = $12 | -16777216; $14 = (($3) + ($$042<<2)|0); HEAP32[$14>>2] = $13; $15 = $$042 | 1; $16 = (($2) + ($15)|0); $17 = HEAP8[$16>>0]|0; $18 = $17&255; $19 = $18 << 8; $20 = $18 << 16; $21 = $19 | $18; $22 = $21 | $20; $23 = $22 | -16777216; $24 = (($3) + ($15<<2)|0); HEAP32[$24>>2] = $23; $25 = $$042 | 2; $26 = (($2) + ($25)|0); $27 = HEAP8[$26>>0]|0; $28 = $27&255; $29 = $28 << 8; $30 = $28 << 16; $31 = $29 | $28; $32 = $31 | $30; $33 = $32 | -16777216; $34 = (($3) + ($25<<2)|0); HEAP32[$34>>2] = $33; $35 = $$042 | 3; $36 = (($2) + ($35)|0); $37 = HEAP8[$36>>0]|0; $38 = $37&255; $39 = $38 << 8; $40 = $38 << 16; $41 = $39 | $38; $42 = $41 | $40; $43 = $42 | -16777216; $44 = (($3) + ($35<<2)|0); HEAP32[$44>>2] = $43; $45 = (($$042) + 4)|0; $46 = ($45|0)<($4|0); if ($46) { $$042 = $45; } else { break; } } $47 = $0 & -4; $$0$lcssa = $47; } else { $$0$lcssa = 0; } $48 = ($$0$lcssa|0)<($0|0); if (!($48)) { return; } $$141 = $$0$lcssa; while(1) { $49 = (($2) + ($$141)|0); $50 = HEAP8[$49>>0]|0; $51 = $50&255; $52 = $51 << 8; $53 = $51 << 16; $54 = $52 | $51; $55 = $54 | $53; $56 = $55 | -16777216; $57 = (($3) + ($$141<<2)|0); HEAP32[$57>>2] = $56; $58 = (($$141) + 1)|0; $exitcond = ($58|0)==($0|0); if ($exitcond) { break; } else { $$141 = $58; } } return; } function _Png_Expand_GRAYSCALE_4($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0$lcssa = 0, $$031$lcssa = 0, $$03133 = 0, $$034 = 0, $$132 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond40 = 0, $mulconv = 0, label = 0, sp = 0; sp = STACKTOP; $4 = $0 & -2; $5 = ($4|0)>(0); if ($5) { $6 = (($4) + -1)|0; $7 = (1)?($6 >>> 1):($6); $8 = (($7) + 1)|0; $$03133 = 0;$$034 = 0; while(1) { $9 = (($2) + ($$034)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = (4)?($11 >>> 4):($11); $13 = ($12*17)|0; $14 = $13 & 255; $15 = $14 << 8; $16 = $14 << 16; $17 = $14 | $15; $18 = $17 | $16; $19 = $18 | -16777216; $20 = (($3) + ($$03133<<2)|0); HEAP32[$20>>2] = $19; $21 = HEAP8[$9>>0]|0; $22 = $21 & 15; $mulconv = ($22*17)|0; $23 = $mulconv&255; $24 = $23 << 8; $25 = $23 << 16; $26 = $24 | $23; $27 = $26 | $25; $28 = $27 | -16777216; $29 = $$03133 | 1; $30 = (($3) + ($29<<2)|0); HEAP32[$30>>2] = $28; $31 = (($$03133) + 2)|0; $32 = (($$034) + 1)|0; $exitcond40 = ($32|0)==($8|0); if ($exitcond40) { break; } else { $$03133 = $31;$$034 = $32; } } $33 = $0 & -2; $$0$lcssa = $8;$$031$lcssa = $33; } else { $$0$lcssa = 0;$$031$lcssa = 0; } $34 = ($$031$lcssa|0)<($0|0); if (!($34)) { return; } $35 = (($2) + ($$0$lcssa)|0); $$132 = $$031$lcssa; while(1) { $36 = HEAP8[$35>>0]|0; $37 = $36&255; $38 = $$132 << 2; $39 = $38 & 4; $40 = $39 ^ 4; $41 = ($40)?($37 >>> $40):($37); $42 = $41 & 15; $43 = ($42*17)|0; $44 = $43 & 255; $45 = $44 << 8; $46 = Math_imul($42, 1114112)|0; $47 = $46 | $44; $48 = $47 | $45; $49 = $48 | -16777216; $50 = (($3) + ($$132<<2)|0); HEAP32[$50>>2] = $49; $51 = (($$132) + 1)|0; $exitcond = ($51|0)==($0|0); if ($exitcond) { break; } else { $$132 = $51; } } return; } function _Png_Expand_GRAYSCALE_2($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$011 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ($0|0)>(0); if (!($4)) { return; } $$011 = 0; while(1) { $5 = (2)?($$011 >>> 2):($$011); $6 = (($2) + ($5)|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; $9 = $$011 << 1; $10 = $9 & 6; $11 = $10 ^ 6; $12 = ($11)?($8 >>> $11):($8); $13 = $12 & 3; $14 = ($13*85)|0; $15 = $14 & 255; $16 = $15 << 8; $17 = Math_imul($13, 5570560)|0; $18 = $17 | $15; $19 = $18 | $16; $20 = $19 | -16777216; $21 = (($3) + ($$011<<2)|0); HEAP32[$21>>2] = $20; $22 = (($$011) + 1)|0; $exitcond = ($22|0)==($0|0); if ($exitcond) { break; } else { $$011 = $22; } } return; } function _Png_Expand_GRAYSCALE_1($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$011 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0; var label = 0, sp = 0; sp = STACKTOP; $4 = ($0|0)>(0); if (!($4)) { return; } $$011 = 0; while(1) { $5 = (3)?($$011 >>> 3):($$011); $6 = (($2) + ($5)|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; $9 = $$011 & 7; $10 = $9 ^ 7; $11 = ($10)?($8 >>> $10):($8); $12 = $11 & 1; $13 = (0 - ($12))|0; $14 = $13 & 255; $15 = $14 << 8; $16 = $14 << 16; $17 = $14 | $15; $18 = $17 | $16; $19 = $18 | -16777216; $20 = (($3) + ($$011<<2)|0); HEAP32[$20>>2] = $19; $21 = (($$011) + 1)|0; $exitcond = ($21|0)==($0|0); if ($exitcond) { break; } else { $$011 = $21; } } return; } function _Png_Expand_INDEXED_1($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$09 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ($0|0)>(0); if (!($4)) { return; } $$09 = 0; while(1) { $5 = (3)?($$09 >>> 3):($$09); $6 = (($2) + ($5)|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; $9 = $$09 & 7; $10 = $9 ^ 7; $11 = ($10)?($8 >>> $10):($8); $12 = $11 & 1; $13 = (($1) + ($12<<2)|0); $14 = HEAP32[$13>>2]|0; $15 = (($3) + ($$09<<2)|0); HEAP32[$15>>2] = $14; $16 = (($$09) + 1)|0; $exitcond = ($16|0)==($0|0); if ($exitcond) { break; } else { $$09 = $16; } } return; } function _Blocks_Init() { var label = 0, sp = 0; sp = STACKTOP; _memset(((634116)|0),1,1536)|0; HEAP8[1408207] = 1; _Blocks_Reset(); _Event_Register(1250296,0,270); HEAP8[(634116)>>0] = 0; HEAP8[(634884)>>0] = 0; ;HEAP8[(634123)>>0]=0|0;HEAP8[(634123)+1>>0]=0|0;HEAP8[(634123)+2>>0]=0|0;HEAP8[(634123)+3>>0]=0|0;HEAP8[(634123)+4>>0]=0|0; ;HEAP8[(634891)>>0]=0|0;HEAP8[(634891)+1>>0]=0|0;HEAP8[(634891)+2>>0]=0|0;HEAP8[(634891)+3>>0]=0|0;HEAP8[(634891)+4>>0]=0|0; return; } function _Blocks_Free() { var label = 0, sp = 0; sp = STACKTOP; _Event_Unregister(1250296,0,270); return; } function _Blocks_Reset() { var $$010 = 0, $0 = 0, $1 = 0, $exitcond = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; dest=40752; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $$010 = 0; while(1) { $0 = $$010&65535; _Block_ResetProps($0); $1 = (($$010) + 1)|0; $exitcond = ($1|0)==(768); if ($exitcond) { break; } else { $$010 = $1; } } _Block_UpdateAllCulling(); _Block_RecalculateAllSpriteBB(); return; } function _Block_ResetProps($0) { $0 = $0|0; var $$sink = 0.0, $$sink48 = 0.0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; var $26 = 0, $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; _Block_DefaultName($1,$0); $2 = (_DefaultSet_BlocksLight($0)|0); $3 = $0&65535; $4 = (570372 + ($3)|0); HEAP8[$4>>0] = $2; $5 = (_DefaultSet_FullBright($0)|0); $6 = (571140 + ($3)|0); HEAP8[$6>>0] = $5; $7 = (_DefaultSet_FogColour($0)|0); $8 = (571908 + ($3<<2)|0); HEAP32[$8>>2] = $7; $9 = (+_DefaultSet_FogDensity($0)); $10 = (574980 + ($3<<2)|0); HEAPF32[$10>>2] = $9; $11 = (_DefaultSet_Collide($0)|0); _Block_SetCollide($0,$11); $12 = (_DefaultSet_DigSound($0)|0); $13 = (584196 + ($3)|0); HEAP8[$13>>0] = $12; $14 = (_DefaultSet_StepSound($0)|0); $15 = (584964 + ($3)|0); HEAP8[$15>>0] = $14; $16 = (579588 + ($3<<2)|0); HEAPF32[$16>>2] = 1.0; _Block_SetName($0,$1); $17 = (585732 + ($3)|0); HEAP8[$17>>0] = 0; $18 = (587268 + ($3)|0); HEAP8[$18>>0] = 0; $19 = (_DefaultSet_Draw($0)|0); $20 = (583428 + ($3)|0); HEAP8[$20>>0] = $19; $21 = ($19<<24>>24)==(5); $22 = (588036 + (($3*12)|0)|0); if ($21) { HEAPF32[$22>>2] = 0.15625; $23 = (((588036 + (($3*12)|0)|0)) + 4|0); HEAPF32[$23>>2] = 0.0; $24 = (((588036 + (($3*12)|0)|0)) + 8|0); HEAPF32[$24>>2] = 0.15625; $25 = (597252 + (($3*12)|0)|0); HEAPF32[$25>>2] = 0.84375; $$sink = 0.84375;$$sink48 = 1.0; } else { HEAPF32[$22>>2] = 0.0; $26 = (((588036 + (($3*12)|0)|0)) + 4|0); HEAPF32[$26>>2] = 0.0; $27 = (((588036 + (($3*12)|0)|0)) + 8|0); HEAPF32[$27>>2] = 0.0; $28 = (597252 + (($3*12)|0)|0); HEAPF32[$28>>2] = 1.0; $29 = (+_DefaultSet_Height($0)); $$sink = 1.0;$$sink48 = $29; } $30 = (((597252 + (($3*12)|0)|0)) + 4|0); HEAPF32[$30>>2] = $$sink48; $31 = (((597252 + (($3*12)|0)|0)) + 8|0); HEAPF32[$31>>2] = $$sink; _Block_SetDrawType($0,$19); _Block_CalcRenderBounds($0); _Block_CalcLightOffset($0); $32 = ($0&65535)>(65); if ($32) { $33 = ($3*6)|0; $34 = (($33) + 5)|0; $35 = (624900 + ($34<<1)|0); HEAP16[$35>>1] = 0; $36 = (($33) + 4)|0; $37 = (624900 + ($36<<1)|0); HEAP16[$37>>1] = 0; _Block_SetSide(0,$0); STACKTOP = sp;return; } else { $38 = (96 + ($3)|0); $39 = HEAP8[$38>>0]|0; $40 = $39&255; $41 = ($3*6)|0; $42 = (($41) + 5)|0; $43 = (624900 + ($42<<1)|0); HEAP16[$43>>1] = $40; $44 = (176 + ($3)|0); $45 = HEAP8[$44>>0]|0; $46 = $45&255; $47 = (($41) + 4)|0; $48 = (624900 + ($47<<1)|0); HEAP16[$48>>1] = $46; $49 = (256 + ($3)|0); $50 = HEAP8[$49>>0]|0; $51 = $50&255; _Block_SetSide($51,$0); STACKTOP = sp;return; } } function _Block_UpdateAllCulling() { var $$010 = 0, $$0911 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $exitcond = 0, $exitcond12 = 0, label = 0, sp = 0; sp = STACKTOP; $$0911 = 0; while(1) { $0 = $$0911&65535; _Block_CalcStretch($0); $$010 = 0; while(1) { $1 = $$010&65535; _Block_CalcCulling($0,$1); $2 = (($$010) + 1)|0; $exitcond = ($2|0)==(768); if ($exitcond) { break; } else { $$010 = $2; } } $3 = (($$0911) + 1)|0; $exitcond12 = ($3|0)==(768); if ($exitcond12) { break; } else { $$0911 = $3; } } return; } function _Block_RecalculateAllSpriteBB() { var $$05 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $$05 = 0; while(1) { $0 = (583428 + ($$05)|0); $1 = HEAP8[$0>>0]|0; $2 = ($1<<24>>24)==(5); if ($2) { $3 = $$05&65535; _Block_RecalculateBB($3); } $4 = (($$05) + 1)|0; $exitcond = ($4|0)==(768); if ($exitcond) { break; } else { $$05 = $4; } } return; } function _Block_RecalculateBB($0) { $0 = $0|0; var $$0 = 0.0, $$043 = 0.0, $$044 = 0.0, $$045 = 0.0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0, $3 = 0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0.0, $phitmp46 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $1 = sp + 48|0; $2 = sp + 36|0; $3 = sp + 24|0; $4 = sp + 12|0; $5 = sp; $6 = HEAP32[(1386720)>>2]|0; $7 = $0&65535; $8 = ($7*6)|0; $9 = $8 | 1; $10 = (624900 + ($9<<1)|0); $11 = HEAP16[$10>>1]|0; $12 = $11&65535; $13 = $12 & 15; $14 = (4)?($12 >>> 4):($12); ;HEAP32[$1>>2]=HEAP32[10636>>2]|0;HEAP32[$1+4>>2]=HEAP32[10636+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[10636+8>>2]|0; $15 = HEAP32[(1386724)>>2]|0; $16 = ($14|0)<($15|0); if ($16) { $17 = (+_Block_GetSpriteBB_MinX($6,$13,$14)); $18 = (+_Block_GetSpriteBB_MinY($6,$13,$14)); $19 = (+_Block_GetSpriteBB_MaxX($6,$13,$14)); $20 = (+_Block_GetSpriteBB_MaxY($6,$13,$14)); $phitmp = $17 + -0.5; $phitmp46 = $19 + -0.5; $$0 = $20;$$043 = $phitmp46;$$044 = $18;$$045 = $phitmp; } else { $$0 = 1.0;$$043 = 0.5;$$044 = 0.0;$$045 = -0.5; } _Vec3_RotateY3($4,$$045,$$044,0.0,0.78539818525314331); ;HEAP32[$2>>2]=HEAP32[$4>>2]|0;HEAP32[$2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$4+8>>2]|0; _Vec3_RotateY3($5,$$043,$$0,0.0,0.78539818525314331); ;HEAP32[$3>>2]=HEAP32[$5>>2]|0;HEAP32[$3+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$5+8>>2]|0; $21 = (588036 + (($7*12)|0)|0); _Vec3_Add($21,$2,$1); $22 = (597252 + (($7*12)|0)|0); _Vec3_Add($22,$3,$1); _Block_CalcRenderBounds($0); STACKTOP = sp;return; } function _Block_GetSpriteBB_MinX($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$02 = 0, $$0223 = 0, $$023 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ($0|0)>(0); if (!($3)) { $$023 = 1.0; return (+$$023); } $4 = HEAP32[346677]|0; $5 = Math_imul($2, $0)|0; $6 = HEAP32[(1386712)>>2]|0; $7 = Math_imul($1, $0)|0; $$0223 = 0; L4: while(1) { $$02 = 0; while(1) { $10 = (($$02) + ($5))|0; $11 = Math_imul($6, $10)|0; $12 = (($4) + ($11<<2)|0); $13 = (($12) + ($7<<2)|0); $14 = (($13) + ($$0223<<2)|0); $15 = HEAP32[$14>>2]|0; $16 = ($15>>>0)>(16777215); $8 = (($$02) + 1)|0; if ($16) { break L4; } $9 = ($8|0)<($0|0); if ($9) { $$02 = $8; } else { break; } } $20 = (($$0223) + 1)|0; $21 = ($20|0)<($0|0); if ($21) { $$0223 = $20; } else { $$023 = 1.0; label = 8; break; } } if ((label|0) == 8) { return (+$$023); } $17 = (+($$0223|0)); $18 = (+($0|0)); $19 = $17 / $18; $$023 = $19; return (+$$023); } function _Block_GetSpriteBB_MinY($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$0222 = 0, $$023 = 0.0, $$05 = 0, $$05$in = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ($0|0)>(0); if (!($3)) { $$023 = 1.0; return (+$$023); } $4 = HEAP32[346677]|0; $5 = Math_imul($2, $0)|0; $6 = HEAP32[(1386712)>>2]|0; $7 = Math_imul($1, $0)|0; $$05$in = $0; L4: while(1) { $$05 = (($$05$in) + -1)|0; $8 = (($$05) + ($5))|0; $9 = Math_imul($6, $8)|0; $10 = (($4) + ($9<<2)|0); $11 = (($10) + ($7<<2)|0); $$0222 = 0; while(1) { $14 = (($11) + ($$0222<<2)|0); $15 = HEAP32[$14>>2]|0; $16 = ($15>>>0)>(16777215); $12 = (($$0222) + 1)|0; if ($16) { break L4; } $13 = ($12|0)<($0|0); if ($13) { $$0222 = $12; } else { break; } } $21 = ($$05$in|0)>(1); if ($21) { $$05$in = $$05; } else { $$023 = 1.0; label = 8; break; } } if ((label|0) == 8) { return (+$$023); } $17 = (+($$05$in|0)); $18 = (+($0|0)); $19 = $17 / $18; $20 = 1.0 - $19; $$023 = $20; return (+$$023); } function _Block_GetSpriteBB_MaxX($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$02 = 0, $$0225 = 0, $$0225$in = 0, $$023 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ($0|0)>(0); if (!($3)) { $$023 = 0.0; return (+$$023); } $4 = HEAP32[346677]|0; $5 = Math_imul($2, $0)|0; $6 = HEAP32[(1386712)>>2]|0; $7 = Math_imul($1, $0)|0; $$0225$in = $0; L4: while(1) { $$0225 = (($$0225$in) + -1)|0; $$02 = 0; while(1) { $10 = (($$02) + ($5))|0; $11 = Math_imul($6, $10)|0; $12 = (($4) + ($11<<2)|0); $13 = (($12) + ($7<<2)|0); $14 = (($13) + ($$0225<<2)|0); $15 = HEAP32[$14>>2]|0; $16 = ($15>>>0)>(16777215); $8 = (($$02) + 1)|0; if ($16) { break L4; } $9 = ($8|0)<($0|0); if ($9) { $$02 = $8; } else { break; } } $20 = ($$0225$in|0)>(1); if ($20) { $$0225$in = $$0225; } else { $$023 = 0.0; label = 8; break; } } if ((label|0) == 8) { return (+$$023); } $17 = (+($$0225$in|0)); $18 = (+($0|0)); $19 = $17 / $18; $$023 = $19; return (+$$023); } function _Block_GetSpriteBB_MaxY($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$0222 = 0, $$023 = 0.0, $$03 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ($0|0)>(0); if (!($3)) { $$023 = 0.0; return (+$$023); } $4 = HEAP32[346677]|0; $5 = Math_imul($2, $0)|0; $6 = HEAP32[(1386712)>>2]|0; $7 = Math_imul($1, $0)|0; $$03 = 0; L4: while(1) { $8 = (($$03) + ($5))|0; $9 = Math_imul($6, $8)|0; $10 = (($4) + ($9<<2)|0); $11 = (($10) + ($7<<2)|0); $$0222 = 0; while(1) { $14 = (($11) + ($$0222<<2)|0); $15 = HEAP32[$14>>2]|0; $16 = ($15>>>0)>(16777215); $12 = (($$0222) + 1)|0; if ($16) { break L4; } $13 = ($12|0)<($0|0); if ($13) { $$0222 = $12; } else { break; } } $21 = (($$03) + 1)|0; $22 = ($21|0)<($0|0); if ($22) { $$03 = $21; } else { $$023 = 0.0; label = 8; break; } } if ((label|0) == 8) { return (+$$023); } $17 = (+($$03|0)); $18 = (+($0|0)); $19 = $17 / $18; $20 = 1.0 - $19; $$023 = $20; return (+$$023); } function _Vec3_Add($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 + $4; HEAPF32[$0>>2] = $5; $6 = ((($1)) + 4|0); $7 = +HEAPF32[$6>>2]; $8 = ((($2)) + 4|0); $9 = +HEAPF32[$8>>2]; $10 = $7 + $9; $11 = ((($0)) + 4|0); HEAPF32[$11>>2] = $10; $12 = ((($1)) + 8|0); $13 = +HEAPF32[$12>>2]; $14 = ((($2)) + 8|0); $15 = +HEAPF32[$14>>2]; $16 = $13 + $15; $17 = ((($0)) + 8|0); HEAPF32[$17>>2] = $16; return; } function _Block_CalcRenderBounds($0) { $0 = $0|0; var $$sroa$0$0 = 0.0, $$sroa$0$0$$sroa_idx = 0, $$sroa$0$0$$sroa_idx2 = 0, $$sroa$0$0$copyload = 0.0, $$sroa$015$0 = 0.0, $$sroa$015$0$$sroa_idx = 0, $$sroa$015$0$$sroa_idx17 = 0, $$sroa$015$0$copyload = 0.0, $$sroa$12$0 = 0.0, $$sroa$12$0$$sroa_idx10 = 0, $$sroa$12$0$$sroa_idx11 = 0, $$sroa$12$0$copyload = 0.0, $$sroa$1226$0 = 0.0, $$sroa$1226$0$$sroa_idx27 = 0, $$sroa$1226$0$$sroa_idx28 = 0, $$sroa$1226$0$copyload = 0.0, $$sroa$8$0 = 0.0, $$sroa$8$0$$sroa_idx5 = 0, $$sroa$8$0$$sroa_idx6 = 0, $$sroa$8$0$copyload = 0.0; var $$sroa$820$0 = 0.0, $$sroa$820$0$$sroa_idx21 = 0, $$sroa$820$0$$sroa_idx22 = 0, $$sroa$820$0$copyload = 0.0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $3 = 0; var $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $spec$select = 0.0, $spec$select38 = 0.0, $spec$select39 = 0.0, $spec$select40 = 0.0, $spec$select41 = 0.0, $spec$select42 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = $0&65535; $$sroa$015$0$$sroa_idx = (588036 + (($1*12)|0)|0); $$sroa$015$0$copyload = +HEAPF32[$$sroa$015$0$$sroa_idx>>2]; $$sroa$820$0$$sroa_idx21 = (((588036 + (($1*12)|0)|0)) + 4|0); $$sroa$820$0$copyload = +HEAPF32[$$sroa$820$0$$sroa_idx21>>2]; $$sroa$1226$0$$sroa_idx27 = (((588036 + (($1*12)|0)|0)) + 8|0); $$sroa$1226$0$copyload = +HEAPF32[$$sroa$1226$0$$sroa_idx27>>2]; $$sroa$0$0$$sroa_idx = (597252 + (($1*12)|0)|0); $$sroa$0$0$copyload = +HEAPF32[$$sroa$0$0$$sroa_idx>>2]; $$sroa$8$0$$sroa_idx5 = (((597252 + (($1*12)|0)|0)) + 4|0); $$sroa$8$0$copyload = +HEAPF32[$$sroa$8$0$$sroa_idx5>>2]; $$sroa$12$0$$sroa_idx10 = (((597252 + (($1*12)|0)|0)) + 8|0); $$sroa$12$0$copyload = +HEAPF32[$$sroa$12$0$$sroa_idx10>>2]; $2 = (569604 + ($1)|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)==(0); if ($4) { $11 = (583428 + ($1)|0); $12 = HEAP8[$11>>0]|0; $13 = ($12<<24>>24)==(3); if ($13) { $14 = (578052 + ($1)|0); $15 = HEAP8[$14>>0]|0; $16 = ($15<<24>>24)==(2); $17 = $$sroa$015$0$copyload + 0.0062500000931322575; $18 = $$sroa$0$0$copyload + 0.0062500000931322575; $19 = $$sroa$1226$0$copyload + 0.0062500000931322575; $20 = $$sroa$12$0$copyload + 0.0062500000931322575; $21 = $$sroa$820$0$copyload + -0.0062500000931322575; $22 = $$sroa$8$0$copyload + -0.0062500000931322575; $spec$select = $16 ? $$sroa$1226$0$copyload : $19; $spec$select38 = $16 ? $$sroa$820$0$copyload : $21; $spec$select39 = $16 ? $$sroa$015$0$copyload : $17; $spec$select40 = $16 ? $$sroa$12$0$copyload : $20; $spec$select41 = $16 ? $$sroa$8$0$copyload : $22; $spec$select42 = $16 ? $$sroa$0$0$copyload : $18; $$sroa$0$0 = $spec$select42;$$sroa$015$0 = $spec$select39;$$sroa$12$0 = $spec$select40;$$sroa$1226$0 = $spec$select;$$sroa$8$0 = $spec$select41;$$sroa$820$0 = $spec$select38; } else { $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$015$0 = $$sroa$015$0$copyload;$$sroa$12$0 = $$sroa$12$0$copyload;$$sroa$1226$0 = $$sroa$1226$0$copyload;$$sroa$8$0 = $$sroa$8$0$copyload;$$sroa$820$0 = $$sroa$820$0$copyload; } } else { $5 = $$sroa$015$0$copyload + -0.0062500000931322575; $6 = $$sroa$0$0$copyload + -0.0062500000931322575; $7 = $$sroa$1226$0$copyload + -0.0062500000931322575; $8 = $$sroa$12$0$copyload + -0.0062500000931322575; $9 = $$sroa$820$0$copyload + -0.09375; $10 = $$sroa$8$0$copyload + -0.09375; $$sroa$0$0 = $6;$$sroa$015$0 = $5;$$sroa$12$0 = $8;$$sroa$1226$0 = $7;$$sroa$8$0 = $10;$$sroa$820$0 = $9; } $$sroa$015$0$$sroa_idx17 = (606468 + (($1*12)|0)|0); HEAPF32[$$sroa$015$0$$sroa_idx17>>2] = $$sroa$015$0; $$sroa$820$0$$sroa_idx22 = (((606468 + (($1*12)|0)|0)) + 4|0); HEAPF32[$$sroa$820$0$$sroa_idx22>>2] = $$sroa$820$0; $$sroa$1226$0$$sroa_idx28 = (((606468 + (($1*12)|0)|0)) + 8|0); HEAPF32[$$sroa$1226$0$$sroa_idx28>>2] = $$sroa$1226$0; $$sroa$0$0$$sroa_idx2 = (615684 + (($1*12)|0)|0); HEAPF32[$$sroa$0$0$$sroa_idx2>>2] = $$sroa$0$0; $$sroa$8$0$$sroa_idx6 = (((615684 + (($1*12)|0)|0)) + 4|0); HEAPF32[$$sroa$8$0$$sroa_idx6>>2] = $$sroa$8$0; $$sroa$12$0$$sroa_idx11 = (((615684 + (($1*12)|0)|0)) + 8|0); HEAPF32[$$sroa$12$0$$sroa_idx11>>2] = $$sroa$12$0; return; } function _Block_CalcStretch($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0.0, $4 = 0; var $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = $0&65535; $2 = (588036 + (($1*12)|0)|0); $3 = +HEAPF32[$2>>2]; $4 = $3 == 0.0; if ($4) { $5 = (597252 + (($1*12)|0)|0); $6 = +HEAPF32[$5>>2]; $7 = $6 == 1.0; if ($7) { $8 = (1225476 + ($1)|0); $9 = HEAP8[$8>>0]|0; $10 = $9 | 60; HEAP8[$8>>0] = $10; } else { label = 4; } } else { label = 4; } if ((label|0) == 4) { $11 = (1225476 + ($1)|0); $12 = HEAP8[$11>>0]|0; $13 = $12 & -61; HEAP8[$11>>0] = $13; } $14 = (((588036 + (($1*12)|0)|0)) + 8|0); $15 = +HEAPF32[$14>>2]; $16 = $15 == 0.0; if ($16) { $17 = (((597252 + (($1*12)|0)|0)) + 8|0); $18 = +HEAPF32[$17>>2]; $19 = $18 == 1.0; if ($19) { $20 = (1225476 + ($1)|0); $21 = HEAP8[$20>>0]|0; $22 = $21 | 3; HEAP8[$20>>0] = $22; return; } } $23 = (1225476 + ($1)|0); $24 = HEAP8[$23>>0]|0; $25 = $24 & -4; HEAP8[$23>>0] = $25; return; } function _Block_CalcCulling($0,$1) { $0 = $0|0; $1 = $1|0; var $$mux = 0, $$mux106107 = 0, $$not102 = 0, $$sink = 0, $$sink114 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$0$0$copyload = 0.0, $$sroa$028$0$$sroa_idx = 0, $$sroa$028$0$copyload = 0.0, $$sroa$041$0$$sroa_idx = 0, $$sroa$041$0$copyload = 0.0, $$sroa$056$0$$sroa_idx = 0, $$sroa$056$0$copyload = 0.0, $$sroa$11$0$$sroa_idx24 = 0, $$sroa$11$0$copyload = 0.0, $$sroa$1151$0$$sroa_idx52 = 0, $$sroa$1151$0$copyload = 0.0, $$sroa$6$0 = 0.0, $$sroa$6$0$$sroa_idx19 = 0, $$sroa$6$0$copyload = 0.0; var $$sroa$632$0$$sroa_idx33 = 0, $$sroa$632$0$copyload = 0.0, $$sroa$645$0$$sroa_idx46 = 0, $$sroa$645$0$copyload = 0.0, $$sroa$660$0$$sroa_idx61 = 0, $$sroa$660$0$copyload = 0.0, $$sroa$9$0$$sroa_idx37 = 0, $$sroa$9$0$copyload = 0.0, $$sroa$965$0$$sroa_idx66 = 0, $$sroa$965$0$copyload = 0.0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0; var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $brmerge = 0, $brmerge103 = 0, $narrow = 0, $narrow111 = 0, $narrow112 = 0, $not$ = 0, $not$or$cond91 = 0, $not$or$cond97 = 0, $or$cond = 0, $or$cond100 = 0, $or$cond101 = 0, $or$cond91 = 0, $or$cond93 = 0, $or$cond97 = 0, $or$cond98 = 0, $or$cond99 = 0; var $phitmp89 = 0, $phitmp89$pn = 0, $phitmp90 = 0, $spec$select = 0.0, $spec$select109 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (_Block_MightCull($0,$1)|0); $3 = ($2<<24>>24)==(0); $4 = $0&65535; if ($3) { $5 = ($4*768)|0; $6 = $1&65535; $7 = (($5) + ($6))|0; $$sink = 0;$$sink114 = $7; $55 = (635652 + ($$sink114)|0); HEAP8[$55>>0] = $$sink; return; } $$sroa$056$0$$sroa_idx = (588036 + (($4*12)|0)|0); $$sroa$056$0$copyload = +HEAPF32[$$sroa$056$0$$sroa_idx>>2]; $$sroa$660$0$$sroa_idx61 = (((588036 + (($4*12)|0)|0)) + 4|0); $$sroa$660$0$copyload = +HEAPF32[$$sroa$660$0$$sroa_idx61>>2]; $$sroa$965$0$$sroa_idx66 = (((588036 + (($4*12)|0)|0)) + 8|0); $$sroa$965$0$copyload = +HEAPF32[$$sroa$965$0$$sroa_idx66>>2]; $$sroa$041$0$$sroa_idx = (597252 + (($4*12)|0)|0); $$sroa$041$0$copyload = +HEAPF32[$$sroa$041$0$$sroa_idx>>2]; $$sroa$645$0$$sroa_idx46 = (((597252 + (($4*12)|0)|0)) + 4|0); $$sroa$645$0$copyload = +HEAPF32[$$sroa$645$0$$sroa_idx46>>2]; $$sroa$1151$0$$sroa_idx52 = (((597252 + (($4*12)|0)|0)) + 8|0); $$sroa$1151$0$copyload = +HEAPF32[$$sroa$1151$0$$sroa_idx52>>2]; $8 = $1&65535; $$sroa$028$0$$sroa_idx = (588036 + (($8*12)|0)|0); $$sroa$028$0$copyload = +HEAPF32[$$sroa$028$0$$sroa_idx>>2]; $$sroa$632$0$$sroa_idx33 = (((588036 + (($8*12)|0)|0)) + 4|0); $$sroa$632$0$copyload = +HEAPF32[$$sroa$632$0$$sroa_idx33>>2]; $$sroa$9$0$$sroa_idx37 = (((588036 + (($8*12)|0)|0)) + 8|0); $$sroa$9$0$copyload = +HEAPF32[$$sroa$9$0$$sroa_idx37>>2]; $$sroa$0$0$$sroa_idx = (597252 + (($8*12)|0)|0); $$sroa$0$0$copyload = +HEAPF32[$$sroa$0$0$$sroa_idx>>2]; $$sroa$6$0$$sroa_idx19 = (((597252 + (($8*12)|0)|0)) + 4|0); $$sroa$6$0$copyload = +HEAPF32[$$sroa$6$0$$sroa_idx19>>2]; $$sroa$11$0$$sroa_idx24 = (((597252 + (($8*12)|0)|0)) + 8|0); $$sroa$11$0$copyload = +HEAPF32[$$sroa$11$0$$sroa_idx24>>2]; $9 = (569604 + ($4)|0); $10 = HEAP8[$9>>0]|0; $11 = ($10<<24>>24)==(0); $12 = $$sroa$645$0$copyload + -0.09375; $spec$select = $11 ? $$sroa$645$0$copyload : $12; $13 = (569604 + ($8)|0); $14 = HEAP8[$13>>0]|0; $15 = ($14<<24>>24)==(0); $16 = $$sroa$6$0$copyload + -0.09375; $$sroa$6$0 = $15 ? $$sroa$6$0$copyload : $16; $17 = ($14<<24>>24)!=(0); $not$ = $11 ^ 1; $spec$select109 = $17 & $not$; $18 = !($$sroa$965$0$copyload >= $$sroa$9$0$copyload); $19 = !($$sroa$1151$0$copyload <= $$sroa$11$0$copyload); $or$cond = $18 | $19; $20 = !($$sroa$660$0$copyload >= $$sroa$632$0$copyload); $or$cond91 = $20 | $or$cond; $21 = $spec$select <= $$sroa$6$0; $not$or$cond91 = $or$cond91 ^ 1; $narrow = $21 & $not$or$cond91; $22 = !($$sroa$056$0$copyload >= $$sroa$028$0$copyload); $23 = !($$sroa$041$0$copyload <= $$sroa$0$0$copyload); $or$cond93 = $22 | $23; $brmerge = $18 | $or$cond93; $24 = !($$sroa$1151$0$copyload <= $$sroa$11$0$copyload); $or$cond97 = $20 | $or$cond93; $not$or$cond97 = $or$cond97 ^ 1; $narrow111 = $21 & $not$or$cond97; $25 = $$sroa$0$0$copyload == 1.0; $or$cond98 = $25 & $narrow; $26 = $$sroa$056$0$copyload == 0.0; $narrow112 = $26 & $or$cond98; $27 = $narrow112&1; $28 = $$sroa$028$0$copyload == 0.0; $or$cond99 = $28 & $narrow; $29 = $$sroa$041$0$copyload == 1.0; $30 = $29 & $or$cond99; $31 = $30 ? 2 : 0; $32 = $31 | $27; $33 = $$sroa$11$0$copyload == 1.0; $or$cond100 = $33 & $narrow111; $34 = $$sroa$965$0$copyload == 0.0; $35 = $34 & $or$cond100; $36 = $35 ? 4 : 0; $37 = $32 | $36; $38 = $$sroa$9$0$copyload == 0.0; $or$cond101 = $38 & $narrow111; $39 = $$sroa$1151$0$copyload == 1.0; $40 = $39 & $or$cond101; $41 = $40 ? 8 : 0; $42 = $37 | $41; $$not102 = $brmerge | $24; $brmerge103 = $$not102 | $spec$select109; if ($brmerge103) { $$mux = $$not102 ? 0 : 16; $$mux106107 = $$not102 ? 0 : 32; $51 = $$mux106107;$phitmp89$pn = $$mux; } else { $43 = $$sroa$6$0 == 1.0; $44 = $$sroa$660$0$copyload == 0.0; $45 = $44 & $43; $phitmp89 = $45 ? 16 : 0; $46 = $$sroa$632$0$copyload == 0.0; $47 = $spec$select == 1.0; $48 = $46 & $47; $phitmp90 = $48 ? 32 : 0; $51 = $phitmp90;$phitmp89$pn = $phitmp89; } $49 = $42 | $phitmp89$pn; $50 = $49 | $51; $52 = $50&255; $53 = ($4*768)|0; $54 = (($53) + ($8))|0; $$sink = $52;$$sink114 = $54; $55 = (635652 + ($$sink114)|0); HEAP8[$55>>0] = $$sink; return; } function _Block_MightCull($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $$0$shrunk = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond20 = 0, $switch = 0, $switch19 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = $0&65535; $3 = (583428 + ($2)|0); $4 = HEAP8[$3>>0]|0; $5 = ($4<<24>>24)==(5); do { if ($5) { $$0$shrunk = 0; } else { $6 = $0 & -2; $switch = ($6<<16>>16)==(8); $7 = $1 & -2; $switch19 = ($7<<16>>16)==(10); $or$cond = $switch & $switch19; if ($or$cond) { $$0$shrunk = 1; } else { $8 = $1&65535; $9 = ($0<<16>>16)==($1<<16>>16); if ($9) { $10 = ($4<<24>>24)!=(2); $$0$shrunk = $10; break; } $11 = (583428 + ($8)|0); $12 = HEAP8[$11>>0]|0; $13 = ($12<<24>>24)==(0); if ($13) { $14 = (569604 + ($8)|0); $15 = HEAP8[$14>>0]|0; $16 = ($15<<24>>24)==(0); $$0$shrunk = $16; break; } $17 = ($4<<24>>24)==(3); $18 = ($12<<24>>24)==(3); $or$cond20 = $17 & $18; if ($or$cond20) { $19 = (578052 + ($2)|0); $20 = HEAP8[$19>>0]|0; $21 = ($20<<24>>24)==(2); if ($21) { $22 = (578052 + ($8)|0); $23 = HEAP8[$22>>0]|0; $24 = ($23<<24>>24)==(2); if ($24) { $$0$shrunk = 1; break; } } $25 = ($20<<24>>24)!=(2); $$0$shrunk = $25; } else { $$0$shrunk = 0; } } } } while(0); $$0 = $$0$shrunk&1; return ($$0|0); } function _Block_DefaultName($0,$1) { $0 = $0|0; $1 = $1|0; var $$014$lcssa = 0, $$01516 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $2 = $1&65535; $3 = ($1&65535)>(65); if ($3) { $4 = 10512; $5 = $4; $6 = HEAP32[$5>>2]|0; $7 = (($4) + 4)|0; $8 = $7; $9 = HEAP32[$8>>2]|0; $10 = $0; $11 = $10; HEAP32[$11>>2] = $6; $12 = (($10) + 4)|0; $13 = $12; HEAP32[$13>>2] = $9; return; } $14 = ($1<<16>>16)==(0); $15 = (_String_IndexOfAt(10648,0,95)|0); if ($14) { $$014$lcssa = 0;$$lcssa = $15; } else { $$01516 = 0;$17 = $15; while(1) { $16 = (($17) + 1)|0; $18 = (($$01516) + 1)|0; $19 = (_String_IndexOfAt(10648,$16,95)|0); $exitcond = ($18|0)==($2|0); if ($exitcond) { $$014$lcssa = $16;$$lcssa = $19; break; } else { $$01516 = $18;$17 = $19; } } } $20 = ($$lcssa|0)==(-1); $spec$select = $20 ? 494 : $$lcssa; $21 = (($spec$select) - ($$014$lcssa))|0; _String_UNSAFE_Substring($0,10648,$$014$lcssa,$21); return; } function _DefaultSet_BlocksLight($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; switch ($0<<16>>16) { case 0: case 18: case 20: { $3 = 0; return ($3|0); break; } default: { } } $1 = (_DefaultSet_Draw($0)|0); $2 = ($1<<24>>24)!=(5); $phitmp = $2&1; $3 = $phitmp; return ($3|0); } function _DefaultSet_FullBright($0) { $0 = $0|0; var $1 = 0, $2 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; switch ($0<<16>>16) { case 62: case 11: case 10: { $2 = 1; break; } default: { $1 = ($0<<16>>16)==(54); $phitmp = $1&1; $2 = $phitmp; } } return ($2|0); } function _DefaultSet_FogColour($0) { $0 = $0|0; var $$0 = 0, label = 0, sp = 0; sp = STACKTOP; switch ($0<<16>>16) { case 9: case 8: { $$0 = -13433595; break; } case 11: case 10: { $$0 = -16770663; break; } default: { $$0 = 0; } } return ($$0|0); } function _DefaultSet_FogDensity($0) { $0 = $0|0; var $$0 = 0.0, label = 0, sp = 0; sp = STACKTOP; switch ($0<<16>>16) { case 9: case 8: { $$0 = 0.10000000149011612; break; } case 11: case 10: { $$0 = 1.7999999523162842; break; } default: { $$0 = 0.0; } } return (+$$0); } function _DefaultSet_Collide($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; switch ($0<<16>>16) { case 60: { $$0 = 3; break; } case 9: case 8: { $$0 = 5; break; } case 11: case 10: { $$0 = 6; break; } case 0: case 53: { label = 5; break; } default: { $1 = (_DefaultSet_Draw($0)|0); $2 = ($1<<24>>24)==(5); if ($2) { label = 5; } else { $$0 = 2; } } } if ((label|0) == 5) { $$0 = 0; } return ($$0|0); } function _Block_SetCollide($0,$1) { $0 = $0|0; $1 = $1|0; var $$1 = 0, $$3 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, $spec$select11 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (_DefaultSet_MapOldCollide($0,$1)|0); $3 = $0&65535; $4 = (578820 + ($3)|0); HEAP8[$4>>0] = $2; _Block_RecalcIsLiquid($0); $5 = ($2<<24>>24)==(3); $spec$select = $5 ? 2 : $2; $6 = ($spec$select<<24>>24)==(4); $$1 = $6 ? 2 : $spec$select; $7 = ($$1<<24>>24)==(5); $spec$select11 = $7 ? 1 : $$1; $8 = ($spec$select11<<24>>24)==(6); $$3 = $8 ? 1 : $spec$select11; $9 = (578052 + ($3)|0); HEAP8[$9>>0] = $$3; return; } function _DefaultSet_DigSound($0) { $0 = $0|0; var $$0 = 0, $$off = 0, $$off33 = 0, $$off34 = 0, $$off36 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $$off = (($0) + -21)<<16>>16; $1 = ($$off&65535)<(16); $$off33 = (($0) + -55)<<16>>16; $2 = ($$off33&65535)<(5); $or$cond = $1 | $2; L1: do { if ($or$cond) { $$0 = 7; } else { switch ($0<<16>>16) { case 41: case 42: { $$0 = 5; break L1; break; } case 54: case 64: case 17: case 5: case 47: { $$0 = 1; break L1; break; } case 51: { $$0 = 7; break L1; break; } case 12: { $$0 = 8; break L1; break; } case 53: { $$0 = 9; break L1; break; } case 20: { $$0 = 6; break L1; break; } case 13: case 3: { $$0 = 2; break L1; break; } case 19: case 18: case 46: case 6: case 2: { $$0 = 3; break L1; break; } default: { $$off34 = (($0) + -37)<<16>>16; $3 = ($$off34&65535)<(4); if ($3) { $$0 = 3; break L1; } $4 = $0 & -4; $5 = ($4<<16>>16)==(8); if ($5) { $$0 = 0; break L1; } $$off36 = (($0) + -1)<<16>>16; $6 = ($$off36&65535)<(65); $spec$select = $6 ? 4 : 0; return ($spec$select|0); } } } } while(0); return ($$0|0); } function _DefaultSet_StepSound($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; switch ($0<<16>>16) { case 20: { $$0 = 4; break; } case 51: { $$0 = 7; break; } default: { $1 = (_DefaultSet_Draw($0)|0); $2 = ($1<<24>>24)==(5); if ($2) { $$0 = 0; } else { $3 = (_DefaultSet_DigSound($0)|0); $$0 = $3; } } } return ($$0|0); } function _Block_SetName($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = $0&65535; $3 = $2 << 6; $4 = (40848 + ($3)|0); _String_CopyToRaw($4,64,$1); return; } function _DefaultSet_Draw($0) { $0 = $0|0; var $$0 = 0, $$off = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; L1: do { switch ($0<<16>>16) { case 0: { $$0 = 4; break; } case 18: { $$0 = 2; break; } case 9: case 8: case 60: { $$0 = 3; break; } case 20: { $$0 = 1; break; } default: { $$off = (($0) + -37)<<16>>16; $1 = ($$off&65535)<(4); if ($1) { $$0 = 5; } else { switch ($0<<16>>16) { case 54: case 51: case 6: { $$0 = 5; break L1; break; } default: { } } $$0 = 0; } } } } while(0); return ($$0|0); } function _DefaultSet_Height($0) { $0 = $0|0; var $$0 = 0.0, label = 0, sp = 0; sp = STACKTOP; switch ($0<<16>>16) { case 50: case 44: { $$0 = 0.5; break; } case 53: { $$0 = 0.25; break; } default: { $$0 = 1.0; } } return (+$$0); } function _Block_SetDrawType($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1<<24>>24)==(0); if ($2) { $3 = $0&65535; $4 = (578052 + ($3)|0); $5 = HEAP8[$4>>0]|0; $6 = ($5<<24>>24)!=(2); $spec$select = $6&1; $$0 = $spec$select; } else { $$0 = $1; } $7 = $0&65535; $8 = (583428 + ($7)|0); HEAP8[$8>>0] = $$0; _Block_RecalcIsLiquid($0); $9 = ($$0<<24>>24)==(0); if ($9) { $10 = (588036 + (($7*12)|0)|0); $11 = +HEAPF32[$10>>2]; $12 = $11 == 0.0; if ($12) { $13 = (((588036 + (($7*12)|0)|0)) + 4|0); $14 = +HEAPF32[$13>>2]; $15 = $14 == 0.0; if ($15) { $16 = (((588036 + (($7*12)|0)|0)) + 8|0); $17 = +HEAPF32[$16>>2]; $18 = $17 == 0.0; if ($18) { $19 = (597252 + (($7*12)|0)|0); $20 = +HEAPF32[$19>>2]; $21 = $20 == 1.0; if ($21) { $22 = (((597252 + (($7*12)|0)|0)) + 4|0); $23 = +HEAPF32[$22>>2]; $24 = $23 == 1.0; if ($24) { $25 = (((597252 + (($7*12)|0)|0)) + 8|0); $26 = +HEAPF32[$25>>2]; $27 = $26 == 1.0; $phitmp = $27&1; $29 = $phitmp; } else { $29 = 0; } } else { $29 = 0; } } else { $29 = 0; } } else { $29 = 0; } } else { $29 = 0; } } else { $29 = 0; } $28 = (586500 + ($7)|0); HEAP8[$28>>0] = $29; return; } function _Block_CalcLightOffset($0) { $0 = $0|0; var $$0 = 0, $$1 = 0, $$2 = 0, $$3 = 0, $$4 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$0$0$copyload = 0.0, $$sroa$06$0$$sroa_idx = 0, $$sroa$06$0$copyload = 0.0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$4$0$copyload = 0.0, $$sroa$48$0$$sroa_idx9 = 0, $$sroa$48$0$copyload = 0.0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$5$0$copyload = 0.0, $$sroa$511$0$$sroa_idx12 = 0, $$sroa$511$0$copyload = 0.0, $1 = 0, $10 = 0, $11 = 0; var $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $1 = $0&65535; $$sroa$06$0$$sroa_idx = (588036 + (($1*12)|0)|0); $$sroa$06$0$copyload = +HEAPF32[$$sroa$06$0$$sroa_idx>>2]; $$sroa$48$0$$sroa_idx9 = (((588036 + (($1*12)|0)|0)) + 4|0); $$sroa$48$0$copyload = +HEAPF32[$$sroa$48$0$$sroa_idx9>>2]; $$sroa$511$0$$sroa_idx12 = (((588036 + (($1*12)|0)|0)) + 8|0); $$sroa$511$0$copyload = +HEAPF32[$$sroa$511$0$$sroa_idx12>>2]; $$sroa$0$0$$sroa_idx = (597252 + (($1*12)|0)|0); $$sroa$0$0$copyload = +HEAPF32[$$sroa$0$0$$sroa_idx>>2]; $$sroa$4$0$$sroa_idx2 = (((597252 + (($1*12)|0)|0)) + 4|0); $$sroa$4$0$copyload = +HEAPF32[$$sroa$4$0$$sroa_idx2>>2]; $$sroa$5$0$$sroa_idx4 = (((597252 + (($1*12)|0)|0)) + 8|0); $$sroa$5$0$copyload = +HEAPF32[$$sroa$5$0$$sroa_idx4>>2]; $2 = $$sroa$06$0$copyload != 0.0; $$0 = $2 ? 254 : 255; $3 = $$sroa$0$0$copyload != 1.0; $4 = $$0 & 253; $$1 = $3 ? $4 : $$0; $5 = $$sroa$511$0$copyload != 0.0; $6 = $$1 & 251; $$2 = $5 ? $6 : $$1; $7 = $$sroa$5$0$copyload != 1.0; $8 = $$2 & 247; $$3 = $7 ? $8 : $$2; $9 = $$sroa$48$0$copyload != 0.0; $10 = $$sroa$4$0$copyload == 1.0; $or$cond = $9 & $10; if (!($or$cond)) { $$4 = $$3; $15 = $$4&255; $16 = (582660 + ($1)|0); HEAP8[$16>>0] = $15; return; } $11 = $$3 & 207; $12 = (583428 + ($1)|0); $13 = HEAP8[$12>>0]|0; $14 = ($13<<24>>24)==(4); $spec$select = $14 ? $$3 : $11; $$4 = $spec$select; $15 = $$4&255; $16 = (582660 + ($1)|0); HEAP8[$16>>0] = $15; return; } function _Block_SetSide($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = $1&65535; $3 = ($2*6)|0; $4 = (624900 + ($3<<1)|0); HEAP16[$4>>1] = $0; $5 = $3 | 1; $6 = (624900 + ($5<<1)|0); HEAP16[$6>>1] = $0; $7 = (($3) + 2)|0; $8 = (624900 + ($7<<1)|0); HEAP16[$8>>1] = $0; $9 = (($3) + 3)|0; $10 = (624900 + ($9<<1)|0); HEAP16[$10>>1] = $0; return; } function _Block_RecalcIsLiquid($0) { $0 = $0|0; var $$shrunk = 0, $$sink6 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; $1 = $0&65535; $2 = (578820 + ($1)|0); $3 = HEAP8[$2>>0]|0; switch ($3<<24>>24) { case 5: { $$sink6 = 3; label = 3; break; } case 6: { $$sink6 = 1; label = 3; break; } default: { $$shrunk = 0; } } if ((label|0) == 3) { $4 = (583428 + ($1)|0); $5 = HEAP8[$4>>0]|0; $6 = ($5<<24>>24)==($$sink6<<24>>24); $phitmp = $6&1; $$shrunk = $phitmp; } $7 = (569604 + ($1)|0); HEAP8[$7>>0] = $$shrunk; return; } function _DefaultSet_MapOldCollide($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $$old = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, $or$cond12 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($0<<16>>16)==(51); $3 = ($1<<24>>24)==(0); $or$cond = $2 & $3; L1: do { if ($or$cond) { $$0 = 7; } else { $4 = ($0<<16>>16)==(60); $5 = ($1<<24>>24)==(2); $or$cond12 = $4 & $5; if ($or$cond12) { $$0 = 3; } else { switch ($0<<16>>16) { case 9: case 8: { $6 = ($1<<24>>24)==(1); if ($6) { $$0 = 5; break L1; } break; } case 11: case 10: { $$old = ($1<<24>>24)==(1); if ($$old) { $$0 = 6; break L1; } break; } default: { } } $$0 = $1; } } } while(0); return ($$0|0); } function _Blocks_AtlasChanged($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _Block_RecalculateAllSpriteBB(); return; } function _Block_IsCustomDefined($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = $0&65535; $2 = (5)?($1 >>> 5):($1); $3 = (40752 + ($2<<2)|0); $4 = HEAP32[$3>>2]|0; $5 = $1 & 31; $6 = 1 << $5; $7 = $4 & $6; $8 = ($7|0)!=(0); $9 = $8&1; return ($9|0); } function _Block_SetCustomDefined($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1<<24>>24)==(0); $3 = $0&65535; $4 = $3 & 31; $5 = 1 << $4; if ($2) { $10 = $5 ^ -1; $11 = (5)?($3 >>> 5):($3); $12 = (40752 + ($11<<2)|0); $13 = HEAP32[$12>>2]|0; $14 = $13 & $10; HEAP32[$12>>2] = $14; return; } else { $6 = (5)?($3 >>> 5):($3); $7 = (40752 + ($6<<2)|0); $8 = HEAP32[$7>>2]|0; $9 = $8 | $5; HEAP32[$7>>2] = $9; return; } } function _Block_DefineCustom($0) { $0 = $0|0; var $$lobit = 0, $$not = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; _Block_UNSAFE_GetName($1,$0); $2 = $0&65535; $3 = (571908 + ($2<<2)|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)==(-16777216); if ($5) { $9 = 0; } else { $6 = (_String_IndexOfAt($1,0,35)|0); $$lobit = (31)?($6 >>> 31):($6); $7 = $$lobit&255; $$not = $7 ^ 1; $9 = $$not; } $8 = (585732 + ($2)|0); HEAP8[$8>>0] = $9; $10 = (583428 + ($2)|0); $11 = HEAP8[$10>>0]|0; _Block_SetDrawType($0,$11); _Block_CalcRenderBounds($0); _Block_UpdateCulling($0); _Block_CalcLightOffset($0); _Inventory_AddDefault($0); _Block_SetCustomDefined($0,1); _Event_RaiseVoid((1253416)); STACKTOP = sp;return; } function _Block_UNSAFE_GetName($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = $1&65535; $3 = $2 << 6; $4 = (40848 + ($3)|0); _String_FromRaw($0,$4,64); return; } function _Block_UpdateCulling($0) { $0 = $0|0; var $$08 = 0, $1 = 0, $2 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; _Block_CalcStretch($0); $$08 = 0; while(1) { $1 = $$08&65535; _Block_CalcCulling($0,$1); _Block_CalcCulling($1,$0); $2 = (($$08) + 1)|0; $exitcond = ($2|0)==(768); if ($exitcond) { break; } else { $$08 = $2; } } return; } function _Block_FindID($0) { $0 = $0|0; var $$05 = 0, $$07 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp + 8|0; $2 = sp; $$07 = 0; while(1) { $3 = $$07&65535; _Block_UNSAFE_GetName($2,$3); $4 = $2; $5 = $4; $6 = HEAP32[$5>>2]|0; $7 = (($4) + 4)|0; $8 = $7; $9 = HEAP32[$8>>2]|0; $10 = $1; $11 = $10; HEAP32[$11>>2] = $6; $12 = (($10) + 4)|0; $13 = $12; HEAP32[$13>>2] = $9; $14 = (_String_CaselessEquals($1,$0)|0); $15 = ($14|0)==(0); if (!($15)) { $$05 = $$07; label = 4; break; } $16 = (($$07) + 1)|0; $17 = ($16>>>0)<(768); if ($17) { $$07 = $16; } else { $$05 = -1; label = 4; break; } } if ((label|0) == 4) { STACKTOP = sp;return ($$05|0); } return (0)|0; } function _Block_Parse($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = (_Convert_ParseInt($0,$1)|0); $3 = ($2<<24>>24)!=(0); $4 = HEAP32[$1>>2]|0; $5 = ($4|0)<(768); $or$cond = $3 & $5; if ($or$cond) { $$0 = $4; STACKTOP = sp;return ($$0|0); } $6 = (_Block_FindID($0)|0); $$0 = $6; STACKTOP = sp;return ($$0|0); } function _Block_IsFaceHidden($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = $0&65535; $4 = ($3*768)|0; $5 = $1&65535; $6 = (($4) + ($5))|0; $7 = (635652 + ($6)|0); $8 = HEAP8[$7>>0]|0; $9 = $8&255; $10 = $2&255; $11 = 1 << $10; $12 = $11 & $9; $13 = ($12|0)!=(0); $14 = $13&1; return ($14|0); } function _AutoRotate_RotateBlock($0) { $0 = $0|0; var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 144|0; $1 = sp + 136|0; $2 = sp; $3 = sp + 128|0; _Block_UNSAFE_GetName($3,$0); HEAP32[$1>>2] = $2; $4 = ((($1)) + 4|0); HEAP16[$4>>1] = 0; $5 = ((($1)) + 6|0); HEAP16[$5>>1] = 128; _String_AppendString($1,$3); $6 = (_FindRotated($1,0)|0); $7 = ($6|0)==(-1); $8 = $0&65535; $9 = $7 ? $8 : $6; $10 = $9&65535; STACKTOP = sp;return ($10|0); } function _FindRotated($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $$061 = 0, $$061$v = 0, $$062 = 0, $$06284 = 0, $$off = 0, $$off92 = 0, $$sroa$0$0$copyload = 0, $$sroa$5$0$$sroa_idx37 = 0, $$sroa$5$0$copyload = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond6587 = 0, $or$cond6788 = 0, $or$cond6889 = 0, $or$cond70 = 0, $or$cond74 = 0, $or$cond75 = 0, $or$cond76 = 0, $or$cond77 = 0, $or$cond78 = 0; var $or$cond7991 = 0, $or$cond80 = 0, $or$cond81 = 0, $or$cond85 = 0, $or$cond86 = 0, $sext = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = (_String_LastIndexOfAt($0,$1,45)|0); $4 = ($3|0)==(-1); if ($4) { $$0 = -1; STACKTOP = sp;return ($$0|0); } _String_UNSAFE_SubstringAt($2,$0,$3); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; $$sroa$5$0$$sroa_idx37 = ((($2)) + 4|0); $$sroa$5$0$copyload = HEAP16[$$sroa$5$0$$sroa_idx37>>1]|0; $5 = $$sroa$5$0$copyload&65535; $6 = (($5) - ($1))|0; $7 = $6 & 65535; $8 = ($7>>>0)>(3); if ($8) { $$0 = -1; STACKTOP = sp;return ($$0|0); } $9 = (($7) + ($1))|0; $10 = ($7>>>0)>(1); if ($10) { $11 = ((($$sroa$0$0$copyload)) + 1|0); $12 = HEAP8[$11>>0]|0; $13 = $12 << 24 >> 24; $$off92 = (($12) + -65)<<24>>24; $14 = ($$off92&255)<(26); $15 = (($13) + 32)|0; $$062 = $14 ? $15 : $13; $16 = ($7|0)==(2); if ($16) { $$06284 = $$062;$20 = 0; } else { $17 = ((($$sroa$0$0$copyload)) + 2|0); $18 = HEAP8[$17>>0]|0; $19 = $18 << 24 >> 24; $$06284 = $$062;$20 = $19; } } else { $$06284 = 0;$20 = 0; } $$off = (($20) + -65)|0; $21 = ($$off>>>0)<(26); $22 = (($20) + 32)|0; $$061$v = $21 ? $22 : $20; $$061 = $$061$v&255; $sext = $$06284 << 24; $23 = ($sext|0)==(1845493760); $24 = ($$061<<24>>24)==(119); $25 = ($$061<<24>>24)==(101); $or$cond6587 = $24 | $25; $or$cond77 = $23 & $or$cond6587; if (!($or$cond77)) { $26 = ($sext|0)==(1929379840); $or$cond6788 = $24 | $25; $or$cond78 = $26 & $or$cond6788; if (!($or$cond78)) { $28 = ($sext|0)==(1962934272); $29 = ($$061<<24>>24)==(0); $30 = ($sext|0)==(1677721600); $or$cond6889 = $28 | $30; $or$cond85 = $or$cond6889 & $29; if ($or$cond85) { $31 = (_RotateVertical($0,$9)|0); $$0 = $31; STACKTOP = sp;return ($$0|0); } $or$cond70 = $23 & $29; if (!($or$cond70)) { $32 = $sext | 67108864; $33 = ($32|0)==(1996488704); $34 = ($sext|0)==(1694498816); $or$cond7991 = $34 | $33; $or$cond86 = $or$cond7991 & $29; if (!($or$cond86)) { $36 = ($sext|0)==(1996488704); $37 = ($$061<<24>>24)==(100); $or$cond74 = $28 & $37; $or$cond75 = $36 & $25; $or$cond80 = $or$cond74 | $or$cond75; $38 = ($$061<<24>>24)==(115); $or$cond76 = $23 & $38; $or$cond81 = $or$cond76 | $or$cond80; if (!($or$cond81)) { $$0 = -1; STACKTOP = sp;return ($$0|0); } _AutoRotate_Insert($0,$9,19687); $39 = (_Block_FindID($0)|0); $40 = ($39|0)==(-1); if ($40) { $41 = (_RotateFence($0,$9)|0); $$0 = $41; STACKTOP = sp;return ($$0|0); } else { $42 = (_RotatePillar($0,$9)|0); $$0 = $42; STACKTOP = sp;return ($$0|0); } } } $35 = (_RotateDirection($0,$9)|0); $$0 = $35; STACKTOP = sp;return ($$0|0); } } $27 = (_RotateCorner($0,$9)|0); $$0 = $27; STACKTOP = sp;return ($$0|0); } function _RotateCorner($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = +HEAPF32[(1260244)>>2]; $3 = HEAP32[(1260268)>>2]|0; $4 = (+($3|0)); $5 = $2 - $4; $6 = +HEAPF32[(1260252)>>2]; $7 = HEAP32[(1260276)>>2]|0; $8 = (+($7|0)); $9 = $6 - $8; $10 = $5 < 0.5; $11 = $9 < 0.5; $or$cond = $10 & $11; do { if ($or$cond) { _AutoRotate_Insert($0,$1,19717); } else { $12 = $5 >= 0.5; $or$cond3 = $12 & $11; if ($or$cond3) { _AutoRotate_Insert($0,$1,19721); break; } $13 = $9 >= 0.5; $or$cond5 = $10 & $13; if ($or$cond5) { _AutoRotate_Insert($0,$1,19725); break; } $or$cond7 = $12 & $13; if ($or$cond7) { _AutoRotate_Insert($0,$1,19729); } } } while(0); $14 = (_GetRotated($0,$1)|0); return ($14|0); } function _RotateVertical($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = +HEAPF32[(1260248)>>2]; $3 = HEAP32[(1260272)>>2]|0; $4 = (+($3|0)); $5 = $2 - $4; $6 = !($5 >= 0.5); if ($6) { _AutoRotate_Insert($0,$1,19714); } else { _AutoRotate_Insert($0,$1,19711); } $7 = (_GetRotated($0,$1)|0); return ($7|0); } function _RotateDirection($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = +HEAPF32[(1242172)>>2]; $3 = (+_LocationUpdate_Clamp($2)); $4 = $3 >= 45.0; $5 = $3 < 135.0; $or$cond = $4 & $5; do { if ($or$cond) { _AutoRotate_Insert($0,$1,19699); } else { $6 = $3 >= 135.0; $7 = $3 < 225.0; $or$cond3 = $6 & $7; if ($or$cond3) { _AutoRotate_Insert($0,$1,19702); break; } $8 = $3 >= 225.0; $9 = $3 < 315.0; $or$cond5 = $8 & $9; if ($or$cond5) { _AutoRotate_Insert($0,$1,19705); break; } else { _AutoRotate_Insert($0,$1,19708); break; } } } while(0); $10 = (_GetRotated($0,$1)|0); return ($10|0); } function _AutoRotate_Insert($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$01213 = 0, $$014 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ((($0)) + 4|0); $4 = HEAP8[$2>>0]|0; $5 = ($4<<24>>24)==(0); if ($5) { return; } $6 = HEAP16[$3>>1]|0; $7 = $6&65535; $8 = (($7) - ($1))|0; $$01213 = $2;$$014 = $8;$14 = $4; while(1) { $9 = HEAP16[$3>>1]|0; $10 = $9&65535; $11 = ($$014|0)<($10|0); if ($11) { $12 = HEAP32[$0>>2]|0; $13 = (($12) + ($$014)|0); HEAP8[$13>>0] = $14; } else { _String_Append($0,$14); } $15 = ((($$01213)) + 1|0); $16 = (($$014) + 1)|0; $17 = HEAP8[$15>>0]|0; $18 = ($17<<24>>24)==(0); if ($18) { break; } else { $$01213 = $15;$$014 = $16;$14 = $17; } } return; } function _RotateFence($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = +HEAPF32[(1242172)>>2]; $3 = (+_LocationUpdate_Clamp($2)); $4 = $3 < 45.0; if (!($4)) { $5 = $3 >= 135.0; $6 = $3 < 225.0; $or$cond = $5 & $6; $7 = $3 > 315.0; $or$cond3 = $7 | $or$cond; if (!($or$cond3)) { _AutoRotate_Insert($0,$1,19695); $8 = (_GetRotated($0,$1)|0); return ($8|0); } } _AutoRotate_Insert($0,$1,19691); $8 = (_GetRotated($0,$1)|0); return ($8|0); } function _RotatePillar($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP8[(1260281)>>0]|0; switch ($2<<24>>24) { case 4: case 5: { _AutoRotate_Insert($0,$1,19687); break; } case 0: case 1: { _AutoRotate_Insert($0,$1,19691); break; } case 2: case 3: { _AutoRotate_Insert($0,$1,19695); break; } default: { } } $3 = (_GetRotated($0,$1)|0); return ($3|0); } function _GetRotated($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (_FindRotated($0,$1)|0); $3 = ($2|0)==(-1); if (!($3)) { $5 = $2; return ($5|0); } $4 = (_Block_FindID($0)|0); $5 = $4; return ($5|0); } function _Physics_SetEnabled($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; HEAP8[1226244] = $0; _Physics_OnNewMapLoaded(0); return; } function _Physics_OnNewMapLoaded($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; _TickQueue_Clear(1230344); _TickQueue_Clear(1230368); $1 = HEAP32[(1407476)>>2]|0; $2 = (($1) + -2)|0; HEAP32[307598] = $2; $3 = HEAP32[(1407480)>>2]|0; $4 = (($3) + -2)|0; HEAP32[307599] = $4; $5 = HEAP32[(1407484)>>2]|0; $6 = (($5) + -2)|0; HEAP32[307600] = $6; $7 = HEAP32[351863]|0; HEAP32[315080] = $7; _Random_SeedFromCurrentTime(535440); HEAP32[315081] = 535440; return; } function _TickQueue_Clear($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; $2 = ($1|0)==(0|0); if ($2) { return; } _Mem_Free($1); _TickQueue_Init($0); return; } function _TickQueue_Init($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0;HEAP32[$0+16>>2]=0|0;HEAP32[$0+20>>2]=0|0; return; } function _Physics_OnBlockChanged($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $5 = HEAP8[1226244]|0; $6 = ($5<<24>>24)==(0); if ($6) { return; } $7 = ($4<<16>>16)==(0); if ($7) { $8 = (_Physics_IsEdgeWater($0,$1,$2)|0); $9 = ($8<<24>>24)==(0); if ($9) { $$0 = 0; } else { _Game_UpdateBlock($0,$1,$2,9); $$0 = 9; } } else { $$0 = $4; } $10 = HEAP32[(1407472)>>2]|0; $11 = Math_imul($10, $1)|0; $12 = (($11) + ($2))|0; $13 = HEAP32[(1407464)>>2]|0; $14 = Math_imul($12, $13)|0; $15 = (($14) + ($0))|0; $16 = ($$0<<16>>16)==(0); if ($16) { $17 = $3&65535; $18 = (1229320 + ($17<<2)|0); $19 = HEAP32[$18>>2]|0; $20 = ($19|0)==(0|0); if (!($20)) { FUNCTION_TABLE_vii[$19 & 127]($15,$3); } } else { $21 = $$0&65535; $22 = (1228296 + ($21<<2)|0); $23 = HEAP32[$22>>2]|0; $24 = ($23|0)==(0|0); if (!($24)) { FUNCTION_TABLE_vii[$23 & 127]($15,$$0); } } _Physics_ActivateNeighbours($0,$1,$2,$15); return; } function _Physics_IsEdgeWater($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond7 = 0, $or$cond9 = 0, $phitmp = 0, $switch = 0, label = 0; var sp = 0; sp = STACKTOP; $3 = HEAP16[703756]|0; $4 = $3 & -2; $switch = ($4<<16>>16)==(8); if (!($switch)) { $16 = 0; return ($16|0); } $5 = HEAP32[(1407516)>>2]|0; $6 = HEAP32[(1407520)>>2]|0; $7 = (($6) + ($5))|0; $8 = ($7|0)<=($1|0); $9 = ($5|0)>($1|0); $or$cond7 = $9 & $8; if (!($or$cond7)) { $16 = 0; return ($16|0); } $10 = ($0|0)==(0); $11 = ($2|0)==(0); $or$cond = $10 | $11; $12 = HEAP32[(1407476)>>2]|0; $13 = ($12|0)==($0|0); $or$cond9 = $or$cond | $13; if ($or$cond9) { $16 = 1; return ($16|0); } $14 = HEAP32[(1407484)>>2]|0; $15 = ($14|0)==($2|0); $phitmp = $15&1; $16 = $phitmp; return ($16|0); } function _Physics_ActivateNeighbours($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; $4 = ($0|0)>(0); if ($4) { $5 = (($3) + -1)|0; _Physics_Activate($5); } $6 = HEAP32[(1407476)>>2]|0; $7 = ($6|0)>($0|0); if ($7) { $8 = (($3) + 1)|0; _Physics_Activate($8); } $9 = ($2|0)>(0); if ($9) { $10 = HEAP32[(1407464)>>2]|0; $11 = (($3) - ($10))|0; _Physics_Activate($11); } $12 = HEAP32[(1407484)>>2]|0; $13 = ($12|0)>($2|0); if ($13) { $14 = HEAP32[(1407464)>>2]|0; $15 = (($14) + ($3))|0; _Physics_Activate($15); } $16 = ($1|0)>(0); if ($16) { $17 = HEAP32[(1407488)>>2]|0; $18 = (($3) - ($17))|0; _Physics_Activate($18); } $19 = HEAP32[(1407480)>>2]|0; $20 = ($19|0)>($1|0); if (!($20)) { return; } $21 = HEAP32[(1407488)>>2]|0; $22 = (($21) + ($3))|0; _Physics_Activate($22); return; } function _Physics_Activate($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[351863]|0; $2 = (($1) + ($0)|0); $3 = HEAP8[$2>>0]|0; $4 = $3&255; $5 = (1226248 + ($4<<2)|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)==(0|0); if ($7) { return; } $8 = $3&255; FUNCTION_TABLE_vii[$6 & 127]($0,$8); return; } function _Physics_Init() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; _Event_Register((1254196),0,271); $0 = (_Options_GetBool(31896,1)|0); HEAP8[1226244] = $0; _TickQueue_Init(1230344); _TickQueue_Init(1230368); HEAP32[(1228344)>>2] = 49; HEAP32[(1228348)>>2] = 49; HEAP32[(1226296)>>2] = 49; HEAP32[(1226300)>>2] = 49; HEAP32[(1227320)>>2] = 49; HEAP32[(1227324)>>2] = 49; HEAP32[(1228320)>>2] = 50; HEAP32[(1227296)>>2] = 50; HEAP32[(1227284)>>2] = 51; HEAP32[(1227280)>>2] = 52; HEAP32[(1227420)>>2] = 53; HEAP32[(1227424)>>2] = 53; HEAP32[(1227432)>>2] = 54; HEAP32[(1227428)>>2] = 54; HEAP32[(1228336)>>2] = 55; HEAP32[(1228328)>>2] = 56; HEAP32[(1228372)>>2] = 57; HEAP32[(1229396)>>2] = 58; HEAP32[(1226280)>>2] = (56); HEAP32[(1226284)>>2] = (56); HEAP32[(1226288)>>2] = (55); $1 = HEAP32[(1228336)>>2]|0; HEAP32[(1226292)>>2] = $1; HEAP32[(1227304)>>2] = 59; HEAP32[(1227308)>>2] = 59; HEAP32[(1227312)>>2] = 60; HEAP32[(1227316)>>2] = 60; HEAP32[(1228472)>>2] = 61; HEAP32[(1228496)>>2] = 62; HEAP32[(1228480)>>2] = 63; return; } function _Physics_DoFalling($0,$1) { $0 = $0|0; $1 = $1|0; var $$037$lcssa = 0, $$03739 = 0, $$040 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[(1407488)>>2]|0; $3 = ($2|0)>($0|0); if ($3) { return; } $4 = HEAP32[351863]|0; $5 = HEAP32[(1407488)>>2]|0; $$03739 = -1;$$040 = $0;$8 = $2; while(1) { $6 = (($$040) - ($8))|0; $9 = (($4) + ($6)|0); $10 = HEAP8[$9>>0]|0; $11 = ($10<<24>>24)==(0); $12 = $10 & -4; $13 = ($12<<24>>24)==(8); $or$cond = $11 | $13; if (!($or$cond)) { $$037$lcssa = $$03739; break; } $7 = ($6|0)<($5|0); if ($7) { $$037$lcssa = $6; break; } else { $$03739 = $6;$$040 = $6;$8 = $5; } } $14 = ($$037$lcssa|0)==(-1); if ($14) { return; } $15 = HEAP32[(1407464)>>2]|0; $16 = (($$037$lcssa|0) / ($15|0))&-1; $17 = Math_imul($16, $15)|0; $18 = (($$037$lcssa) - ($17))|0; $19 = HEAP32[(1407472)>>2]|0; $20 = (($16|0) / ($19|0))&-1; $21 = Math_imul($20, $19)|0; $22 = (($16) - ($21))|0; _Game_UpdateBlock($18,$20,$22,$1); $23 = HEAP32[(1407464)>>2]|0; $24 = (($0|0) / ($23|0))&-1; $25 = Math_imul($24, $23)|0; $26 = (($0) - ($25))|0; $27 = HEAP32[(1407472)>>2]|0; $28 = (($24|0) / ($27|0))&-1; $29 = Math_imul($28, $27)|0; $30 = (($24) - ($29))|0; _Game_UpdateBlock($26,$28,$30,0); _Physics_ActivateNeighbours($26,$28,$30,$0); return; } function _Physics_HandleSapling($0,$1) { $0 = $0|0; $1 = $1|0; var $$038 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 1248|0; $2 = sp + 96|0; $3 = sp; $4 = HEAP32[(1407464)>>2]|0; $5 = (($0|0) / ($4|0))&-1; $6 = Math_imul($5, $4)|0; $7 = (($0) - ($6))|0; $8 = HEAP32[(1407472)>>2]|0; $9 = (($5|0) / ($8|0))&-1; $10 = Math_imul($9, $8)|0; $11 = (($5) - ($10))|0; $12 = ($9|0)>(0); if (!($12)) { STACKTOP = sp;return; } $13 = HEAP32[351863]|0; $14 = HEAP32[(1407488)>>2]|0; $15 = (($0) - ($14))|0; $16 = (($13) + ($15)|0); $17 = HEAP8[$16>>0]|0; $phitmp = ($17<<24>>24)==(2); if (!($phitmp)) { STACKTOP = sp;return; } $18 = (_Random_Next(535440,3)|0); $19 = (($18) + 5)|0; _Game_UpdateBlock($7,$9,$11,0); $20 = (_TreeGen_CanGrow($7,$9,$11,$19)|0); $21 = ($20<<24>>24)==(0); if ($21) { _Game_UpdateBlock($7,$9,$11,6); STACKTOP = sp;return; } $22 = (_TreeGen_Grow($7,$9,$11,$19,$2,$3)|0); $23 = ($22|0)>(0); if (!($23)) { STACKTOP = sp;return; } $$038 = 0; while(1) { $24 = (($2) + (($$038*12)|0)|0); $25 = HEAP32[$24>>2]|0; $26 = (((($2) + (($$038*12)|0)|0)) + 4|0); $27 = HEAP32[$26>>2]|0; $28 = (((($2) + (($$038*12)|0)|0)) + 8|0); $29 = HEAP32[$28>>2]|0; $30 = (($3) + ($$038)|0); $31 = HEAP8[$30>>0]|0; $32 = $31&255; _Game_UpdateBlock($25,$27,$29,$32); $33 = (($$038) + 1)|0; $exitcond = ($33|0)==($22|0); if ($exitcond) { break; } else { $$038 = $33; } } STACKTOP = sp;return; } function _Physics_HandleDirt($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[(1407464)>>2]|0; $3 = (($0|0) / ($2|0))&-1; $4 = Math_imul($3, $2)|0; $5 = (($0) - ($4))|0; $6 = HEAP32[(1407472)>>2]|0; $7 = (($3|0) / ($6|0))&-1; $8 = Math_imul($7, $6)|0; $9 = (($3) - ($8))|0; $10 = (_Lighting_IsLit($5,$7,$9)|0); $11 = ($10<<24>>24)==(0); if ($11) { return; } _Game_UpdateBlock($5,$7,$9,2); return; } function _Physics_HandleGrass($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[(1407464)>>2]|0; $3 = (($0|0) / ($2|0))&-1; $4 = Math_imul($3, $2)|0; $5 = (($0) - ($4))|0; $6 = HEAP32[(1407472)>>2]|0; $7 = (($3|0) / ($6|0))&-1; $8 = Math_imul($7, $6)|0; $9 = (($3) - ($8))|0; $10 = (_Lighting_IsLit($5,$7,$9)|0); $11 = ($10<<24>>24)==(0); if (!($11)) { return; } _Game_UpdateBlock($5,$7,$9,3); return; } function _Physics_HandleFlower($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $switch = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[(1407464)>>2]|0; $3 = (($0|0) / ($2|0))&-1; $4 = Math_imul($3, $2)|0; $5 = (($0) - ($4))|0; $6 = HEAP32[(1407472)>>2]|0; $7 = (($3|0) / ($6|0))&-1; $8 = Math_imul($7, $6)|0; $9 = (($3) - ($8))|0; $10 = (_Lighting_IsLit($5,$7,$9)|0); $11 = ($10<<24>>24)==(0); if ($11) { _Game_UpdateBlock($5,$7,$9,0); _Physics_ActivateNeighbours($5,$7,$9,$0); return; } $12 = ($7|0)>(0); if (!($12)) { return; } $13 = HEAP32[351863]|0; $14 = HEAP32[(1407488)>>2]|0; $15 = (($0) - ($14))|0; $16 = (($13) + ($15)|0); $17 = HEAP8[$16>>0]|0; $18 = $17 & -2; $switch = ($18<<24>>24)==(2); if ($switch) { return; } _Game_UpdateBlock($5,$7,$9,0); _Physics_ActivateNeighbours($5,$7,$9,$0); return; } function _Physics_HandleMushroom($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[(1407464)>>2]|0; $3 = (($0|0) / ($2|0))&-1; $4 = Math_imul($3, $2)|0; $5 = (($0) - ($4))|0; $6 = HEAP32[(1407472)>>2]|0; $7 = (($3|0) / ($6|0))&-1; $8 = Math_imul($7, $6)|0; $9 = (($3) - ($8))|0; $10 = (_Lighting_IsLit($5,$7,$9)|0); $11 = ($10<<24>>24)==(0); if (!($11)) { _Game_UpdateBlock($5,$7,$9,0); _Physics_ActivateNeighbours($5,$7,$9,$0); return; } $12 = ($7|0)>(0); if (!($12)) { return; } $13 = HEAP32[351863]|0; $14 = HEAP32[(1407488)>>2]|0; $15 = (($0) - ($14))|0; $16 = (($13) + ($15)|0); $17 = HEAP8[$16>>0]|0; switch ($17<<24>>24) { case 4: case 1: { return; break; } default: { } } _Game_UpdateBlock($5,$7,$9,0); _Physics_ActivateNeighbours($5,$7,$9,$0); return; } function _Physics_PlaceLava($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = $0 | -268435456; _TickQueue_Enqueue(1230344,$2); return; } function _Physics_PlaceWater($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = $0 | 671088640; _TickQueue_Enqueue(1230368,$2); return; } function _Physics_PlaceSponge($0,$1) { $0 = $0|0; $1 = $1|0; var $$03741 = 0, $$040 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, $switch = 0, $switch$1 = 0, $switch$2 = 0, $switch$3 = 0, $switch$4 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[(1407464)>>2]|0; $3 = (($0|0) / ($2|0))&-1; $4 = Math_imul($3, $2)|0; $5 = (($0) - ($4))|0; $6 = HEAP32[(1407472)>>2]|0; $7 = (($3|0) / ($6|0))&-1; $8 = Math_imul($7, $6)|0; $9 = (($3) - ($8))|0; $10 = (($7) + -2)|0; $11 = (($7) + 2)|0; $12 = (($9) + -2)|0; $13 = (($9) + 2)|0; $14 = (($5) + -2)|0; $15 = (($5) + -1)|0; $16 = (($5) + 1)|0; $17 = (($5) + 2)|0; $$03741 = $10; while(1) { $$040 = $12; while(1) { $18 = (_World_Contains($14,$$03741,$$040)|0); $19 = ($18<<24>>24)==(0); if (!($19)) { $20 = (_World_GetBlock($14,$$03741,$$040)|0); $21 = $20 & -2; $switch = ($21<<16>>16)==(8); if ($switch) { _Game_UpdateBlock($14,$$03741,$$040,0); } } $26 = (_World_Contains($15,$$03741,$$040)|0); $27 = ($26<<24>>24)==(0); if (!($27)) { $28 = (_World_GetBlock($15,$$03741,$$040)|0); $29 = $28 & -2; $switch$1 = ($29<<16>>16)==(8); if ($switch$1) { _Game_UpdateBlock($15,$$03741,$$040,0); } } $30 = (_World_Contains($5,$$03741,$$040)|0); $31 = ($30<<24>>24)==(0); if (!($31)) { $32 = (_World_GetBlock($5,$$03741,$$040)|0); $33 = $32 & -2; $switch$2 = ($33<<16>>16)==(8); if ($switch$2) { _Game_UpdateBlock($5,$$03741,$$040,0); } } $34 = (_World_Contains($16,$$03741,$$040)|0); $35 = ($34<<24>>24)==(0); if (!($35)) { $36 = (_World_GetBlock($16,$$03741,$$040)|0); $37 = $36 & -2; $switch$3 = ($37<<16>>16)==(8); if ($switch$3) { _Game_UpdateBlock($16,$$03741,$$040,0); } } $38 = (_World_Contains($17,$$03741,$$040)|0); $39 = ($38<<24>>24)==(0); if (!($39)) { $40 = (_World_GetBlock($17,$$03741,$$040)|0); $41 = $40 & -2; $switch$4 = ($41<<16>>16)==(8); if ($switch$4) { _Game_UpdateBlock($17,$$03741,$$040,0); } } $22 = (($$040) + 1)|0; $23 = ($$040|0)<($13|0); if ($23) { $$040 = $22; } else { break; } } $24 = (($$03741) + 1)|0; $25 = ($$03741|0)<($11|0); if ($25) { $$03741 = $24; } else { break; } } return; } function _Physics_DeleteSponge($0,$1) { $0 = $0|0; $1 = $1|0; var $$04247 = 0, $$04344 = 0, $$046 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $switch = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[(1407464)>>2]|0; $3 = (($0|0) / ($2|0))&-1; $4 = Math_imul($3, $2)|0; $5 = (($0) - ($4))|0; $6 = HEAP32[(1407472)>>2]|0; $7 = (($3|0) / ($6|0))&-1; $8 = Math_imul($7, $6)|0; $9 = (($3) - ($8))|0; $10 = (($7) + -3)|0; $11 = (($7) + 3)|0; $12 = (($9) + -3)|0; $13 = (($9) + 3)|0; $14 = (($5) + -3)|0; $15 = (($5) + 3)|0; $$04247 = $10; while(1) { $16 = (($$04247) - ($7))|0; $$046 = $12; while(1) { $17 = (($$046) - ($9))|0; $$04344 = $14; while(1) { $18 = (_Math_AbsI($16)|0); $19 = ($18|0)==(3); if ($19) { label = 7; } else { $20 = (_Math_AbsI($17)|0); $21 = ($20|0)==(3); if ($21) { label = 7; } else { $22 = (($$04344) - ($5))|0; $23 = (_Math_AbsI($22)|0); $24 = ($23|0)==(3); if ($24) { label = 7; } } } if ((label|0) == 7) { label = 0; $25 = (_World_Contains($$04344,$$04247,$$046)|0); $26 = ($25<<24>>24)==(0); if (!($26)) { $27 = HEAP32[(1407472)>>2]|0; $28 = Math_imul($27, $$04247)|0; $29 = (($28) + ($$046))|0; $30 = HEAP32[(1407464)>>2]|0; $31 = Math_imul($29, $30)|0; $32 = (($31) + ($$04344))|0; $33 = HEAP32[351863]|0; $34 = (($33) + ($32)|0); $35 = HEAP8[$34>>0]|0; $36 = $35 & -2; $switch = ($36<<24>>24)==(8); if ($switch) { $37 = $32 | 134217728; _TickQueue_Enqueue(1230368,$37); } } } $38 = (($$04344) + 1)|0; $39 = ($$04344|0)<($15|0); if ($39) { $$04344 = $38; } else { break; } } $40 = (($$046) + 1)|0; $41 = ($$046|0)<($13|0); if ($41) { $$046 = $40; } else { break; } } $42 = (($$04247) + 1)|0; $43 = ($$04247|0)<($11|0); if ($43) { $$04247 = $42; } else { break; } } return; } function _Physics_ActivateWater($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[(1407464)>>2]|0; $3 = (($0|0) / ($2|0))&-1; $4 = Math_imul($3, $2)|0; $5 = (($0) - ($4))|0; $6 = HEAP32[(1407472)>>2]|0; $7 = (($3|0) / ($6|0))&-1; $8 = Math_imul($7, $6)|0; $9 = (($3) - ($8))|0; $10 = ($5|0)>(0); if ($10) { $11 = (($5) + -1)|0; $12 = (($0) + -1)|0; _Physics_PropagateWater($12,$11,$7,$9); } $13 = HEAP32[(1407476)>>2]|0; $14 = ($5|0)<($13|0); if ($14) { $15 = (($5) + 1)|0; $16 = (($0) + 1)|0; _Physics_PropagateWater($16,$15,$7,$9); } $17 = ($9|0)>(0); if ($17) { $18 = (($9) + -1)|0; $19 = HEAP32[(1407464)>>2]|0; $20 = (($0) - ($19))|0; _Physics_PropagateWater($20,$5,$7,$18); } $21 = HEAP32[(1407484)>>2]|0; $22 = ($9|0)<($21|0); if ($22) { $23 = (($9) + 1)|0; $24 = HEAP32[(1407464)>>2]|0; $25 = (($24) + ($0))|0; _Physics_PropagateWater($25,$5,$7,$23); } $26 = ($7|0)>(0); if (!($26)) { return; } $27 = (($7) + -1)|0; $28 = HEAP32[(1407488)>>2]|0; $29 = (($0) - ($28))|0; _Physics_PropagateWater($29,$5,$27,$9); return; } function _Physics_ActivateLava($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[(1407464)>>2]|0; $3 = (($0|0) / ($2|0))&-1; $4 = Math_imul($3, $2)|0; $5 = (($0) - ($4))|0; $6 = HEAP32[(1407472)>>2]|0; $7 = (($3|0) / ($6|0))&-1; $8 = Math_imul($7, $6)|0; $9 = (($3) - ($8))|0; $10 = ($5|0)>(0); if ($10) { $11 = (($5) + -1)|0; $12 = (($0) + -1)|0; _Physics_PropagateLava($12,$11,$7,$9); } $13 = HEAP32[(1407476)>>2]|0; $14 = ($5|0)<($13|0); if ($14) { $15 = (($5) + 1)|0; $16 = (($0) + 1)|0; _Physics_PropagateLava($16,$15,$7,$9); } $17 = ($9|0)>(0); if ($17) { $18 = (($9) + -1)|0; $19 = HEAP32[(1407464)>>2]|0; $20 = (($0) - ($19))|0; _Physics_PropagateLava($20,$5,$7,$18); } $21 = HEAP32[(1407484)>>2]|0; $22 = ($9|0)<($21|0); if ($22) { $23 = (($9) + 1)|0; $24 = HEAP32[(1407464)>>2]|0; $25 = (($24) + ($0))|0; _Physics_PropagateLava($25,$5,$7,$23); } $26 = ($7|0)>(0); if (!($26)) { return; } $27 = (($7) + -1)|0; $28 = HEAP32[(1407488)>>2]|0; $29 = (($0) - ($28))|0; _Physics_PropagateLava($29,$5,$27,$9); return; } function _Physics_HandleSlab($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[(1407464)>>2]|0; $3 = (($0|0) / ($2|0))&-1; $4 = Math_imul($3, $2)|0; $5 = (($0) - ($4))|0; $6 = HEAP32[(1407472)>>2]|0; $7 = (($3|0) / ($6|0))&-1; $8 = Math_imul($7, $6)|0; $9 = (($3) - ($8))|0; $10 = HEAP32[(1407488)>>2]|0; $11 = ($10|0)>($0|0); if ($11) { return; } $12 = HEAP32[351863]|0; $13 = (($0) - ($10))|0; $14 = (($12) + ($13)|0); $15 = HEAP8[$14>>0]|0; $16 = ($15<<24>>24)==(44); if (!($16)) { return; } $17 = (($7) + -1)|0; _Game_UpdateBlock($5,$7,$9,0); _Game_UpdateBlock($5,$17,$9,43); return; } function _Physics_HandleCobblestoneSlab($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[(1407464)>>2]|0; $3 = (($0|0) / ($2|0))&-1; $4 = Math_imul($3, $2)|0; $5 = (($0) - ($4))|0; $6 = HEAP32[(1407472)>>2]|0; $7 = (($3|0) / ($6|0))&-1; $8 = Math_imul($7, $6)|0; $9 = (($3) - ($8))|0; $10 = HEAP32[(1407488)>>2]|0; $11 = ($10|0)>($0|0); if ($11) { return; } $12 = HEAP32[351863]|0; $13 = (($0) - ($10))|0; $14 = (($12) + ($13)|0); $15 = HEAP8[$14>>0]|0; $16 = ($15<<24>>24)==(50); if (!($16)) { return; } $17 = (($7) + -1)|0; _Game_UpdateBlock($5,$7,$9,0); _Game_UpdateBlock($5,$17,$9,4); return; } function _Physics_HandleTnt($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[(1407464)>>2]|0; $3 = (($0|0) / ($2|0))&-1; $4 = Math_imul($3, $2)|0; $5 = (($0) - ($4))|0; $6 = HEAP32[(1407472)>>2]|0; $7 = (($3|0) / ($6|0))&-1; $8 = Math_imul($7, $6)|0; $9 = (($3) - ($8))|0; _Physics_Explode($5,$7,$9); return; } function _Physics_Explode($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$01 = 0, $$0703 = 0, $$0712 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond4 = 0, $exitcond5 = 0; var label = 0, sp = 0; sp = STACKTOP; $3 = HEAP32[(1407472)>>2]|0; $4 = Math_imul($3, $1)|0; $5 = (($4) + ($2))|0; $6 = HEAP32[(1407464)>>2]|0; $7 = Math_imul($5, $6)|0; $8 = (($7) + ($0))|0; _Game_UpdateBlock($0,$1,$2,0); _Physics_ActivateNeighbours($0,$1,$2,$8); $$0703 = -4; while(1) { $9 = Math_imul($$0703, $$0703)|0; $10 = (($$0703) + ($1))|0; $$0712 = -4; while(1) { $11 = Math_imul($$0712, $$0712)|0; $12 = (($11) + ($9))|0; $13 = (($$0712) + ($2))|0; $$01 = -4; while(1) { $14 = Math_imul($$01, $$01)|0; $15 = (($12) + ($14))|0; $16 = ($15>>>0)>(16); do { if (!($16)) { $17 = (($$01) + ($0))|0; $18 = (_World_Contains($17,$10,$13)|0); $19 = ($18<<24>>24)==(0); if (!($19)) { $20 = HEAP32[(1407472)>>2]|0; $21 = Math_imul($20, $10)|0; $22 = (($21) + ($13))|0; $23 = HEAP32[(1407464)>>2]|0; $24 = Math_imul($22, $23)|0; $25 = (($24) + ($17))|0; $26 = HEAP32[351863]|0; $27 = (($26) + ($25)|0); $28 = HEAP8[$27>>0]|0; $29 = ($28&255)<(66); if ($29) { $30 = $28&255; $31 = (336 + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = ($32<<24>>24)==(0); if (!($33)) { break; } } _Game_UpdateBlock($17,$10,$13,0); _Physics_ActivateNeighbours($17,$10,$13,$25); } } } while(0); $34 = (($$01) + 1)|0; $exitcond = ($34|0)==(5); if ($exitcond) { break; } else { $$01 = $34; } } $35 = (($$0712) + 1)|0; $exitcond4 = ($35|0)==(5); if ($exitcond4) { break; } else { $$0712 = $35; } } $36 = (($$0703) + 1)|0; $exitcond5 = ($36|0)==(5); if ($exitcond5) { break; } else { $$0703 = $36; } } return; } function _World_Contains($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $narrow = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP32[(1407464)>>2]|0; $4 = ($3>>>0)>($0>>>0); $5 = HEAP32[(1407468)>>2]|0; $6 = ($5>>>0)>($1>>>0); $or$cond = $4 & $6; $7 = HEAP32[(1407472)>>2]|0; $8 = ($7>>>0)>($2>>>0); $narrow = $or$cond & $8; $9 = $narrow&1; return ($9|0); } function _Physics_PropagateLava($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $10 = 0, $11 = 0, $12 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $switch = 0, label = 0, sp = 0; sp = STACKTOP; $4 = HEAP32[351863]|0; $5 = (($4) + ($0)|0); $6 = HEAP8[$5>>0]|0; $7 = $6 & -2; $switch = ($7<<24>>24)==(8); if ($switch) { _Game_UpdateBlock($1,$2,$3,1); return; } $8 = $6&255; $9 = (578052 + ($8)|0); $10 = HEAP8[$9>>0]|0; $11 = ($10<<24>>24)==(0); if (!($11)) { return; } $12 = $0 | -268435456; _TickQueue_Enqueue(1230344,$12); _Game_UpdateBlock($1,$2,$3,10); return; } function _TickQueue_Enqueue($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 12|0); $3 = HEAP32[$2>>2]|0; $4 = ((($0)) + 4|0); $5 = HEAP32[$4>>2]|0; $6 = ($3|0)==($5|0); if ($6) { _TickQueue_Resize($0); } $7 = HEAP32[$0>>2]|0; $8 = ((($0)) + 20|0); $9 = HEAP32[$8>>2]|0; $10 = (($7) + ($9<<2)|0); HEAP32[$10>>2] = $1; $11 = HEAP32[$8>>2]|0; $12 = (($11) + 1)|0; $13 = ((($0)) + 8|0); $14 = HEAP32[$13>>2]|0; $15 = $12 & $14; HEAP32[$8>>2] = $15; $16 = HEAP32[$2>>2]|0; $17 = (($16) + 1)|0; HEAP32[$2>>2] = $17; return; } function _TickQueue_Resize($0) { $0 = $0|0; var $$030 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$store$select = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; $3 = ($2|0)>(536870910); if ($3) { _Chat_AddRaw(19733); _TickQueue_Clear($0); return; } $4 = $2 << 1; $5 = ($4|0)>(32); $spec$store$select = $5 ? $4 : 32; $6 = (_Mem_Alloc($spec$store$select,4,19770)|0); $7 = ((($0)) + 12|0); $8 = HEAP32[$7>>2]|0; $9 = ($8|0)>(0); if ($9) { $10 = ((($0)) + 16|0); $11 = ((($0)) + 8|0); $12 = HEAP32[$0>>2]|0; $$030 = 0; while(1) { $13 = HEAP32[$10>>2]|0; $14 = (($13) + ($$030))|0; $15 = HEAP32[$11>>2]|0; $16 = $14 & $15; $17 = (($12) + ($16<<2)|0); $18 = HEAP32[$17>>2]|0; $19 = (($6) + ($$030<<2)|0); HEAP32[$19>>2] = $18; $20 = (($$030) + 1)|0; $21 = HEAP32[$7>>2]|0; $22 = ($20|0)<($21|0); if ($22) { $$030 = $20; } else { break; } } } $23 = HEAP32[$0>>2]|0; _Mem_Free($23); HEAP32[$0>>2] = $6; HEAP32[$1>>2] = $spec$store$select; $24 = (($spec$store$select) + -1)|0; $25 = ((($0)) + 8|0); HEAP32[$25>>2] = $24; $26 = ((($0)) + 16|0); HEAP32[$26>>2] = 0; $27 = HEAP32[$7>>2]|0; $28 = ((($0)) + 20|0); HEAP32[$28>>2] = $27; return; } function _Physics_PropagateWater($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$04148 = 0, $$04243 = 0, $$044 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0, $9 = 0; var $or$cond = 0, $switch = 0, label = 0, sp = 0; sp = STACKTOP; $4 = HEAP32[351863]|0; $5 = (($4) + ($0)|0); $6 = HEAP8[$5>>0]|0; $7 = $6 & -2; $switch = ($7<<24>>24)==(10); if ($switch) { _Game_UpdateBlock($1,$2,$3,1); return; } $8 = $6&255; $9 = (578052 + ($8)|0); $10 = HEAP8[$9>>0]|0; $11 = ($10<<24>>24)!=(0); $12 = ($6<<24>>24)==(51); $or$cond = $12 | $11; if ($or$cond) { return; } $13 = ($2|0)<(2); $14 = (($2) + -2)|0; $15 = $13 ? 0 : $14; $16 = HEAP32[307599]|0; $17 = ($16|0)<($2|0); $18 = HEAP32[(1407480)>>2]|0; $19 = (($2) + 2)|0; $20 = $17 ? $18 : $19; $21 = ($15|0)>($20|0); L8: do { if (!($21)) { $22 = ($3|0)<(2); $23 = (($3) + -2)|0; $24 = $22 ? 0 : $23; $25 = HEAP32[307600]|0; $26 = ($25|0)<($3|0); $27 = HEAP32[(1407484)>>2]|0; $28 = (($3) + 2)|0; $29 = $26 ? $27 : $28; $30 = ($24|0)>($29|0); $31 = HEAP32[307599]|0; $32 = ($31|0)<($2|0); $33 = HEAP32[(1407480)>>2]|0; $34 = $32 ? $33 : $19; $35 = ($1|0)<(2); $36 = (($1) + -2)|0; $37 = $35 ? 0 : $36; $38 = HEAP32[307598]|0; $39 = ($38|0)<($1|0); $40 = HEAP32[(1407476)>>2]|0; $41 = (($1) + 2)|0; $42 = $39 ? $40 : $41; $43 = ($37|0)>($42|0); $44 = HEAP32[307600]|0; $45 = ($44|0)<($3|0); $46 = HEAP32[(1407484)>>2]|0; $47 = $45 ? $46 : $28; $48 = HEAP32[307598]|0; $49 = ($48|0)<($1|0); $50 = HEAP32[(1407476)>>2]|0; $51 = $49 ? $50 : $41; $$04148 = $15; L10: while(1) { if (!($30)) { $$044 = $24; while(1) { if (!($43)) { $$04243 = $37; while(1) { $54 = (_World_GetBlock($$04243,$$04148,$$044)|0); $55 = ($54<<16>>16)==(19); if ($55) { break L10; } $52 = (($$04243) + 1)|0; $53 = ($$04243|0)<($51|0); if ($53) { $$04243 = $52; } else { break; } } } $56 = (($$044) + 1)|0; $57 = ($$044|0)<($47|0); if ($57) { $$044 = $56; } else { break; } } } $58 = (($$04148) + 1)|0; $59 = ($$04148|0)<($34|0); if ($59) { $$04148 = $58; } else { break L8; } } return; } } while(0); $60 = $0 | 671088640; _TickQueue_Enqueue(1230368,$60); _Game_UpdateBlock($1,$2,$3,8); return; } function _World_GetBlock($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; $3 = HEAP32[(1407472)>>2]|0; $4 = Math_imul($3, $1)|0; $5 = (($4) + ($2))|0; $6 = HEAP32[(1407464)>>2]|0; $7 = Math_imul($5, $6)|0; $8 = (($7) + ($0))|0; $9 = HEAP32[351863]|0; $10 = (($9) + ($8)|0); $11 = HEAP8[$10>>0]|0; $12 = $11&255; $13 = HEAP32[(1407456)>>2]|0; $14 = (($13) + ($8)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = $16 << 8; $18 = $17 | $12; $19 = HEAP32[(1407508)>>2]|0; $20 = $18 & $19; $21 = $20&65535; return ($21|0); } function _Physics_Free() { var label = 0, sp = 0; sp = STACKTOP; _Event_Unregister((1254196),0,271); return; } function _Physics_Tick() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP8[1226244]|0; $1 = ($0<<24>>24)!=(0); $2 = HEAP32[351863]|0; $3 = ($2|0)!=(0|0); $or$cond = $1 & $3; if (!($or$cond)) { return; } _Physics_TickLava(); _Physics_TickWater(); $4 = HEAP32[307601]|0; $5 = (($4) + 1)|0; HEAP32[307601] = $5; _Physics_TickRandomBlocks(); return; } function _Physics_TickLava() { var $$01314 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $switch = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; $1 = HEAP32[(1230356)>>2]|0; $2 = ($1|0)>(0); if (!($2)) { STACKTOP = sp;return; } $$01314 = 0; while(1) { $3 = (_Physics_CheckItem(1230344,$0)|0); $4 = ($3<<24>>24)==(0); if (!($4)) { $5 = HEAP32[351863]|0; $6 = HEAP32[$0>>2]|0; $7 = (($5) + ($6)|0); $8 = HEAP8[$7>>0]|0; $9 = $8 & -2; $switch = ($9<<24>>24)==(10); if ($switch) { $10 = $8&255; _Physics_ActivateLava($6,$10); } } $11 = (($$01314) + 1)|0; $exitcond = ($11|0)==($1|0); if ($exitcond) { break; } else { $$01314 = $11; } } STACKTOP = sp;return; } function _Physics_TickWater() { var $$01314 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $switch = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; $1 = HEAP32[(1230380)>>2]|0; $2 = ($1|0)>(0); if (!($2)) { STACKTOP = sp;return; } $$01314 = 0; while(1) { $3 = (_Physics_CheckItem(1230368,$0)|0); $4 = ($3<<24>>24)==(0); if (!($4)) { $5 = HEAP32[351863]|0; $6 = HEAP32[$0>>2]|0; $7 = (($5) + ($6)|0); $8 = HEAP8[$7>>0]|0; $9 = $8 & -2; $switch = ($9<<24>>24)==(8); if ($switch) { $10 = $8&255; _Physics_ActivateWater($6,$10); } } $11 = (($$01314) + 1)|0; $exitcond = ($11|0)==($1|0); if ($exitcond) { break; } else { $$01314 = $11; } } STACKTOP = sp;return; } function _Physics_TickRandomBlocks() { var $$06270 = 0, $$06364 = 0, $$065 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[(1407468)>>2]|0; $1 = ($0|0)>(0); if (!($1)) { return; } $$06270 = 0; while(1) { $2 = $$06270 | 15; $3 = HEAP32[(1407480)>>2]|0; $4 = ($2|0)<($3|0); $5 = $4 ? $2 : $3; $6 = HEAP32[(1407472)>>2]|0; $7 = ($6|0)>(0); if ($7) { $$065 = 0; while(1) { $8 = $$065 | 15; $9 = HEAP32[(1407484)>>2]|0; $10 = ($8|0)<($9|0); $11 = $10 ? $8 : $9; $12 = HEAP32[(1407464)>>2]|0; $13 = ($12|0)>(0); if ($13) { $$06364 = 0;$22 = $12; while(1) { $14 = $$06364 | 15; $15 = HEAP32[(1407476)>>2]|0; $16 = ($14|0)<($15|0); $17 = $16 ? $14 : $15; $18 = HEAP32[(1407472)>>2]|0; $19 = Math_imul($18, $$06270)|0; $20 = (($19) + ($$065))|0; $21 = Math_imul($20, $22)|0; $23 = (($21) + ($$06364))|0; $24 = Math_imul($18, $5)|0; $25 = (($24) + ($11))|0; $26 = Math_imul($25, $22)|0; $27 = (($26) + ($17))|0; $28 = (_Random_Range($23,$27)|0); $29 = HEAP32[351863]|0; $30 = (($29) + ($28)|0); $31 = HEAP8[$30>>0]|0; $32 = $31&255; $33 = (1227272 + ($32<<2)|0); $34 = HEAP32[$33>>2]|0; $35 = ($34|0)==(0|0); if (!($35)) { $36 = $31&255; FUNCTION_TABLE_vii[$34 & 127]($28,$36); } $37 = (_Random_Range($23,$27)|0); $38 = HEAP32[351863]|0; $39 = (($38) + ($37)|0); $40 = HEAP8[$39>>0]|0; $41 = $40&255; $42 = (1227272 + ($41<<2)|0); $43 = HEAP32[$42>>2]|0; $44 = ($43|0)==(0|0); if (!($44)) { $45 = $40&255; FUNCTION_TABLE_vii[$43 & 127]($37,$45); } $46 = (_Random_Range($23,$27)|0); $47 = HEAP32[351863]|0; $48 = (($47) + ($46)|0); $49 = HEAP8[$48>>0]|0; $50 = $49&255; $51 = (1227272 + ($50<<2)|0); $52 = HEAP32[$51>>2]|0; $53 = ($52|0)==(0|0); if (!($53)) { $54 = $49&255; FUNCTION_TABLE_vii[$52 & 127]($46,$54); } $55 = (($$06364) + 16)|0; $56 = HEAP32[(1407464)>>2]|0; $57 = ($55|0)<($56|0); if ($57) { $$06364 = $55;$22 = $56; } else { break; } } } $58 = (($$065) + 16)|0; $59 = HEAP32[(1407472)>>2]|0; $60 = ($58|0)<($59|0); if ($60) { $$065 = $58; } else { break; } } } $61 = (($$06270) + 16)|0; $62 = HEAP32[(1407468)>>2]|0; $63 = ($61|0)<($62|0); if ($63) { $$06270 = $61; } else { break; } } return; } function _Random_Range($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (($1) - ($0))|0; $3 = (_Random_Next(535440,$2)|0); $4 = (($3) + ($0))|0; return ($4|0); } function _Physics_CheckItem($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (_TickQueue_Dequeue($0)|0); $3 = $2 & 134217727; HEAP32[$1>>2] = $3; $4 = ($2>>>0)>(134217727); if (!($4)) { $$0 = 1; return ($$0|0); } $5 = (($2) + -134217728)|0; _TickQueue_Enqueue($0,$5); $$0 = 0; return ($$0|0); } function _TickQueue_Dequeue($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; $2 = ((($0)) + 16|0); $3 = HEAP32[$2>>2]|0; $4 = (($1) + ($3<<2)|0); $5 = HEAP32[$4>>2]|0; $6 = (($3) + 1)|0; $7 = ((($0)) + 8|0); $8 = HEAP32[$7>>2]|0; $9 = $8 & $6; HEAP32[$2>>2] = $9; $10 = ((($0)) + 12|0); $11 = HEAP32[$10>>2]|0; $12 = (($11) + -1)|0; HEAP32[$10>>2] = $12; return ($5|0); } function _Builder_Init() { var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; HEAP32[104] = -1; HEAP32[(420)>>2] = 1; HEAP32[(424)>>2] = -18; HEAP32[(428)>>2] = 18; HEAP32[(432)>>2] = -324; HEAP32[(436)>>2] = 324; $0 = HEAP8[1408229]|0; $1 = ($0<<24>>24)==(0); if (!($1)) { _Builder_ApplyActive(); return; } $2 = (_Options_GetBool(33272,0)|0); HEAP8[1408208] = $2; _Builder_ApplyActive(); return; } function _Builder_OnNewMapLoaded() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[(1407516)>>2]|0; $1 = HEAP32[(1407520)>>2]|0; $2 = (($1) + ($0))|0; $3 = ($2|0)>(0); $spec$select = $3 ? $2 : 0; HEAP32[307602] = $spec$select; $4 = ($0|0)>(0); $5 = $4 ? $0 : 0; HEAP32[307603] = $5; return; } function _Builder_ApplyActive() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP8[1408208]|0; $1 = ($0<<24>>24)==(0); if ($1) { _NormalBuilder_SetActive(); return; } else { _AdvBuilder_SetActive(); return; } } function _AdvBuilder_SetActive() { var label = 0, sp = 0; sp = STACKTOP; _Builder_SetDefault(); HEAP32[307604] = 1; HEAP32[307605] = 1; HEAP32[307606] = 2; HEAP32[307607] = 272; HEAP32[307616] = 3; return; } function _NormalBuilder_SetActive() { var label = 0, sp = 0; sp = STACKTOP; _Builder_SetDefault(); HEAP32[307604] = 2; HEAP32[307605] = 3; HEAP32[307606] = 4; HEAP32[307607] = 273; return; } function _Builder_SetDefault() { var label = 0, sp = 0; sp = STACKTOP; HEAP32[307604] = 0; HEAP32[307605] = 0; HEAP32[307606] = 0; HEAP32[307607] = 0; HEAP32[307616] = 4; return; } function _NormalBuilder_StretchXLiquid($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; var $$0 = 0, $$02331 = 0, $$02432 = 0, $$02432$in = 0, $$02533 = 0, $$02533$in = 0, $$026 = 0, $$02629 = 0, $$02634 = 0, $$lobit = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; var $20 = 0, $21 = 0, $22 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond30 = 0, label = 0, sp = 0; sp = STACKTOP; $6 = (_Builder_OccludedLiquid($4)|0); $7 = ($6<<24>>24)==(0); if (!($7)) { $$0 = 0; return ($$0|0); } $8 = $5&65535; $9 = (1225476 + ($8)|0); $10 = HEAP8[$9>>0]|0; $$lobit = $10 & 32; $$02629 = (($1) + 1)|0; $11 = HEAP32[307615]|0; $12 = ($$02629|0)>=($11|0); $13 = ($$lobit<<24>>24)==(0); $or$cond30 = $13 | $12; if ($or$cond30) { $$0 = 1; return ($$0|0); } $$02331 = 1;$$02432$in = $0;$$02533$in = $4;$$02634 = $$02629; while(1) { $$02432 = (($$02432$in) + 6)|0; $$02533 = (($$02533$in) + 1)|0; $14 = (_Normal_CanStretch($5,$$02533,$$02634,$2,$3,5)|0); $15 = ($14<<24>>24)==(0); if ($15) { $$0 = $$02331; label = 7; break; } $16 = (_Builder_OccludedLiquid($$02533)|0); $17 = ($16<<24>>24)==(0); if (!($17)) { $$0 = $$02331; label = 7; break; } $18 = HEAP32[307608]|0; $19 = (($18) + ($$02432)|0); HEAP8[$19>>0] = 0; $20 = (($$02331) + 1)|0; $$026 = (($$02634) + 1)|0; $21 = HEAP32[307615]|0; $22 = ($$026|0)>=($21|0); $or$cond = $13 | $22; if ($or$cond) { $$0 = $20; label = 7; break; } else { $$02331 = $20;$$02432$in = $$02432;$$02533$in = $$02533;$$02634 = $$026; } } if ((label|0) == 7) { return ($$0|0); } return (0)|0; } function _NormalBuilder_StretchX($0,$1,$2,$3,$4,$5,$6) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; $6 = $6|0; var $$021$lcssa = 0, $$02128 = 0, $$022 = 0, $$02225 = 0, $$02230 = 0, $$02331 = 0, $$02331$in = 0, $$029 = 0, $$029$in = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; var $21 = 0, $22 = 0, $23 = 0, $7 = 0, $8 = 0, $9 = 0, $brmerge = 0, $brmerge27 = 0, label = 0, sp = 0; sp = STACKTOP; $7 = $5&65535; $8 = (1225476 + ($7)|0); $9 = HEAP8[$8>>0]|0; $10 = $9&255; $11 = $6&255; $12 = 1 << $11; $13 = $12 & $10; $14 = ($13|0)==(0); $$02225 = (($1) + 1)|0; $15 = HEAP32[307615]|0; $16 = ($$02225|0)>=($15|0); $brmerge27 = $14 | $16; if ($brmerge27) { $$021$lcssa = 1; return ($$021$lcssa|0); } $$02128 = 1;$$02230 = $$02225;$$02331$in = $4;$$029$in = $0; while(1) { $$029 = (($$029$in) + 6)|0; $$02331 = (($$02331$in) + 1)|0; $17 = (_Normal_CanStretch($5,$$02331,$$02230,$2,$3,$6)|0); $18 = ($17<<24>>24)==(0); if ($18) { $$021$lcssa = $$02128; label = 5; break; } $19 = HEAP32[307608]|0; $20 = (($19) + ($$029)|0); HEAP8[$20>>0] = 0; $21 = (($$02128) + 1)|0; $$022 = (($$02230) + 1)|0; $22 = HEAP32[307615]|0; $23 = ($$022|0)>=($22|0); $brmerge = $14 | $23; if ($brmerge) { $$021$lcssa = $21; label = 5; break; } else { $$02128 = $21;$$02230 = $$022;$$02331$in = $$02331;$$029$in = $$029; } } if ((label|0) == 5) { return ($$021$lcssa|0); } return (0)|0; } function _NormalBuilder_StretchZ($0,$1,$2,$3,$4,$5,$6) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; $6 = $6|0; var $$021$lcssa = 0, $$02128 = 0, $$022 = 0, $$02225 = 0, $$02230 = 0, $$02331 = 0, $$02331$in = 0, $$029 = 0, $$029$in = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; var $21 = 0, $22 = 0, $23 = 0, $7 = 0, $8 = 0, $9 = 0, $brmerge = 0, $brmerge27 = 0, label = 0, sp = 0; sp = STACKTOP; $7 = $5&65535; $8 = (1225476 + ($7)|0); $9 = HEAP8[$8>>0]|0; $10 = $9&255; $11 = $6&255; $12 = 1 << $11; $13 = $12 & $10; $14 = ($13|0)==(0); $$02225 = (($3) + 1)|0; $15 = HEAP32[307613]|0; $16 = ($$02225|0)>=($15|0); $brmerge27 = $14 | $16; if ($brmerge27) { $$021$lcssa = 1; return ($$021$lcssa|0); } $$02128 = 1;$$02230 = $$02225;$$02331$in = $4;$$029$in = $0; while(1) { $$029 = (($$029$in) + 96)|0; $$02331 = (($$02331$in) + 18)|0; $17 = (_Normal_CanStretch($5,$$02331,$1,$2,$$02230,$6)|0); $18 = ($17<<24>>24)==(0); if ($18) { $$021$lcssa = $$02128; label = 5; break; } $19 = HEAP32[307608]|0; $20 = (($19) + ($$029)|0); HEAP8[$20>>0] = 0; $21 = (($$02128) + 1)|0; $$022 = (($$02230) + 1)|0; $22 = HEAP32[307613]|0; $23 = ($$022|0)>=($22|0); $brmerge = $14 | $23; if ($brmerge) { $$021$lcssa = $21; label = 5; break; } else { $$02128 = $21;$$02230 = $$022;$$02331$in = $$02331;$$029$in = $$029; } } if ((label|0) == 5) { return ($$021$lcssa|0); } return (0)|0; } function _NormalBuilder_RenderBlock($0) { $0 = $0|0; var $$sroa$0$0$$sroa_idx = 0, $$sroa$0$0$copyload = 0.0, $$sroa$076$0$$sroa_idx = 0, $$sroa$076$0$copyload = 0.0, $$sroa$4$0$$sroa_idx72 = 0, $$sroa$4$0$copyload = 0.0, $$sroa$478$0$$sroa_idx79 = 0, $$sroa$478$0$copyload = 0.0, $$sroa$5$0$$sroa_idx74 = 0, $$sroa$5$0$copyload = 0.0, $$sroa$581$0$$sroa_idx82 = 0, $$sroa$581$0$copyload = 0.0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0; var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; var $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0; var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0.0, $68 = 0.0, $69 = 0.0; var $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP16[704098]|0; $2 = $1&65535; $3 = (583428 + ($2)|0); $4 = HEAP8[$3>>0]|0; $5 = ($4<<24>>24)==(5); if ($5) { $6 = (571140 + ($2)|0); $7 = HEAP8[$6>>0]|0; HEAP8[1408209] = $7; $8 = (585732 + ($2)|0); $9 = HEAP8[$8>>0]|0; HEAP8[1408210] = $9; _Builder_DrawSprite(); return; } $10 = HEAP32[307608]|0; $11 = (($10) + ($0)|0); $12 = HEAP8[$11>>0]|0; $13 = $12&255; $14 = (($0) + 1)|0; $15 = (($10) + ($14)|0); $16 = HEAP8[$15>>0]|0; $17 = $16&255; $18 = (($0) + 2)|0; $19 = (($10) + ($18)|0); $20 = HEAP8[$19>>0]|0; $21 = $20&255; $22 = (($0) + 3)|0; $23 = (($10) + ($22)|0); $24 = HEAP8[$23>>0]|0; $25 = $24&255; $26 = (($0) + 4)|0; $27 = (($10) + ($26)|0); $28 = HEAP8[$27>>0]|0; $29 = $28&255; $30 = (($0) + 5)|0; $31 = (($10) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = $32&255; $34 = ($16<<24>>24)==(0); $35 = $16 | $12; $36 = ($20<<24>>24)==(0); $37 = $35 | $20; $38 = ($24<<24>>24)==(0); $39 = $37 | $24; $40 = ($28<<24>>24)==(0); $41 = $39 | $28; $42 = ($32<<24>>24)==(0); $43 = $41 | $32; $44 = ($43<<24>>24)==(0); if ($44) { return; } $45 = ($12<<24>>24)==(0); $46 = (571140 + ($2)|0); $47 = HEAP8[$46>>0]|0; $48 = ($4<<24>>24)==(3); $49 = $48&1; $50 = $49 << 9; $51 = (582660 + ($2)|0); $52 = HEAP8[$51>>0]|0; $53 = $52&255; $54 = (588036 + (($2*12)|0)|0); ;HEAP32[(1241064)>>2]=HEAP32[$54>>2]|0;HEAP32[(1241064)+4>>2]=HEAP32[$54+4>>2]|0;HEAP32[(1241064)+8>>2]=HEAP32[$54+8>>2]|0; $55 = +HEAPF32[(1241068)>>2]; $56 = 1.0 - $55; HEAPF32[(1241068)>>2] = $56; $57 = (597252 + (($2*12)|0)|0); ;HEAP32[(1241076)>>2]=HEAP32[$57>>2]|0;HEAP32[(1241076)+4>>2]=HEAP32[$57+4>>2]|0;HEAP32[(1241076)+8>>2]=HEAP32[$57+8>>2]|0; $58 = +HEAPF32[(1241080)>>2]; $59 = 1.0 - $58; HEAPF32[(1241080)>>2] = $59; $$sroa$076$0$$sroa_idx = (606468 + (($2*12)|0)|0); $$sroa$076$0$copyload = +HEAPF32[$$sroa$076$0$$sroa_idx>>2]; $$sroa$478$0$$sroa_idx79 = (((606468 + (($2*12)|0)|0)) + 4|0); $$sroa$478$0$copyload = +HEAPF32[$$sroa$478$0$$sroa_idx79>>2]; $$sroa$581$0$$sroa_idx82 = (((606468 + (($2*12)|0)|0)) + 8|0); $$sroa$581$0$copyload = +HEAPF32[$$sroa$581$0$$sroa_idx82>>2]; $$sroa$0$0$$sroa_idx = (615684 + (($2*12)|0)|0); $$sroa$0$0$copyload = +HEAPF32[$$sroa$0$0$$sroa_idx>>2]; $$sroa$4$0$$sroa_idx72 = (((615684 + (($2*12)|0)|0)) + 4|0); $$sroa$4$0$copyload = +HEAPF32[$$sroa$4$0$$sroa_idx72>>2]; $$sroa$5$0$$sroa_idx74 = (((615684 + (($2*12)|0)|0)) + 8|0); $$sroa$5$0$copyload = +HEAPF32[$$sroa$5$0$$sroa_idx74>>2]; $60 = HEAP32[307609]|0; $61 = (+($60|0)); $62 = $$sroa$076$0$copyload + $61; HEAPF32[(1241088)>>2] = $62; $63 = HEAP32[307610]|0; $64 = (+($63|0)); $65 = $$sroa$478$0$copyload + $64; HEAPF32[(1241092)>>2] = $65; $66 = HEAP32[307611]|0; $67 = (+($66|0)); $68 = $$sroa$581$0$copyload + $67; HEAPF32[(1241096)>>2] = $68; $69 = $$sroa$0$0$copyload + $61; HEAPF32[(1241100)>>2] = $69; $70 = $$sroa$4$0$copyload + $64; HEAPF32[(1241104)>>2] = $70; $71 = $$sroa$5$0$copyload + $67; HEAPF32[(1241108)>>2] = $71; $72 = (585732 + ($2)|0); $73 = HEAP8[$72>>0]|0; HEAP8[1241056] = $73; $74 = (571908 + ($2<<2)|0); $75 = HEAP32[$74>>2]|0; HEAP32[(1241060)>>2] = $75; if (!($45)) { $76 = ($2*6)|0; $77 = (624900 + ($76<<1)|0); $78 = HEAP16[$77>>1]|0; $79 = $53 & 1; $80 = $78&65535; $81 = HEAP32[(1384652)>>2]|0; $82 = ($81)?($80 >>> $81):($80); $83 = (($82) + ($50))|0; $84 = ($47<<24>>24)==(0); do { if ($84) { $85 = ($60|0)<($79|0); if ($85) { $88 = HEAP32[(1407576)>>2]|0; $90 = $88; break; } else { $86 = (($60) - ($79))|0; $87 = (_Lighting_Col_XSide_Fast($86,$63,$66)|0); $90 = $87; break; } } else { $90 = -1; } } while(0); $89 = (90000 + (($83*60)|0)|0); _Drawer_XMin($13,$90,$78,$89); } if (!($34)) { $91 = HEAP16[704098]|0; $92 = $91&65535; $93 = ($92*6)|0; $94 = $93 | 1; $95 = (624900 + ($94<<1)|0); $96 = HEAP16[$95>>1]|0; $97 = (1)?($53 >>> 1):($53); $98 = $97 & 1; $99 = $96&65535; $100 = HEAP32[(1384652)>>2]|0; $101 = ($100)?($99 >>> $100):($99); $102 = (($101) + ($50))|0; $103 = ($47<<24>>24)==(0); do { if ($103) { $104 = HEAP32[307609]|0; $105 = HEAP32[(1407476)>>2]|0; $106 = (($105) - ($98))|0; $107 = ($104|0)>($106|0); if ($107) { $112 = HEAP32[(1407576)>>2]|0; $114 = $112; break; } else { $108 = (($104) + ($98))|0; $109 = HEAP32[307610]|0; $110 = HEAP32[307611]|0; $111 = (_Lighting_Col_XSide_Fast($108,$109,$110)|0); $114 = $111; break; } } else { $114 = -1; } } while(0); $113 = (((90000 + (($102*60)|0)|0)) + 4|0); _Drawer_XMax($17,$114,$96,$113); } if (!($36)) { $115 = HEAP16[704098]|0; $116 = $115&65535; $117 = ($116*6)|0; $118 = (($117) + 2)|0; $119 = (624900 + ($118<<1)|0); $120 = HEAP16[$119>>1]|0; $121 = (2)?($53 >>> 2):($53); $122 = $121 & 1; $123 = $120&65535; $124 = HEAP32[(1384652)>>2]|0; $125 = ($124)?($123 >>> $124):($123); $126 = (($125) + ($50))|0; $127 = ($47<<24>>24)==(0); do { if ($127) { $128 = HEAP32[307611]|0; $129 = ($128|0)<($122|0); if ($129) { $134 = HEAP32[(1407580)>>2]|0; $136 = $134; break; } else { $130 = HEAP32[307609]|0; $131 = HEAP32[307610]|0; $132 = (($128) - ($122))|0; $133 = (_Lighting_Col_ZSide_Fast($130,$131,$132)|0); $136 = $133; break; } } else { $136 = -1; } } while(0); $135 = (((90000 + (($126*60)|0)|0)) + 8|0); _Drawer_ZMin($21,$136,$120,$135); } if (!($38)) { $137 = HEAP16[704098]|0; $138 = $137&65535; $139 = ($138*6)|0; $140 = (($139) + 3)|0; $141 = (624900 + ($140<<1)|0); $142 = HEAP16[$141>>1]|0; $143 = (3)?($53 >>> 3):($53); $144 = $143 & 1; $145 = $142&65535; $146 = HEAP32[(1384652)>>2]|0; $147 = ($146)?($145 >>> $146):($145); $148 = (($147) + ($50))|0; $149 = ($47<<24>>24)==(0); do { if ($149) { $150 = HEAP32[307611]|0; $151 = HEAP32[(1407484)>>2]|0; $152 = (($151) - ($144))|0; $153 = ($150|0)>($152|0); if ($153) { $158 = HEAP32[(1407580)>>2]|0; $160 = $158; break; } else { $154 = HEAP32[307609]|0; $155 = HEAP32[307610]|0; $156 = (($150) + ($144))|0; $157 = (_Lighting_Col_ZSide_Fast($154,$155,$156)|0); $160 = $157; break; } } else { $160 = -1; } } while(0); $159 = (((90000 + (($148*60)|0)|0)) + 12|0); _Drawer_ZMax($25,$160,$142,$159); } if (!($40)) { $161 = HEAP16[704098]|0; $162 = $161&65535; $163 = ($162*6)|0; $164 = (($163) + 4)|0; $165 = (624900 + ($164<<1)|0); $166 = HEAP16[$165>>1]|0; $167 = $166&65535; $168 = HEAP32[(1384652)>>2]|0; $169 = ($168)?($167 >>> $168):($167); $170 = (($169) + ($50))|0; $171 = ($47<<24>>24)==(0); if ($171) { $172 = (4)?($53 >>> 4):($53); $173 = $172 & 1; $174 = HEAP32[307609]|0; $175 = HEAP32[307610]|0; $176 = (($175) - ($173))|0; $177 = HEAP32[307611]|0; $178 = (_Lighting_Col_YMin_Fast($174,$176,$177)|0); $180 = $178; } else { $180 = -1; } $179 = (((90000 + (($170*60)|0)|0)) + 16|0); _Drawer_YMin($29,$180,$166,$179); } if ($42) { return; } $181 = HEAP16[704098]|0; $182 = $181&65535; $183 = ($182*6)|0; $184 = (($183) + 5)|0; $185 = (624900 + ($184<<1)|0); $186 = HEAP16[$185>>1]|0; $187 = $186&65535; $188 = HEAP32[(1384652)>>2]|0; $189 = ($188)?($187 >>> $188):($187); $190 = (($189) + ($50))|0; $191 = ($47<<24>>24)==(0); if ($191) { $192 = (5)?($53 >>> 5):($53); $193 = $192 & 1; $194 = HEAP32[307609]|0; $195 = HEAP32[307610]|0; $196 = $193 ^ 1; $197 = (($196) + ($195))|0; $198 = HEAP32[307611]|0; $199 = (_Lighting_Col_YMax_Fast($194,$197,$198)|0); $201 = $199; } else { $201 = -1; } $200 = (((90000 + (($190*60)|0)|0)) + 20|0); _Drawer_YMax($33,$201,$186,$200); return; } function _Builder_DrawSprite() { var $$0 = 0.0, $$0311 = 0.0, $$0312 = 0.0, $$0313 = 0.0, $$0314 = 0.0, $$0315 = 0.0, $$sroa$0$0$$sroa_idx = 0, $$sroa$0$0$$sroa_idx113 = 0, $$sroa$0$0$$sroa_idx115 = 0, $$sroa$0$0$$sroa_idx117 = 0, $$sroa$0$0$$sroa_idx119 = 0, $$sroa$0$0$$sroa_idx121 = 0, $$sroa$0$0$$sroa_idx123 = 0, $$sroa$0$0$$sroa_idx125 = 0, $$sroa$0$0$$sroa_idx127 = 0, $$sroa$0$0$$sroa_idx129 = 0, $$sroa$0$0$$sroa_idx132 = 0, $$sroa$0$0$$sroa_idx134 = 0, $$sroa$0$0$$sroa_idx136 = 0, $$sroa$0$0$$sroa_idx138 = 0; var $$sroa$0$0$$sroa_idx140 = 0, $$sroa$0$0$$sroa_idx142 = 0, $$sroa$26$0$$sroa_idx144 = 0, $$sroa$26$0$$sroa_idx145 = 0, $$sroa$26$0$$sroa_idx147 = 0, $$sroa$26$0$$sroa_idx149 = 0, $$sroa$26$0$$sroa_idx151 = 0, $$sroa$26$0$$sroa_idx153 = 0, $$sroa$26$0$$sroa_idx155 = 0, $$sroa$26$0$$sroa_idx157 = 0, $$sroa$26$0$$sroa_idx159 = 0, $$sroa$26$0$$sroa_idx161 = 0, $$sroa$26$0$$sroa_idx164 = 0, $$sroa$26$0$$sroa_idx166 = 0, $$sroa$26$0$$sroa_idx168 = 0, $$sroa$26$0$$sroa_idx170 = 0, $$sroa$26$0$$sroa_idx172 = 0, $$sroa$26$0$$sroa_idx174 = 0, $$sroa$38$0$$sroa_idx176 = 0, $$sroa$38$0$$sroa_idx177 = 0; var $$sroa$38$0$$sroa_idx179 = 0, $$sroa$38$0$$sroa_idx181 = 0, $$sroa$38$0$$sroa_idx183 = 0, $$sroa$38$0$$sroa_idx185 = 0, $$sroa$38$0$$sroa_idx187 = 0, $$sroa$38$0$$sroa_idx189 = 0, $$sroa$38$0$$sroa_idx191 = 0, $$sroa$38$0$$sroa_idx193 = 0, $$sroa$38$0$$sroa_idx196 = 0, $$sroa$38$0$$sroa_idx198 = 0, $$sroa$38$0$$sroa_idx200 = 0, $$sroa$38$0$$sroa_idx202 = 0, $$sroa$38$0$$sroa_idx204 = 0, $$sroa$38$0$$sroa_idx206 = 0, $$sroa$46$0 = 0, $$sroa$46$0$$sroa_idx208 = 0, $$sroa$46$0$$sroa_idx209 = 0, $$sroa$46$0$$sroa_idx211 = 0, $$sroa$46$0$$sroa_idx213 = 0, $$sroa$46$0$$sroa_idx215 = 0; var $$sroa$46$0$$sroa_idx217 = 0, $$sroa$46$0$$sroa_idx219 = 0, $$sroa$46$0$$sroa_idx221 = 0, $$sroa$46$0$$sroa_idx223 = 0, $$sroa$46$0$$sroa_idx225 = 0, $$sroa$46$0$$sroa_idx228 = 0, $$sroa$46$0$$sroa_idx230 = 0, $$sroa$46$0$$sroa_idx232 = 0, $$sroa$46$0$$sroa_idx234 = 0, $$sroa$46$0$$sroa_idx236 = 0, $$sroa$46$0$$sroa_idx238 = 0, $$sroa$49$0$$sroa_idx240 = 0, $$sroa$49$0$$sroa_idx241 = 0, $$sroa$49$0$$sroa_idx243 = 0, $$sroa$49$0$$sroa_idx245 = 0, $$sroa$49$0$$sroa_idx247 = 0, $$sroa$49$0$$sroa_idx249 = 0, $$sroa$49$0$$sroa_idx251 = 0, $$sroa$49$0$$sroa_idx253 = 0, $$sroa$49$0$$sroa_idx255 = 0; var $$sroa$49$0$$sroa_idx257 = 0, $$sroa$49$0$$sroa_idx260 = 0, $$sroa$49$0$$sroa_idx262 = 0, $$sroa$49$0$$sroa_idx264 = 0, $$sroa$49$0$$sroa_idx266 = 0, $$sroa$49$0$$sroa_idx268 = 0, $$sroa$49$0$$sroa_idx270 = 0, $$sroa$57$0$$sroa_idx272 = 0, $$sroa$57$0$$sroa_idx273 = 0, $$sroa$57$0$$sroa_idx275 = 0, $$sroa$57$0$$sroa_idx277 = 0, $$sroa$57$0$$sroa_idx279 = 0, $$sroa$57$0$$sroa_idx281 = 0, $$sroa$57$0$$sroa_idx283 = 0, $$sroa$57$0$$sroa_idx285 = 0, $$sroa$57$0$$sroa_idx287 = 0, $$sroa$57$0$$sroa_idx289 = 0, $$sroa$57$0$$sroa_idx292 = 0, $$sroa$57$0$$sroa_idx294 = 0, $$sroa$57$0$$sroa_idx296 = 0; var $$sroa$57$0$$sroa_idx298 = 0, $$sroa$57$0$$sroa_idx300 = 0, $$sroa$57$0$$sroa_idx302 = 0, $0 = 0, $1 = 0.0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0; var $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0; var $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0.0; var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0.0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; var $79 = 0, $8 = 0.0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0.0, $90 = 0, $91 = 0, $92 = 0, $spec$select = 0.0, $spec$select316 = 0.0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[307609]|0; $1 = (+($0|0)); $2 = HEAP32[307610]|0; $3 = (+($2|0)); $4 = HEAP32[307611]|0; $5 = (+($4|0)); $6 = $1 + 0.15625; $7 = $5 + 0.15625; $8 = $1 + 0.84375; $9 = $3 + 1.0; $10 = $5 + 0.84375; $11 = HEAP16[704098]|0; $12 = $11&65535; $13 = ($12*6)|0; $14 = $13 | 1; $15 = (624900 + ($14<<1)|0); $16 = HEAP16[$15>>1]|0; $17 = $16&65535; $18 = HEAP32[(1384648)>>2]|0; $19 = $18 & $17; $20 = (+($19|0)); $21 = +HEAPF32[(1384656)>>2]; $22 = $21 * $20; $23 = $21 * 0.99937498569488525; $24 = $23 + $22; $25 = (587268 + ($12)|0); $26 = HEAP8[$25>>0]|0; $27 = $26 & -2; $28 = ($27<<24>>24)==(6); if ($28) { $29 = ($4*1217)|0; $30 = (($29) + ($0))|0; $31 = $30 & 2147483647; _Random_Seed(535448,$31); $32 = (_Random_Range_29(-3)|0); $33 = (+($32|0)); $34 = $33 * 0.0625; $35 = (_Random_Range_29(0)|0); $36 = (+($35|0)); $37 = $36 * 0.0625; $38 = (_Random_Range_29(-3)|0); $39 = (+($38|0)); $40 = $39 * 0.0625; $41 = $34 + -0.10625000298023224; $42 = $6 + $41; $43 = $34 + 0.10625000298023224; $44 = $8 + $43; $45 = $40 + -0.10625000298023224; $46 = $7 + $45; $47 = $40 + 0.10625000298023224; $48 = $10 + $47; $49 = ($26<<24>>24)==(7); $50 = $3 - $37; $51 = $9 - $37; $spec$select = $49 ? $50 : $3; $spec$select316 = $49 ? $51 : $9; $$0 = $48;$$0311 = $spec$select316;$$0312 = $44;$$0313 = $46;$$0314 = $spec$select;$$0315 = $42; } else { $$0 = $10;$$0311 = $9;$$0312 = $8;$$0313 = $7;$$0314 = $3;$$0315 = $6; } $52 = HEAP32[(1384652)>>2]|0; $53 = ($52)?($17 >>> $52):($17); $54 = HEAP8[1408209]|0; $55 = ($54<<24>>24)==(0); if ($55) { $56 = HEAP32[307609]|0; $57 = HEAP32[307610]|0; $58 = HEAP32[307611]|0; $59 = (_Lighting_Col_Sprite_Fast($56,$57,$58)|0); $67 = $59; } else { $67 = -1; } $60 = HEAP16[704098]|0; $61 = $60&65535; $62 = (585732 + ($61)|0); $63 = HEAP8[$62>>0]|0; $64 = ($63<<24>>24)==(0); if ($64) { $$sroa$46$0 = $67; } else { $65 = (571908 + ($61<<2)|0); $66 = HEAP32[$65>>2]|0; $68 = (_PackedCol_Tint($67,$66)|0); $$sroa$46$0 = $68; } $69 = (((90000 + (($53*60)|0)|0)) + 52|0); $70 = HEAP32[$69>>2]|0; $71 = HEAP32[307612]|0; $$sroa$0$0$$sroa_idx113 = (($71) + (($70*24)|0)|0); HEAPF32[$$sroa$0$0$$sroa_idx113>>2] = $$0315; $$sroa$26$0$$sroa_idx145 = (((($71) + (($70*24)|0)|0)) + 4|0); HEAPF32[$$sroa$26$0$$sroa_idx145>>2] = $$0314; $$sroa$38$0$$sroa_idx177 = (((($71) + (($70*24)|0)|0)) + 8|0); HEAPF32[$$sroa$38$0$$sroa_idx177>>2] = $$0313; $$sroa$46$0$$sroa_idx209 = (((($71) + (($70*24)|0)|0)) + 12|0); HEAP32[$$sroa$46$0$$sroa_idx209>>2] = $$sroa$46$0; $$sroa$49$0$$sroa_idx241 = (((($71) + (($70*24)|0)|0)) + 16|0); HEAPF32[$$sroa$49$0$$sroa_idx241>>2] = 0.99937498569488525; $$sroa$57$0$$sroa_idx273 = (((($71) + (($70*24)|0)|0)) + 20|0); HEAPF32[$$sroa$57$0$$sroa_idx273>>2] = $24; $72 = (($70) + 1)|0; $$sroa$0$0$$sroa_idx117 = (($71) + (($72*24)|0)|0); HEAPF32[$$sroa$0$0$$sroa_idx117>>2] = $$0315; $$sroa$26$0$$sroa_idx149 = (((($71) + (($72*24)|0)|0)) + 4|0); HEAPF32[$$sroa$26$0$$sroa_idx149>>2] = $$0311; $$sroa$38$0$$sroa_idx181 = (((($71) + (($72*24)|0)|0)) + 8|0); HEAPF32[$$sroa$38$0$$sroa_idx181>>2] = $$0313; $$sroa$46$0$$sroa_idx213 = (((($71) + (($72*24)|0)|0)) + 12|0); HEAP32[$$sroa$46$0$$sroa_idx213>>2] = $$sroa$46$0; $$sroa$49$0$$sroa_idx245 = (((($71) + (($72*24)|0)|0)) + 16|0); HEAPF32[$$sroa$49$0$$sroa_idx245>>2] = 0.99937498569488525; $$sroa$57$0$$sroa_idx277 = (((($71) + (($72*24)|0)|0)) + 20|0); HEAPF32[$$sroa$57$0$$sroa_idx277>>2] = $22; $73 = (($70) + 2)|0; $$sroa$0$0$$sroa_idx119 = (($71) + (($73*24)|0)|0); HEAPF32[$$sroa$0$0$$sroa_idx119>>2] = $$0312; $$sroa$26$0$$sroa_idx151 = (((($71) + (($73*24)|0)|0)) + 4|0); HEAPF32[$$sroa$26$0$$sroa_idx151>>2] = $$0311; $$sroa$38$0$$sroa_idx183 = (((($71) + (($73*24)|0)|0)) + 8|0); HEAPF32[$$sroa$38$0$$sroa_idx183>>2] = $$0; $$sroa$46$0$$sroa_idx215 = (((($71) + (($73*24)|0)|0)) + 12|0); HEAP32[$$sroa$46$0$$sroa_idx215>>2] = $$sroa$46$0; $$sroa$49$0$$sroa_idx247 = (((($71) + (($73*24)|0)|0)) + 16|0); HEAPF32[$$sroa$49$0$$sroa_idx247>>2] = 0.0; $$sroa$57$0$$sroa_idx279 = (((($71) + (($73*24)|0)|0)) + 20|0); HEAPF32[$$sroa$57$0$$sroa_idx279>>2] = $22; $74 = (($70) + 3)|0; $$sroa$0$0$$sroa_idx140 = (($71) + (($74*24)|0)|0); HEAPF32[$$sroa$0$0$$sroa_idx140>>2] = $$0312; $$sroa$26$0$$sroa_idx172 = (((($71) + (($74*24)|0)|0)) + 4|0); HEAPF32[$$sroa$26$0$$sroa_idx172>>2] = $$0314; $$sroa$38$0$$sroa_idx204 = (((($71) + (($74*24)|0)|0)) + 8|0); HEAPF32[$$sroa$38$0$$sroa_idx204>>2] = $$0; $$sroa$46$0$$sroa_idx236 = (((($71) + (($74*24)|0)|0)) + 12|0); HEAP32[$$sroa$46$0$$sroa_idx236>>2] = $$sroa$46$0; $$sroa$49$0$$sroa_idx268 = (((($71) + (($74*24)|0)|0)) + 16|0); HEAPF32[$$sroa$49$0$$sroa_idx268>>2] = 0.0; $$sroa$57$0$$sroa_idx300 = (((($71) + (($74*24)|0)|0)) + 20|0); HEAPF32[$$sroa$57$0$$sroa_idx300>>2] = $24; $75 = (((90000 + (($53*60)|0)|0)) + 56|0); $76 = HEAP32[$75>>2]|0; $77 = (($76) + ($70))|0; $$sroa$0$0$$sroa_idx138 = (($71) + (($77*24)|0)|0); HEAPF32[$$sroa$0$0$$sroa_idx138>>2] = $$0312; $$sroa$26$0$$sroa_idx170 = (((($71) + (($77*24)|0)|0)) + 4|0); HEAPF32[$$sroa$26$0$$sroa_idx170>>2] = $$0314; $$sroa$38$0$$sroa_idx202 = (((($71) + (($77*24)|0)|0)) + 8|0); HEAPF32[$$sroa$38$0$$sroa_idx202>>2] = $$0; $$sroa$46$0$$sroa_idx234 = (((($71) + (($77*24)|0)|0)) + 12|0); HEAP32[$$sroa$46$0$$sroa_idx234>>2] = $$sroa$46$0; $$sroa$49$0$$sroa_idx266 = (((($71) + (($77*24)|0)|0)) + 16|0); HEAPF32[$$sroa$49$0$$sroa_idx266>>2] = 0.99937498569488525; $$sroa$57$0$$sroa_idx298 = (((($71) + (($77*24)|0)|0)) + 20|0); HEAPF32[$$sroa$57$0$$sroa_idx298>>2] = $24; $78 = (($77) + 1)|0; $$sroa$0$0$$sroa_idx134 = (($71) + (($78*24)|0)|0); HEAPF32[$$sroa$0$0$$sroa_idx134>>2] = $$0312; $$sroa$26$0$$sroa_idx166 = (((($71) + (($78*24)|0)|0)) + 4|0); HEAPF32[$$sroa$26$0$$sroa_idx166>>2] = $$0311; $$sroa$38$0$$sroa_idx198 = (((($71) + (($78*24)|0)|0)) + 8|0); HEAPF32[$$sroa$38$0$$sroa_idx198>>2] = $$0; $$sroa$46$0$$sroa_idx230 = (((($71) + (($78*24)|0)|0)) + 12|0); HEAP32[$$sroa$46$0$$sroa_idx230>>2] = $$sroa$46$0; $$sroa$49$0$$sroa_idx262 = (((($71) + (($78*24)|0)|0)) + 16|0); HEAPF32[$$sroa$49$0$$sroa_idx262>>2] = 0.99937498569488525; $$sroa$57$0$$sroa_idx294 = (((($71) + (($78*24)|0)|0)) + 20|0); HEAPF32[$$sroa$57$0$$sroa_idx294>>2] = $22; $79 = (($77) + 2)|0; $$sroa$0$0$$sroa_idx132 = (($71) + (($79*24)|0)|0); HEAPF32[$$sroa$0$0$$sroa_idx132>>2] = $$0315; $$sroa$26$0$$sroa_idx164 = (((($71) + (($79*24)|0)|0)) + 4|0); HEAPF32[$$sroa$26$0$$sroa_idx164>>2] = $$0311; $$sroa$38$0$$sroa_idx196 = (((($71) + (($79*24)|0)|0)) + 8|0); HEAPF32[$$sroa$38$0$$sroa_idx196>>2] = $$0313; $$sroa$46$0$$sroa_idx228 = (((($71) + (($79*24)|0)|0)) + 12|0); HEAP32[$$sroa$46$0$$sroa_idx228>>2] = $$sroa$46$0; $$sroa$49$0$$sroa_idx260 = (((($71) + (($79*24)|0)|0)) + 16|0); HEAPF32[$$sroa$49$0$$sroa_idx260>>2] = 0.0; $$sroa$57$0$$sroa_idx292 = (((($71) + (($79*24)|0)|0)) + 20|0); HEAPF32[$$sroa$57$0$$sroa_idx292>>2] = $22; $80 = (($77) + 3)|0; $$sroa$0$0$$sroa_idx142 = (($71) + (($80*24)|0)|0); HEAPF32[$$sroa$0$0$$sroa_idx142>>2] = $$0315; $$sroa$26$0$$sroa_idx174 = (((($71) + (($80*24)|0)|0)) + 4|0); HEAPF32[$$sroa$26$0$$sroa_idx174>>2] = $$0314; $$sroa$38$0$$sroa_idx206 = (((($71) + (($80*24)|0)|0)) + 8|0); HEAPF32[$$sroa$38$0$$sroa_idx206>>2] = $$0313; $$sroa$46$0$$sroa_idx238 = (((($71) + (($80*24)|0)|0)) + 12|0); HEAP32[$$sroa$46$0$$sroa_idx238>>2] = $$sroa$46$0; $$sroa$49$0$$sroa_idx270 = (((($71) + (($80*24)|0)|0)) + 16|0); HEAPF32[$$sroa$49$0$$sroa_idx270>>2] = 0.0; $$sroa$57$0$$sroa_idx302 = (((($71) + (($80*24)|0)|0)) + 20|0); HEAPF32[$$sroa$57$0$$sroa_idx302>>2] = $24; $81 = HEAP32[$75>>2]|0; $82 = (($81) + ($77))|0; $$sroa$0$0$$sroa_idx129 = (($71) + (($82*24)|0)|0); HEAPF32[$$sroa$0$0$$sroa_idx129>>2] = $$0315; $$sroa$26$0$$sroa_idx161 = (((($71) + (($82*24)|0)|0)) + 4|0); HEAPF32[$$sroa$26$0$$sroa_idx161>>2] = $$0314; $$sroa$38$0$$sroa_idx193 = (((($71) + (($82*24)|0)|0)) + 8|0); HEAPF32[$$sroa$38$0$$sroa_idx193>>2] = $$0; $$sroa$46$0$$sroa_idx225 = (((($71) + (($82*24)|0)|0)) + 12|0); HEAP32[$$sroa$46$0$$sroa_idx225>>2] = $$sroa$46$0; $$sroa$49$0$$sroa_idx257 = (((($71) + (($82*24)|0)|0)) + 16|0); HEAPF32[$$sroa$49$0$$sroa_idx257>>2] = 0.99937498569488525; $$sroa$57$0$$sroa_idx289 = (((($71) + (($82*24)|0)|0)) + 20|0); HEAPF32[$$sroa$57$0$$sroa_idx289>>2] = $24; $83 = (($82) + 1)|0; $$sroa$0$0$$sroa_idx127 = (($71) + (($83*24)|0)|0); HEAPF32[$$sroa$0$0$$sroa_idx127>>2] = $$0315; $$sroa$26$0$$sroa_idx159 = (((($71) + (($83*24)|0)|0)) + 4|0); HEAPF32[$$sroa$26$0$$sroa_idx159>>2] = $$0311; $$sroa$38$0$$sroa_idx191 = (((($71) + (($83*24)|0)|0)) + 8|0); HEAPF32[$$sroa$38$0$$sroa_idx191>>2] = $$0; $$sroa$46$0$$sroa_idx223 = (((($71) + (($83*24)|0)|0)) + 12|0); HEAP32[$$sroa$46$0$$sroa_idx223>>2] = $$sroa$46$0; $$sroa$49$0$$sroa_idx255 = (((($71) + (($83*24)|0)|0)) + 16|0); HEAPF32[$$sroa$49$0$$sroa_idx255>>2] = 0.99937498569488525; $$sroa$57$0$$sroa_idx287 = (((($71) + (($83*24)|0)|0)) + 20|0); HEAPF32[$$sroa$57$0$$sroa_idx287>>2] = $22; $84 = (($82) + 2)|0; $$sroa$0$0$$sroa_idx125 = (($71) + (($84*24)|0)|0); HEAPF32[$$sroa$0$0$$sroa_idx125>>2] = $$0312; $$sroa$26$0$$sroa_idx157 = (((($71) + (($84*24)|0)|0)) + 4|0); HEAPF32[$$sroa$26$0$$sroa_idx157>>2] = $$0311; $$sroa$38$0$$sroa_idx189 = (((($71) + (($84*24)|0)|0)) + 8|0); HEAPF32[$$sroa$38$0$$sroa_idx189>>2] = $$0313; $$sroa$46$0$$sroa_idx221 = (((($71) + (($84*24)|0)|0)) + 12|0); HEAP32[$$sroa$46$0$$sroa_idx221>>2] = $$sroa$46$0; $$sroa$49$0$$sroa_idx253 = (((($71) + (($84*24)|0)|0)) + 16|0); HEAPF32[$$sroa$49$0$$sroa_idx253>>2] = 0.0; $$sroa$57$0$$sroa_idx285 = (((($71) + (($84*24)|0)|0)) + 20|0); HEAPF32[$$sroa$57$0$$sroa_idx285>>2] = $22; $85 = (($82) + 3)|0; $$sroa$0$0$$sroa_idx = (($71) + (($85*24)|0)|0); HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $$0312; $$sroa$26$0$$sroa_idx144 = (((($71) + (($85*24)|0)|0)) + 4|0); HEAPF32[$$sroa$26$0$$sroa_idx144>>2] = $$0314; $$sroa$38$0$$sroa_idx176 = (((($71) + (($85*24)|0)|0)) + 8|0); HEAPF32[$$sroa$38$0$$sroa_idx176>>2] = $$0313; $$sroa$46$0$$sroa_idx208 = (((($71) + (($85*24)|0)|0)) + 12|0); HEAP32[$$sroa$46$0$$sroa_idx208>>2] = $$sroa$46$0; $$sroa$49$0$$sroa_idx240 = (((($71) + (($85*24)|0)|0)) + 16|0); HEAPF32[$$sroa$49$0$$sroa_idx240>>2] = 0.0; $$sroa$57$0$$sroa_idx272 = (((($71) + (($85*24)|0)|0)) + 20|0); HEAPF32[$$sroa$57$0$$sroa_idx272>>2] = $24; $86 = HEAP32[$75>>2]|0; $87 = (($86) + ($82))|0; $$sroa$0$0$$sroa_idx136 = (($71) + (($87*24)|0)|0); HEAPF32[$$sroa$0$0$$sroa_idx136>>2] = $$0312; $$sroa$26$0$$sroa_idx168 = (((($71) + (($87*24)|0)|0)) + 4|0); HEAPF32[$$sroa$26$0$$sroa_idx168>>2] = $$0314; $$sroa$38$0$$sroa_idx200 = (((($71) + (($87*24)|0)|0)) + 8|0); HEAPF32[$$sroa$38$0$$sroa_idx200>>2] = $$0313; $$sroa$46$0$$sroa_idx232 = (((($71) + (($87*24)|0)|0)) + 12|0); HEAP32[$$sroa$46$0$$sroa_idx232>>2] = $$sroa$46$0; $$sroa$49$0$$sroa_idx264 = (((($71) + (($87*24)|0)|0)) + 16|0); HEAPF32[$$sroa$49$0$$sroa_idx264>>2] = 0.99937498569488525; $$sroa$57$0$$sroa_idx296 = (((($71) + (($87*24)|0)|0)) + 20|0); HEAPF32[$$sroa$57$0$$sroa_idx296>>2] = $24; $88 = (($87) + 1)|0; $$sroa$0$0$$sroa_idx123 = (($71) + (($88*24)|0)|0); HEAPF32[$$sroa$0$0$$sroa_idx123>>2] = $$0312; $$sroa$26$0$$sroa_idx155 = (((($71) + (($88*24)|0)|0)) + 4|0); HEAPF32[$$sroa$26$0$$sroa_idx155>>2] = $$0311; $$sroa$38$0$$sroa_idx187 = (((($71) + (($88*24)|0)|0)) + 8|0); HEAPF32[$$sroa$38$0$$sroa_idx187>>2] = $$0313; $$sroa$46$0$$sroa_idx219 = (((($71) + (($88*24)|0)|0)) + 12|0); HEAP32[$$sroa$46$0$$sroa_idx219>>2] = $$sroa$46$0; $$sroa$49$0$$sroa_idx251 = (((($71) + (($88*24)|0)|0)) + 16|0); HEAPF32[$$sroa$49$0$$sroa_idx251>>2] = 0.99937498569488525; $$sroa$57$0$$sroa_idx283 = (((($71) + (($88*24)|0)|0)) + 20|0); HEAPF32[$$sroa$57$0$$sroa_idx283>>2] = $22; $89 = (($87) + 2)|0; $$sroa$0$0$$sroa_idx115 = (($71) + (($89*24)|0)|0); HEAPF32[$$sroa$0$0$$sroa_idx115>>2] = $$0315; $$sroa$26$0$$sroa_idx147 = (((($71) + (($89*24)|0)|0)) + 4|0); HEAPF32[$$sroa$26$0$$sroa_idx147>>2] = $$0311; $$sroa$38$0$$sroa_idx179 = (((($71) + (($89*24)|0)|0)) + 8|0); HEAPF32[$$sroa$38$0$$sroa_idx179>>2] = $$0; $$sroa$46$0$$sroa_idx211 = (((($71) + (($89*24)|0)|0)) + 12|0); HEAP32[$$sroa$46$0$$sroa_idx211>>2] = $$sroa$46$0; $$sroa$49$0$$sroa_idx243 = (((($71) + (($89*24)|0)|0)) + 16|0); HEAPF32[$$sroa$49$0$$sroa_idx243>>2] = 0.0; $$sroa$57$0$$sroa_idx275 = (((($71) + (($89*24)|0)|0)) + 20|0); HEAPF32[$$sroa$57$0$$sroa_idx275>>2] = $22; $90 = (($87) + 3)|0; $$sroa$0$0$$sroa_idx121 = (($71) + (($90*24)|0)|0); HEAPF32[$$sroa$0$0$$sroa_idx121>>2] = $$0315; $$sroa$26$0$$sroa_idx153 = (((($71) + (($90*24)|0)|0)) + 4|0); HEAPF32[$$sroa$26$0$$sroa_idx153>>2] = $$0314; $$sroa$38$0$$sroa_idx185 = (((($71) + (($90*24)|0)|0)) + 8|0); HEAPF32[$$sroa$38$0$$sroa_idx185>>2] = $$0; $$sroa$46$0$$sroa_idx217 = (((($71) + (($90*24)|0)|0)) + 12|0); HEAP32[$$sroa$46$0$$sroa_idx217>>2] = $$sroa$46$0; $$sroa$49$0$$sroa_idx249 = (((($71) + (($90*24)|0)|0)) + 16|0); HEAPF32[$$sroa$49$0$$sroa_idx249>>2] = 0.0; $$sroa$57$0$$sroa_idx281 = (((($71) + (($90*24)|0)|0)) + 20|0); HEAPF32[$$sroa$57$0$$sroa_idx281>>2] = $24; $91 = HEAP32[$69>>2]|0; $92 = (($91) + 4)|0; HEAP32[$69>>2] = $92; return; } function _Random_Range_29($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (4 - ($0))|0; $2 = (_Random_Next(535448,$1)|0); $3 = (($2) + ($0))|0; return ($3|0); } function _Normal_CanStretch($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $6 = HEAP32[307614]|0; $7 = (($6) + ($1<<1)|0); $8 = HEAP16[$7>>1]|0; $9 = ($8<<16>>16)==($0<<16>>16); if (!($9)) { $$0 = 0; return ($$0|0); } $10 = $5&255; $11 = (416 + ($10<<2)|0); $12 = HEAP32[$11>>2]|0; $13 = (($12) + ($1))|0; $14 = (($6) + ($13<<1)|0); $15 = HEAP16[$14>>1]|0; $16 = (_Block_IsFaceHidden($8,$15,$5)|0); $17 = ($16<<24>>24)==(0); if (!($17)) { $$0 = 0; return ($$0|0); } $18 = HEAP8[1408209]|0; $19 = ($18<<24>>24)==(0); if (!($19)) { $$0 = 1; return ($$0|0); } $20 = HEAP32[307609]|0; $21 = HEAP32[307610]|0; $22 = HEAP32[307611]|0; $23 = (_Normal_LightCol($20,$21,$22,$5,$0)|0); $24 = (_Normal_LightCol($2,$3,$4,$5,$8)|0); $25 = ($23|0)==($24|0); $26 = $25&1; $$0 = $26; return ($$0|0); } function _Normal_LightCol($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $5 = $4&65535; $6 = (582660 + ($5)|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; $9 = $3&255; $10 = ($9)?($8 >>> $9):($8); $11 = $10 & 1; switch ($3<<24>>24) { case 0: { $12 = ($11|0)>($0|0); if ($12) { $13 = HEAP32[(1407576)>>2]|0; $$0 = $13; return ($$0|0); } else { $14 = (($0) - ($11))|0; $15 = (_Lighting_Col_XSide_Fast($14,$1,$2)|0); $$0 = $15; return ($$0|0); } break; } case 1: { $16 = HEAP32[(1407476)>>2]|0; $17 = (($16) - ($11))|0; $18 = ($17|0)<($0|0); if ($18) { $19 = HEAP32[(1407576)>>2]|0; $$0 = $19; return ($$0|0); } else { $20 = (($11) + ($0))|0; $21 = (_Lighting_Col_XSide_Fast($20,$1,$2)|0); $$0 = $21; return ($$0|0); } break; } case 2: { $22 = ($11|0)>($2|0); if ($22) { $23 = HEAP32[(1407580)>>2]|0; $$0 = $23; return ($$0|0); } else { $24 = (($2) - ($11))|0; $25 = (_Lighting_Col_ZSide_Fast($0,$1,$24)|0); $$0 = $25; return ($$0|0); } break; } case 3: { $26 = HEAP32[(1407484)>>2]|0; $27 = (($26) - ($11))|0; $28 = ($27|0)<($2|0); if ($28) { $29 = HEAP32[(1407580)>>2]|0; $$0 = $29; return ($$0|0); } else { $30 = (($11) + ($2))|0; $31 = (_Lighting_Col_ZSide_Fast($0,$1,$30)|0); $$0 = $31; return ($$0|0); } break; } case 4: { $32 = ($1|0)<(1); if ($32) { $33 = HEAP32[(1407584)>>2]|0; $$0 = $33; return ($$0|0); } else { $34 = (($1) - ($11))|0; $35 = (_Lighting_Col_YMin_Fast($0,$34,$2)|0); $$0 = $35; return ($$0|0); } break; } case 5: { $36 = HEAP32[(1407480)>>2]|0; $37 = ($36|0)>($1|0); if ($37) { $39 = (($1) + 1)|0; $40 = (($39) - ($11))|0; $41 = (_Lighting_Col_YMax_Fast($0,$40,$2)|0); $$0 = $41; return ($$0|0); } else { $38 = HEAP32[(1407572)>>2]|0; $$0 = $38; return ($$0|0); } break; } default: { $$0 = 0; return ($$0|0); } } return (0)|0; } function _Builder_OccludedLiquid($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + 324)|0; $2 = HEAP32[307614]|0; $3 = (($2) + ($1<<1)|0); $4 = HEAP16[$3>>1]|0; $5 = $4&65535; $6 = (586500 + ($5)|0); $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { $37 = 0; return ($37|0); } $9 = (($0) + 306)|0; $10 = (($2) + ($9<<1)|0); $11 = HEAP16[$10>>1]|0; $12 = $11&65535; $13 = (583428 + ($12)|0); $14 = HEAP8[$13>>0]|0; $15 = ($14<<24>>24)==(4); if ($15) { $37 = 0; return ($37|0); } $16 = (($0) + 323)|0; $17 = (($2) + ($16<<1)|0); $18 = HEAP16[$17>>1]|0; $19 = $18&65535; $20 = (583428 + ($19)|0); $21 = HEAP8[$20>>0]|0; $22 = ($21<<24>>24)==(4); if ($22) { $37 = 0; return ($37|0); } $23 = (($0) + 325)|0; $24 = (($2) + ($23<<1)|0); $25 = HEAP16[$24>>1]|0; $26 = $25&65535; $27 = (583428 + ($26)|0); $28 = HEAP8[$27>>0]|0; $29 = ($28<<24>>24)==(4); if ($29) { $37 = 0; return ($37|0); } $30 = (($0) + 342)|0; $31 = (($2) + ($30<<1)|0); $32 = HEAP16[$31>>1]|0; $33 = $32&65535; $34 = (583428 + ($33)|0); $35 = HEAP8[$34>>0]|0; $36 = ($35<<24>>24)!=(4); $phitmp = $36&1; $37 = $phitmp; return ($37|0); } function _Builder_DefaultPreStretchTiles($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var label = 0, sp = 0; sp = STACKTOP; _Mem_Set(90000,0,61440); return; } function _Adv_StretchXLiquid($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; var $$0 = 0, $$02836 = 0, $$02937 = 0, $$02937$in = 0, $$03038 = 0, $$03038$in = 0, $$031 = 0, $$03134 = 0, $$03139 = 0, $$lobit = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond35 = 0, label = 0, sp = 0; sp = STACKTOP; $6 = (_Builder_OccludedLiquid($4)|0); $7 = ($6<<24>>24)==(0); if (!($7)) { $$0 = 0; return ($$0|0); } $8 = (_Adv_ComputeLightFlags($1,$2,$3,$4)|0); HEAP32[307633] = $8; $9 = HEAP32[307618]|0; $10 = (($9) + ($4<<2)|0); HEAP32[$10>>2] = $8; $11 = $5&65535; $12 = (1225476 + ($11)|0); $13 = HEAP8[$12>>0]|0; $$lobit = $13 & 32; $$03134 = (($1) + 1)|0; $14 = HEAP32[307615]|0; $15 = ($$03134|0)>=($14|0); $16 = ($$lobit<<24>>24)==(0); $or$cond35 = $16 | $15; if ($or$cond35) { $$0 = 1; return ($$0|0); } $$02836 = 1;$$02937$in = $0;$$03038$in = $4;$$03139 = $$03134; while(1) { $$02937 = (($$02937$in) + 6)|0; $$03038 = (($$03038$in) + 1)|0; $17 = (_Adv_CanStretch($5,$$03038,$$03139,$2,$3,5)|0); $18 = ($17<<24>>24)==(0); if ($18) { $$0 = $$02836; label = 7; break; } $19 = (_Builder_OccludedLiquid($$03038)|0); $20 = ($19<<24>>24)==(0); if (!($20)) { $$0 = $$02836; label = 7; break; } $21 = HEAP32[307608]|0; $22 = (($21) + ($$02937)|0); HEAP8[$22>>0] = 0; $23 = (($$02836) + 1)|0; $$031 = (($$03139) + 1)|0; $24 = HEAP32[307615]|0; $25 = ($$031|0)>=($24|0); $or$cond = $16 | $25; if ($or$cond) { $$0 = $23; label = 7; break; } else { $$02836 = $23;$$02937$in = $$02937;$$03038$in = $$03038;$$03139 = $$031; } } if ((label|0) == 7) { return ($$0|0); } return (0)|0; } function _Adv_StretchX($0,$1,$2,$3,$4,$5,$6) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; $6 = $6|0; var $$026$lcssa = 0, $$02633 = 0, $$027 = 0, $$02730 = 0, $$02735 = 0, $$02836 = 0, $$02836$in = 0, $$034 = 0, $$034$in = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $7 = 0, $8 = 0, $9 = 0, $brmerge = 0, $brmerge32 = 0, label = 0, sp = 0; sp = STACKTOP; $7 = (_Adv_ComputeLightFlags($1,$2,$3,$4)|0); HEAP32[307633] = $7; $8 = HEAP32[307618]|0; $9 = (($8) + ($4<<2)|0); HEAP32[$9>>2] = $7; $10 = $5&65535; $11 = (1225476 + ($10)|0); $12 = HEAP8[$11>>0]|0; $13 = $12&255; $14 = $6&255; $15 = 1 << $14; $16 = $15 & $13; $17 = ($16|0)==(0); $$02730 = (($1) + 1)|0; $18 = HEAP32[307615]|0; $19 = ($$02730|0)>=($18|0); $brmerge32 = $17 | $19; if ($brmerge32) { $$026$lcssa = 1; return ($$026$lcssa|0); } $$02633 = 1;$$02735 = $$02730;$$02836$in = $4;$$034$in = $0; while(1) { $$034 = (($$034$in) + 6)|0; $$02836 = (($$02836$in) + 1)|0; $20 = (_Adv_CanStretch($5,$$02836,$$02735,$2,$3,$6)|0); $21 = ($20<<24>>24)==(0); if ($21) { $$026$lcssa = $$02633; label = 5; break; } $22 = HEAP32[307608]|0; $23 = (($22) + ($$034)|0); HEAP8[$23>>0] = 0; $24 = (($$02633) + 1)|0; $$027 = (($$02735) + 1)|0; $25 = HEAP32[307615]|0; $26 = ($$027|0)>=($25|0); $brmerge = $17 | $26; if ($brmerge) { $$026$lcssa = $24; label = 5; break; } else { $$02633 = $24;$$02735 = $$027;$$02836$in = $$02836;$$034$in = $$034; } } if ((label|0) == 5) { return ($$026$lcssa|0); } return (0)|0; } function _Adv_StretchZ($0,$1,$2,$3,$4,$5,$6) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; $6 = $6|0; var $$026$lcssa = 0, $$02633 = 0, $$027 = 0, $$02730 = 0, $$02735 = 0, $$02836 = 0, $$02836$in = 0, $$034 = 0, $$034$in = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $7 = 0, $8 = 0, $9 = 0, $brmerge = 0, $brmerge32 = 0, label = 0, sp = 0; sp = STACKTOP; $7 = (_Adv_ComputeLightFlags($1,$2,$3,$4)|0); HEAP32[307633] = $7; $8 = HEAP32[307618]|0; $9 = (($8) + ($4<<2)|0); HEAP32[$9>>2] = $7; $10 = $5&65535; $11 = (1225476 + ($10)|0); $12 = HEAP8[$11>>0]|0; $13 = $12&255; $14 = $6&255; $15 = 1 << $14; $16 = $15 & $13; $17 = ($16|0)==(0); $$02730 = (($3) + 1)|0; $18 = HEAP32[307613]|0; $19 = ($$02730|0)>=($18|0); $brmerge32 = $17 | $19; if ($brmerge32) { $$026$lcssa = 1; return ($$026$lcssa|0); } $$02633 = 1;$$02735 = $$02730;$$02836$in = $4;$$034$in = $0; while(1) { $$034 = (($$034$in) + 96)|0; $$02836 = (($$02836$in) + 18)|0; $20 = (_Adv_CanStretch($5,$$02836,$1,$2,$$02735,$6)|0); $21 = ($20<<24>>24)==(0); if ($21) { $$026$lcssa = $$02633; label = 5; break; } $22 = HEAP32[307608]|0; $23 = (($22) + ($$034)|0); HEAP8[$23>>0] = 0; $24 = (($$02633) + 1)|0; $$027 = (($$02735) + 1)|0; $25 = HEAP32[307613]|0; $26 = ($$027|0)>=($25|0); $brmerge = $17 | $26; if ($brmerge) { $$026$lcssa = $24; label = 5; break; } else { $$02633 = $24;$$02735 = $$027;$$02836$in = $$02836;$$034$in = $$034; } } if ((label|0) == 5) { return ($$026$lcssa|0); } return (0)|0; } function _Adv_RenderBlock($0) { $0 = $0|0; var $$sroa$0$0$$sroa_idx = 0, $$sroa$0$0$copyload = 0.0, $$sroa$043$0$$sroa_idx = 0, $$sroa$043$0$copyload = 0.0, $$sroa$4$0$$sroa_idx39 = 0, $$sroa$4$0$copyload = 0.0, $$sroa$445$0$$sroa_idx46 = 0, $$sroa$445$0$copyload = 0.0, $$sroa$5$0$$sroa_idx41 = 0, $$sroa$5$0$copyload = 0.0, $$sroa$548$0$$sroa_idx49 = 0, $$sroa$548$0$copyload = 0.0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; var $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0; var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP16[704098]|0; $2 = $1&65535; $3 = (583428 + ($2)|0); $4 = HEAP8[$3>>0]|0; $5 = ($4<<24>>24)==(5); if ($5) { $6 = (571140 + ($2)|0); $7 = HEAP8[$6>>0]|0; HEAP8[1408209] = $7; $8 = (585732 + ($2)|0); $9 = HEAP8[$8>>0]|0; HEAP8[1408210] = $9; _Builder_DrawSprite(); return; } $10 = HEAP32[307608]|0; $11 = (($10) + ($0)|0); $12 = HEAP8[$11>>0]|0; $13 = $12&255; $14 = (($0) + 1)|0; $15 = (($10) + ($14)|0); $16 = HEAP8[$15>>0]|0; $17 = $16&255; $18 = (($0) + 2)|0; $19 = (($10) + ($18)|0); $20 = HEAP8[$19>>0]|0; $21 = $20&255; $22 = (($0) + 3)|0; $23 = (($10) + ($22)|0); $24 = HEAP8[$23>>0]|0; $25 = $24&255; $26 = (($0) + 4)|0; $27 = (($10) + ($26)|0); $28 = HEAP8[$27>>0]|0; $29 = $28&255; $30 = (($0) + 5)|0; $31 = (($10) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = $32&255; $34 = ($16<<24>>24)==(0); $35 = $16 | $12; $36 = ($20<<24>>24)==(0); $37 = $35 | $20; $38 = ($24<<24>>24)==(0); $39 = $37 | $24; $40 = ($28<<24>>24)==(0); $41 = $39 | $28; $42 = ($32<<24>>24)==(0); $43 = $41 | $32; $44 = ($43<<24>>24)==(0); if ($44) { return; } $45 = ($12<<24>>24)==(0); $46 = (571140 + ($2)|0); $47 = HEAP8[$46>>0]|0; HEAP8[1408209] = $47; $48 = ($4<<24>>24)==(3); $49 = $48&1; $50 = $49 << 9; HEAP32[307619] = $50; $51 = (585732 + ($2)|0); $52 = HEAP8[$51>>0]|0; HEAP8[1408210] = $52; $$sroa$043$0$$sroa_idx = (606468 + (($2*12)|0)|0); $$sroa$043$0$copyload = +HEAPF32[$$sroa$043$0$$sroa_idx>>2]; $$sroa$445$0$$sroa_idx46 = (((606468 + (($2*12)|0)|0)) + 4|0); $$sroa$445$0$copyload = +HEAPF32[$$sroa$445$0$$sroa_idx46>>2]; $$sroa$548$0$$sroa_idx49 = (((606468 + (($2*12)|0)|0)) + 8|0); $$sroa$548$0$copyload = +HEAPF32[$$sroa$548$0$$sroa_idx49>>2]; $$sroa$0$0$$sroa_idx = (615684 + (($2*12)|0)|0); $$sroa$0$0$copyload = +HEAPF32[$$sroa$0$0$$sroa_idx>>2]; $$sroa$4$0$$sroa_idx39 = (((615684 + (($2*12)|0)|0)) + 4|0); $$sroa$4$0$copyload = +HEAPF32[$$sroa$4$0$$sroa_idx39>>2]; $$sroa$5$0$$sroa_idx41 = (((615684 + (($2*12)|0)|0)) + 8|0); $$sroa$5$0$copyload = +HEAPF32[$$sroa$5$0$$sroa_idx41>>2]; $53 = HEAP32[307609]|0; $54 = (+($53|0)); $55 = $$sroa$043$0$copyload + $54; HEAPF32[307620] = $55; $56 = HEAP32[307610]|0; $57 = (+($56|0)); $58 = $$sroa$445$0$copyload + $57; HEAPF32[307621] = $58; $59 = HEAP32[307611]|0; $60 = (+($59|0)); $61 = $$sroa$548$0$copyload + $60; HEAPF32[307622] = $61; $62 = $$sroa$0$0$copyload + $54; HEAPF32[307623] = $62; $63 = $$sroa$4$0$copyload + $57; HEAPF32[307624] = $63; $64 = $$sroa$5$0$copyload + $60; HEAPF32[307625] = $64; $65 = (588036 + (($2*12)|0)|0); ;HEAP32[1230504>>2]=HEAP32[$65>>2]|0;HEAP32[1230504+4>>2]=HEAP32[$65+4>>2]|0;HEAP32[1230504+8>>2]=HEAP32[$65+8>>2]|0; $66 = (597252 + (($2*12)|0)|0); ;HEAP32[1230516>>2]=HEAP32[$66>>2]|0;HEAP32[1230516+4>>2]=HEAP32[$66+4>>2]|0;HEAP32[1230516+8>>2]=HEAP32[$66+8>>2]|0; $67 = +HEAPF32[(1230508)>>2]; $68 = 1.0 - $67; HEAPF32[(1230508)>>2] = $68; $69 = +HEAPF32[(1230520)>>2]; $70 = 1.0 - $69; HEAPF32[(1230520)>>2] = $70; if (!($45)) { _Adv_DrawXMin($13); } if (!($34)) { _Adv_DrawXMax($17); } if (!($36)) { _Adv_DrawZMin($21); } if (!($38)) { _Adv_DrawZMax($25); } if (!($40)) { _Adv_DrawYMin($29); } if ($42) { return; } _Adv_DrawYMax($33); return; } function _Adv_PreStretchTiles($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$014 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0; var $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; _Builder_DefaultPreStretchTiles($0,$1,$2); $3 = HEAP32[307617]|0; HEAP32[307618] = $3; $$014 = 0; while(1) { $4 = HEAP32[(1407588)>>2]|0; $5 = HEAP32[(1407572)>>2]|0; $6 = (+($$014|0)); $7 = $6 * 0.25; $8 = (_PackedCol_Lerp($4,$5,$7)|0); $9 = (151440 + ($$014<<2)|0); HEAP32[$9>>2] = $8; $10 = HEAP32[(1407592)>>2]|0; $11 = HEAP32[(1407576)>>2]|0; $12 = (_PackedCol_Lerp($10,$11,$7)|0); $13 = (151472 + ($$014<<2)|0); HEAP32[$13>>2] = $12; $14 = HEAP32[(1407596)>>2]|0; $15 = HEAP32[(1407580)>>2]|0; $16 = (_PackedCol_Lerp($14,$15,$7)|0); $17 = (151504 + ($$014<<2)|0); HEAP32[$17>>2] = $16; $18 = HEAP32[(1407600)>>2]|0; $19 = HEAP32[(1407584)>>2]|0; $20 = (_PackedCol_Lerp($18,$19,$7)|0); $21 = (151536 + ($$014<<2)|0); HEAP32[$21>>2] = $20; $22 = (($$014) + 1)|0; $exitcond = ($22|0)==(5); if ($exitcond) { break; } else { $$014 = $22; } } return; } function _Adv_DrawXMin($0) { $0 = $0|0; var $$0 = 0, $$0204 = 0, $$0205 = 0, $$0205$sink = 0, $$0206 = 0, $$0207 = 0, $$sink = 0.0, $$sink208 = 0.0, $$sink209 = 0, $$sink212 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$11$0$$sroa_idx17 = 0, $$sroa$11$0$$sroa_idx19 = 0, $$sroa$11$0$$sroa_idx23 = 0, $$sroa$11$0$$sroa_idx25 = 0, $$sroa$11$0$$sroa_idx27 = 0, $$sroa$11$0$$sroa_idx29 = 0, $$sroa$15$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx33 = 0, $$sroa$15$0$$sroa_idx35 = 0; var $$sroa$15$0$$sroa_idx39 = 0, $$sroa$15$0$$sroa_idx41 = 0, $$sroa$15$0$$sroa_idx43 = 0, $$sroa$15$0$$sroa_idx45 = 0, $$sroa$20$0$$sroa_idx48 = 0, $$sroa$20$0$$sroa_idx49 = 0, $$sroa$20$0$$sroa_idx51 = 0, $$sroa$20$0$$sroa_idx55 = 0, $$sroa$20$0$$sroa_idx57 = 0, $$sroa$20$0$$sroa_idx59 = 0, $$sroa$20$0$$sroa_idx61 = 0, $$sroa$28$0$$sroa_idx64 = 0, $$sroa$28$0$$sroa_idx65 = 0, $$sroa$28$0$$sroa_idx67 = 0, $$sroa$28$0$$sroa_idx71 = 0, $$sroa$28$0$$sroa_idx73 = 0, $$sroa$28$0$$sroa_idx75 = 0, $$sroa$28$0$$sroa_idx77 = 0, $$sroa$33$0$$sroa_idx80 = 0, $$sroa$33$0$$sroa_idx81 = 0; var $$sroa$33$0$$sroa_idx87 = 0, $$sroa$33$0$$sroa_idx89 = 0, $$sroa$33$0$$sroa_idx91 = 0, $$sroa$33$0$$sroa_idx93 = 0, $1 = 0, $10 = 0.0, $100 = 0, $101 = 0, $102 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0; var $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0.0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; var $94 = 0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP16[704098]|0; $2 = $1&65535; $3 = ($2*6)|0; $4 = (624900 + ($3<<1)|0); $5 = HEAP16[$4>>1]|0; $6 = $5&65535; $7 = HEAP32[(1384648)>>2]|0; $8 = $7 & $6; $9 = (+($8|0)); $10 = +HEAPF32[(1384656)>>2]; $11 = $10 * $9; $12 = HEAP32[(1230512)>>2]|0; $13 = (($0) + -1)|0; $14 = (+($13|0)); $15 = +HEAPF32[(1230524)>>2]; $16 = $15 * 0.99937498569488525; $17 = $16 + $14; $18 = +HEAPF32[(1230520)>>2]; $19 = $10 * $18; $20 = $11 + $19; $21 = +HEAPF32[(1230508)>>2]; $22 = $10 * $21; $23 = $22 * 0.99937498569488525; $24 = $11 + $23; $25 = HEAP32[307619]|0; $26 = HEAP32[(1384652)>>2]|0; $27 = ($26)?($6 >>> $26):($6); $28 = (($27) + ($25))|0; $29 = HEAP32[307618]|0; $30 = HEAP32[307632]|0; $31 = (($29) + ($30<<2)|0); $32 = HEAP32[$31>>2]|0; $33 = $32 & 1; $34 = (1)?($32 >>> 1):($32); $35 = $34 & 1; $36 = (9)?($32 >>> 9):($32); $37 = $36 & 1; $38 = (10)?($32 >>> 10):($32); $39 = $38 & 1; $40 = (($37) + ($39))|0; $41 = (($40) + ($33))|0; $42 = (($41) + ($35))|0; $43 = (18)?($32 >>> 18):($32); $44 = $43 & 1; $45 = (19)?($32 >>> 19):($32); $46 = $45 & 1; $47 = (($37) + ($39))|0; $48 = (($47) + ($46))|0; $49 = (($48) + ($44))|0; $50 = (2)?($32 >>> 2):($32); $51 = $50 & 1; $52 = (11)?($32 >>> 11):($32); $53 = $52 & 1; $54 = (($53) + ($39))|0; $55 = (($54) + ($35))|0; $56 = (($55) + ($51))|0; $57 = (20)?($32 >>> 20):($32); $58 = $57 & 1; $59 = (($53) + ($39))|0; $60 = (($59) + ($46))|0; $61 = (($60) + ($58))|0; $62 = HEAP8[1408209]|0; $63 = ($62<<24>>24)==(0); if ($63) { $64 = (151472 + ($42<<2)|0); $65 = HEAP32[$64>>2]|0; $66 = (151472 + ($56<<2)|0); $67 = HEAP32[$66>>2]|0; $68 = (151472 + ($61<<2)|0); $69 = HEAP32[$68>>2]|0; $70 = (151472 + ($49<<2)|0); $71 = HEAP32[$70>>2]|0; $76 = $65;$78 = $67;$80 = $69;$82 = $71; } else { $76 = -1;$78 = -1;$80 = -1;$82 = -1; } $72 = HEAP8[1408210]|0; $73 = ($72<<24>>24)==(0); if ($73) { $$0 = $76;$$0205 = $82;$$0206 = $80;$$0207 = $78; } else { $74 = (571908 + ($2<<2)|0); $75 = HEAP32[$74>>2]|0; $77 = (_PackedCol_Tint($76,$75)|0); $79 = (_PackedCol_Tint($78,$75)|0); $81 = (_PackedCol_Tint($80,$75)|0); $83 = (_PackedCol_Tint($82,$75)|0); $$0 = $77;$$0205 = $83;$$0206 = $81;$$0207 = $79; } $84 = (90000 + (($28*60)|0)|0); $85 = HEAP32[$84>>2]|0; $86 = HEAP32[307620]|0; $87 = (($42) + ($61))|0; $88 = (($49) + ($56))|0; $89 = ($87>>>0)>($88>>>0); $90 = HEAP32[307624]|0; if ($89) { $91 = HEAP32[307622]|0; $92 = ((($85)) + 24|0); HEAP32[$85>>2] = $86; $$sroa$11$0$$sroa_idx16 = ((($85)) + 4|0); HEAP32[$$sroa$11$0$$sroa_idx16>>2] = $90; $$sroa$15$0$$sroa_idx32 = ((($85)) + 8|0); HEAP32[$$sroa$15$0$$sroa_idx32>>2] = $91; $$sroa$20$0$$sroa_idx48 = ((($85)) + 12|0); HEAP32[$$sroa$20$0$$sroa_idx48>>2] = $$0207; $$sroa$28$0$$sroa_idx64 = ((($85)) + 16|0); HEAP32[$$sroa$28$0$$sroa_idx64>>2] = $12; $$sroa$33$0$$sroa_idx80 = ((($85)) + 20|0); HEAPF32[$$sroa$33$0$$sroa_idx80>>2] = $20; $93 = HEAP32[307621]|0; $94 = ((($85)) + 48|0); HEAP32[$92>>2] = $86; $$sroa$11$0$$sroa_idx17 = ((($85)) + 28|0); HEAP32[$$sroa$11$0$$sroa_idx17>>2] = $93; $$sroa$15$0$$sroa_idx33 = ((($85)) + 32|0); HEAP32[$$sroa$15$0$$sroa_idx33>>2] = $91; $$sroa$20$0$$sroa_idx49 = ((($85)) + 36|0); HEAP32[$$sroa$20$0$$sroa_idx49>>2] = $$0; $$sroa$28$0$$sroa_idx65 = ((($85)) + 40|0); HEAP32[$$sroa$28$0$$sroa_idx65>>2] = $12; $$sroa$33$0$$sroa_idx81 = ((($85)) + 44|0); HEAPF32[$$sroa$33$0$$sroa_idx81>>2] = $24; $95 = +HEAPF32[307625]; $96 = $95 + $14; HEAP32[$94>>2] = $86; $$sroa$11$0$$sroa_idx19 = ((($85)) + 52|0); HEAP32[$$sroa$11$0$$sroa_idx19>>2] = $93; $$sroa$15$0$$sroa_idx35 = ((($85)) + 56|0); HEAPF32[$$sroa$15$0$$sroa_idx35>>2] = $96; $$sroa$20$0$$sroa_idx51 = ((($85)) + 60|0); HEAP32[$$sroa$20$0$$sroa_idx51>>2] = $$0205; $$sroa$28$0$$sroa_idx67 = ((($85)) + 64|0); HEAPF32[$$sroa$28$0$$sroa_idx67>>2] = $17; $$0205$sink = $$0206;$$sink = $20;$$sink208 = $96;$$sink209 = $90; $$sink212 = ((($85)) + 72|0); $$sroa$33$0$$sroa_idx91 = ((($85)) + 68|0); HEAPF32[$$sroa$33$0$$sroa_idx91>>2] = $24; HEAP32[$$sink212>>2] = $86; $$sroa$11$0$$sroa_idx29 = ((($85)) + 76|0); HEAP32[$$sroa$11$0$$sroa_idx29>>2] = $$sink209; $$sroa$15$0$$sroa_idx45 = ((($85)) + 80|0); HEAPF32[$$sroa$15$0$$sroa_idx45>>2] = $$sink208; $$sroa$20$0$$sroa_idx61 = ((($85)) + 84|0); HEAP32[$$sroa$20$0$$sroa_idx61>>2] = $$0205$sink; $$sroa$28$0$$sroa_idx77 = ((($85)) + 88|0); HEAPF32[$$sroa$28$0$$sroa_idx77>>2] = $17; $$sroa$33$0$$sroa_idx93 = ((($85)) + 92|0); HEAPF32[$$sroa$33$0$$sroa_idx93>>2] = $$sink; $$0204 = ((($85)) + 96|0); HEAP32[$84>>2] = $$0204; return; } else { $97 = +HEAPF32[307625]; $98 = $97 + $14; $99 = ((($85)) + 24|0); HEAP32[$85>>2] = $86; $$sroa$11$0$$sroa_idx23 = ((($85)) + 4|0); HEAP32[$$sroa$11$0$$sroa_idx23>>2] = $90; $$sroa$15$0$$sroa_idx39 = ((($85)) + 8|0); HEAPF32[$$sroa$15$0$$sroa_idx39>>2] = $98; $$sroa$20$0$$sroa_idx55 = ((($85)) + 12|0); HEAP32[$$sroa$20$0$$sroa_idx55>>2] = $$0206; $$sroa$28$0$$sroa_idx71 = ((($85)) + 16|0); HEAPF32[$$sroa$28$0$$sroa_idx71>>2] = $17; $$sroa$33$0$$sroa_idx87 = ((($85)) + 20|0); HEAPF32[$$sroa$33$0$$sroa_idx87>>2] = $20; $100 = HEAP32[307622]|0; $101 = ((($85)) + 48|0); HEAP32[$99>>2] = $86; $$sroa$11$0$$sroa_idx25 = ((($85)) + 28|0); HEAP32[$$sroa$11$0$$sroa_idx25>>2] = $90; $$sroa$15$0$$sroa_idx41 = ((($85)) + 32|0); HEAP32[$$sroa$15$0$$sroa_idx41>>2] = $100; $$sroa$20$0$$sroa_idx57 = ((($85)) + 36|0); HEAP32[$$sroa$20$0$$sroa_idx57>>2] = $$0207; $$sroa$28$0$$sroa_idx73 = ((($85)) + 40|0); HEAP32[$$sroa$28$0$$sroa_idx73>>2] = $12; $$sroa$33$0$$sroa_idx89 = ((($85)) + 44|0); HEAPF32[$$sroa$33$0$$sroa_idx89>>2] = $20; $102 = HEAP32[307621]|0; HEAP32[$101>>2] = $86; $$sroa$11$0$$sroa_idx27 = ((($85)) + 52|0); HEAP32[$$sroa$11$0$$sroa_idx27>>2] = $102; $$sroa$15$0$$sroa_idx43 = ((($85)) + 56|0); HEAP32[$$sroa$15$0$$sroa_idx43>>2] = $100; $$sroa$20$0$$sroa_idx59 = ((($85)) + 60|0); HEAP32[$$sroa$20$0$$sroa_idx59>>2] = $$0; $$sroa$28$0$$sroa_idx75 = ((($85)) + 64|0); HEAP32[$$sroa$28$0$$sroa_idx75>>2] = $12; $$0205$sink = $$0205;$$sink = $24;$$sink208 = $98;$$sink209 = $102; $$sink212 = ((($85)) + 72|0); $$sroa$33$0$$sroa_idx91 = ((($85)) + 68|0); HEAPF32[$$sroa$33$0$$sroa_idx91>>2] = $24; HEAP32[$$sink212>>2] = $86; $$sroa$11$0$$sroa_idx29 = ((($85)) + 76|0); HEAP32[$$sroa$11$0$$sroa_idx29>>2] = $$sink209; $$sroa$15$0$$sroa_idx45 = ((($85)) + 80|0); HEAPF32[$$sroa$15$0$$sroa_idx45>>2] = $$sink208; $$sroa$20$0$$sroa_idx61 = ((($85)) + 84|0); HEAP32[$$sroa$20$0$$sroa_idx61>>2] = $$0205$sink; $$sroa$28$0$$sroa_idx77 = ((($85)) + 88|0); HEAPF32[$$sroa$28$0$$sroa_idx77>>2] = $17; $$sroa$33$0$$sroa_idx93 = ((($85)) + 92|0); HEAPF32[$$sroa$33$0$$sroa_idx93>>2] = $$sink; $$0204 = ((($85)) + 96|0); HEAP32[$84>>2] = $$0204; return; } } function _Adv_DrawXMax($0) { $0 = $0|0; var $$0 = 0, $$0$sink = 0, $$0203 = 0, $$0204 = 0, $$0205 = 0, $$0206 = 0, $$0206$sink = 0, $$sink = 0.0, $$sink207 = 0, $$sink209 = 0, $$sink212 = 0, $$sink213 = 0.0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$11$0$$sroa_idx17 = 0, $$sroa$11$0$$sroa_idx19 = 0, $$sroa$11$0$$sroa_idx23 = 0, $$sroa$11$0$$sroa_idx25 = 0, $$sroa$11$0$$sroa_idx27 = 0, $$sroa$11$0$$sroa_idx29 = 0, $$sroa$15$0$$sroa_idx32 = 0; var $$sroa$15$0$$sroa_idx33 = 0, $$sroa$15$0$$sroa_idx35 = 0, $$sroa$15$0$$sroa_idx39 = 0, $$sroa$15$0$$sroa_idx41 = 0, $$sroa$15$0$$sroa_idx43 = 0, $$sroa$15$0$$sroa_idx45 = 0, $$sroa$20$0$$sroa_idx48 = 0, $$sroa$20$0$$sroa_idx49 = 0, $$sroa$20$0$$sroa_idx55 = 0, $$sroa$20$0$$sroa_idx57 = 0, $$sroa$20$0$$sroa_idx59 = 0, $$sroa$20$0$$sroa_idx61 = 0, $$sroa$28$0$$sroa_idx64 = 0, $$sroa$28$0$$sroa_idx65 = 0, $$sroa$28$0$$sroa_idx71 = 0, $$sroa$28$0$$sroa_idx73 = 0, $$sroa$28$0$$sroa_idx75 = 0, $$sroa$28$0$$sroa_idx77 = 0, $$sroa$33$0$$sroa_idx80 = 0, $$sroa$33$0$$sroa_idx81 = 0; var $$sroa$33$0$$sroa_idx87 = 0, $$sroa$33$0$$sroa_idx89 = 0, $$sroa$33$0$$sroa_idx91 = 0, $$sroa$33$0$$sroa_idx93 = 0, $1 = 0, $10 = 0.0, $100 = 0, $101 = 0.0, $102 = 0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0; var $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0.0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP16[704098]|0; $2 = $1&65535; $3 = ($2*6)|0; $4 = $3 | 1; $5 = (624900 + ($4<<1)|0); $6 = HEAP16[$5>>1]|0; $7 = $6&65535; $8 = HEAP32[(1384648)>>2]|0; $9 = $8 & $7; $10 = (+($9|0)); $11 = +HEAPF32[(1384656)>>2]; $12 = $11 * $10; $13 = (+($0|0)); $14 = +HEAPF32[(1230512)>>2]; $15 = $13 - $14; $16 = +HEAPF32[(1230524)>>2]; $17 = 1.0 - $16; $18 = $17 * 0.99937498569488525; $19 = +HEAPF32[(1230520)>>2]; $20 = $11 * $19; $21 = $12 + $20; $22 = +HEAPF32[(1230508)>>2]; $23 = $11 * $22; $24 = $23 * 0.99937498569488525; $25 = $12 + $24; $26 = HEAP32[307619]|0; $27 = HEAP32[(1384652)>>2]|0; $28 = ($27)?($7 >>> $27):($7); $29 = (($28) + ($26))|0; $30 = HEAP32[307618]|0; $31 = HEAP32[307632]|0; $32 = (($30) + ($31<<2)|0); $33 = HEAP32[$32>>2]|0; $34 = (6)?($33 >>> 6):($33); $35 = $34 & 1; $36 = (7)?($33 >>> 7):($33); $37 = $36 & 1; $38 = (15)?($33 >>> 15):($33); $39 = $38 & 1; $40 = (16)?($33 >>> 16):($33); $41 = $40 & 1; $42 = (($39) + ($41))|0; $43 = (($42) + ($37))|0; $44 = (($43) + ($35))|0; $45 = (24)?($33 >>> 24):($33); $46 = $45 & 1; $47 = (25)?($33 >>> 25):($33); $48 = $47 & 1; $49 = (($39) + ($41))|0; $50 = (($49) + ($48))|0; $51 = (($50) + ($46))|0; $52 = (8)?($33 >>> 8):($33); $53 = $52 & 1; $54 = (17)?($33 >>> 17):($33); $55 = $54 & 1; $56 = (($55) + ($41))|0; $57 = (($56) + ($37))|0; $58 = (($57) + ($53))|0; $59 = (26)?($33 >>> 26):($33); $60 = $59 & 1; $61 = (($55) + ($41))|0; $62 = (($61) + ($48))|0; $63 = (($62) + ($60))|0; $64 = HEAP8[1408209]|0; $65 = ($64<<24>>24)==(0); if ($65) { $66 = (151472 + ($44<<2)|0); $67 = HEAP32[$66>>2]|0; $68 = (151472 + ($58<<2)|0); $69 = HEAP32[$68>>2]|0; $70 = (151472 + ($63<<2)|0); $71 = HEAP32[$70>>2]|0; $72 = (151472 + ($51<<2)|0); $73 = HEAP32[$72>>2]|0; $78 = $67;$80 = $69;$82 = $71;$84 = $73; } else { $78 = -1;$80 = -1;$82 = -1;$84 = -1; } $74 = HEAP8[1408210]|0; $75 = ($74<<24>>24)==(0); if ($75) { $$0 = $78;$$0204 = $84;$$0205 = $82;$$0206 = $80; } else { $76 = (571908 + ($2<<2)|0); $77 = HEAP32[$76>>2]|0; $79 = (_PackedCol_Tint($78,$77)|0); $81 = (_PackedCol_Tint($80,$77)|0); $83 = (_PackedCol_Tint($82,$77)|0); $85 = (_PackedCol_Tint($84,$77)|0); $$0 = $79;$$0204 = $85;$$0205 = $83;$$0206 = $81; } $86 = (((90000 + (($29*60)|0)|0)) + 4|0); $87 = HEAP32[$86>>2]|0; $88 = HEAP32[307623]|0; $89 = (($44) + ($63))|0; $90 = (($51) + ($58))|0; $91 = ($89>>>0)>($90>>>0); $92 = HEAP32[307624]|0; if ($91) { $93 = HEAP32[307622]|0; $94 = ((($87)) + 24|0); HEAP32[$87>>2] = $88; $$sroa$11$0$$sroa_idx16 = ((($87)) + 4|0); HEAP32[$$sroa$11$0$$sroa_idx16>>2] = $92; $$sroa$15$0$$sroa_idx32 = ((($87)) + 8|0); HEAP32[$$sroa$15$0$$sroa_idx32>>2] = $93; $$sroa$20$0$$sroa_idx48 = ((($87)) + 12|0); HEAP32[$$sroa$20$0$$sroa_idx48>>2] = $$0206; $$sroa$28$0$$sroa_idx64 = ((($87)) + 16|0); HEAPF32[$$sroa$28$0$$sroa_idx64>>2] = $15; $$sroa$33$0$$sroa_idx80 = ((($87)) + 20|0); HEAPF32[$$sroa$33$0$$sroa_idx80>>2] = $21; $95 = +HEAPF32[307625]; $96 = (($0) + -1)|0; $97 = (+($96|0)); $98 = $95 + $97; $99 = ((($87)) + 48|0); HEAP32[$94>>2] = $88; $$sroa$11$0$$sroa_idx17 = ((($87)) + 28|0); HEAP32[$$sroa$11$0$$sroa_idx17>>2] = $92; $$sroa$15$0$$sroa_idx33 = ((($87)) + 32|0); HEAPF32[$$sroa$15$0$$sroa_idx33>>2] = $98; $$sroa$20$0$$sroa_idx49 = ((($87)) + 36|0); HEAP32[$$sroa$20$0$$sroa_idx49>>2] = $$0205; $$sroa$28$0$$sroa_idx65 = ((($87)) + 40|0); HEAPF32[$$sroa$28$0$$sroa_idx65>>2] = $18; $$sroa$33$0$$sroa_idx81 = ((($87)) + 44|0); HEAPF32[$$sroa$33$0$$sroa_idx81>>2] = $21; $100 = HEAP32[307621]|0; HEAP32[$99>>2] = $88; $$sroa$11$0$$sroa_idx19 = ((($87)) + 52|0); HEAP32[$$sroa$11$0$$sroa_idx19>>2] = $100; $$sroa$15$0$$sroa_idx35 = ((($87)) + 56|0); HEAPF32[$$sroa$15$0$$sroa_idx35>>2] = $98; $$0$sink = $$0204;$$0206$sink = $$0;$$sink = $25;$$sink207 = $93;$$sink209 = $100;$$sink213 = $18; $$sink212 = ((($87)) + 72|0); $$sroa$20$0$$sroa_idx59 = ((($87)) + 60|0); HEAP32[$$sroa$20$0$$sroa_idx59>>2] = $$0$sink; $$sroa$28$0$$sroa_idx75 = ((($87)) + 64|0); HEAPF32[$$sroa$28$0$$sroa_idx75>>2] = $$sink213; $$sroa$33$0$$sroa_idx91 = ((($87)) + 68|0); HEAPF32[$$sroa$33$0$$sroa_idx91>>2] = $25; HEAP32[$$sink212>>2] = $88; $$sroa$11$0$$sroa_idx29 = ((($87)) + 76|0); HEAP32[$$sroa$11$0$$sroa_idx29>>2] = $$sink209; $$sroa$15$0$$sroa_idx45 = ((($87)) + 80|0); HEAP32[$$sroa$15$0$$sroa_idx45>>2] = $$sink207; $$sroa$20$0$$sroa_idx61 = ((($87)) + 84|0); HEAP32[$$sroa$20$0$$sroa_idx61>>2] = $$0206$sink; $$sroa$28$0$$sroa_idx77 = ((($87)) + 88|0); HEAPF32[$$sroa$28$0$$sroa_idx77>>2] = $15; $$sroa$33$0$$sroa_idx93 = ((($87)) + 92|0); HEAPF32[$$sroa$33$0$$sroa_idx93>>2] = $$sink; $$0203 = ((($87)) + 96|0); HEAP32[$86>>2] = $$0203; return; } else { $101 = +HEAPF32[307625]; $102 = (($0) + -1)|0; $103 = (+($102|0)); $104 = $101 + $103; $105 = ((($87)) + 24|0); HEAP32[$87>>2] = $88; $$sroa$11$0$$sroa_idx23 = ((($87)) + 4|0); HEAP32[$$sroa$11$0$$sroa_idx23>>2] = $92; $$sroa$15$0$$sroa_idx39 = ((($87)) + 8|0); HEAPF32[$$sroa$15$0$$sroa_idx39>>2] = $104; $$sroa$20$0$$sroa_idx55 = ((($87)) + 12|0); HEAP32[$$sroa$20$0$$sroa_idx55>>2] = $$0205; $$sroa$28$0$$sroa_idx71 = ((($87)) + 16|0); HEAPF32[$$sroa$28$0$$sroa_idx71>>2] = $18; $$sroa$33$0$$sroa_idx87 = ((($87)) + 20|0); HEAPF32[$$sroa$33$0$$sroa_idx87>>2] = $21; $106 = HEAP32[307621]|0; $107 = ((($87)) + 48|0); HEAP32[$105>>2] = $88; $$sroa$11$0$$sroa_idx25 = ((($87)) + 28|0); HEAP32[$$sroa$11$0$$sroa_idx25>>2] = $106; $$sroa$15$0$$sroa_idx41 = ((($87)) + 32|0); HEAPF32[$$sroa$15$0$$sroa_idx41>>2] = $104; $$sroa$20$0$$sroa_idx57 = ((($87)) + 36|0); HEAP32[$$sroa$20$0$$sroa_idx57>>2] = $$0204; $$sroa$28$0$$sroa_idx73 = ((($87)) + 40|0); HEAPF32[$$sroa$28$0$$sroa_idx73>>2] = $18; $$sroa$33$0$$sroa_idx89 = ((($87)) + 44|0); HEAPF32[$$sroa$33$0$$sroa_idx89>>2] = $25; $108 = HEAP32[307622]|0; HEAP32[$107>>2] = $88; $$sroa$11$0$$sroa_idx27 = ((($87)) + 52|0); HEAP32[$$sroa$11$0$$sroa_idx27>>2] = $106; $$sroa$15$0$$sroa_idx43 = ((($87)) + 56|0); HEAP32[$$sroa$15$0$$sroa_idx43>>2] = $108; $$0$sink = $$0;$$0206$sink = $$0206;$$sink = $21;$$sink207 = $108;$$sink209 = $92;$$sink213 = $15; $$sink212 = ((($87)) + 72|0); $$sroa$20$0$$sroa_idx59 = ((($87)) + 60|0); HEAP32[$$sroa$20$0$$sroa_idx59>>2] = $$0$sink; $$sroa$28$0$$sroa_idx75 = ((($87)) + 64|0); HEAPF32[$$sroa$28$0$$sroa_idx75>>2] = $$sink213; $$sroa$33$0$$sroa_idx91 = ((($87)) + 68|0); HEAPF32[$$sroa$33$0$$sroa_idx91>>2] = $25; HEAP32[$$sink212>>2] = $88; $$sroa$11$0$$sroa_idx29 = ((($87)) + 76|0); HEAP32[$$sroa$11$0$$sroa_idx29>>2] = $$sink209; $$sroa$15$0$$sroa_idx45 = ((($87)) + 80|0); HEAP32[$$sroa$15$0$$sroa_idx45>>2] = $$sink207; $$sroa$20$0$$sroa_idx61 = ((($87)) + 84|0); HEAP32[$$sroa$20$0$$sroa_idx61>>2] = $$0206$sink; $$sroa$28$0$$sroa_idx77 = ((($87)) + 88|0); HEAPF32[$$sroa$28$0$$sroa_idx77>>2] = $15; $$sroa$33$0$$sroa_idx93 = ((($87)) + 92|0); HEAPF32[$$sroa$33$0$$sroa_idx93>>2] = $$sink; $$0203 = ((($87)) + 96|0); HEAP32[$86>>2] = $$0203; return; } } function _Adv_DrawZMin($0) { $0 = $0|0; var $$0 = 0, $$0204 = 0, $$0205 = 0, $$0206 = 0, $$0206$sink = 0, $$0207 = 0, $$0207$sink = 0, $$sink = 0.0, $$sink209 = 0, $$sink211 = 0.0, $$sink212 = 0.0, $$sink214 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$0$0$$sroa_idx11 = 0, $$sroa$15$0$$sroa_idx16 = 0, $$sroa$15$0$$sroa_idx17 = 0, $$sroa$15$0$$sroa_idx19 = 0, $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx25 = 0, $$sroa$15$0$$sroa_idx27 = 0; var $$sroa$20$0$$sroa_idx32 = 0, $$sroa$20$0$$sroa_idx33 = 0, $$sroa$20$0$$sroa_idx35 = 0, $$sroa$20$0$$sroa_idx39 = 0, $$sroa$20$0$$sroa_idx41 = 0, $$sroa$20$0$$sroa_idx43 = 0, $$sroa$21$0$$sroa_idx48 = 0, $$sroa$21$0$$sroa_idx49 = 0, $$sroa$21$0$$sroa_idx51 = 0, $$sroa$21$0$$sroa_idx55 = 0, $$sroa$21$0$$sroa_idx57 = 0, $$sroa$21$0$$sroa_idx59 = 0, $$sroa$29$0$$sroa_idx64 = 0, $$sroa$29$0$$sroa_idx65 = 0, $$sroa$29$0$$sroa_idx67 = 0, $$sroa$29$0$$sroa_idx71 = 0, $$sroa$29$0$$sroa_idx73 = 0, $$sroa$29$0$$sroa_idx75 = 0, $$sroa$34$0$$sroa_idx80 = 0, $$sroa$34$0$$sroa_idx81 = 0; var $$sroa$34$0$$sroa_idx83 = 0, $$sroa$34$0$$sroa_idx87 = 0, $$sroa$34$0$$sroa_idx89 = 0, $$sroa$34$0$$sroa_idx91 = 0, $1 = 0, $10 = 0.0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0; var $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; var $9 = 0, $90 = 0, $91 = 0.0, $92 = 0, $93 = 0.0, $94 = 0.0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP16[704098]|0; $2 = $1&65535; $3 = ($2*6)|0; $4 = (($3) + 2)|0; $5 = (624900 + ($4<<1)|0); $6 = HEAP16[$5>>1]|0; $7 = $6&65535; $8 = HEAP32[(1384648)>>2]|0; $9 = $8 & $7; $10 = (+($9|0)); $11 = +HEAPF32[(1384656)>>2]; $12 = $11 * $10; $13 = (+($0|0)); $14 = +HEAPF32[307626]; $15 = $13 - $14; $16 = +HEAPF32[307629]; $17 = 1.0 - $16; $18 = $17 * 0.99937498569488525; $19 = +HEAPF32[(1230520)>>2]; $20 = $11 * $19; $21 = $12 + $20; $22 = +HEAPF32[(1230508)>>2]; $23 = $11 * $22; $24 = $23 * 0.99937498569488525; $25 = $12 + $24; $26 = HEAP32[307619]|0; $27 = HEAP32[(1384652)>>2]|0; $28 = ($27)?($7 >>> $27):($7); $29 = (($28) + ($26))|0; $30 = HEAP32[307618]|0; $31 = HEAP32[307632]|0; $32 = (($30) + ($31<<2)|0); $33 = HEAP32[$32>>2]|0; $34 = $33 & 1; $35 = (1)?($33 >>> 1):($33); $36 = $35 & 1; $37 = (3)?($33 >>> 3):($33); $38 = $37 & 1; $39 = (4)?($33 >>> 4):($33); $40 = $39 & 1; $41 = (($38) + ($40))|0; $42 = (($41) + ($34))|0; $43 = (($42) + ($36))|0; $44 = (2)?($33 >>> 2):($33); $45 = $44 & 1; $46 = (5)?($33 >>> 5):($33); $47 = $46 & 1; $48 = (($47) + ($40))|0; $49 = (($48) + ($36))|0; $50 = (($49) + ($45))|0; $51 = (6)?($33 >>> 6):($33); $52 = $51 & 1; $53 = (7)?($33 >>> 7):($33); $54 = $53 & 1; $55 = (($38) + ($40))|0; $56 = (($55) + ($54))|0; $57 = (($56) + ($52))|0; $58 = (8)?($33 >>> 8):($33); $59 = $58 & 1; $60 = (($47) + ($40))|0; $61 = (($60) + ($54))|0; $62 = (($61) + ($59))|0; $63 = HEAP8[1408209]|0; $64 = ($63<<24>>24)==(0); if ($64) { $65 = (151504 + ($43<<2)|0); $66 = HEAP32[$65>>2]|0; $67 = (151504 + ($57<<2)|0); $68 = HEAP32[$67>>2]|0; $69 = (151504 + ($62<<2)|0); $70 = HEAP32[$69>>2]|0; $71 = (151504 + ($50<<2)|0); $72 = HEAP32[$71>>2]|0; $77 = $66;$79 = $68;$81 = $70;$83 = $72; } else { $77 = -1;$79 = -1;$81 = -1;$83 = -1; } $73 = HEAP8[1408210]|0; $74 = ($73<<24>>24)==(0); if ($74) { $$0 = $77;$$0205 = $83;$$0206 = $81;$$0207 = $79; } else { $75 = (571908 + ($2<<2)|0); $76 = HEAP32[$75>>2]|0; $78 = (_PackedCol_Tint($77,$76)|0); $80 = (_PackedCol_Tint($79,$76)|0); $82 = (_PackedCol_Tint($81,$76)|0); $84 = (_PackedCol_Tint($83,$76)|0); $$0 = $78;$$0205 = $84;$$0206 = $82;$$0207 = $80; } $85 = (((90000 + (($29*60)|0)|0)) + 8|0); $86 = HEAP32[$85>>2]|0; $87 = HEAP32[307622]|0; $88 = (($62) + ($43))|0; $89 = (($50) + ($57))|0; $90 = ($88>>>0)>($89>>>0); if ($90) { $91 = +HEAPF32[307623]; $92 = (($0) + -1)|0; $93 = (+($92|0)); $94 = $91 + $93; $95 = HEAP32[307621]|0; $96 = ((($86)) + 24|0); HEAPF32[$86>>2] = $94; $$sroa$15$0$$sroa_idx17 = ((($86)) + 4|0); HEAP32[$$sroa$15$0$$sroa_idx17>>2] = $95; $$sroa$20$0$$sroa_idx33 = ((($86)) + 8|0); HEAP32[$$sroa$20$0$$sroa_idx33>>2] = $87; $$sroa$21$0$$sroa_idx49 = ((($86)) + 12|0); HEAP32[$$sroa$21$0$$sroa_idx49>>2] = $$0207; $$sroa$29$0$$sroa_idx65 = ((($86)) + 16|0); HEAPF32[$$sroa$29$0$$sroa_idx65>>2] = $18; $$sroa$34$0$$sroa_idx81 = ((($86)) + 20|0); HEAPF32[$$sroa$34$0$$sroa_idx81>>2] = $25; $97 = HEAP32[307620]|0; $98 = ((($86)) + 48|0); HEAP32[$96>>2] = $97; $$sroa$15$0$$sroa_idx19 = ((($86)) + 28|0); HEAP32[$$sroa$15$0$$sroa_idx19>>2] = $95; $$sroa$20$0$$sroa_idx35 = ((($86)) + 32|0); HEAP32[$$sroa$20$0$$sroa_idx35>>2] = $87; $$sroa$21$0$$sroa_idx51 = ((($86)) + 36|0); HEAP32[$$sroa$21$0$$sroa_idx51>>2] = $$0; $$sroa$29$0$$sroa_idx67 = ((($86)) + 40|0); HEAPF32[$$sroa$29$0$$sroa_idx67>>2] = $15; $$sroa$34$0$$sroa_idx83 = ((($86)) + 44|0); HEAPF32[$$sroa$34$0$$sroa_idx83>>2] = $25; $99 = HEAP32[307624]|0; HEAP32[$98>>2] = $97; $$0206$sink = $$0205;$$0207$sink = $$0206;$$sink = $21;$$sink209 = $99;$$sink211 = $94;$$sink212 = $15;$$sink214 = $99; $$sroa$15$0$$sroa_idx16 = ((($86)) + 52|0); HEAP32[$$sroa$15$0$$sroa_idx16>>2] = $$sink214; $$sroa$20$0$$sroa_idx32 = ((($86)) + 56|0); HEAP32[$$sroa$20$0$$sroa_idx32>>2] = $87; $$sroa$21$0$$sroa_idx48 = ((($86)) + 60|0); HEAP32[$$sroa$21$0$$sroa_idx48>>2] = $$0206$sink; $$sroa$29$0$$sroa_idx64 = ((($86)) + 64|0); HEAPF32[$$sroa$29$0$$sroa_idx64>>2] = $$sink212; $$sroa$34$0$$sroa_idx80 = ((($86)) + 68|0); HEAPF32[$$sroa$34$0$$sroa_idx80>>2] = $21; $$sroa$0$0$$sroa_idx11 = ((($86)) + 72|0); HEAPF32[$$sroa$0$0$$sroa_idx11>>2] = $$sink211; $$sroa$15$0$$sroa_idx27 = ((($86)) + 76|0); HEAP32[$$sroa$15$0$$sroa_idx27>>2] = $$sink209; $$sroa$20$0$$sroa_idx43 = ((($86)) + 80|0); HEAP32[$$sroa$20$0$$sroa_idx43>>2] = $87; $$sroa$21$0$$sroa_idx59 = ((($86)) + 84|0); HEAP32[$$sroa$21$0$$sroa_idx59>>2] = $$0207$sink; $$sroa$29$0$$sroa_idx75 = ((($86)) + 88|0); HEAPF32[$$sroa$29$0$$sroa_idx75>>2] = $18; $$sroa$34$0$$sroa_idx91 = ((($86)) + 92|0); HEAPF32[$$sroa$34$0$$sroa_idx91>>2] = $$sink; $$0204 = ((($86)) + 96|0); HEAP32[$85>>2] = $$0204; return; } else { $100 = HEAP32[307620]|0; $101 = HEAP32[307621]|0; $102 = ((($86)) + 24|0); HEAP32[$86>>2] = $100; $$sroa$15$0$$sroa_idx23 = ((($86)) + 4|0); HEAP32[$$sroa$15$0$$sroa_idx23>>2] = $101; $$sroa$20$0$$sroa_idx39 = ((($86)) + 8|0); HEAP32[$$sroa$20$0$$sroa_idx39>>2] = $87; $$sroa$21$0$$sroa_idx55 = ((($86)) + 12|0); HEAP32[$$sroa$21$0$$sroa_idx55>>2] = $$0; $$sroa$29$0$$sroa_idx71 = ((($86)) + 16|0); HEAPF32[$$sroa$29$0$$sroa_idx71>>2] = $15; $$sroa$34$0$$sroa_idx87 = ((($86)) + 20|0); HEAPF32[$$sroa$34$0$$sroa_idx87>>2] = $25; $103 = HEAP32[307624]|0; HEAP32[$102>>2] = $100; $$sroa$15$0$$sroa_idx25 = ((($86)) + 28|0); HEAP32[$$sroa$15$0$$sroa_idx25>>2] = $103; $$sroa$20$0$$sroa_idx41 = ((($86)) + 32|0); HEAP32[$$sroa$20$0$$sroa_idx41>>2] = $87; $$sroa$21$0$$sroa_idx57 = ((($86)) + 36|0); HEAP32[$$sroa$21$0$$sroa_idx57>>2] = $$0205; $$sroa$29$0$$sroa_idx73 = ((($86)) + 40|0); HEAPF32[$$sroa$29$0$$sroa_idx73>>2] = $15; $$sroa$34$0$$sroa_idx89 = ((($86)) + 44|0); HEAPF32[$$sroa$34$0$$sroa_idx89>>2] = $21; $104 = +HEAPF32[307623]; $105 = (($0) + -1)|0; $106 = (+($105|0)); $107 = $104 + $106; $$sroa$0$0$$sroa_idx = ((($86)) + 48|0); HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $107; $$0206$sink = $$0206;$$0207$sink = $$0207;$$sink = $25;$$sink209 = $101;$$sink211 = $107;$$sink212 = $18;$$sink214 = $103; $$sroa$15$0$$sroa_idx16 = ((($86)) + 52|0); HEAP32[$$sroa$15$0$$sroa_idx16>>2] = $$sink214; $$sroa$20$0$$sroa_idx32 = ((($86)) + 56|0); HEAP32[$$sroa$20$0$$sroa_idx32>>2] = $87; $$sroa$21$0$$sroa_idx48 = ((($86)) + 60|0); HEAP32[$$sroa$21$0$$sroa_idx48>>2] = $$0206$sink; $$sroa$29$0$$sroa_idx64 = ((($86)) + 64|0); HEAPF32[$$sroa$29$0$$sroa_idx64>>2] = $$sink212; $$sroa$34$0$$sroa_idx80 = ((($86)) + 68|0); HEAPF32[$$sroa$34$0$$sroa_idx80>>2] = $21; $$sroa$0$0$$sroa_idx11 = ((($86)) + 72|0); HEAPF32[$$sroa$0$0$$sroa_idx11>>2] = $$sink211; $$sroa$15$0$$sroa_idx27 = ((($86)) + 76|0); HEAP32[$$sroa$15$0$$sroa_idx27>>2] = $$sink209; $$sroa$20$0$$sroa_idx43 = ((($86)) + 80|0); HEAP32[$$sroa$20$0$$sroa_idx43>>2] = $87; $$sroa$21$0$$sroa_idx59 = ((($86)) + 84|0); HEAP32[$$sroa$21$0$$sroa_idx59>>2] = $$0207$sink; $$sroa$29$0$$sroa_idx75 = ((($86)) + 88|0); HEAPF32[$$sroa$29$0$$sroa_idx75>>2] = $18; $$sroa$34$0$$sroa_idx91 = ((($86)) + 92|0); HEAPF32[$$sroa$34$0$$sroa_idx91>>2] = $$sink; $$0204 = ((($86)) + 96|0); HEAP32[$85>>2] = $$0204; return; } } function _Adv_DrawZMax($0) { $0 = $0|0; var $$0 = 0, $$0204 = 0, $$0205 = 0, $$0206 = 0, $$0207 = 0, $$0207$sink = 0, $$sink = 0.0, $$sink209 = 0, $$sink211 = 0.0, $$sroa$0$0$$sroa_idx11 = 0, $$sroa$0$0$$sroa_idx5 = 0, $$sroa$15$0$$sroa_idx16 = 0, $$sroa$15$0$$sroa_idx17 = 0, $$sroa$15$0$$sroa_idx19 = 0, $$sroa$15$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx25 = 0, $$sroa$15$0$$sroa_idx27 = 0, $$sroa$20$0$$sroa_idx32 = 0, $$sroa$20$0$$sroa_idx33 = 0; var $$sroa$20$0$$sroa_idx35 = 0, $$sroa$20$0$$sroa_idx37 = 0, $$sroa$20$0$$sroa_idx39 = 0, $$sroa$20$0$$sroa_idx41 = 0, $$sroa$20$0$$sroa_idx43 = 0, $$sroa$21$0$$sroa_idx48 = 0, $$sroa$21$0$$sroa_idx49 = 0, $$sroa$21$0$$sroa_idx51 = 0, $$sroa$21$0$$sroa_idx53 = 0, $$sroa$21$0$$sroa_idx55 = 0, $$sroa$21$0$$sroa_idx57 = 0, $$sroa$21$0$$sroa_idx59 = 0, $$sroa$29$0$$sroa_idx64 = 0, $$sroa$29$0$$sroa_idx65 = 0, $$sroa$29$0$$sroa_idx67 = 0, $$sroa$29$0$$sroa_idx69 = 0, $$sroa$29$0$$sroa_idx71 = 0, $$sroa$29$0$$sroa_idx73 = 0, $$sroa$29$0$$sroa_idx75 = 0, $$sroa$34$0$$sroa_idx80 = 0; var $$sroa$34$0$$sroa_idx81 = 0, $$sroa$34$0$$sroa_idx83 = 0, $$sroa$34$0$$sroa_idx87 = 0, $$sroa$34$0$$sroa_idx89 = 0, $$sroa$34$0$$sroa_idx91 = 0, $1 = 0, $10 = 0.0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0; var $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP16[704098]|0; $2 = $1&65535; $3 = ($2*6)|0; $4 = (($3) + 3)|0; $5 = (624900 + ($4<<1)|0); $6 = HEAP16[$5>>1]|0; $7 = $6&65535; $8 = HEAP32[(1384648)>>2]|0; $9 = $8 & $7; $10 = (+($9|0)); $11 = +HEAPF32[(1384656)>>2]; $12 = $11 * $10; $13 = HEAP32[307626]|0; $14 = (($0) + -1)|0; $15 = (+($14|0)); $16 = +HEAPF32[307629]; $17 = $16 * 0.99937498569488525; $18 = $17 + $15; $19 = +HEAPF32[(1230520)>>2]; $20 = $11 * $19; $21 = $12 + $20; $22 = +HEAPF32[(1230508)>>2]; $23 = $11 * $22; $24 = $23 * 0.99937498569488525; $25 = $12 + $24; $26 = HEAP32[307619]|0; $27 = HEAP32[(1384652)>>2]|0; $28 = ($27)?($7 >>> $27):($7); $29 = (($28) + ($26))|0; $30 = HEAP32[307618]|0; $31 = HEAP32[307632]|0; $32 = (($30) + ($31<<2)|0); $33 = HEAP32[$32>>2]|0; $34 = (18)?($33 >>> 18):($33); $35 = $34 & 1; $36 = (19)?($33 >>> 19):($33); $37 = $36 & 1; $38 = (21)?($33 >>> 21):($33); $39 = $38 & 1; $40 = (22)?($33 >>> 22):($33); $41 = $40 & 1; $42 = (($39) + ($41))|0; $43 = (($42) + ($37))|0; $44 = (($43) + ($35))|0; $45 = (24)?($33 >>> 24):($33); $46 = $45 & 1; $47 = (25)?($33 >>> 25):($33); $48 = $47 & 1; $49 = (($39) + ($41))|0; $50 = (($49) + ($48))|0; $51 = (($50) + ($46))|0; $52 = (20)?($33 >>> 20):($33); $53 = $52 & 1; $54 = (23)?($33 >>> 23):($33); $55 = $54 & 1; $56 = (($55) + ($41))|0; $57 = (($56) + ($37))|0; $58 = (($57) + ($53))|0; $59 = (26)?($33 >>> 26):($33); $60 = $59 & 1; $61 = (($55) + ($41))|0; $62 = (($61) + ($48))|0; $63 = (($62) + ($60))|0; $64 = HEAP8[1408209]|0; $65 = ($64<<24>>24)==(0); if ($65) { $66 = (151504 + ($63<<2)|0); $67 = HEAP32[$66>>2]|0; $68 = (151504 + ($51<<2)|0); $69 = HEAP32[$68>>2]|0; $70 = (151504 + ($44<<2)|0); $71 = HEAP32[$70>>2]|0; $72 = (151504 + ($58<<2)|0); $73 = HEAP32[$72>>2]|0; $78 = $71;$80 = $69;$82 = $67;$84 = $73; } else { $78 = -1;$80 = -1;$82 = -1;$84 = -1; } $74 = HEAP8[1408210]|0; $75 = ($74<<24>>24)==(0); if ($75) { $$0 = $82;$$0205 = $84;$$0206 = $78;$$0207 = $80; } else { $76 = (571908 + ($2<<2)|0); $77 = HEAP32[$76>>2]|0; $79 = (_PackedCol_Tint($78,$77)|0); $81 = (_PackedCol_Tint($80,$77)|0); $83 = (_PackedCol_Tint($82,$77)|0); $85 = (_PackedCol_Tint($84,$77)|0); $$0 = $83;$$0205 = $85;$$0206 = $79;$$0207 = $81; } $86 = (((90000 + (($29*60)|0)|0)) + 12|0); $87 = HEAP32[$86>>2]|0; $88 = HEAP32[307625]|0; $89 = (($63) + ($44))|0; $90 = (($58) + ($51))|0; $91 = ($89>>>0)>($90>>>0); if ($91) { $92 = HEAP32[307620]|0; $93 = HEAP32[307624]|0; $94 = ((($87)) + 24|0); HEAP32[$87>>2] = $92; $$sroa$15$0$$sroa_idx17 = ((($87)) + 4|0); HEAP32[$$sroa$15$0$$sroa_idx17>>2] = $93; $$sroa$20$0$$sroa_idx33 = ((($87)) + 8|0); HEAP32[$$sroa$20$0$$sroa_idx33>>2] = $88; $$sroa$21$0$$sroa_idx49 = ((($87)) + 12|0); HEAP32[$$sroa$21$0$$sroa_idx49>>2] = $$0205; $$sroa$29$0$$sroa_idx65 = ((($87)) + 16|0); HEAP32[$$sroa$29$0$$sroa_idx65>>2] = $13; $$sroa$34$0$$sroa_idx81 = ((($87)) + 20|0); HEAPF32[$$sroa$34$0$$sroa_idx81>>2] = $21; $95 = HEAP32[307621]|0; HEAP32[$94>>2] = $92; $$sroa$15$0$$sroa_idx19 = ((($87)) + 28|0); HEAP32[$$sroa$15$0$$sroa_idx19>>2] = $95; $$sroa$20$0$$sroa_idx35 = ((($87)) + 32|0); HEAP32[$$sroa$20$0$$sroa_idx35>>2] = $88; $$sroa$21$0$$sroa_idx51 = ((($87)) + 36|0); HEAP32[$$sroa$21$0$$sroa_idx51>>2] = $$0206; $$sroa$29$0$$sroa_idx67 = ((($87)) + 40|0); HEAP32[$$sroa$29$0$$sroa_idx67>>2] = $13; $$sroa$34$0$$sroa_idx83 = ((($87)) + 44|0); HEAPF32[$$sroa$34$0$$sroa_idx83>>2] = $25; $96 = +HEAPF32[307623]; $97 = $96 + $15; $$sroa$0$0$$sroa_idx5 = ((($87)) + 48|0); HEAPF32[$$sroa$0$0$$sroa_idx5>>2] = $97; $$sroa$15$0$$sroa_idx21 = ((($87)) + 52|0); HEAP32[$$sroa$15$0$$sroa_idx21>>2] = $95; $$sroa$20$0$$sroa_idx37 = ((($87)) + 56|0); HEAP32[$$sroa$20$0$$sroa_idx37>>2] = $88; $$sroa$21$0$$sroa_idx53 = ((($87)) + 60|0); HEAP32[$$sroa$21$0$$sroa_idx53>>2] = $$0207; $$sroa$29$0$$sroa_idx69 = ((($87)) + 64|0); HEAPF32[$$sroa$29$0$$sroa_idx69>>2] = $18; $$0207$sink = $$0;$$sink = $21;$$sink209 = $93;$$sink211 = $97; $$sroa$34$0$$sroa_idx80 = ((($87)) + 68|0); HEAPF32[$$sroa$34$0$$sroa_idx80>>2] = $25; $$sroa$0$0$$sroa_idx11 = ((($87)) + 72|0); HEAPF32[$$sroa$0$0$$sroa_idx11>>2] = $$sink211; $$sroa$15$0$$sroa_idx27 = ((($87)) + 76|0); HEAP32[$$sroa$15$0$$sroa_idx27>>2] = $$sink209; $$sroa$20$0$$sroa_idx43 = ((($87)) + 80|0); HEAP32[$$sroa$20$0$$sroa_idx43>>2] = $88; $$sroa$21$0$$sroa_idx59 = ((($87)) + 84|0); HEAP32[$$sroa$21$0$$sroa_idx59>>2] = $$0207$sink; $$sroa$29$0$$sroa_idx75 = ((($87)) + 88|0); HEAPF32[$$sroa$29$0$$sroa_idx75>>2] = $18; $$sroa$34$0$$sroa_idx91 = ((($87)) + 92|0); HEAPF32[$$sroa$34$0$$sroa_idx91>>2] = $$sink; $$0204 = ((($87)) + 96|0); HEAP32[$86>>2] = $$0204; return; } else { $98 = +HEAPF32[307623]; $99 = $98 + $15; $100 = HEAP32[307624]|0; $101 = ((($87)) + 24|0); HEAPF32[$87>>2] = $99; $$sroa$15$0$$sroa_idx23 = ((($87)) + 4|0); HEAP32[$$sroa$15$0$$sroa_idx23>>2] = $100; $$sroa$20$0$$sroa_idx39 = ((($87)) + 8|0); HEAP32[$$sroa$20$0$$sroa_idx39>>2] = $88; $$sroa$21$0$$sroa_idx55 = ((($87)) + 12|0); HEAP32[$$sroa$21$0$$sroa_idx55>>2] = $$0; $$sroa$29$0$$sroa_idx71 = ((($87)) + 16|0); HEAPF32[$$sroa$29$0$$sroa_idx71>>2] = $18; $$sroa$34$0$$sroa_idx87 = ((($87)) + 20|0); HEAPF32[$$sroa$34$0$$sroa_idx87>>2] = $21; $102 = HEAP32[307620]|0; $103 = ((($87)) + 48|0); HEAP32[$101>>2] = $102; $$sroa$15$0$$sroa_idx25 = ((($87)) + 28|0); HEAP32[$$sroa$15$0$$sroa_idx25>>2] = $100; $$sroa$20$0$$sroa_idx41 = ((($87)) + 32|0); HEAP32[$$sroa$20$0$$sroa_idx41>>2] = $88; $$sroa$21$0$$sroa_idx57 = ((($87)) + 36|0); HEAP32[$$sroa$21$0$$sroa_idx57>>2] = $$0205; $$sroa$29$0$$sroa_idx73 = ((($87)) + 40|0); HEAP32[$$sroa$29$0$$sroa_idx73>>2] = $13; $$sroa$34$0$$sroa_idx89 = ((($87)) + 44|0); HEAPF32[$$sroa$34$0$$sroa_idx89>>2] = $21; $104 = HEAP32[307621]|0; HEAP32[$103>>2] = $102; $$sroa$15$0$$sroa_idx16 = ((($87)) + 52|0); HEAP32[$$sroa$15$0$$sroa_idx16>>2] = $104; $$sroa$20$0$$sroa_idx32 = ((($87)) + 56|0); HEAP32[$$sroa$20$0$$sroa_idx32>>2] = $88; $$sroa$21$0$$sroa_idx48 = ((($87)) + 60|0); HEAP32[$$sroa$21$0$$sroa_idx48>>2] = $$0206; $$sroa$29$0$$sroa_idx64 = ((($87)) + 64|0); HEAP32[$$sroa$29$0$$sroa_idx64>>2] = $13; $$0207$sink = $$0207;$$sink = $25;$$sink209 = $104;$$sink211 = $99; $$sroa$34$0$$sroa_idx80 = ((($87)) + 68|0); HEAPF32[$$sroa$34$0$$sroa_idx80>>2] = $25; $$sroa$0$0$$sroa_idx11 = ((($87)) + 72|0); HEAPF32[$$sroa$0$0$$sroa_idx11>>2] = $$sink211; $$sroa$15$0$$sroa_idx27 = ((($87)) + 76|0); HEAP32[$$sroa$15$0$$sroa_idx27>>2] = $$sink209; $$sroa$20$0$$sroa_idx43 = ((($87)) + 80|0); HEAP32[$$sroa$20$0$$sroa_idx43>>2] = $88; $$sroa$21$0$$sroa_idx59 = ((($87)) + 84|0); HEAP32[$$sroa$21$0$$sroa_idx59>>2] = $$0207$sink; $$sroa$29$0$$sroa_idx75 = ((($87)) + 88|0); HEAPF32[$$sroa$29$0$$sroa_idx75>>2] = $18; $$sroa$34$0$$sroa_idx91 = ((($87)) + 92|0); HEAPF32[$$sroa$34$0$$sroa_idx91>>2] = $$sink; $$0204 = ((($87)) + 96|0); HEAP32[$86>>2] = $$0204; return; } } function _Adv_DrawYMin($0) { $0 = $0|0; var $$0 = 0, $$0204 = 0, $$0205 = 0, $$0206 = 0, $$0207 = 0, $$0207$sink = 0, $$sink = 0.0, $$sink208 = 0, $$sink211 = 0.0, $$sroa$0$0$$sroa_idx1 = 0, $$sroa$0$0$$sroa_idx3 = 0, $$sroa$15$0$$sroa_idx17 = 0, $$sroa$15$0$$sroa_idx19 = 0, $$sroa$15$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx26 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$$sroa_idx30 = 0, $$sroa$16$0$$sroa_idx33 = 0, $$sroa$16$0$$sroa_idx35 = 0; var $$sroa$16$0$$sroa_idx37 = 0, $$sroa$16$0$$sroa_idx39 = 0, $$sroa$16$0$$sroa_idx42 = 0, $$sroa$16$0$$sroa_idx44 = 0, $$sroa$16$0$$sroa_idx46 = 0, $$sroa$21$0$$sroa_idx49 = 0, $$sroa$21$0$$sroa_idx51 = 0, $$sroa$21$0$$sroa_idx53 = 0, $$sroa$21$0$$sroa_idx55 = 0, $$sroa$21$0$$sroa_idx58 = 0, $$sroa$21$0$$sroa_idx60 = 0, $$sroa$21$0$$sroa_idx62 = 0, $$sroa$29$0$$sroa_idx65 = 0, $$sroa$29$0$$sroa_idx67 = 0, $$sroa$29$0$$sroa_idx69 = 0, $$sroa$29$0$$sroa_idx71 = 0, $$sroa$29$0$$sroa_idx74 = 0, $$sroa$29$0$$sroa_idx76 = 0, $$sroa$29$0$$sroa_idx78 = 0, $$sroa$34$0$$sroa_idx81 = 0; var $$sroa$34$0$$sroa_idx83 = 0, $$sroa$34$0$$sroa_idx85 = 0, $$sroa$34$0$$sroa_idx87 = 0, $$sroa$34$0$$sroa_idx92 = 0, $$sroa$34$0$$sroa_idx94 = 0, $1 = 0, $10 = 0.0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0; var $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0; var $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP16[704098]|0; $2 = $1&65535; $3 = ($2*6)|0; $4 = (($3) + 4)|0; $5 = (624900 + ($4<<1)|0); $6 = HEAP16[$5>>1]|0; $7 = $6&65535; $8 = HEAP32[(1384648)>>2]|0; $9 = $8 & $7; $10 = (+($9|0)); $11 = +HEAPF32[(1384656)>>2]; $12 = $11 * $10; $13 = HEAP32[307626]|0; $14 = (($0) + -1)|0; $15 = (+($14|0)); $16 = +HEAPF32[307629]; $17 = $16 * 0.99937498569488525; $18 = $17 + $15; $19 = +HEAPF32[(1230512)>>2]; $20 = $11 * $19; $21 = $12 + $20; $22 = +HEAPF32[(1230524)>>2]; $23 = $11 * $22; $24 = $23 * 0.99937498569488525; $25 = $12 + $24; $26 = HEAP32[307619]|0; $27 = HEAP32[(1384652)>>2]|0; $28 = ($27)?($7 >>> $27):($7); $29 = (($28) + ($26))|0; $30 = HEAP32[307618]|0; $31 = HEAP32[307632]|0; $32 = (($30) + ($31<<2)|0); $33 = HEAP32[$32>>2]|0; $34 = $33 & 1; $35 = (9)?($33 >>> 9):($33); $36 = $35 & 1; $37 = (3)?($33 >>> 3):($33); $38 = $37 & 1; $39 = (12)?($33 >>> 12):($33); $40 = $39 & 1; $41 = (($38) + ($40))|0; $42 = (($41) + ($34))|0; $43 = (($42) + ($36))|0; $44 = (6)?($33 >>> 6):($33); $45 = $44 & 1; $46 = (15)?($33 >>> 15):($33); $47 = $46 & 1; $48 = (($38) + ($40))|0; $49 = (($48) + ($47))|0; $50 = (($49) + ($45))|0; $51 = (18)?($33 >>> 18):($33); $52 = $51 & 1; $53 = (21)?($33 >>> 21):($33); $54 = $53 & 1; $55 = (($54) + ($40))|0; $56 = (($55) + ($36))|0; $57 = (($56) + ($52))|0; $58 = (24)?($33 >>> 24):($33); $59 = $58 & 1; $60 = (($54) + ($40))|0; $61 = (($60) + ($47))|0; $62 = (($61) + ($59))|0; $63 = HEAP8[1408209]|0; $64 = ($63<<24>>24)==(0); if ($64) { $65 = (151536 + ($57<<2)|0); $66 = HEAP32[$65>>2]|0; $67 = (151536 + ($62<<2)|0); $68 = HEAP32[$67>>2]|0; $69 = (151536 + ($50<<2)|0); $70 = HEAP32[$69>>2]|0; $71 = (151536 + ($43<<2)|0); $72 = HEAP32[$71>>2]|0; $77 = $72;$79 = $70;$81 = $68;$83 = $66; } else { $77 = -1;$79 = -1;$81 = -1;$83 = -1; } $73 = HEAP8[1408210]|0; $74 = ($73<<24>>24)==(0); if ($74) { $$0 = $83;$$0205 = $77;$$0206 = $79;$$0207 = $81; } else { $75 = (571908 + ($2<<2)|0); $76 = HEAP32[$75>>2]|0; $78 = (_PackedCol_Tint($77,$76)|0); $80 = (_PackedCol_Tint($79,$76)|0); $82 = (_PackedCol_Tint($81,$76)|0); $84 = (_PackedCol_Tint($83,$76)|0); $$0 = $84;$$0205 = $78;$$0206 = $80;$$0207 = $82; } $85 = (((90000 + (($29*60)|0)|0)) + 16|0); $86 = HEAP32[$85>>2]|0; $87 = HEAP32[307621]|0; $88 = (($57) + ($50))|0; $89 = (($43) + ($62))|0; $90 = ($88>>>0)>($89>>>0); if ($90) { $91 = +HEAPF32[307623]; $92 = $91 + $15; $93 = HEAP32[307625]|0; $94 = ((($86)) + 24|0); HEAPF32[$86>>2] = $92; $$sroa$15$0$$sroa_idx30 = ((($86)) + 4|0); HEAP32[$$sroa$15$0$$sroa_idx30>>2] = $87; $$sroa$16$0$$sroa_idx46 = ((($86)) + 8|0); HEAP32[$$sroa$16$0$$sroa_idx46>>2] = $93; $$sroa$21$0$$sroa_idx62 = ((($86)) + 12|0); HEAP32[$$sroa$21$0$$sroa_idx62>>2] = $$0207; $$sroa$29$0$$sroa_idx78 = ((($86)) + 16|0); HEAPF32[$$sroa$29$0$$sroa_idx78>>2] = $18; $$sroa$34$0$$sroa_idx94 = ((($86)) + 20|0); HEAPF32[$$sroa$34$0$$sroa_idx94>>2] = $25; $95 = HEAP32[307620]|0; $96 = ((($86)) + 48|0); HEAP32[$94>>2] = $95; $$sroa$15$0$$sroa_idx28 = ((($86)) + 28|0); HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $87; $$sroa$16$0$$sroa_idx44 = ((($86)) + 32|0); HEAP32[$$sroa$16$0$$sroa_idx44>>2] = $93; $$sroa$21$0$$sroa_idx60 = ((($86)) + 36|0); HEAP32[$$sroa$21$0$$sroa_idx60>>2] = $$0; $$sroa$29$0$$sroa_idx76 = ((($86)) + 40|0); HEAP32[$$sroa$29$0$$sroa_idx76>>2] = $13; $$sroa$34$0$$sroa_idx92 = ((($86)) + 44|0); HEAPF32[$$sroa$34$0$$sroa_idx92>>2] = $25; $97 = HEAP32[307622]|0; HEAP32[$96>>2] = $95; $$sroa$15$0$$sroa_idx26 = ((($86)) + 52|0); HEAP32[$$sroa$15$0$$sroa_idx26>>2] = $87; $$sroa$16$0$$sroa_idx42 = ((($86)) + 56|0); HEAP32[$$sroa$16$0$$sroa_idx42>>2] = $97; $$sroa$21$0$$sroa_idx58 = ((($86)) + 60|0); HEAP32[$$sroa$21$0$$sroa_idx58>>2] = $$0205; $$sroa$29$0$$sroa_idx74 = ((($86)) + 64|0); HEAP32[$$sroa$29$0$$sroa_idx74>>2] = $13; $$0207$sink = $$0206;$$sink = $21;$$sink208 = $97;$$sink211 = $92; $$sroa$34$0$$sroa_idx83 = ((($86)) + 68|0); HEAPF32[$$sroa$34$0$$sroa_idx83>>2] = $21; $$sroa$0$0$$sroa_idx1 = ((($86)) + 72|0); HEAPF32[$$sroa$0$0$$sroa_idx1>>2] = $$sink211; $$sroa$15$0$$sroa_idx17 = ((($86)) + 76|0); HEAP32[$$sroa$15$0$$sroa_idx17>>2] = $87; $$sroa$16$0$$sroa_idx33 = ((($86)) + 80|0); HEAP32[$$sroa$16$0$$sroa_idx33>>2] = $$sink208; $$sroa$21$0$$sroa_idx49 = ((($86)) + 84|0); HEAP32[$$sroa$21$0$$sroa_idx49>>2] = $$0207$sink; $$sroa$29$0$$sroa_idx65 = ((($86)) + 88|0); HEAPF32[$$sroa$29$0$$sroa_idx65>>2] = $18; $$sroa$34$0$$sroa_idx81 = ((($86)) + 92|0); HEAPF32[$$sroa$34$0$$sroa_idx81>>2] = $$sink; $$0204 = ((($86)) + 96|0); HEAP32[$85>>2] = $$0204; return; } else { $98 = HEAP32[307620]|0; $99 = HEAP32[307625]|0; $100 = ((($86)) + 24|0); HEAP32[$86>>2] = $98; $$sroa$15$0$$sroa_idx23 = ((($86)) + 4|0); HEAP32[$$sroa$15$0$$sroa_idx23>>2] = $87; $$sroa$16$0$$sroa_idx39 = ((($86)) + 8|0); HEAP32[$$sroa$16$0$$sroa_idx39>>2] = $99; $$sroa$21$0$$sroa_idx55 = ((($86)) + 12|0); HEAP32[$$sroa$21$0$$sroa_idx55>>2] = $$0; $$sroa$29$0$$sroa_idx71 = ((($86)) + 16|0); HEAP32[$$sroa$29$0$$sroa_idx71>>2] = $13; $$sroa$34$0$$sroa_idx87 = ((($86)) + 20|0); HEAPF32[$$sroa$34$0$$sroa_idx87>>2] = $25; $101 = HEAP32[307622]|0; HEAP32[$100>>2] = $98; $$sroa$15$0$$sroa_idx21 = ((($86)) + 28|0); HEAP32[$$sroa$15$0$$sroa_idx21>>2] = $87; $$sroa$16$0$$sroa_idx37 = ((($86)) + 32|0); HEAP32[$$sroa$16$0$$sroa_idx37>>2] = $101; $$sroa$21$0$$sroa_idx53 = ((($86)) + 36|0); HEAP32[$$sroa$21$0$$sroa_idx53>>2] = $$0205; $$sroa$29$0$$sroa_idx69 = ((($86)) + 40|0); HEAP32[$$sroa$29$0$$sroa_idx69>>2] = $13; $$sroa$34$0$$sroa_idx85 = ((($86)) + 44|0); HEAPF32[$$sroa$34$0$$sroa_idx85>>2] = $21; $102 = +HEAPF32[307623]; $103 = $102 + $15; $$sroa$0$0$$sroa_idx3 = ((($86)) + 48|0); HEAPF32[$$sroa$0$0$$sroa_idx3>>2] = $103; $$sroa$15$0$$sroa_idx19 = ((($86)) + 52|0); HEAP32[$$sroa$15$0$$sroa_idx19>>2] = $87; $$sroa$16$0$$sroa_idx35 = ((($86)) + 56|0); HEAP32[$$sroa$16$0$$sroa_idx35>>2] = $101; $$sroa$21$0$$sroa_idx51 = ((($86)) + 60|0); HEAP32[$$sroa$21$0$$sroa_idx51>>2] = $$0206; $$sroa$29$0$$sroa_idx67 = ((($86)) + 64|0); HEAPF32[$$sroa$29$0$$sroa_idx67>>2] = $18; $$0207$sink = $$0207;$$sink = $25;$$sink208 = $99;$$sink211 = $103; $$sroa$34$0$$sroa_idx83 = ((($86)) + 68|0); HEAPF32[$$sroa$34$0$$sroa_idx83>>2] = $21; $$sroa$0$0$$sroa_idx1 = ((($86)) + 72|0); HEAPF32[$$sroa$0$0$$sroa_idx1>>2] = $$sink211; $$sroa$15$0$$sroa_idx17 = ((($86)) + 76|0); HEAP32[$$sroa$15$0$$sroa_idx17>>2] = $87; $$sroa$16$0$$sroa_idx33 = ((($86)) + 80|0); HEAP32[$$sroa$16$0$$sroa_idx33>>2] = $$sink208; $$sroa$21$0$$sroa_idx49 = ((($86)) + 84|0); HEAP32[$$sroa$21$0$$sroa_idx49>>2] = $$0207$sink; $$sroa$29$0$$sroa_idx65 = ((($86)) + 88|0); HEAPF32[$$sroa$29$0$$sroa_idx65>>2] = $18; $$sroa$34$0$$sroa_idx81 = ((($86)) + 92|0); HEAPF32[$$sroa$34$0$$sroa_idx81>>2] = $$sink; $$0204 = ((($86)) + 96|0); HEAP32[$85>>2] = $$0204; return; } } function _Adv_DrawYMax($0) { $0 = $0|0; var $$0 = 0, $$0204 = 0, $$0205 = 0, $$0206 = 0, $$0207 = 0, $$0207$sink = 0, $$sink = 0.0, $$sink208 = 0, $$sink211 = 0.0, $$sroa$0$0$$sroa_idx1 = 0, $$sroa$0$0$$sroa_idx3 = 0, $$sroa$15$0$$sroa_idx17 = 0, $$sroa$15$0$$sroa_idx19 = 0, $$sroa$15$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx26 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$$sroa_idx30 = 0, $$sroa$16$0$$sroa_idx33 = 0, $$sroa$16$0$$sroa_idx35 = 0; var $$sroa$16$0$$sroa_idx37 = 0, $$sroa$16$0$$sroa_idx39 = 0, $$sroa$16$0$$sroa_idx42 = 0, $$sroa$16$0$$sroa_idx44 = 0, $$sroa$16$0$$sroa_idx46 = 0, $$sroa$21$0$$sroa_idx49 = 0, $$sroa$21$0$$sroa_idx51 = 0, $$sroa$21$0$$sroa_idx53 = 0, $$sroa$21$0$$sroa_idx55 = 0, $$sroa$21$0$$sroa_idx58 = 0, $$sroa$21$0$$sroa_idx60 = 0, $$sroa$21$0$$sroa_idx62 = 0, $$sroa$29$0$$sroa_idx65 = 0, $$sroa$29$0$$sroa_idx67 = 0, $$sroa$29$0$$sroa_idx69 = 0, $$sroa$29$0$$sroa_idx71 = 0, $$sroa$29$0$$sroa_idx74 = 0, $$sroa$29$0$$sroa_idx76 = 0, $$sroa$29$0$$sroa_idx78 = 0, $$sroa$34$0$$sroa_idx81 = 0; var $$sroa$34$0$$sroa_idx83 = 0, $$sroa$34$0$$sroa_idx85 = 0, $$sroa$34$0$$sroa_idx87 = 0, $$sroa$34$0$$sroa_idx92 = 0, $$sroa$34$0$$sroa_idx94 = 0, $1 = 0, $10 = 0.0, $100 = 0, $101 = 0, $102 = 0, $103 = 0.0, $104 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0; var $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; var $91 = 0, $92 = 0.0, $93 = 0.0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP16[704098]|0; $2 = $1&65535; $3 = ($2*6)|0; $4 = (($3) + 5)|0; $5 = (624900 + ($4<<1)|0); $6 = HEAP16[$5>>1]|0; $7 = $6&65535; $8 = HEAP32[(1384648)>>2]|0; $9 = $8 & $7; $10 = (+($9|0)); $11 = +HEAPF32[(1384656)>>2]; $12 = $11 * $10; $13 = HEAP32[307626]|0; $14 = (($0) + -1)|0; $15 = (+($14|0)); $16 = +HEAPF32[307629]; $17 = $16 * 0.99937498569488525; $18 = $17 + $15; $19 = +HEAPF32[(1230512)>>2]; $20 = $11 * $19; $21 = $12 + $20; $22 = +HEAPF32[(1230524)>>2]; $23 = $11 * $22; $24 = $23 * 0.99937498569488525; $25 = $12 + $24; $26 = HEAP32[307619]|0; $27 = HEAP32[(1384652)>>2]|0; $28 = ($27)?($7 >>> $27):($7); $29 = (($28) + ($26))|0; $30 = HEAP32[307618]|0; $31 = HEAP32[307632]|0; $32 = (($30) + ($31<<2)|0); $33 = HEAP32[$32>>2]|0; $34 = (2)?($33 >>> 2):($33); $35 = $34 & 1; $36 = (11)?($33 >>> 11):($33); $37 = $36 & 1; $38 = (5)?($33 >>> 5):($33); $39 = $38 & 1; $40 = (14)?($33 >>> 14):($33); $41 = $40 & 1; $42 = (($39) + ($41))|0; $43 = (($42) + ($37))|0; $44 = (($43) + ($35))|0; $45 = (8)?($33 >>> 8):($33); $46 = $45 & 1; $47 = (17)?($33 >>> 17):($33); $48 = $47 & 1; $49 = (($39) + ($41))|0; $50 = (($49) + ($48))|0; $51 = (($50) + ($46))|0; $52 = (20)?($33 >>> 20):($33); $53 = $52 & 1; $54 = (23)?($33 >>> 23):($33); $55 = $54 & 1; $56 = (($55) + ($41))|0; $57 = (($56) + ($37))|0; $58 = (($57) + ($53))|0; $59 = (26)?($33 >>> 26):($33); $60 = $59 & 1; $61 = (($55) + ($41))|0; $62 = (($61) + ($48))|0; $63 = (($62) + ($60))|0; $64 = HEAP8[1408209]|0; $65 = ($64<<24>>24)==(0); if ($65) { $66 = (151440 + ($44<<2)|0); $67 = HEAP32[$66>>2]|0; $68 = (151440 + ($51<<2)|0); $69 = HEAP32[$68>>2]|0; $70 = (151440 + ($63<<2)|0); $71 = HEAP32[$70>>2]|0; $72 = (151440 + ($58<<2)|0); $73 = HEAP32[$72>>2]|0; $78 = $67;$80 = $69;$82 = $71;$84 = $73; } else { $78 = -1;$80 = -1;$82 = -1;$84 = -1; } $74 = HEAP8[1408210]|0; $75 = ($74<<24>>24)==(0); if ($75) { $$0 = $78;$$0205 = $84;$$0206 = $82;$$0207 = $80; } else { $76 = (571908 + ($2<<2)|0); $77 = HEAP32[$76>>2]|0; $79 = (_PackedCol_Tint($78,$77)|0); $81 = (_PackedCol_Tint($80,$77)|0); $83 = (_PackedCol_Tint($82,$77)|0); $85 = (_PackedCol_Tint($84,$77)|0); $$0 = $79;$$0205 = $85;$$0206 = $83;$$0207 = $81; } $86 = (((90000 + (($29*60)|0)|0)) + 20|0); $87 = HEAP32[$86>>2]|0; $88 = HEAP32[307624]|0; $89 = (($44) + ($63))|0; $90 = (($58) + ($51))|0; $91 = ($89>>>0)>($90>>>0); if ($91) { $92 = +HEAPF32[307623]; $93 = $92 + $15; $94 = HEAP32[307622]|0; $95 = ((($87)) + 24|0); HEAPF32[$87>>2] = $93; $$sroa$15$0$$sroa_idx30 = ((($87)) + 4|0); HEAP32[$$sroa$15$0$$sroa_idx30>>2] = $88; $$sroa$16$0$$sroa_idx46 = ((($87)) + 8|0); HEAP32[$$sroa$16$0$$sroa_idx46>>2] = $94; $$sroa$21$0$$sroa_idx62 = ((($87)) + 12|0); HEAP32[$$sroa$21$0$$sroa_idx62>>2] = $$0207; $$sroa$29$0$$sroa_idx78 = ((($87)) + 16|0); HEAPF32[$$sroa$29$0$$sroa_idx78>>2] = $18; $$sroa$34$0$$sroa_idx94 = ((($87)) + 20|0); HEAPF32[$$sroa$34$0$$sroa_idx94>>2] = $21; $96 = HEAP32[307620]|0; $97 = ((($87)) + 48|0); HEAP32[$95>>2] = $96; $$sroa$15$0$$sroa_idx28 = ((($87)) + 28|0); HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $88; $$sroa$16$0$$sroa_idx44 = ((($87)) + 32|0); HEAP32[$$sroa$16$0$$sroa_idx44>>2] = $94; $$sroa$21$0$$sroa_idx60 = ((($87)) + 36|0); HEAP32[$$sroa$21$0$$sroa_idx60>>2] = $$0; $$sroa$29$0$$sroa_idx76 = ((($87)) + 40|0); HEAP32[$$sroa$29$0$$sroa_idx76>>2] = $13; $$sroa$34$0$$sroa_idx92 = ((($87)) + 44|0); HEAPF32[$$sroa$34$0$$sroa_idx92>>2] = $21; $98 = HEAP32[307625]|0; HEAP32[$97>>2] = $96; $$sroa$15$0$$sroa_idx26 = ((($87)) + 52|0); HEAP32[$$sroa$15$0$$sroa_idx26>>2] = $88; $$sroa$16$0$$sroa_idx42 = ((($87)) + 56|0); HEAP32[$$sroa$16$0$$sroa_idx42>>2] = $98; $$sroa$21$0$$sroa_idx58 = ((($87)) + 60|0); HEAP32[$$sroa$21$0$$sroa_idx58>>2] = $$0205; $$sroa$29$0$$sroa_idx74 = ((($87)) + 64|0); HEAP32[$$sroa$29$0$$sroa_idx74>>2] = $13; $$0207$sink = $$0206;$$sink = $25;$$sink208 = $98;$$sink211 = $93; $$sroa$34$0$$sroa_idx83 = ((($87)) + 68|0); HEAPF32[$$sroa$34$0$$sroa_idx83>>2] = $25; $$sroa$0$0$$sroa_idx1 = ((($87)) + 72|0); HEAPF32[$$sroa$0$0$$sroa_idx1>>2] = $$sink211; $$sroa$15$0$$sroa_idx17 = ((($87)) + 76|0); HEAP32[$$sroa$15$0$$sroa_idx17>>2] = $88; $$sroa$16$0$$sroa_idx33 = ((($87)) + 80|0); HEAP32[$$sroa$16$0$$sroa_idx33>>2] = $$sink208; $$sroa$21$0$$sroa_idx49 = ((($87)) + 84|0); HEAP32[$$sroa$21$0$$sroa_idx49>>2] = $$0207$sink; $$sroa$29$0$$sroa_idx65 = ((($87)) + 88|0); HEAPF32[$$sroa$29$0$$sroa_idx65>>2] = $18; $$sroa$34$0$$sroa_idx81 = ((($87)) + 92|0); HEAPF32[$$sroa$34$0$$sroa_idx81>>2] = $$sink; $$0204 = ((($87)) + 96|0); HEAP32[$86>>2] = $$0204; return; } else { $99 = HEAP32[307620]|0; $100 = HEAP32[307622]|0; $101 = ((($87)) + 24|0); HEAP32[$87>>2] = $99; $$sroa$15$0$$sroa_idx23 = ((($87)) + 4|0); HEAP32[$$sroa$15$0$$sroa_idx23>>2] = $88; $$sroa$16$0$$sroa_idx39 = ((($87)) + 8|0); HEAP32[$$sroa$16$0$$sroa_idx39>>2] = $100; $$sroa$21$0$$sroa_idx55 = ((($87)) + 12|0); HEAP32[$$sroa$21$0$$sroa_idx55>>2] = $$0; $$sroa$29$0$$sroa_idx71 = ((($87)) + 16|0); HEAP32[$$sroa$29$0$$sroa_idx71>>2] = $13; $$sroa$34$0$$sroa_idx87 = ((($87)) + 20|0); HEAPF32[$$sroa$34$0$$sroa_idx87>>2] = $21; $102 = HEAP32[307625]|0; HEAP32[$101>>2] = $99; $$sroa$15$0$$sroa_idx21 = ((($87)) + 28|0); HEAP32[$$sroa$15$0$$sroa_idx21>>2] = $88; $$sroa$16$0$$sroa_idx37 = ((($87)) + 32|0); HEAP32[$$sroa$16$0$$sroa_idx37>>2] = $102; $$sroa$21$0$$sroa_idx53 = ((($87)) + 36|0); HEAP32[$$sroa$21$0$$sroa_idx53>>2] = $$0205; $$sroa$29$0$$sroa_idx69 = ((($87)) + 40|0); HEAP32[$$sroa$29$0$$sroa_idx69>>2] = $13; $$sroa$34$0$$sroa_idx85 = ((($87)) + 44|0); HEAPF32[$$sroa$34$0$$sroa_idx85>>2] = $25; $103 = +HEAPF32[307623]; $104 = $103 + $15; $$sroa$0$0$$sroa_idx3 = ((($87)) + 48|0); HEAPF32[$$sroa$0$0$$sroa_idx3>>2] = $104; $$sroa$15$0$$sroa_idx19 = ((($87)) + 52|0); HEAP32[$$sroa$15$0$$sroa_idx19>>2] = $88; $$sroa$16$0$$sroa_idx35 = ((($87)) + 56|0); HEAP32[$$sroa$16$0$$sroa_idx35>>2] = $102; $$sroa$21$0$$sroa_idx51 = ((($87)) + 60|0); HEAP32[$$sroa$21$0$$sroa_idx51>>2] = $$0206; $$sroa$29$0$$sroa_idx67 = ((($87)) + 64|0); HEAPF32[$$sroa$29$0$$sroa_idx67>>2] = $18; $$0207$sink = $$0207;$$sink = $21;$$sink208 = $100;$$sink211 = $104; $$sroa$34$0$$sroa_idx83 = ((($87)) + 68|0); HEAPF32[$$sroa$34$0$$sroa_idx83>>2] = $25; $$sroa$0$0$$sroa_idx1 = ((($87)) + 72|0); HEAPF32[$$sroa$0$0$$sroa_idx1>>2] = $$sink211; $$sroa$15$0$$sroa_idx17 = ((($87)) + 76|0); HEAP32[$$sroa$15$0$$sroa_idx17>>2] = $88; $$sroa$16$0$$sroa_idx33 = ((($87)) + 80|0); HEAP32[$$sroa$16$0$$sroa_idx33>>2] = $$sink208; $$sroa$21$0$$sroa_idx49 = ((($87)) + 84|0); HEAP32[$$sroa$21$0$$sroa_idx49>>2] = $$0207$sink; $$sroa$29$0$$sroa_idx65 = ((($87)) + 88|0); HEAPF32[$$sroa$29$0$$sroa_idx65>>2] = $18; $$sroa$34$0$$sroa_idx81 = ((($87)) + 92|0); HEAPF32[$$sroa$34$0$$sroa_idx81>>2] = $$sink; $$0204 = ((($87)) + 96|0); HEAP32[$86>>2] = $$0204; return; } } function _Adv_ComputeLightFlags($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var label = 0, sp = 0; sp = STACKTOP; $4 = HEAP8[1408209]|0; $5 = ($4<<24>>24)==(0); if (!($5)) { $$0 = 67108863; return ($$0|0); } $6 = (($0) + -1)|0; $7 = (($2) + -1)|0; $8 = (($3) + -1)|0; $9 = (($3) + -19)|0; $10 = (_Adv_Lit($6,$1,$7,$9)|0); $11 = (_Adv_Lit($6,$1,$2,$8)|0); $12 = $11 << 9; $13 = $12 | $10; $14 = (($2) + 1)|0; $15 = (($3) + 17)|0; $16 = (_Adv_Lit($6,$1,$14,$15)|0); $17 = $16 << 18; $18 = $13 | $17; $19 = (($3) + -18)|0; $20 = (_Adv_Lit($0,$1,$7,$19)|0); $21 = $20 << 3; $22 = $18 | $21; $23 = (_Adv_Lit($0,$1,$2,$3)|0); $24 = $23 << 12; $25 = $22 | $24; $26 = (($3) + 18)|0; $27 = (_Adv_Lit($0,$1,$14,$26)|0); $28 = $27 << 21; $29 = $25 | $28; $30 = (($0) + 1)|0; $31 = (($3) + 1)|0; $32 = (($3) + -17)|0; $33 = (_Adv_Lit($30,$1,$7,$32)|0); $34 = $33 << 6; $35 = $29 | $34; $36 = (_Adv_Lit($30,$1,$2,$31)|0); $37 = $36 << 15; $38 = $35 | $37; $39 = (($3) + 19)|0; $40 = (_Adv_Lit($30,$1,$14,$39)|0); $41 = $40 << 24; $42 = $38 | $41; $$0 = $42; return ($$0|0); } function _Adv_CanStretch($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; var $30 = 0, $31 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; $6 = HEAP32[307614]|0; $7 = (($6) + ($1<<1)|0); $8 = HEAP16[$7>>1]|0; $9 = (_Adv_ComputeLightFlags($2,$3,$4,$1)|0); $10 = HEAP32[307618]|0; $11 = (($10) + ($1<<2)|0); HEAP32[$11>>2] = $9; $12 = ($8<<16>>16)==($0<<16>>16); if (!($12)) { $31 = 0; return ($31|0); } $13 = $5&255; $14 = (416 + ($13<<2)|0); $15 = HEAP32[$14>>2]|0; $16 = (($15) + ($1))|0; $17 = (($6) + ($16<<1)|0); $18 = HEAP16[$17>>1]|0; $19 = (_Block_IsFaceHidden($8,$18,$5)|0); $20 = ($19<<24>>24)==(0); if (!($20)) { $31 = 0; return ($31|0); } $21 = HEAP32[307633]|0; $22 = HEAP32[307618]|0; $23 = (($22) + ($1<<2)|0); $24 = HEAP32[$23>>2]|0; $25 = ($21|0)==($24|0); if (!($25)) { $31 = 0; return ($31|0); } $26 = ($21|0)==(0); if ($26) { $31 = 1; return ($31|0); } $27 = (448 + ($13<<2)|0); $28 = HEAP32[$27>>2]|0; $29 = $28 & $21; $30 = ($29|0)==($28|0); $phitmp = $30&1; $31 = $phitmp; return ($31|0); } function _Adv_Lit($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0, $8 = 0, $9 = 0; var $or$cond = 0, $spec$select = 0, $spec$select38 = 0, $spec$select39 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ($1|0)>(-1); $5 = HEAP32[(1407468)>>2]|0; $6 = ($5|0)>($1|0); $or$cond = $4 & $6; if (!($or$cond)) { $$0 = 7; return ($$0|0); } $7 = (_World_ContainsXZ($0,$2)|0); $8 = ($7<<24>>24)==(0); if ($8) { $9 = HEAP32[307603]|0; $10 = ($9|0)>($1|0); $11 = (($9) + -1)|0; $12 = ($11|0)==($1|0); $13 = $12 ? 6 : 0; $spec$select39 = $10 ? $13 : 7; return ($spec$select39|0); } $14 = HEAP32[307614]|0; $15 = (($14) + ($3<<1)|0); $16 = HEAP16[$15>>1]|0; $17 = HEAP32[317076]|0; $18 = HEAP32[(1407464)>>2]|0; $19 = Math_imul($18, $2)|0; $20 = (($19) + ($0))|0; $21 = (($17) + ($20<<1)|0); $22 = HEAP16[$21>>1]|0; $23 = $22 << 16 >> 16; $24 = $16&65535; $25 = (582660 + ($24)|0); $26 = HEAP8[$25>>0]|0; $27 = $26&255; $28 = (4)?($27 >>> 4):($27); $29 = $28 & 1; $30 = (($1) - ($29))|0; $31 = ($30|0)>($23|0); $32 = $31&1; $33 = ($23|0)<($1|0); $34 = $33 ? 2 : 0; $35 = $34 | $32; $36 = (5)?($27 >>> 5):($27); $37 = $36 & 1; $38 = (($1) - ($37))|0; $39 = ($38|0)<($23|0); $40 = $39 ? 0 : 4; $41 = $35 | $40; $42 = (571140 + ($24)|0); $43 = HEAP8[$42>>0]|0; $44 = ($43<<24>>24)==(0); $45 = $34 | 5; $spec$select = $44 ? $41 : $45; $46 = (($3) + 324)|0; $47 = (($14) + ($46<<1)|0); $48 = HEAP16[$47>>1]|0; $49 = $48&65535; $50 = (571140 + ($49)|0); $51 = HEAP8[$50>>0]|0; $52 = ($51<<24>>24)==(0); $53 = $spec$select | 4; $$1 = $52 ? $spec$select : $53; $54 = (($3) + -324)|0; $55 = (($14) + ($54<<1)|0); $56 = HEAP16[$55>>1]|0; $57 = $56&65535; $58 = (571140 + ($57)|0); $59 = HEAP8[$58>>0]|0; $60 = ($59<<24>>24)!=(0); $61 = $60&1; $spec$select38 = $$1 | $61; $$0 = $spec$select38; return ($$0|0); } function _World_ContainsXZ($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $narrow = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[(1407464)>>2]|0; $3 = ($2>>>0)>($0>>>0); $4 = HEAP32[(1407472)>>2]|0; $5 = ($4>>>0)>($1>>>0); $narrow = $3 & $5; $6 = $narrow&1; return ($6|0); } function _Builder_MakeChunk($0) { $0 = $0|0; var $$041 = 0, $$pr = 0, $$pr42 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; var $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp + 6|0; $2 = sp + 5|0; $3 = sp + 4|0; $4 = sp; $5 = HEAP16[$0>>1]|0; $6 = $5&65535; $7 = (($6) + -8)|0; $8 = ((($0)) + 2|0); $9 = HEAP16[$8>>1]|0; $10 = $9&65535; $11 = (($10) + -8)|0; $12 = ((($0)) + 4|0); $13 = HEAP16[$12>>1]|0; $14 = $13&65535; $15 = (($14) + -8)|0; HEAP8[$1>>0] = 0; $16 = (_Builder_BuildChunk($7,$11,$15,$1)|0); $17 = HEAP8[$1>>0]|0; $18 = ((($0)) + 6|0); $19 = HEAP8[$18>>0]|0; $20 = ($17 << 3)&255; $21 = $20 & 8; $22 = $19 & -9; $23 = $22 | $21; HEAP8[$18>>0] = $23; $24 = ($16<<24>>24)==(0); if ($24) { STACKTOP = sp;return; } $25 = (_Builder_TotalVerticesCount()|0); $26 = ($25|0)==(0); if ($26) { STACKTOP = sp;return; } $27 = HEAP32[307612]|0; $28 = (($25) + 1)|0; $29 = (_Gfx_CreateVb($27,1,$28)|0); $30 = ((($0)) + 8|0); HEAP32[$30>>2] = $29; $31 = (4)?($15 >> 4):($15); $32 = HEAP32[317091]|0; $33 = Math_imul($32, $31)|0; $34 = (4)?($11 >> 4):($11); $35 = (($33) + ($34))|0; $36 = HEAP32[317092]|0; $37 = Math_imul($35, $36)|0; $38 = (4)?($7 >> 4):($7); $39 = (($37) + ($38))|0; HEAP32[$4>>2] = 0; HEAP8[$2>>0] = 0; HEAP8[$3>>0] = 0; $40 = HEAP32[317093]|0; $41 = ($40|0)>(0); if (!($41)) { STACKTOP = sp;return; } $$041 = 0; while(1) { $42 = (($$041) + 512)|0; $43 = HEAP32[317095]|0; $44 = Math_imul($43, $$041)|0; $45 = (($44) + ($39))|0; $46 = (90000 + (($$041*60)|0)|0); $47 = HEAP32[317104]|0; $48 = (($47) + (($45*20)|0)|0); _Builder_SetPartInfo($46,$4,$48,$2); $49 = (90000 + (($42*60)|0)|0); $50 = HEAP32[317105]|0; $51 = (($50) + (($45*20)|0)|0); _Builder_SetPartInfo($49,$4,$51,$3); $52 = (($$041) + 1)|0; $53 = HEAP32[317093]|0; $54 = ($52|0)<($53|0); if ($54) { $$041 = $52; } else { break; } } $$pr = HEAP8[$2>>0]|0; $55 = ($$pr<<24>>24)==(0); if (!($55)) { $56 = HEAP32[317104]|0; $57 = (($56) + (($39*20)|0)|0); $58 = ((($0)) + 12|0); HEAP32[$58>>2] = $57; } $$pr42 = HEAP8[$3>>0]|0; $59 = ($$pr42<<24>>24)==(0); if ($59) { STACKTOP = sp;return; } $60 = HEAP32[317105]|0; $61 = (($60) + (($39*20)|0)|0); $62 = ((($0)) + 16|0); HEAP32[$62>>2] = $61; STACKTOP = sp;return; } function _Builder_BuildChunk($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0103 = 0, $$087108 = 0, $$088101 = 0, $$089102 = 0, $$090107 = 0, $$091100 = 0, $$092 = 0, $$09399 = 0, $$094 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond98 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 59568|0; $4 = sp + 47904|0; $5 = sp + 23328|0; $6 = sp; HEAP32[307614] = $4; HEAP32[307608] = $5; HEAP32[307617] = $6; $7 = HEAP32[307616]|0; FUNCTION_TABLE_viii[$7 & 31]($0,$1,$2); $8 = ($0|0)==(0); $9 = ($1|0)==(0); $or$cond = $8 | $9; $10 = ($2|0)==(0); $or$cond3 = $or$cond | $10; if ($or$cond3) { label = 5; } else { $11 = (($0) + 16)|0; $12 = HEAP32[(1407464)>>2]|0; $13 = ($11|0)<($12|0); if ($13) { $14 = (($1) + 16)|0; $15 = HEAP32[(1407468)>>2]|0; $16 = ($14|0)<($15|0); if ($16) { $17 = (($2) + 16)|0; $18 = HEAP32[(1407472)>>2]|0; $19 = ($17|0)<($18|0); if ($19) { $20 = (_ReadChunkData($0,$1,$2,$3)|0); $phitmp = ($20<<24>>24)==(0); $$094 = $phitmp; } else { label = 5; } } else { label = 5; } } else { label = 5; } } if ((label|0) == 5) { _Mem_Set($4,0,11664); _ReadBorderChunkData($0,$1,$2,$3); $$094 = 1; } $21 = HEAP8[$3>>0]|0; $22 = ($21<<24>>24)==(0); $or$cond98 = $$094 & $22; if (!($or$cond98)) { $$092 = 0; STACKTOP = sp;return ($$092|0); } $23 = (($0) + -1)|0; $24 = (($2) + -1)|0; _Lighting_LightHint($23,$24); _Mem_Set($5,1,24576); $25 = HEAP32[(1407464)>>2]|0; $26 = (($0) + 16)|0; $27 = ($25|0)<($26|0); $28 = $27 ? $25 : $26; $29 = HEAP32[(1407468)>>2]|0; $30 = (($1) + 16)|0; $31 = ($29|0)<($30|0); $32 = $31 ? $29 : $30; $33 = HEAP32[(1407472)>>2]|0; $34 = (($2) + 16)|0; $35 = ($33|0)<($34|0); $36 = $35 ? $33 : $34; HEAP32[307615] = $28; HEAP32[307613] = $36; _Builder_Stretch($0,$1,$2); _Builder_DefaultPostStretchTiles(); $37 = ($32|0)>($1|0); if (!($37)) { $$092 = 1; STACKTOP = sp;return ($$092|0); } $38 = ($36|0)>($2|0); $39 = ($28|0)>($0|0); $$087108 = 0;$$090107 = $1; while(1) { if ($38) { $40 = ($$087108*324)|0; $41 = (($40) + 324)|0; $42 = $$087108 << 8; $$0103 = 0;$$089102 = $2; while(1) { $43 = (($$0103) + 1)|0; if ($39) { $44 = ($43*18)|0; $45 = (($41) + ($44))|0; $46 = $45 | 1; $47 = $$0103 << 4; $48 = $47 | $42; $$088101 = 0;$$091100 = $0;$$09399 = $46; while(1) { $49 = (($4) + ($$09399<<1)|0); $50 = HEAP16[$49>>1]|0; HEAP16[704098] = $50; $51 = $50&65535; $52 = (583428 + ($51)|0); $53 = HEAP8[$52>>0]|0; $54 = ($53<<24>>24)==(4); if (!($54)) { $55 = $48 | $$088101; $56 = ($55*6)|0; HEAP32[307609] = $$091100; HEAP32[307610] = $$090107; HEAP32[307611] = $$089102; HEAP32[307632] = $$09399; $57 = HEAP32[307607]|0; FUNCTION_TABLE_vi[$57 & 511]($56); } $58 = (($$091100) + 1)|0; $59 = (($$088101) + 1)|0; $60 = (($$09399) + 1)|0; $61 = ($58|0)<($28|0); if ($61) { $$088101 = $59;$$091100 = $58;$$09399 = $60; } else { break; } } } $62 = (($$089102) + 1)|0; $63 = ($62|0)<($36|0); if ($63) { $$0103 = $43;$$089102 = $62; } else { break; } } } $64 = (($$090107) + 1)|0; $65 = (($$087108) + 1)|0; $66 = ($64|0)<($32|0); if ($66) { $$087108 = $65;$$090107 = $64; } else { $$092 = 1; break; } } STACKTOP = sp;return ($$092|0); } function _Builder_TotalVerticesCount() { var $$010 = 0, $$089 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $$010 = 0;$$089 = 0; while(1) { $0 = (90000 + (($$089*60)|0)|0); $1 = (_Builder1DPart_VerticesCount($0)|0); $2 = (($1) + ($$010))|0; $3 = (($$089) + 1)|0; $exitcond = ($3|0)==(1024); if ($exitcond) { break; } else { $$010 = $2;$$089 = $3; } } return ($2|0); } function _Builder_SetPartInfo($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = (_Builder1DPart_VerticesCount($0)|0); HEAP32[$2>>2] = -1; $5 = ($4|0)==(0); if ($5) { return; } $6 = HEAP32[$1>>2]|0; HEAP32[$2>>2] = $6; $7 = HEAP32[$1>>2]|0; $8 = (($7) + ($4))|0; HEAP32[$1>>2] = $8; HEAP8[$3>>0] = 1; $9 = ((($0)) + 24|0); $10 = HEAP32[$9>>2]|0; $11 = $10&65535; $12 = ((($2)) + 8|0); HEAP16[$12>>1] = $11; $13 = ((($0)) + 28|0); $14 = HEAP32[$13>>2]|0; $15 = $14&65535; $16 = ((($2)) + 10|0); HEAP16[$16>>1] = $15; $17 = ((($0)) + 32|0); $18 = HEAP32[$17>>2]|0; $19 = $18&65535; $20 = ((($2)) + 12|0); HEAP16[$20>>1] = $19; $21 = ((($0)) + 36|0); $22 = HEAP32[$21>>2]|0; $23 = $22&65535; $24 = ((($2)) + 14|0); HEAP16[$24>>1] = $23; $25 = ((($0)) + 40|0); $26 = HEAP32[$25>>2]|0; $27 = $26&65535; $28 = ((($2)) + 16|0); HEAP16[$28>>1] = $27; $29 = ((($0)) + 44|0); $30 = HEAP32[$29>>2]|0; $31 = $30&65535; $32 = ((($2)) + 18|0); HEAP16[$32>>1] = $31; $33 = ((($0)) + 48|0); $34 = HEAP32[$33>>2]|0; $35 = ((($2)) + 4|0); HEAP32[$35>>2] = $34; return; } function _Builder1DPart_VerticesCount($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 48|0); $2 = HEAP32[$1>>2]|0; $3 = ((($0)) + 24|0); $4 = HEAP32[$3>>2]|0; $5 = (($4) + ($2))|0; $6 = ((($0)) + 28|0); $7 = HEAP32[$6>>2]|0; $8 = (($7) + ($5))|0; $9 = ((($0)) + 32|0); $10 = HEAP32[$9>>2]|0; $11 = (($10) + ($8))|0; $12 = ((($0)) + 36|0); $13 = HEAP32[$12>>2]|0; $14 = (($13) + ($11))|0; $15 = ((($0)) + 40|0); $16 = HEAP32[$15>>2]|0; $17 = (($16) + ($14))|0; $18 = ((($0)) + 44|0); $19 = HEAP32[$18>>2]|0; $20 = (($19) + ($17))|0; return ($20|0); } function _ReadBorderChunkData($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$012 = 0, $$08614 = 0, $$08810 = 0, $$0908 = 0, $$0927 = 0, $$09413 = 0, $$10 = 0, $$11 = 0, $$12 = 0, $$121 = 0, $$18723 = 0, $$18919 = 0, $$19117 = 0, $$19316 = 0, $$19511 = 0, $$26 = 0, $$3 = 0, $$4 = 0, $$5 = 0, $$622 = 0; var $$720 = 0, $$815 = 0, $$9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = HEAP32[351863]|0; $5 = HEAP32[(1407508)>>2]|0; $6 = ($5|0)<(256); if ($6) { $7 = (($0) + -1)|0; $8 = HEAP32[307614]|0; $$08614 = -1;$$09413 = 1; L3: while(1) { $9 = (($$08614) + ($1))|0; $10 = ($9|0)<(0); L5: do { if ($10) { $$5 = $$09413; } else { $11 = HEAP32[(1407468)>>2]|0; $12 = ($9|0)<($11|0); if (!($12)) { $$12 = $$09413; label = 32; break L3; } $13 = ($$08614*324)|0; $14 = (($13) + 342)|0; $$012 = -1;$$19511 = $$09413; while(1) { $15 = (($$012) + ($2))|0; $16 = ($15|0)<(0); L10: do { if ($16) { $$4 = $$19511; } else { $17 = HEAP32[(1407472)>>2]|0; $18 = ($15|0)<($17|0); if (!($18)) { $$5 = $$19511; break L5; } $19 = Math_imul($17, $9)|0; $20 = (($19) + ($15))|0; $21 = HEAP32[(1407464)>>2]|0; $22 = Math_imul($21, $20)|0; $23 = (($7) + ($22))|0; $24 = ($$012*18)|0; $25 = (($14) + ($24))|0; $$08810 = -1;$$0908 = $25;$$0927 = $23;$$26 = $$19511; while(1) { $26 = (($$08810) + ($0))|0; $27 = ($26|0)<(0); if ($27) { $$3 = $$26; } else { $28 = ($26|0)<($21|0); if (!($28)) { $$4 = $$26; break L10; } $29 = (($4) + ($$0927)|0); $30 = HEAP8[$29>>0]|0; $31 = $30&255; $32 = ($$26<<24>>24)==(0); if ($32) { $38 = 0; } else { $33 = $30&255; $34 = (583428 + ($33)|0); $35 = HEAP8[$34>>0]|0; $36 = ($35<<24>>24)==(4); $38 = $36; } $37 = $38&1; $39 = (($8) + ($$0908<<1)|0); HEAP16[$39>>1] = $31; $$3 = $37; } $40 = (($$08810) + 1)|0; $41 = (($$0927) + 1)|0; $42 = (($$0908) + 1)|0; $43 = ($$08810|0)<(16); if ($43) { $$08810 = $40;$$0908 = $42;$$0927 = $41;$$26 = $$3; } else { $$4 = $$3; break; } } } } while(0); $44 = (($$012) + 1)|0; $45 = ($$012|0)<(16); if ($45) { $$012 = $44;$$19511 = $$4; } else { $$5 = $$4; break; } } } } while(0); $46 = (($$08614) + 1)|0; $47 = ($$08614|0)<(16); if ($47) { $$08614 = $46;$$09413 = $$5; } else { $$12 = $$5; label = 32; break; } } if ((label|0) == 32) { HEAP8[$3>>0] = $$12; return; } } else { $48 = HEAP32[(1407456)>>2]|0; $49 = (($0) + -1)|0; $50 = HEAP32[307614]|0; $$18723 = -1;$$622 = 1; L28: while(1) { $51 = (($$18723) + ($1))|0; $52 = ($51|0)<(0); L30: do { if ($52) { $$11 = $$622; } else { $53 = HEAP32[(1407468)>>2]|0; $54 = ($51|0)<($53|0); if (!($54)) { $$12 = $$622; label = 32; break L28; } $55 = ($$18723*324)|0; $56 = (($55) + 342)|0; $$121 = -1;$$720 = $$622; while(1) { $57 = (($$121) + ($2))|0; $58 = ($57|0)<(0); L35: do { if ($58) { $$10 = $$720; } else { $59 = HEAP32[(1407472)>>2]|0; $60 = ($57|0)<($59|0); if (!($60)) { $$11 = $$720; break L30; } $61 = Math_imul($59, $51)|0; $62 = (($61) + ($57))|0; $63 = HEAP32[(1407464)>>2]|0; $64 = Math_imul($63, $62)|0; $65 = (($49) + ($64))|0; $66 = ($$121*18)|0; $67 = (($56) + ($66))|0; $$18919 = -1;$$19117 = $67;$$19316 = $65;$$815 = $$720; while(1) { $68 = (($$18919) + ($0))|0; $69 = ($68|0)<(0); if ($69) { $$9 = $$815; } else { $70 = ($68|0)<($63|0); if (!($70)) { $$10 = $$815; break L35; } $71 = (($4) + ($$19316)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($48) + ($$19316)|0); $75 = HEAP8[$74>>0]|0; $76 = $75&255; $77 = $76 << 8; $78 = $77 | $73; $79 = $78&65535; $80 = ($$815<<24>>24)==(0); if ($80) { $85 = 0; } else { $81 = (583428 + ($78)|0); $82 = HEAP8[$81>>0]|0; $83 = ($82<<24>>24)==(4); $85 = $83; } $84 = $85&1; $86 = (($50) + ($$19117<<1)|0); HEAP16[$86>>1] = $79; $$9 = $84; } $87 = (($$18919) + 1)|0; $88 = (($$19316) + 1)|0; $89 = (($$19117) + 1)|0; $90 = ($$18919|0)<(16); if ($90) { $$18919 = $87;$$19117 = $89;$$19316 = $88;$$815 = $$9; } else { $$10 = $$9; break; } } } } while(0); $91 = (($$121) + 1)|0; $92 = ($$121|0)<(16); if ($92) { $$121 = $91;$$720 = $$10; } else { $$11 = $$10; break; } } } } while(0); $93 = (($$18723) + 1)|0; $94 = ($$18723|0)<(16); if ($94) { $$18723 = $93;$$622 = $$11; } else { $$12 = $$11; label = 32; break; } } if ((label|0) == 32) { HEAP8[$3>>0] = $$12; return; } } } function _ReadChunkData($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$06997 = 0, $$07390 = 0, $$07589 = 0, $$07796 = 0, $$07995 = 0, $$094 = 0, $$1105 = 0, $$170108 = 0, $$174101 = 0, $$176100 = 0, $$17893 = 0, $$18092 = 0, $$28187 = 0, $$288 = 0, $$3107 = 0, $$382106 = 0, $$4104 = 0, $$483103 = 0, $$58498 = 0, $$599 = 0; var $$6 = 0, $$685 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; var $83 = 0, $9 = 0, $exitcond = 0, $exitcond115 = 0, $exitcond116 = 0, $exitcond121 = 0, $exitcond122 = 0, $exitcond123 = 0, $indvars$iv = 0, $indvars$iv$next = 0, $indvars$iv$next114 = 0, $indvars$iv$next118 = 0, $indvars$iv$next120 = 0, $indvars$iv113 = 0, $indvars$iv117 = 0, $indvars$iv119 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = HEAP32[351863]|0; $5 = HEAP32[(1407508)>>2]|0; $6 = ($5|0)<(256); if ($6) { $7 = (($0) + -1)|0; $8 = HEAP32[307614]|0; $$06997 = -1;$$07796 = 1;$$07995 = 1;$indvars$iv = 18; while(1) { $9 = (($$06997) + ($1))|0; $10 = ($$06997*324)|0; $11 = (($10) + 324)|0; $$094 = -1;$$17893 = $$07796;$$18092 = $$07995;$indvars$iv113 = $indvars$iv; while(1) { $12 = HEAP32[(1407472)>>2]|0; $13 = Math_imul($12, $9)|0; $14 = (($$094) + ($2))|0; $15 = (($14) + ($13))|0; $16 = HEAP32[(1407464)>>2]|0; $17 = Math_imul($15, $16)|0; $18 = (($7) + ($17))|0; $19 = (($$094) + 1)|0; $20 = ($19*18)|0; $21 = (($11) + ($20))|0; $$07390 = $21;$$07589 = $18;$$28187 = $$18092;$$288 = $$17893; while(1) { $22 = (($4) + ($$07589)|0); $23 = HEAP8[$22>>0]|0; $24 = $23&255; $25 = ($$28187<<24>>24)==(0); if ($25) { $31 = 0; } else { $26 = $23&255; $27 = (583428 + ($26)|0); $28 = HEAP8[$27>>0]|0; $29 = ($28<<24>>24)==(4); $31 = $29; } $30 = $31&1; $32 = ($$288<<24>>24)==(0); if ($32) { $38 = 0; } else { $33 = $23&255; $34 = (586500 + ($33)|0); $35 = HEAP8[$34>>0]|0; $36 = ($35<<24>>24)!=(0); $38 = $36; } $37 = $38&1; $39 = (($8) + ($$07390<<1)|0); HEAP16[$39>>1] = $24; $40 = (($$07589) + 1)|0; $41 = (($$07390) + 1)|0; $exitcond = ($41|0)==($indvars$iv113|0); if ($exitcond) { break; } else { $$07390 = $41;$$07589 = $40;$$28187 = $30;$$288 = $37; } } $indvars$iv$next114 = (($indvars$iv113) + 18)|0; $exitcond115 = ($19|0)==(17); if ($exitcond115) { break; } else { $$094 = $19;$$17893 = $37;$$18092 = $30;$indvars$iv113 = $indvars$iv$next114; } } $42 = (($$06997) + 1)|0; $indvars$iv$next = (($indvars$iv) + 324)|0; $exitcond116 = ($42|0)==(17); if ($exitcond116) { $$6 = $37;$$685 = $30; break; } else { $$06997 = $42;$$07796 = $37;$$07995 = $30;$indvars$iv = $indvars$iv$next; } } HEAP8[$3>>0] = $$685; return ($$6|0); } else { $43 = HEAP32[(1407456)>>2]|0; $44 = (($0) + -1)|0; $45 = HEAP32[307614]|0; $$170108 = -1;$$3107 = 1;$$382106 = 1;$indvars$iv117 = 18; while(1) { $46 = (($$170108) + ($1))|0; $47 = ($$170108*324)|0; $48 = (($47) + 324)|0; $$1105 = -1;$$4104 = $$3107;$$483103 = $$382106;$indvars$iv119 = $indvars$iv117; while(1) { $49 = HEAP32[(1407472)>>2]|0; $50 = Math_imul($49, $46)|0; $51 = (($$1105) + ($2))|0; $52 = (($51) + ($50))|0; $53 = HEAP32[(1407464)>>2]|0; $54 = Math_imul($52, $53)|0; $55 = (($44) + ($54))|0; $56 = (($$1105) + 1)|0; $57 = ($56*18)|0; $58 = (($48) + ($57))|0; $$174101 = $58;$$176100 = $55;$$58498 = $$483103;$$599 = $$4104; while(1) { $59 = (($4) + ($$176100)|0); $60 = HEAP8[$59>>0]|0; $61 = $60&255; $62 = (($43) + ($$176100)|0); $63 = HEAP8[$62>>0]|0; $64 = $63&255; $65 = $64 << 8; $66 = $65 | $61; $67 = $66&65535; $68 = ($$58498<<24>>24)==(0); if ($68) { $73 = 0; } else { $69 = (583428 + ($66)|0); $70 = HEAP8[$69>>0]|0; $71 = ($70<<24>>24)==(4); $73 = $71; } $72 = $73&1; $74 = ($$599<<24>>24)==(0); if ($74) { $79 = 0; } else { $75 = (586500 + ($66)|0); $76 = HEAP8[$75>>0]|0; $77 = ($76<<24>>24)!=(0); $79 = $77; } $78 = $79&1; $80 = (($45) + ($$174101<<1)|0); HEAP16[$80>>1] = $67; $81 = (($$176100) + 1)|0; $82 = (($$174101) + 1)|0; $exitcond121 = ($82|0)==($indvars$iv119|0); if ($exitcond121) { break; } else { $$174101 = $82;$$176100 = $81;$$58498 = $72;$$599 = $78; } } $indvars$iv$next120 = (($indvars$iv119) + 18)|0; $exitcond122 = ($56|0)==(17); if ($exitcond122) { break; } else { $$1105 = $56;$$4104 = $78;$$483103 = $72;$indvars$iv119 = $indvars$iv$next120; } } $83 = (($$170108) + 1)|0; $indvars$iv$next118 = (($indvars$iv117) + 324)|0; $exitcond123 = ($83|0)==(17); if ($exitcond123) { $$6 = $78;$$685 = $72; break; } else { $$170108 = $83;$$3107 = $78;$$382106 = $72;$indvars$iv117 = $indvars$iv$next118; } } HEAP8[$3>>0] = $$685; return ($$6|0); } return (0)|0; } function _Builder_Stretch($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$0181217 = 0, $$0182209 = 0, $$0183210 = 0, $$0184215 = 0, $$0185204 = 0, $$0186202 = 0, $$0211 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0; var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0; var $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond200 = 0, $or$cond = 0, $or$cond189 = 0, $or$cond192 = 0, $or$cond195 = 0, $or$cond198 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP32[(1407464)>>2]|0; $4 = (($0) + 16)|0; $5 = ($3|0)<($4|0); $6 = $5 ? $3 : $4; $7 = HEAP32[(1407468)>>2]|0; $8 = (($1) + 16)|0; $9 = ($7|0)<($8|0); $10 = $9 ? $7 : $8; $11 = HEAP32[(1407472)>>2]|0; $12 = (($2) + 16)|0; $13 = ($11|0)<($12|0); $14 = $13 ? $11 : $12; $15 = ($10|0)>($1|0); if (!($15)) { return; } $16 = ($14|0)>($2|0); $17 = ($6|0)>($0|0); $$0181217 = 0;$$0184215 = $1; while(1) { if ($16) { $18 = ($$0181217*324)|0; $19 = (($18) + 324)|0; $20 = $$0181217 << 8; $21 = ($$0184215|0)==(0); $$0183210 = $2;$$0211 = 0; while(1) { $22 = (($$0211) + 1)|0; if ($17) { $23 = ($22*18)|0; $24 = (($19) + ($23))|0; $25 = $24 | 1; $26 = $$0211 << 4; $27 = $26 | $20; $cond200 = ($$0183210|0)==(0); $$0182209 = 0;$$0185204 = $0;$$0186202 = $25; while(1) { $28 = HEAP32[307614]|0; $29 = (($28) + ($$0186202<<1)|0); $30 = HEAP16[$29>>1]|0; $31 = $30&65535; $32 = (583428 + ($31)|0); $33 = HEAP8[$32>>0]|0; $34 = ($33<<24>>24)==(4); do { if (!($34)) { $35 = $27 | $$0182209; $36 = ($35*6)|0; $37 = ($33<<24>>24)==(5); if ($37) { _Builder_AddSpriteVertices($30); break; } HEAP32[307609] = $$0185204; HEAP32[307610] = $$0184215; HEAP32[307611] = $$0183210; $38 = (571140 + ($31)|0); $39 = HEAP8[$38>>0]|0; HEAP8[1408209] = $39; $40 = ($31*768)|0; $41 = HEAP32[307608]|0; $42 = (($41) + ($36)|0); $43 = HEAP8[$42>>0]|0; $44 = ($43<<24>>24)==(0); do { if ($44) { label = 15; } else { $cond = ($$0185204|0)==(0); if ($cond) { $45 = HEAP32[307602]|0; $46 = ($$0184215|0)<($45|0); if ($46) { label = 15; break; } $47 = $30 & -4; $48 = ($47<<16>>16)==(8); $49 = HEAP32[307603]|0; $50 = ($$0184215|0)<($49|0); $or$cond189 = $48 & $50; if ($or$cond189) { label = 15; break; } } else { $51 = (($$0186202) + -1)|0; $52 = (($28) + ($51<<1)|0); $53 = HEAP16[$52>>1]|0; $54 = $53&65535; $55 = (($40) + ($54))|0; $56 = (635652 + ($55)|0); $57 = HEAP8[$56>>0]|0; $58 = $57 & 1; $59 = ($58<<24>>24)==(0); if (!($59)) { label = 15; break; } } $60 = HEAP32[307606]|0; $61 = (FUNCTION_TABLE_iiiiiiii[$60 & 7]($36,$$0185204,$$0184215,$$0183210,$$0186202,$30,0)|0); _Builder_AddVertices($30,0); $62 = $61&255; $63 = HEAP32[307608]|0; $64 = (($63) + ($36)|0); HEAP8[$64>>0] = $62; } } while(0); if ((label|0) == 15) { label = 0; HEAP8[$42>>0] = 0; } $65 = $36 | 1; $66 = HEAP32[307608]|0; $67 = (($66) + ($65)|0); $68 = HEAP8[$67>>0]|0; $69 = ($68<<24>>24)==(0); do { if ($69) { label = 22; } else { $70 = HEAP32[(1407476)>>2]|0; $71 = ($$0185204|0)==($70|0); if ($71) { $72 = HEAP32[307602]|0; $73 = ($$0184215|0)<($72|0); if ($73) { label = 22; break; } $74 = $30 & -4; $75 = ($74<<16>>16)==(8); $76 = HEAP32[307603]|0; $77 = ($$0184215|0)<($76|0); $or$cond192 = $75 & $77; if ($or$cond192) { label = 22; break; } } else { $78 = HEAP32[307614]|0; $79 = (($$0186202) + 1)|0; $80 = (($78) + ($79<<1)|0); $81 = HEAP16[$80>>1]|0; $82 = $81&65535; $83 = (($40) + ($82))|0; $84 = (635652 + ($83)|0); $85 = HEAP8[$84>>0]|0; $86 = $85 & 2; $87 = ($86<<24>>24)==(0); if (!($87)) { label = 22; break; } } $88 = HEAP32[307606]|0; $89 = (FUNCTION_TABLE_iiiiiiii[$88 & 7]($65,$$0185204,$$0184215,$$0183210,$$0186202,$30,1)|0); _Builder_AddVertices($30,1); $90 = $89&255; $91 = HEAP32[307608]|0; $92 = (($91) + ($65)|0); HEAP8[$92>>0] = $90; } } while(0); if ((label|0) == 22) { label = 0; HEAP8[$67>>0] = 0; } $93 = (($65) + 1)|0; $94 = HEAP32[307608]|0; $95 = (($94) + ($93)|0); $96 = HEAP8[$95>>0]|0; $97 = ($96<<24>>24)==(0); do { if ($97) { label = 29; } else { if ($cond200) { $98 = HEAP32[307602]|0; $99 = ($$0184215|0)<($98|0); if ($99) { label = 29; break; } $100 = $30 & -4; $101 = ($100<<16>>16)==(8); $102 = HEAP32[307603]|0; $103 = ($$0184215|0)<($102|0); $or$cond195 = $101 & $103; if ($or$cond195) { label = 29; break; } } else { $104 = HEAP32[307614]|0; $105 = (($$0186202) + -18)|0; $106 = (($104) + ($105<<1)|0); $107 = HEAP16[$106>>1]|0; $108 = $107&65535; $109 = (($40) + ($108))|0; $110 = (635652 + ($109)|0); $111 = HEAP8[$110>>0]|0; $112 = $111 & 4; $113 = ($112<<24>>24)==(0); if (!($113)) { label = 29; break; } } $114 = HEAP32[307605]|0; $115 = HEAP32[307609]|0; $116 = HEAP32[307610]|0; $117 = HEAP32[307611]|0; $118 = (FUNCTION_TABLE_iiiiiiii[$114 & 7]($93,$115,$116,$117,$$0186202,$30,2)|0); _Builder_AddVertices($30,2); $119 = $118&255; $120 = HEAP32[307608]|0; $121 = (($120) + ($93)|0); HEAP8[$121>>0] = $119; } } while(0); if ((label|0) == 29) { label = 0; HEAP8[$95>>0] = 0; } $122 = (($65) + 2)|0; $123 = HEAP32[307608]|0; $124 = (($123) + ($122)|0); $125 = HEAP8[$124>>0]|0; $126 = ($125<<24>>24)==(0); do { if ($126) { label = 36; } else { $127 = HEAP32[(1407484)>>2]|0; $128 = ($$0183210|0)==($127|0); if ($128) { $129 = HEAP32[307602]|0; $130 = ($$0184215|0)<($129|0); if ($130) { label = 36; break; } $131 = $30 & -4; $132 = ($131<<16>>16)==(8); $133 = HEAP32[307603]|0; $134 = ($$0184215|0)<($133|0); $or$cond198 = $132 & $134; if ($or$cond198) { label = 36; break; } } else { $135 = HEAP32[307614]|0; $136 = (($$0186202) + 18)|0; $137 = (($135) + ($136<<1)|0); $138 = HEAP16[$137>>1]|0; $139 = $138&65535; $140 = (($40) + ($139))|0; $141 = (635652 + ($140)|0); $142 = HEAP8[$141>>0]|0; $143 = $142 & 8; $144 = ($143<<24>>24)==(0); if (!($144)) { label = 36; break; } } $145 = HEAP32[307605]|0; $146 = (FUNCTION_TABLE_iiiiiiii[$145 & 7]($122,$$0185204,$$0184215,$$0183210,$$0186202,$30,3)|0); _Builder_AddVertices($30,3); $147 = $146&255; $148 = HEAP32[307608]|0; $149 = (($148) + ($122)|0); HEAP8[$149>>0] = $147; } } while(0); if ((label|0) == 36) { label = 0; HEAP8[$124>>0] = 0; } $150 = (($65) + 3)|0; $151 = HEAP32[307608]|0; $152 = (($151) + ($150)|0); $153 = HEAP8[$152>>0]|0; $154 = ($153<<24>>24)==(0); $or$cond = $21 | $154; if ($or$cond) { label = 40; } else { $155 = HEAP32[307614]|0; $156 = (($$0186202) + -324)|0; $157 = (($155) + ($156<<1)|0); $158 = HEAP16[$157>>1]|0; $159 = $158&65535; $160 = (($40) + ($159))|0; $161 = (635652 + ($160)|0); $162 = HEAP8[$161>>0]|0; $163 = $162 & 16; $164 = ($163<<24>>24)==(0); if ($164) { $165 = HEAP32[307605]|0; $166 = (FUNCTION_TABLE_iiiiiiii[$165 & 7]($150,$$0185204,$$0184215,$$0183210,$$0186202,$30,4)|0); _Builder_AddVertices($30,4); $167 = $166&255; $168 = HEAP32[307608]|0; $169 = (($168) + ($150)|0); HEAP8[$169>>0] = $167; } else { label = 40; } } if ((label|0) == 40) { label = 0; HEAP8[$152>>0] = 0; } $170 = (($65) + 4)|0; $171 = HEAP32[307608]|0; $172 = (($171) + ($170)|0); $173 = HEAP8[$172>>0]|0; $174 = ($173<<24>>24)==(0); if (!($174)) { $175 = HEAP32[307614]|0; $176 = (($$0186202) + 324)|0; $177 = (($175) + ($176<<1)|0); $178 = HEAP16[$177>>1]|0; $179 = $178&65535; $180 = (($40) + ($179))|0; $181 = (635652 + ($180)|0); $182 = HEAP8[$181>>0]|0; $183 = $182 & 32; $184 = ($183<<24>>24)==(0); if ($184) { $185 = $30 & -4; $186 = ($185<<16>>16)==(8); if (!($186)) { $187 = HEAP32[307605]|0; $188 = (FUNCTION_TABLE_iiiiiiii[$187 & 7]($170,$$0185204,$$0184215,$$0183210,$$0186202,$30,5)|0); _Builder_AddVertices($30,5); $189 = $188&255; $190 = HEAP32[307608]|0; $191 = (($190) + ($170)|0); HEAP8[$191>>0] = $189; break; } $192 = HEAP32[307604]|0; $193 = (FUNCTION_TABLE_iiiiiii[$192 & 3]($170,$$0185204,$$0184215,$$0183210,$$0186202,$30)|0); $194 = ($193|0)>(0); if ($194) { _Builder_AddVertices($30,5); } $195 = $193&255; $196 = HEAP32[307608]|0; $197 = (($196) + ($170)|0); HEAP8[$197>>0] = $195; break; } } HEAP8[$172>>0] = 0; } } while(0); $198 = (($$0185204) + 1)|0; $199 = (($$0182209) + 1)|0; $200 = (($$0186202) + 1)|0; $201 = ($198|0)<($6|0); if ($201) { $$0182209 = $199;$$0185204 = $198;$$0186202 = $200; } else { break; } } } $202 = (($$0183210) + 1)|0; $203 = ($202|0)<($14|0); if ($203) { $$0183210 = $202;$$0211 = $22; } else { break; } } } $204 = (($$0184215) + 1)|0; $205 = (($$0181217) + 1)|0; $206 = ($204|0)<($10|0); if ($206) { $$0181217 = $205;$$0184215 = $204; } else { break; } } return; } function _Builder_DefaultPostStretchTiles() { var $$0171 = 0, $$02 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $0 = (_Builder_TotalVerticesCount()|0); $1 = HEAP32[307634]|0; $2 = ($0|0)>($1|0); if ($2) { $3 = HEAP32[307612]|0; _Mem_Free($3); $4 = (($0) + 2)|0; $5 = (_Mem_Alloc($4,24,19789)|0); HEAP32[307612] = $5; HEAP32[307634] = $0; } $$0171 = 0;$$02 = 0; while(1) { $6 = (($$02) + 512)|0; $7 = (90000 + (($$02*60)|0)|0); $8 = (_Builder1DPart_CalcOffsets($7,$$0171)|0); $9 = (90000 + (($6*60)|0)|0); $10 = (_Builder1DPart_CalcOffsets($9,$8)|0); $11 = (($$02) + 1)|0; $exitcond = ($11|0)==(512); if ($exitcond) { break; } else { $$0171 = $10;$$02 = $11; } } return; } function _Builder1DPart_CalcOffsets($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 52|0); HEAP32[$2>>2] = $1; $3 = ((($0)) + 48|0); $4 = HEAP32[$3>>2]|0; $5 = (2)?($4 >> 2):($4); $6 = ((($0)) + 56|0); HEAP32[$6>>2] = $5; $7 = (($4) + ($1))|0; $8 = HEAP32[307612]|0; $9 = (($8) + (($7*24)|0)|0); HEAP32[$0>>2] = $9; $10 = ((($0)) + 24|0); $11 = HEAP32[$10>>2]|0; $12 = (($11) + ($7))|0; $13 = (($8) + (($12*24)|0)|0); $14 = ((($0)) + 4|0); HEAP32[$14>>2] = $13; $15 = ((($0)) + 28|0); $16 = HEAP32[$15>>2]|0; $17 = (($16) + ($12))|0; $18 = (($8) + (($17*24)|0)|0); $19 = ((($0)) + 8|0); HEAP32[$19>>2] = $18; $20 = ((($0)) + 32|0); $21 = HEAP32[$20>>2]|0; $22 = (($21) + ($17))|0; $23 = (($8) + (($22*24)|0)|0); $24 = ((($0)) + 12|0); HEAP32[$24>>2] = $23; $25 = ((($0)) + 36|0); $26 = HEAP32[$25>>2]|0; $27 = (($26) + ($22))|0; $28 = (($8) + (($27*24)|0)|0); $29 = ((($0)) + 16|0); HEAP32[$29>>2] = $28; $30 = ((($0)) + 40|0); $31 = HEAP32[$30>>2]|0; $32 = (($31) + ($27))|0; $33 = (($8) + (($32*24)|0)|0); $34 = ((($0)) + 20|0); HEAP32[$34>>2] = $33; $35 = ((($0)) + 44|0); $36 = HEAP32[$35>>2]|0; $37 = (($36) + ($32))|0; return ($37|0); } function _Builder_AddSpriteVertices($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = $0&65535; $2 = ($1*6)|0; $3 = $2 | 1; $4 = (624900 + ($3<<1)|0); $5 = HEAP16[$4>>1]|0; $6 = $5&65535; $7 = HEAP32[(1384652)>>2]|0; $8 = ($7)?($6 >>> $7):($6); $9 = (((90000 + (($8*60)|0)|0)) + 48|0); $10 = HEAP32[$9>>2]|0; $11 = (($10) + 16)|0; HEAP32[$9>>2] = $11; return; } function _Builder_AddVertices($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = $0&65535; $3 = (583428 + ($2)|0); $4 = HEAP8[$3>>0]|0; $5 = ($4<<24>>24)==(3); $6 = $5&1; $7 = $6 << 9; $8 = ($2*6)|0; $9 = $1&255; $10 = (($8) + ($9))|0; $11 = (624900 + ($10<<1)|0); $12 = HEAP16[$11>>1]|0; $13 = $12&65535; $14 = HEAP32[(1384652)>>2]|0; $15 = ($14)?($13 >>> $14):($13); $16 = (($7) + ($15))|0; $17 = ((((90000 + (($16*60)|0)|0)) + 24|0) + ($9<<2)|0); $18 = HEAP32[$17>>2]|0; $19 = (($18) + 4)|0; HEAP32[$17>>2] = $19; return; } function _Camera_Init() { var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; _Camera_Register(10688); _Camera_Register(10736); _Camera_Register(10784); HEAP32[(1230632)>>2] = 10688; _Event_Register((1259396),0,16); _Event_Register((1252636),0,274); $0 = (_Options_GetInt(33689,1,200,30)|0); HEAP32[307635] = $0; $1 = (_Options_GetBool(31508,1)|0); HEAP8[(1230545)>>0] = $1; $2 = (_Options_GetBool(31938,0)|0); HEAP8[(1230546)>>0] = $2; return; } function _Camera_Register($0) { $0 = $0|0; var $$sink = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[307681]|0; $2 = ($1|0)==(0|0); $3 = HEAP32[307682]|0; $4 = ((($3)) + 44|0); $$sink = $2 ? 1230724 : $4; HEAP32[$$sink>>2] = $0; HEAP32[307682] = $0; $5 = ((($0)) + 44|0); $6 = HEAP32[307681]|0; HEAP32[$5>>2] = $6; return; } function _HandleRawMouseMoved($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = HEAP32[(1230632)>>2]|0; $5 = ((($4)) + 24|0); $6 = HEAP32[$5>>2]|0; FUNCTION_TABLE_vii[$6 & 127]($2,$3); return; } function _Camera_CheckThirdPerson($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[(1242628)>>0]|0; $2 = ($1<<24>>24)==(0); $3 = HEAP8[(1242626)>>0]|0; $4 = ($3<<24>>24)==(0); $or$cond = $2 | $4; if (!($or$cond)) { return; } _Camera_CycleActive(); return; } function _Camera_CycleActive() { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP8[1408229]|0; $1 = ($0<<24>>24)==(0); if (!($1)) { return; } $2 = HEAP32[(1230632)>>2]|0; $3 = ((($2)) + 44|0); $4 = HEAP32[$3>>2]|0; HEAP32[(1230632)>>2] = $4; $5 = HEAP8[(1242628)>>0]|0; $6 = ($5<<24>>24)==(0); $7 = HEAP8[(1242626)>>0]|0; $8 = ($7<<24>>24)==(0); $or$cond = $6 | $8; if ($or$cond) { HEAP32[(1230632)>>2] = 10688; } $9 = HEAP32[(1230632)>>2]|0; $10 = ($9|0)==(10784|0); $11 = $10&1; HEAP8[1408211] = $11; HEAPF32[307659] = 0.0; HEAPF32[307660] = 0.0; _Game_UpdateProjection(); return; } function _PerspectiveCamera_GetProjection($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[315053]|0; $2 = (+($1|0)); $3 = $2 * 0.01745329238474369; $4 = HEAP32[133868]|0; $5 = (+($4|0)); $6 = HEAP32[(535476)>>2]|0; $7 = (+($6|0)); $8 = $5 / $7; $9 = +HEAPF32[(1260356)>>2]; $10 = HEAP32[315051]|0; $11 = (+($10|0)); _Matrix_PerspectiveFieldOfView($0,$3,$8,$9,$11); return; } function _PerspectiveCamera_GetView($0) { $0 = $0|0; var $$byval_copy = 0, $$byval_copy1 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $$byval_copy1 = sp + 32|0; $$byval_copy = sp + 20|0; $1 = sp + 8|0; $2 = sp; ;HEAP32[$1>>2]=HEAP32[(1230620)>>2]|0;HEAP32[$1+4>>2]=HEAP32[(1230620)+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[(1230620)+8>>2]|0; $3 = HEAP32[(1230632)>>2]|0; $4 = ((($3)) + 12|0); $5 = HEAP32[$4>>2]|0; FUNCTION_TABLE_vi[$5 & 511]($2); ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0; _Matrix_LookRot($0,$$byval_copy,$$byval_copy1); _Matrix_Mul($0,$0,(1230548)); STACKTOP = sp;return; } function _ThirdPersonCamera_GetOrientation($0) { $0 = $0|0; var $$sroa$0$0 = 0.0, $$sroa$8$0 = 0.0, $$sroa$8$0$$sroa_idx3 = 0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = +HEAPF32[(1242172)>>2]; $2 = $1 * 0.01745329238474369; $3 = +HEAPF32[(1242168)>>2]; $4 = $3 * 0.01745329238474369; $5 = HEAP8[1408211]|0; $6 = ($5<<24>>24)==(0); $7 = $2 + 3.1415927410125732; $8 = - $4; $$sroa$8$0 = $6 ? $4 : $8; $$sroa$0$0 = $6 ? $2 : $7; $9 = +HEAPF32[307659]; $10 = $9 * 0.01745329238474369; $11 = $$sroa$0$0 + $10; $12 = +HEAPF32[307660]; $13 = $12 * 0.01745329238474369; $14 = $$sroa$8$0 + $13; HEAPF32[$0>>2] = $11; $$sroa$8$0$$sroa_idx3 = ((($0)) + 4|0); HEAPF32[$$sroa$8$0$$sroa_idx3>>2] = $14; return; } function _ThirdPersonCamera_GetPosition($0,$1) { $0 = $0|0; $1 = +$1; var $$byval_copy = 0, $$byval_copy1 = 0, $$sroa$0$0$copyload = 0.0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$4$0$copyload = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; $$byval_copy1 = sp + 72|0; $$byval_copy = sp + 60|0; $2 = sp + 48|0; $3 = sp + 36|0; $4 = sp + 24|0; $5 = sp + 16|0; $6 = sp; $7 = HEAP8[1408211]|0; $8 = ($7<<24>>24)==(0); $9 = +HEAPF32[2671]; $10 = +HEAPF32[2670]; $11 = $8 ? $10 : $9; _PerspectiveCamera_CalcViewBobbing($1,$11); _Entity_GetEyePosition($4,1242152); ;HEAP32[$2>>2]=HEAP32[$4>>2]|0;HEAP32[$2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$4+8>>2]|0; $12 = +HEAPF32[(1230612)>>2]; $13 = ((($2)) + 4|0); $14 = +HEAPF32[$13>>2]; $15 = $12 + $14; HEAPF32[$13>>2] = $15; $16 = HEAP32[(1230632)>>2]|0; $17 = ((($16)) + 12|0); $18 = HEAP32[$17>>2]|0; FUNCTION_TABLE_vi[$18 & 511]($5); $$sroa$0$0$copyload = +HEAPF32[$5>>2]; $$sroa$4$0$$sroa_idx2 = ((($5)) + 4|0); $$sroa$4$0$copyload = +HEAPF32[$$sroa$4$0$$sroa_idx2>>2]; _Vec3_GetDirVector($6,$$sroa$0$0$copyload,$$sroa$4$0$copyload); ;HEAP32[$3>>2]=HEAP32[$6>>2]|0;HEAP32[$3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$6+8>>2]|0; _Vec3_Negate($3,$3); ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$2+8>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0; _Picking_ClipCameraPos($$byval_copy,$$byval_copy1,$11,1230660); ;HEAP32[$0>>2]=HEAP32[(1230684)>>2]|0;HEAP32[$0+4>>2]=HEAP32[(1230684)+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[(1230684)+8>>2]|0; STACKTOP = sp;return; } function _PerspectiveCamera_UpdateMouse($0) { $0 = +$0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Gui_GetInputGrab()|0); $2 = ($1|0)!=(0|0); $3 = HEAP8[1408301]|0; $4 = ($3<<24>>24)==(0); $or$cond = $2 | $4; if (!($or$cond)) { } _PerspectiveCamera_UpdateMouseRotation(); HEAP32[307661] = 0; HEAP32[307662] = 0; return; } function _Camera_OnRawMouseMoved($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[307661]|0; $3 = (($2) + ($0))|0; HEAP32[307661] = $3; $4 = HEAP32[307662]|0; $5 = (($4) + ($1))|0; HEAP32[307662] = $5; return; } function _Camera_AcquireFocus() { var label = 0, sp = 0; sp = STACKTOP; _Window_EnableRawMouse(); return; } function _Camera_LoseFocus() { var label = 0, sp = 0; sp = STACKTOP; _Window_DisableRawMouse(); return; } function _PerspectiveCamera_GetPickedBlock($0) { $0 = $0|0; var $$byval_copy = 0, $$byval_copy1 = 0, $1 = 0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $$byval_copy1 = sp + 36|0; $$byval_copy = sp + 24|0; $1 = sp + 12|0; $2 = sp; $3 = +HEAPF32[(1242172)>>2]; $4 = $3 * 0.01745329238474369; $5 = +HEAPF32[(1242168)>>2]; $6 = $5 * 0.01745329238474369; _Vec3_GetDirVector($1,$4,$6); _Entity_GetEyePosition($2,1242152); $7 = +HEAPF32[(1242612)>>2]; ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$2+8>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$1+8>>2]|0; _Picking_CalculatePickedBlock($$byval_copy,$$byval_copy1,$7,$0); STACKTOP = sp;return; } function _ThirdPersonCamera_Zoom($0) { $0 = +$0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408211]|0; $2 = ($1<<24>>24)==(0); $3 = $2 ? 10680 : 10684; $4 = +HEAPF32[$3>>2]; $5 = $4 - $0; $6 = $5 > 2.0; $7 = $6 ? $5 : 2.0; HEAPF32[$3>>2] = $7; return 1; } function _PerspectiveCamera_UpdateMouseRotation() { var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0; var $27 = 0.0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $or$cond2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $0 = sp + 8|0; $1 = sp; _PerspectiveCamera_GetMouseDelta($1); $2 = HEAP8[(379624)>>0]|0; $3 = HEAP8[(379625)>>0]|0; $4 = $3 | $2; $5 = ($4<<24>>24)==(0); if (!($5)) { $6 = HEAP32[(1230632)>>2]|0; $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if (!($8)) { $9 = +HEAPF32[$1>>2]; $10 = +HEAPF32[307659]; $11 = $9 + $10; HEAPF32[307659] = $11; $12 = ((($1)) + 4|0); $13 = +HEAPF32[$12>>2]; $14 = +HEAPF32[307660]; $15 = $13 + $14; HEAPF32[307660] = $15; STACKTOP = sp;return; } } $16 = +HEAPF32[(1242860)>>2]; $17 = +HEAPF32[$1>>2]; $18 = $16 + $17; $19 = +HEAPF32[(1242856)>>2]; $20 = ((($1)) + 4|0); $21 = +HEAPF32[$20>>2]; $22 = $19 + $21; _LocationUpdate_MakeOri($0,$18,$22); $23 = ((($0)) + 12|0); $24 = +HEAPF32[$23>>2]; $25 = !($24 >= 90.0); $26 = !($24 <= 270.0); $or$cond2 = $25 | $26; if (!($or$cond2)) { $27 = +HEAPF32[(1242856)>>2]; $28 = $27 < 180.0; $29 = $28 ? 90.0 : 270.0; HEAPF32[$23>>2] = $29; } $30 = HEAP32[310538]|0; $31 = ((($30)) + 8|0); $32 = HEAP32[$31>>2]|0; FUNCTION_TABLE_viii[$32 & 31](1242152,$0,0); STACKTOP = sp;return; } function _PerspectiveCamera_GetMouseDelta($0) { $0 = $0|0; var $$sroa$4$0$$sroa_idx2 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0.0, $3 = 0.0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $spec$select = 0.0, $storemerge = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[307635]|0; $2 = (+($1|0)); $3 = $2 * 0.0038197184912860394; $4 = HEAP8[(1230544)>>0]|0; $5 = ($4<<24>>24)==(0); $6 = HEAP32[307661]|0; $7 = (+($6|0)); if ($5) { HEAPF32[307663] = $7; $18 = HEAP32[307662]|0; $19 = (+($18|0)); $storemerge = $19; } else { $8 = $7 * 0.02500000037252903; $9 = +HEAPF32[307663]; $10 = $8 + $9; $11 = $10 * 0.97000002861022949; HEAPF32[307663] = $11; $12 = HEAP32[307662]|0; $13 = (+($12|0)); $14 = $13 * 0.02500000037252903; $15 = +HEAPF32[307664]; $16 = $15 + $14; $17 = $16 * 0.97000002861022949; $storemerge = $17; } HEAPF32[307664] = $storemerge; $20 = +HEAPF32[307663]; $21 = $3 * $20; $22 = $3 * $storemerge; $23 = HEAP8[(1230546)>>0]|0; $24 = ($23<<24>>24)==(0); $25 = - $22; $spec$select = $24 ? $22 : $25; HEAPF32[$0>>2] = $21; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $spec$select; return; } function _PerspectiveCamera_CalcViewBobbing($0,$1) { $0 = +$0; $1 = +$1; var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0; var $29 = 0.0, $3 = 0, $30 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 128|0; $2 = sp + 64|0; $3 = sp; $4 = HEAP8[1408237]|0; $5 = ($4<<24>>24)==(0); if ($5) { dest=(1230548); src=18012; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } else { $6 = +HEAPF32[(1242796)>>2]; $7 = +HEAPF32[(1242364)>>2]; $8 = $6 * $7; $9 = - $8; _Matrix_RotateZ((1230548),$9); $10 = +HEAPF32[(1242800)>>2]; $11 = (+_Math_AbsF($10)); $12 = $11 * 3.0; $13 = +HEAPF32[(1242364)>>2]; $14 = $12 * $13; _Matrix_RotateX($2,$14); _Matrix_Mul((1230548),(1230548),$2); $15 = +HEAPF32[(1242344)>>2]; $16 = $15 * 0.30000001192092896; $17 = +HEAPF32[(1242364)>>2]; $18 = $16 * $17; HEAPF32[(1230616)>>2] = $18; $19 = +HEAPF32[(1242348)>>2]; $20 = $19 * 0.60000002384185791; $21 = $17 * $20; HEAPF32[(1230612)>>2] = $21; $22 = +HEAPF32[(1242596)>>2]; $23 = $22 + 0.079999998211860657; $24 = +HEAPF32[(1242192)>>2]; $25 = $24 + 0.079999998211860657; $26 = (+_Math_Lerp($23,$25,$0)); $27 = $26 * -0.05000000074505806; $28 = +HEAPF32[(1242804)>>2]; $29 = $27 * $28; $30 = $29 / $1; _Matrix_RotateX($3,$30); _Matrix_Mul((1230548),(1230548),$3); STACKTOP = sp;return; } } function _Vec3_Negate($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0.0, $11 = 0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $2 = +HEAPF32[$1>>2]; $3 = - $2; HEAPF32[$0>>2] = $3; $4 = ((($1)) + 4|0); $5 = +HEAPF32[$4>>2]; $6 = - $5; $7 = ((($0)) + 4|0); HEAPF32[$7>>2] = $6; $8 = ((($1)) + 8|0); $9 = +HEAPF32[$8>>2]; $10 = - $9; $11 = ((($0)) + 8|0); HEAPF32[$11>>2] = $10; return; } function _FirstPersonCamera_GetOrientation($0) { $0 = $0|0; var $$sroa$4$0$$sroa_idx2 = 0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = +HEAPF32[(1242172)>>2]; $2 = $1 * 0.01745329238474369; $3 = +HEAPF32[(1242168)>>2]; $4 = $3 * 0.01745329238474369; HEAPF32[$0>>2] = $2; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $4; return; } function _FirstPersonCamera_GetPosition($0,$1) { $0 = $0|0; $1 = +$1; var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0; var $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; _Entity_GetEyePosition($2,1242152); $3 = +HEAPF32[(1242172)>>2]; $4 = $3 * 0.01745329238474369; _PerspectiveCamera_CalcViewBobbing($1,1.0); $5 = +HEAPF32[(1230612)>>2]; $6 = ((($2)) + 4|0); $7 = +HEAPF32[$6>>2]; $8 = $5 + $7; HEAPF32[$6>>2] = $8; $9 = +HEAPF32[(1230616)>>2]; $10 = $4; $11 = (+_Math_Cos($10)); $12 = $11; $13 = $9 * $12; $14 = +HEAPF32[$2>>2]; $15 = $14 + $13; HEAPF32[$2>>2] = $15; $16 = +HEAPF32[(1230616)>>2]; $17 = (+_Math_Sin($10)); $18 = $17; $19 = $16 * $18; $20 = ((($2)) + 8|0); $21 = +HEAPF32[$20>>2]; $22 = $21 + $19; HEAPF32[$20>>2] = $22; ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0; STACKTOP = sp;return; } function _FirstPersonCamera_Zoom($0) { $0 = +$0; var label = 0, sp = 0; sp = STACKTOP; return 0; } function _Camera_CheckFocus() { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = (_Gui_GetInputGrab()|0); $1 = ($0|0)==(0|0); $2 = $1&1; $3 = HEAP8[1408212]|0; $4 = $3&255; $5 = ($2|0)==($4|0); if ($5) { return; } $6 = $1&1; HEAP8[1408212] = $6; $7 = HEAP32[(1230632)>>2]|0; if ($1) { $8 = ((($7)) + 28|0); $9 = HEAP32[$8>>2]|0; FUNCTION_TABLE_v[$9 & 127](); return; } else { $10 = ((($7)) + 32|0); $11 = HEAP32[$10>>2]|0; FUNCTION_TABLE_v[$11 & 127](); return; } } function _Chat_Init() { var label = 0, sp = 0; sp = STACKTOP; _Commands_Register(10872); _Commands_Register(10908); _Commands_Register(10944); _Commands_Register(10980); _Commands_Register(11016); _Commands_Register(11052); _Commands_Register(11088); _Commands_Register(11124); (_Options_GetBool(19804,1)|0); return; } function _Chat_Free() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; HEAP32[310256] = 0; $0 = HEAP32[2710]|0; $1 = ($0|0)==(152208|0); if (!($1)) { _Mem_Free($0); } HEAP32[2710] = 152208; HEAP32[310255] = 0; _StringsBuffer_Clear(1230732); _StringsBuffer_Clear(1235876); return; } function _Chat_Reset() { var label = 0, sp = 0; sp = STACKTOP; _Chat_AddOf(1384616,100); _Chat_AddOf(1384616,1); _Chat_AddOf(1384616,2); _Chat_AddOf(1384616,3); _Chat_AddOf(1384616,11); _Chat_AddOf(1384616,12); _Chat_AddOf(1384616,13); return; } function _Chat_AddOf($0,$1) { $0 = $0|0; $1 = $1|0; var $$off = 0, $$off21 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); do { if ($2) { _StringsBuffer_Add(1230732,$0); _AppendChatLogTime(); } else { $$off = (($1) + -1)|0; $3 = ($$off>>>0)<(3); if ($3) { $4 = (480 + ($1<<3)|0); _String_Copy($4,$0); break; } $$off21 = (($1) + -11)|0; $5 = ($$off21>>>0)<(3); if ($5) { $6 = (512 + ($$off21<<3)|0); _String_Copy($6,$0); break; } $7 = ($1|0)==(100); if ($7) { _String_Copy(10832,$0); $8 = (_DateTime_CurrentUTC_MS()|0); $9 = (getTempRet0() | 0); $10 = 535456; $11 = $10; HEAP32[$11>>2] = $8; $12 = (($10) + 4)|0; $13 = $12; HEAP32[$13>>2] = $9; break; } $14 = $1 & -2; $15 = ($14|0)==(256); if ($15) { $16 = (($1) + -256)|0; $17 = (544 + ($16<<3)|0); _String_Copy($17,$0); } } } while(0); _Event_RaiseChat((1254976),$0,$1); return; } function _AppendChatLogTime() { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = (_DateTime_CurrentUTC_MS()|0); $1 = (getTempRet0() | 0); $2 = HEAP32[310255]|0; $3 = HEAP32[2717]|0; $4 = ($2|0)==($3|0); if ($4) { _Utils_Resize(10840,10868,8,256,512); } $5 = HEAP32[2710]|0; $6 = HEAP32[310255]|0; $7 = (($6) + 1)|0; HEAP32[310255] = $7; $8 = (($5) + ($6<<3)|0); $9 = $8; $10 = $9; HEAP32[$10>>2] = $0; $11 = (($9) + 4)|0; $12 = $11; HEAP32[$12>>2] = $1; return; } function _Commands_Register($0) { $0 = $0|0; var $$sink = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[310256]|0; $2 = ($1|0)==(0|0); $3 = HEAP32[310263]|0; $4 = ((($3)) + 32|0); $$sink = $2 ? 1241024 : $4; HEAP32[$$sink>>2] = $0; HEAP32[310263] = $0; $5 = ((($0)) + 32|0); HEAP32[$5>>2] = 0; return; } function _ClearDeniedCommand_Execute($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = (_TextureCache_ClearDenied()|0); HEAP32[$2>>2] = $3; _Chat_Add1(19906,$2); STACKTOP = sp;return; } function _Chat_Add1($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _Chat_Add4($0,$1,0,0,0); return; } function _Chat_Add4($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 144|0; $5 = sp + 128|0; $6 = sp; HEAP32[$5>>2] = $6; $7 = ((($5)) + 4|0); HEAP16[$7>>1] = 0; $8 = ((($5)) + 6|0); HEAP16[$8>>1] = 128; _String_Format4($5,$0,$1,$2,$3,$4); _Chat_AddOf($5,0); STACKTOP = sp;return; } function _TeleportCommand_Execute($0,$1) { $0 = $0|0; $1 = $1|0; var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $$byval_copy = sp + 48|0; $2 = sp + 16|0; $3 = sp; $4 = ($1|0)==(3); if (!($4)) { _Chat_AddRaw(20009); STACKTOP = sp;return; } $5 = (_Convert_ParseFloat($0,$3)|0); $6 = ($5<<24>>24)==(0); if (!($6)) { $7 = ((($0)) + 8|0); $8 = ((($3)) + 4|0); $9 = (_Convert_ParseFloat($7,$8)|0); $10 = ($9<<24>>24)==(0); if (!($10)) { $11 = ((($0)) + 16|0); $12 = ((($3)) + 8|0); $13 = (_Convert_ParseFloat($11,$12)|0); $14 = ($13<<24>>24)==(0); if (!($14)) { ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$3+8>>2]|0; _LocationUpdate_MakePos($2,$$byval_copy,0); $15 = HEAP32[310538]|0; $16 = ((($15)) + 8|0); $17 = HEAP32[$16>>2]|0; FUNCTION_TABLE_viii[$17 & 31](1242152,$2,0); STACKTOP = sp;return; } } } _Chat_AddRaw(20074); STACKTOP = sp;return; } function _Chat_AddRaw($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; _String_FromReadonly($1,$0); _Chat_AddOf($1,0); STACKTOP = sp;return; } function _CuboidCommand_Execute($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP8[1408213]|0; $3 = ($2<<24>>24)==(0); if (!($3)) { _Event_Unregister(1252376,0,17); HEAP8[1408213] = 0; } HEAP32[2790] = -1; HEAP8[1408214] = 0; HEAP8[1408215] = 0; $4 = (_CuboidCommand_ParseBlock($0,$1)|0); $5 = ($4<<24>>24)==(0); if ($5) { return; } $6 = ($1|0)>(1); if ($6) { $7 = (_String_CaselessEqualsConst($0,20402)|0); $8 = ($7|0)==(0); if (!($8)) { HEAP8[1408215] = 1; } } _Chat_AddOf(11164,256); _Event_Register(1252376,0,17); HEAP8[1408213] = 1; return; } function _CuboidCommand_BlockChanged($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $4 = sp + 64|0; $5 = sp; HEAP32[$4>>2] = $5; $6 = ((($4)) + 4|0); HEAP16[$6>>1] = 0; $7 = ((($4)) + 6|0); HEAP16[$7>>1] = 64; $8 = HEAP8[1408214]|0; $9 = ($8<<24>>24)==(0); if ($9) { ;HEAP32[1241028>>2]=HEAP32[$1>>2]|0;HEAP32[1241028+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[1241028+8>>2]=HEAP32[$1+8>>2]|0; HEAP8[1408214] = 1; $10 = HEAP32[$1>>2]|0; $11 = ((($1)) + 4|0); $12 = HEAP32[$11>>2]|0; $13 = ((($1)) + 8|0); $14 = HEAP32[$13>>2]|0; _Game_UpdateBlock($10,$12,$14,$2); _String_Format3($4,20537,$1,$11,$13); _Chat_AddOf($4,256); STACKTOP = sp;return; } ;HEAP32[1241040>>2]=HEAP32[$1>>2]|0;HEAP32[1241040+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[1241040+8>>2]=HEAP32[$1+8>>2]|0; _CuboidCommand_DoCuboid(); $15 = HEAP8[1408215]|0; $16 = ($15<<24>>24)==(0); if ($16) { _Event_Unregister(1252376,0,17); HEAP8[1408213] = 0; _Chat_AddOf(1384616,256); STACKTOP = sp;return; } else { HEAP8[1408214] = 0; _Chat_AddOf(11164,256); STACKTOP = sp;return; } } function _CuboidCommand_ParseBlock($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if ($2) { $$0 = 1; return ($$0|0); } $3 = (_String_CaselessEqualsConst($0,20402)|0); $4 = ($3|0)==(0); if (!($4)) { HEAP8[1408215] = 1; $$0 = 1; return ($$0|0); } $5 = (_Block_Parse($0)|0); $6 = ($5|0)==(-1); if ($6) { _Chat_Add1(20443,$0); $$0 = 0; return ($$0|0); } $7 = ($5|0)>(65); if ($7) { $8 = $5&65535; $9 = (_Block_IsCustomDefined($8)|0); $10 = ($9<<24>>24)==(0); if ($10) { _Chat_Add1(20493,$0); $$0 = 0; return ($$0|0); } } HEAP32[2790] = $5; $$0 = 1; return ($$0|0); } function _CuboidCommand_DoCuboid() { var $$01725 = 0, $$01820 = 0, $$019 = 0, $$021 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 12|0; $1 = sp; _IVec3_Min($0,1241028,1241040); _IVec3_Max($1,1241028,1241040); $2 = HEAP32[$0>>2]|0; $3 = ((($0)) + 4|0); $4 = HEAP32[$3>>2]|0; $5 = ((($0)) + 8|0); $6 = HEAP32[$5>>2]|0; $7 = (_World_Contains_39($2,$4,$6)|0); $8 = ($7<<24>>24)==(0); if ($8) { STACKTOP = sp;return; } $9 = HEAP32[$1>>2]|0; $10 = ((($1)) + 4|0); $11 = HEAP32[$10>>2]|0; $12 = ((($1)) + 8|0); $13 = HEAP32[$12>>2]|0; $14 = (_World_Contains_39($9,$11,$13)|0); $15 = ($14<<24>>24)==(0); if ($15) { STACKTOP = sp;return; } $16 = HEAP32[2790]|0; $17 = $16&65535; $18 = ($16|0)==(-1); if ($18) { $19 = HEAP32[(1268184)>>2]|0; $20 = HEAP32[(1268180)>>2]|0; $21 = (($20) + ($19))|0; $22 = (1266480 + ($21<<1)|0); $23 = HEAP16[$22>>1]|0; $$019 = $23; } else { $$019 = $17; } $24 = HEAP32[$10>>2]|0; $25 = ($4|0)>($24|0); if ($25) { STACKTOP = sp;return; } $$01725 = $4; while(1) { $26 = HEAP32[$5>>2]|0; $27 = HEAP32[$12>>2]|0; $28 = ($26|0)>($27|0); if (!($28)) { $$021 = $26; while(1) { $29 = HEAP32[$0>>2]|0; $30 = HEAP32[$1>>2]|0; $31 = ($29|0)>($30|0); if (!($31)) { $$01820 = $29; while(1) { _Game_ChangeBlock($$01820,$$01725,$$021,$$019); $32 = (($$01820) + 1)|0; $33 = HEAP32[$1>>2]|0; $34 = ($$01820|0)<($33|0); if ($34) { $$01820 = $32; } else { break; } } } $35 = (($$021) + 1)|0; $36 = HEAP32[$12>>2]|0; $37 = ($$021|0)<($36|0); if ($37) { $$021 = $35; } else { break; } } } $38 = (($$01725) + 1)|0; $39 = HEAP32[$10>>2]|0; $40 = ($$01725|0)<($39|0); if ($40) { $$01725 = $38; } else { break; } } STACKTOP = sp;return; } function _World_Contains_39($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $narrow = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP32[(1407464)>>2]|0; $4 = ($3>>>0)>($0>>>0); $5 = HEAP32[(1407468)>>2]|0; $6 = ($5>>>0)>($1>>>0); $or$cond = $4 & $6; $7 = HEAP32[(1407472)>>2]|0; $8 = ($7>>>0)>($2>>>0); $narrow = $or$cond & $8; $9 = $narrow&1; return ($9|0); } function _ModelCommand_Execute($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if ($2) { _Chat_AddRaw(20738); return; } else { _Entity_SetModel(1242152,$0); return; } } function _ResolutionCommand_Execute($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp + 4|0; $3 = sp; $4 = ($1|0)<(2); if ($4) { _Chat_Add4(20889,1407432,18808,1407436,18812); STACKTOP = sp;return; } $5 = (_Convert_ParseInt($0,$2)|0); $6 = ($5<<24>>24)==(0); if (!($6)) { $7 = ((($0)) + 8|0); $8 = (_Convert_ParseInt($7,$3)|0); $9 = ($8<<24>>24)==(0); if (!($9)) { $10 = HEAP32[$2>>2]|0; $11 = ($10|0)<(1); $12 = HEAP32[$3>>2]|0; $13 = ($12|0)<(1); $or$cond = $11 | $13; if ($or$cond) { _Chat_AddRaw(20988); STACKTOP = sp;return; } else { _Window_SetSize($10,$12); $14 = HEAP32[$2>>2]|0; $15 = (+($14|0)); $16 = +HEAPF32[4702]; $17 = $15 / $16; $18 = (~~(($17))); _Options_SetInt(35055,$18); $19 = HEAP32[$3>>2]|0; $20 = (+($19|0)); $21 = +HEAPF32[4703]; $22 = $20 / $21; $23 = (~~(($22))); _Options_SetInt(35068,$23); STACKTOP = sp;return; } } } _Chat_AddRaw(20940); STACKTOP = sp;return; } function _RenderTypeCommand_Execute($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if ($2) { _Chat_AddRaw(21417); return; } $3 = (_EnvRenderer_CalcFlags($0)|0); $4 = ($3|0)>(-1); if ($4) { _EnvRenderer_SetMode($3); _Options_Set(22963,$0); _Chat_Add1(21468,$0); return; } else { _Chat_Add1(21504,$0); return; } } function _HelpCommand_Execute($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if ($2) { _Commands_PrintDefault(); return; } $3 = (_Commands_GetMatch($0)|0); $4 = ($3|0)==(0|0); if ($4) { return; } $5 = ((($3)) + 12|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)==(0|0); if (!($7)) { _Chat_AddRaw($6); } $8 = ((($3)) + 16|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)==(0|0); if (!($10)) { _Chat_AddRaw($9); } $11 = ((($3)) + 20|0); $12 = HEAP32[$11>>2]|0; $13 = ($12|0)==(0|0); if (!($13)) { _Chat_AddRaw($12); } $14 = ((($3)) + 24|0); $15 = HEAP32[$14>>2]|0; $16 = ($15|0)==(0|0); if (!($16)) { _Chat_AddRaw($15); } $17 = ((($3)) + 28|0); $18 = HEAP32[$17>>2]|0; $19 = ($18|0)==(0|0); if ($19) { return; } _Chat_AddRaw($18); return; } function _Commands_PrintDefault() { var $$0 = 0, $$05 = 0, $$06 = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; $0 = sp + 80|0; $1 = sp; $2 = sp + 72|0; $3 = sp + 64|0; _Chat_AddRaw(21841); HEAP32[$0>>2] = $1; $4 = ((($0)) + 4|0); HEAP16[$4>>1] = 0; $5 = ((($0)) + 6|0); HEAP16[$5>>1] = 64; $$05 = HEAP32[310256]|0; $6 = ($$05|0)==(0|0); if ($6) { _Chat_AddRaw(21871); STACKTOP = sp;return; } $7 = ((($2)) + 4|0); $$06 = $$05; while(1) { $8 = HEAP32[$$06>>2]|0; _String_FromReadonly($3,$8); $9 = $3; $10 = $9; $11 = HEAP32[$10>>2]|0; $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; $15 = $2; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; $18 = $17; HEAP32[$18>>2] = $14; $19 = HEAP16[$4>>1]|0; $20 = $19&65535; $21 = HEAP16[$7>>1]|0; $22 = $21&65535; $23 = (($20) + 2)|0; $24 = (($23) + ($22))|0; $25 = HEAP16[$5>>1]|0; $26 = $25&65535; $27 = ($24>>>0)>($26>>>0); if ($27) { _Chat_Add($0); HEAP16[$4>>1] = 0; } _String_AppendString($0,$2); _String_AppendConst($0,21868); $28 = ((($$06)) + 32|0); $$0 = HEAP32[$28>>2]|0; $29 = ($$0|0)==(0|0); if ($29) { break; } else { $$06 = $$0; } } $$pr = HEAP16[$4>>1]|0; $30 = ($$pr<<16>>16)==(0); if ($30) { _Chat_AddRaw(21871); STACKTOP = sp;return; } _Chat_Add($0); _Chat_AddRaw(21871); STACKTOP = sp;return; } function _Commands_GetMatch($0) { $0 = $0|0; var $$017 = 0, $$01721 = 0, $$01723 = 0, $$018 = 0, $$022 = 0, $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp + 8|0; $2 = sp; $$01721 = HEAP32[310256]|0; $3 = ($$01721|0)==(0|0); if (!($3)) { $$01723 = $$01721;$$022 = 0; while(1) { $4 = HEAP32[$$01723>>2]|0; _String_FromReadonly($2,$4); $5 = $2; $6 = $5; $7 = HEAP32[$6>>2]|0; $8 = (($5) + 4)|0; $9 = $8; $10 = HEAP32[$9>>2]|0; $11 = $1; $12 = $11; HEAP32[$12>>2] = $7; $13 = (($11) + 4)|0; $14 = $13; HEAP32[$14>>2] = $10; $15 = (_String_CaselessStarts($1,$0)|0); $16 = ($15|0)==(0); if ($16) { $$1 = $$022; } else { $17 = ($$022|0)==(0|0); if ($17) { $$1 = $$01723; } else { label = 5; break; } } $18 = ((($$01723)) + 32|0); $$017 = HEAP32[$18>>2]|0; $19 = ($$017|0)==(0|0); if ($19) { break; } else { $$01723 = $$017;$$022 = $$1; } } if ((label|0) == 5) { _Chat_Add1(21630,$0); $$018 = 0; STACKTOP = sp;return ($$018|0); } $20 = ($$1|0)==(0|0); if (!($20)) { $21 = ((($$1)) + 8|0); $22 = HEAP8[$21>>0]|0; $23 = ($22<<24>>24)==(0); $24 = HEAP8[(1384580)>>0]|0; $25 = ($24<<24>>24)!=(0); $or$cond = $23 | $25; if ($or$cond) { $$018 = $$1; STACKTOP = sp;return ($$018|0); } _Chat_Add1(21787,$0); $$018 = 0; STACKTOP = sp;return ($$018|0); } } _Chat_Add1(21692,$0); _Chat_AddRaw(21735); $$018 = 0; STACKTOP = sp;return ($$018|0); } function _Chat_Add($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _Chat_AddOf($0,0); return; } function _GpuInfoCommand_Execute($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 512|0; $2 = sp + 64|0; $3 = sp; HEAP32[$3>>2] = $2; $4 = ((($3)) + 4|0); HEAP16[$4>>1] = 0; $5 = ((($3)) + 6|0); HEAP16[$5>>1] = 64; $6 = ((($2)) + 64|0); $7 = ((($3)) + 8|0); HEAP32[$7>>2] = $6; $8 = ((($3)) + 12|0); HEAP16[$8>>1] = 0; $9 = ((($3)) + 14|0); HEAP16[$9>>1] = 64; $10 = ((($2)) + 128|0); $11 = ((($3)) + 16|0); HEAP32[$11>>2] = $10; $12 = ((($3)) + 20|0); HEAP16[$12>>1] = 0; $13 = ((($3)) + 22|0); HEAP16[$13>>1] = 64; $14 = ((($2)) + 192|0); $15 = ((($3)) + 24|0); HEAP32[$15>>2] = $14; $16 = ((($3)) + 28|0); HEAP16[$16>>1] = 0; $17 = ((($3)) + 30|0); HEAP16[$17>>1] = 64; $18 = ((($2)) + 256|0); $19 = ((($3)) + 32|0); HEAP32[$19>>2] = $18; $20 = ((($3)) + 36|0); HEAP16[$20>>1] = 0; $21 = ((($3)) + 38|0); HEAP16[$21>>1] = 64; $22 = ((($2)) + 320|0); $23 = ((($3)) + 40|0); HEAP32[$23>>2] = $22; $24 = ((($3)) + 44|0); HEAP16[$24>>1] = 0; $25 = ((($3)) + 46|0); HEAP16[$25>>1] = 64; $26 = ((($2)) + 384|0); $27 = ((($3)) + 48|0); HEAP32[$27>>2] = $26; $28 = ((($3)) + 52|0); HEAP16[$28>>1] = 0; $29 = ((($3)) + 54|0); HEAP16[$29>>1] = 64; _Gfx_GetApiInfo($3); $30 = ((($3)) + 4|0); $31 = HEAP16[$30>>1]|0; $32 = ($31<<16>>16)==(0); if (!($32)) { _Chat_Add1(21994,$3); } $33 = ((($3)) + 12|0); $34 = HEAP16[$33>>1]|0; $35 = ($34<<16>>16)==(0); if (!($35)) { $36 = ((($3)) + 8|0); _Chat_Add1(21994,$36); } $37 = ((($3)) + 20|0); $38 = HEAP16[$37>>1]|0; $39 = ($38<<16>>16)==(0); if (!($39)) { $40 = ((($3)) + 16|0); _Chat_Add1(21994,$40); } $41 = ((($3)) + 28|0); $42 = HEAP16[$41>>1]|0; $43 = ($42<<16>>16)==(0); if (!($43)) { $44 = ((($3)) + 24|0); _Chat_Add1(21994,$44); } $45 = ((($3)) + 36|0); $46 = HEAP16[$45>>1]|0; $47 = ($46<<16>>16)==(0); if (!($47)) { $48 = ((($3)) + 32|0); _Chat_Add1(21994,$48); } $49 = ((($3)) + 44|0); $50 = HEAP16[$49>>1]|0; $51 = ($50<<16>>16)==(0); if (!($51)) { $52 = ((($3)) + 40|0); _Chat_Add1(21994,$52); } $53 = ((($3)) + 52|0); $54 = HEAP16[$53>>1]|0; $55 = ($54<<16>>16)==(0); if ($55) { STACKTOP = sp;return; } $56 = ((($3)) + 48|0); _Chat_Add1(21994,$56); STACKTOP = sp;return; } function _Chat_SetLogName($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return; } function _Chat_Add2($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var label = 0, sp = 0; sp = STACKTOP; _Chat_Add4($0,$1,$2,0,0); return; } function _Chat_Send($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 4|0); $3 = HEAP16[$2>>1]|0; $4 = ($3<<16>>16)==(0); if ($4) { return; } _Event_RaiseChat((1255236),$0,0); $5 = ($1<<24>>24)==(0); if (!($5)) { _StringsBuffer_Add(1235876,$0); } $6 = (_Commands_IsCommandPrefix($0)|0); $7 = ($6<<24>>24)==(0); if ($7) { $8 = HEAP32[(1384540)>>2]|0; FUNCTION_TABLE_vi[$8 & 511]($0); return; } else { _Commands_Execute($0); return; } } function _Commands_IsCommandPrefix($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 4|0); $2 = HEAP16[$1>>1]|0; $3 = ($2<<16>>16)==(0); if ($3) { $$0 = 0; return ($$0|0); } $4 = HEAP8[(1384580)>>0]|0; $5 = ($4<<24>>24)==(0); if (!($5)) { $6 = HEAP32[$0>>2]|0; $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(47); if ($8) { $$0 = 1; return ($$0|0); } } $9 = (_String_CaselessStarts($0,11188)|0); $10 = ($9|0)==(0); if (!($10)) { $$0 = 1; return ($$0|0); } $11 = (_String_CaselessEquals($0,11196)|0); $12 = ($11|0)!=(0); $phitmp = $12&1; $$0 = $phitmp; return ($$0|0); } function _Commands_Execute($0) { $0 = $0|0; var $$ = 0, $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; $1 = sp + 88|0; $2 = sp; $3 = sp + 80|0; $4 = $0; $5 = $4; $6 = HEAP32[$5>>2]|0; $7 = (($4) + 4)|0; $8 = $7; $9 = HEAP32[$8>>2]|0; $10 = $1; $11 = $10; HEAP32[$11>>2] = $6; $12 = (($10) + 4)|0; $13 = $12; HEAP32[$13>>2] = $9; $14 = (_String_CaselessStarts($1,11172)|0); $15 = ($14|0)==(0); if ($15) { $16 = (_String_CaselessStarts($1,11180)|0); $17 = ($16|0)==(0); $$ = $17 ? 1 : 7; $$0 = $$; } else { $$0 = 8; } _String_UNSAFE_SubstringAt($3,$1,$$0); $18 = $3; $19 = $18; $20 = HEAP32[$19>>2]|0; $21 = (($18) + 4)|0; $22 = $21; $23 = HEAP32[$22>>2]|0; $24 = $1; $25 = $24; HEAP32[$25>>2] = $20; $26 = (($24) + 4)|0; $27 = $26; HEAP32[$27>>2] = $23; $28 = ((($1)) + 4|0); $29 = HEAP16[$28>>1]|0; $30 = ($29<<16>>16)==(0); if ($30) { _Commands_PrintDefault(); STACKTOP = sp;return; } $31 = (_String_UNSAFE_Split($1,32,$2,10)|0); $32 = (_Commands_GetMatch($2)|0); $33 = ($32|0)==(0|0); if ($33) { STACKTOP = sp;return; } $34 = (($31) + -1)|0; $35 = ((($2)) + 8|0); $36 = ((($32)) + 4|0); $37 = HEAP32[$36>>2]|0; FUNCTION_TABLE_vii[$37 & 127]($35,$34); STACKTOP = sp;return; } function _GZipHeader_Init($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; HEAP8[$0>>0] = 0; $1 = ((($0)) + 1|0); HEAP8[$1>>0] = 0; $2 = ((($0)) + 4|0); HEAP32[$2>>2] = 0; $3 = ((($0)) + 2|0); HEAP8[$3>>0] = 0; return; } function _GZipHeader_Read($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = HEAP8[$1>>0]|0; switch ($3<<24>>24) { case 0: { label = 2; break; } case 1: { label = 5; break; } case 2: { label = 8; break; } case 3: { label = 11; break; } case 4: { label = 14; break; } case 5: { label = 19; break; } case 6: { label = 21; break; } case 8: { label = 23; break; } case 9: { label = 29; break; } case 7: { break; } default: { $$0 = 0; STACKTOP = sp;return ($$0|0); } } do { if ((label|0) == 2) { $4 = ((($0)) + 4|0); $5 = HEAP32[$4>>2]|0; $6 = (FUNCTION_TABLE_iii[$5 & 127]($0,$2)|0); $7 = ($6|0)==(0); if (!($7)) { $$0 = $6; STACKTOP = sp;return ($$0|0); } $8 = HEAP8[$2>>0]|0; $9 = ($8<<24>>24)==(31); if ($9) { $10 = HEAP8[$1>>0]|0; $11 = (($10) + 1)<<24>>24; HEAP8[$1>>0] = $11; label = 5; break; } else { $$0 = -857812940; STACKTOP = sp;return ($$0|0); } } } while(0); do { if ((label|0) == 5) { $12 = ((($0)) + 4|0); $13 = HEAP32[$12>>2]|0; $14 = (FUNCTION_TABLE_iii[$13 & 127]($0,$2)|0); $15 = ($14|0)==(0); if (!($15)) { $$0 = $14; STACKTOP = sp;return ($$0|0); } $16 = HEAP8[$2>>0]|0; $17 = ($16<<24>>24)==(-117); if ($17) { $18 = HEAP8[$1>>0]|0; $19 = (($18) + 1)<<24>>24; HEAP8[$1>>0] = $19; label = 8; break; } else { $$0 = -857812939; STACKTOP = sp;return ($$0|0); } } } while(0); do { if ((label|0) == 8) { $20 = ((($0)) + 4|0); $21 = HEAP32[$20>>2]|0; $22 = (FUNCTION_TABLE_iii[$21 & 127]($0,$2)|0); $23 = ($22|0)==(0); if (!($23)) { $$0 = $22; STACKTOP = sp;return ($$0|0); } $24 = HEAP8[$2>>0]|0; $25 = ($24<<24>>24)==(8); if ($25) { $26 = HEAP8[$1>>0]|0; $27 = (($26) + 1)<<24>>24; HEAP8[$1>>0] = $27; label = 11; break; } else { $$0 = -857812938; STACKTOP = sp;return ($$0|0); } } } while(0); do { if ((label|0) == 11) { $28 = ((($0)) + 4|0); $29 = HEAP32[$28>>2]|0; $30 = (FUNCTION_TABLE_iii[$29 & 127]($0,$2)|0); $31 = ($30|0)==(0); if (!($31)) { $$0 = $30; STACKTOP = sp;return ($$0|0); } $32 = ((($1)) + 4|0); $33 = HEAP32[$32>>2]|0; $34 = $33 & 4; $35 = ($34|0)==(0); if ($35) { $36 = HEAP8[$1>>0]|0; $37 = (($36) + 1)<<24>>24; HEAP8[$1>>0] = $37; label = 14; break; } else { $$0 = -857812937; STACKTOP = sp;return ($$0|0); } } } while(0); if ((label|0) == 14) { $38 = ((($1)) + 2|0); $39 = HEAP8[$38>>0]|0; $40 = ($39&255)<(4); L37: do { if ($40) { $41 = ((($0)) + 4|0); while(1) { $42 = HEAP32[$41>>2]|0; $43 = (FUNCTION_TABLE_iii[$42 & 127]($0,$2)|0); $44 = ($43|0)==(0); if (!($44)) { $$0 = $43; break; } $45 = HEAP8[$38>>0]|0; $46 = (($45) + 1)<<24>>24; HEAP8[$38>>0] = $46; $47 = ($46&255)<(4); if (!($47)) { break L37; } } STACKTOP = sp;return ($$0|0); } } while(0); $48 = HEAP8[$1>>0]|0; $49 = (($48) + 1)<<24>>24; HEAP8[$1>>0] = $49; HEAP8[$38>>0] = 0; label = 19; } do { if ((label|0) == 19) { $50 = ((($0)) + 4|0); $51 = HEAP32[$50>>2]|0; $52 = (FUNCTION_TABLE_iii[$51 & 127]($0,$2)|0); $53 = ($52|0)==(0); if ($53) { $54 = HEAP8[$1>>0]|0; $55 = (($54) + 1)<<24>>24; HEAP8[$1>>0] = $55; label = 21; break; } else { $$0 = $52; STACKTOP = sp;return ($$0|0); } } } while(0); do { if ((label|0) == 21) { $56 = ((($0)) + 4|0); $57 = HEAP32[$56>>2]|0; $58 = (FUNCTION_TABLE_iii[$57 & 127]($0,$2)|0); $59 = ($58|0)==(0); if ($59) { $60 = HEAP8[$1>>0]|0; $61 = (($60) + 1)<<24>>24; HEAP8[$1>>0] = $61; label = 23; break; } else { $$0 = $58; STACKTOP = sp;return ($$0|0); } } } while(0); if ((label|0) == 23) { $62 = ((($1)) + 4|0); $63 = HEAP32[$62>>2]|0; $64 = $63 & 8; $65 = ($64|0)==(0); L56: do { if (!($65)) { $66 = ((($0)) + 4|0); $67 = HEAP32[$66>>2]|0; $68 = (FUNCTION_TABLE_iii[$67 & 127]($0,$2)|0); $69 = ($68|0)==(0); if (!($69)) { $$0 = $68; STACKTOP = sp;return ($$0|0); } while(1) { $73 = HEAP8[$2>>0]|0; $74 = ($73<<24>>24)==(0); if ($74) { break L56; } $70 = HEAP32[$66>>2]|0; $71 = (FUNCTION_TABLE_iii[$70 & 127]($0,$2)|0); $72 = ($71|0)==(0); if (!($72)) { $$0 = $71; break; } } STACKTOP = sp;return ($$0|0); } } while(0); $75 = HEAP8[$1>>0]|0; $76 = (($75) + 1)<<24>>24; HEAP8[$1>>0] = $76; label = 29; } if ((label|0) == 29) { $77 = ((($1)) + 4|0); $78 = HEAP32[$77>>2]|0; $79 = $78 & 16; $80 = ($79|0)==(0); L68: do { if (!($80)) { $81 = ((($0)) + 4|0); $82 = HEAP32[$81>>2]|0; $83 = (FUNCTION_TABLE_iii[$82 & 127]($0,$2)|0); $84 = ($83|0)==(0); if (!($84)) { $$0 = $83; STACKTOP = sp;return ($$0|0); } while(1) { $88 = HEAP8[$2>>0]|0; $89 = ($88<<24>>24)==(0); if ($89) { break L68; } $85 = HEAP32[$81>>2]|0; $86 = (FUNCTION_TABLE_iii[$85 & 127]($0,$2)|0); $87 = ($86|0)==(0); if (!($87)) { $$0 = $86; break; } } STACKTOP = sp;return ($$0|0); } } while(0); $90 = HEAP8[$1>>0]|0; $91 = (($90) + 1)<<24>>24; HEAP8[$1>>0] = $91; } $92 = ((($1)) + 4|0); $93 = HEAP32[$92>>2]|0; $94 = $93 & 2; $95 = ($94|0)==(0); L79: do { if (!($95)) { $96 = ((($1)) + 2|0); $97 = HEAP8[$96>>0]|0; $98 = ($97&255)<(2); if ($98) { $99 = ((($0)) + 4|0); while(1) { $100 = HEAP32[$99>>2]|0; $101 = (FUNCTION_TABLE_iii[$100 & 127]($0,$2)|0); $102 = ($101|0)==(0); if (!($102)) { $$0 = $101; break; } $103 = HEAP8[$96>>0]|0; $104 = (($103) + 1)<<24>>24; HEAP8[$96>>0] = $104; $105 = ($104&255)<(2); if (!($105)) { break L79; } } STACKTOP = sp;return ($$0|0); } } } while(0); $106 = HEAP8[$1>>0]|0; $107 = (($106) + 1)<<24>>24; HEAP8[$1>>0] = $107; $108 = ((($1)) + 2|0); HEAP8[$108>>0] = 0; $109 = ((($1)) + 1|0); HEAP8[$109>>0] = 1; $$0 = 0; STACKTOP = sp;return ($$0|0); } function _ZLibHeader_Init($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; HEAP8[$0>>0] = 0; $1 = ((($0)) + 1|0); HEAP8[$1>>0] = 0; return; } function _ZLibHeader_Read($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = HEAP8[$1>>0]|0; switch ($3<<24>>24) { case 0: { $4 = ((($0)) + 4|0); $5 = HEAP32[$4>>2]|0; $6 = (FUNCTION_TABLE_iii[$5 & 127]($0,$2)|0); $7 = ($6|0)==(0); if ($7) { $8 = HEAP8[$2>>0]|0; $9 = $8 & 15; $10 = ($9<<24>>24)==(8); if ($10) { $11 = ($8<<24>>24)<(0); if ($11) { $$0 = -857812935; } else { $12 = HEAP8[$1>>0]|0; $13 = (($12) + 1)<<24>>24; HEAP8[$1>>0] = $13; label = 6; } } else { $$0 = -857812936; } } else { $$0 = $6; } break; } case 1: { label = 6; break; } default: { $$0 = 0; } } if ((label|0) == 6) { $14 = ((($0)) + 4|0); $15 = HEAP32[$14>>2]|0; $16 = (FUNCTION_TABLE_iii[$15 & 127]($0,$2)|0); $17 = ($16|0)==(0); if ($17) { $18 = HEAP8[$2>>0]|0; $19 = $18 & 32; $20 = ($19<<24>>24)==(0); if ($20) { $21 = HEAP8[$1>>0]|0; $22 = (($21) + 1)<<24>>24; HEAP8[$1>>0] = $22; $23 = ((($1)) + 1|0); HEAP8[$23>>0] = 1; $$0 = 0; } else { $$0 = -857812934; } } else { $$0 = $16; } } STACKTOP = sp;return ($$0|0); } function _Inflate_Init($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; HEAP8[$0>>0] = 0; $2 = ((($0)) + 1|0); HEAP8[$2>>0] = 0; $3 = ((($0)) + 4|0); HEAP32[$3>>2] = 0; $4 = ((($0)) + 8|0); HEAP32[$4>>2] = 0; $5 = ((($0)) + 64|0); $6 = ((($0)) + 12|0); HEAP32[$6>>2] = $5; $7 = ((($0)) + 16|0); HEAP32[$7>>2] = 0; $8 = ((($0)) + 20|0); HEAP32[$8>>2] = 0; $9 = ((($0)) + 24|0); HEAP32[$9>>2] = 0; $10 = ((($0)) + 28|0); HEAP32[$10>>2] = $1; $11 = ((($0)) + 36|0); HEAP32[$11>>2] = 0; return; } function _Inflate_Process($0) { $0 = $0|0; var $$ = 0, $$0352 = 0, $$0352$be = 0, $$0354 = 0, $$0354$be = 0, $$0460 = 0, $$1353 = 0, $$1355 = 0, $$1426 = 0, $$358 = 0, $$lcssa = 0, $$lcssa379 = 0, $$lcssa383 = 0, $$lcssa387 = 0, $$lcssa391 = 0, $$lcssa395 = 0, $$lcssa399 = 0, $$lcssa403 = 0, $$lcssa412 = 0, $$lcssa416 = 0; var $$pr = 0, $$pr504 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0; var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0; var $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0; var $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0; var $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0; var $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0; var $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0; var $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0; var $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0; var $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0; var $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0; var $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0; var $494 = 0, $495 = 0, $496 = 0, $497 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0; var $spec$select = 0, $spec$select363 = 0, $spec$select364 = 0, $spec$select365 = 0, $trunc = 0, $trunc$clear = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 8|0); $2 = ((($0)) + 8|0); $3 = ((($0)) + 24|0); $4 = ((($0)) + 32|0); $5 = ((($0)) + 8|0); $6 = ((($0)) + 8|0); $7 = ((($0)) + 32|0); $8 = ((($0)) + 40|0); $9 = ((($0)) + 44|0); $10 = ((($0)) + 48|0); $11 = ((($0)) + 32|0); $12 = ((($0)) + 52|0); $13 = ((($0)) + 24|0); $14 = ((($0)) + 56|0); $15 = ((($0)) + 8|0); $16 = ((($0)) + 10272|0); $17 = ((($0)) + 60|0); $18 = ((($0)) + 60|0); $19 = ((($0)) + 8|0); $20 = ((($0)) + 24|0); $21 = ((($0)) + 4|0); $22 = ((($0)) + 1|0); $23 = ((($0)) + 16|0); $24 = ((($0)) + 12|0); $25 = ((($0)) + 4|0); $26 = ((($0)) + 4|0); $27 = ((($0)) + 16|0); $28 = ((($0)) + 12|0); $29 = ((($0)) + 4|0); $30 = ((($0)) + 16|0); $31 = ((($0)) + 4|0); $32 = ((($0)) + 20|0); $33 = ((($0)) + 36|0); $34 = ((($0)) + 4|0); $35 = ((($0)) + 44|0); $36 = ((($0)) + 48|0); $37 = ((($0)) + 40|0); $38 = ((($0)) + 32|0); $39 = ((($0)) + 16|0); $40 = ((($0)) + 12|0); $41 = ((($0)) + 4|0); $42 = ((($0)) + 8|0); $43 = ((($0)) + 4|0); $44 = ((($0)) + 16|0); $45 = ((($0)) + 12|0); $46 = ((($0)) + 4|0); $47 = ((($0)) + 8576|0); $48 = ((($0)) + 44|0); $49 = ((($0)) + 48|0); $50 = ((($0)) + 32|0); $51 = ((($0)) + 8|0); $52 = ((($0)) + 8|0); $53 = ((($0)) + 8|0); $54 = ((($0)) + 8576|0); $55 = ((($0)) + 4|0); $56 = ((($0)) + 16|0); $57 = ((($0)) + 12|0); $58 = ((($0)) + 4|0); $59 = ((($0)) + 4|0); $60 = ((($0)) + 16|0); $61 = ((($0)) + 12|0); $62 = ((($0)) + 4|0); $63 = ((($0)) + 56|0); $64 = ((($0)) + 60|0); $65 = ((($0)) + 36|0); $66 = ((($0)) + 16|0); $67 = ((($0)) + 8576|0); $68 = ((($0)) + 10272|0); $69 = ((($0)) + 16|0); $70 = ((($0)) + 32|0); $71 = ((($0)) + 24|0); $72 = ((($0)) + 8576|0); $73 = ((($0)) + 8256|0); $74 = ((($0)) + 16|0); $75 = ((($0)) + 4|0); $76 = ((($0)) + 32|0); $77 = ((($0)) + 16|0); $78 = ((($0)) + 12|0); $79 = ((($0)) + 4|0); $80 = ((($0)) + 4|0); $81 = ((($0)) + 16|0); $82 = ((($0)) + 12|0); $83 = ((($0)) + 4|0); $84 = ((($0)) + 4|0); $85 = ((($0)) + 16|0); $86 = ((($0)) + 12|0); $87 = ((($0)) + 4|0); $88 = ((($0)) + 20|0); $89 = ((($0)) + 24|0); $90 = ((($0)) + 24|0); $91 = ((($0)) + 32|0); $92 = ((($0)) + 24|0); $93 = ((($0)) + 8576|0); $94 = ((($0)) + 8256|0); $95 = ((($0)) + 10272|0); $96 = ((($0)) + 52|0); $97 = ((($0)) + 20|0); $98 = ((($0)) + 36|0); $99 = ((($0)) + 1|0); $100 = ((($0)) + 56|0); $101 = ((($0)) + 16|0); $102 = ((($0)) + 20|0); $103 = ((($0)) + 12|0); $104 = ((($0)) + 36|0); $105 = ((($0)) + 1|0); $106 = ((($0)) + 11968|0); $$0352 = 0;$$0354 = 0; L1: while(1) { $107 = HEAP8[$0>>0]|0; L3: do { switch ($107<<24>>24) { case 13: { label = 107; break L1; break; } case 0: { $108 = HEAP32[$1>>2]|0; $109 = ($108>>>0)<(3); if ($109) { $110 = HEAP32[$23>>2]|0; $111 = ($110|0)==(0); if ($111) { label = 107; break L1; } $112 = (($110) + -1)|0; HEAP32[$23>>2] = $112; $113 = HEAP32[$24>>2]|0; $114 = ((($113)) + 1|0); HEAP32[$24>>2] = $114; $115 = HEAP8[$113>>0]|0; $116 = $115&255; $117 = $116 << $108; $118 = HEAP32[$25>>2]|0; $119 = $117 | $118; HEAP32[$25>>2] = $119; $120 = (($108) + 8)|0; HEAP32[$1>>2] = $120; $$lcssa416 = $120; } else { $$lcssa416 = $108; } $121 = HEAP32[$21>>2]|0; $122 = (3)?($121 >>> 3):($121); HEAP32[$21>>2] = $122; $123 = (($$lcssa416) + -3)|0; HEAP32[$1>>2] = $123; $124 = $121 & 1; $125 = $124&255; HEAP8[$22>>0] = $125; $126 = (1)?($121 >>> 1):($121); $trunc = $126&255; $trunc$clear = $trunc & 3; switch ($trunc$clear<<24>>24) { case 0: { $127 = $123 & 7; $128 = ($127)?($122 >>> $127):($122); HEAP32[$21>>2] = $128; $129 = (($123) - ($127))|0; HEAP32[$1>>2] = $129; HEAP8[$0>>0] = 1; $$0352$be = $$0352;$$0354$be = $$0354; break L3; break; } case 1: { _Huffman_Build($67,560,288); _Huffman_Build($68,848,32); $130 = HEAP32[$69>>2]|0; $131 = ($130>>>0)>(9); if ($131) { $132 = HEAP32[$90>>2]|0; $133 = ($132>>>0)>(257); $spec$select363 = $133 ? 12 : 7; $134 = $spec$select363; } else { $134 = 7; } HEAP8[$0>>0] = $134; $$0352$be = $$0352;$$0354$be = $$0354; break L3; break; } case 2: { HEAP8[$0>>0] = 3; $$0352$be = $$0352;$$0354$be = $$0354; break L3; break; } case 3: { _Logger_Abort(22016); $$0352$be = $$0352;$$0354$be = $$0354; break L3; break; } default: { label = 106; break L1; } } break; } case 1: { $135 = HEAP32[$2>>2]|0; $136 = ($135>>>0)<(32); if ($136) { $145 = $135; while(1) { $137 = HEAP32[$27>>2]|0; $138 = ($137|0)==(0); if ($138) { label = 107; break L1; } $139 = (($137) + -1)|0; HEAP32[$27>>2] = $139; $140 = HEAP32[$28>>2]|0; $141 = ((($140)) + 1|0); HEAP32[$28>>2] = $141; $142 = HEAP8[$140>>0]|0; $143 = $142&255; $144 = $143 << $145; $146 = HEAP32[$29>>2]|0; $147 = $144 | $146; HEAP32[$29>>2] = $147; $148 = (($145) + 8)|0; HEAP32[$2>>2] = $148; $149 = ($148>>>0)<(32); if ($149) { $145 = $148; } else { $$lcssa412 = $148; break; } } } else { $$lcssa412 = $135; } $150 = HEAP32[$26>>2]|0; $151 = $150 & 65535; $152 = (16)?($150 >>> 16):($150); HEAP32[$26>>2] = 0; $153 = (($$lcssa412) + -32)|0; HEAP32[$2>>2] = $153; $154 = $152 ^ 65535; $155 = ($151|0)==($154|0); if (!($155)) { _Logger_Abort(22045); } HEAP32[$70>>2] = $151; HEAP8[$0>>0] = 2; label = 20; break; } case 2: { label = 20; break; } case 3: { $222 = HEAP32[$6>>2]|0; $223 = ($222>>>0)<(14); if ($223) { $232 = $222; while(1) { $224 = HEAP32[$39>>2]|0; $225 = ($224|0)==(0); if ($225) { label = 107; break L1; } $226 = (($224) + -1)|0; HEAP32[$39>>2] = $226; $227 = HEAP32[$40>>2]|0; $228 = ((($227)) + 1|0); HEAP32[$40>>2] = $228; $229 = HEAP8[$227>>0]|0; $230 = $229&255; $231 = $230 << $232; $233 = HEAP32[$41>>2]|0; $234 = $231 | $233; HEAP32[$41>>2] = $234; $235 = (($232) + 8)|0; HEAP32[$6>>2] = $235; $236 = ($235>>>0)<(14); if ($236) { $232 = $235; } else { $$lcssa395 = $235; break; } } } else { $$lcssa395 = $222; } $237 = HEAP32[$34>>2]|0; $238 = $237 & 31; $239 = (($238) + 257)|0; HEAP32[$35>>2] = $239; $240 = (5)?($237 >>> 5):($237); $241 = $240 & 31; $242 = (($241) + 1)|0; HEAP32[$36>>2] = $242; $243 = (10)?($237 >>> 10):($237); $244 = $243 & 15; $245 = (($244) + 4)|0; HEAP32[$37>>2] = $245; $246 = (14)?($237 >>> 14):($237); HEAP32[$34>>2] = $246; $247 = (($$lcssa395) + -14)|0; HEAP32[$6>>2] = $247; HEAP32[$38>>2] = 0; HEAP8[$0>>0] = 4; label = 39; break; } case 4: { label = 39; break; } case 5: { label = 49; break; } case 6: { $308 = HEAP32[$12>>2]|0; switch ($308|0) { case 16: { $309 = HEAP32[$51>>2]|0; $310 = ($309>>>0)<(2); if ($310) { $311 = HEAP32[$77>>2]|0; $312 = ($311|0)==(0); if ($312) { label = 107; break L1; } $313 = (($311) + -1)|0; HEAP32[$77>>2] = $313; $314 = HEAP32[$78>>2]|0; $315 = ((($314)) + 1|0); HEAP32[$78>>2] = $315; $316 = HEAP8[$314>>0]|0; $317 = $316&255; $318 = $317 << $309; $319 = HEAP32[$79>>2]|0; $320 = $318 | $319; HEAP32[$79>>2] = $320; $321 = (($309) + 8)|0; HEAP32[$51>>2] = $321; $$lcssa391 = $321; } else { $$lcssa391 = $309; } $322 = HEAP32[$75>>2]|0; $323 = $322 & 3; $324 = (2)?($322 >>> 2):($322); HEAP32[$75>>2] = $324; $325 = (($$lcssa391) + -2)|0; HEAP32[$51>>2] = $325; $326 = HEAP32[$76>>2]|0; $327 = ($326|0)==(0); if ($327) { _Logger_Abort(22091); } $328 = (($323) + 3)|0; $329 = HEAP32[$76>>2]|0; $330 = (($329) + -1)|0; $331 = (((($0)) + 8256|0) + ($330)|0); $332 = HEAP8[$331>>0]|0; $$1353 = $328;$$1355 = $332; break; } case 17: { $333 = HEAP32[$52>>2]|0; $334 = ($333>>>0)<(3); if ($334) { $335 = HEAP32[$81>>2]|0; $336 = ($335|0)==(0); if ($336) { label = 107; break L1; } $337 = (($335) + -1)|0; HEAP32[$81>>2] = $337; $338 = HEAP32[$82>>2]|0; $339 = ((($338)) + 1|0); HEAP32[$82>>2] = $339; $340 = HEAP8[$338>>0]|0; $341 = $340&255; $342 = $341 << $333; $343 = HEAP32[$83>>2]|0; $344 = $342 | $343; HEAP32[$83>>2] = $344; $345 = (($333) + 8)|0; HEAP32[$52>>2] = $345; $$lcssa387 = $345; } else { $$lcssa387 = $333; } $346 = HEAP32[$80>>2]|0; $347 = $346 & 7; $348 = (3)?($346 >>> 3):($346); HEAP32[$80>>2] = $348; $349 = (($$lcssa387) + -3)|0; HEAP32[$52>>2] = $349; $350 = (($347) + 3)|0; $$1353 = $350;$$1355 = 0; break; } case 18: { $351 = HEAP32[$53>>2]|0; $352 = ($351>>>0)<(7); if ($352) { $353 = HEAP32[$85>>2]|0; $354 = ($353|0)==(0); if ($354) { label = 107; break L1; } $355 = (($353) + -1)|0; HEAP32[$85>>2] = $355; $356 = HEAP32[$86>>2]|0; $357 = ((($356)) + 1|0); HEAP32[$86>>2] = $357; $358 = HEAP8[$356>>0]|0; $359 = $358&255; $360 = $359 << $351; $361 = HEAP32[$87>>2]|0; $362 = $360 | $361; HEAP32[$87>>2] = $362; $363 = (($351) + 8)|0; HEAP32[$53>>2] = $363; $$lcssa383 = $363; } else { $$lcssa383 = $351; } $364 = HEAP32[$84>>2]|0; $365 = $364 & 127; $366 = (7)?($364 >>> 7):($364); HEAP32[$84>>2] = $366; $367 = (($$lcssa383) + -7)|0; HEAP32[$53>>2] = $367; $368 = (($365) + 11)|0; $$1353 = $368;$$1355 = 0; break; } default: { $$1353 = $$0352;$$1355 = $$0354; } } $369 = HEAP32[$48>>2]|0; $370 = HEAP32[$49>>2]|0; $371 = (($370) + ($369))|0; $372 = HEAP32[$50>>2]|0; $373 = (($372) + ($$1353))|0; $374 = ($373>>>0)>($371>>>0); if ($374) { _Logger_Abort(22130); } $375 = HEAP32[$50>>2]|0; $376 = (((($0)) + 8256|0) + ($375)|0); _Mem_Set($376,$$1355,$$1353); $377 = HEAP32[$50>>2]|0; $378 = (($377) + ($$1353))|0; HEAP32[$50>>2] = $378; HEAP8[$0>>0] = 5; $$0352$be = $$1353;$$0354$be = $$1355; break; } case 7: { $379 = HEAP32[$13>>2]|0; $380 = ($379|0)==(0); if ($380) { label = 107; break L1; } $381 = (_Huffman_Decode($0,$54)|0); $382 = ($381|0)<(256); if ($382) { $383 = ($381|0)==(-1); if ($383) { label = 107; break L1; } $384 = $381&255; $385 = HEAP32[$97>>2]|0; HEAP8[$385>>0] = $384; $386 = HEAP32[$98>>2]|0; $387 = (((($0)) + 11968|0) + ($386)|0); HEAP8[$387>>0] = $384; $388 = HEAP32[$97>>2]|0; $389 = ((($388)) + 1|0); HEAP32[$97>>2] = $389; $390 = HEAP32[$13>>2]|0; $391 = (($390) + -1)|0; HEAP32[$13>>2] = $391; $392 = HEAP32[$98>>2]|0; $393 = (($392) + 1)|0; $394 = $393 & 32767; HEAP32[$98>>2] = $394; $$0352$be = $$0352;$$0354$be = $$0354; break L3; } $395 = ($381|0)==(256); if ($395) { $396 = HEAP8[$99>>0]|0; $397 = ($396<<24>>24)==(0); $398 = $397 ? 0 : 13; HEAP8[$0>>0] = $398; $$0352$be = $$0352;$$0354$be = $$0354; break L3; } else { $399 = (($381) + -257)|0; HEAP32[$100>>2] = $399; HEAP8[$0>>0] = 8; label = 84; break L3; } break; } case 8: { label = 84; break; } case 9: { label = 89; break; } case 10: { label = 91; break; } case 11: { label = 96; break; } case 12: { _Inflate_InflateFast($0); $491 = HEAP8[$0>>0]|0; $492 = ($491<<24>>24)==(12); if ($492) { $493 = HEAP32[$66>>2]|0; $494 = ($493>>>0)>(9); if ($494) { $495 = HEAP32[$89>>2]|0; $496 = ($495>>>0)>(257); $spec$select365 = $496 ? 12 : 7; $497 = $spec$select365; } else { $497 = 7; } HEAP8[$0>>0] = $497; $$0352$be = $$0352;$$0354$be = $$0354; } else { $$0352$be = $$0352;$$0354$be = $$0354; } break; } default: { $$0352$be = $$0352;$$0354$be = $$0354; } } } while(0); if ((label|0) == 20) { label = 0; $156 = HEAP32[$5>>2]|0; $157 = ($156|0)==(0); L74: do { if (!($157)) { while(1) { $158 = HEAP32[$3>>2]|0; $159 = ($158|0)==(0); if ($159) { break L74; } $160 = HEAP32[$4>>2]|0; $161 = ($160|0)==(0); if ($161) { break L74; } $162 = HEAP32[$31>>2]|0; $163 = $162&255; $164 = HEAP32[$32>>2]|0; HEAP8[$164>>0] = $163; $165 = HEAP32[$31>>2]|0; $166 = (8)?($165 >>> 8):($165); HEAP32[$31>>2] = $166; $167 = HEAP32[$5>>2]|0; $168 = (($167) + -8)|0; HEAP32[$5>>2] = $168; $169 = HEAP32[$32>>2]|0; $170 = HEAP8[$169>>0]|0; $171 = HEAP32[$33>>2]|0; $172 = (((($0)) + 11968|0) + ($171)|0); HEAP8[$172>>0] = $170; $173 = HEAP32[$33>>2]|0; $174 = (($173) + 1)|0; $175 = $174 & 32767; HEAP32[$33>>2] = $175; $176 = HEAP32[$32>>2]|0; $177 = ((($176)) + 1|0); HEAP32[$32>>2] = $177; $178 = HEAP32[$3>>2]|0; $179 = (($178) + -1)|0; HEAP32[$3>>2] = $179; $180 = HEAP32[$4>>2]|0; $181 = (($180) + -1)|0; HEAP32[$4>>2] = $181; $182 = HEAP32[$5>>2]|0; $183 = ($182|0)==(0); if ($183) { break; } } } } while(0); $184 = HEAP32[$30>>2]|0; $185 = ($184|0)==(0); if ($185) { label = 107; break; } $186 = HEAP32[$71>>2]|0; $187 = ($186|0)==(0); if ($187) { label = 107; break; } $188 = ($184>>>0)<($186>>>0); $$ = $188 ? $184 : $186; $189 = HEAP32[$91>>2]|0; $190 = ($$>>>0)<($189>>>0); $191 = $190 ? $$ : $189; $192 = ($191|0)==(0); if ($192) { $217 = $189; } else { $193 = HEAP32[$102>>2]|0; $194 = HEAP32[$103>>2]|0; _Mem_Copy($193,$194,$191); $195 = HEAP32[$104>>2]|0; $196 = (32768 - ($195))|0; $197 = ($196>>>0)<($191>>>0); $198 = $197 ? $196 : $191; $199 = (((($0)) + 11968|0) + ($195)|0); $200 = HEAP32[$102>>2]|0; _Mem_Copy($199,$200,$198); if ($197) { $201 = (($191) - ($198))|0; $202 = HEAP32[$102>>2]|0; $203 = (($202) + ($198)|0); _Mem_Copy($106,$203,$201); } $204 = HEAP32[$104>>2]|0; $205 = (($204) + ($191))|0; $206 = $205 & 32767; HEAP32[$104>>2] = $206; $207 = HEAP32[$102>>2]|0; $208 = (($207) + ($191)|0); HEAP32[$102>>2] = $208; $209 = HEAP32[$71>>2]|0; $210 = (($209) - ($191))|0; HEAP32[$71>>2] = $210; $211 = HEAP32[$91>>2]|0; $212 = (($211) - ($191))|0; HEAP32[$91>>2] = $212; $213 = HEAP32[$103>>2]|0; $214 = (($213) + ($191)|0); HEAP32[$103>>2] = $214; $215 = HEAP32[$30>>2]|0; $216 = (($215) - ($191))|0; HEAP32[$30>>2] = $216; $$pr = HEAP32[$91>>2]|0; $217 = $$pr; } $218 = ($217|0)==(0); if ($218) { $219 = HEAP8[$105>>0]|0; $220 = ($219<<24>>24)==(0); $221 = $220 ? 0 : 13; HEAP8[$0>>0] = $221; $$0352$be = $$0352;$$0354$be = $$0354; } else { $$0352$be = $$0352;$$0354$be = $$0354; } } else if ((label|0) == 39) { label = 0; $248 = HEAP32[$7>>2]|0; $249 = HEAP32[$8>>2]|0; $250 = ($248>>>0)<($249>>>0); if ($250) { $$pr504 = HEAP32[$42>>2]|0; $251 = $$pr504;$265 = $248; while(1) { $252 = ($251>>>0)<(3); if ($252) { $253 = HEAP32[$44>>2]|0; $254 = ($253|0)==(0); if ($254) { label = 107; break L1; } $255 = (($253) + -1)|0; HEAP32[$44>>2] = $255; $256 = HEAP32[$45>>2]|0; $257 = ((($256)) + 1|0); HEAP32[$45>>2] = $257; $258 = HEAP8[$256>>0]|0; $259 = $258&255; $260 = $259 << $251; $261 = HEAP32[$46>>2]|0; $262 = $260 | $261; HEAP32[$46>>2] = $262; $263 = (($251) + 8)|0; HEAP32[$42>>2] = $263; $$lcssa399 = $263; } else { $$lcssa399 = $251; } $264 = (880 + ($265)|0); $266 = HEAP8[$264>>0]|0; $267 = $266&255; $268 = HEAP32[$43>>2]|0; $269 = $268 & 7; $270 = $269&255; $271 = (((($0)) + 8256|0) + ($267)|0); HEAP8[$271>>0] = $270; $272 = (3)?($268 >>> 3):($268); HEAP32[$43>>2] = $272; $273 = (($$lcssa399) + -3)|0; HEAP32[$42>>2] = $273; $274 = (($265) + 1)|0; HEAP32[$7>>2] = $274; $275 = HEAP32[$8>>2]|0; $276 = ($274>>>0)<($275>>>0); if ($276) { $251 = $273;$265 = $274; } else { $$lcssa403 = $275; break; } } } else { $$lcssa403 = $249; } $277 = ($$lcssa403>>>0)<(19); if ($277) { $$0460 = $$lcssa403; while(1) { $278 = (880 + ($$0460)|0); $279 = HEAP8[$278>>0]|0; $280 = $279&255; $281 = (((($0)) + 8256|0) + ($280)|0); HEAP8[$281>>0] = 0; $282 = (($$0460) + 1)|0; $exitcond = ($282|0)==(19); if ($exitcond) { break; } else { $$0460 = $282; } } } HEAP32[$7>>2] = 0; HEAP8[$0>>0] = 5; _Huffman_Build($72,$73,19); label = 49; } else if ((label|0) == 84) { label = 0; $400 = HEAP32[$14>>2]|0; $401 = (912 + ($400)|0); $402 = HEAP8[$401>>0]|0; $403 = $402&255; $404 = HEAP32[$15>>2]|0; $405 = ($404>>>0)<($403>>>0); if ($405) { $414 = $404; while(1) { $406 = HEAP32[$56>>2]|0; $407 = ($406|0)==(0); if ($407) { label = 107; break L1; } $408 = (($406) + -1)|0; HEAP32[$56>>2] = $408; $409 = HEAP32[$57>>2]|0; $410 = ((($409)) + 1|0); HEAP32[$57>>2] = $410; $411 = HEAP8[$409>>0]|0; $412 = $411&255; $413 = $412 << $414; $415 = HEAP32[$58>>2]|0; $416 = $413 | $415; HEAP32[$58>>2] = $416; $417 = (($414) + 8)|0; HEAP32[$15>>2] = $417; $418 = ($417>>>0)<($403>>>0); if ($418) { $414 = $417; } else { $$lcssa = $417; break; } } } else { $$lcssa = $404; } $419 = (944 + ($400<<1)|0); $420 = HEAP16[$419>>1]|0; $421 = $420&65535; $422 = HEAP32[$55>>2]|0; $423 = 1 << $403; $424 = (($423) + -1)|0; $425 = $422 & $424; $426 = (($425) + ($421))|0; HEAP32[$14>>2] = $426; $427 = ($403)?($422 >>> $403):($422); HEAP32[$55>>2] = $427; $428 = (($$lcssa) - ($403))|0; HEAP32[$15>>2] = $428; HEAP8[$0>>0] = 9; label = 89; } if ((label|0) == 49) { label = 0; $283 = HEAP32[$9>>2]|0; $284 = HEAP32[$10>>2]|0; $285 = (($284) + ($283))|0; $286 = HEAP32[$11>>2]|0; $287 = ($286>>>0)<($285>>>0); L114: do { if ($287) { while(1) { $288 = (_Huffman_Decode($0,$47)|0); $289 = ($288|0)<(16); if (!($289)) { break; } $290 = ($288|0)==(-1); if ($290) { label = 107; break L1; } $291 = $288&255; $292 = HEAP32[$11>>2]|0; $293 = (((($0)) + 8256|0) + ($292)|0); HEAP8[$293>>0] = $291; $294 = HEAP32[$11>>2]|0; $295 = (($294) + 1)|0; HEAP32[$11>>2] = $295; $296 = ($295>>>0)<($285>>>0); if (!($296)) { break L114; } } HEAP32[$96>>2] = $288; HEAP8[$0>>0] = 6; } } while(0); $297 = HEAP32[$11>>2]|0; $298 = ($297|0)==($285|0); if ($298) { HEAP32[$11>>2] = 0; $299 = HEAP32[$74>>2]|0; $300 = ($299>>>0)>(9); if ($300) { $301 = HEAP32[$92>>2]|0; $302 = ($301>>>0)>(257); $spec$select364 = $302 ? 12 : 7; $303 = $spec$select364; } else { $303 = 7; } HEAP8[$0>>0] = $303; $304 = HEAP32[$9>>2]|0; _Huffman_Build($93,$94,$304); $305 = HEAP32[$9>>2]|0; $306 = (((($0)) + 8256|0) + ($305)|0); $307 = HEAP32[$10>>2]|0; _Huffman_Build($95,$306,$307); $$0352$be = $$0352;$$0354$be = $$0354; } else { $$0352$be = $$0352;$$0354$be = $$0354; } } else if ((label|0) == 89) { label = 0; $429 = (_Huffman_Decode($0,$16)|0); HEAP32[$17>>2] = $429; $430 = ($429|0)==(-1); if ($430) { label = 107; break; } HEAP8[$0>>0] = 10; label = 91; } if ((label|0) == 91) { label = 0; $431 = HEAP32[$18>>2]|0; $432 = (1008 + ($431)|0); $433 = HEAP8[$432>>0]|0; $434 = $433&255; $435 = HEAP32[$19>>2]|0; $436 = ($435>>>0)<($434>>>0); if ($436) { $445 = $435; while(1) { $437 = HEAP32[$60>>2]|0; $438 = ($437|0)==(0); if ($438) { label = 107; break L1; } $439 = (($437) + -1)|0; HEAP32[$60>>2] = $439; $440 = HEAP32[$61>>2]|0; $441 = ((($440)) + 1|0); HEAP32[$61>>2] = $441; $442 = HEAP8[$440>>0]|0; $443 = $442&255; $444 = $443 << $445; $446 = HEAP32[$62>>2]|0; $447 = $444 | $446; HEAP32[$62>>2] = $447; $448 = (($445) + 8)|0; HEAP32[$19>>2] = $448; $449 = ($448>>>0)<($434>>>0); if ($449) { $445 = $448; } else { $$lcssa379 = $448; break; } } } else { $$lcssa379 = $435; } $450 = (1040 + ($431<<1)|0); $451 = HEAP16[$450>>1]|0; $452 = $451&65535; $453 = HEAP32[$59>>2]|0; $454 = 1 << $434; $455 = (($454) + -1)|0; $456 = $453 & $455; $457 = (($456) + ($452))|0; HEAP32[$18>>2] = $457; $458 = ($434)?($453 >>> $434):($453); HEAP32[$59>>2] = $458; $459 = (($$lcssa379) - ($434))|0; HEAP32[$19>>2] = $459; HEAP8[$0>>0] = 11; label = 96; } if ((label|0) == 96) { label = 0; $460 = HEAP32[$20>>2]|0; $461 = ($460|0)==(0); if ($461) { label = 107; break; } $462 = HEAP32[$63>>2]|0; $463 = HEAP32[$64>>2]|0; $464 = ($462>>>0)<($460>>>0); $$358 = $464 ? $462 : $460; $465 = HEAP32[$65>>2]|0; $466 = (($465) - ($463))|0; $467 = ($$358|0)==(0); if (!($467)) { $$1426 = 0; while(1) { $468 = (($466) + ($$1426))|0; $469 = $468 & 32767; $470 = (((($0)) + 11968|0) + ($469)|0); $471 = HEAP8[$470>>0]|0; $472 = HEAP32[$88>>2]|0; HEAP8[$472>>0] = $471; $473 = (($$1426) + ($465))|0; $474 = $473 & 32767; $475 = (((($0)) + 11968|0) + ($474)|0); HEAP8[$475>>0] = $471; $476 = HEAP32[$88>>2]|0; $477 = ((($476)) + 1|0); HEAP32[$88>>2] = $477; $478 = (($$1426) + 1)|0; $479 = ($478>>>0)<($$358>>>0); if ($479) { $$1426 = $478; } else { break; } } } $480 = (($465) + ($$358))|0; $481 = $480 & 32767; HEAP32[$65>>2] = $481; $482 = HEAP32[$63>>2]|0; $483 = (($482) - ($$358))|0; HEAP32[$63>>2] = $483; $484 = HEAP32[$20>>2]|0; $485 = (($484) - ($$358))|0; HEAP32[$20>>2] = $485; $486 = ($483|0)==(0); if ($486) { $487 = HEAP32[$101>>2]|0; $488 = ($487>>>0)>(9); $489 = ($485>>>0)>(257); $spec$select = $489 & $488; $490 = $spec$select ? 12 : 7; HEAP8[$0>>0] = $490; $$0352$be = $$0352;$$0354$be = $$0354; } else { $$0352$be = $$0352;$$0354$be = $$0354; } } $$0352 = $$0352$be;$$0354 = $$0354$be; } if ((label|0) == 106) { // unreachable; } else if ((label|0) == 107) { return; } } function _Huffman_Build($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$08390 = 0, $$08495 = 0, $$08692 = 0, $$08789 = 0, $$096 = 0, $$198 = 0, $$394 = 0, $$sink = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0; var $110 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond103 = 0, $exitcond105 = 0, dest = 0; var label = 0, sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 128|0; $3 = sp + 64|0; $4 = sp; $5 = ((($0)) + 1024|0); HEAP16[$5>>1] = 0; $6 = ((($0)) + 1088|0); HEAP16[$6>>1] = 0; $7 = ((($0)) + 1056|0); HEAP16[$7>>1] = 0; dest=$3; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $8 = ($2|0)>(0); if ($8) { $$198 = 0; while(1) { $9 = (($1) + ($$198)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = (($3) + ($11<<2)|0); $13 = HEAP32[$12>>2]|0; $14 = (($13) + 1)|0; HEAP32[$12>>2] = $14; $15 = (($$198) + 1)|0; $exitcond105 = ($15|0)==($2|0); if ($exitcond105) { break; } else { $$198 = $15; } } } HEAP32[$3>>2] = 0; $16 = ((($3)) + 4|0); $17 = HEAP32[$16>>2]|0; $18 = ($17|0)>(2); if ($18) { _Logger_Abort(22196); } $19 = ((($3)) + 8|0); $20 = HEAP32[$19>>2]|0; $21 = ($20|0)>(4); if ($21) { _Logger_Abort(22196); } $72 = ((($3)) + 12|0); $73 = HEAP32[$72>>2]|0; $74 = ($73|0)>(8); if ($74) { _Logger_Abort(22196); } $75 = ((($3)) + 16|0); $76 = HEAP32[$75>>2]|0; $77 = ($76|0)>(16); if ($77) { _Logger_Abort(22196); } $78 = ((($3)) + 20|0); $79 = HEAP32[$78>>2]|0; $80 = ($79|0)>(32); if ($80) { _Logger_Abort(22196); } $81 = ((($3)) + 24|0); $82 = HEAP32[$81>>2]|0; $83 = ($82|0)>(64); if ($83) { _Logger_Abort(22196); } $84 = ((($3)) + 28|0); $85 = HEAP32[$84>>2]|0; $86 = ($85|0)>(128); if ($86) { _Logger_Abort(22196); } $87 = ((($3)) + 32|0); $88 = HEAP32[$87>>2]|0; $89 = ($88|0)>(256); if ($89) { _Logger_Abort(22196); } $90 = ((($3)) + 36|0); $91 = HEAP32[$90>>2]|0; $92 = ($91|0)>(512); if ($92) { _Logger_Abort(22196); } $93 = ((($3)) + 40|0); $94 = HEAP32[$93>>2]|0; $95 = ($94|0)>(1024); if ($95) { _Logger_Abort(22196); } $96 = ((($3)) + 44|0); $97 = HEAP32[$96>>2]|0; $98 = ($97|0)>(2048); if ($98) { _Logger_Abort(22196); } $99 = ((($3)) + 48|0); $100 = HEAP32[$99>>2]|0; $101 = ($100|0)>(4096); if ($101) { _Logger_Abort(22196); } $102 = ((($3)) + 52|0); $103 = HEAP32[$102>>2]|0; $104 = ($103|0)>(8192); if ($104) { _Logger_Abort(22196); } $105 = ((($3)) + 56|0); $106 = HEAP32[$105>>2]|0; $107 = ($106|0)>(16384); if ($107) { _Logger_Abort(22196); } $108 = ((($3)) + 60|0); $109 = HEAP32[$108>>2]|0; $110 = ($109|0)>(32768); if ($110) { _Logger_Abort(22196); } $$08495 = 0;$$096 = 0;$$394 = 1; while(1) { $22 = (($$394) + -1)|0; $23 = (($3) + ($22<<2)|0); $24 = HEAP32[$23>>2]|0; $25 = (($24) + ($$096))|0; $26 = $25 << 1; $27 = (($4) + ($$394<<2)|0); HEAP32[$27>>2] = $$08495; $28 = $26&65535; $29 = (((($0)) + 1024|0) + ($$394<<1)|0); HEAP16[$29>>1] = $28; $30 = $$08495&65535; $31 = (((($0)) + 1088|0) + ($$394<<1)|0); HEAP16[$31>>1] = $30; $32 = (($3) + ($$394<<2)|0); $33 = HEAP32[$32>>2]|0; $34 = (($33) + ($$08495))|0; $35 = ($33|0)==(0); $36 = (($33) + ($26))|0; $37 = $36&65535; $$sink = $35 ? 0 : $37; $38 = (((($0)) + 1056|0) + ($$394<<1)|0); HEAP16[$38>>1] = $$sink; $39 = (($$394) + 1)|0; $exitcond103 = ($39|0)==(16); if ($exitcond103) { break; } else { $$08495 = $34;$$096 = $26;$$394 = $39; } } _Mem_Set($0,-1,1024); $40 = ($2|0)>(0); if (!($40)) { STACKTOP = sp;return; } $$08692 = 0; while(1) { $41 = (($1) + ($$08692)|0); $42 = HEAP8[$41>>0]|0; $43 = $42&255; $44 = ($42<<24>>24)==(0); if (!($44)) { $45 = $$08692&65535; $46 = (($4) + ($43<<2)|0); $47 = HEAP32[$46>>2]|0; $48 = (((($0)) + 1120|0) + ($47<<1)|0); HEAP16[$48>>1] = $45; $49 = ($42&255)<(10); do { if ($49) { $50 = $43 << 9; $51 = $50 | $$08692; $52 = $51&65535; $53 = (9 - ($43))|0; $54 = 1 << $53; $55 = ($53|0)==(31); if ($55) { break; } $56 = (((($0)) + 1024|0) + ($43<<1)|0); $57 = HEAP16[$56>>1]|0; $58 = $57&65535; $59 = (($47) + ($58))|0; $60 = (((($0)) + 1088|0) + ($43<<1)|0); $61 = HEAP16[$60>>1]|0; $62 = $61&65535; $63 = (($59) - ($62))|0; $64 = $63 << $53; $$08390 = $64;$$08789 = 0; while(1) { $65 = (_Huffman_ReverseBits($$08390,9)|0); $66 = (($0) + ($65<<1)|0); HEAP16[$66>>1] = $52; $67 = (($$08789) + 1)|0; $68 = (($$08390) + 1)|0; $69 = ($67|0)<($54|0); if ($69) { $$08390 = $68;$$08789 = $67; } else { break; } } } } while(0); $70 = (($47) + 1)|0; HEAP32[$46>>2] = $70; } $71 = (($$08692) + 1)|0; $exitcond = ($71|0)==($2|0); if ($exitcond) { break; } else { $$08692 = $71; } } STACKTOP = sp;return; } function _Huffman_Decode($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $$05063 = 0, $$05162 = 0, $$05261 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; var $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 8|0); $3 = HEAP32[$2>>2]|0; $4 = ($3>>>0)<(17); L1: do { if ($4) { $5 = ((($0)) + 16|0); $6 = ((($0)) + 12|0); $7 = ((($0)) + 4|0); $16 = $3; while(1) { $8 = HEAP32[$5>>2]|0; $9 = ($8|0)==(0); if ($9) { break; } $10 = (($8) + -1)|0; HEAP32[$5>>2] = $10; $11 = HEAP32[$6>>2]|0; $12 = ((($11)) + 1|0); HEAP32[$6>>2] = $12; $13 = HEAP8[$11>>0]|0; $14 = $13&255; $15 = $14 << $16; $17 = HEAP32[$7>>2]|0; $18 = $15 | $17; HEAP32[$7>>2] = $18; $19 = (($16) + 8)|0; HEAP32[$2>>2] = $19; $20 = ($19>>>0)<(17); if ($20) { $16 = $19; } else { $32 = $19; label = 6; break L1; } } $21 = ($16>>>0)>(8); if ($21) { $32 = $16; label = 6; } else { $35 = $16; } } else { $32 = $3; label = 6; } } while(0); if ((label|0) == 6) { $22 = ((($0)) + 4|0); $23 = HEAP32[$22>>2]|0; $24 = $23 & 511; $25 = (($1) + ($24<<1)|0); $26 = HEAP16[$25>>1]|0; $27 = $26 << 16 >> 16; $28 = ($26<<16>>16)>(-1); if ($28) { $29 = (9)?($27 >> 9):($27); $30 = ($29)?($23 >>> $29):($23); HEAP32[$22>>2] = $30; $31 = (($32) - ($29))|0; HEAP32[$2>>2] = $31; $33 = $27 & 511; $$0 = $33; return ($$0|0); } else { $35 = $32; } } $34 = ((($0)) + 4|0); $$05063 = 1;$$05162 = 0;$$05261 = 0; while(1) { $36 = ($35>>>0)<($$05063>>>0); if ($36) { $$0 = -1; label = 14; break; } $37 = $$05261 << 1; $38 = HEAP32[$34>>2]|0; $39 = ($$05162)?($38 >>> $$05162):($38); $40 = $39 & 1; $41 = $40 | $37; $42 = (((($1)) + 1056|0) + ($$05063<<1)|0); $43 = HEAP16[$42>>1]|0; $44 = $43&65535; $45 = ($41>>>0)<($44>>>0); if ($45) { label = 11; break; } $60 = (($$05063) + 1)|0; $61 = (($$05162) + 1)|0; $62 = ($60>>>0)<(16); if ($62) { $$05063 = $60;$$05162 = $61;$$05261 = $41; } else { label = 13; break; } } if ((label|0) == 11) { $46 = ((($0)) + 4|0); $47 = (((($1)) + 1088|0) + ($$05063<<1)|0); $48 = HEAP16[$47>>1]|0; $49 = $48&65535; $50 = (((($1)) + 1024|0) + ($$05063<<1)|0); $51 = HEAP16[$50>>1]|0; $52 = $51&65535; $53 = (($41) + ($49))|0; $54 = (($53) - ($52))|0; $55 = ($$05063)?($38 >>> $$05063):($38); HEAP32[$46>>2] = $55; $56 = (($35) - ($$05063))|0; HEAP32[$2>>2] = $56; $57 = (((($1)) + 1120|0) + ($54<<1)|0); $58 = HEAP16[$57>>1]|0; $59 = $58&65535; $$0 = $59; return ($$0|0); } else if ((label|0) == 13) { _Logger_Abort(22165); $$0 = -1; return ($$0|0); } else if ((label|0) == 14) { return ($$0|0); } return (0)|0; } function _Inflate_InflateFast($0) { $0 = $0|0; var $$0$lcssa = 0, $$0178$lcssa = 0, $$0178218 = 0, $$0180 = 0, $$0181197 = 0, $$0181232 = 0, $$0183 = 0, $$0184199 = 0, $$0184231 = 0, $$0186$lcssa = 0, $$0186217 = 0, $$0219 = 0, $$1179227 = 0, $$1182 = 0, $$1185 = 0, $$1185$in = 0, $$1187226 = 0, $$1228 = 0, $$2214 = 0, $$lcssa = 0; var $$lcssa194 = 0, $$lcssa195 = 0, $$neg191 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0; var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; var $exitcond = 0, $exitcond253 = 0, $or$cond = 0, $or$cond189 = 0, $scevgep = 0, $scevgep250 = 0, $scevgep251 = 0, $scevgep252 = 0, $storemerge$lcssa = 0, $storemerge205 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 11968|0); $2 = ((($0)) + 36|0); $3 = HEAP32[$2>>2]|0; $4 = ((($0)) + 24|0); $5 = HEAP32[$4>>2]|0; $6 = ($5>>>0)>(257); if (!($6)) { return; } $7 = ((($0)) + 16|0); $8 = ((($0)) + 8|0); $9 = ((($0)) + 12|0); $10 = ((($0)) + 4|0); $11 = ((($0)) + 4|0); $12 = ((($0)) + 8576|0); $13 = ((($0)) + 12|0); $14 = ((($0)) + 12|0); $15 = ((($0)) + 10272|0); $16 = ((($0)) + 12|0); $scevgep = ((($0)) + 11972|0); $scevgep251 = ((($0)) + 11972|0); $$0181232 = 0;$$0184231 = $3; while(1) { $17 = HEAP32[$7>>2]|0; $18 = ($17>>>0)>(9); $19 = ($$0181232>>>0)<(32510); $or$cond = $19 & $18; if (!($or$cond)) { $$0181197 = $$0181232;$$0184199 = $$0184231; break; } $20 = HEAP32[$8>>2]|0; $21 = ($20>>>0)<(16); if ($21) { $22 = (15 - ($20))|0; $23 = $22 & -8; $31 = $20; while(1) { $24 = HEAP32[$7>>2]|0; $25 = (($24) + -1)|0; HEAP32[$7>>2] = $25; $26 = HEAP32[$9>>2]|0; $27 = ((($26)) + 1|0); HEAP32[$9>>2] = $27; $28 = HEAP8[$26>>0]|0; $29 = $28&255; $30 = $29 << $31; $32 = HEAP32[$10>>2]|0; $33 = $30 | $32; HEAP32[$10>>2] = $33; $34 = (($31) + 8)|0; HEAP32[$8>>2] = $34; $35 = ($34>>>0)<(16); if ($35) { $31 = $34; } else { break; } } $36 = (($20) + 8)|0; $37 = (($36) + ($23))|0; $$lcssa = $37; } else { $$lcssa = $20; } $38 = HEAP32[$11>>2]|0; $39 = $38 & 511; $40 = (((($0)) + 8576|0) + ($39<<1)|0); $41 = HEAP16[$40>>1]|0; $42 = $41 << 16 >> 16; $43 = ($41<<16>>16)>(-1); if ($43) { $44 = (9)?($42 >> 9):($42); $45 = ($44)?($38 >>> $44):($38); HEAP32[$11>>2] = $45; $46 = (($$lcssa) - ($44))|0; HEAP32[$8>>2] = $46; $47 = $42 & 511; $$0180 = $47; } else { $48 = (_Huffman_Unsafe_Decode_Slow($0,$12)|0); $$0180 = $48; } $49 = ($$0180>>>0)<(257); if ($49) { $50 = ($$0180|0)==(256); if ($50) { label = 14; break; } $51 = $$0180&255; $52 = (((($0)) + 11968|0) + ($$0184231)|0); HEAP8[$52>>0] = $51; $53 = HEAP32[$4>>2]|0; $54 = (($53) + -1)|0; HEAP32[$4>>2] = $54; $55 = (($$0181232) + 1)|0; $56 = (($$0184231) + 1)|0; $$1182 = $55;$$1185$in = $56;$199 = $54; } else { $61 = (($$0180) + -257)|0; $62 = (912 + ($61)|0); $63 = HEAP8[$62>>0]|0; $64 = $63&255; $65 = HEAP32[$8>>2]|0; $66 = ($65>>>0)<($64>>>0); if ($66) { $67 = (($64) + -1)|0; $68 = (($67) - ($65))|0; $69 = $68 & -8; $77 = $65; while(1) { $70 = HEAP32[$7>>2]|0; $71 = (($70) + -1)|0; HEAP32[$7>>2] = $71; $72 = HEAP32[$13>>2]|0; $73 = ((($72)) + 1|0); HEAP32[$13>>2] = $73; $74 = HEAP8[$72>>0]|0; $75 = $74&255; $76 = $75 << $77; $78 = HEAP32[$11>>2]|0; $79 = $76 | $78; HEAP32[$11>>2] = $79; $80 = (($77) + 8)|0; HEAP32[$8>>2] = $80; $81 = ($80>>>0)<($64>>>0); if ($81) { $77 = $80; } else { break; } } $82 = (($65) + 8)|0; $83 = (($82) + ($69))|0; $$lcssa194 = $83; } else { $$lcssa194 = $65; } $84 = (944 + ($61<<1)|0); $85 = HEAP16[$84>>1]|0; $86 = $85&65535; $87 = HEAP32[$11>>2]|0; $88 = 1 << $64; $89 = (($88) + -1)|0; $90 = $87 & $89; $91 = (($90) + ($86))|0; $92 = ($64)?($87 >>> $64):($87); HEAP32[$11>>2] = $92; $93 = (($$lcssa194) - ($64))|0; HEAP32[$8>>2] = $93; $94 = ($93>>>0)<(16); if ($94) { $95 = (($$lcssa194) + 8)|0; $96 = (($64) + 15)|0; $97 = (($96) - ($$lcssa194))|0; $98 = $97 & -8; $99 = (($95) + ($98))|0; $storemerge205 = $93; while(1) { $100 = HEAP32[$7>>2]|0; $101 = (($100) + -1)|0; HEAP32[$7>>2] = $101; $102 = HEAP32[$14>>2]|0; $103 = ((($102)) + 1|0); HEAP32[$14>>2] = $103; $104 = HEAP8[$102>>0]|0; $105 = $104&255; $106 = $105 << $storemerge205; $107 = HEAP32[$11>>2]|0; $108 = $106 | $107; HEAP32[$11>>2] = $108; $109 = (($storemerge205) + 8)|0; HEAP32[$8>>2] = $109; $110 = ($109>>>0)<(16); if ($110) { $storemerge205 = $109; } else { break; } } $111 = (($99) - ($64))|0; $storemerge$lcssa = $111; } else { $storemerge$lcssa = $93; } $112 = HEAP32[$11>>2]|0; $113 = $112 & 511; $114 = (((($0)) + 10272|0) + ($113<<1)|0); $115 = HEAP16[$114>>1]|0; $116 = $115 << 16 >> 16; $117 = ($115<<16>>16)>(-1); if ($117) { $118 = (9)?($116 >> 9):($116); $119 = ($118)?($112 >>> $118):($112); HEAP32[$11>>2] = $119; $120 = (($storemerge$lcssa) - ($118))|0; HEAP32[$8>>2] = $120; $121 = $116 & 511; $$0183 = $121; } else { $122 = (_Huffman_Unsafe_Decode_Slow($0,$15)|0); $$0183 = $122; } $123 = (1008 + ($$0183)|0); $124 = HEAP8[$123>>0]|0; $125 = $124&255; $126 = HEAP32[$8>>2]|0; $127 = ($126>>>0)<($125>>>0); if ($127) { $128 = (($125) + -1)|0; $129 = (($128) - ($126))|0; $130 = $129 & -8; $138 = $126; while(1) { $131 = HEAP32[$7>>2]|0; $132 = (($131) + -1)|0; HEAP32[$7>>2] = $132; $133 = HEAP32[$16>>2]|0; $134 = ((($133)) + 1|0); HEAP32[$16>>2] = $134; $135 = HEAP8[$133>>0]|0; $136 = $135&255; $137 = $136 << $138; $139 = HEAP32[$11>>2]|0; $140 = $137 | $139; HEAP32[$11>>2] = $140; $141 = (($138) + 8)|0; HEAP32[$8>>2] = $141; $142 = ($141>>>0)<($125>>>0); if ($142) { $138 = $141; } else { break; } } $143 = (($126) + 8)|0; $144 = (($143) + ($130))|0; $$lcssa195 = $144; } else { $$lcssa195 = $126; } $145 = (1040 + ($$0183<<1)|0); $146 = HEAP16[$145>>1]|0; $147 = $146&65535; $148 = HEAP32[$11>>2]|0; $149 = 1 << $125; $150 = (($149) + 32767)|0; $151 = $148 & $150; $152 = ($125)?($148 >>> $125):($148); HEAP32[$11>>2] = $152; $153 = (($$lcssa195) - ($125))|0; HEAP32[$8>>2] = $153; $$neg191 = (($$0184231) - ($147))|0; $154 = (($$neg191) - ($151))|0; $155 = $154 & 32767; $156 = ($$0184231>>>0)>=($155>>>0); $157 = (($91) + ($$0184231))|0; $158 = ($157>>>0)<(32768); $or$cond189 = $158 & $156; if ($or$cond189) { $159 = (((($0)) + 11968|0) + ($155)|0); $160 = (((($0)) + 11968|0) + ($$0184231)|0); $161 = $91 & -4; $162 = ($161|0)==(0); if ($162) { $$0$lcssa = $160;$$0178$lcssa = $159;$$0186$lcssa = 0; } else { $163 = (($161) + -1)|0; $164 = $163 & -4; $165 = (($164) + ($155))|0; $166 = (($$0184231) + ($164))|0; $scevgep252 = (($scevgep251) + ($166)|0); $$0178218 = $159;$$0186217 = 0;$$0219 = $160; while(1) { $167 = ((($$0178218)) + 1|0); $168 = HEAP8[$$0178218>>0]|0; $169 = ((($$0219)) + 1|0); HEAP8[$$0219>>0] = $168; $170 = ((($$0178218)) + 2|0); $171 = HEAP8[$167>>0]|0; $172 = ((($$0219)) + 2|0); HEAP8[$169>>0] = $171; $173 = ((($$0178218)) + 3|0); $174 = HEAP8[$170>>0]|0; $175 = ((($$0219)) + 3|0); HEAP8[$172>>0] = $174; $176 = ((($$0178218)) + 4|0); $177 = HEAP8[$173>>0]|0; $178 = ((($$0219)) + 4|0); HEAP8[$175>>0] = $177; $179 = (($$0186217) + 4)|0; $180 = ($179>>>0)<($161>>>0); if ($180) { $$0178218 = $176;$$0186217 = $179;$$0219 = $178; } else { break; } } $scevgep250 = (($scevgep) + ($165)|0); $181 = (($164) + 4)|0; $$0$lcssa = $scevgep252;$$0178$lcssa = $scevgep250;$$0186$lcssa = $181; } $182 = ($$0186$lcssa>>>0)<($91>>>0); if ($182) { $$1179227 = $$0178$lcssa;$$1187226 = $$0186$lcssa;$$1228 = $$0$lcssa; while(1) { $183 = ((($$1179227)) + 1|0); $184 = HEAP8[$$1179227>>0]|0; $185 = ((($$1228)) + 1|0); HEAP8[$$1228>>0] = $184; $186 = (($$1187226) + 1)|0; $exitcond253 = ($186|0)==($91|0); if ($exitcond253) { break; } else { $$1179227 = $183;$$1187226 = $186;$$1228 = $185; } } } } else { $187 = ($91|0)==(0); if (!($187)) { $$2214 = 0; while(1) { $188 = (($$2214) + ($154))|0; $189 = $188 & 32767; $190 = (((($0)) + 11968|0) + ($189)|0); $191 = HEAP8[$190>>0]|0; $192 = (($$2214) + ($$0184231))|0; $193 = $192 & 32767; $194 = (((($0)) + 11968|0) + ($193)|0); HEAP8[$194>>0] = $191; $195 = (($$2214) + 1)|0; $exitcond = ($195|0)==($91|0); if ($exitcond) { break; } else { $$2214 = $195; } } } } $196 = HEAP32[$4>>2]|0; $197 = (($196) - ($91))|0; HEAP32[$4>>2] = $197; $198 = (($91) + ($$0181232))|0; $$1182 = $198;$$1185$in = $157;$199 = $197; } $$1185 = $$1185$in & 32767; $200 = ($199>>>0)>(257); if ($200) { $$0181232 = $$1182;$$0184231 = $$1185; } else { $$0181197 = $$1182;$$0184199 = $$1185; break; } } if ((label|0) == 14) { $57 = ((($0)) + 1|0); $58 = HEAP8[$57>>0]|0; $59 = ($58<<24>>24)==(0); $60 = $59 ? 0 : 13; HEAP8[$0>>0] = $60; $$0181197 = $$0181232;$$0184199 = $$0184231; } HEAP32[$2>>2] = $$0184199; $201 = ($$0181197|0)==(0); if ($201) { return; } $202 = (($$0181197) + ($3))|0; $203 = ($202>>>0)<(32768); if ($203) { $204 = ((($0)) + 20|0); $205 = HEAP32[$204>>2]|0; $206 = (((($0)) + 11968|0) + ($3)|0); _Mem_Copy($205,$206,$$0181197); $207 = HEAP32[$204>>2]|0; $208 = (($207) + ($$0181197)|0); HEAP32[$204>>2] = $208; return; } else { $209 = (32768 - ($3))|0; $210 = ((($0)) + 20|0); $211 = HEAP32[$210>>2]|0; $212 = (((($0)) + 11968|0) + ($3)|0); _Mem_Copy($211,$212,$209); $213 = HEAP32[$210>>2]|0; $214 = (($213) + ($209)|0); HEAP32[$210>>2] = $214; $215 = (($$0181197) - ($209))|0; _Mem_Copy($214,$1,$215); $216 = HEAP32[$210>>2]|0; $217 = (($216) + ($215)|0); HEAP32[$210>>2] = $217; return; } } function _Huffman_Unsafe_Decode_Slow($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $$03133$lcssa = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; $4 = $3 & 511; $5 = (_Huffman_ReverseBits($4,9)|0); $6 = $5 << 1; $7 = (9)?($3 >>> 9):($3); $8 = $7 & 1; $9 = $6 | $8; $10 = ((($1)) + 1076|0); $11 = HEAP16[$10>>1]|0; $12 = $11&65535; $13 = ($9>>>0)<($12>>>0); if ($13) { $$03133$lcssa = 10;$$lcssa = $9; } else { $29 = $9 << 1; $30 = (10)?($3 >>> 10):($3); $31 = $30 & 1; $32 = $29 | $31; $33 = ((($1)) + 1078|0); $34 = HEAP16[$33>>1]|0; $35 = $34&65535; $36 = ($32>>>0)<($35>>>0); if ($36) { $$03133$lcssa = 11;$$lcssa = $32; } else { $37 = $32 << 1; $38 = (11)?($3 >>> 11):($3); $39 = $38 & 1; $40 = $37 | $39; $41 = ((($1)) + 1080|0); $42 = HEAP16[$41>>1]|0; $43 = $42&65535; $44 = ($40>>>0)<($43>>>0); if ($44) { $$03133$lcssa = 12;$$lcssa = $40; } else { $45 = $40 << 1; $46 = (12)?($3 >>> 12):($3); $47 = $46 & 1; $48 = $45 | $47; $49 = ((($1)) + 1082|0); $50 = HEAP16[$49>>1]|0; $51 = $50&65535; $52 = ($48>>>0)<($51>>>0); if ($52) { $$03133$lcssa = 13;$$lcssa = $48; } else { $53 = $48 << 1; $54 = (13)?($3 >>> 13):($3); $55 = $54 & 1; $56 = $53 | $55; $57 = ((($1)) + 1084|0); $58 = HEAP16[$57>>1]|0; $59 = $58&65535; $60 = ($56>>>0)<($59>>>0); if ($60) { $$03133$lcssa = 14;$$lcssa = $56; } else { $61 = $56 << 1; $62 = (14)?($3 >>> 14):($3); $63 = $62 & 1; $64 = $61 | $63; $65 = ((($1)) + 1086|0); $66 = HEAP16[$65>>1]|0; $67 = $66&65535; $68 = ($64>>>0)<($67>>>0); if ($68) { $$03133$lcssa = 15;$$lcssa = $64; } else { _Logger_Abort(22165); $$0 = -1; return ($$0|0); } } } } } } $14 = (((($1)) + 1088|0) + ($$03133$lcssa<<1)|0); $15 = HEAP16[$14>>1]|0; $16 = $15&65535; $17 = (((($1)) + 1024|0) + ($$03133$lcssa<<1)|0); $18 = HEAP16[$17>>1]|0; $19 = $18&65535; $20 = (($$lcssa) + ($16))|0; $21 = (($20) - ($19))|0; $22 = ($$03133$lcssa)?($3 >>> $$03133$lcssa):($3); HEAP32[$2>>2] = $22; $23 = ((($0)) + 8|0); $24 = HEAP32[$23>>2]|0; $25 = (($24) - ($$03133$lcssa))|0; HEAP32[$23>>2] = $25; $26 = (((($1)) + 1120|0) + ($21<<1)|0); $27 = HEAP16[$26>>1]|0; $28 = $27&65535; $$0 = $28; return ($$0|0); } function _Huffman_ReverseBits($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (1)?($0 >>> 1):($0); $3 = $2 & 21845; $4 = $0 << 1; $5 = $4 & 43690; $6 = $3 | $5; $7 = (2)?($6 >>> 2):($6); $8 = $7 & 13107; $9 = $6 << 2; $10 = $9 & 52428; $11 = $8 | $10; $12 = (4)?($11 >>> 4):($11); $13 = $12 & 3855; $14 = $11 << 4; $15 = $14 & 61680; $16 = $13 | $15; $17 = (8)?($16 >>> 8):($16); $18 = $16 << 8; $19 = $18 & 65280; $20 = $19 | $17; $21 = $1&255; $22 = (16 - ($21))|0; $23 = ($22)?($20 >>> $22):($20); return ($23|0); } function _Inflate_MakeStream($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, label = 0, sp = 0; sp = STACKTOP; _Stream_Init($0); _Inflate_Init($1,$2); $3 = ((($0)) + 32|0); HEAP32[$3>>2] = $1; HEAP32[$0>>2] = 27; return; } function _Inflate_StreamRead($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0 = 0, $$03839 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $4 = sp; HEAP32[$3>>2] = 0; $5 = ((($0)) + 32|0); $6 = HEAP32[$5>>2]|0; $7 = ((($6)) + 20|0); HEAP32[$7>>2] = $1; $8 = ((($6)) + 24|0); HEAP32[$8>>2] = $2; $9 = ($2|0)==(0); if ($9) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $10 = ((($6)) + 16|0); $11 = ((($6)) + 8256|0); $12 = ((($6)) + 12|0); $13 = ((($6)) + 64|0); $14 = $11; $15 = ((($6)) + 28|0); $$03839 = 1; while(1) { $16 = HEAP8[$6>>0]|0; $17 = ($16<<24>>24)==(13); if ($17) { $$0 = 0; label = 10; break; } $18 = HEAP32[$10>>2]|0; $19 = ($18|0)==(0); if ($19) { $20 = HEAP32[$12>>2]|0; $21 = ($20|0)==($11|0); if ($21) { HEAP32[$12>>2] = $13; } $22 = HEAP32[$12>>2]|0; $23 = $22; $24 = (($14) - ($23))|0; $25 = HEAP32[$15>>2]|0; $26 = HEAP32[$25>>2]|0; $27 = (FUNCTION_TABLE_iiiii[$26 & 63]($25,$22,$24,$4)|0); $28 = ($27|0)==(0); if (!($28)) { $$0 = $27; label = 10; break; } $29 = HEAP32[$4>>2]|0; $30 = ($29|0)!=(0); $31 = $30&1; $32 = HEAP32[$10>>2]|0; $33 = (($32) + ($29))|0; HEAP32[$10>>2] = $33; $$1 = $31; } else { $$1 = $$03839; } $34 = HEAP32[$8>>2]|0; _Inflate_Process($6); $35 = HEAP32[$8>>2]|0; $36 = (($34) - ($35))|0; $37 = HEAP32[$3>>2]|0; $38 = (($36) + ($37))|0; HEAP32[$3>>2] = $38; $39 = HEAP32[$8>>2]|0; $40 = ($39|0)!=(0); $41 = ($$1<<24>>24)!=(0); $42 = $41 & $40; if ($42) { $$03839 = $$1; } else { $$0 = 0; label = 10; break; } } if ((label|0) == 10) { STACKTOP = sp;return ($$0|0); } return (0)|0; } function _Deflate_MakeStream($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; _Stream_Init($0); $3 = ((($0)) + 32|0); HEAP32[$3>>2] = $1; $4 = ((($0)) + 8|0); HEAP32[$4>>2] = 28; $5 = ((($0)) + 28|0); HEAP32[$5>>2] = 3; $6 = ((($1)) + 8|0); HEAP32[$6>>2] = 16384; HEAP32[$1>>2] = 0; $7 = ((($1)) + 4|0); HEAP32[$7>>2] = 0; $8 = ((($1)) + 33656|0); $9 = ((($1)) + 12|0); HEAP32[$9>>2] = $8; $10 = ((($1)) + 16|0); HEAP32[$10>>2] = 8192; $11 = ((($1)) + 20|0); HEAP32[$11>>2] = $2; $12 = ((($1)) + 189304|0); HEAP8[$12>>0] = 0; $13 = ((($1)) + 41848|0); _Mem_Set($13,0,16384); $14 = ((($1)) + 58232|0); _Mem_Set($14,0,131072); $15 = ((($1)) + 24|0); $16 = ((($1)) + 600|0); _Deflate_BuildTable($15,$16); return; } function _Deflate_StreamWrite($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$03438 = 0, $$03537 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $4 = 0, $5 = 0, $6 = 0; var $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ((($0)) + 32|0); $5 = HEAP32[$4>>2]|0; HEAP32[$3>>2] = 0; $6 = ($2|0)==(0); if ($6) { $$2 = 0; return ($$2|0); } $7 = ((($5)) + 8|0); $$03438 = $1;$$03537 = $2; while(1) { $8 = HEAP32[$7>>2]|0; $9 = (((($5)) + 888|0) + ($8)|0); $10 = (($8) + ($$03537))|0; $11 = ($10>>>0)>(32767); $12 = (32768 - ($8))|0; $spec$select = $11 ? $12 : $$03537; _Mem_Copy($9,$$03438,$spec$select); $13 = (($$03537) - ($spec$select))|0; $14 = HEAP32[$7>>2]|0; $15 = (($spec$select) + ($14))|0; HEAP32[$7>>2] = $15; $16 = HEAP32[$3>>2]|0; $17 = (($16) + ($spec$select))|0; HEAP32[$3>>2] = $17; $18 = (($$03438) + ($spec$select)|0); $19 = HEAP32[$7>>2]|0; $20 = ($19|0)==(32768); if ($20) { $21 = (_Deflate_FlushBlock($5,16384)|0); $22 = ($21|0)==(0); if (!($22)) { $$2 = $21; label = 6; break; } } $23 = ($13|0)==(0); if ($23) { $$2 = 0; label = 6; break; } else { $$03438 = $18;$$03537 = $13; } } if ((label|0) == 6) { return ($$2|0); } return (0)|0; } function _Deflate_StreamClose($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $storemerge$lcssa = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 32|0); $2 = HEAP32[$1>>2]|0; $3 = ((($2)) + 8|0); $4 = HEAP32[$3>>2]|0; $5 = (($4) + -16384)|0; $6 = (_Deflate_FlushBlock($2,$5)|0); $7 = ($6|0)==(0); if (!($7)) { $$0 = $6; return ($$0|0); } $8 = ((($2)) + 536|0); $9 = HEAP16[$8>>1]|0; $10 = $9&65535; $11 = ((($2)) + 4|0); $12 = HEAP32[$11>>2]|0; $13 = $10 << $12; $14 = HEAP32[$2>>2]|0; $15 = $14 | $13; HEAP32[$2>>2] = $15; $16 = ((($2)) + 856|0); $17 = HEAP8[$16>>0]|0; $18 = $17&255; $19 = (($12) + ($18))|0; HEAP32[$11>>2] = $19; $20 = ($19>>>0)>(7); if ($20) { $21 = ((($2)) + 12|0); $22 = ((($2)) + 16|0); while(1) { $23 = HEAP32[$2>>2]|0; $24 = $23&255; $25 = HEAP32[$21>>2]|0; $26 = ((($25)) + 1|0); HEAP32[$21>>2] = $26; HEAP8[$25>>0] = $24; $27 = HEAP32[$22>>2]|0; $28 = (($27) + -1)|0; HEAP32[$22>>2] = $28; $29 = HEAP32[$2>>2]|0; $30 = (8)?($29 >>> 8):($29); HEAP32[$2>>2] = $30; $31 = HEAP32[$11>>2]|0; $32 = (($31) + -8)|0; HEAP32[$11>>2] = $32; $33 = ($32>>>0)>(7); if (!($33)) { $storemerge$lcssa = $32; break; } } } else { $storemerge$lcssa = $19; } $34 = ($storemerge$lcssa|0)==(0); if (!($34)) { HEAP32[$11>>2] = 8; $35 = ((($2)) + 12|0); $36 = ((($2)) + 16|0); while(1) { $37 = HEAP32[$2>>2]|0; $38 = $37&255; $39 = HEAP32[$35>>2]|0; $40 = ((($39)) + 1|0); HEAP32[$35>>2] = $40; HEAP8[$39>>0] = $38; $41 = HEAP32[$36>>2]|0; $42 = (($41) + -1)|0; HEAP32[$36>>2] = $42; $43 = HEAP32[$2>>2]|0; $44 = (8)?($43 >>> 8):($43); HEAP32[$2>>2] = $44; $45 = HEAP32[$11>>2]|0; $46 = (($45) + -8)|0; HEAP32[$11>>2] = $46; $47 = ($46>>>0)>(7); if (!($47)) { break; } } } $48 = ((($2)) + 20|0); $49 = HEAP32[$48>>2]|0; $50 = ((($2)) + 33656|0); $51 = ((($2)) + 16|0); $52 = HEAP32[$51>>2]|0; $53 = (8192 - ($52))|0; $54 = (_Stream_Write($49,$50,$53)|0); $$0 = $54; return ($$0|0); } function _Deflate_BuildTable($0,$1) { $0 = $0|0; $1 = $1|0; var $$02 = 0, $$0271 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 1696|0; $2 = sp; _Huffman_Build($2,560,288); $$02 = 0; while(1) { $3 = (((($2)) + 1056|0) + ($$02<<1)|0); $4 = HEAP16[$3>>1]|0; $5 = ($4<<16>>16)==(0); if (!($5)) { $6 = $4&65535; $7 = (((($2)) + 1024|0) + ($$02<<1)|0); $8 = HEAP16[$7>>1]|0; $9 = $8&65535; $10 = (($6) - ($9))|0; $11 = ($10|0)>(0); if ($11) { $12 = (((($2)) + 1088|0) + ($$02<<1)|0); $13 = HEAP16[$12>>1]|0; $14 = $13&65535; $15 = $$02&255; $$0271 = 0; while(1) { $16 = (($$0271) + ($14))|0; $17 = (((($2)) + 1120|0) + ($16<<1)|0); $18 = HEAP16[$17>>1]|0; $19 = $18&65535; $20 = (($$0271) + ($9))|0; $21 = (($1) + ($19)|0); HEAP8[$21>>0] = $15; $22 = (_Huffman_ReverseBits($20,$15)|0); $23 = $22&65535; $24 = (($0) + ($19<<1)|0); HEAP16[$24>>1] = $23; $25 = (($$0271) + 1)|0; $exitcond = ($25|0)==($10|0); if ($exitcond) { break; } else { $$0271 = $25; } } } } $26 = (($$02) + 1)|0; $exitcond3 = ($26|0)==(16); if ($exitcond3) { break; } else { $$02 = $26; } } STACKTOP = sp;return; } function _Deflate_FlushBlock($0,$1) { $0 = $0|0; $1 = $1|0; var $$0$lcssa = 0, $$0111 = 0, $$0112$lcssa = 0, $$0112144 = 0, $$0115 = 0, $$0115138 = 0, $$0115140 = 0, $$0116 = 0, $$0116129 = 0, $$0116133 = 0, $$0117$lcssa = 0, $$0117132 = 0, $$0120131 = 0, $$0122$lcssa = 0, $$0122130 = 0, $$0145 = 0, $$1113 = 0, $$1121139 = 0, $$2114127 = 0, $$2128 = 0; var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $9 = 0; var $spec$select = 0, $spec$select124 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 189304|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)==(0); if ($4) { HEAP8[$2>>0] = 1; $5 = ((($0)) + 4|0); $6 = HEAP32[$5>>2]|0; $7 = 3 << $6; $8 = HEAP32[$0>>2]|0; $9 = $8 | $7; HEAP32[$0>>2] = $9; $10 = (($6) + 3)|0; HEAP32[$5>>2] = $10; } $11 = ((($0)) + 17272|0); $12 = ($1|0)>(3); L4: do { if ($12) { $13 = ((($0)) + 888|0); $14 = $13; $15 = ((($0)) + 16|0); $16 = ((($0)) + 20|0); $17 = ((($0)) + 33656|0); $18 = ((($0)) + 12|0); $$0112144 = $1;$$0145 = $11; while(1) { $19 = (_Deflate_Hash($$0145)|0); $20 = ($$0112144|0)<(258); $21 = $20 ? $$0112144 : 258; $22 = (((($0)) + 41848|0) + ($19<<2)|0); $$0116129 = HEAP32[$22>>2]|0; $23 = ($$0116129|0)==(0); if ($23) { $$0117$lcssa = 0;$$0122$lcssa = 2; } else { $$0116133 = $$0116129;$$0117132 = 0;$$0120131 = 0;$$0122130 = 2; while(1) { $24 = (((($0)) + 888|0) + ($$0116133)|0); $25 = (_Deflate_MatchLen($24,$$0145,$21)|0); $26 = ($25|0)>($$0122130|0); $spec$select = $26 ? $25 : $$0122130; $spec$select124 = $26 ? $$0116133 : $$0117132; $27 = (((($0)) + 58232|0) + ($$0116133<<2)|0); $28 = (($$0120131) + 1)|0; $$0116 = HEAP32[$27>>2]|0; $29 = ($$0116|0)!=(0); $30 = ($28>>>0)<(5); $31 = $30 & $29; if ($31) { $$0116133 = $$0116;$$0117132 = $spec$select124;$$0120131 = $28;$$0122130 = $spec$select; } else { $$0117$lcssa = $spec$select124;$$0122$lcssa = $spec$select; break; } } } $32 = $$0145; $33 = (($32) - ($14))|0; $34 = HEAP32[$22>>2]|0; HEAP32[$22>>2] = $33; $35 = $34 & 65535; $36 = (((($0)) + 58232|0) + ($33<<2)|0); HEAP32[$36>>2] = $35; $37 = ($$0117$lcssa|0)==(0); L13: do { if ($37) { label = 15; } else { $38 = ((($$0145)) + 1|0); $39 = (_Deflate_Hash($38)|0); $40 = (((($0)) + 41848|0) + ($39<<2)|0); $41 = (($$0112144) + -1)|0; $42 = ($41|0)<(258); $43 = $42 ? $41 : 258; $$0115138 = HEAP32[$40>>2]|0; $44 = ($$0115138|0)==(0); if (!($44)) { $$0115140 = $$0115138;$$1121139 = 0; while(1) { $45 = (((($0)) + 888|0) + ($$0115140)|0); $46 = (_Deflate_MatchLen($45,$38,$43)|0); $47 = ($46|0)>($$0122$lcssa|0); if ($47) { label = 15; break L13; } $48 = (((($0)) + 58232|0) + ($$0115140<<2)|0); $49 = (($$1121139) + 1)|0; $$0115 = HEAP32[$48>>2]|0; $50 = ($$0115|0)!=(0); $51 = ($49>>>0)<(5); $52 = $51 & $50; if ($52) { $$0115140 = $$0115;$$1121139 = $49; } else { break; } } $53 = ($$0117$lcssa|0)==(0); if ($53) { label = 15; break; } } $54 = (($33) - ($$0117$lcssa))|0; _Deflate_LenDist($0,$$0122$lcssa,$54); $55 = (($$0112144) - ($$0122$lcssa))|0; $$1113 = $55;$$sink = $$0122$lcssa; } } while(0); if ((label|0) == 15) { label = 0; $56 = HEAP8[$$0145>>0]|0; $57 = $56&255; _Deflate_Lit($0,$57); $58 = (($$0112144) + -1)|0; $$1113 = $58;$$sink = 1; } $59 = (($$0145) + ($$sink)|0); $60 = HEAP32[$15>>2]|0; $61 = ($60>>>0)>(19); if (!($61)) { $63 = HEAP32[$16>>2]|0; $64 = (8192 - ($60))|0; $65 = (_Stream_Write($63,$17,$64)|0); HEAP32[$18>>2] = $17; HEAP32[$15>>2] = 8192; $66 = ($65|0)==(0); if (!($66)) { $$0111 = $65; break; } } $62 = ($$1113|0)>(3); if ($62) { $$0112144 = $$1113;$$0145 = $59; } else { $$0$lcssa = $59;$$0112$lcssa = $$1113; break L4; } } return ($$0111|0); } else { $$0$lcssa = $11;$$0112$lcssa = $1; } } while(0); $67 = ($$0112$lcssa|0)>(0); if ($67) { $$2114127 = $$0112$lcssa;$$2128 = $$0$lcssa; while(1) { $68 = HEAP8[$$2128>>0]|0; $69 = $68&255; _Deflate_Lit($0,$69); $70 = (($$2114127) + -1)|0; $71 = ((($$2128)) + 1|0); $72 = ($$2114127|0)>(1); if ($72) { $$2114127 = $70;$$2128 = $71; } else { break; } } } $73 = ((($0)) + 20|0); $74 = HEAP32[$73>>2]|0; $75 = ((($0)) + 33656|0); $76 = ((($0)) + 16|0); $77 = HEAP32[$76>>2]|0; $78 = (8192 - ($77))|0; $79 = (_Stream_Write($74,$75,$78)|0); $80 = ((($0)) + 12|0); HEAP32[$80>>2] = $75; HEAP32[$76>>2] = 8192; _Deflate_MoveBlock($0); $$0111 = $79; return ($$0111|0); } function _Deflate_Hash($0) { $0 = $0|0; var $$masked = 0, $$masked3 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[$0>>0]|0; $2 = $1&255; $3 = $2 << 8; $4 = ((($0)) + 1|0); $5 = HEAP8[$4>>0]|0; $6 = $5&255; $7 = $6 << 4; $8 = ((($0)) + 2|0); $9 = HEAP8[$8>>0]|0; $10 = $9&255; $$masked3 = $3 & 3840; $$masked = $$masked3 ^ $7; $11 = $$masked ^ $10; return ($11|0); } function _Deflate_MatchLen($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$0$lcssa = 0, $$011 = 0, $$0710 = 0, $$089 = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ($2|0)>(0); L1: do { if ($3) { $$011 = 0;$$0710 = $0;$$089 = $1; while(1) { $4 = HEAP8[$$0710>>0]|0; $5 = HEAP8[$$089>>0]|0; $6 = ($4<<24>>24)==($5<<24>>24); if (!($6)) { $$0$lcssa = $$011; break L1; } $7 = (($$011) + 1)|0; $8 = ((($$0710)) + 1|0); $9 = ((($$089)) + 1|0); $10 = ($7|0)<($2|0); if ($10) { $$011 = $7;$$0710 = $8;$$089 = $9; } else { $$0$lcssa = $7; break; } } } else { $$0$lcssa = 0; } } while(0); return ($$0$lcssa|0); } function _Deflate_LenDist($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$0 = 0, $$1 = 0, $$lcssa = 0, $$pr = 0, $$pr42 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $$0 = 0; while(1) { $3 = (($$0) + 1)|0; $4 = (1104 + ($3<<1)|0); $5 = HEAP16[$4>>1]|0; $6 = $5&65535; $7 = ($6|0)>($1|0); if ($7) { break; } else { $$0 = $3; } } $8 = (($$0) + 257)|0; $9 = (((($0)) + 24|0) + ($8<<1)|0); $10 = HEAP16[$9>>1]|0; $11 = $10&65535; $12 = ((($0)) + 4|0); $13 = HEAP32[$12>>2]|0; $14 = $11 << $13; $15 = HEAP32[$0>>2]|0; $16 = $15 | $14; HEAP32[$0>>2] = $16; $17 = (((($0)) + 600|0) + ($8)|0); $18 = HEAP8[$17>>0]|0; $19 = $18&255; $20 = (($13) + ($19))|0; HEAP32[$12>>2] = $20; $21 = (($$0) + -8)|0; $22 = ($21>>>0)<(20); if ($22) { $23 = (912 + ($$0)|0); $24 = (1104 + ($$0<<1)|0); $25 = HEAP16[$24>>1]|0; $26 = $25&65535; $27 = (($1) - ($26))|0; $28 = $27 << $20; $29 = $28 | $16; HEAP32[$0>>2] = $29; $30 = HEAP8[$23>>0]|0; $31 = $30&255; $32 = (($20) + ($31))|0; HEAP32[$12>>2] = $32; $$pr = $32; } else { $$pr = $20; } $33 = ($$pr>>>0)>(7); if ($33) { $34 = ((($0)) + 12|0); $35 = ((($0)) + 16|0); while(1) { $36 = HEAP32[$0>>2]|0; $37 = $36&255; $38 = HEAP32[$34>>2]|0; $39 = ((($38)) + 1|0); HEAP32[$34>>2] = $39; HEAP8[$38>>0] = $37; $40 = HEAP32[$35>>2]|0; $41 = (($40) + -1)|0; HEAP32[$35>>2] = $41; $42 = HEAP32[$0>>2]|0; $43 = (8)?($42 >>> 8):($42); HEAP32[$0>>2] = $43; $44 = HEAP32[$12>>2]|0; $45 = (($44) + -8)|0; HEAP32[$12>>2] = $45; $46 = ($45>>>0)>(7); if (!($46)) { $$lcssa = $45; break; } } } else { $$lcssa = $$pr; } $$1 = 0; while(1) { $47 = (($$1) + 1)|0; $48 = (1168 + ($47<<1)|0); $49 = HEAP16[$48>>1]|0; $50 = $49&65535; $51 = ($50|0)>($2|0); if ($51) { break; } else { $$1 = $47; } } $52 = (_Huffman_ReverseBits($$1,5)|0); $53 = $52 << $$lcssa; $54 = HEAP32[$0>>2]|0; $55 = $54 | $53; HEAP32[$0>>2] = $55; $56 = (($$lcssa) + 5)|0; HEAP32[$12>>2] = $56; $57 = (($$1) + -4)|0; $58 = ($57>>>0)<(26); if ($58) { $59 = (1008 + ($$1)|0); $60 = (1168 + ($$1<<1)|0); $61 = HEAP16[$60>>1]|0; $62 = $61&65535; $63 = (($2) - ($62))|0; $64 = $63 << $56; $65 = $64 | $55; HEAP32[$0>>2] = $65; $66 = HEAP8[$59>>0]|0; $67 = $66&255; $68 = (($56) + ($67))|0; HEAP32[$12>>2] = $68; $$pr42 = $68; } else { $$pr42 = $56; } $69 = ($$pr42>>>0)>(7); if (!($69)) { return; } $70 = ((($0)) + 12|0); $71 = ((($0)) + 16|0); while(1) { $72 = HEAP32[$0>>2]|0; $73 = $72&255; $74 = HEAP32[$70>>2]|0; $75 = ((($74)) + 1|0); HEAP32[$70>>2] = $75; HEAP8[$74>>0] = $73; $76 = HEAP32[$71>>2]|0; $77 = (($76) + -1)|0; HEAP32[$71>>2] = $77; $78 = HEAP32[$0>>2]|0; $79 = (8)?($78 >>> 8):($78); HEAP32[$0>>2] = $79; $80 = HEAP32[$12>>2]|0; $81 = (($80) + -8)|0; HEAP32[$12>>2] = $81; $82 = ($81>>>0)>(7); if (!($82)) { break; } } return; } function _Deflate_Lit($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (((($0)) + 24|0) + ($1<<1)|0); $3 = HEAP16[$2>>1]|0; $4 = $3&65535; $5 = ((($0)) + 4|0); $6 = HEAP32[$5>>2]|0; $7 = $4 << $6; $8 = HEAP32[$0>>2]|0; $9 = $8 | $7; HEAP32[$0>>2] = $9; $10 = (((($0)) + 600|0) + ($1)|0); $11 = HEAP8[$10>>0]|0; $12 = $11&255; $13 = (($6) + ($12))|0; HEAP32[$5>>2] = $13; $14 = ($13>>>0)>(7); if (!($14)) { return; } $15 = ((($0)) + 12|0); $16 = ((($0)) + 16|0); while(1) { $17 = HEAP32[$0>>2]|0; $18 = $17&255; $19 = HEAP32[$15>>2]|0; $20 = ((($19)) + 1|0); HEAP32[$15>>2] = $20; HEAP8[$19>>0] = $18; $21 = HEAP32[$16>>2]|0; $22 = (($21) + -1)|0; HEAP32[$16>>2] = $22; $23 = HEAP32[$0>>2]|0; $24 = (8)?($23 >>> 8):($23); HEAP32[$0>>2] = $24; $25 = HEAP32[$5>>2]|0; $26 = (($25) + -8)|0; HEAP32[$5>>2] = $26; $27 = ($26>>>0)>(7); if (!($27)) { break; } } return; } function _Deflate_MoveBlock($0) { $0 = $0|0; var $$021 = 0, $$120 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond22 = 0, $spec$select = 0, $spec$select19 = 0, label = 0; var sp = 0; sp = STACKTOP; $1 = ((($0)) + 888|0); $2 = ((($0)) + 17272|0); _Mem_Copy($1,$2,16384); $3 = ((($0)) + 8|0); HEAP32[$3>>2] = 16384; $$021 = 0; while(1) { $4 = (((($0)) + 41848|0) + ($$021<<2)|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)<(16384); $7 = (($5) + -16384)|0; $spec$select = $6 ? 0 : $7; HEAP32[$4>>2] = $spec$select; $8 = (($$021) + 1)|0; $exitcond22 = ($8|0)==(4096); if ($exitcond22) { break; } else { $$021 = $8; } } $$120 = 0; while(1) { $9 = (((($0)) + 58232|0) + ($$120<<2)|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)<(16384); $12 = (($10) + -16384)|0; $spec$select19 = $11 ? 0 : $12; HEAP32[$9>>2] = $spec$select19; $13 = (($$120) + 1)|0; $exitcond = ($13|0)==(32768); if ($exitcond) { break; } else { $$120 = $13; } } return; } function _GZip_MakeStream($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; _Deflate_MakeStream($0,$1,$2); $3 = ((($1)) + 189308|0); HEAP32[$3>>2] = -1; $4 = ((($1)) + 189312|0); HEAP32[$4>>2] = 0; $5 = ((($0)) + 8|0); HEAP32[$5>>2] = 29; $6 = ((($0)) + 28|0); HEAP32[$6>>2] = 4; return; } function _GZip_StreamWriteFirst($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0 = 0, $10 = 0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ((($0)) + 32|0); $5 = HEAP32[$4>>2]|0; $6 = ((($5)) + 20|0); $7 = HEAP32[$6>>2]|0; $8 = (_Stream_Write($7,22234,10)|0); $9 = ($8|0)==(0); if (!($9)) { $$0 = $8; return ($$0|0); } $10 = ((($0)) + 8|0); HEAP32[$10>>2] = 30; $11 = (_GZip_StreamWrite($0,$1,$2,$3)|0); $$0 = $11; return ($$0|0); } function _GZip_StreamClose($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = ((($0)) + 32|0); $3 = HEAP32[$2>>2]|0; $4 = (_Deflate_StreamClose($0)|0); $5 = ($4|0)==(0); if (!($5)) { $$0 = $4; STACKTOP = sp;return ($$0|0); } $6 = ((($3)) + 189308|0); $7 = HEAP32[$6>>2]|0; $8 = $7 ^ -1; _Stream_SetU32_LE($1,$8); $9 = ((($1)) + 4|0); $10 = ((($3)) + 189312|0); $11 = HEAP32[$10>>2]|0; _Stream_SetU32_LE($9,$11); $12 = ((($3)) + 20|0); $13 = HEAP32[$12>>2]|0; $14 = (_Stream_Write($13,$1,8)|0); $$0 = $14; STACKTOP = sp;return ($$0|0); } function _GZip_StreamWrite($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0$lcssa = 0, $$0$masked = 0, $$02021 = 0, $$022 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ((($0)) + 32|0); $5 = HEAP32[$4>>2]|0; $6 = ((($5)) + 189308|0); $7 = HEAP32[$6>>2]|0; $8 = ((($5)) + 189312|0); $9 = HEAP32[$8>>2]|0; $10 = (($9) + ($2))|0; HEAP32[$8>>2] = $10; $11 = ($2|0)==(0); if ($11) { $$0$lcssa = $7; HEAP32[$6>>2] = $$0$lcssa; $21 = (_Deflate_StreamWrite($0,$1,$2,$3)|0); return ($21|0); } $$02021 = 0;$$022 = $7; while(1) { $12 = (($1) + ($$02021)|0); $13 = HEAP8[$12>>0]|0; $14 = $13&255; $$0$masked = $$022 & 255; $15 = $$0$masked ^ $14; $16 = (7584 + ($15<<2)|0); $17 = HEAP32[$16>>2]|0; $18 = (8)?($$022 >>> 8):($$022); $19 = $17 ^ $18; $20 = (($$02021) + 1)|0; $exitcond = ($20|0)==($2|0); if ($exitcond) { $$0$lcssa = $19; break; } else { $$02021 = $20;$$022 = $19; } } HEAP32[$6>>2] = $$0$lcssa; $21 = (_Deflate_StreamWrite($0,$1,$2,$3)|0); return ($21|0); } function _Zip_Init($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; HEAP32[$0>>2] = $1; $2 = ((($0)) + 12|0); HEAP32[$2>>2] = 0; $3 = ((($0)) + 4|0); HEAP32[$3>>2] = 1; $4 = ((($0)) + 8|0); HEAP32[$4>>2] = 5; return; } function _Zip_DefaultProcessor($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var label = 0, sp = 0; sp = STACKTOP; return 0; } function _Zip_DefaultSelector($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return 1; } function _Zip_Extract($0) { $0 = $0|0; var $$05576 = 0, $$15673 = 0, $$2 = 0, $$25763 = 0, $$pr = 0, $$pr$pr = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; var $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0, $9 = 0, $switch$split2D = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp + 4|0; $2 = sp; $3 = HEAP32[$0>>2]|0; HEAP32[$2>>2] = 0; $4 = ((($3)) + 24|0); $5 = HEAP32[$4>>2]|0; $6 = (FUNCTION_TABLE_iii[$5 & 127]($3,$1)|0); $7 = ($6|0)==(0); L1: do { if ($7) { $8 = HEAP32[$1>>2]|0; $9 = ($8>>>0)<(257); $10 = $9 ? $8 : 257; $11 = ($10|0)>(22); L3: do { if ($11) { $12 = ((($3)) + 16|0); $$05576 = 22; while(1) { $15 = HEAP32[$12>>2]|0; $16 = HEAP32[$1>>2]|0; $17 = (($16) - ($$05576))|0; $18 = (FUNCTION_TABLE_iii[$15 & 127]($3,$17)|0); $19 = ($18|0)==(0); if (!($19)) { $$2 = -857812947; break L1; } $20 = (_Stream_ReadU32_LE($3,$2)|0); $21 = ($20|0)==(0); if (!($21)) { $$2 = $20; break L1; } $22 = HEAP32[$2>>2]|0; $23 = ($22|0)==(101010256); $13 = (($$05576) + 1)|0; if ($23) { break L3; } $14 = ($13>>>0)<($10>>>0); if ($14) { $$05576 = $13; } else { $$2 = -857812946; break L1; } } } else { $$pr$pr = HEAP32[$2>>2]|0; $24 = ($$pr$pr|0)==(101010256); if (!($24)) { $$2 = -857812946; break L1; } } } while(0); $25 = (_Zip_ReadEndOfCentralDirectory($0)|0); $26 = ($25|0)==(0); if ($26) { $27 = ((($3)) + 16|0); $28 = HEAP32[$27>>2]|0; $29 = ((($0)) + 24|0); $30 = HEAP32[$29>>2]|0; $31 = (FUNCTION_TABLE_iii[$28 & 127]($3,$30)|0); $32 = ($31|0)==(0); if ($32) { $33 = ((($0)) + 16|0); HEAP32[$33>>2] = 0; $34 = ((($0)) + 20|0); $35 = HEAP32[$34>>2]|0; $36 = ($35|0)>(0); if ($36) { $$15673 = 0; while(1) { $40 = (_Stream_ReadU32_LE($3,$2)|0); $41 = ($40|0)==(0); if (!($41)) { $$2 = $40; break L1; } $42 = HEAP32[$2>>2]|0; $switch$split2D = ($42|0)<(101010256); if (!($switch$split2D)) { label = 26; break; } switch ($42|0) { case 33639248: { break; } default: { $$2 = -857812944; break L1; } } $43 = (_Zip_ReadCentralDirectory($0)|0); $44 = ($43|0)==(0); $38 = (($$15673) + 1)|0; if (!($44)) { $$2 = $43; break L1; } $37 = HEAP32[$34>>2]|0; $39 = ($38|0)<($37|0); if ($39) { $$15673 = $38; } else { break; } } if ((label|0) == 26) { switch ($42|0) { case 101010256: { break; } default: { $$2 = -857812944; break L1; } } } $$pr = HEAP32[$33>>2]|0; $45 = ($$pr|0)>(0); if ($45) { $$25763 = 0; while(1) { $49 = (((($0)) + 32|0) + ($$25763<<4)|0); $50 = HEAP32[$27>>2]|0; $51 = (((((($0)) + 32|0) + ($$25763<<4)|0)) + 8|0); $52 = HEAP32[$51>>2]|0; $53 = (FUNCTION_TABLE_iii[$50 & 127]($3,$52)|0); $54 = ($53|0)==(0); if (!($54)) { $$2 = -857812943; break L1; } $55 = (_Stream_ReadU32_LE($3,$2)|0); $56 = ($55|0)==(0); if (!($56)) { $$2 = $55; break L1; } $57 = HEAP32[$2>>2]|0; $58 = ($57|0)==(67324752); if (!($58)) { $$2 = -857812942; break L1; } $59 = (_Zip_ReadLocalFileHeader($0,$49)|0); $60 = ($59|0)==(0); $47 = (($$25763) + 1)|0; if (!($60)) { $$2 = $59; break L1; } $46 = HEAP32[$33>>2]|0; $48 = ($47|0)<($46|0); if ($48) { $$25763 = $47; } else { $$2 = 0; break; } } } else { $$2 = 0; } } else { $$2 = 0; } } else { $$2 = -857812945; } } else { $$2 = $25; } } else { $$2 = $6; } } while(0); STACKTOP = sp;return ($$2|0); } function _Zip_ReadEndOfCentralDirectory($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $1 = sp; $2 = HEAP32[$0>>2]|0; $3 = (_Stream_Read($2,$1,18)|0); $4 = ($3|0)==(0); if (!($4)) { $$0 = $3; STACKTOP = sp;return ($$0|0); } $5 = ((($1)) + 6|0); $6 = (_Stream_GetU16_LE($5)|0); $7 = $6&65535; $8 = ((($0)) + 20|0); HEAP32[$8>>2] = $7; $9 = ((($1)) + 12|0); $10 = (_Stream_GetU32_LE($9)|0); $11 = ((($0)) + 24|0); HEAP32[$11>>2] = $10; $$0 = 0; STACKTOP = sp;return ($$0|0); } function _Zip_ReadCentralDirectory($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 576|0; $1 = sp + 512|0; $2 = sp + 560|0; $3 = sp; $4 = HEAP32[$0>>2]|0; $5 = (_Stream_Read($4,$1,42)|0); $6 = ($5|0)==(0); if (!($6)) { $$0 = $5; STACKTOP = sp;return ($$0|0); } $7 = ((($1)) + 24|0); $8 = (_Stream_GetU16_LE($7)|0); $9 = $8&65535; $10 = ($8&65535)>(512); if ($10) { $$0 = -857812941; STACKTOP = sp;return ($$0|0); } _String_Init($2,$3,$9,$9); $11 = (_Stream_Read($4,$3,$9)|0); $12 = ($11|0)==(0); if (!($12)) { $$0 = $11; STACKTOP = sp;return ($$0|0); } $13 = ((($1)) + 26|0); $14 = (_Stream_GetU16_LE($13)|0); $15 = $14&65535; $16 = ((($1)) + 28|0); $17 = (_Stream_GetU16_LE($16)|0); $18 = $17&65535; $19 = ((($4)) + 12|0); $20 = HEAP32[$19>>2]|0; $21 = (($18) + ($15))|0; $22 = (FUNCTION_TABLE_iii[$20 & 127]($4,$21)|0); $23 = ($22|0)==(0); if (!($23)) { $$0 = $22; STACKTOP = sp;return ($$0|0); } $24 = ((($0)) + 8|0); $25 = HEAP32[$24>>2]|0; $26 = (FUNCTION_TABLE_ii[$25 & 31]($2)|0); $27 = ($26<<24>>24)==(0); if ($27) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $28 = ((($0)) + 16|0); $29 = HEAP32[$28>>2]|0; $30 = ($29|0)>(1023); if ($30) { $$0 = -857812948; STACKTOP = sp;return ($$0|0); } $31 = (($29) + 1)|0; HEAP32[$28>>2] = $31; $32 = ((($1)) + 12|0); $33 = (_Stream_GetU32_LE($32)|0); $34 = (((((($0)) + 32|0) + ($29<<4)|0)) + 12|0); HEAP32[$34>>2] = $33; $35 = ((($1)) + 16|0); $36 = (_Stream_GetU32_LE($35)|0); $37 = (((($0)) + 32|0) + ($29<<4)|0); HEAP32[$37>>2] = $36; $38 = ((($1)) + 20|0); $39 = (_Stream_GetU32_LE($38)|0); $40 = (((((($0)) + 32|0) + ($29<<4)|0)) + 4|0); HEAP32[$40>>2] = $39; $41 = ((($1)) + 38|0); $42 = (_Stream_GetU32_LE($41)|0); $43 = (((((($0)) + 32|0) + ($29<<4)|0)) + 8|0); HEAP32[$43>>2] = $42; $$0 = 0; STACKTOP = sp;return ($$0|0); } function _Zip_ReadLocalFileHeader($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $$039 = 0, $$040 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 45408|0; $2 = sp + 512|0; $3 = sp + 45400|0; $4 = sp + 544|0; $5 = sp; $6 = sp + 45344|0; $7 = sp + 45288|0; $8 = sp + 552|0; $9 = HEAP32[$0>>2]|0; $10 = (_Stream_Read($9,$2,26)|0); $11 = ($10|0)==(0); if (!($11)) { $$0 = $10; STACKTOP = sp;return ($$0|0); } $12 = ((($2)) + 4|0); $13 = (_Stream_GetU16_LE($12)|0); $14 = $13&65535; HEAP32[$3>>2] = $14; $15 = ((($2)) + 14|0); $16 = (_Stream_GetU32_LE($15)|0); $17 = ((($2)) + 18|0); $18 = (_Stream_GetU32_LE($17)|0); $19 = ($16|0)==(0); if ($19) { $20 = HEAP32[$1>>2]|0; $$039 = $20; } else { $$039 = $16; } $21 = ($18|0)==(0); if ($21) { $22 = ((($1)) + 4|0); $23 = HEAP32[$22>>2]|0; $$040 = $23; } else { $$040 = $18; } $24 = ((($2)) + 22|0); $25 = (_Stream_GetU16_LE($24)|0); $26 = $25&65535; $27 = ((($2)) + 24|0); $28 = (_Stream_GetU16_LE($27)|0); $29 = $28&65535; $30 = ($25&65535)>(512); if ($30) { $$0 = -857812941; STACKTOP = sp;return ($$0|0); } _String_Init($4,$5,$26,$26); $31 = (_Stream_Read($9,$5,$26)|0); $32 = ($31|0)==(0); if (!($32)) { $$0 = $31; STACKTOP = sp;return ($$0|0); } $33 = ((($0)) + 28|0); HEAP32[$33>>2] = $1; $34 = ((($0)) + 8|0); $35 = HEAP32[$34>>2]|0; $36 = (FUNCTION_TABLE_ii[$35 & 31]($4)|0); $37 = ($36<<24>>24)==(0); if ($37) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $38 = ((($9)) + 12|0); $39 = HEAP32[$38>>2]|0; $40 = (FUNCTION_TABLE_iii[$39 & 127]($9,$29)|0); $41 = ($40|0)==(0); if (!($41)) { $$0 = $40; STACKTOP = sp;return ($$0|0); } $42 = HEAP32[$3>>2]|0; switch ($42|0) { case 0: { _Stream_ReadonlyPortion($6,$9,$$040); $43 = ((($0)) + 4|0); $44 = HEAP32[$43>>2]|0; $45 = (FUNCTION_TABLE_iiii[$44 & 15]($4,$6,$0)|0); $$0 = $45; STACKTOP = sp;return ($$0|0); break; } case 8: { _Stream_ReadonlyPortion($6,$9,$$039); _Inflate_MakeStream($7,$8,$6); $46 = ((($0)) + 4|0); $47 = HEAP32[$46>>2]|0; $48 = (FUNCTION_TABLE_iiii[$47 & 15]($4,$7,$0)|0); $$0 = $48; STACKTOP = sp;return ($$0|0); break; } default: { _Platform_Log1(22244,$3); $$0 = 0; STACKTOP = sp;return ($$0|0); } } return (0)|0; } function _String_Init($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = $2&65535; $5 = $3&65535; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP16[$$sroa$4$0$$sroa_idx2>>1] = $4; $$sroa$5$0$$sroa_idx4 = ((($0)) + 6|0); HEAP16[$$sroa$5$0$$sroa_idx4>>1] = $5; return; } function _Drawer_XMin($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0 = 0, $$sroa$12$0$$sroa_idx40 = 0, $$sroa$12$0$$sroa_idx41 = 0, $$sroa$12$0$$sroa_idx43 = 0, $$sroa$12$0$$sroa_idx45 = 0, $$sroa$13$0$$sroa_idx48 = 0, $$sroa$13$0$$sroa_idx49 = 0, $$sroa$13$0$$sroa_idx51 = 0, $$sroa$13$0$$sroa_idx53 = 0, $$sroa$16$0$$sroa_idx56 = 0, $$sroa$16$0$$sroa_idx57 = 0, $$sroa$16$0$$sroa_idx59 = 0, $$sroa$16$0$$sroa_idx61 = 0, $$sroa$7$0$$sroa_idx24 = 0, $$sroa$7$0$$sroa_idx25 = 0, $$sroa$7$0$$sroa_idx27 = 0, $$sroa$7$0$$sroa_idx29 = 0, $$sroa$9$0$$sroa_idx32 = 0, $$sroa$9$0$$sroa_idx33 = 0, $$sroa$9$0$$sroa_idx35 = 0; var $$sroa$9$0$$sroa_idx37 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $4 = HEAP32[$3>>2]|0; $5 = $2&65535; $6 = HEAP32[(1384648)>>2]|0; $7 = $6 & $5; $8 = (+($7|0)); $9 = +HEAPF32[(1384656)>>2]; $10 = $9 * $8; $11 = HEAP32[(1241072)>>2]|0; $12 = (($0) + -1)|0; $13 = (+($12|0)); $14 = +HEAPF32[(1241084)>>2]; $15 = $14 * 0.99937498569488525; $16 = $15 + $13; $17 = +HEAPF32[(1241080)>>2]; $18 = $9 * $17; $19 = $10 + $18; $20 = +HEAPF32[(1241068)>>2]; $21 = $9 * $20; $22 = $21 * 0.99937498569488525; $23 = $10 + $22; $24 = HEAP8[1241056]|0; $25 = ($24<<24>>24)==(0); if ($25) { $$0 = $1; } else { $26 = HEAP32[(1241060)>>2]|0; $27 = (_PackedCol_Tint($1,$26)|0); $$0 = $27; } $28 = HEAP32[(1241088)>>2]|0; $29 = HEAP32[(1241104)>>2]|0; $30 = +HEAPF32[(1241108)>>2]; $31 = $30 + $13; $32 = ((($4)) + 24|0); HEAP32[$4>>2] = $28; $$sroa$7$0$$sroa_idx29 = ((($4)) + 4|0); HEAP32[$$sroa$7$0$$sroa_idx29>>2] = $29; $$sroa$9$0$$sroa_idx37 = ((($4)) + 8|0); HEAPF32[$$sroa$9$0$$sroa_idx37>>2] = $31; $$sroa$12$0$$sroa_idx45 = ((($4)) + 12|0); HEAP32[$$sroa$12$0$$sroa_idx45>>2] = $$0; $$sroa$13$0$$sroa_idx53 = ((($4)) + 16|0); HEAPF32[$$sroa$13$0$$sroa_idx53>>2] = $16; $$sroa$16$0$$sroa_idx61 = ((($4)) + 20|0); HEAPF32[$$sroa$16$0$$sroa_idx61>>2] = $19; $33 = HEAP32[(1241096)>>2]|0; $34 = ((($4)) + 48|0); HEAP32[$32>>2] = $28; $$sroa$7$0$$sroa_idx27 = ((($4)) + 28|0); HEAP32[$$sroa$7$0$$sroa_idx27>>2] = $29; $$sroa$9$0$$sroa_idx35 = ((($4)) + 32|0); HEAP32[$$sroa$9$0$$sroa_idx35>>2] = $33; $$sroa$12$0$$sroa_idx43 = ((($4)) + 36|0); HEAP32[$$sroa$12$0$$sroa_idx43>>2] = $$0; $$sroa$13$0$$sroa_idx51 = ((($4)) + 40|0); HEAP32[$$sroa$13$0$$sroa_idx51>>2] = $11; $$sroa$16$0$$sroa_idx59 = ((($4)) + 44|0); HEAPF32[$$sroa$16$0$$sroa_idx59>>2] = $19; $35 = HEAP32[(1241092)>>2]|0; $36 = ((($4)) + 72|0); HEAP32[$34>>2] = $28; $$sroa$7$0$$sroa_idx25 = ((($4)) + 52|0); HEAP32[$$sroa$7$0$$sroa_idx25>>2] = $35; $$sroa$9$0$$sroa_idx33 = ((($4)) + 56|0); HEAP32[$$sroa$9$0$$sroa_idx33>>2] = $33; $$sroa$12$0$$sroa_idx41 = ((($4)) + 60|0); HEAP32[$$sroa$12$0$$sroa_idx41>>2] = $$0; $$sroa$13$0$$sroa_idx49 = ((($4)) + 64|0); HEAP32[$$sroa$13$0$$sroa_idx49>>2] = $11; $$sroa$16$0$$sroa_idx57 = ((($4)) + 68|0); HEAPF32[$$sroa$16$0$$sroa_idx57>>2] = $23; $37 = +HEAPF32[(1241108)>>2]; $38 = $37 + $13; $39 = ((($4)) + 96|0); HEAP32[$36>>2] = $28; $$sroa$7$0$$sroa_idx24 = ((($4)) + 76|0); HEAP32[$$sroa$7$0$$sroa_idx24>>2] = $35; $$sroa$9$0$$sroa_idx32 = ((($4)) + 80|0); HEAPF32[$$sroa$9$0$$sroa_idx32>>2] = $38; $$sroa$12$0$$sroa_idx40 = ((($4)) + 84|0); HEAP32[$$sroa$12$0$$sroa_idx40>>2] = $$0; $$sroa$13$0$$sroa_idx48 = ((($4)) + 88|0); HEAPF32[$$sroa$13$0$$sroa_idx48>>2] = $16; $$sroa$16$0$$sroa_idx56 = ((($4)) + 92|0); HEAPF32[$$sroa$16$0$$sroa_idx56>>2] = $23; HEAP32[$3>>2] = $39; return; } function _Drawer_XMax($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0 = 0, $$sroa$12$0$$sroa_idx40 = 0, $$sroa$12$0$$sroa_idx41 = 0, $$sroa$12$0$$sroa_idx43 = 0, $$sroa$12$0$$sroa_idx45 = 0, $$sroa$13$0$$sroa_idx48 = 0, $$sroa$13$0$$sroa_idx49 = 0, $$sroa$13$0$$sroa_idx51 = 0, $$sroa$13$0$$sroa_idx53 = 0, $$sroa$16$0$$sroa_idx56 = 0, $$sroa$16$0$$sroa_idx57 = 0, $$sroa$16$0$$sroa_idx59 = 0, $$sroa$16$0$$sroa_idx61 = 0, $$sroa$7$0$$sroa_idx24 = 0, $$sroa$7$0$$sroa_idx25 = 0, $$sroa$7$0$$sroa_idx27 = 0, $$sroa$7$0$$sroa_idx29 = 0, $$sroa$9$0$$sroa_idx32 = 0, $$sroa$9$0$$sroa_idx33 = 0, $$sroa$9$0$$sroa_idx35 = 0; var $$sroa$9$0$$sroa_idx37 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $4 = HEAP32[$3>>2]|0; $5 = $2&65535; $6 = HEAP32[(1384648)>>2]|0; $7 = $6 & $5; $8 = (+($7|0)); $9 = +HEAPF32[(1384656)>>2]; $10 = $9 * $8; $11 = (+($0|0)); $12 = +HEAPF32[(1241072)>>2]; $13 = $11 - $12; $14 = +HEAPF32[(1241084)>>2]; $15 = 1.0 - $14; $16 = $15 * 0.99937498569488525; $17 = +HEAPF32[(1241080)>>2]; $18 = $9 * $17; $19 = $10 + $18; $20 = +HEAPF32[(1241068)>>2]; $21 = $9 * $20; $22 = $21 * 0.99937498569488525; $23 = $10 + $22; $24 = HEAP8[1241056]|0; $25 = ($24<<24>>24)==(0); if ($25) { $$0 = $1; } else { $26 = HEAP32[(1241060)>>2]|0; $27 = (_PackedCol_Tint($1,$26)|0); $$0 = $27; } $28 = HEAP32[(1241100)>>2]|0; $29 = HEAP32[(1241104)>>2]|0; $30 = HEAP32[(1241096)>>2]|0; $31 = ((($4)) + 24|0); HEAP32[$4>>2] = $28; $$sroa$7$0$$sroa_idx29 = ((($4)) + 4|0); HEAP32[$$sroa$7$0$$sroa_idx29>>2] = $29; $$sroa$9$0$$sroa_idx37 = ((($4)) + 8|0); HEAP32[$$sroa$9$0$$sroa_idx37>>2] = $30; $$sroa$12$0$$sroa_idx45 = ((($4)) + 12|0); HEAP32[$$sroa$12$0$$sroa_idx45>>2] = $$0; $$sroa$13$0$$sroa_idx53 = ((($4)) + 16|0); HEAPF32[$$sroa$13$0$$sroa_idx53>>2] = $13; $$sroa$16$0$$sroa_idx61 = ((($4)) + 20|0); HEAPF32[$$sroa$16$0$$sroa_idx61>>2] = $19; $32 = +HEAPF32[(1241108)>>2]; $33 = (($0) + -1)|0; $34 = (+($33|0)); $35 = $32 + $34; $36 = ((($4)) + 48|0); HEAP32[$31>>2] = $28; $$sroa$7$0$$sroa_idx27 = ((($4)) + 28|0); HEAP32[$$sroa$7$0$$sroa_idx27>>2] = $29; $$sroa$9$0$$sroa_idx35 = ((($4)) + 32|0); HEAPF32[$$sroa$9$0$$sroa_idx35>>2] = $35; $$sroa$12$0$$sroa_idx43 = ((($4)) + 36|0); HEAP32[$$sroa$12$0$$sroa_idx43>>2] = $$0; $$sroa$13$0$$sroa_idx51 = ((($4)) + 40|0); HEAPF32[$$sroa$13$0$$sroa_idx51>>2] = $16; $$sroa$16$0$$sroa_idx59 = ((($4)) + 44|0); HEAPF32[$$sroa$16$0$$sroa_idx59>>2] = $19; $37 = HEAP32[(1241092)>>2]|0; $38 = ((($4)) + 72|0); HEAP32[$36>>2] = $28; $$sroa$7$0$$sroa_idx25 = ((($4)) + 52|0); HEAP32[$$sroa$7$0$$sroa_idx25>>2] = $37; $$sroa$9$0$$sroa_idx33 = ((($4)) + 56|0); HEAPF32[$$sroa$9$0$$sroa_idx33>>2] = $35; $$sroa$12$0$$sroa_idx41 = ((($4)) + 60|0); HEAP32[$$sroa$12$0$$sroa_idx41>>2] = $$0; $$sroa$13$0$$sroa_idx49 = ((($4)) + 64|0); HEAPF32[$$sroa$13$0$$sroa_idx49>>2] = $16; $$sroa$16$0$$sroa_idx57 = ((($4)) + 68|0); HEAPF32[$$sroa$16$0$$sroa_idx57>>2] = $23; $39 = HEAP32[(1241096)>>2]|0; $40 = ((($4)) + 96|0); HEAP32[$38>>2] = $28; $$sroa$7$0$$sroa_idx24 = ((($4)) + 76|0); HEAP32[$$sroa$7$0$$sroa_idx24>>2] = $37; $$sroa$9$0$$sroa_idx32 = ((($4)) + 80|0); HEAP32[$$sroa$9$0$$sroa_idx32>>2] = $39; $$sroa$12$0$$sroa_idx40 = ((($4)) + 84|0); HEAP32[$$sroa$12$0$$sroa_idx40>>2] = $$0; $$sroa$13$0$$sroa_idx48 = ((($4)) + 88|0); HEAPF32[$$sroa$13$0$$sroa_idx48>>2] = $13; $$sroa$16$0$$sroa_idx56 = ((($4)) + 92|0); HEAPF32[$$sroa$16$0$$sroa_idx56>>2] = $23; HEAP32[$3>>2] = $40; return; } function _Drawer_ZMin($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$11$0$$sroa_idx32 = 0, $$sroa$11$0$$sroa_idx33 = 0, $$sroa$11$0$$sroa_idx35 = 0, $$sroa$11$0$$sroa_idx37 = 0, $$sroa$12$0$$sroa_idx40 = 0, $$sroa$12$0$$sroa_idx41 = 0, $$sroa$12$0$$sroa_idx43 = 0, $$sroa$12$0$$sroa_idx45 = 0, $$sroa$13$0$$sroa_idx48 = 0, $$sroa$13$0$$sroa_idx49 = 0, $$sroa$13$0$$sroa_idx51 = 0, $$sroa$13$0$$sroa_idx53 = 0, $$sroa$16$0$$sroa_idx56 = 0, $$sroa$16$0$$sroa_idx57 = 0, $$sroa$16$0$$sroa_idx59 = 0, $$sroa$16$0$$sroa_idx61 = 0, $$sroa$9$0$$sroa_idx24 = 0, $$sroa$9$0$$sroa_idx25 = 0; var $$sroa$9$0$$sroa_idx27 = 0, $$sroa$9$0$$sroa_idx29 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0.0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0; var sp = 0; sp = STACKTOP; $4 = HEAP32[$3>>2]|0; $5 = $2&65535; $6 = HEAP32[(1384648)>>2]|0; $7 = $6 & $5; $8 = (+($7|0)); $9 = +HEAPF32[(1384656)>>2]; $10 = $9 * $8; $11 = (+($0|0)); $12 = +HEAPF32[(1241064)>>2]; $13 = $11 - $12; $14 = +HEAPF32[(1241076)>>2]; $15 = 1.0 - $14; $16 = $15 * 0.99937498569488525; $17 = +HEAPF32[(1241080)>>2]; $18 = $9 * $17; $19 = $10 + $18; $20 = +HEAPF32[(1241068)>>2]; $21 = $9 * $20; $22 = $21 * 0.99937498569488525; $23 = $10 + $22; $24 = HEAP8[1241056]|0; $25 = ($24<<24>>24)==(0); if ($25) { $$0 = $1; } else { $26 = HEAP32[(1241060)>>2]|0; $27 = (_PackedCol_Tint($1,$26)|0); $$0 = $27; } $28 = HEAP32[(1241096)>>2]|0; $29 = +HEAPF32[(1241100)>>2]; $30 = (($0) + -1)|0; $31 = (+($30|0)); $32 = $29 + $31; $33 = HEAP32[(1241092)>>2]|0; $34 = ((($4)) + 24|0); HEAPF32[$4>>2] = $32; $$sroa$9$0$$sroa_idx25 = ((($4)) + 4|0); HEAP32[$$sroa$9$0$$sroa_idx25>>2] = $33; $$sroa$11$0$$sroa_idx33 = ((($4)) + 8|0); HEAP32[$$sroa$11$0$$sroa_idx33>>2] = $28; $$sroa$12$0$$sroa_idx41 = ((($4)) + 12|0); HEAP32[$$sroa$12$0$$sroa_idx41>>2] = $$0; $$sroa$13$0$$sroa_idx49 = ((($4)) + 16|0); HEAPF32[$$sroa$13$0$$sroa_idx49>>2] = $16; $$sroa$16$0$$sroa_idx57 = ((($4)) + 20|0); HEAPF32[$$sroa$16$0$$sroa_idx57>>2] = $23; $35 = HEAP32[(1241088)>>2]|0; $36 = ((($4)) + 48|0); HEAP32[$34>>2] = $35; $$sroa$9$0$$sroa_idx29 = ((($4)) + 28|0); HEAP32[$$sroa$9$0$$sroa_idx29>>2] = $33; $$sroa$11$0$$sroa_idx37 = ((($4)) + 32|0); HEAP32[$$sroa$11$0$$sroa_idx37>>2] = $28; $$sroa$12$0$$sroa_idx45 = ((($4)) + 36|0); HEAP32[$$sroa$12$0$$sroa_idx45>>2] = $$0; $$sroa$13$0$$sroa_idx53 = ((($4)) + 40|0); HEAPF32[$$sroa$13$0$$sroa_idx53>>2] = $13; $$sroa$16$0$$sroa_idx61 = ((($4)) + 44|0); HEAPF32[$$sroa$16$0$$sroa_idx61>>2] = $23; $37 = HEAP32[(1241104)>>2]|0; HEAP32[$36>>2] = $35; $$sroa$9$0$$sroa_idx27 = ((($4)) + 52|0); HEAP32[$$sroa$9$0$$sroa_idx27>>2] = $37; $$sroa$11$0$$sroa_idx35 = ((($4)) + 56|0); HEAP32[$$sroa$11$0$$sroa_idx35>>2] = $28; $$sroa$12$0$$sroa_idx43 = ((($4)) + 60|0); HEAP32[$$sroa$12$0$$sroa_idx43>>2] = $$0; $$sroa$13$0$$sroa_idx51 = ((($4)) + 64|0); HEAPF32[$$sroa$13$0$$sroa_idx51>>2] = $13; $$sroa$16$0$$sroa_idx59 = ((($4)) + 68|0); HEAPF32[$$sroa$16$0$$sroa_idx59>>2] = $19; $38 = +HEAPF32[(1241100)>>2]; $39 = $38 + $31; $40 = ((($4)) + 96|0); $$sroa$0$0$$sroa_idx = ((($4)) + 72|0); HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $39; $$sroa$9$0$$sroa_idx24 = ((($4)) + 76|0); HEAP32[$$sroa$9$0$$sroa_idx24>>2] = $37; $$sroa$11$0$$sroa_idx32 = ((($4)) + 80|0); HEAP32[$$sroa$11$0$$sroa_idx32>>2] = $28; $$sroa$12$0$$sroa_idx40 = ((($4)) + 84|0); HEAP32[$$sroa$12$0$$sroa_idx40>>2] = $$0; $$sroa$13$0$$sroa_idx48 = ((($4)) + 88|0); HEAPF32[$$sroa$13$0$$sroa_idx48>>2] = $16; $$sroa$16$0$$sroa_idx56 = ((($4)) + 92|0); HEAPF32[$$sroa$16$0$$sroa_idx56>>2] = $19; HEAP32[$3>>2] = $40; return; } function _Drawer_ZMax($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$11$0$$sroa_idx32 = 0, $$sroa$11$0$$sroa_idx33 = 0, $$sroa$11$0$$sroa_idx35 = 0, $$sroa$11$0$$sroa_idx37 = 0, $$sroa$12$0$$sroa_idx40 = 0, $$sroa$12$0$$sroa_idx41 = 0, $$sroa$12$0$$sroa_idx43 = 0, $$sroa$12$0$$sroa_idx45 = 0, $$sroa$13$0$$sroa_idx48 = 0, $$sroa$13$0$$sroa_idx49 = 0, $$sroa$13$0$$sroa_idx51 = 0, $$sroa$13$0$$sroa_idx53 = 0, $$sroa$16$0$$sroa_idx56 = 0, $$sroa$16$0$$sroa_idx57 = 0, $$sroa$16$0$$sroa_idx59 = 0, $$sroa$16$0$$sroa_idx61 = 0, $$sroa$9$0$$sroa_idx24 = 0, $$sroa$9$0$$sroa_idx25 = 0; var $$sroa$9$0$$sroa_idx27 = 0, $$sroa$9$0$$sroa_idx29 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0.0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $4 = HEAP32[$3>>2]|0; $5 = $2&65535; $6 = HEAP32[(1384648)>>2]|0; $7 = $6 & $5; $8 = (+($7|0)); $9 = +HEAPF32[(1384656)>>2]; $10 = $9 * $8; $11 = HEAP32[(1241064)>>2]|0; $12 = (($0) + -1)|0; $13 = (+($12|0)); $14 = +HEAPF32[(1241076)>>2]; $15 = $14 * 0.99937498569488525; $16 = $15 + $13; $17 = +HEAPF32[(1241080)>>2]; $18 = $9 * $17; $19 = $10 + $18; $20 = +HEAPF32[(1241068)>>2]; $21 = $9 * $20; $22 = $21 * 0.99937498569488525; $23 = $10 + $22; $24 = HEAP8[1241056]|0; $25 = ($24<<24>>24)==(0); if ($25) { $$0 = $1; } else { $26 = HEAP32[(1241060)>>2]|0; $27 = (_PackedCol_Tint($1,$26)|0); $$0 = $27; } $28 = HEAP32[(1241108)>>2]|0; $29 = +HEAPF32[(1241100)>>2]; $30 = $29 + $13; $31 = HEAP32[(1241104)>>2]|0; $32 = ((($4)) + 24|0); HEAPF32[$4>>2] = $30; $$sroa$9$0$$sroa_idx25 = ((($4)) + 4|0); HEAP32[$$sroa$9$0$$sroa_idx25>>2] = $31; $$sroa$11$0$$sroa_idx33 = ((($4)) + 8|0); HEAP32[$$sroa$11$0$$sroa_idx33>>2] = $28; $$sroa$12$0$$sroa_idx41 = ((($4)) + 12|0); HEAP32[$$sroa$12$0$$sroa_idx41>>2] = $$0; $$sroa$13$0$$sroa_idx49 = ((($4)) + 16|0); HEAPF32[$$sroa$13$0$$sroa_idx49>>2] = $16; $$sroa$16$0$$sroa_idx57 = ((($4)) + 20|0); HEAPF32[$$sroa$16$0$$sroa_idx57>>2] = $19; $33 = HEAP32[(1241088)>>2]|0; $34 = ((($4)) + 48|0); HEAP32[$32>>2] = $33; $$sroa$9$0$$sroa_idx29 = ((($4)) + 28|0); HEAP32[$$sroa$9$0$$sroa_idx29>>2] = $31; $$sroa$11$0$$sroa_idx37 = ((($4)) + 32|0); HEAP32[$$sroa$11$0$$sroa_idx37>>2] = $28; $$sroa$12$0$$sroa_idx45 = ((($4)) + 36|0); HEAP32[$$sroa$12$0$$sroa_idx45>>2] = $$0; $$sroa$13$0$$sroa_idx53 = ((($4)) + 40|0); HEAP32[$$sroa$13$0$$sroa_idx53>>2] = $11; $$sroa$16$0$$sroa_idx61 = ((($4)) + 44|0); HEAPF32[$$sroa$16$0$$sroa_idx61>>2] = $19; $35 = HEAP32[(1241092)>>2]|0; HEAP32[$34>>2] = $33; $$sroa$9$0$$sroa_idx27 = ((($4)) + 52|0); HEAP32[$$sroa$9$0$$sroa_idx27>>2] = $35; $$sroa$11$0$$sroa_idx35 = ((($4)) + 56|0); HEAP32[$$sroa$11$0$$sroa_idx35>>2] = $28; $$sroa$12$0$$sroa_idx43 = ((($4)) + 60|0); HEAP32[$$sroa$12$0$$sroa_idx43>>2] = $$0; $$sroa$13$0$$sroa_idx51 = ((($4)) + 64|0); HEAP32[$$sroa$13$0$$sroa_idx51>>2] = $11; $$sroa$16$0$$sroa_idx59 = ((($4)) + 68|0); HEAPF32[$$sroa$16$0$$sroa_idx59>>2] = $23; $36 = +HEAPF32[(1241100)>>2]; $37 = $36 + $13; $38 = ((($4)) + 96|0); $$sroa$0$0$$sroa_idx = ((($4)) + 72|0); HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $37; $$sroa$9$0$$sroa_idx24 = ((($4)) + 76|0); HEAP32[$$sroa$9$0$$sroa_idx24>>2] = $35; $$sroa$11$0$$sroa_idx32 = ((($4)) + 80|0); HEAP32[$$sroa$11$0$$sroa_idx32>>2] = $28; $$sroa$12$0$$sroa_idx40 = ((($4)) + 84|0); HEAP32[$$sroa$12$0$$sroa_idx40>>2] = $$0; $$sroa$13$0$$sroa_idx48 = ((($4)) + 88|0); HEAPF32[$$sroa$13$0$$sroa_idx48>>2] = $16; $$sroa$16$0$$sroa_idx56 = ((($4)) + 92|0); HEAPF32[$$sroa$16$0$$sroa_idx56>>2] = $23; HEAP32[$3>>2] = $38; return; } function _Drawer_YMin($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$10$0$$sroa_idx32 = 0, $$sroa$10$0$$sroa_idx33 = 0, $$sroa$10$0$$sroa_idx35 = 0, $$sroa$10$0$$sroa_idx37 = 0, $$sroa$12$0$$sroa_idx40 = 0, $$sroa$12$0$$sroa_idx41 = 0, $$sroa$12$0$$sroa_idx43 = 0, $$sroa$12$0$$sroa_idx45 = 0, $$sroa$13$0$$sroa_idx48 = 0, $$sroa$13$0$$sroa_idx49 = 0, $$sroa$13$0$$sroa_idx51 = 0, $$sroa$13$0$$sroa_idx53 = 0, $$sroa$16$0$$sroa_idx56 = 0, $$sroa$16$0$$sroa_idx57 = 0, $$sroa$16$0$$sroa_idx59 = 0, $$sroa$16$0$$sroa_idx61 = 0, $$sroa$9$0$$sroa_idx24 = 0, $$sroa$9$0$$sroa_idx25 = 0; var $$sroa$9$0$$sroa_idx27 = 0, $$sroa$9$0$$sroa_idx29 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0.0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $4 = HEAP32[$3>>2]|0; $5 = $2&65535; $6 = HEAP32[(1384648)>>2]|0; $7 = $6 & $5; $8 = (+($7|0)); $9 = +HEAPF32[(1384656)>>2]; $10 = $9 * $8; $11 = HEAP32[(1241064)>>2]|0; $12 = (($0) + -1)|0; $13 = (+($12|0)); $14 = +HEAPF32[(1241076)>>2]; $15 = $14 * 0.99937498569488525; $16 = $15 + $13; $17 = +HEAPF32[(1241072)>>2]; $18 = $9 * $17; $19 = $10 + $18; $20 = +HEAPF32[(1241084)>>2]; $21 = $9 * $20; $22 = $21 * 0.99937498569488525; $23 = $10 + $22; $24 = HEAP8[1241056]|0; $25 = ($24<<24>>24)==(0); if ($25) { $$0 = $1; } else { $26 = HEAP32[(1241060)>>2]|0; $27 = (_PackedCol_Tint($1,$26)|0); $$0 = $27; } $28 = HEAP32[(1241092)>>2]|0; $29 = +HEAPF32[(1241100)>>2]; $30 = $29 + $13; $31 = HEAP32[(1241108)>>2]|0; $32 = ((($4)) + 24|0); HEAPF32[$4>>2] = $30; $$sroa$9$0$$sroa_idx27 = ((($4)) + 4|0); HEAP32[$$sroa$9$0$$sroa_idx27>>2] = $28; $$sroa$10$0$$sroa_idx35 = ((($4)) + 8|0); HEAP32[$$sroa$10$0$$sroa_idx35>>2] = $31; $$sroa$12$0$$sroa_idx43 = ((($4)) + 12|0); HEAP32[$$sroa$12$0$$sroa_idx43>>2] = $$0; $$sroa$13$0$$sroa_idx51 = ((($4)) + 16|0); HEAPF32[$$sroa$13$0$$sroa_idx51>>2] = $16; $$sroa$16$0$$sroa_idx59 = ((($4)) + 20|0); HEAPF32[$$sroa$16$0$$sroa_idx59>>2] = $23; $33 = HEAP32[(1241088)>>2]|0; $34 = ((($4)) + 48|0); HEAP32[$32>>2] = $33; $$sroa$9$0$$sroa_idx29 = ((($4)) + 28|0); HEAP32[$$sroa$9$0$$sroa_idx29>>2] = $28; $$sroa$10$0$$sroa_idx37 = ((($4)) + 32|0); HEAP32[$$sroa$10$0$$sroa_idx37>>2] = $31; $$sroa$12$0$$sroa_idx45 = ((($4)) + 36|0); HEAP32[$$sroa$12$0$$sroa_idx45>>2] = $$0; $$sroa$13$0$$sroa_idx53 = ((($4)) + 40|0); HEAP32[$$sroa$13$0$$sroa_idx53>>2] = $11; $$sroa$16$0$$sroa_idx61 = ((($4)) + 44|0); HEAPF32[$$sroa$16$0$$sroa_idx61>>2] = $23; $35 = HEAP32[(1241096)>>2]|0; HEAP32[$34>>2] = $33; $$sroa$9$0$$sroa_idx25 = ((($4)) + 52|0); HEAP32[$$sroa$9$0$$sroa_idx25>>2] = $28; $$sroa$10$0$$sroa_idx33 = ((($4)) + 56|0); HEAP32[$$sroa$10$0$$sroa_idx33>>2] = $35; $$sroa$12$0$$sroa_idx41 = ((($4)) + 60|0); HEAP32[$$sroa$12$0$$sroa_idx41>>2] = $$0; $$sroa$13$0$$sroa_idx49 = ((($4)) + 64|0); HEAP32[$$sroa$13$0$$sroa_idx49>>2] = $11; $$sroa$16$0$$sroa_idx57 = ((($4)) + 68|0); HEAPF32[$$sroa$16$0$$sroa_idx57>>2] = $19; $36 = +HEAPF32[(1241100)>>2]; $37 = $36 + $13; $38 = ((($4)) + 96|0); $$sroa$0$0$$sroa_idx = ((($4)) + 72|0); HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $37; $$sroa$9$0$$sroa_idx24 = ((($4)) + 76|0); HEAP32[$$sroa$9$0$$sroa_idx24>>2] = $28; $$sroa$10$0$$sroa_idx32 = ((($4)) + 80|0); HEAP32[$$sroa$10$0$$sroa_idx32>>2] = $35; $$sroa$12$0$$sroa_idx40 = ((($4)) + 84|0); HEAP32[$$sroa$12$0$$sroa_idx40>>2] = $$0; $$sroa$13$0$$sroa_idx48 = ((($4)) + 88|0); HEAPF32[$$sroa$13$0$$sroa_idx48>>2] = $16; $$sroa$16$0$$sroa_idx56 = ((($4)) + 92|0); HEAPF32[$$sroa$16$0$$sroa_idx56>>2] = $19; HEAP32[$3>>2] = $38; return; } function _Drawer_YMax($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$10$0$$sroa_idx32 = 0, $$sroa$10$0$$sroa_idx33 = 0, $$sroa$10$0$$sroa_idx35 = 0, $$sroa$10$0$$sroa_idx37 = 0, $$sroa$12$0$$sroa_idx40 = 0, $$sroa$12$0$$sroa_idx41 = 0, $$sroa$12$0$$sroa_idx43 = 0, $$sroa$12$0$$sroa_idx45 = 0, $$sroa$13$0$$sroa_idx48 = 0, $$sroa$13$0$$sroa_idx49 = 0, $$sroa$13$0$$sroa_idx51 = 0, $$sroa$13$0$$sroa_idx53 = 0, $$sroa$16$0$$sroa_idx56 = 0, $$sroa$16$0$$sroa_idx57 = 0, $$sroa$16$0$$sroa_idx59 = 0, $$sroa$16$0$$sroa_idx61 = 0, $$sroa$9$0$$sroa_idx24 = 0, $$sroa$9$0$$sroa_idx25 = 0; var $$sroa$9$0$$sroa_idx27 = 0, $$sroa$9$0$$sroa_idx29 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0.0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $4 = HEAP32[$3>>2]|0; $5 = $2&65535; $6 = HEAP32[(1384648)>>2]|0; $7 = $6 & $5; $8 = (+($7|0)); $9 = +HEAPF32[(1384656)>>2]; $10 = $9 * $8; $11 = HEAP32[(1241064)>>2]|0; $12 = (($0) + -1)|0; $13 = (+($12|0)); $14 = +HEAPF32[(1241076)>>2]; $15 = $14 * 0.99937498569488525; $16 = $15 + $13; $17 = +HEAPF32[(1241072)>>2]; $18 = $9 * $17; $19 = $10 + $18; $20 = +HEAPF32[(1241084)>>2]; $21 = $9 * $20; $22 = $21 * 0.99937498569488525; $23 = $10 + $22; $24 = HEAP8[1241056]|0; $25 = ($24<<24>>24)==(0); if ($25) { $$0 = $1; } else { $26 = HEAP32[(1241060)>>2]|0; $27 = (_PackedCol_Tint($1,$26)|0); $$0 = $27; } $28 = HEAP32[(1241104)>>2]|0; $29 = +HEAPF32[(1241100)>>2]; $30 = $29 + $13; $31 = HEAP32[(1241096)>>2]|0; $32 = ((($4)) + 24|0); HEAPF32[$4>>2] = $30; $$sroa$9$0$$sroa_idx27 = ((($4)) + 4|0); HEAP32[$$sroa$9$0$$sroa_idx27>>2] = $28; $$sroa$10$0$$sroa_idx35 = ((($4)) + 8|0); HEAP32[$$sroa$10$0$$sroa_idx35>>2] = $31; $$sroa$12$0$$sroa_idx43 = ((($4)) + 12|0); HEAP32[$$sroa$12$0$$sroa_idx43>>2] = $$0; $$sroa$13$0$$sroa_idx51 = ((($4)) + 16|0); HEAPF32[$$sroa$13$0$$sroa_idx51>>2] = $16; $$sroa$16$0$$sroa_idx59 = ((($4)) + 20|0); HEAPF32[$$sroa$16$0$$sroa_idx59>>2] = $19; $33 = HEAP32[(1241088)>>2]|0; $34 = ((($4)) + 48|0); HEAP32[$32>>2] = $33; $$sroa$9$0$$sroa_idx29 = ((($4)) + 28|0); HEAP32[$$sroa$9$0$$sroa_idx29>>2] = $28; $$sroa$10$0$$sroa_idx37 = ((($4)) + 32|0); HEAP32[$$sroa$10$0$$sroa_idx37>>2] = $31; $$sroa$12$0$$sroa_idx45 = ((($4)) + 36|0); HEAP32[$$sroa$12$0$$sroa_idx45>>2] = $$0; $$sroa$13$0$$sroa_idx53 = ((($4)) + 40|0); HEAP32[$$sroa$13$0$$sroa_idx53>>2] = $11; $$sroa$16$0$$sroa_idx61 = ((($4)) + 44|0); HEAPF32[$$sroa$16$0$$sroa_idx61>>2] = $19; $35 = HEAP32[(1241108)>>2]|0; HEAP32[$34>>2] = $33; $$sroa$9$0$$sroa_idx25 = ((($4)) + 52|0); HEAP32[$$sroa$9$0$$sroa_idx25>>2] = $28; $$sroa$10$0$$sroa_idx33 = ((($4)) + 56|0); HEAP32[$$sroa$10$0$$sroa_idx33>>2] = $35; $$sroa$12$0$$sroa_idx41 = ((($4)) + 60|0); HEAP32[$$sroa$12$0$$sroa_idx41>>2] = $$0; $$sroa$13$0$$sroa_idx49 = ((($4)) + 64|0); HEAP32[$$sroa$13$0$$sroa_idx49>>2] = $11; $$sroa$16$0$$sroa_idx57 = ((($4)) + 68|0); HEAPF32[$$sroa$16$0$$sroa_idx57>>2] = $23; $36 = +HEAPF32[(1241100)>>2]; $37 = $36 + $13; $38 = ((($4)) + 96|0); $$sroa$0$0$$sroa_idx = ((($4)) + 72|0); HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $37; $$sroa$9$0$$sroa_idx24 = ((($4)) + 76|0); HEAP32[$$sroa$9$0$$sroa_idx24>>2] = $28; $$sroa$10$0$$sroa_idx32 = ((($4)) + 80|0); HEAP32[$$sroa$10$0$$sroa_idx32>>2] = $35; $$sroa$12$0$$sroa_idx40 = ((($4)) + 84|0); HEAP32[$$sroa$12$0$$sroa_idx40>>2] = $$0; $$sroa$13$0$$sroa_idx48 = ((($4)) + 88|0); HEAPF32[$$sroa$13$0$$sroa_idx48>>2] = $16; $$sroa$16$0$$sroa_idx56 = ((($4)) + 92|0); HEAPF32[$$sroa$16$0$$sroa_idx56>>2] = $23; HEAP32[$3>>2] = $38; return; } function _Drawer2D_Init() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; _Drawer2D_Reset(); $0 = HEAP8[1408229]|0; $1 = ($0<<24>>24)==(0); if ($1) { $2 = (_Options_GetBool(33468,0)|0); $3 = ($2<<24>>24)==(0); $phitmp = $3&1; $4 = $phitmp; } else { $4 = 1; } HEAP8[1408216] = $4; $5 = (_Options_GetBool(33588,0)|0); HEAP8[1408217] = $5; (_Options_UNSAFE_Get(33455,1232)|0); $6 = HEAP8[1408229]|0; $7 = ($6<<24>>24)==(0); if ($7) { _Drawer2D_CheckFont(); _Event_Register((1250816),0,5); return; } HEAP16[(1236)>>1] = 0; _Drawer2D_CheckFont(); _Event_Register((1250816),0,5); return; } function _Drawer2D_Free() { var label = 0, sp = 0; sp = STACKTOP; _Drawer2D_FreeFontBitmap(); HEAP32[310278] = 0; _Event_Unregister((1250816),0,5); return; } function _Drawer2D_Reset() { var label = 0, sp = 0; sp = STACKTOP; _memset((154320|0),0,1024)|0; _Drawer2D_HexEncodedCol(48,0); _Drawer2D_HexEncodedCol(49,1); _Drawer2D_HexEncodedCol(50,2); _Drawer2D_HexEncodedCol(51,3); _Drawer2D_HexEncodedCol(52,4); _Drawer2D_HexEncodedCol(53,5); _Drawer2D_HexEncodedCol(54,6); _Drawer2D_HexEncodedCol(55,7); _Drawer2D_HexEncodedCol(56,8); _Drawer2D_HexEncodedCol(57,9); _Drawer2D_HexEncodedCol(97,10); _Drawer2D_HexEncodedCol(65,10); _Drawer2D_HexEncodedCol(98,11); _Drawer2D_HexEncodedCol(66,11); _Drawer2D_HexEncodedCol(99,12); _Drawer2D_HexEncodedCol(67,12); _Drawer2D_HexEncodedCol(100,13); _Drawer2D_HexEncodedCol(68,13); _Drawer2D_HexEncodedCol(101,14); _Drawer2D_HexEncodedCol(69,14); _Drawer2D_HexEncodedCol(102,15); _Drawer2D_HexEncodedCol(70,15); return; } function _Drawer2D_HexEncodedCol($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (2)?($1 >>> 2):($1); $3 = $2 & 1; $4 = (0 - ($3))|0; $5 = $4 & 191; $6 = (3)?($1 >> 3):($1); $7 = $6 << 6; $8 = (($5) + ($7))|0; $9 = $8 & 255; $10 = (1)?($1 >>> 1):($1); $11 = $10 & 1; $12 = (0 - ($11))|0; $13 = $12 & 191; $14 = (($13) + ($7))|0; $15 = $14 << 8; $16 = $15 & 65280; $17 = $1 & 1; $18 = (0 - ($17))|0; $19 = $18 & 191; $20 = (($19) + ($7))|0; $21 = $20 << 16; $22 = $21 | $9; $23 = $22 | $16; $24 = $23 | -16777216; $25 = (154320 + ($0<<2)|0); HEAP32[$25>>2] = $24; return; } function _Drawer2D_FreeFontBitmap() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _memset((155344|0),0,1024)|0; $0 = HEAP32[310278]|0; _Mem_Free($0); return; } function _OnFileChanged($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $3 = sp; $4 = (_String_CaselessEqualsConst($2,22289)|0); $5 = ($4|0)==(0); if ($5) { STACKTOP = sp;return; } $6 = (_Png_Decode($3,$1)|0); $7 = ($6|0)==(0); if ($7) { _Drawer2D_SetFontBitmap($3); _Event_RaiseVoid(1254716); STACKTOP = sp;return; } else { _Logger_Warn2($6,37484,$2); $8 = HEAP32[$3>>2]|0; _Mem_Free($8); STACKTOP = sp;return; } } function _Drawer2D_SetFontBitmap($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; _Drawer2D_FreeFontBitmap(); ;HEAP32[1241112>>2]=HEAP32[$0>>2]|0;HEAP32[1241112+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[1241112+8>>2]=HEAP32[$0+8>>2]|0; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; $3 = (4)?($2 >> 4):($2); HEAP32[2809] = $3; _CalculateTextWidths(); return; } function _CalculateTextWidths() { var $$$038$in = 0, $$03745 = 0, $$03842 = 0, $$03842$in = 0, $$043 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[(1241116)>>2]|0; $1 = HEAP32[(1241120)>>2]|0; $2 = ($1|0)>(0); $3 = HEAP32[2809]|0; if (!($2)) { $$lcssa = $3; $26 = (($$lcssa|0) / 4)&-1; HEAP32[(155472)>>2] = $26; return; } $4 = HEAP32[310278]|0; $5 = ($0|0)>(0); $6 = HEAP32[2809]|0; $$03745 = 0;$10 = $3; while(1) { $7 = Math_imul($$03745, $0)|0; $8 = (($4) + ($7<<2)|0); if ($5) { $9 = (($$03745|0) / ($10|0))&-1; $11 = $9 << 4; $12 = ($10|0)>(0); $$043 = 0; while(1) { $13 = (($$043|0) / ($10|0))&-1; $14 = $13 | $11; L10: do { if ($12) { $$03842$in = $10; while(1) { $$03842 = (($$03842$in) + -1)|0; $16 = (($$03842) + ($$043))|0; $17 = (($8) + ($16<<2)|0); $18 = HEAP32[$17>>2]|0; $19 = ($18>>>0)>(16777215); if ($19) { break; } $15 = ($$03842$in|0)>(1); if ($15) { $$03842$in = $$03842; } else { break L10; } } $20 = (155344 + ($14<<2)|0); $21 = HEAP32[$20>>2]|0; $22 = ($21|0)>($$03842$in|0); $$$038$in = $22 ? $21 : $$03842$in; HEAP32[$20>>2] = $$$038$in; } } while(0); $23 = (($$043) + ($10))|0; $24 = ($23|0)<($0|0); if ($24) { $$043 = $23; } else { break; } } } $25 = (($$03745) + 1)|0; $exitcond = ($25|0)==($1|0); if ($exitcond) { $$lcssa = $6; break; } else { $$03745 = $25;$10 = $6; } } $26 = (($$lcssa|0) / 4)&-1; HEAP32[(155472)>>2] = $26; return; } function _Drawer2D_CheckFont() { var $$010 = 0, $$sroa$3$0$$sroa_idx5 = 0, $$sroa$3$0$copyload = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; $1 = HEAP16[(1236)>>1]|0; $2 = ($1<<16>>16)==(0); $3 = $2&1; $$sroa$3$0$$sroa_idx5 = ((($0)) + 4|0); $$010 = $3; while(1) { _Font_Lookup($0,0,0); $$sroa$3$0$copyload = HEAP16[$$sroa$3$0$$sroa_idx5>>1]|0; $4 = ($$sroa$3$0$copyload<<16>>16)==(0); if (!($4)) { label = 3; break; } $6 = (($$010) + 1)|0; $7 = ($6>>>0)<(9); if ($7) { $$010 = $6; } else { label = 5; break; } } if ((label|0) == 3) { $5 = (1232 + ($$010<<3)|0); _String_Copy(11204,$5); STACKTOP = sp;return; } else if ((label|0) == 5) { _Logger_Abort(22301); STACKTOP = sp;return; } } function _Font_Lookup($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = 10520; $4 = $3; $5 = HEAP32[$4>>2]|0; $6 = (($3) + 4)|0; $7 = $6; $8 = HEAP32[$7>>2]|0; $9 = $0; $10 = $9; HEAP32[$10>>2] = $5; $11 = (($9) + 4)|0; $12 = $11; HEAP32[$12>>2] = $8; return; } function _DrawTextArgs_Make($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = $1; $5 = $4; $6 = HEAP32[$5>>2]|0; $7 = (($4) + 4)|0; $8 = $7; $9 = HEAP32[$8>>2]|0; $10 = $0; $11 = $10; HEAP32[$11>>2] = $6; $12 = (($10) + 4)|0; $13 = $12; HEAP32[$13>>2] = $9; $14 = ((($0)) + 8|0); HEAP32[$14>>2] = $2; $15 = ((($0)) + 12|0); HEAP8[$15>>0] = $3; return; } function _DrawTextArgs_MakeEmpty($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = 1384616; $4 = $3; $5 = HEAP32[$4>>2]|0; $6 = (($3) + 4)|0; $7 = $6; $8 = HEAP32[$7>>2]|0; $9 = $0; $10 = $9; HEAP32[$10>>2] = $5; $11 = (($9) + 4)|0; $12 = $11; HEAP32[$12>>2] = $8; $13 = ((($0)) + 8|0); HEAP32[$13>>2] = $1; $14 = ((($0)) + 12|0); HEAP8[$14>>0] = $2; return; } function _Drawer2D_MakeFont($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; $3 = HEAP8[1408216]|0; $4 = ($3<<24>>24)==(0); if ($4) { $12 = 11204; $13 = $12; $14 = HEAP32[$13>>2]|0; $15 = (($12) + 4)|0; $16 = $15; $17 = HEAP32[$16>>2]|0; $18 = 1232; $19 = $18; HEAP32[$19>>2] = $14; $20 = (($18) + 4)|0; $21 = $20; HEAP32[$21>>2] = $17; (_Font_Make($0,0,$1,$2)|0); return; } else { $5 = (_Display_ScaleY($1)|0); HEAP32[$0>>2] = 0; $6 = $5&65535; $7 = ((($0)) + 4|0); HEAP16[$7>>1] = $6; $8 = $2&65535; $9 = ((($0)) + 6|0); HEAP16[$9>>1] = $8; $10 = (_Drawer2D_AdjHeight($5)|0); $11 = ((($0)) + 8|0); HEAP32[$11>>2] = $10; return; } } function _Drawer2D_AdjHeight($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ($0*3)|0; $2 = (_Math_CeilDiv($1,2)|0); return ($2|0); } function _Font_Make($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = $2&65535; $5 = ((($0)) + 4|0); HEAP16[$5>>1] = $4; $6 = $3&65535; $7 = ((($0)) + 6|0); HEAP16[$7>>1] = $6; $8 = ((($0)) + 8|0); HEAP32[$8>>2] = 0; return 0; } function _Font_Free($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 4|0); HEAP16[$1>>1] = 0; $2 = ((($0)) + 6|0); HEAP16[$2>>1] = 0; return; } function _Font_ReducePadding($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP8[1408216]|0; $3 = ($2<<24>>24)==(0); if ($3) { return; } $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; $6 = ((($0)) + 4|0); $7 = HEAP16[$6>>1]|0; $8 = $7&65535; $9 = (($5) - ($8))|0; $10 = (($9|0) / ($1|0))&-1; $11 = $10 << 1; $12 = (($5) - ($11))|0; HEAP32[$4>>2] = $12; return; } function _Drawer2D_Clamp($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $narrow = 0, label = 0, sp = 0; sp = STACKTOP; $5 = HEAP32[$1>>2]|0; $6 = ((($0)) + 4|0); $7 = HEAP32[$6>>2]|0; $8 = ($5|0)<($7|0); if (!($8)) { $$0 = 0; return ($$0|0); } $9 = HEAP32[$2>>2]|0; $10 = ((($0)) + 8|0); $11 = HEAP32[$10>>2]|0; $12 = ($9|0)<($11|0); if (!($12)) { $$0 = 0; return ($$0|0); } $13 = ($5|0)<(0); if ($13) { $14 = HEAP32[$3>>2]|0; $15 = (($14) + ($5))|0; HEAP32[$3>>2] = $15; HEAP32[$1>>2] = 0; } $16 = HEAP32[$2>>2]|0; $17 = ($16|0)<(0); if ($17) { $18 = HEAP32[$4>>2]|0; $19 = (($18) + ($16))|0; HEAP32[$4>>2] = $19; HEAP32[$2>>2] = 0; } $20 = HEAP32[$1>>2]|0; $21 = HEAP32[$3>>2]|0; $22 = (($21) + ($20))|0; $23 = HEAP32[$6>>2]|0; $24 = ($22|0)<($23|0); $$ = $24 ? $22 : $23; $25 = (($$) - ($20))|0; HEAP32[$3>>2] = $25; $26 = HEAP32[$2>>2]|0; $27 = HEAP32[$4>>2]|0; $28 = (($27) + ($26))|0; $29 = HEAP32[$10>>2]|0; $30 = ($28|0)<($29|0); $31 = $30 ? $28 : $29; $32 = (($31) - ($26))|0; HEAP32[$4>>2] = $32; $33 = HEAP32[$3>>2]|0; $34 = ($33|0)>(0); $35 = ($32|0)>(0); $narrow = $34 & $35; $36 = $narrow&1; $$0 = $36; return ($$0|0); } function _Drawer2D_Clear($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; var $$01516 = 0, $$017 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $6 = sp + 12|0; $7 = sp + 8|0; $8 = sp + 4|0; $9 = sp; HEAP32[$6>>2] = $2; HEAP32[$7>>2] = $3; HEAP32[$8>>2] = $4; HEAP32[$9>>2] = $5; $10 = (_Drawer2D_Clamp($0,$6,$7,$8,$9)|0); $11 = ($10<<24>>24)!=(0); $12 = HEAP32[$9>>2]|0; $13 = ($12|0)>(0); $or$cond = $11 & $13; if (!($or$cond)) { STACKTOP = sp;return; } $14 = HEAP32[$0>>2]|0; $15 = HEAP32[$7>>2]|0; $16 = ((($0)) + 4|0); $17 = HEAP32[$6>>2]|0; $18 = HEAP32[$8>>2]|0; $19 = ($18|0)>(0); $20 = HEAP32[$9>>2]|0; $$017 = 0; while(1) { $21 = (($15) + ($$017))|0; $22 = HEAP32[$16>>2]|0; $23 = Math_imul($21, $22)|0; $24 = (($14) + ($23<<2)|0); $25 = (($24) + ($17<<2)|0); if ($19) { $$01516 = 0; while(1) { $26 = (($25) + ($$01516<<2)|0); HEAP32[$26>>2] = $1; $27 = (($$01516) + 1)|0; $exitcond = ($27|0)==($18|0); if ($exitcond) { break; } else { $$01516 = $27; } } } $28 = (($$017) + 1)|0; $29 = ($28|0)<($20|0); if ($29) { $$017 = $28; } else { break; } } STACKTOP = sp;return; } function _Drawer2D_MakeTextTexture($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = HEAP8[(1260360)>>0]|0; $4 = ($3<<24>>24)==(0); if (!($4)) { ;HEAP32[$0>>2]=HEAP32[11240>>2]|0;HEAP32[$0+4>>2]=HEAP32[11240+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[11240+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[11240+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[11240+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[11240+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[11240+24>>2]|0; STACKTOP = sp;return; } $5 = (_Drawer2D_TextWidth($1)|0); $6 = ($5|0)==(0); if ($6) { ;HEAP32[$0>>2]=HEAP32[11240>>2]|0;HEAP32[$0+4>>2]=HEAP32[11240+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[11240+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[11240+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[11240+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[11240+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[11240+24>>2]|0; STACKTOP = sp;return; } else { $7 = (_Drawer2D_TextHeight($1)|0); _Bitmap_AllocateClearedPow2($2,$5,$7); _Drawer2D_DrawText($2,$1,0,0); _Drawer2D_MakeTexture($0,$2,$5,$7); $8 = HEAP32[$2>>2]|0; _Mem_Free($8); STACKTOP = sp;return; } } function _Drawer2D_TextWidth($0) { $0 = $0|0; var $$01618 = 0, $$017 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0; var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = sp + 8|0; $3 = $0; $4 = $3; $5 = HEAP32[$4>>2]|0; $6 = (($3) + 4)|0; $7 = $6; $8 = HEAP32[$7>>2]|0; $9 = $1; $10 = $9; HEAP32[$10>>2] = $5; $11 = (($9) + 4)|0; $12 = $11; HEAP32[$12>>2] = $8; HEAP8[$2>>0] = 102; $13 = (_Drawer2D_IsEmptyText($0)|0); $14 = ($13<<24>>24)==(0); if (!($14)) { $$017 = 0; STACKTOP = sp;return ($$017|0); } $15 = HEAP8[1408216]|0; $16 = ($15<<24>>24)==(0); if (!($16)) { $17 = (_Drawer2D_MeasureBitmapWidth($0)|0); $$017 = $17; STACKTOP = sp;return ($$017|0); } $18 = ((($1)) + 4|0); $19 = HEAP16[$18>>1]|0; $20 = ($19<<16>>16)==(0); if (!($20)) { $$01618 = 0; while(1) { $21 = (_Drawer2D_NextPart($$01618,$1,$0,$2)|0); $22 = HEAP16[$18>>1]|0; $23 = $22&65535; $24 = ($21|0)<($23|0); if ($24) { $$01618 = $21; } else { break; } } } $25 = ((($0)) + 12|0); $26 = HEAP8[$25>>0]|0; $27 = ($26<<24>>24)==(0); $spec$select = $27 ? 0 : 2; $28 = $1; $29 = $28; $30 = HEAP32[$29>>2]|0; $31 = (($28) + 4)|0; $32 = $31; $33 = HEAP32[$32>>2]|0; $34 = $0; $35 = $34; HEAP32[$35>>2] = $30; $36 = (($34) + 4)|0; $37 = $36; HEAP32[$37>>2] = $33; $$017 = $spec$select; STACKTOP = sp;return ($$017|0); } function _Drawer2D_TextHeight($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 8|0); $2 = HEAP32[$1>>2]|0; $3 = ((($0)) + 12|0); $4 = HEAP8[$3>>0]|0; $5 = (_Drawer2D_FontHeight($2,$4)|0); return ($5|0); } function _Drawer2D_DrawText($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$03233 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $4 = sp; $5 = sp + 8|0; $6 = $1; $7 = $6; $8 = HEAP32[$7>>2]|0; $9 = (($6) + 4)|0; $10 = $9; $11 = HEAP32[$10>>2]|0; $12 = $4; $13 = $12; HEAP32[$13>>2] = $8; $14 = (($12) + 4)|0; $15 = $14; HEAP32[$15>>2] = $11; HEAP8[$5>>0] = 102; $16 = (_Drawer2D_IsEmptyText($1)|0); $17 = ($16<<24>>24)==(0); if (!($17)) { STACKTOP = sp;return; } $18 = HEAP8[1408216]|0; $19 = ($18<<24>>24)==(0); if (!($19)) { _Drawer2D_DrawBitmapText($0,$1,$2,$3); STACKTOP = sp;return; } $20 = ((($4)) + 4|0); $21 = HEAP16[$20>>1]|0; $22 = ($21<<16>>16)==(0); if (!($22)) { $$03233 = 0; while(1) { $23 = (_Drawer2D_NextPart($$03233,$4,$1,$5)|0); $24 = HEAP16[$20>>1]|0; $25 = $24&65535; $26 = ($23|0)<($25|0); if ($26) { $$03233 = $23; } else { break; } } } $27 = $4; $28 = $27; $29 = HEAP32[$28>>2]|0; $30 = (($27) + 4)|0; $31 = $30; $32 = HEAP32[$31>>2]|0; $33 = $1; $34 = $33; HEAP32[$34>>2] = $29; $35 = (($33) + 4)|0; $36 = $35; HEAP32[$36>>2] = $32; STACKTOP = sp;return; } function _Drawer2D_MakeTexture($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = (_Gfx_CreateTexture($1,0,0)|0); HEAP32[$0>>2] = $4; $5 = ((($0)) + 4|0); HEAP16[$5>>1] = 0; $6 = $2&65535; $7 = ((($0)) + 8|0); HEAP16[$7>>1] = $6; $8 = ((($0)) + 6|0); HEAP16[$8>>1] = 0; $9 = $3&65535; $10 = ((($0)) + 10|0); HEAP16[$10>>1] = $9; $11 = ((($0)) + 12|0); HEAPF32[$11>>2] = 0.0; $12 = ((($0)) + 16|0); HEAPF32[$12>>2] = 0.0; $13 = (+($2|0)); $14 = ((($1)) + 4|0); $15 = HEAP32[$14>>2]|0; $16 = (+($15|0)); $17 = $13 / $16; $18 = ((($0)) + 20|0); HEAPF32[$18>>2] = $17; $19 = (+($3|0)); $20 = ((($1)) + 8|0); $21 = HEAP32[$20>>2]|0; $22 = (+($21|0)); $23 = $19 / $22; $24 = ((($0)) + 24|0); HEAPF32[$24>>2] = $23; return; } function _Drawer2D_IsEmptyText($0) { $0 = $0|0; var $$010 = 0, $$011 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 4|0); $2 = HEAP16[$1>>1]|0; $3 = ($2<<16>>16)==(0); if ($3) { $$010 = 1; return ($$010|0); } $4 = $2&65535; $5 = HEAP32[$0>>2]|0; $$011 = 0; while(1) { $8 = (($5) + ($$011)|0); $9 = HEAP8[$8>>0]|0; $10 = ($9<<24>>24)==(38); if (!($10)) { $$010 = 0; label = 6; break; } $11 = $$011 | 1; $12 = (_Drawer2D_ValidColCodeAt($0,$11)|0); $13 = ($12<<24>>24)==(0); $6 = (($$011) + 2)|0; if ($13) { $$010 = 0; label = 6; break; } $7 = ($6>>>0)<($4>>>0); if ($7) { $$011 = $6; } else { $$010 = 1; label = 6; break; } } if ((label|0) == 6) { return ($$010|0); } return (0)|0; } function _Drawer2D_DrawBitmapText($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ((($1)) + 8|0); $5 = HEAP32[$4>>2]|0; $6 = ((($5)) + 4|0); $7 = HEAP16[$6>>1]|0; $8 = (3)?(($7&65535) >>> 3):(($7&65535)); $9 = $8&65535; $10 = ((($1)) + 12|0); $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { _Drawer2D_DrawCore($0,$1,$2,$3,0); return; } $13 = (($9) + ($3))|0; $14 = (($9) + ($2))|0; _Drawer2D_DrawCore($0,$1,$14,$13,1); _Drawer2D_DrawCore($0,$1,$2,$3,0); return; } function _Drawer2D_NextPart($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0$lcssa = 0, $$022$lcssa = 0, $$02223 = 0, $$024 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $4 = sp; $5 = ((($1)) + 4|0); $6 = HEAP16[$5>>1]|0; $7 = $6&65535; $8 = ($7|0)>($0|0); L1: do { if ($8) { $9 = HEAP32[$1>>2]|0; $$02223 = 0;$$024 = $0; while(1) { $10 = (($9) + ($$024)|0); $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(38); if ($12) { $13 = (($$024) + 1)|0; $14 = (_Drawer2D_ValidColCodeAt($1,$13)|0); $15 = ($14<<24>>24)==(0); if (!($15)) { $$0$lcssa = $$024;$$022$lcssa = $$02223; break L1; } } $16 = (($$02223) + 1)|0; $17 = (($$024) + 1)|0; $18 = HEAP16[$5>>1]|0; $19 = $18&65535; $20 = ($17|0)<($19|0); if ($20) { $$02223 = $16;$$024 = $17; } else { $$0$lcssa = $17;$$022$lcssa = $16; break; } } } else { $$0$lcssa = $0;$$022$lcssa = 0; } } while(0); _String_UNSAFE_Substring($4,$1,$0,$$022$lcssa); $21 = $4; $22 = $21; $23 = HEAP32[$22>>2]|0; $24 = (($21) + 4)|0; $25 = $24; $26 = HEAP32[$25>>2]|0; $27 = $2; $28 = $27; HEAP32[$28>>2] = $23; $29 = (($27) + 4)|0; $30 = $29; HEAP32[$30>>2] = $26; $31 = (($$0$lcssa) + 2)|0; $32 = HEAP16[$5>>1]|0; $33 = $32&65535; $34 = ($31|0)>($33|0); if ($34) { STACKTOP = sp;return ($31|0); } $35 = (($$0$lcssa) + 1)|0; $36 = HEAP32[$1>>2]|0; $37 = (($36) + ($35)|0); $38 = HEAP8[$37>>0]|0; HEAP8[$3>>0] = $38; STACKTOP = sp;return ($31|0); } function _Drawer2D_ValidColCodeAt($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 4|0); $3 = HEAP16[$2>>1]|0; $4 = $3&65535; $5 = ($4|0)>($1|0); if (!($5)) { $$0 = 0; return ($$0|0); } $6 = HEAP32[$0>>2]|0; $7 = (($6) + ($1)|0); $8 = HEAP8[$7>>0]|0; $9 = $8&255; $10 = (154320 + ($9<<2)|0); $11 = HEAP32[$10>>2]|0; $12 = ($11>>>0)>(16777215); $13 = $12&1; $$0 = $13; return ($$0|0); } function _Drawer2D_DrawCore($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $$0152 = 0, $$0156187 = 0, $$0160$lcssa = 0, $$0160186 = 0, $$0162$lcssa = 0, $$0162166 = 0, $$0163175 = 0, $$0164182 = 0, $$1153188 = 0, $$1157 = 0, $$1161 = 0, $$1178 = 0, $$2158177 = 0, $$3155 = 0, $$3159172 = 0, $$3173 = 0, $$4$lcssa = 0, $$4167 = 0, $10 = 0, $100 = 0; var $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0; var $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; var $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0; var $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond193 = 0, $exitcond194 = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 1808|0; $5 = sp + 1792|0; $6 = sp + 1536|0; $7 = sp + 512|0; $8 = sp; $9 = $1; $10 = $9; $11 = HEAP32[$10>>2]|0; $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; $15 = $5; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; $18 = $17; HEAP32[$18>>2] = $14; $19 = ((($1)) + 8|0); $20 = HEAP32[$19>>2]|0; $21 = ((($20)) + 4|0); $22 = HEAP16[$21>>1]|0; $23 = $22&65535; $24 = HEAP32[(154728)>>2]|0; $25 = ($4<<24>>24)!=(0); if ($25) { $26 = HEAP8[1408217]|0; $27 = ($26<<24>>24)==(0); if ($27) { $28 = (_Drawer2D_ShadowCol($24)|0); $$0152 = $28; } else { $$0152 = -16777216; } } else { $$0152 = $24; } $29 = ((($5)) + 4|0); $30 = HEAP16[$29>>1]|0; $31 = ($30<<16>>16)==(0); if ($31) { $$0160$lcssa = 0; } else { $$0156187 = 0;$$0160186 = 0;$$1153188 = $$0152; while(1) { $32 = HEAP32[$5>>2]|0; $33 = (($32) + ($$0156187)|0); $34 = HEAP8[$33>>0]|0; $35 = ($34<<24>>24)==(38); if ($35) { $36 = (($$0156187) + 1)|0; $37 = (_Drawer2D_ValidColCodeAt($5,$36)|0); $38 = ($37<<24>>24)==(0); if ($38) { label = 11; } else { $39 = (($32) + ($36)|0); $40 = HEAP8[$39>>0]|0; $41 = $40&255; $42 = (154320 + ($41<<2)|0); $43 = HEAP32[$42>>2]|0; if ($25) { $44 = HEAP8[1408217]|0; $45 = ($44<<24>>24)==(0); if ($45) { $46 = (_Drawer2D_ShadowCol($43)|0); $$1157 = $36;$$1161 = $$0160186;$$3155 = $46; } else { $$1157 = $36;$$1161 = $$0160186;$$3155 = -16777216; } } else { $$1157 = $36;$$1161 = $$0160186;$$3155 = $43; } } } else { label = 11; } if ((label|0) == 11) { label = 0; $47 = (($6) + ($$0160186)|0); HEAP8[$47>>0] = $34; $48 = (($7) + ($$0160186<<2)|0); HEAP32[$48>>2] = $$1153188; $49 = (_Drawer2D_Width($23,$34)|0); $50 = $49&65535; $51 = (($8) + ($$0160186<<1)|0); HEAP16[$51>>1] = $50; $52 = (($$0160186) + 1)|0; $$1157 = $$0156187;$$1161 = $52;$$3155 = $$1153188; } $53 = (($$1157) + 1)|0; $54 = HEAP16[$29>>1]|0; $55 = $54&65535; $56 = ($53|0)<($55|0); if ($56) { $$0156187 = $53;$$0160186 = $$1161;$$1153188 = $$3155; } else { $$0160$lcssa = $$1161; break; } } } $57 = (_Math_CeilDiv($23,8)|0); $58 = HEAP32[$19>>2]|0; $59 = ((($58)) + 8|0); $60 = HEAP32[$59>>2]|0; $61 = (($60) - ($23))|0; $62 = (($61|0) / 2)&-1; $63 = ($22<<16>>16)==(0); if (!($63)) { $64 = (($62) + ($3))|0; $65 = ((($0)) + 8|0); $66 = HEAP32[2809]|0; $67 = ((($0)) + 4|0); $68 = ($$0160$lcssa|0)>(0); $69 = HEAP32[310278]|0; $$0164182 = 0; while(1) { $70 = (($64) + ($$0164182))|0; $71 = HEAP32[$65>>2]|0; $72 = ($70>>>0)<($71>>>0); if ($72) { $73 = Math_imul($66, $$0164182)|0; $74 = (($73|0) / ($23|0))&-1; $75 = HEAP32[$0>>2]|0; $76 = HEAP32[$67>>2]|0; $77 = Math_imul($76, $70)|0; $78 = (($75) + ($77<<2)|0); if ($68) { $$1178 = $2;$$2158177 = 0; while(1) { $79 = (($6) + ($$2158177)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 & 15; $83 = Math_imul($82, $66)|0; $84 = (4)?($81 >>> 4):($81); $85 = Math_imul($84, $66)|0; $86 = (($85) + ($74))|0; $87 = HEAP32[(1241116)>>2]|0; $88 = Math_imul($86, $87)|0; $89 = (($69) + ($88<<2)|0); $90 = (155344 + ($81<<2)|0); $91 = HEAP32[$90>>2]|0; $92 = (($8) + ($$2158177<<1)|0); $93 = HEAP16[$92>>1]|0; $94 = $93&65535; $95 = (($7) + ($$2158177<<2)|0); $96 = HEAP32[$95>>2]|0; $97 = ($93<<16>>16)==(0); if (!($97)) { $98 = $96 & 255; $99 = (8)?($96 >>> 8):($96); $100 = $99 & 255; $101 = (16)?($96 >>> 16):($96); $102 = $101 & 255; $$0163175 = 0; while(1) { $103 = Math_imul($$0163175, $91)|0; $104 = (($103|0) / ($94|0))&-1; $105 = (($104) + ($83))|0; $106 = (($89) + ($105<<2)|0); $107 = HEAP32[$106>>2]|0; $108 = ($107>>>0)<(16777216); if (!($108)) { $109 = (($$0163175) + ($$1178))|0; $110 = HEAP32[$67>>2]|0; $111 = ($109>>>0)<($110>>>0); if ($111) { $112 = $107 & 255; $113 = Math_imul($112, $98)|0; $114 = (($113>>>0) / 255)&-1; $115 = $114 & 255; $116 = (8)?($107 >>> 8):($107); $117 = $116 & 255; $118 = Math_imul($117, $100)|0; $119 = (($118>>>0) / 255)&-1; $120 = $119 << 8; $121 = $120 & 65280; $122 = (16)?($107 >>> 16):($107); $123 = $122 & 255; $124 = Math_imul($123, $102)|0; $125 = (($124>>>0) / 255)&-1; $126 = $125 << 16; $127 = $126 & 16711680; $128 = $107 & -16777216; $129 = $115 | $128; $130 = $129 | $121; $131 = $130 | $127; $132 = (($78) + ($109<<2)|0); HEAP32[$132>>2] = $131; } } $133 = (($$0163175) + 1)|0; $exitcond = ($133|0)==($94|0); if ($exitcond) { break; } else { $$0163175 = $133; } } } $134 = (($$1178) + ($57))|0; $135 = (($134) + ($94))|0; $136 = (($$2158177) + 1)|0; $exitcond193 = ($136|0)==($$0160$lcssa|0); if ($exitcond193) { break; } else { $$1178 = $135;$$2158177 = $136; } } } } $137 = (($$0164182) + 1)|0; $exitcond194 = ($137|0)==($23|0); if ($exitcond194) { break; } else { $$0164182 = $137; } } } $138 = ((($58)) + 6|0); $139 = HEAP16[$138>>1]|0; $140 = $139 & 128; $141 = ($140<<16>>16)==(0); if ($141) { STACKTOP = sp;return; } $142 = ($23*7)|0; $143 = (3)?($142 >>> 3):($142); $144 = (($62) + ($3))|0; $145 = (($144) + ($143))|0; $146 = (($23) - ($143))|0; $147 = ($$0160$lcssa|0)>(0); if (!($147)) { STACKTOP = sp;return; } $$3159172 = 0;$$3173 = $2; while(1) { $148 = (($7) + ($$3159172<<2)|0); $149 = HEAP32[$148>>2]|0; $150 = ($$3159172|0)<($$0160$lcssa|0); L46: do { if ($150) { $$0162166 = 0;$$4167 = $$3159172; while(1) { $151 = (($7) + ($$4167<<2)|0); $152 = HEAP32[$151>>2]|0; $153 = ($149|0)==($152|0); if (!($153)) { $$0162$lcssa = $$0162166;$$4$lcssa = $$4167; break L46; } $154 = (($8) + ($$4167<<1)|0); $155 = HEAP16[$154>>1]|0; $156 = $155&65535; $157 = (($$0162166) + ($57))|0; $158 = (($157) + ($156))|0; $159 = (($$4167) + 1)|0; $160 = ($159|0)<($$0160$lcssa|0); if ($160) { $$0162166 = $158;$$4167 = $159; } else { $$0162$lcssa = $158;$$4$lcssa = $159; break; } } } else { $$0162$lcssa = 0;$$4$lcssa = $$3159172; } } while(0); _Drawer2D_Underline($0,$$3173,$145,$$0162$lcssa,$146,$149); $161 = (($$0162$lcssa) + ($$3173))|0; $162 = ($$4$lcssa|0)<($$0160$lcssa|0); if ($162) { $$3159172 = $$4$lcssa;$$3173 = $161; } else { break; } } STACKTOP = sp;return; } function _Drawer2D_ShadowCol($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = $0 & -16777216; $2 = (2)?($0 >>> 2):($0); $3 = $2 & 4144959; $4 = $3 | $1; return ($4|0); } function _Drawer2D_Width($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = $1&255; $3 = (155344 + ($2<<2)|0); $4 = HEAP32[$3>>2]|0; $5 = Math_imul($4, $0)|0; $6 = HEAP32[2809]|0; $7 = (_Math_CeilDiv($5,$6)|0); return ($7|0); } function _Drawer2D_Underline($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; var $$02425 = 0, $$027 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $6 = 0, $7 = 0, $8 = 0; var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $6 = ((($0)) + 8|0); $7 = (($4) + ($2))|0; $8 = ($4|0)>(0); if (!($8)) { return; } $9 = ((($0)) + 4|0); $10 = (($3) + ($1))|0; $11 = ($3|0)>(0); $$027 = $2; while(1) { $12 = HEAP32[$6>>2]|0; $13 = ($$027|0)<($12|0); if (!($13)) { label = 9; break; } $14 = HEAP32[$0>>2]|0; $15 = HEAP32[$9>>2]|0; $16 = Math_imul($15, $$027)|0; $17 = (($14) + ($16<<2)|0); L7: do { if ($11) { $$02425 = $1; while(1) { $18 = HEAP32[$9>>2]|0; $19 = ($$02425|0)<($18|0); if (!($19)) { break L7; } $20 = (($17) + ($$02425<<2)|0); HEAP32[$20>>2] = $5; $21 = (($$02425) + 1)|0; $22 = ($21|0)<($10|0); if ($22) { $$02425 = $21; } else { break; } } } } while(0); $23 = (($$027) + 1)|0; $24 = ($23|0)<($7|0); if ($24) { $$027 = $23; } else { label = 9; break; } } if ((label|0) == 9) { return; } } function _Drawer2D_FontHeight($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 8|0); $3 = HEAP32[$2>>2]|0; $4 = HEAP8[1408216]|0; $5 = ($4<<24>>24)==(0); $6 = ($1<<24>>24)!=(0); if ($5) { $12 = (($3) + 2)|0; $spec$select = $6 ? $12 : $3; return ($spec$select|0); } if (!($6)) { $$0 = $3; return ($$0|0); } $7 = ((($0)) + 4|0); $8 = HEAP16[$7>>1]|0; $9 = (3)?(($8&65535) >>> 3):(($8&65535)); $10 = $9&65535; $11 = (($3) + ($10))|0; $$0 = $11; return ($$0|0); } function _Drawer2D_MeasureBitmapWidth($0) { $0 = $0|0; var $$02428 = 0, $$025$lcssa = 0, $$02527 = 0, $$1 = 0, $$126 = 0, $$2 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = ((($0)) + 8|0); $3 = HEAP32[$2>>2]|0; $4 = ((($3)) + 4|0); $5 = HEAP16[$4>>1]|0; $6 = $5&65535; $7 = (_Math_CeilDiv($6,8)|0); $8 = $0; $9 = $8; $10 = HEAP32[$9>>2]|0; $11 = (($8) + 4)|0; $12 = $11; $13 = HEAP32[$12>>2]|0; $14 = $1; $15 = $14; HEAP32[$15>>2] = $10; $16 = (($14) + 4)|0; $17 = $16; HEAP32[$17>>2] = $13; $18 = ((($1)) + 4|0); $19 = HEAP16[$18>>1]|0; $20 = ($19<<16>>16)==(0); if ($20) { $$025$lcssa = 0; $35 = ((($0)) + 12|0); $36 = HEAP8[$35>>0]|0; $37 = ($36<<24>>24)==(0); $38 = (3)?($6 >>> 3):($6); $39 = $37 ? 0 : $38; $$2 = (($39) + ($$025$lcssa))|0; STACKTOP = sp;return ($$2|0); } $$02428 = 0;$$02527 = 0; while(1) { $21 = HEAP32[$1>>2]|0; $22 = (($21) + ($$02428)|0); $23 = HEAP8[$22>>0]|0; $24 = ($23<<24>>24)==(38); if ($24) { $25 = (($$02428) + 1)|0; $26 = (_Drawer2D_ValidColCodeAt($1,$25)|0); $27 = ($26<<24>>24)==(0); if ($27) { label = 5; } else { $$1 = $25;$$126 = $$02527; } } else { label = 5; } if ((label|0) == 5) { label = 0; $28 = (_Drawer2D_Width($6,$23)|0); $29 = (($$02527) + ($7))|0; $30 = (($29) + ($28))|0; $$1 = $$02428;$$126 = $30; } $31 = (($$1) + 1)|0; $32 = HEAP16[$18>>1]|0; $33 = $32&65535; $34 = ($31|0)<($33|0); if ($34) { $$02428 = $31;$$02527 = $$126; } else { $$025$lcssa = $$126; break; } } $35 = ((($0)) + 12|0); $36 = HEAP8[$35>>0]|0; $37 = ($36<<24>>24)==(0); $38 = (3)?($6 >>> 3):($6); $39 = $37 ? 0 : $38; $$2 = (($39) + ($$025$lcssa))|0; STACKTOP = sp;return ($$2|0); } function _Drawer2D_LastCol($0,$1) { $0 = $0|0; $1 = $1|0; var $$014 = 0, $$016 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0; var label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 4|0); $3 = HEAP16[$2>>1]|0; $4 = $3&65535; $5 = ($4|0)>($1|0); $6 = (($4) + -1)|0; $spec$select = $5 ? $1 : $6; $7 = ($spec$select|0)>(-1); if (!($7)) { $$014 = 0; return ($$014|0); } $8 = HEAP32[$0>>2]|0; $$016 = $spec$select; while(1) { $9 = (($8) + ($$016)|0); $10 = HEAP8[$9>>0]|0; $11 = ($10<<24>>24)==(38); if ($11) { $12 = (($$016) + 1)|0; $13 = (_Drawer2D_ValidColCodeAt($0,$12)|0); $14 = ($13<<24>>24)==(0); if (!($14)) { break; } } $17 = (($$016) + -1)|0; $18 = ($$016|0)>(0); if ($18) { $$016 = $17; } else { $$014 = 0; label = 7; break; } } if ((label|0) == 7) { return ($$014|0); } $15 = (($8) + ($12)|0); $16 = HEAP8[$15>>0]|0; $$014 = $16; return ($$014|0); } function _Drawer2D_IsWhiteCol($0) { $0 = $0|0; var $1 = 0, $2 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; switch ($0<<24>>24) { case 102: case 0: { $2 = 1; break; } default: { $1 = ($0<<24>>24)==(70); $phitmp = $1&1; $2 = $phitmp; } } return ($2|0); } function _Drawer2D_ReducePadding_Tex($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP8[1408216]|0; $4 = ($3<<24>>24)==(0); if ($4) { return; } $5 = ((($0)) + 10|0); $6 = HEAP16[$5>>1]|0; $7 = $6&65535; $8 = (($7) - ($1))|0; $9 = (($8|0) / ($2|0))&-1; $10 = (+($9|0)); $11 = (_Math_NextPowOf2($7)|0); $12 = (+($11|0)); $13 = $10 / $12; $14 = ((($0)) + 16|0); $15 = +HEAPF32[$14>>2]; $16 = $15 + $13; HEAPF32[$14>>2] = $16; $17 = ((($0)) + 24|0); $18 = +HEAPF32[$17>>2]; $19 = $18 - $13; HEAPF32[$17>>2] = $19; $20 = $9 << 1; $21 = HEAP16[$5>>1]|0; $22 = $21&65535; $23 = (($22) - ($20))|0; $24 = $23&65535; HEAP16[$5>>1] = $24; return; } function _Drawer2D_ReducePadding_Height($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP8[1408216]|0; $4 = ($3<<24>>24)==(0); if ($4) { return; } $5 = HEAP32[$0>>2]|0; $6 = (($5) - ($1))|0; $7 = (($6|0) / ($2|0))&-1; $8 = $7 << 1; $9 = (($5) - ($8))|0; HEAP32[$0>>2] = $9; return; } function _Drawer2D_MeasureText($0,$1) { $0 = $0|0; $1 = $1|0; var $$sroa$5$0$$sroa_idx2 = 0, $2 = 0, $3 = 0, $4 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (_Drawer2D_TextWidth($1)|0); $3 = (_Drawer2D_TextHeight($1)|0); $4 = ($2|0)==(0); $spec$select = $4 ? 0 : $3; HEAP32[$0>>2] = $2; $$sroa$5$0$$sroa_idx2 = ((($0)) + 4|0); HEAP32[$$sroa$5$0$$sroa_idx2>>2] = $spec$select; return; } function _Font_GetNames($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return; } function _TabList_Free() { var label = 0, sp = 0; sp = STACKTOP; _StringsBuffer_Clear((1243760)); return; } function _TabList_Reset() { var label = 0, sp = 0; sp = STACKTOP; _Mem_Set(1242992,0,512); _Mem_Set((1243504),0,256); _StringsBuffer_Clear((1243760)); return; } function _NetPlayer_Tick($0,$1) { $0 = $0|0; $1 = +$1; var $$byval_copy = 0, $$byval_copy1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $$byval_copy1 = sp + 12|0; $$byval_copy = sp; _Entity_CheckSkin($0); $2 = ((($0)) + 428|0); _NetInterpComp_AdvanceState($2); $3 = ((($0)) + 456|0); ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$2+8>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0; _AnimatedComp_Update($0,$$byval_copy,$$byval_copy1,$1); STACKTOP = sp;return; } function _Player_Despawn($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _DeleteSkin($0); _Entity_ContextLost($0); return; } function _NetPlayer_SetLocation($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ((($0)) + 428|0); _NetInterpComp_SetLocation($3,$1,$2); return; } function _Entity_GetCol($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $1 = sp + 12|0; $2 = sp; _Entity_GetEyePosition($1,$0); _IVec3_Floor($2,$1); $3 = HEAP32[$2>>2]|0; $4 = ((($2)) + 4|0); $5 = HEAP32[$4>>2]|0; $6 = ((($2)) + 8|0); $7 = HEAP32[$6>>2]|0; $8 = (_World_Contains_124($3,$5,$7)|0); $9 = ($8<<24>>24)==(0); if ($9) { $11 = HEAP32[(1407572)>>2]|0; $12 = $11; STACKTOP = sp;return ($12|0); } else { $10 = (_Lighting_Col($3,$5,$7)|0); $12 = $10; STACKTOP = sp;return ($12|0); } return (0)|0; } function _NetPlayer_RenderModel($0,$1,$2) { $0 = $0|0; $1 = +$1; $2 = +$2; var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ((($0)) + 4|0); $4 = ((($0)) + 428|0); $5 = ((($0)) + 456|0); _Vec3_Lerp($3,$4,$5,$2); _InterpComp_LerpAngles($4,$0,$2); _AnimatedComp_GetCurrent($0,$2); $6 = (_Model_ShouldRender($0)|0); $7 = ((($0)) + 868|0); HEAP8[$7>>0] = $6; $8 = ($6<<24>>24)==(0); if ($8) { return; } $9 = ((($0)) + 48|0); $10 = HEAP32[$9>>2]|0; _Model_Render($10,$0); return; } function _NetPlayer_RenderName($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 868|0); $2 = HEAP8[$1>>0]|0; $3 = ($2<<24>>24)==(0); if ($3) { return; } $4 = (+_Model_RenderDistance($0)); $5 = HEAP8[(1242148)>>0]|0; $6 = ($5<<24>>24)==(4); $7 = $6 ? 67108864.0 : 1024.0; $8 = !($4 <= $7); if ($8) { return; } _DrawName($0); return; } function _DrawName($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0; var $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0; var $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0; var $64 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 192|0; $1 = sp; $2 = sp + 120|0; $3 = sp + 104|0; $4 = sp + 96|0; $5 = ((($0)) + 404|0); $6 = HEAP16[$5>>1]|0; $7 = ($6<<16>>16)==(-30000); if ($7) { STACKTOP = sp;return; } $8 = ((($0)) + 400|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)==(0); if ($10) { _MakeNameTexture($0); } $11 = HEAP32[$8>>2]|0; _Gfx_BindTexture($11); $12 = ((($0)) + 48|0); $13 = HEAP32[$12>>2]|0; $14 = ((($13)) + 20|0); $15 = HEAP32[$14>>2]|0; $16 = (+FUNCTION_TABLE_di[$15 & 31]($0)); $17 = ((($0)) + 128|0); _Vec3_TransformY($3,$16,$17); $18 = ((($13)) + 92|0); $19 = +HEAPF32[$18>>2]; $20 = ((($0)) + 84|0); $21 = +HEAPF32[$20>>2]; $22 = $19 * $21; $23 = $22 > 1.0; $24 = $22 / 70.0; $25 = $23 ? 0.014285714365541935 : $24; $26 = ((($0)) + 408|0); $27 = HEAP16[$26>>1]|0; $28 = (+($27&65535)); $29 = $25 * $28; HEAPF32[$4>>2] = $29; $30 = ((($0)) + 410|0); $31 = HEAP16[$30>>1]|0; $32 = (+($31&65535)); $33 = $25 * $32; $34 = ((($4)) + 4|0); HEAPF32[$34>>2] = $33; $35 = HEAP8[(1242148)>>0]|0; $36 = ($35<<24>>24)!=(4); $37 = HEAP8[(1242634)>>0]|0; $38 = ($37<<24>>24)==(0); $or$cond = $36 | $38; if (!($or$cond)) { _Matrix_Mul($2,(1260364),(1260428)); $39 = +HEAPF32[$3>>2]; $40 = ((($2)) + 12|0); $41 = +HEAPF32[$40>>2]; $42 = $39 * $41; $43 = ((($3)) + 4|0); $44 = +HEAPF32[$43>>2]; $45 = ((($2)) + 28|0); $46 = +HEAPF32[$45>>2]; $47 = $44 * $46; $48 = $42 + $47; $49 = ((($3)) + 8|0); $50 = +HEAPF32[$49>>2]; $51 = ((($2)) + 44|0); $52 = +HEAPF32[$51>>2]; $53 = $50 * $52; $54 = $48 + $53; $55 = ((($2)) + 60|0); $56 = +HEAPF32[$55>>2]; $57 = $56 + $54; $58 = $57 * 0.20000000298023224; $59 = +HEAPF32[$4>>2]; $60 = $59 * $58; HEAPF32[$4>>2] = $60; $61 = +HEAPF32[$34>>2]; $62 = $61 * $58; HEAPF32[$34>>2] = $62; } $63 = ((($0)) + 412|0); _Particle_DoRender($4,$3,$63,-1,$1); _Gfx_SetVertexFormat(1); $64 = HEAP32[315124]|0; _Gfx_UpdateDynamicVb_IndexedTris($64,$1,4); STACKTOP = sp;return; } function _MakeNameTexture($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 128|0; $1 = sp + 88|0; $2 = sp; $3 = sp + 72|0; $4 = sp + 108|0; $5 = sp + 64|0; $6 = sp + 96|0; $7 = HEAP8[1408216]|0; HEAP8[1408216] = 1; $8 = ((($0)) + 336|0); _String_FromRaw($5,$8,64); _Drawer2D_MakeFont($4,24,0); _DrawTextArgs_Make($3,$5,$4,0); $9 = (_Drawer2D_TextWidth($3)|0); $10 = ($9|0)==(0); if ($10) { $11 = ((($0)) + 400|0); HEAP32[$11>>2] = 0; $12 = ((($0)) + 404|0); HEAP16[$12>>1] = -30000; HEAP8[1408216] = $7; STACKTOP = sp;return; } else { HEAP32[$1>>2] = $2; $13 = ((($1)) + 4|0); HEAP16[$13>>1] = 0; $14 = ((($1)) + 6|0); HEAP16[$14>>1] = 64; $15 = (($9) + 3)|0; $16 = (_Drawer2D_TextHeight($3)|0); $17 = (($16) + 3)|0; _Bitmap_AllocateClearedPow2($6,$15,$17); $18 = HEAP32[(154728)>>2]|0; HEAP32[(154728)>>2] = -11513776; _String_AppendColorless($1,$5); $19 = $1; $20 = $19; $21 = HEAP32[$20>>2]|0; $22 = (($19) + 4)|0; $23 = $22; $24 = HEAP32[$23>>2]|0; $25 = $3; $26 = $25; HEAP32[$26>>2] = $21; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $24; _Drawer2D_DrawText($6,$3,3,3); HEAP32[(154728)>>2] = $18; $29 = $5; $30 = $29; $31 = HEAP32[$30>>2]|0; $32 = (($29) + 4)|0; $33 = $32; $34 = HEAP32[$33>>2]|0; $35 = $3; $36 = $35; HEAP32[$36>>2] = $31; $37 = (($35) + 4)|0; $38 = $37; HEAP32[$38>>2] = $34; _Drawer2D_DrawText($6,$3,0,0); $39 = ((($0)) + 400|0); _Drawer2D_MakeTexture($39,$6,$15,$17); $40 = HEAP32[$6>>2]|0; _Mem_Free($40); HEAP8[1408216] = $7; STACKTOP = sp;return; } } function _Entity_GetEyePosition($0,$1) { $0 = $0|0; $1 = $1|0; var $$sroa$0$0$$sroa_idx = 0, $$sroa$0$0$copyload13 = 0, $$sroa$4$0$$sroa_idx4 = 0, $$sroa$4$0$$sroa_idx5 = 0, $$sroa$4$0$copyload = 0.0, $$sroa$6$0$$sroa_idx8 = 0, $$sroa$6$0$$sroa_idx9 = 0, $$sroa$6$0$copyload14 = 0, $2 = 0.0, $3 = 0.0, label = 0, sp = 0; sp = STACKTOP; $$sroa$0$0$$sroa_idx = ((($1)) + 4|0); $$sroa$0$0$copyload13 = HEAP32[$$sroa$0$0$$sroa_idx>>2]|0; $$sroa$4$0$$sroa_idx4 = ((($1)) + 8|0); $$sroa$4$0$copyload = +HEAPF32[$$sroa$4$0$$sroa_idx4>>2]; $$sroa$6$0$$sroa_idx8 = ((($1)) + 12|0); $$sroa$6$0$copyload14 = HEAP32[$$sroa$6$0$$sroa_idx8>>2]|0; $2 = (+_Entity_GetEyeHeight($1)); $3 = $$sroa$4$0$copyload + $2; HEAP32[$0>>2] = $$sroa$0$0$copyload13; $$sroa$4$0$$sroa_idx5 = ((($0)) + 4|0); HEAPF32[$$sroa$4$0$$sroa_idx5>>2] = $3; $$sroa$6$0$$sroa_idx9 = ((($0)) + 8|0); HEAP32[$$sroa$6$0$$sroa_idx9>>2] = $$sroa$6$0$copyload14; return; } function _World_Contains_124($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $narrow = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP32[(1407464)>>2]|0; $4 = ($3>>>0)>($0>>>0); $5 = HEAP32[(1407468)>>2]|0; $6 = ($5>>>0)>($1>>>0); $or$cond = $4 & $6; $7 = HEAP32[(1407472)>>2]|0; $8 = ($7>>>0)>($2>>>0); $narrow = $or$cond & $8; $9 = $narrow&1; return ($9|0); } function _Entity_GetEyeHeight($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 48|0); $2 = HEAP32[$1>>2]|0; $3 = ((($2)) + 24|0); $4 = HEAP32[$3>>2]|0; $5 = (+FUNCTION_TABLE_di[$4 & 31]($0)); $6 = ((($0)) + 84|0); $7 = +HEAPF32[$6>>2]; $8 = $5 * $7; return (+$8); } function _DeleteSkin($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_CanDeleteTexture($0)|0); $2 = ($1<<24>>24)==(0); if (!($2)) { $3 = ((($0)) + 112|0); _Gfx_DeleteTexture($3); } _Entity_ResetSkin($0); $4 = ((($0)) + 109|0); HEAP8[$4>>0] = 0; return; } function _Entity_ContextLost($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _DeleteNameTex($0); return; } function _DeleteNameTex($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 400|0); _Gfx_DeleteTexture($1); $2 = ((($0)) + 404|0); HEAP16[$2>>1] = 0; return; } function _CanDeleteTexture($0) { $0 = $0|0; var $$010 = 0, $$09 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 112|0); $2 = HEAP32[$1>>2]|0; $3 = ($2|0)==(0); if ($3) { $$09 = 0; return ($$09|0); } $$010 = 0; while(1) { $4 = (1241124 + ($$010<<2)|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0|0); $7 = ($5|0)==($0|0); $or$cond = $6 | $7; if (!($or$cond)) { $8 = ((($5)) + 112|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)==($2|0); if ($10) { $$09 = 0; label = 6; break; } } $11 = (($$010) + 1)|0; $12 = ($11>>>0)<(256); if ($12) { $$010 = $11; } else { $$09 = 1; label = 6; break; } } if ((label|0) == 6) { return ($$09|0); } return (0)|0; } function _Entity_ResetSkin($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 120|0); HEAPF32[$1>>2] = 1.0; $2 = ((($0)) + 124|0); HEAPF32[$2>>2] = 1.0; $3 = ((($0)) + 116|0); HEAP32[$3>>2] = 0; $4 = ((($0)) + 112|0); HEAP32[$4>>2] = 0; $5 = ((($0)) + 108|0); HEAP8[$5>>0] = 0; return; } function _Entity_CheckSkin($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; var $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 528|0; $1 = sp + 440|0; $2 = sp + 432|0; $3 = sp; $4 = sp + 464|0; $5 = sp + 448|0; $6 = ((($0)) + 48|0); $7 = HEAP32[$6>>2]|0; $8 = ((($7)) + 44|0); $9 = HEAP8[$8>>0]|0; $10 = ($9<<24>>24)==(0); if ($10) { STACKTOP = sp;return; } $11 = ((($0)) + 109|0); $12 = HEAP8[$11>>0]|0; $13 = ($12<<24>>24)==(2); if ($13) { STACKTOP = sp;return; } $14 = ((($0)) + 272|0); _String_FromRaw($2,$14,64); $15 = HEAP8[$11>>0]|0; $16 = ($15<<24>>24)==(0); do { if ($16) { $17 = (_Entity_FirstOtherWithSameSkinAndFetchedSkin($0)|0); $18 = ($17|0)==(0|0); if ($18) { _Http_AsyncGetSkin($2); HEAP8[$11>>0] = 1; break; } _Entity_CopySkin($0,$17); HEAP8[$11>>0] = 2; STACKTOP = sp;return; } } while(0); $19 = (_Http_GetResult($2,$3)|0); $20 = ($19<<24>>24)==(0); if ($20) { STACKTOP = sp;return; } $21 = ((($3)) + 421|0); $22 = HEAP8[$21>>0]|0; $23 = ($22<<24>>24)==(0); if ($23) { _Entity_SetSkinAll($0,1); STACKTOP = sp;return; } $24 = ((($3)) + 284|0); $25 = HEAP32[$24>>2]|0; $26 = ((($3)) + 288|0); $27 = HEAP32[$26>>2]|0; _Stream_ReadonlyMemory($4,$25,$27); $28 = (_Png_Decode($5,$4)|0); $29 = ($28|0)==(0); if (!($29)) { _String_FromRaw($1,$3,128); _Logger_Warn2($28,37484,$1); $30 = HEAP32[$5>>2]|0; _Mem_Free($30); STACKTOP = sp;return; } $31 = ((($0)) + 112|0); _Gfx_DeleteTexture($31); _Entity_SetSkinAll($0,1); _Entity_EnsurePow2($0,$5); $32 = (_Utils_CalcSkinType($5)|0); $33 = ((($0)) + 108|0); HEAP8[$33>>0] = $32; $34 = ((($5)) + 4|0); $35 = HEAP32[$34>>2]|0; $36 = HEAP32[315087]|0; $37 = ($35|0)>($36|0); if ($37) { label = 14; } else { $38 = ((($5)) + 8|0); $39 = HEAP32[$38>>2]|0; $40 = HEAP32[(1260352)>>2]|0; $41 = ($39|0)>($40|0); if ($41) { label = 14; } else { $42 = ($32<<24>>24)==(-16); if (!($42)) { $43 = HEAP32[$6>>2]|0; $44 = ((($43)) + 46|0); $45 = HEAP8[$44>>0]|0; $46 = ($45<<24>>24)==(0); if (!($46)) { _Entity_ClearHat($5,$32); } $47 = (_Gfx_CreateTexture($5,1,0)|0); HEAP32[$31>>2] = $47; _Entity_SetSkinAll($0,0); } } } if ((label|0) == 14) { _Chat_Add1(22506,$2); } $48 = HEAP32[$5>>2]|0; _Mem_Free($48); STACKTOP = sp;return; } function _Entity_FirstOtherWithSameSkinAndFetchedSkin($0) { $0 = $0|0; var $$013 = 0, $$017 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; var $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $1 = sp + 16|0; $2 = sp + 8|0; $3 = sp; $4 = ((($0)) + 272|0); _String_FromRaw($1,$4,64); $$017 = 0; while(1) { $5 = (1241124 + ($$017<<2)|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)==(0|0); $8 = ($6|0)==($0|0); $or$cond = $7 | $8; if (!($or$cond)) { $9 = ((($6)) + 272|0); _String_FromRaw($3,$9,64); $10 = $3; $11 = $10; $12 = HEAP32[$11>>2]|0; $13 = (($10) + 4)|0; $14 = $13; $15 = HEAP32[$14>>2]|0; $16 = $2; $17 = $16; HEAP32[$17>>2] = $12; $18 = (($16) + 4)|0; $19 = $18; HEAP32[$19>>2] = $15; $20 = ((($6)) + 109|0); $21 = HEAP8[$20>>0]|0; $22 = ($21<<24>>24)==(0); if (!($22)) { $23 = (_String_Equals($1,$2)|0); $24 = ($23|0)==(0); if (!($24)) { $$013 = $6; label = 6; break; } } } $25 = (($$017) + 1)|0; $26 = ($25>>>0)<(256); if ($26) { $$017 = $25; } else { $$013 = 0; label = 6; break; } } if ((label|0) == 6) { STACKTOP = sp;return ($$013|0); } return (0)|0; } function _Entity_CopySkin($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = ((($1)) + 112|0); $4 = HEAP32[$3>>2]|0; $5 = ((($0)) + 112|0); HEAP32[$5>>2] = $4; $6 = ((($1)) + 108|0); $7 = HEAP8[$6>>0]|0; $8 = ((($0)) + 108|0); HEAP8[$8>>0] = $7; $9 = ((($1)) + 120|0); $10 = HEAP32[$9>>2]|0; $11 = ((($0)) + 120|0); HEAP32[$11>>2] = $10; $12 = ((($1)) + 124|0); $13 = HEAP32[$12>>2]|0; $14 = ((($0)) + 124|0); HEAP32[$14>>2] = $13; $15 = ((($0)) + 116|0); HEAP32[$15>>2] = 0; $16 = ((($0)) + 272|0); _String_FromRaw($2,$16,64); $17 = (_Utils_IsUrlPrefix($2)|0); $18 = ($17<<24>>24)==(0); if ($18) { STACKTOP = sp;return; } $19 = HEAP32[$5>>2]|0; HEAP32[$15>>2] = $19; STACKTOP = sp;return; } function _Entity_SetSkinAll($0,$1) { $0 = $0|0; $1 = $1|0; var $$015 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $2 = sp + 16|0; $3 = sp + 8|0; $4 = sp; $5 = ((($0)) + 272|0); _String_FromRaw($2,$5,64); $6 = ($1<<24>>24)==(0); $$015 = 0; while(1) { $7 = (1241124 + ($$015<<2)|0); $8 = HEAP32[$7>>2]|0; $9 = ($8|0)==(0|0); if (!($9)) { $10 = ((($8)) + 272|0); _String_FromRaw($4,$10,64); $11 = $4; $12 = $11; $13 = HEAP32[$12>>2]|0; $14 = (($11) + 4)|0; $15 = $14; $16 = HEAP32[$15>>2]|0; $17 = $3; $18 = $17; HEAP32[$18>>2] = $13; $19 = (($17) + 4)|0; $20 = $19; HEAP32[$20>>2] = $16; $21 = (_String_Equals($2,$3)|0); $22 = ($21|0)==(0); if (!($22)) { if ($6) { _Entity_CopySkin($8,$0); } else { _Entity_ResetSkin($8); } $23 = ((($8)) + 109|0); HEAP8[$23>>0] = 2; } } $24 = (($$015) + 1)|0; $exitcond = ($24|0)==(256); if ($exitcond) { break; } else { $$015 = $24; } } STACKTOP = sp;return; } function _Entity_EnsurePow2($0,$1) { $0 = $0|0; $1 = $1|0; var $$037 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = ((($1)) + 4|0); $4 = HEAP32[$3>>2]|0; $5 = (_Math_NextPowOf2($4)|0); $6 = ((($1)) + 8|0); $7 = HEAP32[$6>>2]|0; $8 = (_Math_NextPowOf2($7)|0); $9 = HEAP32[$3>>2]|0; $10 = ($5|0)==($9|0); if ($10) { $11 = HEAP32[$6>>2]|0; $12 = ($8|0)==($11|0); if ($12) { STACKTOP = sp;return; } } _Bitmap_Allocate($2,$5,$8); $13 = HEAP32[$3>>2]|0; $14 = (+($13|0)); $15 = (+($5|0)); $16 = $14 / $15; $17 = ((($0)) + 120|0); HEAPF32[$17>>2] = $16; $18 = HEAP32[$6>>2]|0; $19 = (+($18|0)); $20 = (+($8|0)); $21 = $19 / $20; $22 = ((($0)) + 124|0); HEAPF32[$22>>2] = $21; $23 = $13 << 2; $24 = HEAP32[$6>>2]|0; $25 = ($24|0)>(0); if ($25) { $26 = ((($2)) + 4|0); $$037 = 0; while(1) { $27 = HEAP32[$1>>2]|0; $28 = HEAP32[$3>>2]|0; $29 = Math_imul($28, $$037)|0; $30 = (($27) + ($29<<2)|0); $31 = HEAP32[$2>>2]|0; $32 = HEAP32[$26>>2]|0; $33 = Math_imul($32, $$037)|0; $34 = (($31) + ($33<<2)|0); _Mem_Copy($34,$30,$23); $35 = (($$037) + 1)|0; $36 = HEAP32[$6>>2]|0; $37 = ($35|0)<($36|0); if ($37) { $$037 = $35; } else { break; } } } $38 = HEAP32[$1>>2]|0; _Mem_Free($38); ;HEAP32[$1>>2]=HEAP32[$2>>2]|0;HEAP32[$1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[$2+8>>2]|0; STACKTOP = sp;return; } function _Entity_ClearHat($0,$1) { $0 = $0|0; $1 = $1|0; var $$04860 = 0, $$056 = 0, $$14953 = 0, $$152 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var $switch$split2D = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; $4 = (($3|0) / 64)&-1; $5 = $4 << 5; $6 = ($1<<24>>24)==(0); $7 = $6 ? 32 : 64; $8 = ((($0)) + 8|0); $9 = HEAP32[$8>>2]|0; $10 = (($9|0) / ($7|0))&-1; $11 = $10 << 4; $12 = ($10|0)>(0); if (!($12)) { return; } $13 = HEAP32[$0>>2]|0; $14 = ($3|0)>(63); $$04860 = 0; L4: while(1) { $15 = Math_imul($$04860, $3)|0; $16 = (($13) + ($15<<2)|0); $17 = (($16) + ($5<<2)|0); if ($14) { $$056 = 0; while(1) { $20 = (($17) + ($$056<<2)|0); $21 = HEAP32[$20>>2]|0; $22 = ($21>>>0)<(4278190080); $18 = (($$056) + 1)|0; if ($22) { label = 16; break L4; } $19 = ($18|0)<($5|0); if ($19) { $$056 = $18; } else { break; } } } $23 = (($$04860) + 1)|0; $24 = ($23|0)<($11|0); if ($24) { $$04860 = $23; } else { break; } } if ((label|0) == 16) { return; } $25 = ($10|0)>(0); if (!($25)) { return; } $26 = HEAP32[$0>>2]|0; $27 = ($3|0)>(63); $$14953 = 0; while(1) { $28 = HEAP32[$2>>2]|0; $29 = Math_imul($28, $$14953)|0; $30 = (($26) + ($29<<2)|0); $31 = (($30) + ($5<<2)|0); if ($27) { $$152 = 0; while(1) { $32 = (($31) + ($$152<<2)|0); $33 = HEAP32[$32>>2]|0; $switch$split2D = ($33|0)<(-1); if ($switch$split2D) { switch ($33|0) { case -16777216: { label = 13; break; } default: { } } } else { switch ($33|0) { case -1: { label = 13; break; } default: { } } } if ((label|0) == 13) { label = 0; HEAP32[$32>>2] = 0; } $34 = (($$152) + 1)|0; $35 = ($34|0)<($5|0); if ($35) { $$152 = $34; } else { break; } } } $36 = (($$14953) + 1)|0; $37 = ($36|0)<($11|0); if ($37) { $$14953 = $36; } else { break; } } return; } function _Entities_Init() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $spec$store$select = 0, $spec$store$select1 = 0, label = 0, sp = 0; sp = STACKTOP; _Event_Register((1251856),0,275); _Event_Register((1252116),0,276); _Event_Register(1254716,0,277); $0 = (_Options_GetEnum(33262,1,1312,5)|0); $1 = $0&255; $2 = HEAP8[1408229]|0; $3 = ($2<<24>>24)==(0); $spec$store$select = $3 ? $1 : 1; HEAP8[(1242148)>>0] = $spec$store$select; $4 = (_Options_GetEnum(33249,0,1344,4)|0); $5 = $4&255; $6 = HEAP8[1408229]|0; $7 = ($6<<24>>24)==(0); $spec$store$select1 = $7 ? $5 : 0; HEAP8[(1242149)>>0] = $spec$store$select1; HEAP32[(1242144)>>2] = 1242152; _LocalPlayer_Init(); return; } function _Entities_Free() { var $$05 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $$05 = 0; while(1) { $0 = (1241124 + ($$05<<2)|0); $1 = HEAP32[$0>>2]|0; $2 = ($1|0)==(0|0); if (!($2)) { $3 = $$05&255; _Entities_Remove($3); } $4 = (($$05) + 1)|0; $exitcond = ($4|0)==(256); if ($exitcond) { break; } else { $$05 = $4; } } _Event_Unregister((1251856),0,275); _Event_Unregister((1252116),0,276); _Event_Unregister(1254716,0,277); $5 = HEAP32[312226]|0; $6 = ($5|0)==(0); if ($6) { return; } _Gfx_DeleteTexture(1248904); return; } function _LocalPlayer_Reset() { var label = 0, sp = 0; sp = STACKTOP; HEAPF32[(1242612)>>2] = 5.0; HEAPF32[(1242188)>>2] = 0.0; HEAPF32[(1242192)>>2] = 0.0; HEAPF32[(1242196)>>2] = 0.0; HEAPF32[(1242968)>>2] = 0.41999998688697815; HEAPF32[(1242976)>>2] = 0.41999998688697815; return; } function _LocalPlayer_OnNewMap() { var label = 0, sp = 0; sp = STACKTOP; HEAPF32[(1242188)>>2] = 0.0; HEAPF32[(1242192)>>2] = 0.0; HEAPF32[(1242196)>>2] = 0.0; HEAPF32[(1242592)>>2] = 0.0; HEAPF32[(1242596)>>2] = 0.0; HEAPF32[(1242600)>>2] = 0.0; HEAP8[(1242988)>>0] = 0; HEAP8[(1242989)>>0] = 0; HEAP8[(1242990)>>0] = 0; return; } function _Entities_Remove($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = $0&255; _Event_RaiseInt((1249256),$1); $2 = (1241124 + ($1<<2)|0); $3 = HEAP32[$2>>2]|0; $4 = HEAP32[$3>>2]|0; $5 = ((($4)) + 4|0); $6 = HEAP32[$5>>2]|0; FUNCTION_TABLE_vi[$6 & 511]($3); HEAP32[$2>>2] = 0; return; } function _Entities_ContextLost($0) { $0 = $0|0; var $$05 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $$05 = 0; while(1) { $1 = (1241124 + ($$05<<2)|0); $2 = HEAP32[$1>>2]|0; $3 = ($2|0)==(0|0); if (!($3)) { _Entity_ContextLost($2); } $4 = (($$05) + 1)|0; $exitcond = ($4|0)==(256); if ($exitcond) { break; } else { $$05 = $4; } } _Gfx_DeleteTexture(1248904); return; } function _Entities_ContextRecreated($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return; } function _Entities_ChatFontChanged($0) { $0 = $0|0; var $$05 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $$05 = 0; while(1) { $1 = (1241124 + ($$05<<2)|0); $2 = HEAP32[$1>>2]|0; $3 = ($2|0)==(0|0); if (!($3)) { _DeleteNameTex($2); } $4 = (($$05) + 1)|0; $exitcond = ($4|0)==(256); if ($exitcond) { break; } else { $$05 = $4; } } return; } function _LocalPlayer_Init() { var $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, $or$cond = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; _Entity_Init(1242152); _Entity_SetName(1242152,11488); _Entity_SetSkin(1242152,11488); _Event_Register((1252636),0,278); HEAP32[(1242944)>>2] = 1242152; _HacksComp_Init((1242616)); _PhysicsComp_Init((1242956),1242152); _TiltComp_Init((1242796)); HEAP8[(1242206)>>0] = 1; HEAPF32[(1242612)>>2] = 5.0; HEAP32[(1242980)>>2] = (1242616); HEAP32[(1242984)>>2] = (1242944); HEAP32[310538] = 11340; $0 = HEAP8[1408229]|0; $1 = ($0<<24>>24)==(0); $2 = HEAP8[1408233]|0; $3 = ($2<<24>>24)!=(0); $or$cond = $1 | $3; if (!($or$cond)) { HEAP8[(1242626)>>0] = 0; return; } $4 = (_Options_GetBool(31551,1)|0); $5 = ($4<<24>>24)!=(0); $phitmp = $5&1; $$pr = HEAP8[1408229]|0; HEAP8[(1242626)>>0] = $phitmp; $6 = ($$pr<<24>>24)==(0); if (!($6)) { return; } $7 = (+_Options_GetFloat(31529,0.10000000149011612,50.0,10.0)); HEAPF32[(1242620)>>2] = $7; $8 = (_Options_GetBool(31404,0)|0); HEAP8[(1242624)>>0] = $8; $9 = (_Options_GetBool(31386,0)|0); HEAP8[(1242648)>>0] = $9; $10 = (_Options_GetBool(31469,0)|0); HEAP8[(1242649)>>0] = $10; $11 = (_Options_GetBool(31449,0)|0); HEAP8[(1242625)>>0] = $11; $12 = (+_Options_GetFloat(31489,0.0,52.0,0.41999998688697815)); HEAPF32[(1242972)>>2] = $12; HEAPF32[(1242968)>>2] = $12; $13 = (_Options_GetBool(22529,1)|0); HEAP8[1408218] = $13; return; } function _Entity_Init($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 80|0); HEAPF32[$1>>2] = 1.0; $2 = ((($0)) + 84|0); HEAPF32[$2>>2] = 1.0; $3 = ((($0)) + 88|0); HEAPF32[$3>>2] = 1.0; $4 = ((($0)) + 120|0); HEAPF32[$4>>2] = 1.0; $5 = ((($0)) + 124|0); HEAPF32[$5>>2] = 1.0; $6 = ((($0)) + 104|0); HEAPF32[$6>>2] = 0.5; $7 = ((($0)) + 272|0); HEAP8[$7>>0] = 0; $8 = ((($0)) + 336|0); HEAP8[$8>>0] = 0; _Entity_SetModel($0,11364); return; } function _Entity_SetName($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, label = 0, sp = 0; sp = STACKTOP; _DeleteNameTex($0); $2 = ((($0)) + 336|0); _String_CopyToRaw($2,64,$1); return; } function _Entity_SetSkin($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, label = 0, sp = 0; sp = STACKTOP; _DeleteSkin($0); $2 = ((($0)) + 272|0); _String_CopyToRaw($2,64,$1); return; } function _LocalPlayer_CheckJumpVelocity($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_HacksComp_CanJumpHigher((1242616))|0); $2 = ($1<<24>>24)==(0); if (!($2)) { return; } $3 = HEAP32[(1242976)>>2]|0; HEAP32[(1242968)>>2] = $3; return; } function _LocalPlayer_Tick($0,$1) { $0 = $0|0; $1 = +$1; var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0; var $or$cond3 = 0, $phitmp = 0.0, $phitmp43 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $$byval_copy2 = sp + 32|0; $$byval_copy1 = sp + 20|0; $2 = sp + 16|0; $3 = sp; $4 = sp + 4|0; $5 = ((($0)) + 464|0); HEAPF32[$2>>2] = 0.0; HEAPF32[$3>>2] = 0.0; $6 = HEAP32[351863]|0; $7 = ($6|0)==(0|0); if ($7) { STACKTOP = sp;return; } $8 = ((($5)) + 9|0); $9 = HEAP8[$8>>0]|0; $10 = ($9<<24>>24)==(0); if ($10) { $18 = 0.5; } else { $11 = ((($5)) + 10|0); $12 = HEAP8[$11>>0]|0; $13 = ($12<<24>>24)==(0); if ($13) { $18 = 0.5; } else { $14 = ((($5)) + 13|0); $15 = HEAP8[$14>>0]|0; $16 = ($15<<24>>24)==(0); $phitmp = $16 ? 0.5 : 1.0; $18 = $phitmp; } } $17 = ((($0)) + 104|0); HEAPF32[$17>>2] = $18; $19 = ((($0)) + 440|0); $20 = ((($0)) + 36|0); ;HEAP32[$19>>2]=HEAP32[$20>>2]|0;HEAP32[$19+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[$19+8>>2]=HEAP32[$20+8>>2]|0; $21 = ((($0)) + 111|0); $22 = HEAP8[$21>>0]|0; $23 = ((($0)) + 664|0); _LocalInterpComp_AdvanceState($23); _LocalPlayer_HandleInput($2,$3); $24 = ((($5)) + 34|0); $25 = HEAP8[$24>>0]|0; $26 = ($25<<24>>24)==(0); if ($26) { $28 = ((($5)) + 35|0); $29 = HEAP8[$28>>0]|0; $30 = ($29<<24>>24)!=(0); $phitmp43 = $30&1; $31 = ((($5)) + 40|0); HEAP8[$31>>0] = $phitmp43; if ($30) { $53 = $31; } else { $32 = ((($5)) + 20|0); $33 = HEAP8[$32>>0]|0; $34 = ($33<<24>>24)==(0); if ($34) { $53 = $31; } else { _PhysicsComp_DoEntityPush($0); $53 = $31; } } } else { $27 = ((($5)) + 40|0); HEAP8[$27>>0] = 1; $53 = $27; } $35 = ((($5)) + 32|0); $36 = HEAP8[$35>>0]|0; $37 = ($36<<24>>24)==(0); if ($37) { $38 = HEAP8[$24>>0]|0; $39 = ($38<<24>>24)!=(0); $40 = +HEAPF32[$2>>2]; $41 = $40 == 0.0; $or$cond = $39 & $41; $42 = +HEAPF32[$3>>2]; $43 = $42 == 0.0; $or$cond3 = $or$cond & $43; if ($or$cond3) { HEAPF32[$20>>2] = 0.0; $44 = ((($0)) + 40|0); HEAPF32[$44>>2] = 0.0; $45 = ((($0)) + 44|0); HEAPF32[$45>>2] = 0.0; } } $46 = ((($0)) + 804|0); _PhysicsComp_UpdateVelocityState($46); $47 = +HEAPF32[$2>>2]; $48 = +HEAPF32[$3>>2]; $49 = ((($0)) + 20|0); $50 = +HEAPF32[$49>>2]; $51 = $50 * 0.01745329238474369; _Vec3_RotateY3($4,$47,0.0,$48,$51); ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$4+8>>2]|0; _PhysicsComp_PhysicsTick($46,$$byval_copy2); $52 = HEAP8[$53>>0]|0; $54 = ($52<<24>>24)==(0); if (!($54)) { $55 = ((($0)) + 40|0); HEAPF32[$55>>2] = 0.0; } $56 = ((($23)) + 28|0); $57 = ((($0)) + 4|0); ;HEAP32[$56>>2]=HEAP32[$57>>2]|0;HEAP32[$56+4>>2]=HEAP32[$57+4>>2]|0;HEAP32[$56+8>>2]=HEAP32[$57+8>>2]|0; ;HEAP32[$57>>2]=HEAP32[$23>>2]|0;HEAP32[$57+4>>2]=HEAP32[$23+4>>2]|0;HEAP32[$57+8>>2]=HEAP32[$23+8>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$23>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$23+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$23+8>>2]|0; ;HEAP32[$$byval_copy2>>2]=HEAP32[$56>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$56+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$56+8>>2]|0; _AnimatedComp_Update($0,$$byval_copy1,$$byval_copy2,$1); $58 = ((($0)) + 644|0); _TiltComp_Update($58,$1); _Entity_CheckSkin($0); _SoundComp_Tick($22); STACKTOP = sp;return; } function _LocalPlayer_SetLocation($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ((($0)) + 664|0); _LocalInterpComp_SetLocation($3,$1,$2); return; } function _LocalPlayer_RenderModel($0,$1,$2) { $0 = $0|0; $1 = +$1; $2 = +$2; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; _AnimatedComp_GetCurrent($0,$2); $3 = ((($0)) + 644|0); _TiltComp_GetCurrent($3,$2); $4 = HEAP32[(1230632)>>2]|0; $5 = HEAP8[$4>>0]|0; $6 = ($5<<24>>24)==(0); if ($6) { return; } $7 = ((($0)) + 48|0); $8 = HEAP32[$7>>2]|0; _Model_Render($8,$0); return; } function _LocalPlayer_RenderName($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[(1230632)>>2]|0; $2 = HEAP8[$1>>0]|0; $3 = ($2<<24>>24)==(0); if ($3) { return; } _DrawName($0); return; } function _LocalPlayer_HandleInput($0,$1) { $0 = $0|0; $1 = $1|0; var $$pr = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $or$cond = 0; var $or$cond30 = 0, $phitmp = 0, $phitmp27 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (_Gui_GetInputGrab()|0); $3 = ($2|0)==(0|0); if (!($3)) { HEAP8[(1242958)>>0] = 0; HEAP8[(1242654)>>0] = 0; HEAP8[(1242652)>>0] = 0; HEAP8[(1242653)>>0] = 0; return; } $4 = (_KeyBind_IsPressed(0)|0); $5 = ($4<<24>>24)==(0); if (!($5)) { $6 = +HEAPF32[$1>>2]; $7 = $6 + -0.98000001907348633; HEAPF32[$1>>2] = $7; } $8 = (_KeyBind_IsPressed(1)|0); $9 = ($8<<24>>24)==(0); if (!($9)) { $10 = +HEAPF32[$1>>2]; $11 = $10 + 0.98000001907348633; HEAPF32[$1>>2] = $11; } $12 = (_KeyBind_IsPressed(2)|0); $13 = ($12<<24>>24)==(0); if (!($13)) { $14 = +HEAPF32[$0>>2]; $15 = $14 + -0.98000001907348633; HEAPF32[$0>>2] = $15; } $16 = (_KeyBind_IsPressed(3)|0); $17 = ($16<<24>>24)==(0); if (!($17)) { $18 = +HEAPF32[$0>>2]; $19 = $18 + 0.98000001907348633; HEAPF32[$0>>2] = $19; } $20 = (_KeyBind_IsPressed(4)|0); HEAP8[(1242958)>>0] = $20; $21 = HEAP8[(1242626)>>0]|0; $22 = ($21<<24>>24)==(0); if ($22) { HEAP8[(1242654)>>0] = 0; $28 = 0; } else { $23 = (_KeyBind_IsPressed(12)|0); $24 = ($23<<24>>24)!=(0); $phitmp = $24&1; $$pr = HEAP8[(1242626)>>0]|0; HEAP8[(1242654)>>0] = $phitmp; $25 = ($$pr<<24>>24)==(0); if ($25) { $28 = 0; } else { $26 = (_KeyBind_IsPressed(25)|0); $27 = ($26<<24>>24)!=(0); $phitmp27 = $27&1; $28 = $phitmp27; } } HEAP8[(1242655)>>0] = $28; $29 = (_KeyBind_IsPressed(15)|0); HEAP8[(1242652)>>0] = $29; $30 = (_KeyBind_IsPressed(16)|0); HEAP8[(1242653)>>0] = $30; $31 = HEAP8[(1242649)>>0]|0; $32 = ($31<<24>>24)==(0); $33 = HEAP8[(1242626)>>0]|0; $34 = ($33<<24>>24)==(0); $or$cond = $32 | $34; $35 = HEAP8[(1242632)>>0]|0; $36 = ($35<<24>>24)==(0); $or$cond30 = $or$cond | $36; if ($or$cond30) { return; } $37 = HEAP8[(1242650)>>0]|0; $38 = ($37<<24>>24)==(0); if (!($38)) { HEAPF32[(1242188)>>2] = 0.0; HEAPF32[(1242192)>>2] = 0.0; HEAPF32[(1242196)>>2] = 0.0; } $39 = (_KeyBind_IsPressed(13)|0); HEAP8[(1242650)>>0] = $39; return; } function _Entity_SetModel($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $2 = sp + 16|0; $3 = sp + 24|0; $4 = sp + 8|0; $5 = sp; $6 = ((($0)) + 80|0); HEAPF32[$6>>2] = 1.0; $7 = ((($0)) + 84|0); HEAPF32[$7>>2] = 1.0; $8 = ((($0)) + 88|0); HEAPF32[$8>>2] = 1.0; (_String_UNSAFE_Separate($1,124,$2,$3)|0); $9 = (_String_CaselessEqualsConst($2,22545)|0); $10 = ($9|0)==(0); if (!($10)) { _String_FromReadonly($5,34370); $11 = $5; $12 = $11; $13 = HEAP32[$12>>2]|0; $14 = (($11) + 4)|0; $15 = $14; $16 = HEAP32[$15>>2]|0; $17 = $2; $18 = $17; HEAP32[$18>>2] = $13; $19 = (($17) + 4)|0; $20 = $19; HEAP32[$20>>2] = $16; HEAPF32[$6>>2] = 2.0; HEAPF32[$7>>2] = 2.0; HEAPF32[$8>>2] = 2.0; } $21 = ((($0)) + 52|0); HEAP16[$21>>1] = 0; $22 = (_Model_Get($2)|0); $23 = ((($0)) + 48|0); HEAP32[$23>>2] = $22; $24 = ((($0)) + 116|0); HEAP32[$24>>2] = 0; $25 = ($22|0)==(0|0); if ($25) { _Entity_SetBlockModel($0,$2); } _Entity_ParseScale($0,$3); _Entity_UpdateModelBounds($0); $26 = ((($0)) + 272|0); _String_FromRaw($4,$26,64); $27 = (_Utils_IsUrlPrefix($4)|0); $28 = ($27<<24>>24)==(0); if ($28) { STACKTOP = sp;return; } $29 = ((($0)) + 112|0); $30 = HEAP32[$29>>2]|0; HEAP32[$24>>2] = $30; STACKTOP = sp;return; } function _Entity_SetBlockModel($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (_Block_Parse($1)|0); $3 = ($2|0)==(-1); if ($3) { $4 = HEAP32[(1280032)>>2]|0; $5 = ((($0)) + 48|0); HEAP32[$5>>2] = $4; return; } else { $6 = $2&65535; $7 = ((($0)) + 52|0); HEAP16[$7>>1] = $6; $8 = (_Model_Get(11372)|0); $9 = ((($0)) + 48|0); HEAP32[$9>>2] = $8; return; } } function _Entity_ParseScale($0,$1) { $0 = $0|0; $1 = $1|0; var $$ = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = (_Convert_ParseFloat($1,$2)|0); $4 = ($3<<24>>24)==(0); if ($4) { STACKTOP = sp;return; } $5 = +HEAPF32[$2>>2]; $6 = $5 > 0.0010000000474974513; $7 = $6 ? $5 : 0.0010000000474974513; HEAPF32[$2>>2] = $7; $8 = ((($0)) + 54|0); $9 = HEAP8[$8>>0]|0; $10 = ($9<<24>>24)==(0); if (!($10)) { $11 = ((($0)) + 48|0); $12 = HEAP32[$11>>2]|0; $13 = ((($12)) + 84|0); $14 = +HEAPF32[$13>>2]; $15 = $7 < $14; $$ = $15 ? $7 : $14; HEAPF32[$2>>2] = $$; } $16 = HEAP32[$2>>2]|0; $17 = ((($0)) + 80|0); HEAP32[$17>>2] = $16; $18 = ((($0)) + 84|0); HEAP32[$18>>2] = $16; $19 = ((($0)) + 88|0); HEAP32[$19>>2] = $16; STACKTOP = sp;return; } function _Entity_UpdateModelBounds($0) { $0 = $0|0; var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 48|0); $2 = HEAP32[$1>>2]|0; $3 = ((($2)) + 28|0); $4 = HEAP32[$3>>2]|0; FUNCTION_TABLE_vi[$4 & 511]($0); $5 = ((($2)) + 32|0); $6 = HEAP32[$5>>2]|0; FUNCTION_TABLE_vi[$6 & 511]($0); $7 = ((($0)) + 92|0); $8 = ((($0)) + 80|0); _Vec3_Mul3($7,$7,$8); $9 = ((($0)) + 56|0); _Vec3_Mul3($9,$9,$8); $10 = ((($0)) + 68|0); _Vec3_Mul3($10,$10,$8); return; } function _Vec3_Mul3($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 * $4; HEAPF32[$0>>2] = $5; $6 = ((($1)) + 4|0); $7 = +HEAPF32[$6>>2]; $8 = ((($2)) + 4|0); $9 = +HEAPF32[$8>>2]; $10 = $7 * $9; $11 = ((($0)) + 4|0); HEAPF32[$11>>2] = $10; $12 = ((($1)) + 8|0); $13 = +HEAPF32[$12>>2]; $14 = ((($2)) + 8|0); $15 = +HEAPF32[$14>>2]; $16 = $13 * $15; $17 = ((($0)) + 8|0); HEAPF32[$17>>2] = $16; return; } function _LocationUpdate_Clamp($0) { $0 = +$0; var $$0$lcssa = 0.0, $$05 = 0.0, $$1$lcssa = 0.0, $$14 = 0.0, $1 = 0, $2 = 0.0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = !($0 >= 360.0); if ($1) { $$0$lcssa = $0; } else { $$05 = $0; while(1) { $2 = $$05 + -360.0; $3 = !($2 >= 360.0); if ($3) { $$0$lcssa = $2; break; } else { $$05 = $2; } } } $4 = $$0$lcssa < 0.0; if (!($4)) { $$1$lcssa = $$0$lcssa; return (+$$1$lcssa); } $$14 = $$0$lcssa; while(1) { $5 = $$14 + 360.0; $6 = $5 < 0.0; if ($6) { $$14 = $5; } else { $$1$lcssa = $5; break; } } return (+$$1$lcssa); } function _LocationUpdate_MakeOri($0,$1,$2) { $0 = $0|0; $1 = +$1; $2 = +$2; var $3 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0;HEAP32[$0+16>>2]=0|0;HEAP32[$0+20>>2]=0|0;HEAP32[$0+24>>2]=0|0;HEAP32[$0+28>>2]=0|0; $3 = ((($0)) + 28|0); HEAP8[$3>>0] = 6; $4 = (+_LocationUpdate_Clamp($2)); $5 = ((($0)) + 12|0); HEAPF32[$5>>2] = $4; $6 = (+_LocationUpdate_Clamp($1)); $7 = ((($0)) + 16|0); HEAPF32[$7>>2] = $6; return; } function _LocationUpdate_MakePos($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ((($0)) + 12|0); ;HEAP32[$3>>2]=0|0;HEAP32[$3+4>>2]=0|0;HEAP32[$3+8>>2]=0|0;HEAP32[$3+12>>2]=0|0;HEAP32[$3+16>>2]=0|0; $4 = ((($0)) + 28|0); HEAP8[$4>>0] = 1; ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$1+8>>2]|0; $5 = ((($0)) + 29|0); HEAP8[$5>>0] = $2; return; } function _LocationUpdate_MakePosAndOri($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = +$2; $3 = +$3; $4 = $4|0; var $10 = 0, $11 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $5 = ((($0)) + 20|0); ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0; $6 = ((($0)) + 28|0); HEAP8[$6>>0] = 7; $7 = (+_LocationUpdate_Clamp($3)); $8 = ((($0)) + 12|0); HEAPF32[$8>>2] = $7; $9 = (+_LocationUpdate_Clamp($2)); $10 = ((($0)) + 16|0); HEAPF32[$10>>2] = $9; ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$1+8>>2]|0; $11 = ((($0)) + 29|0); HEAP8[$11>>0] = $4; return; } function _Entity_GetTransform($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0; var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $4 = sp; $5 = +HEAPF32[$2>>2]; $6 = ((($2)) + 4|0); $7 = +HEAPF32[$6>>2]; $8 = ((($2)) + 8|0); $9 = +HEAPF32[$8>>2]; _Matrix_Scale($3,$5,$7,$9); $10 = ((($0)) + 32|0); $11 = +HEAPF32[$10>>2]; $12 = $11 * -0.01745329238474369; _Matrix_RotateZ($4,$12); _Matrix_Mul($3,$3,$4); $13 = ((($0)) + 24|0); $14 = +HEAPF32[$13>>2]; $15 = $14 * -0.01745329238474369; _Matrix_RotateX($4,$15); _Matrix_Mul($3,$3,$4); $16 = ((($0)) + 28|0); $17 = +HEAPF32[$16>>2]; $18 = $17 * -0.01745329238474369; _Matrix_RotateY($4,$18); _Matrix_Mul($3,$3,$4); $19 = +HEAPF32[$1>>2]; $20 = ((($1)) + 4|0); $21 = +HEAPF32[$20>>2]; $22 = ((($1)) + 8|0); $23 = +HEAPF32[$22>>2]; _Matrix_Translate($4,$19,$21,$23); _Matrix_Mul($3,$3,$4); STACKTOP = sp;return; } function _Entity_GetPickingBounds($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 56|0); $3 = ((($0)) + 4|0); _AABB_Offset($1,$2,$3); return; } function _Entity_GetBounds($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 4|0); $3 = ((($0)) + 92|0); _AABB_Make($1,$2,$3); return; } function _Entity_TouchesAny($0,$1) { $0 = $0|0; $1 = $1|0; var $$02635 = 0, $$02730 = 0, $$028 = 0, $$031 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0; var $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; var $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $2 = sp + 52|0; $3 = sp + 40|0; $4 = sp + 16|0; $5 = sp; _IVec3_Floor($2,$0); $6 = ((($0)) + 12|0); _IVec3_Floor($3,$6); $7 = HEAP32[$2>>2]|0; $8 = ($7|0)>(0); $9 = $8 ? $7 : 0; HEAP32[$2>>2] = $9; $10 = HEAP32[$3>>2]|0; $11 = HEAP32[(1407476)>>2]|0; $12 = ($10|0)<($11|0); $13 = $12 ? $10 : $11; HEAP32[$3>>2] = $13; $14 = ((($2)) + 4|0); $15 = HEAP32[$14>>2]|0; $16 = ($15|0)>(0); $17 = $16 ? $15 : 0; HEAP32[$14>>2] = $17; $18 = ((($3)) + 4|0); $19 = HEAP32[$18>>2]|0; $20 = HEAP32[(1407480)>>2]|0; $21 = ($19|0)<($20|0); $22 = $21 ? $19 : $20; HEAP32[$18>>2] = $22; $23 = ((($2)) + 8|0); $24 = HEAP32[$23>>2]|0; $25 = ($24|0)>(0); $26 = $25 ? $24 : 0; HEAP32[$23>>2] = $26; $27 = ((($3)) + 8|0); $28 = HEAP32[$27>>2]|0; $29 = HEAP32[(1407484)>>2]|0; $30 = ($28|0)<($29|0); $31 = $30 ? $28 : $29; HEAP32[$27>>2] = $31; $32 = HEAP32[$18>>2]|0; $33 = ($17|0)>($32|0); if ($33) { $$028 = 0; STACKTOP = sp;return ($$028|0); } $34 = ((($5)) + 4|0); $35 = ((($5)) + 8|0); $36 = ((($4)) + 12|0); $$02635 = $17; L4: while(1) { $37 = (+($$02635|0)); HEAPF32[$34>>2] = $37; $38 = HEAP32[$23>>2]|0; $39 = HEAP32[$27>>2]|0; $40 = ($38|0)>($39|0); if (!($40)) { $$031 = $38; while(1) { $41 = (+($$031|0)); HEAPF32[$35>>2] = $41; $42 = HEAP32[$2>>2]|0; $43 = HEAP32[$3>>2]|0; $44 = ($42|0)>($43|0); if (!($44)) { $$02730 = $42; while(1) { $45 = (+($$02730|0)); HEAPF32[$5>>2] = $45; $46 = (_World_GetBlock_148($$02730,$$02635,$$031)|0); $47 = $46&65535; $48 = (588036 + (($47*12)|0)|0); _Vec3_Add_149($4,$5,$48); $49 = (597252 + (($47*12)|0)|0); _Vec3_Add_149($36,$5,$49); $50 = (_AABB_Intersects($4,$0)|0); $51 = ($50<<24>>24)==(0); if (!($51)) { $52 = (FUNCTION_TABLE_ii[$1 & 31]($46)|0); $53 = ($52<<24>>24)==(0); if (!($53)) { $$028 = 1; label = 12; break L4; } } $54 = (($$02730) + 1)|0; $55 = HEAP32[$3>>2]|0; $56 = ($$02730|0)<($55|0); if ($56) { $$02730 = $54; } else { break; } } } $57 = (($$031) + 1)|0; $58 = HEAP32[$27>>2]|0; $59 = ($$031|0)<($58|0); if ($59) { $$031 = $57; } else { break; } } } $60 = (($$02635) + 1)|0; $61 = HEAP32[$18>>2]|0; $62 = ($$02635|0)<($61|0); if ($62) { $$02635 = $60; } else { $$028 = 0; label = 12; break; } } if ((label|0) == 12) { STACKTOP = sp;return ($$028|0); } return (0)|0; } function _World_GetBlock_148($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; $3 = HEAP32[(1407472)>>2]|0; $4 = Math_imul($3, $1)|0; $5 = (($4) + ($2))|0; $6 = HEAP32[(1407464)>>2]|0; $7 = Math_imul($5, $6)|0; $8 = (($7) + ($0))|0; $9 = HEAP32[351863]|0; $10 = (($9) + ($8)|0); $11 = HEAP8[$10>>0]|0; $12 = $11&255; $13 = HEAP32[(1407456)>>2]|0; $14 = (($13) + ($8)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = $16 << 8; $18 = $17 | $12; $19 = HEAP32[(1407508)>>2]|0; $20 = $18 & $19; $21 = $20&65535; return ($21|0); } function _Vec3_Add_149($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 + $4; HEAPF32[$0>>2] = $5; $6 = ((($1)) + 4|0); $7 = +HEAPF32[$6>>2]; $8 = ((($2)) + 4|0); $9 = +HEAPF32[$8>>2]; $10 = $7 + $9; $11 = ((($0)) + 4|0); HEAPF32[$11>>2] = $10; $12 = ((($1)) + 8|0); $13 = +HEAPF32[$12>>2]; $14 = ((($2)) + 8|0); $15 = +HEAPF32[$14>>2]; $16 = $13 + $15; $17 = ((($0)) + 8|0); HEAPF32[$17>>2] = $16; return; } function _Entity_TouchesAnyRope($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $1 = sp; _Entity_GetBounds($0,$1); $2 = ((($1)) + 16|0); $3 = +HEAPF32[$2>>2]; $4 = $3 + 0.03125; HEAPF32[$2>>2] = $4; $5 = (_Entity_TouchesAny($1,6)|0); STACKTOP = sp;return ($5|0); } function _IsRopeCollide($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = $0&65535; $2 = (578820 + ($1)|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)==(7); $5 = $4&1; return ($5|0); } function _Entity_TouchesAnyLava($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $1 = sp; _Entity_GetBounds($0,$1); _AABB_Offset($1,$1,11380); $2 = (_Entity_TouchesAny($1,7)|0); STACKTOP = sp;return ($2|0); } function _IsLavaCollide($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = $0&65535; $2 = (578820 + ($1)|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)==(6); $5 = $4&1; return ($5|0); } function _Entity_TouchesAnyWater($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $1 = sp; _Entity_GetBounds($0,$1); _AABB_Offset($1,$1,11380); $2 = (_Entity_TouchesAny($1,8)|0); STACKTOP = sp;return ($2|0); } function _IsWaterCollide($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = $0&65535; $2 = (578820 + ($1)|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)==(5); $5 = $4&1; return ($5|0); } function _Entities_Tick($0) { $0 = $0|0; var $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 8|0); $$06 = 0; while(1) { $2 = (1241124 + ($$06<<2)|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(0|0); if (!($4)) { $5 = HEAP32[$3>>2]|0; $6 = HEAP32[$5>>2]|0; $7 = +HEAPF64[$1>>3]; FUNCTION_TABLE_vid[$6 & 63]($3,$7); } $8 = (($$06) + 1)|0; $exitcond = ($8|0)==(256); if ($exitcond) { break; } else { $$06 = $8; } } return; } function _Entities_RenderModels($0,$1) { $0 = +$0; $1 = +$1; var $$07 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; _Gfx_SetAlphaTest(1); $$07 = 0; while(1) { $2 = (1241124 + ($$07<<2)|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(0|0); if (!($4)) { $5 = HEAP32[$3>>2]|0; $6 = ((($5)) + 16|0); $7 = HEAP32[$6>>2]|0; FUNCTION_TABLE_vidd[$7 & 7]($3,$0,$1); } $8 = (($$07) + 1)|0; $exitcond = ($8|0)==(256); if ($exitcond) { break; } else { $$07 = $8; } } _Gfx_SetAlphaTest(0); return; } function _Entities_RenderNames() { var $$016 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; var $9 = 0, $exitcond = 0, $or$cond = 0, $or$cond15 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP8[(1242148)>>0]|0; $1 = ($0<<24>>24)==(0); if ($1) { return; } $2 = (_Entities_GetClosest(1242152)|0); HEAP8[1408219] = $2; $3 = HEAP8[(1242634)>>0]|0; $4 = ($3<<24>>24)!=(0); $5 = HEAP8[(1242148)>>0]|0; $6 = ($5<<24>>24)==(2); $or$cond15 = $4 & $6; if (!($or$cond15)) { return; } _Gfx_SetAlphaTest(1); $7 = (_Gfx_GetFog()|0); $8 = ($7<<24>>24)!=(0); if ($8) { _Gfx_SetFog(0); } $$016 = 0; while(1) { $9 = (1241124 + ($$016<<2)|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)==(0|0); if (!($11)) { $12 = HEAP8[1408219]|0; $13 = $12&255; $14 = ($$016|0)!=($13|0); $15 = ($$016|0)==(255); $or$cond = $15 | $14; if ($or$cond) { $16 = HEAP32[$10>>2]|0; $17 = ((($16)) + 20|0); $18 = HEAP32[$17>>2]|0; FUNCTION_TABLE_vi[$18 & 511]($10); } } $19 = (($$016) + 1)|0; $exitcond = ($19|0)==(256); if ($exitcond) { break; } else { $$016 = $19; } } _Gfx_SetAlphaTest(0); if (!($8)) { return; } _Gfx_SetFog(1); return; } function _Entities_GetClosest($0) { $0 = $0|0; var $$01623 = 0.0, $$01722 = 0, $$01821 = 0, $$2 = 0.0, $$220 = 0, $$byval_copy = 0, $$byval_copy1 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0; var $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $$byval_copy1 = sp + 44|0; $$byval_copy = sp + 32|0; $1 = sp + 20|0; $2 = sp + 8|0; $3 = sp + 4|0; $4 = sp; _Entity_GetEyePosition($1,$0); $5 = ((($0)) + 20|0); $6 = +HEAPF32[$5>>2]; $7 = $6 * 0.01745329238474369; $8 = ((($0)) + 16|0); $9 = +HEAPF32[$8>>2]; $10 = $9 * 0.01745329238474369; _Vec3_GetDirVector($2,$7,$10); $$01623 = inf;$$01722 = 0;$$01821 = -1; while(1) { $11 = (1241124 + ($$01722<<2)|0); $12 = HEAP32[$11>>2]|0; $13 = ($12|0)==(0|0); if ($13) { $$2 = $$01623;$$220 = $$01821; } else { ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0; $14 = (_Intersection_RayIntersectsRotatedBox($$byval_copy,$$byval_copy1,$12,$3,$4)|0); $15 = ($14<<24>>24)==(0); if ($15) { $$2 = $$01623;$$220 = $$01821; } else { $16 = +HEAPF32[$3>>2]; $17 = $16 < $$01623; if ($17) { $18 = $$01722&255; $$2 = $16;$$220 = $18; } else { $$2 = $$01623;$$220 = $$01821; } } } $19 = (($$01722) + 1)|0; $exitcond = ($19|0)==(255); if ($exitcond) { break; } else { $$01623 = $$2;$$01722 = $19;$$01821 = $$220; } } STACKTOP = sp;return ($$220|0); } function _Entities_RenderHoveredNames() { var $$015 = 0, $$old1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var $exitcond = 0, $or$cond = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP8[(1242148)>>0]|0; switch ($0<<24>>24) { case 2: case 1: { $5 = 0; break; } case 0: { return; break; } default: { $1 = HEAP8[(1242634)>>0]|0; $2 = ($1<<24>>24)!=(0); $phitmp = $2&1; $5 = $phitmp; } } _Gfx_SetAlphaTest(1); _Gfx_SetDepthTest(0); $3 = (_Gfx_GetFog()|0); $4 = ($3<<24>>24)!=(0); if ($4) { _Gfx_SetFog(0); } $6 = ($5|0)!=(0); $$015 = 0; L8: while(1) { $7 = (1241124 + ($$015<<2)|0); $8 = HEAP32[$7>>2]|0; $9 = ($8|0)==(0|0); do { if (!($9)) { $10 = HEAP8[1408219]|0; $11 = $10&255; $12 = ($$015|0)==($11|0); if ($12) { $$old1 = ($$015|0)==(255); if ($$old1) { break L8; } } else { $13 = ($$015|0)!=(255); $or$cond = $6 & $13; if (!($or$cond)) { break; } } $14 = HEAP32[$8>>2]|0; $15 = ((($14)) + 20|0); $16 = HEAP32[$15>>2]|0; FUNCTION_TABLE_vi[$16 & 511]($8); } } while(0); $17 = (($$015) + 1)|0; $exitcond = ($17|0)==(256); if ($exitcond) { break; } else { $$015 = $17; } } _Gfx_SetAlphaTest(0); _Gfx_SetDepthTest(1); if (!($4)) { return; } _Gfx_SetFog(1); return; } function _Entities_DrawShadows() { var $$05 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP8[(1242149)>>0]|0; $1 = ($0<<24>>24)==(0); if ($1) { return; } HEAP8[1408220] = 0; _Gfx_SetDepthWrite(0); _Gfx_SetAlphaBlending(1); _Gfx_SetVertexFormat(1); $2 = HEAP32[(1242144)>>2]|0; _ShadowComponent_Draw($2); $3 = HEAP8[(1242149)>>0]|0; $4 = ($3<<24>>24)==(3); if ($4) { $$05 = 0; while(1) { $5 = (1241124 + ($$05<<2)|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)==(0|0); if (!($7)) { _ShadowComponent_Draw($6); } $8 = (($$05) + 1)|0; $exitcond = ($8|0)==(255); if ($exitcond) { break; } else { $$05 = $8; } } } _Gfx_SetDepthWrite(1); _Gfx_SetAlphaBlending(0); return; } function _TabList_Remove($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; _TabList_Delete($0); $1 = $0&255; $2 = (1242992 + ($1<<1)|0); HEAP16[$2>>1] = 0; $3 = (1243504 + ($1)|0); HEAP8[$3>>0] = 0; _Event_RaiseInt((1250036),$1); return; } function _TabList_Delete($0) { $0 = $0|0; var $$013 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $1 = $0&255; $2 = (1242992 + ($1<<1)|0); $3 = HEAP16[$2>>1]|0; $4 = $3&65535; $5 = ($3<<16>>16)==(0); if ($5) { return; } $6 = (($4) + -1)|0; _StringsBuffer_Remove((1243760),$6); $7 = (($4) + -2)|0; _StringsBuffer_Remove((1243760),$7); $8 = (($4) + -3)|0; _StringsBuffer_Remove((1243760),$8); $$013 = 0; while(1) { $9 = (1242992 + ($$013<<1)|0); $10 = HEAP16[$9>>1]|0; $11 = ($10&65535)>($3&65535); if ($11) { $12 = $10&65535; $13 = (($12) + 65533)|0; $14 = $13&65535; HEAP16[$9>>1] = $14; } $15 = (($$013) + 1)|0; $exitcond = ($15|0)==(256); if ($exitcond) { break; } else { $$013 = $15; } } return; } function _TabList_Set($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $30 = 0, $31 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $5 = sp + 16|0; $6 = sp + 8|0; $7 = sp; $8 = $0&255; $9 = (1242992 + ($8<<1)|0); $10 = HEAP16[$9>>1]|0; $11 = ($10<<16>>16)==(0); if ($11) { $$0 = 1249516; } else { $12 = $10&65535; $13 = (($12) + -3)|0; _StringsBuffer_UNSAFE_Get($5,(1243760),$13); $14 = HEAP16[$9>>1]|0; $15 = $14&65535; $16 = (($15) + -2)|0; _StringsBuffer_UNSAFE_Get($6,(1243760),$16); $17 = HEAP16[$9>>1]|0; $18 = $17&65535; $19 = (($18) + -1)|0; _StringsBuffer_UNSAFE_Get($7,(1243760),$19); $20 = (1243504 + ($8)|0); $21 = HEAP8[$20>>0]|0; $22 = (_String_Equals($1,$5)|0); $23 = ($22|0)==(0); if ($23) { $$0 = (1249776); } else { $24 = (_String_Equals($2,$6)|0); $25 = ($24|0)==(0); if ($25) { $$0 = (1249776); } else { $26 = (_String_Equals($3,$7)|0); $27 = ($26|0)!=(0); $28 = ($21<<24>>24)==($4<<24>>24); $or$cond = $28 & $27; if ($or$cond) { STACKTOP = sp;return; } else { $$0 = (1249776); } } } } _TabList_Delete($0); _StringsBuffer_Add((1243760),$1); _StringsBuffer_Add((1243760),$2); _StringsBuffer_Add((1243760),$3); $29 = HEAP32[(1243768)>>2]|0; $30 = $29&65535; HEAP16[$9>>1] = $30; $31 = (1243504 + ($8)|0); HEAP8[$31>>0] = $4; _Event_RaiseInt($$0,$8); STACKTOP = sp;return; } function _LocalPlayer_JumpHeight() { var $0 = 0.0, $1 = 0.0, $2 = 0.0, label = 0, sp = 0; sp = STACKTOP; $0 = +HEAPF32[(1242968)>>2]; $1 = (+_PhysicsComp_CalcMaxHeight($0)); $2 = $1; return (+$2); } function _LocalPlayer_SetInterpPosition($0) { $0 = +$0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[(1242649)>>0]|0; $2 = ($1<<24>>24)==(0); $3 = HEAP8[(1242650)>>0]|0; $4 = ($3<<24>>24)==(0); $or$cond = $2 | $4; if ($or$cond) { _Vec3_Lerp((1242156),(1242816),(1242844),$0); } _InterpComp_LerpAngles((1242816),1242152,$0); return; } function _LocalPlayer_HandlesKey($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[(379733)>>0]|0; $2 = $1&255; $3 = ($2|0)==($0|0); if ($3) { $4 = (_LocalPlayer_HandleRespawn()|0); $$0 = $4; return ($$0|0); } $5 = HEAP8[(379734)>>0]|0; $6 = $5&255; $7 = ($6|0)==($0|0); if ($7) { $8 = (_LocalPlayer_HandleSetSpawn()|0); $$0 = $8; return ($$0|0); } $9 = HEAP8[(379742)>>0]|0; $10 = $9&255; $11 = ($10|0)==($0|0); if ($11) { $12 = (_LocalPlayer_HandleFly()|0); $$0 = $12; return ($$0|0); } $13 = HEAP8[(379741)>>0]|0; $14 = $13&255; $15 = ($14|0)==($0|0); if ($15) { $16 = (_LocalPlayer_HandleNoClip()|0); $$0 = $16; return ($$0|0); } $17 = HEAP8[(379732)>>0]|0; $18 = $17&255; $19 = ($18|0)==($0|0); $20 = HEAP8[(1242263)>>0]|0; $21 = HEAP8[(1242651)>>0]|0; $22 = $21 | $20; $23 = HEAP8[(1242650)>>0]|0; $24 = $22 | $23; $25 = ($24<<24>>24)==(0); $26 = $19 & $25; if (!($26)) { $$0 = 0; return ($$0|0); } $27 = HEAP8[(1242635)>>0]|0; $28 = ($27<<24>>24)==(0); if ($28) { $32 = 0; } else { $29 = HEAP8[(1242649)>>0]|0; $30 = ($29<<24>>24)==(0); $phitmp = $30 ? 0 : 2; $32 = $phitmp; } $31 = HEAP32[(1242644)>>2]|0; $33 = ($32|0)<($31|0); $34 = (($31) + -1)|0; $35 = $33 ? $34 : $32; $36 = HEAP32[(1242960)>>2]|0; $37 = ($36|0)<($35|0); if (!($37)) { $$0 = 1; return ($$0|0); } _PhysicsComp_DoNormalJump((1242956)); $38 = HEAP32[(1242960)>>2]|0; $39 = (($38) + 1)|0; HEAP32[(1242960)>>2] = $39; $$0 = 1; return ($$0|0); } function _LocalPlayer_HandleRespawn() { var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP8[(1242631)>>0]|0; $1 = ($0<<24>>24)==(0); if ($1) { $2 = HEAP8[(1242988)>>0]|0; $3 = ($2<<24>>24)==(0); if ($3) { HEAP8[(1242988)>>0] = 1; $4 = HEAP8[1408218]|0; $5 = ($4<<24>>24)==(0); if ($5) { $$0 = 0; } else { _Chat_AddRaw(22663); $$0 = 0; } } else { $$0 = 0; } } else { _LocalPlayer_DoRespawn(); $$0 = 1; } return ($$0|0); } function _LocalPlayer_HandleSetSpawn() { var $$0 = 0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0; var label = 0, sp = 0; sp = STACKTOP; $0 = HEAP8[(1242631)>>0]|0; $1 = ($0<<24>>24)==(0); if (!($1)) { $2 = HEAP8[(1242632)>>0]|0; $3 = HEAP8[(1242263)>>0]|0; $4 = $3 | $2; $5 = ($4<<24>>24)==(0); if ($5) { _Chat_AddRaw(22613); $$0 = 0; return ($$0|0); } $6 = ($2<<24>>24)==(0); if ($6) { ;HEAP32[(1242580)>>2]=HEAP32[(1242156)>>2]|0;HEAP32[(1242580)+4>>2]=HEAP32[(1242156)+4>>2]|0;HEAP32[(1242580)+8>>2]=HEAP32[(1242156)+8>>2]|0; } else { $7 = +HEAPF32[(1242156)>>2]; $8 = (_Math_Floor($7)|0); $9 = (+($8|0)); $10 = $9 + 0.5; HEAPF32[(1242580)>>2] = $10; $11 = HEAP32[(1242160)>>2]|0; HEAP32[(1242584)>>2] = $11; $12 = +HEAPF32[(1242164)>>2]; $13 = (_Math_Floor($12)|0); $14 = (+($13|0)); $15 = $14 + 0.5; HEAPF32[(1242588)>>2] = $15; } $16 = HEAP32[(1242172)>>2]|0; HEAP32[(1242604)>>2] = $16; $17 = HEAP32[(1242168)>>2]|0; HEAP32[(1242608)>>2] = $17; } $18 = (_LocalPlayer_HandleRespawn()|0); $$0 = $18; return ($$0|0); } function _LocalPlayer_HandleFly() { var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP8[(1242630)>>0]|0; $1 = ($0<<24>>24)==(0); $2 = HEAP8[(1242626)>>0]|0; $3 = ($2<<24>>24)==(0); $or$cond = $1 | $3; if (!($or$cond)) { $4 = HEAP8[(1242651)>>0]|0; $5 = ($4<<24>>24)==(0); $6 = $5&1; HEAP8[(1242651)>>0] = $6; $$0 = 1; return ($$0|0); } $7 = HEAP8[(1242989)>>0]|0; $8 = ($7<<24>>24)==(0); if (!($8)) { $$0 = 0; return ($$0|0); } HEAP8[(1242989)>>0] = 1; $9 = HEAP8[1408218]|0; $10 = ($9<<24>>24)==(0); if ($10) { $$0 = 0; return ($$0|0); } _Chat_AddRaw(22582); $$0 = 0; return ($$0|0); } function _LocalPlayer_HandleNoClip() { var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP8[(1242632)>>0]|0; $1 = ($0<<24>>24)==(0); $2 = HEAP8[(1242626)>>0]|0; $3 = ($2<<24>>24)==(0); $or$cond = $1 | $3; if ($or$cond) { $9 = HEAP8[(1242990)>>0]|0; $10 = ($9<<24>>24)==(0); if (!($10)) { $$0 = 0; return ($$0|0); } HEAP8[(1242990)>>0] = 1; $11 = HEAP8[1408218]|0; $12 = ($11<<24>>24)==(0); if ($12) { $$0 = 0; return ($$0|0); } _Chat_AddRaw(22551); $$0 = 0; return ($$0|0); } else { $4 = HEAP8[(1242649)>>0]|0; $5 = ($4<<24>>24)==(0); if (!($5)) { $$0 = 1; return ($$0|0); } $6 = HEAP8[(1242650)>>0]|0; $7 = ($6<<24>>24)==(0); if (!($7)) { HEAPF32[(1242192)>>2] = 0.0; } $8 = $7&1; HEAP8[(1242650)>>0] = $8; $$0 = 1; return ($$0|0); } return (0)|0; } function _LocalPlayer_DoRespawn() { var $$029 = 0, $$byval_copy = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; var $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0; var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; $$byval_copy = sp + 80|0; $0 = sp + 48|0; $1 = sp + 24|0; $2 = sp + 12|0; $3 = sp; ;HEAP32[$2>>2]=HEAP32[(1242580)>>2]|0;HEAP32[$2+4>>2]=HEAP32[(1242580)+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[(1242580)+8>>2]|0; $4 = HEAP32[351863]|0; $5 = ($4|0)==(0|0); if ($5) { STACKTOP = sp;return; } _IVec3_Floor($3,$2); $6 = HEAP8[(1242632)>>0]|0; $7 = ($6<<24>>24)==(0); L4: do { if (!($7)) { _AABB_Make($1,$2,(1242244)); $8 = ((($3)) + 4|0); $9 = HEAP32[$8>>2]|0; $10 = HEAP32[(1407468)>>2]|0; $11 = ($9|0)>($10|0); if (!($11)) { $12 = ((($1)) + 4|0); $13 = ((($1)) + 16|0); $$029 = $9; while(1) { $14 = (+_Respawn_HighestSolidY($1)); $15 = $14 == -1.0E+5; if ($15) { break; } $31 = +HEAPF32[$12>>2]; $32 = $31 + 1.0; HEAPF32[$12>>2] = $32; $33 = +HEAPF32[$13>>2]; $34 = $33 + 1.0; HEAPF32[$13>>2] = $34; $35 = (($$029) + 1)|0; $36 = HEAP32[(1407468)>>2]|0; $37 = ($$029|0)<($36|0); if ($37) { $$029 = $35; } else { break L4; } } $16 = HEAP32[$3>>2]|0; $17 = ((($3)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = (_World_SafeGetBlock($16,$$029,$18)|0); $20 = $19&65535; $21 = (578052 + ($20)|0); $22 = HEAP8[$21>>0]|0; $23 = ($22<<24>>24)==(2); if ($23) { $24 = (((597252 + (($20*12)|0)|0)) + 4|0); $25 = +HEAPF32[$24>>2]; $28 = $25; } else { $28 = 0.0; } $26 = (+($$029|0)); $27 = $28 + $26; $29 = $27 + 0.0010000000474974513; $30 = ((($2)) + 4|0); HEAPF32[$30>>2] = $29; } } } while(0); $38 = ((($2)) + 4|0); $39 = +HEAPF32[$38>>2]; $40 = $39 + 0.125; HEAPF32[$38>>2] = $40; $41 = +HEAPF32[(1242604)>>2]; $42 = +HEAPF32[(1242608)>>2]; ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$2+8>>2]|0; _LocationUpdate_MakePosAndOri($0,$$byval_copy,$41,$42,0); $43 = HEAP32[310538]|0; $44 = ((($43)) + 8|0); $45 = HEAP32[$44>>2]|0; FUNCTION_TABLE_viii[$45 & 31](1242152,$0,0); HEAPF32[(1242188)>>2] = 0.0; HEAPF32[(1242192)>>2] = 0.0; HEAPF32[(1242196)>>2] = 0.0; _Entity_GetBounds(1242152,$1); $46 = ((($1)) + 4|0); $47 = +HEAPF32[$46>>2]; $48 = $47 + -0.0099999997764825821; HEAPF32[$46>>2] = $48; $49 = ((($1)) + 16|0); HEAPF32[$49>>2] = $48; $50 = (_Entity_TouchesAny($1,9)|0); HEAP8[(1242263)>>0] = $50; STACKTOP = sp;return; } function _LocalPlayer_IsSolidCollide($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = $0&65535; $2 = (578052 + ($1)|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)==(2); $5 = $4&1; return ($5|0); } function _NetPlayer_Init($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _Mem_Set($0,0,872); _Entity_Init($0); HEAP32[$0>>2] = 11292; return; } function _AnimatedComp_Update($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = +$3; var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0; var $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; var $49 = 0, $5 = 0.0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0, $phitmp = 0, $phitmp41 = 0, $phitmp42 = 0, $storemerge = 0.0; var label = 0, sp = 0; sp = STACKTOP; $4 = +HEAPF32[$2>>2]; $5 = +HEAPF32[$1>>2]; $6 = $4 - $5; $7 = ((($2)) + 8|0); $8 = +HEAPF32[$7>>2]; $9 = ((($1)) + 8|0); $10 = +HEAPF32[$9>>2]; $11 = $8 - $10; $12 = $6 * $6; $13 = $11 * $11; $14 = $12 + $13; $15 = (+_Math_SqrtF($14)); $16 = ((($0)) + 220|0); $17 = HEAP32[$16>>2]|0; $18 = ((($0)) + 216|0); HEAP32[$18>>2] = $17; $19 = ((($0)) + 228|0); $20 = HEAP32[$19>>2]|0; $21 = ((($0)) + 224|0); HEAP32[$21>>2] = $20; $22 = $15 > 0.05000000074505806; if ($22) { $23 = $15 * 2.0; $24 = $3 * 20.0; $25 = $24; $26 = $23 * $25; $27 = +HEAPF32[$16>>2]; $28 = $26 + $27; HEAPF32[$16>>2] = $28; $29 = $3; $30 = $29 * 3.0; $31 = +HEAPF32[$19>>2]; $32 = $30 + $31; $storemerge = $32; } else { $33 = $3; $34 = $33 * 3.0; $35 = +HEAPF32[$19>>2]; $36 = $35 - $34; $storemerge = $36; } $37 = $storemerge < 0.0; $38 = $37 ? 0.0 : $storemerge; $39 = $38 > 1.0; $40 = $39 ? 1.0 : $38; HEAPF32[$19>>2] = $40; $41 = ((($0)) + 236|0); $42 = HEAP32[$41>>2]|0; $43 = ((($0)) + 232|0); HEAP32[$43>>2] = $42; $44 = ((($0)) + 111|0); $45 = HEAP8[1408237]|0; $46 = ($45<<24>>24)==(0); if ($46) { $49 = 1; } else { $47 = HEAP8[$44>>0]|0; $48 = ($47<<24>>24)==(0); $phitmp = $48&1; $49 = $phitmp; } _AnimatedComp_DoTilt($41,$49); $50 = HEAP8[1408237]|0; $51 = ($50<<24>>24)==(0); if ($51) { $54 = 1; } else { $52 = HEAP8[$44>>0]|0; $53 = ($52<<24>>24)==(0); $phitmp41 = $53&1; $54 = $phitmp41; } _AnimatedComp_DoTilt($41,$54); $55 = HEAP8[1408237]|0; $56 = ($55<<24>>24)==(0); if ($56) { $59 = 1; _AnimatedComp_DoTilt($41,$59); return; } $57 = HEAP8[$44>>0]|0; $58 = ($57<<24>>24)==(0); $phitmp42 = $58&1; $59 = $phitmp42; _AnimatedComp_DoTilt($41,$59); return; } function _AnimatedComp_DoTilt($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, $storemerge = 0.0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1<<24>>24)==(0); $3 = +HEAPF32[$0>>2]; $4 = $3 + 0.10000000149011612; $5 = $3 * 0.8399999737739563; $storemerge = $2 ? $4 : $5; $6 = $storemerge < 0.0; $7 = $6 ? 0.0 : $storemerge; $8 = $7 > 1.0; $9 = $8 ? 1.0 : $7; HEAPF32[$0>>2] = $9; return; } function _AnimatedComp_GetCurrent($0,$1) { $0 = $0|0; $1 = +$1; var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0; var $29 = 0, $3 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0; var $47 = 0, $48 = 0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0; var $65 = 0.0, $66 = 0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0.0, $80 = 0, $9 = 0.0, $or$cond = 0; var label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 192|0); $3 = +HEAPF64[(535480)>>3]; $4 = $3; $5 = $4 * 1.2566370964050293; $6 = (+_Math_SinF($5)); $7 = $6 * 0.052359879016876221; $8 = $4 * 1.7951958179473877; $9 = (+_Math_CosF($8)); $10 = $9 * 0.052359879016876221; $11 = $10 + 0.052359879016876221; $12 = ((($0)) + 224|0); $13 = +HEAPF32[$12>>2]; $14 = ((($0)) + 228|0); $15 = +HEAPF32[$14>>2]; $16 = (+_Math_Lerp($13,$15,$1)); $17 = ((($0)) + 208|0); HEAPF32[$17>>2] = $16; $18 = ((($0)) + 216|0); $19 = +HEAPF32[$18>>2]; $20 = ((($0)) + 220|0); $21 = +HEAPF32[$20>>2]; $22 = (+_Math_Lerp($19,$21,$1)); $23 = ((($0)) + 204|0); HEAPF32[$23>>2] = $22; $24 = ((($0)) + 232|0); $25 = +HEAPF32[$24>>2]; $26 = ((($0)) + 236|0); $27 = +HEAPF32[$26>>2]; $28 = (+_Math_Lerp($25,$27,$1)); $29 = ((($0)) + 212|0); HEAPF32[$29>>2] = $28; $30 = +HEAPF32[$23>>2]; $31 = (+_Math_CosF($30)); $32 = +HEAPF32[$17>>2]; $33 = $31 * $32; $34 = $33 * 1.0471975803375244; $35 = $34 - $7; $36 = ((($0)) + 256|0); HEAPF32[$36>>2] = $35; $37 = - $11; $38 = ((($0)) + 260|0); HEAPF32[$38>>2] = $37; $39 = +HEAPF32[$23>>2]; $40 = (+_Math_CosF($39)); $41 = +HEAPF32[$17>>2]; $42 = $40 * $41; $43 = $42 * 1.3962633609771729; $44 = - $43; $45 = ((($0)) + 240|0); HEAPF32[$45>>2] = $44; $46 = ((($0)) + 244|0); HEAPF32[$46>>2] = 0.0; $47 = ((($0)) + 248|0); HEAPF32[$47>>2] = $43; $48 = ((($0)) + 252|0); HEAPF32[$48>>2] = -0.0; $49 = +HEAPF32[$36>>2]; $50 = - $49; $51 = ((($0)) + 264|0); HEAPF32[$51>>2] = $50; $52 = +HEAPF32[$38>>2]; $53 = - $52; $54 = ((($0)) + 268|0); HEAPF32[$54>>2] = $53; $55 = +HEAPF32[$23>>2]; $56 = (+_Math_CosF($55)); $57 = +HEAPF32[$17>>2]; $58 = $56 * $57; $59 = $58 * 0.15625; HEAPF32[$2>>2] = $59; $60 = +HEAPF32[$23>>2]; $61 = (+_Math_SinF($60)); $62 = (+_Math_AbsF($61)); $63 = +HEAPF32[$17>>2]; $64 = $62 * $63; $65 = $64 * 0.15625; $66 = ((($0)) + 196|0); HEAPF32[$66>>2] = $65; $67 = +HEAPF32[$23>>2]; $68 = (+_Math_CosF($67)); $69 = (+_Math_AbsF($68)); $70 = +HEAPF32[$17>>2]; $71 = $69 * $70; $72 = $71 * 0.25; $73 = ((($0)) + 200|0); HEAPF32[$73>>2] = $72; $74 = ((($0)) + 48|0); $75 = HEAP32[$74>>2]|0; $76 = ((($75)) + 45|0); $77 = HEAP8[$76>>0]|0; $78 = ($77<<24>>24)==(0); $79 = HEAP8[1408232]|0; $80 = ($79<<24>>24)!=(0); $or$cond = $78 | $80; if ($or$cond) { return; } _AnimatedComp_CalcHumanAnim($2,$7,$11); return; } function _AnimatedComp_CalcHumanAnim($0,$1,$2) { $0 = $0|0; $1 = +$1; $2 = +$2; var $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, label = 0, sp = 0; sp = STACKTOP; _AnimatedComp_PerpendicularAnim($0,0.23000000417232513,$1,$2,1); _AnimatedComp_PerpendicularAnim($0,0.2800000011920929,$1,$2,0); $3 = ((($0)) + 72|0); $4 = +HEAPF32[$3>>2]; $5 = - $4; HEAPF32[$3>>2] = $5; $6 = ((($0)) + 76|0); $7 = +HEAPF32[$6>>2]; $8 = - $7; HEAPF32[$6>>2] = $8; return; } function _AnimatedComp_PerpendicularAnim($0,$1,$2,$3,$4) { $0 = $0|0; $1 = +$1; $2 = +$2; $3 = +$3; $4 = $4|0; var $$sink = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $5 = 0; var $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $5 = ((($0)) + 12|0); $6 = +HEAPF32[$5>>2]; $7 = $6 * $1; $8 = (+_Math_SinF($7)); $9 = $8 * 0.5; $10 = $9 + 0.5; $11 = +HEAPF32[$5>>2]; $12 = (+_Math_CosF($11)); $13 = - $3; $14 = ((($0)) + 16|0); $15 = +HEAPF32[$14>>2]; $16 = $10 * $15; $17 = $16 * 1.9198621511459351; $18 = $13 - $17; $19 = $12 * $15; $20 = $19 * 1.0471975803375244; $21 = $20 * 1.5; $22 = $21 + $2; $23 = ($4<<24>>24)==(0); if ($23) { $26 = ((($0)) + 72|0); HEAPF32[$26>>2] = $22; $27 = ((($0)) + 76|0); $$sink = $27; HEAPF32[$$sink>>2] = $18; return; } else { $24 = ((($0)) + 64|0); HEAPF32[$24>>2] = $22; $25 = ((($0)) + 68|0); $$sink = $25; HEAPF32[$$sink>>2] = $18; return; } } function _TiltComp_Init($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; HEAPF32[$0>>2] = 0.0; $1 = ((($0)) + 4|0); HEAPF32[$1>>2] = 0.0; $2 = ((($0)) + 8|0); HEAPF32[$2>>2] = 1.0; $3 = ((($0)) + 12|0); HEAPF32[$3>>2] = 1.0; $4 = ((($0)) + 16|0); HEAPF32[$4>>2] = 1.0; return; } function _TiltComp_Update($0,$1) { $0 = $0|0; $1 = +$1; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 16|0); $3 = HEAP32[$2>>2]|0; $4 = ((($0)) + 12|0); HEAP32[$4>>2] = $3; $5 = HEAP8[(1242656)>>0]|0; _AnimatedComp_DoTilt($2,$5); $6 = HEAP8[(1242656)>>0]|0; _AnimatedComp_DoTilt($2,$6); $7 = HEAP8[(1242656)>>0]|0; _AnimatedComp_DoTilt($2,$7); return; } function _TiltComp_GetCurrent($0,$1) { $0 = $0|0; $1 = +$1; var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 12|0); $3 = +HEAPF32[$2>>2]; $4 = ((($0)) + 16|0); $5 = +HEAPF32[$4>>2]; $6 = (+_Math_Lerp($3,$5,$1)); $7 = ((($0)) + 8|0); HEAPF32[$7>>2] = $6; $8 = +HEAPF32[(1242356)>>2]; $9 = (+_Math_CosF($8)); $10 = +HEAPF32[(1242360)>>2]; $11 = $9 * $10; $12 = $11 * 0.0026179938577115536; HEAPF32[$0>>2] = $12; $13 = +HEAPF32[(1242356)>>2]; $14 = (+_Math_SinF($13)); $15 = +HEAPF32[(1242360)>>2]; $16 = $14 * $15; $17 = $16 * 0.0026179938577115536; $18 = ((($0)) + 4|0); HEAPF32[$18>>2] = $17; return; } function _HacksComp_Init($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; _Mem_Set($0,0,180); _HacksComp_SetAll($0,1); $1 = ((($0)) + 4|0); HEAPF32[$1>>2] = 10.0; $2 = ((($0)) + 10|0); HEAP8[$2>>0] = 1; HEAP8[$0>>0] = 1; $3 = ((($0)) + 18|0); HEAP8[$3>>0] = 1; $4 = ((($0)) + 19|0); HEAP8[$4>>0] = 1; $5 = ((($0)) + 24|0); HEAPF32[$5>>2] = 1.0; $6 = ((($0)) + 28|0); HEAP32[$6>>2] = 1; $7 = ((($0)) + 32|0); HEAP8[$7>>0] = 1; $8 = ((($0)) + 20|0); HEAP8[$8>>0] = 1; $9 = ((($0)) + 52|0); $10 = ((($0)) + 44|0); HEAP32[$10>>2] = $9; $11 = ((($0)) + 48|0); HEAP16[$11>>1] = 0; $12 = ((($0)) + 50|0); HEAP16[$12>>1] = 128; return; } function _HacksComp_SetAll($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 11|0); _memset(($2|0),($1|0),7)|0; return; } function _HacksComp_CanJumpHigher($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 10|0); $2 = HEAP8[$1>>0]|0; $3 = ($2<<24>>24)==(0); if ($3) { $7 = 0; return ($7|0); } $4 = ((($0)) + 13|0); $5 = HEAP8[$4>>0]|0; $6 = ($5<<24>>24)!=(0); $phitmp = $6&1; $7 = $phitmp; return ($7|0); } function _HacksComp_SetUserType($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ($1&255)>(99); $4 = ($1<<24>>24)>(-1); $5 = $3 & $4; $6 = $5&1; HEAP8[$0>>0] = $6; $7 = ($2<<24>>24)==(0); if ($7) { return; } HEAP8[(634891)>>0] = $6; _memset(((634123)|0),($6|0),5)|0; return; } function _HacksComp_RecheckFlags($0) { $0 = $0|0; var $$lobit = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 44|0); $2 = (_String_IndexOfString($1,11392)|0); $$lobit = (31)?($2 >>> 31):($2); $3 = $$lobit&255; _HacksComp_SetAll($0,$3); $4 = ((($0)) + 20|0); HEAP8[$4>>0] = 1; $5 = ((($0)) + 14|0); _HacksComp_ParseFlag($0,22698,22703,$5); $6 = ((($0)) + 16|0); _HacksComp_ParseFlag($0,22708,22716,$6); $7 = ((($0)) + 13|0); _HacksComp_ParseFlag($0,22724,22731,$7); $8 = ((($0)) + 15|0); _HacksComp_ParseFlag($0,22738,22747,$8); _HacksComp_ParseFlag($0,22756,22762,$4); $9 = HEAP8[$0>>0]|0; $10 = ($9<<24>>24)==(0); if (!($10)) { _HacksComp_ParseAllFlag($0); } $11 = (+_HacksComp_ParseFlagFloat($0)); $12 = ((($0)) + 24|0); HEAPF32[$12>>2] = $11; $13 = (_HacksComp_ParseFlagInt($0)|0); $14 = ((($0)) + 28|0); HEAP32[$14>>2] = $13; _HacksComp_Update($0); return; } function _HacksComp_ParseFlag($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$sink = 0, $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $4 = sp + 8|0; $5 = sp; _String_FromReadonly($4,$1); _String_FromReadonly($5,$2); $6 = ((($0)) + 44|0); $7 = (_String_IndexOfString($6,$4)|0); $8 = ($7|0)>(-1); if ($8) { $$sink = 1; } else { $9 = (_String_IndexOfString($6,$5)|0); $10 = ($9|0)>(-1); if ($10) { $$sink = 0; } else { STACKTOP = sp;return; } } HEAP8[$3>>0] = $$sink; STACKTOP = sp;return; } function _HacksComp_ParseAllFlag($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp + 8|0; $2 = sp; _String_FromReadonly($1,22785); _String_FromReadonly($2,22792); $3 = ((($0)) + 44|0); $4 = (_String_IndexOfString($3,$1)|0); $5 = ($4|0)>(-1); if ($5) { _HacksComp_SetAll($0,1); STACKTOP = sp;return; } $6 = (_String_IndexOfString($3,$2)|0); $7 = ($6|0)>(-1); if (!($7)) { STACKTOP = sp;return; } _HacksComp_SetAll($0,0); STACKTOP = sp;return; } function _HacksComp_ParseFlagFloat($0) { $0 = $0|0; var $$0 = 0.0, $1 = 0, $10 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $spec$select = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp + 8|0; $2 = sp; _HacksComp_UNSAFE_FlagValue($1,22775,$0); $3 = ((($1)) + 4|0); $4 = HEAP16[$3>>1]|0; $5 = ($4<<16>>16)!=(0); $6 = HEAP8[1408229]|0; $7 = ($6<<24>>24)==(0); $or$cond = $5 & $7; if (!($or$cond)) { $$0 = 1.0; STACKTOP = sp;return (+$$0); } $8 = (_Convert_ParseFloat($1,$2)|0); $9 = ($8<<24>>24)==(0); $10 = +HEAPF32[$2>>2]; $spec$select = $9 ? 1.0 : $10; $$0 = $spec$select; STACKTOP = sp;return (+$$0); } function _HacksComp_ParseFlagInt($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp + 8|0; $2 = sp; _HacksComp_UNSAFE_FlagValue($1,22768,$0); $3 = ((($1)) + 4|0); $4 = HEAP16[$3>>1]|0; $5 = ($4<<16>>16)!=(0); $6 = HEAP8[1408229]|0; $7 = ($6<<24>>24)==(0); $or$cond = $5 & $7; if (!($or$cond)) { $$0 = 1; STACKTOP = sp;return ($$0|0); } $8 = (_Convert_ParseInt($1,$2)|0); $9 = ($8<<24>>24)==(0); $10 = HEAP32[$2>>2]|0; $spec$select = $9 ? 1 : $10; $$0 = $spec$select; STACKTOP = sp;return ($$0|0); } function _HacksComp_Update($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $narrow = 0, $phitmp18 = 0, $spec$select = 0, label = 0; var sp = 0; sp = STACKTOP; $1 = ((($0)) + 14|0); $2 = HEAP8[$1>>0]|0; $3 = ($2<<24>>24)==(0); if ($3) { label = 3; } else { $4 = ((($0)) + 10|0); $5 = HEAP8[$4>>0]|0; $6 = ($5<<24>>24)==(0); if ($6) { label = 3; } } if ((label|0) == 3) { $7 = ((($0)) + 35|0); HEAP8[$7>>0] = 0; $8 = ((($0)) + 37|0); HEAP8[$8>>0] = 0; $9 = ((($0)) + 36|0); HEAP8[$9>>0] = 0; } $10 = ((($0)) + 16|0); $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { label = 6; } else { $13 = ((($0)) + 10|0); $14 = HEAP8[$13>>0]|0; $15 = ($14<<24>>24)==(0); if ($15) { label = 6; } } if ((label|0) == 6) { $16 = ((($0)) + 34|0); HEAP8[$16>>0] = 0; } $17 = ((($0)) + 13|0); $18 = HEAP8[$17>>0]|0; $19 = ($18<<24>>24)==(0); if ($19) { label = 9; } else { $20 = ((($0)) + 10|0); $21 = HEAP8[$20>>0]|0; $22 = ($21<<24>>24)==(0); if ($22) { label = 9; } } if ((label|0) == 9) { $23 = ((($0)) + 38|0); HEAP8[$23>>0] = 0; $24 = ((($0)) + 39|0); HEAP8[$24>>0] = 0; } $25 = ((($0)) + 10|0); $26 = HEAP8[$25>>0]|0; $27 = ($26<<24>>24)!=(0); $28 = ($18<<24>>24)!=(0); $narrow = $28 & $27; $spec$select = $narrow&1; $29 = ((($0)) + 19|0); HEAP8[$29>>0] = $spec$select; $30 = ((($0)) + 11|0); $31 = HEAP8[$30>>0]|0; $32 = ($31<<24>>24)==(0); if ($32) { $36 = 0; $35 = ((($0)) + 18|0); HEAP8[$35>>0] = $36; _Event_RaiseVoid((1252636)); return; } $33 = HEAP8[$0>>0]|0; $34 = ($33<<24>>24)!=(0); $phitmp18 = $34&1; $36 = $phitmp18; $35 = ((($0)) + 18|0); HEAP8[$35>>0] = $36; _Event_RaiseVoid((1252636)); return; } function _HacksComp_UNSAFE_FlagValue($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $3 = sp; $4 = ((($2)) + 44|0); _String_FromReadonly($3,$1); $5 = (_String_IndexOfString($4,$3)|0); $6 = ($5|0)<(0); if ($6) { $7 = 1384616; $8 = $7; $9 = HEAP32[$8>>2]|0; $10 = (($7) + 4)|0; $11 = $10; $12 = HEAP32[$11>>2]|0; $13 = $0; $14 = $13; HEAP32[$14>>2] = $9; $15 = (($13) + 4)|0; $16 = $15; HEAP32[$16>>2] = $12; STACKTOP = sp;return; } $17 = ((($3)) + 4|0); $18 = HEAP16[$17>>1]|0; $19 = $18&65535; $20 = (($5) + ($19))|0; $21 = (_String_IndexOfAt($4,$20,32)|0); $22 = ($21|0)<(0); if ($22) { $23 = ((($2)) + 48|0); $24 = HEAP16[$23>>1]|0; $25 = $24&65535; $$0 = $25; } else { $$0 = $21; } $26 = (($$0) - ($20))|0; _String_UNSAFE_Substring($0,$4,$20,$26); STACKTOP = sp;return; } function _InterpComp_LerpAngles($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = +$2; var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0; var $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ((($0)) + 12|0); $4 = +HEAPF32[$3>>2]; $5 = ((($0)) + 40|0); $6 = +HEAPF32[$5>>2]; $7 = (+_Math_LerpAngle($4,$6,$2)); $8 = ((($1)) + 16|0); HEAPF32[$8>>2] = $7; $9 = ((($0)) + 16|0); $10 = +HEAPF32[$9>>2]; $11 = ((($0)) + 44|0); $12 = +HEAPF32[$11>>2]; $13 = (+_Math_LerpAngle($10,$12,$2)); $14 = ((($1)) + 20|0); HEAPF32[$14>>2] = $13; $15 = ((($0)) + 20|0); $16 = +HEAPF32[$15>>2]; $17 = ((($0)) + 48|0); $18 = +HEAPF32[$17>>2]; $19 = (+_Math_LerpAngle($16,$18,$2)); $20 = ((($1)) + 24|0); HEAPF32[$20>>2] = $19; $21 = ((($0)) + 56|0); $22 = +HEAPF32[$21>>2]; $23 = ((($0)) + 60|0); $24 = +HEAPF32[$23>>2]; $25 = (+_Math_LerpAngle($22,$24,$2)); $26 = ((($1)) + 28|0); HEAPF32[$26>>2] = $25; $27 = ((($0)) + 24|0); $28 = +HEAPF32[$27>>2]; $29 = ((($0)) + 52|0); $30 = +HEAPF32[$29>>2]; $31 = (+_Math_LerpAngle($28,$30,$2)); $32 = ((($1)) + 32|0); HEAPF32[$32>>2] = $31; return; } function _NetInterpComp_SetLocation($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0.0; var $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0.0, $64 = 0.0; var $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; $$byval_copy1 = sp + 56|0; $3 = sp + 28|0; $4 = sp; $5 = ((($0)) + 128|0); ;HEAP32[$3>>2]=HEAP32[$5>>2]|0;HEAP32[$3+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$3+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$3+16>>2]=HEAP32[$5+16>>2]|0;HEAP32[$3+20>>2]=HEAP32[$5+20>>2]|0;HEAP32[$3+24>>2]=HEAP32[$5+24>>2]|0; $6 = ((($1)) + 28|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; $9 = $8 & 1; $10 = ($9|0)==(0); if (!($10)) { _InterpComp_SetPos($5,$1); } $11 = $8 & 8; $12 = ($11|0)==(0); if (!($12)) { $13 = ((($1)) + 20|0); $14 = HEAP32[$13>>2]|0; $15 = ((($0)) + 148|0); HEAP32[$15>>2] = $14; } $16 = $8 & 16; $17 = ($16|0)==(0); if (!($17)) { $18 = ((($1)) + 24|0); $19 = HEAP32[$18>>2]|0; $20 = ((($0)) + 152|0); HEAP32[$20>>2] = $19; } $21 = $8 & 2; $22 = ($21|0)==(0); if (!($22)) { $23 = ((($1)) + 12|0); $24 = HEAP32[$23>>2]|0; $25 = ((($0)) + 140|0); HEAP32[$25>>2] = $24; } $26 = $8 & 4; $27 = ($26|0)==(0); if (!($27)) { $28 = ((($1)) + 16|0); $29 = HEAP32[$28>>2]|0; $30 = ((($0)) + 144|0); HEAP32[$30>>2] = $29; } $31 = ($2<<24>>24)==(0); if ($31) { ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$5+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$5+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$5+24>>2]|0; $32 = ((($0)) + 144|0); $33 = HEAP32[$32>>2]|0; $34 = ((($0)) + 56|0); HEAP32[$34>>2] = $33; $35 = ((($0)) + 28|0); ;HEAP32[$35>>2]=HEAP32[$5>>2]|0;HEAP32[$35+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$35+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$35+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$35+16>>2]=HEAP32[$5+16>>2]|0;HEAP32[$35+20>>2]=HEAP32[$5+20>>2]|0;HEAP32[$35+24>>2]=HEAP32[$5+24>>2]|0; $36 = ((($0)) + 60|0); HEAP32[$36>>2] = $33; $37 = ((($0)) + 64|0); HEAP32[$37>>2] = 0; $38 = ((($0)) + 156|0); HEAP32[$38>>2] = 0; STACKTOP = sp;return; } else { _Vec3_Lerp($4,$3,$5,0.5); $39 = ((($3)) + 20|0); $40 = +HEAPF32[$39>>2]; $41 = ((($0)) + 148|0); $42 = +HEAPF32[$41>>2]; $43 = (+_Math_LerpAngle($40,$42,0.5)); $44 = ((($4)) + 20|0); HEAPF32[$44>>2] = $43; $45 = ((($3)) + 24|0); $46 = +HEAPF32[$45>>2]; $47 = ((($0)) + 152|0); $48 = +HEAPF32[$47>>2]; $49 = (+_Math_LerpAngle($46,$48,0.5)); $50 = ((($4)) + 24|0); HEAPF32[$50>>2] = $49; $51 = ((($3)) + 12|0); $52 = +HEAPF32[$51>>2]; $53 = ((($0)) + 140|0); $54 = +HEAPF32[$53>>2]; $55 = (+_Math_LerpAngle($52,$54,0.5)); $56 = ((($4)) + 12|0); HEAPF32[$56>>2] = $55; $57 = ((($3)) + 16|0); $58 = +HEAPF32[$57>>2]; $59 = ((($0)) + 144|0); $60 = +HEAPF32[$59>>2]; $61 = (+_Math_LerpAngle($58,$60,0.5)); $62 = ((($4)) + 16|0); HEAPF32[$62>>2] = $61; ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[$$byval_copy1+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[$$byval_copy1+24>>2]=HEAP32[$4+24>>2]|0; _NetInterpComp_AddState($0,$$byval_copy1); ;HEAP32[$$byval_copy1>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$5+16>>2]|0;HEAP32[$$byval_copy1+20>>2]=HEAP32[$5+20>>2]|0;HEAP32[$$byval_copy1+24>>2]=HEAP32[$5+24>>2]|0; _NetInterpComp_AddState($0,$$byval_copy1); $63 = +HEAPF32[$57>>2]; $64 = +HEAPF32[$59>>2]; $65 = (+_Math_LerpAngle($63,$64,0.3333333432674408)); _InterpComp_AddRotY($0,$65); $66 = +HEAPF32[$57>>2]; $67 = +HEAPF32[$59>>2]; $68 = (+_Math_LerpAngle($66,$67,0.66666668653488159)); _InterpComp_AddRotY($0,$68); $69 = +HEAPF32[$57>>2]; $70 = +HEAPF32[$59>>2]; $71 = (+_Math_LerpAngle($69,$70,1.0)); _InterpComp_AddRotY($0,$71); STACKTOP = sp;return; } } function _InterpComp_SetPos($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($1)) + 29|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)==(0); if ($4) { ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$1+8>>2]|0; return; } else { _Vec3_Add_191($0,$0,$1); return; } } function _NetInterpComp_AddState($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 156|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(10); if ($4) { _NetInterpComp_RemoveOldestState($0); } $5 = HEAP32[$2>>2]|0; $6 = (((($0)) + 160|0) + (($5*28)|0)|0); ;HEAP32[$6>>2]=HEAP32[$1>>2]|0;HEAP32[$6+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$6+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$6+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$6+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$6+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[$6+24>>2]=HEAP32[$1+24>>2]|0; $7 = HEAP32[$2>>2]|0; $8 = (($7) + 1)|0; HEAP32[$2>>2] = $8; return; } function _InterpComp_AddRotY($0,$1) { $0 = $0|0; $1 = +$1; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 64|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(15); if ($4) { _InterpComp_RemoveOldestRotY($0); } $5 = HEAP32[$2>>2]|0; $6 = (((($0)) + 68|0) + ($5<<2)|0); HEAPF32[$6>>2] = $1; $7 = (($5) + 1)|0; HEAP32[$2>>2] = $7; return; } function _InterpComp_RemoveOldestRotY($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; var $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 72|0); $2 = HEAP32[$1>>2]|0; $3 = ((($0)) + 68|0); HEAP32[$3>>2] = $2; $4 = ((($0)) + 76|0); $5 = HEAP32[$4>>2]|0; $6 = ((($0)) + 72|0); HEAP32[$6>>2] = $5; $7 = ((($0)) + 80|0); $8 = HEAP32[$7>>2]|0; $9 = ((($0)) + 76|0); HEAP32[$9>>2] = $8; $10 = ((($0)) + 84|0); $11 = HEAP32[$10>>2]|0; $12 = ((($0)) + 80|0); HEAP32[$12>>2] = $11; $13 = ((($0)) + 88|0); $14 = HEAP32[$13>>2]|0; $15 = ((($0)) + 84|0); HEAP32[$15>>2] = $14; $16 = ((($0)) + 92|0); $17 = HEAP32[$16>>2]|0; $18 = ((($0)) + 88|0); HEAP32[$18>>2] = $17; $19 = ((($0)) + 96|0); $20 = HEAP32[$19>>2]|0; $21 = ((($0)) + 92|0); HEAP32[$21>>2] = $20; $22 = ((($0)) + 100|0); $23 = HEAP32[$22>>2]|0; $24 = ((($0)) + 96|0); HEAP32[$24>>2] = $23; $25 = ((($0)) + 104|0); $26 = HEAP32[$25>>2]|0; $27 = ((($0)) + 100|0); HEAP32[$27>>2] = $26; $28 = ((($0)) + 108|0); $29 = HEAP32[$28>>2]|0; $30 = ((($0)) + 104|0); HEAP32[$30>>2] = $29; $31 = ((($0)) + 112|0); $32 = HEAP32[$31>>2]|0; $33 = ((($0)) + 108|0); HEAP32[$33>>2] = $32; $34 = ((($0)) + 116|0); $35 = HEAP32[$34>>2]|0; $36 = ((($0)) + 112|0); HEAP32[$36>>2] = $35; $37 = ((($0)) + 120|0); $38 = HEAP32[$37>>2]|0; $39 = ((($0)) + 116|0); HEAP32[$39>>2] = $38; $40 = ((($0)) + 124|0); $41 = HEAP32[$40>>2]|0; $42 = ((($0)) + 120|0); HEAP32[$42>>2] = $41; $43 = ((($0)) + 128|0); $44 = HEAP32[$43>>2]|0; $45 = ((($0)) + 124|0); HEAP32[$45>>2] = $44; $46 = ((($0)) + 64|0); $47 = HEAP32[$46>>2]|0; $48 = (($47) + -1)|0; HEAP32[$46>>2] = $48; return; } function _NetInterpComp_RemoveOldestState($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 160|0); $2 = ((($0)) + 188|0); ;HEAP32[$1>>2]=HEAP32[$2>>2]|0;HEAP32[$1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$1+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$1+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$1+24>>2]=HEAP32[$2+24>>2]|0; $3 = ((($0)) + 188|0); $4 = ((($0)) + 216|0); ;HEAP32[$3>>2]=HEAP32[$4>>2]|0;HEAP32[$3+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$3+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$3+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[$3+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[$3+24>>2]=HEAP32[$4+24>>2]|0; $5 = ((($0)) + 216|0); $6 = ((($0)) + 244|0); ;HEAP32[$5>>2]=HEAP32[$6>>2]|0;HEAP32[$5+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$5+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$5+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$5+16>>2]=HEAP32[$6+16>>2]|0;HEAP32[$5+20>>2]=HEAP32[$6+20>>2]|0;HEAP32[$5+24>>2]=HEAP32[$6+24>>2]|0; $7 = ((($0)) + 244|0); $8 = ((($0)) + 272|0); ;HEAP32[$7>>2]=HEAP32[$8>>2]|0;HEAP32[$7+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$8+8>>2]|0;HEAP32[$7+12>>2]=HEAP32[$8+12>>2]|0;HEAP32[$7+16>>2]=HEAP32[$8+16>>2]|0;HEAP32[$7+20>>2]=HEAP32[$8+20>>2]|0;HEAP32[$7+24>>2]=HEAP32[$8+24>>2]|0; $9 = ((($0)) + 272|0); $10 = ((($0)) + 300|0); ;HEAP32[$9>>2]=HEAP32[$10>>2]|0;HEAP32[$9+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$9+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$9+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[$9+16>>2]=HEAP32[$10+16>>2]|0;HEAP32[$9+20>>2]=HEAP32[$10+20>>2]|0;HEAP32[$9+24>>2]=HEAP32[$10+24>>2]|0; $11 = ((($0)) + 300|0); $12 = ((($0)) + 328|0); ;HEAP32[$11>>2]=HEAP32[$12>>2]|0;HEAP32[$11+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$11+8>>2]=HEAP32[$12+8>>2]|0;HEAP32[$11+12>>2]=HEAP32[$12+12>>2]|0;HEAP32[$11+16>>2]=HEAP32[$12+16>>2]|0;HEAP32[$11+20>>2]=HEAP32[$12+20>>2]|0;HEAP32[$11+24>>2]=HEAP32[$12+24>>2]|0; $13 = ((($0)) + 328|0); $14 = ((($0)) + 356|0); ;HEAP32[$13>>2]=HEAP32[$14>>2]|0;HEAP32[$13+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$13+8>>2]=HEAP32[$14+8>>2]|0;HEAP32[$13+12>>2]=HEAP32[$14+12>>2]|0;HEAP32[$13+16>>2]=HEAP32[$14+16>>2]|0;HEAP32[$13+20>>2]=HEAP32[$14+20>>2]|0;HEAP32[$13+24>>2]=HEAP32[$14+24>>2]|0; $15 = ((($0)) + 356|0); $16 = ((($0)) + 384|0); ;HEAP32[$15>>2]=HEAP32[$16>>2]|0;HEAP32[$15+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[$15+8>>2]=HEAP32[$16+8>>2]|0;HEAP32[$15+12>>2]=HEAP32[$16+12>>2]|0;HEAP32[$15+16>>2]=HEAP32[$16+16>>2]|0;HEAP32[$15+20>>2]=HEAP32[$16+20>>2]|0;HEAP32[$15+24>>2]=HEAP32[$16+24>>2]|0; $17 = ((($0)) + 384|0); $18 = ((($0)) + 412|0); ;HEAP32[$17>>2]=HEAP32[$18>>2]|0;HEAP32[$17+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$17+8>>2]=HEAP32[$18+8>>2]|0;HEAP32[$17+12>>2]=HEAP32[$18+12>>2]|0;HEAP32[$17+16>>2]=HEAP32[$18+16>>2]|0;HEAP32[$17+20>>2]=HEAP32[$18+20>>2]|0;HEAP32[$17+24>>2]=HEAP32[$18+24>>2]|0; $19 = ((($0)) + 412|0); $20 = ((($0)) + 440|0); ;HEAP32[$19>>2]=HEAP32[$20>>2]|0;HEAP32[$19+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[$19+8>>2]=HEAP32[$20+8>>2]|0;HEAP32[$19+12>>2]=HEAP32[$20+12>>2]|0;HEAP32[$19+16>>2]=HEAP32[$20+16>>2]|0;HEAP32[$19+20>>2]=HEAP32[$20+20>>2]|0;HEAP32[$19+24>>2]=HEAP32[$20+24>>2]|0; $21 = ((($0)) + 156|0); $22 = HEAP32[$21>>2]|0; $23 = (($22) + -1)|0; HEAP32[$21>>2] = $23; return; } function _Vec3_Add_191($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 + $4; HEAPF32[$0>>2] = $5; $6 = ((($1)) + 4|0); $7 = +HEAPF32[$6>>2]; $8 = ((($2)) + 4|0); $9 = +HEAPF32[$8>>2]; $10 = $7 + $9; $11 = ((($0)) + 4|0); HEAPF32[$11>>2] = $10; $12 = ((($1)) + 8|0); $13 = +HEAPF32[$12>>2]; $14 = ((($2)) + 8|0); $15 = +HEAPF32[$14>>2]; $16 = $13 + $15; $17 = ((($0)) + 8|0); HEAPF32[$17>>2] = $16; return; } function _NetInterpComp_AdvanceState($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 28|0); ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$1+24>>2]|0; $2 = ((($0)) + 156|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)>(0); if (!($4)) { _InterpComp_AdvanceRotY($0); return; } $5 = ((($0)) + 160|0); ;HEAP32[$1>>2]=HEAP32[$5>>2]|0;HEAP32[$1+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$1+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$1+16>>2]=HEAP32[$5+16>>2]|0;HEAP32[$1+20>>2]=HEAP32[$5+20>>2]|0;HEAP32[$1+24>>2]=HEAP32[$5+24>>2]|0; _NetInterpComp_RemoveOldestState($0); _InterpComp_AdvanceRotY($0); return; } function _InterpComp_AdvanceRotY($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 60|0); $2 = HEAP32[$1>>2]|0; $3 = ((($0)) + 56|0); HEAP32[$3>>2] = $2; $4 = ((($0)) + 64|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { return; } $7 = ((($0)) + 68|0); $8 = HEAP32[$7>>2]|0; HEAP32[$1>>2] = $8; _InterpComp_RemoveOldestRotY($0); return; } function _LocalInterpComp_SetLocation($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0.0; var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; var $48 = 0.0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ((($0)) + 28|0); $4 = ((($1)) + 28|0); $5 = HEAP8[$4>>0]|0; $6 = $5&255; $7 = $6 & 1; $8 = ($7|0)==(0); if (!($8)) { _InterpComp_SetPos($3,$1); $9 = ((($0)) + 32|0); $10 = +HEAPF32[$9>>2]; $11 = (_Math_Floor($10)|0); $12 = (+($11|0)); $13 = $10 - $12; $14 = $13 < 0.0010000000474974513; if ($14) { $15 = +HEAPF32[$9>>2]; $16 = $15 + 0.0010000000474974513; HEAPF32[$9>>2] = $16; } $17 = ($2<<24>>24)==(0); if ($17) { ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$3+8>>2]|0; ;HEAP32[(1242156)>>2]=HEAP32[$3>>2]|0;HEAP32[(1242156)+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[(1242156)+8>>2]=HEAP32[$3+8>>2]|0; } } $18 = $6 & 2; $19 = ($18|0)==(0); if (!($19)) { $20 = ((($0)) + 12|0); $21 = ((($0)) + 40|0); $22 = ((($1)) + 12|0); $23 = +HEAPF32[$22>>2]; _LocalInterpComp_Angle($20,$21,$23,$2); } $24 = $6 & 4; $25 = ($24|0)!=(0); if ($25) { $26 = ((($0)) + 16|0); $27 = ((($0)) + 44|0); $28 = ((($1)) + 16|0); $29 = +HEAPF32[$28>>2]; _LocalInterpComp_Angle($26,$27,$29,$2); } $30 = $6 & 8; $31 = ($30|0)==(0); if (!($31)) { $32 = ((($0)) + 20|0); $33 = ((($0)) + 48|0); $34 = ((($1)) + 20|0); $35 = +HEAPF32[$34>>2]; _LocalInterpComp_Angle($32,$33,$35,$2); } $36 = $6 & 16; $37 = ($36|0)==(0); if (!($37)) { $38 = ((($0)) + 24|0); $39 = ((($0)) + 52|0); $40 = ((($1)) + 24|0); $41 = +HEAPF32[$40>>2]; _LocalInterpComp_Angle($38,$39,$41,$2); } if (!($25)) { _InterpComp_LerpAngles($0,1242152,0.0); return; } $42 = ($2<<24>>24)==(0); if ($42) { $43 = ((($1)) + 16|0); $44 = HEAP32[$43>>2]|0; $45 = ((($0)) + 60|0); HEAP32[$45>>2] = $44; HEAP32[(1242180)>>2] = $44; $46 = ((($0)) + 64|0); HEAP32[$46>>2] = 0; _InterpComp_LerpAngles($0,1242152,0.0); return; } else { $47 = ((($0)) + 16|0); $48 = +HEAPF32[$47>>2]; $49 = ((($0)) + 44|0); $50 = +HEAPF32[$49>>2]; $51 = (+_Math_LerpAngle($48,$50,0.3333333432674408)); _InterpComp_AddRotY($0,$51); $52 = +HEAPF32[$47>>2]; $53 = +HEAPF32[$49>>2]; $54 = (+_Math_LerpAngle($52,$53,0.66666668653488159)); _InterpComp_AddRotY($0,$54); $55 = +HEAPF32[$47>>2]; $56 = +HEAPF32[$49>>2]; $57 = (+_Math_LerpAngle($55,$56,1.0)); _InterpComp_AddRotY($0,$57); $58 = ((($0)) + 68|0); $59 = HEAP32[$58>>2]|0; $60 = ((($0)) + 60|0); HEAP32[$60>>2] = $59; _InterpComp_LerpAngles($0,1242152,0.0); return; } } function _LocalInterpComp_Angle($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = +$2; $3 = $3|0; var $4 = 0, label = 0, sp = 0; sp = STACKTOP; HEAPF32[$1>>2] = $2; $4 = ($3<<24>>24)==(0); if (!($4)) { return; } HEAPF32[$0>>2] = $2; return; } function _LocalInterpComp_AdvanceState($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 28|0); ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$1+24>>2]|0; ;HEAP32[(1242156)>>2]=HEAP32[$1>>2]|0;HEAP32[(1242156)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(1242156)+8>>2]=HEAP32[$1+8>>2]|0; _InterpComp_AdvanceRotY($0); return; } function _ShadowComponent_Draw($0) { $0 = $0|0; var $$0 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$0$0$copyload = 0.0, $$sroa$6$0$$sroa_idx51 = 0, $$sroa$6$0$copyload = 0.0, $$sroa$9$0$$sroa_idx55 = 0, $$sroa$9$0$copyload = 0.0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0; var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0; var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0; var $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, $brmerge$demorgan = 0, $phitmp = 0.0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 3120|0; $1 = sp + 32|0; $2 = sp + 3104|0; $3 = sp; $$sroa$0$0$$sroa_idx = ((($0)) + 4|0); $$sroa$0$0$copyload = +HEAPF32[$$sroa$0$0$$sroa_idx>>2]; $$sroa$6$0$$sroa_idx51 = ((($0)) + 8|0); $$sroa$6$0$copyload = +HEAPF32[$$sroa$6$0$$sroa_idx51>>2]; $$sroa$9$0$$sroa_idx55 = ((($0)) + 12|0); $$sroa$9$0$copyload = +HEAPF32[$$sroa$9$0$$sroa_idx55>>2]; $4 = $$sroa$6$0$copyload < 0.0; if ($4) { STACKTOP = sp;return; } $5 = (~~(($$sroa$6$0$copyload))); $6 = HEAP32[(1407480)>>2]|0; $7 = ($6|0)>($5|0); $8 = $7 ? $5 : $6; $9 = ((($0)) + 84|0); $10 = +HEAPF32[$9>>2]; $11 = $10 < 1.0; $phitmp = $10 * 7.0; $12 = $11 ? $phitmp : 7.0; $13 = ((($0)) + 48|0); $14 = HEAP32[$13>>2]|0; $15 = ((($14)) + 88|0); $16 = +HEAPF32[$15>>2]; $17 = $12 * $16; $18 = $17 * 0.0625; HEAPF32[312227] = $18; $19 = $17 * 2.0; $20 = 16.0 / $19; HEAPF32[312228] = $20; HEAP32[$2>>2] = $1; $21 = HEAP8[(1242149)>>0]|0; $22 = ($21<<24>>24)==(1); if ($22) { $23 = HEAP32[315124]|0; $24 = (_Math_Floor($$sroa$0$0$copyload)|0); $25 = (_Math_Floor($$sroa$9$0$copyload)|0); _ShadowComponent_GetBlocks($0,$24,$8,$25,$3); $26 = +HEAPF32[$3>>2]; $27 = (+($24|0)); $28 = (+($25|0)); _ShadowComponent_DrawSquareShadow($2,$26,$27,$28); $$0 = $23; } else { $29 = HEAP32[(1280020)>>2]|0; $30 = $$sroa$0$0$copyload - $18; $31 = (_Math_Floor($30)|0); $32 = +HEAPF32[312227]; $33 = $$sroa$9$0$copyload - $32; $34 = (_Math_Floor($33)|0); $35 = +HEAPF32[312227]; $36 = $$sroa$0$0$copyload + $35; $37 = (_Math_Floor($36)|0); $38 = +HEAPF32[312227]; $39 = $$sroa$9$0$copyload + $38; $40 = (_Math_Floor($39)|0); _ShadowComponent_GetBlocks($0,$31,$8,$34,$3); $41 = ((($3)) + 6|0); $42 = HEAP8[$41>>0]|0; $43 = ($42<<24>>24)==(0); if (!($43)) { $44 = (+($34|0)); $45 = (+($31|0)); _ShadowComponent_DrawCircle($2,$0,$3,$45,$44); } $46 = ($31|0)!=($37|0); if ($46) { _ShadowComponent_GetBlocks($0,$37,$8,$34,$3); $47 = HEAP8[$41>>0]|0; $48 = ($47<<24>>24)==(0); if (!($48)) { $49 = (+($34|0)); $50 = (+($37|0)); _ShadowComponent_DrawCircle($2,$0,$3,$50,$49); } } $51 = ($34|0)!=($40|0); if ($51) { _ShadowComponent_GetBlocks($0,$31,$8,$40,$3); $52 = HEAP8[$41>>0]|0; $53 = ($52<<24>>24)==(0); if (!($53)) { $54 = (+($40|0)); $55 = (+($31|0)); _ShadowComponent_DrawCircle($2,$0,$3,$55,$54); } $brmerge$demorgan = $46 & $51; if ($brmerge$demorgan) { _ShadowComponent_GetBlocks($0,$37,$8,$40,$3); $56 = HEAP8[$41>>0]|0; $57 = ($56<<24>>24)==(0); if ($57) { $$0 = $29; } else { $58 = (+($40|0)); $59 = (+($37|0)); _ShadowComponent_DrawCircle($2,$0,$3,$59,$58); $$0 = $29; } } else { $$0 = $29; } } else { $$0 = $29; } } $60 = HEAP32[$2>>2]|0; $61 = ($60|0)==($1|0); if ($61) { STACKTOP = sp;return; } $62 = HEAP32[312226]|0; $63 = ($62|0)==(0); if ($63) { _ShadowComponent_MakeTex(); } $64 = HEAP8[1408220]|0; $65 = ($64<<24>>24)==(0); if ($65) { $66 = HEAP32[312226]|0; _Gfx_BindTexture($66); HEAP8[1408220] = 1; } $67 = HEAP32[$2>>2]|0; $68 = $1; $69 = (($67) - ($68))|0; $70 = (($69|0) / 24)&-1; _Gfx_UpdateDynamicVb_IndexedTris($$0,$1,$70); STACKTOP = sp;return; } function _ShadowComponent_GetBlocks($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $$056 = 0, $$0575 = 0, $$058$lcssa10 = 0, $$0584 = 0, $$159 = 0, $$16 = 0, $$2 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0.0, $41 = 0.0, $42 = 0; var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0.0, $60 = 0; var $61 = 0, $62 = 0, $63 = 0, $7 = 0, $8 = 0, $9 = 0, $switch = 0, label = 0, sp = 0; sp = STACKTOP; ;HEAP32[$4>>2]=0|0;HEAP32[$4+4>>2]=0|0;HEAP32[$4+8>>2]=0|0;HEAP32[$4+12>>2]=0|0;HEAP32[$4+16>>2]=0|0;HEAP32[$4+20>>2]=0|0;HEAP32[$4+24>>2]=0|0;HEAP32[$4+28>>2]=0|0; $5 = ((($0)) + 8|0); $6 = +HEAPF32[$5>>2]; $7 = (_World_ContainsXZ_200($1,$3)|0); $8 = ($7<<24>>24)==(0); $9 = ($2|0)>(-1); if ($9) { $10 = $6 + 0.0099999997764825821; $$0575 = $2;$$0584 = $4;$$16 = 0; while(1) { do { if ($8) { $12 = HEAP32[(1407516)>>2]|0; $13 = (($12) + -1)|0; $14 = ($$0575|0)==($13|0); if ($14) { $15 = HEAP16[703756]|0; $16 = $15&65535; $17 = (583428 + ($16)|0); $18 = HEAP8[$17>>0]|0; $19 = ($18<<24>>24)==(4); $20 = $19 ? 0 : 7; $$056 = $20; break; } $21 = HEAP32[(1407520)>>2]|0; $22 = (($12) + -1)|0; $23 = (($22) + ($21))|0; $24 = ($$0575|0)==($23|0); if ($24) { $25 = HEAP16[(1407514)>>1]|0; $26 = $25&65535; $27 = (583428 + ($26)|0); $28 = HEAP8[$27>>0]|0; $29 = ($28<<24>>24)==(4); $30 = $29 ? 0 : 7; $$056 = $30; } else { $$056 = 0; } } else { $11 = (_World_GetBlock_201($1,$$0575,$3)|0); $$056 = $11; } } while(0); $31 = $$056&65535; $32 = (583428 + ($31)|0); $33 = HEAP8[$32>>0]|0; $34 = $33 & -2; $switch = ($34<<24>>24)==(4); if ($switch) { $$159 = $$0584;$$2 = $$16; } else { $35 = (569604 + ($31)|0); $36 = HEAP8[$35>>0]|0; $37 = ($36<<24>>24)==(0); if ($37) { $38 = (+($$0575|0)); $39 = (((597252 + (($31*12)|0)|0)) + 4|0); $40 = +HEAPF32[$39>>2]; $41 = $40 + $38; $42 = !($41 >= $10); if ($42) { $43 = ((($$0584)) + 4|0); HEAP16[$43>>1] = $$056; HEAPF32[$$0584>>2] = $41; _ShadowComponent_CalcAlpha($6,$$0584); $44 = (($$16) + 1)|0; $45 = ((($$0584)) + 8|0); $46 = (588036 + (($31*12)|0)|0); $47 = +HEAPF32[$46>>2]; $48 = $47 == 0.0; if ($48) { $49 = (597252 + (($31*12)|0)|0); $50 = +HEAPF32[$49>>2]; $51 = $50 == 1.0; if ($51) { $52 = (((588036 + (($31*12)|0)|0)) + 8|0); $53 = +HEAPF32[$52>>2]; $54 = $53 == 0.0; if ($54) { $55 = (((597252 + (($31*12)|0)|0)) + 8|0); $56 = +HEAPF32[$55>>2]; $57 = $56 == 1.0; if ($57) { label = 19; break; } else { $$159 = $45;$$2 = $44; } } else { $$159 = $45;$$2 = $44; } } else { $$159 = $45;$$2 = $44; } } else { $$159 = $45;$$2 = $44; } } else { $$159 = $$0584;$$2 = $$16; } } else { $$159 = $$0584;$$2 = $$16; } } $58 = (($$0575) + -1)|0; $59 = ($$0575|0)>(0); $60 = ($$2|0)<(4); $61 = $59 & $60; if ($61) { $$0575 = $58;$$0584 = $$159;$$16 = $$2; } else { break; } } if ((label|0) == 19) { return; } if ($60) { $$058$lcssa10 = $$159; } else { return; } } else { $$058$lcssa10 = $4; } $62 = HEAP16[703756]|0; $63 = ((($$058$lcssa10)) + 4|0); HEAP16[$63>>1] = $62; HEAPF32[$$058$lcssa10>>2] = 0.0; _ShadowComponent_CalcAlpha($6,$$058$lcssa10); return; } function _ShadowComponent_DrawSquareShadow($0,$1,$2,$3) { $0 = $0|0; $1 = +$1; $2 = +$2; $3 = +$3; var $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; var $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = HEAP32[$0>>2]|0; HEAPF32[$4>>2] = $2; $5 = ((($4)) + 4|0); HEAPF32[$5>>2] = $1; $6 = ((($4)) + 8|0); HEAPF32[$6>>2] = $3; $7 = ((($4)) + 12|0); HEAP32[$7>>2] = -587202561; $8 = ((($4)) + 16|0); HEAPF32[$8>>2] = 0.4921875; $9 = ((($4)) + 20|0); HEAPF32[$9>>2] = 0.4921875; $10 = $2 + 1.0; $11 = ((($4)) + 24|0); HEAPF32[$11>>2] = $10; $12 = ((($4)) + 28|0); HEAPF32[$12>>2] = $1; $13 = ((($4)) + 32|0); HEAPF32[$13>>2] = $3; $14 = ((($4)) + 36|0); HEAP32[$14>>2] = -587202561; $15 = ((($4)) + 40|0); HEAPF32[$15>>2] = 0.5; $16 = ((($4)) + 44|0); HEAPF32[$16>>2] = 0.4921875; $17 = ((($4)) + 48|0); HEAPF32[$17>>2] = $10; $18 = ((($4)) + 52|0); HEAPF32[$18>>2] = $1; $19 = $3 + 1.0; $20 = ((($4)) + 56|0); HEAPF32[$20>>2] = $19; $21 = ((($4)) + 60|0); HEAP32[$21>>2] = -587202561; $22 = ((($4)) + 64|0); HEAPF32[$22>>2] = 0.5; $23 = ((($4)) + 68|0); HEAPF32[$23>>2] = 0.5; $24 = ((($4)) + 72|0); HEAPF32[$24>>2] = $2; $25 = ((($4)) + 76|0); HEAPF32[$25>>2] = $1; $26 = ((($4)) + 80|0); HEAPF32[$26>>2] = $19; $27 = ((($4)) + 84|0); HEAP32[$27>>2] = -587202561; $28 = ((($4)) + 88|0); HEAPF32[$28>>2] = 0.4921875; $29 = ((($4)) + 92|0); HEAPF32[$29>>2] = 0.5; $30 = ((($4)) + 96|0); HEAP32[$0>>2] = $30; return; } function _ShadowComponent_DrawCircle($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = +$3; $4 = +$4; var $$0107 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$0$0$copyload = 0.0, $$sroa$024$0$$sroa_idx = 0, $$sroa$024$0$copyload = 0.0, $$sroa$040$0$$sroa_idx = 0, $$sroa$040$0$copyload = 0.0, $$sroa$040$0103 = 0.0, $$sroa$050$0$$sroa_idx = 0, $$sroa$050$0$copyload = 0.0, $$sroa$050$0105 = 0.0, $$sroa$517$0$$sroa_idx18 = 0, $$sroa$517$0$copyload = 0.0, $$sroa$533$0$$sroa_idx34 = 0, $$sroa$533$0$copyload = 0.0, $$sroa$9$0$$sroa_idx47 = 0, $$sroa$9$0$copyload = 0.0, $$sroa$9$0104 = 0.0, $$sroa$958$0$$sroa_idx59 = 0, $$sroa$958$0$copyload = 0.0; var $$sroa$958$0106 = 0.0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0; var $29 = 0, $30 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $5 = (_Math_Floor($3)|0); $6 = (+($5|0)); $7 = (_Math_Floor($4)|0); $8 = (+($7|0)); $9 = ((($2)) + 4|0); $10 = HEAP16[$9>>1]|0; $11 = $10&65535; $$sroa$050$0$$sroa_idx = (588036 + (($11*12)|0)|0); $$sroa$050$0$copyload = +HEAPF32[$$sroa$050$0$$sroa_idx>>2]; $$sroa$958$0$$sroa_idx59 = (((588036 + (($11*12)|0)|0)) + 8|0); $$sroa$958$0$copyload = +HEAPF32[$$sroa$958$0$$sroa_idx59>>2]; $$sroa$040$0$$sroa_idx = (597252 + (($11*12)|0)|0); $$sroa$040$0$copyload = +HEAPF32[$$sroa$040$0$$sroa_idx>>2]; $$sroa$9$0$$sroa_idx47 = (((597252 + (($11*12)|0)|0)) + 8|0); $$sroa$9$0$copyload = +HEAPF32[$$sroa$9$0$$sroa_idx47>>2]; $12 = $$sroa$050$0$copyload + $6; $13 = $$sroa$958$0$copyload + $8; $14 = $$sroa$040$0$copyload + $6; $15 = $$sroa$9$0$copyload + $8; _ShadowComponent_DrawCoords($0,$1,$2,$12,$13,$14,$15); $$0107 = 1;$$sroa$040$0103 = $$sroa$040$0$copyload;$$sroa$050$0105 = $$sroa$050$0$copyload;$$sroa$9$0104 = $$sroa$9$0$copyload;$$sroa$958$0106 = $$sroa$958$0$copyload; while(1) { $16 = (($2) + ($$0107<<3)|0); $17 = (((($2) + ($$0107<<3)|0)) + 4|0); $18 = HEAP16[$17>>1]|0; $19 = $18&65535; $20 = ($18<<16>>16)==(0); if ($20) { label = 4; break; } $$sroa$024$0$$sroa_idx = (588036 + (($19*12)|0)|0); $$sroa$024$0$copyload = +HEAPF32[$$sroa$024$0$$sroa_idx>>2]; $$sroa$533$0$$sroa_idx34 = (((588036 + (($19*12)|0)|0)) + 8|0); $$sroa$533$0$copyload = +HEAPF32[$$sroa$533$0$$sroa_idx34>>2]; $$sroa$0$0$$sroa_idx = (597252 + (($19*12)|0)|0); $$sroa$0$0$copyload = +HEAPF32[$$sroa$0$0$$sroa_idx>>2]; $$sroa$517$0$$sroa_idx18 = (((597252 + (($19*12)|0)|0)) + 8|0); $$sroa$517$0$copyload = +HEAPF32[$$sroa$517$0$$sroa_idx18>>2]; $21 = $$sroa$050$0105 + $6; $22 = $$sroa$533$0$copyload + $8; $23 = $$sroa$040$0103 + $6; $24 = $$sroa$958$0106 + $8; _ShadowComponent_DrawCoords($0,$1,$16,$21,$22,$23,$24); $25 = $$sroa$9$0104 + $8; $26 = $$sroa$517$0$copyload + $8; _ShadowComponent_DrawCoords($0,$1,$16,$21,$25,$23,$26); $27 = $$sroa$024$0$copyload + $6; _ShadowComponent_DrawCoords($0,$1,$16,$27,$22,$21,$26); $28 = $$sroa$0$0$copyload + $6; _ShadowComponent_DrawCoords($0,$1,$16,$23,$22,$28,$26); $29 = (($$0107) + 1)|0; $30 = ($29>>>0)<(4); if ($30) { $$0107 = $29;$$sroa$040$0103 = $$sroa$0$0$copyload;$$sroa$050$0105 = $$sroa$024$0$copyload;$$sroa$9$0104 = $$sroa$517$0$copyload;$$sroa$958$0106 = $$sroa$533$0$copyload; } else { label = 4; break; } } if ((label|0) == 4) { return; } } function _ShadowComponent_MakeTex() { var $$02123 = 0, $$022 = 0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0; var $7 = 0.0, $8 = 0.0, $9 = 0.0, $exitcond = 0, $exitcond24 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 65552|0; $0 = sp; $1 = sp + 65536|0; $2 = ((($1)) + 4|0); HEAP32[$2>>2] = 128; $3 = ((($1)) + 8|0); HEAP32[$3>>2] = 128; HEAP32[$1>>2] = $0; $$02123 = 0; while(1) { $4 = $$02123 << 7; $5 = (($0) + ($4<<2)|0); $6 = (+($$02123>>>0)); $7 = $6 + 0.5; $8 = 64.0 - $7; $9 = $8 * $8; $$022 = 0; while(1) { $10 = (+($$022>>>0)); $11 = $10 + 0.5; $12 = 64.0 - $11; $13 = $12 * $12; $14 = $9 + $13; $15 = $14 < 4096.0; $16 = $15 ? -939524096 : 0; $17 = (($5) + ($$022<<2)|0); HEAP32[$17>>2] = $16; $18 = (($$022) + 1)|0; $exitcond = ($18|0)==(128); if ($exitcond) { break; } else { $$022 = $18; } } $19 = (($$02123) + 1)|0; $exitcond24 = ($19|0)==(128); if ($exitcond24) { break; } else { $$02123 = $19; } } $20 = (_Gfx_CreateTexture($1,0,0)|0); HEAP32[312226] = $20; STACKTOP = sp;return; } function _ShadowComponent_DrawCoords($0,$1,$2,$3,$4,$5,$6) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = +$3; $4 = +$4; $5 = +$5; $6 = +$6; var $$ = 0.0, $$116 = 0.0, $$sroa$0$0$$sroa_idx = 0, $$sroa$0$0$copyload = 0.0, $$sroa$940$0$$sroa_idx41 = 0, $$sroa$940$0$copyload = 0.0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0; var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0; var $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0; var label = 0, sp = 0; sp = STACKTOP; $7 = (_lequal($5,$3)|0); $8 = ($7<<24>>24)==(0); if (!($8)) { return; } $9 = (_lequal($6,$4)|0); $10 = ($9<<24>>24)==(0); if (!($10)) { return; } $$sroa$0$0$$sroa_idx = ((($1)) + 4|0); $$sroa$0$0$copyload = +HEAPF32[$$sroa$0$0$$sroa_idx>>2]; $$sroa$940$0$$sroa_idx41 = ((($1)) + 12|0); $$sroa$940$0$copyload = +HEAPF32[$$sroa$940$0$$sroa_idx41>>2]; $11 = $3 - $$sroa$0$0$copyload; $12 = +HEAPF32[312228]; $13 = $11 * $12; $14 = $13 + 0.5; $15 = $4 - $$sroa$940$0$copyload; $16 = $15 * $12; $17 = $16 + 0.5; $18 = $5 - $$sroa$0$0$copyload; $19 = $18 * $12; $20 = $19 + 0.5; $21 = $6 - $$sroa$940$0$copyload; $22 = $21 * $12; $23 = $22 + 0.5; $24 = $20 <= 0.0; $25 = $23 <= 0.0; $or$cond = $24 | $25; $26 = $14 >= 1.0; $or$cond3 = $26 | $or$cond; $27 = $17 >= 1.0; $or$cond5 = $27 | $or$cond3; if ($or$cond5) { return; } $28 = +HEAPF32[312227]; $29 = $$sroa$0$0$copyload - $28; $30 = $29 < $3; $$ = $30 ? $3 : $29; $31 = $14 >= 0.0; $32 = $31 ? $14 : 0.0; $33 = $$sroa$940$0$copyload - $28; $34 = $33 < $4; $35 = $34 ? $4 : $33; $36 = $17 >= 0.0; $37 = $36 ? $17 : 0.0; $38 = $$sroa$0$0$copyload + $28; $39 = $38 > $5; $$116 = $39 ? $5 : $38; $40 = $20 <= 1.0; $41 = $40 ? $20 : 1.0; $42 = $$sroa$940$0$copyload + $28; $43 = $42 > $6; $44 = $43 ? $6 : $42; $45 = $23 <= 1.0; $46 = $45 ? $23 : 1.0; $47 = HEAP32[$0>>2]|0; $48 = ((($2)) + 6|0); $49 = HEAP8[$48>>0]|0; $50 = $49&255; $51 = $50 << 24; $52 = $51 | 16777215; HEAPF32[$47>>2] = $$; $53 = HEAP32[$2>>2]|0; $54 = ((($47)) + 4|0); HEAP32[$54>>2] = $53; $55 = ((($47)) + 8|0); HEAPF32[$55>>2] = $35; $56 = ((($47)) + 12|0); HEAP32[$56>>2] = $52; $57 = ((($47)) + 16|0); HEAPF32[$57>>2] = $32; $58 = ((($47)) + 20|0); HEAPF32[$58>>2] = $37; $59 = ((($47)) + 24|0); HEAPF32[$59>>2] = $$116; $60 = ((($47)) + 28|0); HEAP32[$60>>2] = $53; $61 = ((($47)) + 32|0); HEAPF32[$61>>2] = $35; $62 = ((($47)) + 36|0); HEAP32[$62>>2] = $52; $63 = ((($47)) + 40|0); HEAPF32[$63>>2] = $41; $64 = ((($47)) + 44|0); HEAPF32[$64>>2] = $37; $65 = ((($47)) + 48|0); HEAPF32[$65>>2] = $$116; $66 = ((($47)) + 52|0); HEAP32[$66>>2] = $53; $67 = ((($47)) + 56|0); HEAPF32[$67>>2] = $44; $68 = ((($47)) + 60|0); HEAP32[$68>>2] = $52; $69 = ((($47)) + 64|0); HEAPF32[$69>>2] = $41; $70 = ((($47)) + 68|0); HEAPF32[$70>>2] = $46; $71 = ((($47)) + 72|0); HEAPF32[$71>>2] = $$; $72 = ((($47)) + 76|0); HEAP32[$72>>2] = $53; $73 = ((($47)) + 80|0); HEAPF32[$73>>2] = $44; $74 = ((($47)) + 84|0); HEAP32[$74>>2] = $52; $75 = ((($47)) + 88|0); HEAPF32[$75>>2] = $32; $76 = ((($47)) + 92|0); HEAPF32[$76>>2] = $46; $77 = ((($47)) + 96|0); HEAP32[$0>>2] = $77; return; } function _lequal($0,$1) { $0 = +$0; $1 = +$1; var $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; $2 = $0 < $1; if ($2) { $6 = 1; return ($6|0); } $3 = $0 - $1; $4 = (+_Math_AbsF($3)); $5 = $4 < 0.0010000000474974513; $phitmp = $5&1; $6 = $phitmp; return ($6|0); } function _World_ContainsXZ_200($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $narrow = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[(1407464)>>2]|0; $3 = ($2>>>0)>($0>>>0); $4 = HEAP32[(1407472)>>2]|0; $5 = ($4>>>0)>($1>>>0); $narrow = $3 & $5; $6 = $narrow&1; return ($6|0); } function _World_GetBlock_201($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; $3 = HEAP32[(1407472)>>2]|0; $4 = Math_imul($3, $1)|0; $5 = (($4) + ($2))|0; $6 = HEAP32[(1407464)>>2]|0; $7 = Math_imul($5, $6)|0; $8 = (($7) + ($0))|0; $9 = HEAP32[351863]|0; $10 = (($9) + ($8)|0); $11 = HEAP8[$10>>0]|0; $12 = $11&255; $13 = HEAP32[(1407456)>>2]|0; $14 = (($13) + ($8)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = $16 << 8; $18 = $17 | $12; $19 = HEAP32[(1407508)>>2]|0; $20 = $18 & $19; $21 = $20&65535; return ($21|0); } function _ShadowComponent_CalcAlpha($0,$1) { $0 = +$0; $1 = $1|0; var $$ = 0.0, $$sink14 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = +HEAPF32[$1>>2]; $3 = $0 - $2; $4 = !($3 <= 6.0); if ($4) { $10 = ((($1)) + 6|0); HEAP8[$10>>0] = 0; $11 = !($3 <= 16.0); if ($11) { $12 = !($3 <= 32.0); if ($12) { $13 = !($3 <= 96.0); $$ = $13 ? 0.25 : 0.125; $$sink14 = $$; } else { $$sink14 = 0.0625; } } else { $$sink14 = 0.015625; } } else { $5 = $3 * 160.0; $6 = $5 / 6.0; $7 = 160.0 - $6; $8 = (~~(($7))&255); $9 = ((($1)) + 6|0); HEAP8[$9>>0] = $8; $$sink14 = 0.015625; } $14 = $2 + $$sink14; HEAPF32[$1>>2] = $14; return; } function _Collisions_HitHorizontal($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 4|0); $2 = HEAP8[$1>>0]|0; $3 = ($2<<24>>24)==(0); if (!($3)) { $13 = 1; return ($13|0); } $4 = ((($0)) + 7|0); $5 = HEAP8[$4>>0]|0; $6 = ($5<<24>>24)==(0); if (!($6)) { $13 = 1; return ($13|0); } $7 = ((($0)) + 6|0); $8 = HEAP8[$7>>0]|0; $9 = ($8<<24>>24)==(0); if (!($9)) { $13 = 1; return ($13|0); } $10 = ((($0)) + 9|0); $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)!=(0); $phitmp = $12&1; $13 = $phitmp; return ($13|0); } function _Collisions_MoveAndWallSlide($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $1 = sp + 24|0; $2 = sp; $3 = HEAP32[$0>>2]|0; $4 = ((($3)) + 36|0); $5 = +HEAPF32[$4>>2]; $6 = $5 == 0.0; if ($6) { $7 = ((($3)) + 40|0); $8 = +HEAPF32[$7>>2]; $9 = $8 == 0.0; if ($9) { $10 = ((($3)) + 44|0); $11 = +HEAPF32[$10>>2]; $12 = $11 == 0.0; if ($12) { STACKTOP = sp;return; } } } $13 = (_Searcher_FindReachableBlocks($3,$1,$2)|0); _Collisions_CollideWithReachableBlocks($0,$13,$1,$2); STACKTOP = sp;return; } function _Collisions_CollideWithReachableBlocks($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$084 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$0$0$copyload = 0, $$sroa$5$0$$sroa_idx21 = 0, $$sroa$5$0$copyload = 0, $$sroa$7$0$$sroa_idx24 = 0, $$sroa$7$0$copyload = 0, $10 = 0, $100 = 0.0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0.0; var $111 = 0.0, $112 = 0.0, $113 = 0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0, $126 = 0, $13 = 0, $14 = 0, $15 = 0; var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0, $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0; var $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0, $9 = 0; var $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0, $98 = 0.0, $99 = 0.0, $exitcond = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; $4 = sp + 72|0; $5 = sp + 48|0; $6 = sp + 36|0; $7 = sp + 24|0; $8 = sp + 12|0; $9 = sp + 8|0; $10 = sp + 4|0; $11 = sp; $12 = HEAP32[$0>>2]|0; $13 = ((($12)) + 111|0); $14 = HEAP8[$13>>0]|0; HEAP8[$13>>0] = 0; $15 = ((($0)) + 4|0); $16 = ((($0)) + 5|0); $17 = ((($12)) + 92|0); ;HEAP32[$15>>2]=0|0;HEAP16[$15+4>>1]=0|0; ;HEAP32[$6>>2]=HEAP32[$17>>2]|0;HEAP32[$6+4>>2]=HEAP32[$17+4>>2]|0;HEAP32[$6+8>>2]=HEAP32[$17+8>>2]|0; $18 = ($1|0)>(0); if (!($18)) { STACKTOP = sp;return; } $19 = ((($7)) + 4|0); $20 = ((($7)) + 8|0); $21 = ((($4)) + 12|0); $22 = ((($12)) + 36|0); $23 = ((($8)) + 4|0); $24 = ((($8)) + 8|0); $25 = ((($5)) + 12|0); $26 = ((($2)) + 12|0); $27 = ((($5)) + 4|0); $28 = ((($4)) + 16|0); $29 = ((($5)) + 16|0); $30 = ((($4)) + 4|0); $31 = ((($5)) + 8|0); $32 = ((($4)) + 20|0); $33 = ((($5)) + 20|0); $34 = ((($4)) + 8|0); $35 = ((($5)) + 8|0); $36 = ((($4)) + 20|0); $37 = ((($5)) + 4|0); $38 = ((($4)) + 16|0); $39 = ((($5)) + 20|0); $40 = ((($4)) + 8|0); $41 = ((($5)) + 16|0); $42 = ((($4)) + 4|0); $$084 = 0; while(1) { $43 = HEAP32[4288]|0; $$sroa$0$0$$sroa_idx = (($43) + ($$084<<4)|0); $$sroa$0$0$copyload = HEAP32[$$sroa$0$0$$sroa_idx>>2]|0; $$sroa$5$0$$sroa_idx21 = (((($43) + ($$084<<4)|0)) + 4|0); $$sroa$5$0$copyload = HEAP32[$$sroa$5$0$$sroa_idx21>>2]|0; $$sroa$7$0$$sroa_idx24 = (((($43) + ($$084<<4)|0)) + 8|0); $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx24>>2]|0; $44 = (3)?($$sroa$0$0$copyload >> 3):($$sroa$0$0$copyload); $45 = (+($44|0)); HEAPF32[$7>>2] = $45; $46 = (4)?($$sroa$5$0$copyload >> 4):($$sroa$5$0$copyload); $47 = (+($46|0)); HEAPF32[$19>>2] = $47; $48 = (3)?($$sroa$7$0$copyload >> 3):($$sroa$7$0$copyload); $49 = (+($48|0)); HEAPF32[$20>>2] = $49; $50 = $$sroa$0$0$copyload & 7; $51 = $$sroa$5$0$copyload << 3; $52 = $51 & 120; $53 = $52 | $50; $54 = $$sroa$7$0$copyload << 7; $55 = $54 & 896; $56 = $53 | $55; $57 = (588036 + (($56*12)|0)|0); _Vec3_Add_191($4,$57,$7); $58 = (597252 + (($56*12)|0)|0); _Vec3_Add_191($21,$58,$7); $59 = (_AABB_Intersects($3,$4)|0); $60 = ($59<<24>>24)==(0); do { if (!($60)) { _Searcher_CalcTime($22,$2,$4,$9,$10,$11); $61 = +HEAPF32[$9>>2]; $62 = $61 > 1.0; $63 = +HEAPF32[$10>>2]; $64 = $63 > 1.0; $or$cond = $62 | $64; $65 = +HEAPF32[$11>>2]; $66 = $65 > 1.0; $or$cond3 = $or$cond | $66; if ($or$cond3) { _Platform_LogConst(22804); } ;HEAP32[$8>>2]=HEAP32[$22>>2]|0;HEAP32[$8+4>>2]=HEAP32[$22+4>>2]|0;HEAP32[$8+8>>2]=HEAP32[$22+8>>2]|0; $67 = +HEAPF32[$9>>2]; $68 = +HEAPF32[$8>>2]; $69 = $67 * $68; HEAPF32[$8>>2] = $69; $70 = +HEAPF32[$10>>2]; $71 = +HEAPF32[$23>>2]; $72 = $70 * $71; HEAPF32[$23>>2] = $72; $73 = +HEAPF32[$11>>2]; $74 = +HEAPF32[$24>>2]; $75 = $73 * $74; HEAPF32[$24>>2] = $75; _Vec3_Add_191($5,$2,$8); _Vec3_Add_191($25,$26,$8); $76 = HEAP8[$16>>0]|0; $77 = ($76<<24>>24)==(0); if ($77) { $78 = +HEAPF32[$27>>2]; $79 = $78 + 0.0010000000474974513; $80 = +HEAPF32[$28>>2]; $81 = !($79 >= $80); if (!($81)) { _Collisions_ClipYMax($0,$4,$2,$3,$6); break; } $82 = +HEAPF32[$29>>2]; $83 = $82 + -0.0010000000474974513; $84 = +HEAPF32[$30>>2]; $85 = !($83 <= $84); if (!($85)) { _Collisions_ClipYMin($0,$4,$2,$3,$6); break; } $86 = +HEAPF32[$5>>2]; $87 = $86 + 0.0010000000474974513; $88 = +HEAPF32[$21>>2]; $89 = !($87 >= $88); if (!($89)) { _Collisions_ClipXMax($0,$4,$2,$14,$5,$3,$6); break; } $90 = +HEAPF32[$25>>2]; $91 = $90 + -0.0010000000474974513; $92 = +HEAPF32[$4>>2]; $93 = !($91 <= $92); if (!($93)) { _Collisions_ClipXMin($0,$4,$2,$14,$5,$3,$6); break; } $94 = +HEAPF32[$35>>2]; $95 = $94 + 0.0010000000474974513; $96 = +HEAPF32[$36>>2]; $97 = !($95 >= $96); if (!($97)) { _Collisions_ClipZMax($0,$4,$2,$14,$5,$3,$6); break; } $98 = +HEAPF32[$39>>2]; $99 = $98 + -0.0010000000474974513; $100 = +HEAPF32[$40>>2]; $101 = !($99 <= $100); if ($101) { break; } _Collisions_ClipZMin($0,$4,$2,$14,$5,$3,$6); break; } else { $102 = +HEAPF32[$5>>2]; $103 = $102 + 0.0010000000474974513; $104 = +HEAPF32[$21>>2]; $105 = !($103 >= $104); if (!($105)) { _Collisions_ClipXMax($0,$4,$2,$14,$5,$3,$6); break; } $106 = +HEAPF32[$25>>2]; $107 = $106 + -0.0010000000474974513; $108 = +HEAPF32[$4>>2]; $109 = !($107 <= $108); if (!($109)) { _Collisions_ClipXMin($0,$4,$2,$14,$5,$3,$6); break; } $110 = +HEAPF32[$31>>2]; $111 = $110 + 0.0010000000474974513; $112 = +HEAPF32[$32>>2]; $113 = !($111 >= $112); if (!($113)) { _Collisions_ClipZMax($0,$4,$2,$14,$5,$3,$6); break; } $114 = +HEAPF32[$33>>2]; $115 = $114 + -0.0010000000474974513; $116 = +HEAPF32[$34>>2]; $117 = !($115 <= $116); if (!($117)) { _Collisions_ClipZMin($0,$4,$2,$14,$5,$3,$6); break; } $118 = +HEAPF32[$37>>2]; $119 = $118 + 0.0010000000474974513; $120 = +HEAPF32[$38>>2]; $121 = !($119 >= $120); if (!($121)) { _Collisions_ClipYMax($0,$4,$2,$3,$6); break; } $122 = +HEAPF32[$41>>2]; $123 = $122 + -0.0010000000474974513; $124 = +HEAPF32[$42>>2]; $125 = !($123 <= $124); if ($125) { break; } _Collisions_ClipYMin($0,$4,$2,$3,$6); break; } } } while(0); $126 = (($$084) + 1)|0; $exitcond = ($126|0)==($1|0); if ($exitcond) { break; } else { $$084 = $126; } } STACKTOP = sp;return; } function _Collisions_ClipYMax($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $10 = 0, $11 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $5 = ((($1)) + 16|0); $6 = +HEAPF32[$5>>2]; $7 = $6 + 0.0010000000474974513; $8 = HEAP32[$0>>2]|0; $9 = ((($8)) + 8|0); HEAPF32[$9>>2] = $7; $10 = ((($8)) + 111|0); HEAP8[$10>>0] = 1; _Collisions_ClipY($8,$4,$2,$3); $11 = ((($0)) + 8|0); HEAP8[$11>>0] = 1; return; } function _Collisions_ClipYMin($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $5 = ((($1)) + 4|0); $6 = +HEAPF32[$5>>2]; $7 = ((($4)) + 4|0); $8 = +HEAPF32[$7>>2]; $9 = $6 - $8; $10 = $9 + -0.0010000000474974513; $11 = HEAP32[$0>>2]|0; $12 = ((($11)) + 8|0); HEAPF32[$12>>2] = $10; _Collisions_ClipY($11,$4,$2,$3); $13 = ((($0)) + 5|0); HEAP8[$13>>0] = 1; return; } function _Collisions_ClipXMax($0,$1,$2,$3,$4,$5,$6) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; $6 = $6|0; var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $7 = ($3<<24>>24)==(0); if (!($7)) { $8 = (_Collisions_DidSlide($0,$1,$6,$4,$2,$5)|0); $9 = ($8<<24>>24)==(0); if (!($9)) { return; } } $10 = ((($1)) + 12|0); $11 = +HEAPF32[$10>>2]; $12 = +HEAPF32[$6>>2]; $13 = $12 * 0.5; $14 = $11 + $13; $15 = $14 + 0.0010000000474974513; $16 = HEAP32[$0>>2]|0; $17 = ((($16)) + 4|0); HEAPF32[$17>>2] = $15; _Collisions_ClipX($16,$6,$2,$5); $18 = ((($0)) + 7|0); HEAP8[$18>>0] = 1; return; } function _Collisions_ClipXMin($0,$1,$2,$3,$4,$5,$6) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; $6 = $6|0; var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $7 = ($3<<24>>24)==(0); if (!($7)) { $8 = (_Collisions_DidSlide($0,$1,$6,$4,$2,$5)|0); $9 = ($8<<24>>24)==(0); if (!($9)) { return; } } $10 = +HEAPF32[$1>>2]; $11 = +HEAPF32[$6>>2]; $12 = $11 * 0.5; $13 = $10 - $12; $14 = $13 + -0.0010000000474974513; $15 = HEAP32[$0>>2]|0; $16 = ((($15)) + 4|0); HEAPF32[$16>>2] = $14; _Collisions_ClipX($15,$6,$2,$5); $17 = ((($0)) + 4|0); HEAP8[$17>>0] = 1; return; } function _Collisions_ClipZMax($0,$1,$2,$3,$4,$5,$6) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; $6 = $6|0; var $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $7 = ($3<<24>>24)==(0); if (!($7)) { $8 = (_Collisions_DidSlide($0,$1,$6,$4,$2,$5)|0); $9 = ($8<<24>>24)==(0); if (!($9)) { return; } } $10 = ((($1)) + 20|0); $11 = +HEAPF32[$10>>2]; $12 = ((($6)) + 8|0); $13 = +HEAPF32[$12>>2]; $14 = $13 * 0.5; $15 = $11 + $14; $16 = $15 + 0.0010000000474974513; $17 = HEAP32[$0>>2]|0; $18 = ((($17)) + 12|0); HEAPF32[$18>>2] = $16; _Collisions_ClipZ($17,$6,$2,$5); $19 = ((($0)) + 9|0); HEAP8[$19>>0] = 1; return; } function _Collisions_ClipZMin($0,$1,$2,$3,$4,$5,$6) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; $6 = $6|0; var $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $7 = ($3<<24>>24)==(0); if (!($7)) { $8 = (_Collisions_DidSlide($0,$1,$6,$4,$2,$5)|0); $9 = ($8<<24>>24)==(0); if (!($9)) { return; } } $10 = ((($1)) + 8|0); $11 = +HEAPF32[$10>>2]; $12 = ((($6)) + 8|0); $13 = +HEAPF32[$12>>2]; $14 = $13 * 0.5; $15 = $11 - $14; $16 = $15 + -0.0010000000474974513; $17 = HEAP32[$0>>2]|0; $18 = ((($17)) + 12|0); HEAPF32[$18>>2] = $16; _Collisions_ClipZ($17,$6,$2,$5); $19 = ((($0)) + 6|0); HEAP8[$19>>0] = 1; return; } function _Collisions_DidSlide($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; var $$ = 0.0, $$1 = 0, $$58 = 0.0, $$59 = 0.0, $$60 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0; var $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0, $29 = 0.0, $30 = 0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; var $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0, $49 = 0.0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0; var $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $6 = sp; $7 = ((($1)) + 16|0); $8 = +HEAPF32[$7>>2]; $9 = ((($4)) + 4|0); $10 = +HEAPF32[$9>>2]; $11 = $8 - $10; $12 = $11 > 0.0; if (!($12)) { $$1 = 0; STACKTOP = sp;return ($$1|0); } $13 = HEAP32[$0>>2]|0; $14 = ((($13)) + 104|0); $15 = +HEAPF32[$14>>2]; $16 = $15 + 0.0099999997764825821; $17 = !($11 <= $16); if ($17) { $$1 = 0; STACKTOP = sp;return ($$1|0); } $18 = +HEAPF32[$1>>2]; $19 = ((($1)) + 12|0); $20 = +HEAPF32[$19>>2]; $21 = +HEAPF32[$2>>2]; $22 = $21 * 0.5; $23 = $20 - $22; $24 = $18 > $23; $$ = $24 ? $18 : $23; $25 = $18 + $22; $26 = $20 < $25; $27 = $26 ? $20 : $25; $28 = ((($1)) + 8|0); $29 = +HEAPF32[$28>>2]; $30 = ((($1)) + 20|0); $31 = +HEAPF32[$30>>2]; $32 = ((($2)) + 8|0); $33 = +HEAPF32[$32>>2]; $34 = $33 * 0.5; $35 = $31 - $34; $36 = $29 > $35; $$58 = $36 ? $29 : $35; $37 = $29 + $34; $38 = $31 < $37; $39 = $38 ? $31 : $37; $40 = +HEAPF32[$3>>2]; $41 = $$ + 0.0010000000474974513; $42 = $40 < $41; $$59 = $42 ? $40 : $41; HEAPF32[$6>>2] = $$59; $43 = ((($3)) + 12|0); $44 = +HEAPF32[$43>>2]; $45 = $27 + -0.0010000000474974513; $46 = $44 > $45; $47 = $46 ? $44 : $45; $48 = ((($6)) + 12|0); HEAPF32[$48>>2] = $47; $49 = $8 + 0.0010000000474974513; $50 = ((($6)) + 4|0); HEAPF32[$50>>2] = $49; $51 = ((($2)) + 4|0); $52 = +HEAPF32[$51>>2]; $53 = $49 + $52; $54 = ((($6)) + 16|0); HEAPF32[$54>>2] = $53; $55 = ((($3)) + 8|0); $56 = +HEAPF32[$55>>2]; $57 = $$58 + 0.0010000000474974513; $58 = $56 < $57; $$60 = $58 ? $56 : $57; $59 = ((($6)) + 8|0); HEAPF32[$59>>2] = $$60; $60 = ((($3)) + 20|0); $61 = +HEAPF32[$60>>2]; $62 = $39 + -0.0010000000474974513; $63 = $61 > $62; $64 = $63 ? $61 : $62; $65 = ((($6)) + 20|0); HEAPF32[$65>>2] = $64; $66 = (_Collisions_CanSlideThrough($6)|0); $67 = ($66<<24>>24)==(0); if ($67) { $$1 = 0; STACKTOP = sp;return ($$1|0); } $68 = HEAP32[$50>>2]|0; $69 = HEAP32[$0>>2]|0; $70 = ((($69)) + 8|0); HEAP32[$70>>2] = $68; $71 = ((($69)) + 111|0); HEAP8[$71>>0] = 1; _Collisions_ClipY($69,$2,$4,$5); $$1 = 1; STACKTOP = sp;return ($$1|0); } function _Collisions_ClipZ($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $4 = ((($0)) + 44|0); HEAPF32[$4>>2] = 0.0; $5 = ((($0)) + 12|0); $6 = +HEAPF32[$5>>2]; $7 = ((($1)) + 8|0); $8 = +HEAPF32[$7>>2]; $9 = $8 * 0.5; $10 = $6 - $9; $11 = ((($2)) + 8|0); HEAPF32[$11>>2] = $10; $12 = ((($3)) + 8|0); HEAPF32[$12>>2] = $10; $13 = +HEAPF32[$7>>2]; $14 = $13 * 0.5; $15 = $6 + $14; $16 = ((($2)) + 20|0); HEAPF32[$16>>2] = $15; $17 = ((($3)) + 20|0); HEAPF32[$17>>2] = $15; return; } function _Collisions_CanSlideThrough($0) { $0 = $0|0; var $$02534 = 0, $$02629 = 0, $$027 = 0, $$030 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0; var $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; var $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $1 = sp + 52|0; $2 = sp + 40|0; $3 = sp + 16|0; $4 = sp; _IVec3_Floor($1,$0); $5 = ((($0)) + 12|0); _IVec3_Floor($2,$5); $6 = ((($1)) + 4|0); $7 = HEAP32[$6>>2]|0; $8 = ((($2)) + 4|0); $9 = HEAP32[$8>>2]|0; $10 = ($7|0)>($9|0); if ($10) { $$027 = 1; STACKTOP = sp;return ($$027|0); } $11 = ((($4)) + 4|0); $12 = ((($1)) + 8|0); $13 = ((($2)) + 8|0); $14 = ((($4)) + 8|0); $15 = ((($3)) + 12|0); $$02534 = $7; L4: while(1) { $16 = (+($$02534|0)); HEAPF32[$11>>2] = $16; $17 = HEAP32[$12>>2]|0; $18 = HEAP32[$13>>2]|0; $19 = ($17|0)>($18|0); if (!($19)) { $$030 = $17; while(1) { $20 = (+($$030|0)); HEAPF32[$14>>2] = $20; $21 = HEAP32[$1>>2]|0; $22 = HEAP32[$2>>2]|0; $23 = ($21|0)>($22|0); if (!($23)) { $$02629 = $21; while(1) { $24 = (+($$02629|0)); HEAPF32[$4>>2] = $24; $25 = (_World_GetPhysicsBlock($$02629,$$02534,$$030)|0); $26 = $25&65535; $27 = (588036 + (($26*12)|0)|0); _Vec3_Add_191($3,$4,$27); $28 = (597252 + (($26*12)|0)|0); _Vec3_Add_191($15,$4,$28); $29 = (_AABB_Intersects($3,$0)|0); $30 = ($29<<24>>24)==(0); if (!($30)) { $31 = (578052 + ($26)|0); $32 = HEAP8[$31>>0]|0; $33 = ($32<<24>>24)==(2); if ($33) { $$027 = 0; label = 12; break L4; } } $34 = (($$02629) + 1)|0; $35 = HEAP32[$2>>2]|0; $36 = ($$02629|0)<($35|0); if ($36) { $$02629 = $34; } else { break; } } } $37 = (($$030) + 1)|0; $38 = HEAP32[$13>>2]|0; $39 = ($$030|0)<($38|0); if ($39) { $$030 = $37; } else { break; } } } $40 = (($$02534) + 1)|0; $41 = HEAP32[$8>>2]|0; $42 = ($$02534|0)<($41|0); if ($42) { $$02534 = $40; } else { $$027 = 1; label = 12; break; } } if ((label|0) == 12) { STACKTOP = sp;return ($$027|0); } return (0)|0; } function _Collisions_ClipY($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $4 = ((($0)) + 40|0); HEAPF32[$4>>2] = 0.0; $5 = ((($0)) + 8|0); $6 = HEAP32[$5>>2]|0; $7 = ((($2)) + 4|0); HEAP32[$7>>2] = $6; $8 = ((($3)) + 4|0); HEAP32[$8>>2] = $6; $9 = +HEAPF32[$5>>2]; $10 = ((($1)) + 4|0); $11 = +HEAPF32[$10>>2]; $12 = $9 + $11; $13 = ((($2)) + 16|0); HEAPF32[$13>>2] = $12; $14 = ((($3)) + 16|0); HEAPF32[$14>>2] = $12; return; } function _Collisions_ClipX($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $4 = ((($0)) + 36|0); HEAPF32[$4>>2] = 0.0; $5 = ((($0)) + 4|0); $6 = +HEAPF32[$5>>2]; $7 = +HEAPF32[$1>>2]; $8 = $7 * 0.5; $9 = $6 - $8; HEAPF32[$2>>2] = $9; HEAPF32[$3>>2] = $9; $10 = +HEAPF32[$1>>2]; $11 = $10 * 0.5; $12 = $6 + $11; $13 = ((($2)) + 12|0); HEAPF32[$13>>2] = $12; $14 = ((($3)) + 12|0); HEAPF32[$14>>2] = $12; return; } function _PhysicsComp_Init($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; _Mem_Set($0,0,32); $2 = ((($0)) + 1|0); HEAP8[$2>>0] = 1; $3 = ((($0)) + 8|0); HEAP32[$3>>2] = $1; $4 = ((($0)) + 12|0); HEAPF32[$4>>2] = 0.41999998688697815; $5 = ((($0)) + 16|0); HEAPF32[$5>>2] = 0.41999998688697815; $6 = ((($0)) + 20|0); HEAPF32[$6>>2] = 0.41999998688697815; return; } function _PhysicsComp_UpdateVelocityState($0) { $0 = $0|0; var $$sink = 0, $$sink91 = 0.0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0.0; var $115 = 0.0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0.0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0, $132 = 0; var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0.0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; var $19 = 0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; var $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; var $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0.0, $63 = 0, $64 = 0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0; var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0; var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0, $or$cond = 0, $phitmp = 0.0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $1 = sp; $2 = ((($0)) + 8|0); $3 = HEAP32[$2>>2]|0; $4 = ((($0)) + 24|0); $5 = HEAP32[$4>>2]|0; $6 = ((($5)) + 40|0); $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { $40 = ((($0)) + 2|0); $41 = HEAP8[$40>>0]|0; $42 = ($41<<24>>24)==(0); if (!($42)) { $43 = (_Entity_TouchesAnyRope($3)|0); $44 = ($43<<24>>24)==(0); if (!($44)) { $45 = ((($3)) + 40|0); $46 = +HEAPF32[$45>>2]; $47 = $46 > 0.019999999552965164; if ($47) { HEAPF32[$45>>2] = 0.019999999552965164; } } } } else { $9 = ((($3)) + 40|0); HEAPF32[$9>>2] = 0.0; $10 = ((($5)) + 36|0); $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { $13 = ((($0)) + 2|0); $14 = HEAP8[$13>>0]|0; $15 = ($14<<24>>24)==(0); if ($15) { $16 = ((($5)) + 37|0); $17 = HEAP8[$16>>0]|0; $18 = ($17<<24>>24)!=(0); $19 = $18 << 31 >> 31; $21 = $19; } else { $21 = 1; } } else { $21 = 1; } $20 = (+($21|0)); $22 = $20 * 0.11999999731779099; $23 = $22 + 0.0; HEAPF32[$9>>2] = $23; $24 = ((($5)) + 38|0); $25 = HEAP8[$24>>0]|0; $26 = ($25<<24>>24)==(0); if (!($26)) { $27 = ((($5)) + 13|0); $28 = HEAP8[$27>>0]|0; $29 = ($28<<24>>24)==(0); if (!($29)) { $30 = $22 + $23; HEAPF32[$9>>2] = $30; } } $31 = ((($5)) + 39|0); $32 = HEAP8[$31>>0]|0; $33 = ($32<<24>>24)==(0); if (!($33)) { $34 = ((($5)) + 13|0); $35 = HEAP8[$34>>0]|0; $36 = ($35<<24>>24)==(0); if (!($36)) { $37 = $20 * 0.059999998658895493; $38 = +HEAPF32[$9>>2]; $39 = $37 + $38; HEAPF32[$9>>2] = $39; } } } $48 = ((($0)) + 2|0); $49 = HEAP8[$48>>0]|0; $50 = ($49<<24>>24)==(0); if ($50) { $51 = ((($0)) + 1|0); HEAP8[$51>>0] = 0; STACKTOP = sp;return; } $52 = (_Entity_TouchesAnyWater($3)|0); $53 = (_Entity_TouchesAnyLava($3)|0); $54 = ($53<<24>>24)==(0); $55 = $53 | $52; $56 = ($55<<24>>24)==(0); if ($56) { $111 = HEAP8[$0>>0]|0; $112 = ($111<<24>>24)==(0); if (!($112)) { $113 = ((($3)) + 40|0); $114 = +HEAPF32[$113>>2]; $115 = $114 + 0.039999999105930328; HEAPF32[$113>>2] = $115; $116 = ((($5)) + 38|0); $117 = HEAP8[$116>>0]|0; $118 = ($117<<24>>24)==(0); if (!($118)) { $119 = ((($5)) + 13|0); $120 = HEAP8[$119>>0]|0; $121 = ($120<<24>>24)==(0); if (!($121)) { $122 = $115 + 0.039999999105930328; HEAPF32[$113>>2] = $122; } } $123 = ((($5)) + 39|0); $124 = HEAP8[$123>>0]|0; $125 = ($124<<24>>24)==(0); if (!($125)) { $126 = ((($5)) + 13|0); $127 = HEAP8[$126>>0]|0; $128 = ($127<<24>>24)==(0); if (!($128)) { $129 = +HEAPF32[$113>>2]; $130 = $129 + 0.019999999552965164; HEAPF32[$113>>2] = $130; } } $131 = ((($0)) + 1|0); HEAP8[$131>>0] = 0; STACKTOP = sp;return; } $132 = (_Entity_TouchesAnyRope($3)|0); $133 = ($132<<24>>24)==(0); if ($133) { $145 = ((($3)) + 111|0); $146 = HEAP8[$145>>0]|0; $147 = ($146<<24>>24)==(0); if ($147) { STACKTOP = sp;return; } _PhysicsComp_DoNormalJump($0); STACKTOP = sp;return; } else { $134 = ((($5)) + 38|0); $135 = HEAP8[$134>>0]|0; $136 = ($135<<24>>24)==(0); if ($136) { $143 = 0.10000000149011612; } else { $137 = ((($5)) + 13|0); $138 = HEAP8[$137>>0]|0; $139 = ($138<<24>>24)==(0); $phitmp = $139 ? 0.10000000149011612 : 0.15000000596046448; $143 = $phitmp; } $140 = ((($3)) + 40|0); $141 = +HEAPF32[$140>>2]; $142 = $143 + $141; HEAPF32[$140>>2] = $142; $144 = ((($0)) + 1|0); HEAP8[$144>>0] = 0; STACKTOP = sp;return; } } else { _Entity_GetBounds($3,$1); $57 = ((($1)) + 4|0); $58 = +HEAPF32[$57>>2]; $59 = (_Math_Floor($58)|0); $60 = (($59) + 1)|0; $61 = ((($1)) + 16|0); $62 = +HEAPF32[$61>>2]; $63 = (_Math_Floor($62)|0); $64 = ($59|0)<($63|0); $spec$select = $64 ? $60 : $63; $65 = (+($59|0)); HEAPF32[$57>>2] = $65; HEAPF32[$61>>2] = $65; $66 = (_Entity_TouchesAny($1,10)|0); $67 = ($spec$select|0)<($63|0); $68 = $67 ? $spec$select : $63; $69 = (+($68|0)); HEAPF32[$57>>2] = $69; $70 = ($spec$select|0)>($63|0); $71 = $70 ? $spec$select : $63; $72 = (+($71|0)); HEAPF32[$61>>2] = $72; $73 = (_Entity_TouchesAny($1,10)|0); $74 = ($66<<24>>24)==(0); $75 = ($73<<24>>24)!=(0); $or$cond = $74 | $75; if (!($or$cond)) { $76 = ((($3)) + 8|0); $77 = +HEAPF32[$76>>2]; $78 = (+_Math_Mod1($77)); $79 = !($78 >= 0.40000000596046448); if (!($79)) { $99 = ((($0)) + 28|0); $100 = HEAP32[$99>>2]|0; $101 = (_Collisions_HitHorizontal($100)|0); $102 = ($101<<24>>24)==(0); if ($102) { $104 = ((($0)) + 1|0); $105 = HEAP8[$104>>0]|0; $106 = ($105<<24>>24)==(0); if (!($106)) { $107 = $54 ? 0.10000000149011612 : 0.20000000298023224; $$sink91 = $107; label = 30; } } else { $103 = $54 ? 0.12999999523162842 : 0.30000001192092896; $$sink91 = $103; label = 30; } if ((label|0) == 30) { $$sink = ((($3)) + 40|0); $108 = +HEAPF32[$$sink>>2]; $109 = $$sink91 + $108; HEAPF32[$$sink>>2] = $109; } $110 = ((($0)) + 1|0); HEAP8[$110>>0] = 0; STACKTOP = sp;return; } } $80 = ((($0)) + 1|0); HEAP8[$80>>0] = 1; $81 = ((($3)) + 40|0); $82 = +HEAPF32[$81>>2]; $83 = $82 + 0.039999999105930328; HEAPF32[$81>>2] = $83; $84 = ((($5)) + 38|0); $85 = HEAP8[$84>>0]|0; $86 = ($85<<24>>24)==(0); if (!($86)) { $87 = ((($5)) + 13|0); $88 = HEAP8[$87>>0]|0; $89 = ($88<<24>>24)==(0); if (!($89)) { $90 = $83 + 0.039999999105930328; HEAPF32[$81>>2] = $90; } } $91 = ((($5)) + 39|0); $92 = HEAP8[$91>>0]|0; $93 = ($92<<24>>24)==(0); if ($93) { STACKTOP = sp;return; } $94 = ((($5)) + 13|0); $95 = HEAP8[$94>>0]|0; $96 = ($95<<24>>24)==(0); if ($96) { STACKTOP = sp;return; } $97 = +HEAPF32[$81>>2]; $98 = $97 + 0.019999999552965164; HEAPF32[$81>>2] = $98; STACKTOP = sp;return; } } function _PhysicsComp_TouchesLiquid($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = $0&65535; $2 = (578052 + ($1)|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)==(1); $5 = $4&1; return ($5|0); } function _PhysicsComp_DoNormalJump($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0; var $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 8|0); $2 = HEAP32[$1>>2]|0; $3 = ((($0)) + 24|0); $4 = HEAP32[$3>>2]|0; $5 = ((($0)) + 12|0); $6 = +HEAPF32[$5>>2]; $7 = $6 == 0.0; if ($7) { return; } $8 = ((($4)) + 28|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)<(1); if ($10) { return; } $11 = ((($2)) + 40|0); HEAPF32[$11>>2] = $6; $12 = ((($4)) + 38|0); $13 = HEAP8[$12>>0]|0; $14 = ($13<<24>>24)==(0); if (!($14)) { $15 = ((($4)) + 13|0); $16 = HEAP8[$15>>0]|0; $17 = ($16<<24>>24)==(0); if (!($17)) { $18 = $6 + $6; HEAPF32[$11>>2] = $18; } } $19 = ((($4)) + 39|0); $20 = HEAP8[$19>>0]|0; $21 = ($20<<24>>24)==(0); if (!($21)) { $22 = ((($4)) + 13|0); $23 = HEAP8[$22>>0]|0; $24 = ($23<<24>>24)==(0); if (!($24)) { $25 = $6 * 0.5; $26 = +HEAPF32[$11>>2]; $27 = $25 + $26; HEAPF32[$11>>2] = $27; } } $28 = ((($0)) + 1|0); HEAP8[$28>>0] = 0; return; } function _PhysicsComp_PhysicsTick($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0.0, $$091 = 0.0, $$1 = 0.0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$pr = 0, $10 = 0.0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0; var $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0; var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0; var $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0, $68 = 0; var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0.0, $77 = 0.0, $78 = 0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0; var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $phitmp = 0.0, $spec$select = 0.0, $spec$select97 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $$byval_copy6 = sp + 12|0; $$byval_copy5 = sp; $2 = ((($0)) + 8|0); $3 = HEAP32[$2>>2]|0; $4 = ((($0)) + 24|0); $5 = HEAP32[$4>>2]|0; $6 = ((($5)) + 34|0); $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if (!($8)) { $9 = ((($3)) + 111|0); HEAP8[$9>>0] = 0; } $10 = (+_PhysicsComp_GetBaseSpeed($0)); $11 = (+_PhysicsComp_GetSpeed($5,8.0)); $12 = $11 / 5.0; $13 = $10 * $12; $14 = (+_PhysicsComp_GetSpeed($5,1.6000000238418579)); $15 = $10 * $14; $16 = ((($5)) + 24|0); $17 = +HEAPF32[$16>>2]; $18 = $15 * $17; $19 = $18 < -75.0; $20 = $19 ? -75.0 : $18; $21 = $20 > 75.0; $22 = $21 ? 75.0 : $20; $23 = $13 < $10; $$0 = $23 ? $10 : $13; $24 = ((($5)) + 19|0); $25 = HEAP8[$24>>0]|0; $26 = ($25<<24>>24)==(0); do { if ($26) { $27 = ((($5)) + 40|0); $$091 = $22;$$1 = $$0;$45 = $27; } else { $28 = ((($5)) + 33|0); $29 = HEAP8[$28>>0]|0; $30 = ($29<<24>>24)==(0); $31 = ((($5)) + 40|0); $32 = HEAP8[$31>>0]|0; $33 = ($32<<24>>24)!=(0); $brmerge = $30 | $33; if ($brmerge) { $$091 = $22;$$1 = $$0;$45 = $31; } else { $34 = ((($0)) + 4|0); $35 = HEAP32[$34>>2]|0; $36 = ($35|0)==(1); if ($36) { $37 = $22 * 46.5; $38 = $$0 * 7.5; $$091 = $37;$$1 = $38;$45 = $31; break; } else { $39 = ($35|0)>(1); $40 = $22 * 93.0; $41 = $$0 * 10.0; $spec$select = $39 ? $40 : $22; $spec$select97 = $39 ? $41 : $$0; $$091 = $spec$select;$$1 = $spec$select97;$45 = $31; break; } } } } while(0); $42 = (_Entity_TouchesAnyWater($3)|0); $43 = ($42<<24>>24)==(0); if ($43) { label = 12; } else { $44 = HEAP8[$45>>0]|0; $46 = ($44<<24>>24)==(0); if ($46) { $47 = $$091 * 0.019999999552965164; ;HEAP32[$$byval_copy5>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$1+8>>2]|0; ;HEAP32[$$byval_copy6>>2]=HEAP32[11400>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[11400+4>>2]|0;HEAP32[$$byval_copy6+8>>2]=HEAP32[11400+8>>2]|0; _PhysicsComp_MoveNormal($0,$$byval_copy5,$47,$$byval_copy6,0.019999999552965164,$$1); } else { label = 12; } } do { if ((label|0) == 12) { $48 = (_Entity_TouchesAnyLava($3)|0); $49 = ($48<<24>>24)==(0); if (!($49)) { $50 = HEAP8[$45>>0]|0; $51 = ($50<<24>>24)==(0); if ($51) { $52 = $$091 * 0.019999999552965164; ;HEAP32[$$byval_copy5>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$1+8>>2]|0; ;HEAP32[$$byval_copy6>>2]=HEAP32[11412>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[11412+4>>2]|0;HEAP32[$$byval_copy6+8>>2]=HEAP32[11412+8>>2]|0; _PhysicsComp_MoveNormal($0,$$byval_copy5,$52,$$byval_copy6,0.019999999552965164,$$1); break; } } $53 = (_Entity_TouchesAnyRope($3)|0); $54 = ($53<<24>>24)==(0); $$pr = HEAP8[$45>>0]|0; $55 = ($$pr<<24>>24)==(0); if ($54) { if ($55) { $56 = ((($3)) + 111|0); $57 = HEAP8[$56>>0]|0; $58 = ($57<<24>>24)==(0); $phitmp = $58 ? 0.019999999552965164 : 0.10000000149011612; $109 = 1;$66 = $phitmp; } else { $109 = 0;$66 = 0.10000000149011612; } } else { if ($55) { ;HEAP32[$$byval_copy5>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$1+8>>2]|0; ;HEAP32[$$byval_copy6>>2]=HEAP32[11424>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[11424+4>>2]|0;HEAP32[$$byval_copy6+8>>2]=HEAP32[11424+8>>2]|0; _PhysicsComp_MoveNormal($0,$$byval_copy5,0.034000001847743988,$$byval_copy6,0.034000001847743988,$$1); break; } else { $109 = 0;$66 = 0.10000000149011612; } } $59 = HEAP8[$0>>0]|0; $60 = ($59<<24>>24)==(0); if ($60) { $61 = ((($3)) + 48|0); $62 = HEAP32[$61>>2]|0; $63 = ((($62)) + 48|0); $64 = +HEAPF32[$63>>2]; $70 = $64; } else { $70 = 0.019999999552965164; } $65 = $$091 * $66; $67 = ((($3)) + 48|0); $68 = HEAP32[$67>>2]|0; $69 = ((($68)) + 52|0); if ($109) { ;HEAP32[$$byval_copy5>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$1+8>>2]|0; ;HEAP32[$$byval_copy6>>2]=HEAP32[$69>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$69+4>>2]|0;HEAP32[$$byval_copy6+8>>2]=HEAP32[$69+8>>2]|0; _PhysicsComp_MoveNormal($0,$$byval_copy5,$65,$$byval_copy6,$70,$$1); } else { ;HEAP32[$$byval_copy5>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$1+8>>2]|0; ;HEAP32[$$byval_copy6>>2]=HEAP32[$69>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$69+4>>2]|0;HEAP32[$$byval_copy6+8>>2]=HEAP32[$69+8>>2]|0; _PhysicsComp_MoveFlying($0,$$byval_copy5,$65,$$byval_copy6,$70,$$1); } $71 = (_PhysicsComp_OnIce($3)|0); $72 = ($71<<24>>24)==(0); if (!($72)) { $73 = HEAP8[$45>>0]|0; $74 = ($73<<24>>24)==(0); if ($74) { $75 = ((($3)) + 36|0); $76 = +HEAPF32[$75>>2]; $77 = (+_Math_AbsF($76)); $78 = $77 > 0.25; if (!($78)) { $79 = ((($3)) + 44|0); $80 = +HEAPF32[$79>>2]; $81 = (+_Math_AbsF($80)); $82 = $81 > 0.25; if (!($82)) { break; } } $83 = +HEAPF32[$75>>2]; $84 = 0.25 / $83; $85 = (+_Math_AbsF($84)); $86 = ((($3)) + 44|0); $87 = +HEAPF32[$86>>2]; $88 = 0.25 / $87; $89 = (+_Math_AbsF($88)); $90 = $85 < $89; $91 = $90 ? $85 : $89; $92 = +HEAPF32[$75>>2]; $93 = $92 * $91; HEAPF32[$75>>2] = $93; $94 = +HEAPF32[$86>>2]; $95 = $91 * $94; HEAPF32[$86>>2] = $95; break; } } $96 = ((($3)) + 111|0); $97 = HEAP8[$96>>0]|0; $98 = ($97<<24>>24)==(0); if ($98) { $99 = ((($5)) + 35|0); $100 = HEAP8[$99>>0]|0; $101 = ($100<<24>>24)==(0); if ($101) { break; } } $102 = ((($3)) + 36|0); $103 = HEAP32[$67>>2]|0; $104 = ((($103)) + 64|0); _Vec3_Mul3_211($102,$102,$104); } } while(0); $105 = ((($3)) + 111|0); $106 = HEAP8[$105>>0]|0; $107 = ($106<<24>>24)==(0); if ($107) { STACKTOP = sp;return; } $108 = ((($0)) + 4|0); HEAP32[$108>>2] = 0; STACKTOP = sp;return; } function _PhysicsComp_GetBaseSpeed($0) { $0 = $0|0; var $$0 = 0.0, $1 = 0, $10 = 0, $11 = 0.0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $1 = sp; $2 = ((($0)) + 8|0); $3 = HEAP32[$2>>2]|0; _Entity_GetBounds($3,$1); HEAP8[$0>>0] = 0; $4 = (+_PhysicsComp_LowestModifier($0,$1,0)); $5 = ((($1)) + 4|0); $6 = +HEAPF32[$5>>2]; $7 = $6 + -0.03125; HEAPF32[$5>>2] = $7; $8 = (+_PhysicsComp_LowestModifier($0,$1,1)); $9 = $4 == 1.0E+9; $10 = $8 == 1.0E+9; $or$cond = $9 & $10; $11 = $9 ? $8 : $4; $$0 = $or$cond ? 1.0 : $11; STACKTOP = sp;return (+$$0); } function _PhysicsComp_GetSpeed($0,$1) { $0 = $0|0; $1 = +$1; var $$0 = 0.0, $$1 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 40|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)==(0); $5 = $4 ? 1.0 : $1; $6 = ((($0)) + 38|0); $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { $$0 = $5; } else { $9 = ((($0)) + 13|0); $10 = HEAP8[$9>>0]|0; $11 = ($10<<24>>24)==(0); if ($11) { $$0 = $5; } else { $12 = ((($0)) + 4|0); $13 = +HEAPF32[$12>>2]; $14 = $5 * $13; $15 = $5 + $14; $$0 = $15; } } $16 = ((($0)) + 39|0); $17 = HEAP8[$16>>0]|0; $18 = ($17<<24>>24)==(0); if ($18) { $$1 = $$0; } else { $19 = ((($0)) + 13|0); $20 = HEAP8[$19>>0]|0; $21 = ($20<<24>>24)==(0); if ($21) { $$1 = $$0; } else { $22 = ((($0)) + 4|0); $23 = +HEAPF32[$22>>2]; $24 = $5 * $23; $25 = $24 * 0.5; $26 = $$0 + $25; $$1 = $26; } } $27 = ((($0)) + 13|0); $28 = HEAP8[$27>>0]|0; $29 = ($28<<24>>24)==(0); $30 = $$1 < 1.0; $31 = $30 ? $$1 : 1.0; $32 = $29 ? $31 : $$1; return (+$32); } function _PhysicsComp_MoveNormal($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; $2 = +$2; $3 = $3|0; $4 = +$4; $5 = +$5; var $$byval_copy1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $$byval_copy1 = sp; ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$1+8>>2]|0; _PhysicsComp_MoveHor($0,$$byval_copy1,$2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0; _PhysicsComp_Move($0,$$byval_copy1,$4,$5); STACKTOP = sp;return; } function _PhysicsComp_MoveFlying($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; $2 = +$2; $3 = $3|0; $4 = +$4; $5 = +$5; var $$0 = 0.0, $$byval_copy1 = 0, $$old1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0.0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $$byval_copy1 = sp; $6 = ((($0)) + 8|0); $7 = HEAP32[$6>>2]|0; $8 = ((($0)) + 24|0); $9 = HEAP32[$8>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$1+8>>2]|0; _PhysicsComp_MoveHor($0,$$byval_copy1,$2); $10 = ((($7)) + 36|0); $11 = +HEAPF32[$10>>2]; $12 = $11 * $11; $13 = ((($7)) + 44|0); $14 = +HEAPF32[$13>>2]; $15 = $14 * $14; $16 = $12 + $15; $17 = (+_Math_SqrtF($16)); $18 = +HEAPF32[$1>>2]; $19 = $18 != 0.0; if ($19) { $$old1 = $17 > 0.0010000000474974513; if ($$old1) { label = 4; } else { $$0 = $5; } } else { $20 = ((($1)) + 8|0); $21 = +HEAPF32[$20>>2]; $22 = $21 != 0.0; $23 = $17 > 0.0010000000474974513; $or$cond = $23 & $22; if ($or$cond) { label = 4; } else { $$0 = $5; } } if ((label|0) == 4) { $24 = ((($7)) + 40|0); HEAPF32[$24>>2] = 0.0; $25 = ((($9)) + 36|0); $26 = HEAP8[$25>>0]|0; $27 = ($26<<24>>24)==(0); if ($27) { $28 = ((($0)) + 2|0); $29 = HEAP8[$28>>0]|0; $30 = ($29<<24>>24)==(0); if (!($30)) { label = 6; } } else { label = 6; } if ((label|0) == 6) { $31 = $17 + 0.0; HEAPF32[$24>>2] = $31; } $32 = ((($9)) + 37|0); $33 = HEAP8[$32>>0]|0; $34 = ($33<<24>>24)==(0); if ($34) { $$0 = 1.0; } else { $35 = +HEAPF32[$24>>2]; $36 = $35 - $17; HEAPF32[$24>>2] = $36; $$0 = 1.0; } } ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0; _PhysicsComp_Move($0,$$byval_copy1,$4,$$0); STACKTOP = sp;return; } function _PhysicsComp_OnIce($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0; var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $1 = sp; $2 = ((($0)) + 4|0); $3 = +HEAPF32[$2>>2]; $4 = (_Math_Floor($3)|0); $5 = ((($0)) + 8|0); $6 = +HEAPF32[$5>>2]; $7 = $6 + -0.0099999997764825821; $8 = (_Math_Floor($7)|0); $9 = ((($0)) + 12|0); $10 = +HEAPF32[$9>>2]; $11 = (_Math_Floor($10)|0); $12 = (_World_GetPhysicsBlock($4,$8,$11)|0); $13 = $12&65535; $14 = (578820 + ($13)|0); $15 = HEAP8[$14>>0]|0; $16 = ($15<<24>>24)==(3); if ($16) { $$0 = 1; STACKTOP = sp;return ($$0|0); } _Entity_GetBounds($0,$1); $17 = ((($1)) + 4|0); $18 = +HEAPF32[$17>>2]; $19 = $18 + -0.0099999997764825821; HEAPF32[$17>>2] = $19; $20 = ((($1)) + 16|0); HEAPF32[$20>>2] = $19; $21 = (_Entity_TouchesAny($1,11)|0); $$0 = $21; STACKTOP = sp;return ($$0|0); } function _Vec3_Mul3_211($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 * $4; HEAPF32[$0>>2] = $5; $6 = ((($1)) + 4|0); $7 = +HEAPF32[$6>>2]; $8 = ((($2)) + 4|0); $9 = +HEAPF32[$8>>2]; $10 = $7 * $9; $11 = ((($0)) + 4|0); HEAPF32[$11>>2] = $10; $12 = ((($1)) + 8|0); $13 = +HEAPF32[$12>>2]; $14 = ((($2)) + 8|0); $15 = +HEAPF32[$14>>2]; $16 = $13 * $15; $17 = ((($0)) + 8|0); HEAPF32[$17>>2] = $16; return; } function _PhysicsComp_TouchesSlipperyIce($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = $0&65535; $2 = (578820 + ($1)|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)==(4); $5 = $4&1; return ($5|0); } function _PhysicsComp_MoveHor($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = +$2; var $$0 = 0.0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = $3 * $3; $5 = ((($1)) + 8|0); $6 = +HEAPF32[$5>>2]; $7 = $6 * $6; $8 = $4 + $7; $9 = (+_Math_SqrtF($8)); $10 = $9 < 9.9999997473787516E-6; if ($10) { return; } $11 = $9 < 1.0; $$0 = $11 ? 1.0 : $9; $12 = $2 / $$0; $13 = ((($0)) + 8|0); $14 = HEAP32[$13>>2]|0; _Vec3_Mul1($1,$1,$12); $15 = ((($14)) + 36|0); _Vec3_Add_191($15,$15,$1); return; } function _PhysicsComp_Move($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = +$2; $3 = +$3; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; $6 = ((($5)) + 36|0); $7 = ((($5)) + 40|0); $8 = +HEAPF32[$7>>2]; $9 = $8 * $3; HEAPF32[$7>>2] = $9; $10 = ((($0)) + 24|0); $11 = HEAP32[$10>>2]|0; $12 = ((($11)) + 34|0); $13 = HEAP8[$12>>0]|0; $14 = ($13<<24>>24)==(0); if ($14) { $15 = ((($0)) + 28|0); $16 = HEAP32[$15>>2]|0; _Collisions_MoveAndWallSlide($16); } $17 = ((($5)) + 4|0); _Vec3_Add_191($17,$17,$6); $18 = +HEAPF32[$7>>2]; $19 = $18 / $3; HEAPF32[$7>>2] = $19; _Vec3_Mul3_211($6,$6,$1); $20 = +HEAPF32[$7>>2]; $21 = $20 - $2; HEAPF32[$7>>2] = $21; return; } function _Vec3_Mul1($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = +$2; var $10 = 0.0, $11 = 0.0, $12 = 0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = $3 * $2; HEAPF32[$0>>2] = $4; $5 = ((($1)) + 4|0); $6 = +HEAPF32[$5>>2]; $7 = $6 * $2; $8 = ((($0)) + 4|0); HEAPF32[$8>>2] = $7; $9 = ((($1)) + 8|0); $10 = +HEAPF32[$9>>2]; $11 = $10 * $2; $12 = ((($0)) + 8|0); HEAPF32[$12>>2] = $11; return; } function _PhysicsComp_LowestModifier($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$03749 = 0, $$03841 = 0, $$039$lcssa = 0.0, $$03948 = 0.0, $$043 = 0, $$1$lcssa = 0.0, $$142 = 0.0, $$2$ = 0.0, $$2$lcssa = 0.0, $$240 = 0.0, $$3 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; var $38 = 0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; var $56 = 0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0; var $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $3 = sp + 52|0; $4 = sp + 40|0; $5 = sp + 16|0; $6 = sp; _IVec3_Floor($3,$1); $7 = ((($1)) + 12|0); _IVec3_Floor($4,$7); $8 = HEAP32[$3>>2]|0; $9 = ($8|0)>(0); $10 = $9 ? $8 : 0; HEAP32[$3>>2] = $10; $11 = HEAP32[$4>>2]|0; $12 = HEAP32[(1407476)>>2]|0; $13 = ($11|0)<($12|0); $14 = $13 ? $11 : $12; HEAP32[$4>>2] = $14; $15 = ((($3)) + 4|0); $16 = HEAP32[$15>>2]|0; $17 = ($16|0)>(0); $18 = $17 ? $16 : 0; HEAP32[$15>>2] = $18; $19 = ((($4)) + 4|0); $20 = HEAP32[$19>>2]|0; $21 = HEAP32[(1407480)>>2]|0; $22 = ($20|0)<($21|0); $23 = $22 ? $20 : $21; HEAP32[$19>>2] = $23; $24 = ((($3)) + 8|0); $25 = HEAP32[$24>>2]|0; $26 = ($25|0)>(0); $27 = $26 ? $25 : 0; HEAP32[$24>>2] = $27; $28 = ((($4)) + 8|0); $29 = HEAP32[$28>>2]|0; $30 = HEAP32[(1407484)>>2]|0; $31 = ($29|0)<($30|0); $32 = $31 ? $29 : $30; HEAP32[$28>>2] = $32; $33 = HEAP32[$19>>2]|0; $34 = ($18|0)>($33|0); if ($34) { $$039$lcssa = 1.0E+9; STACKTOP = sp;return (+$$039$lcssa); } $35 = ((($6)) + 4|0); $36 = ((($6)) + 8|0); $37 = ($2<<24>>24)!=(0); $38 = ((($5)) + 12|0); $$03749 = $18;$$03948 = 1.0E+9; while(1) { $39 = (+($$03749|0)); HEAPF32[$35>>2] = $39; $40 = HEAP32[$24>>2]|0; $41 = HEAP32[$28>>2]|0; $42 = ($40|0)>($41|0); if ($42) { $$1$lcssa = $$03948; } else { $$043 = $40;$$142 = $$03948; while(1) { $43 = (+($$043|0)); HEAPF32[$36>>2] = $43; $44 = HEAP32[$3>>2]|0; $45 = HEAP32[$4>>2]|0; $46 = ($44|0)>($45|0); if ($46) { $$2$lcssa = $$142; } else { $$03841 = $44;$$240 = $$142; while(1) { $47 = (+($$03841|0)); HEAPF32[$6>>2] = $47; $48 = (_World_GetBlock_201($$03841,$$03749,$$043)|0); $49 = $48&65535; $50 = ($48<<16>>16)==(0); if ($50) { $$3 = $$240; } else { $51 = (578052 + ($49)|0); $52 = HEAP8[$51>>0]|0; $53 = ($52<<24>>24)!=(2); $or$cond = $37 | $53; if ($or$cond) { $54 = (588036 + (($49*12)|0)|0); _Vec3_Add_191($5,$6,$54); $55 = (597252 + (($49*12)|0)|0); _Vec3_Add_191($38,$6,$55); $56 = (_AABB_Intersects($5,$1)|0); $57 = ($56<<24>>24)==(0); if ($57) { $$3 = $$240; } else { $58 = (579588 + ($49<<2)|0); $59 = +HEAPF32[$58>>2]; $60 = $$240 < $59; $$2$ = $60 ? $$240 : $59; $61 = (578820 + ($49)|0); $62 = HEAP8[$61>>0]|0; $63 = ($62<<24>>24)==(1); if ($63) { HEAP8[$0>>0] = 1; $$3 = $$2$; } else { $$3 = $$2$; } } } else { $$3 = $$240; } } $64 = (($$03841) + 1)|0; $65 = HEAP32[$4>>2]|0; $66 = ($$03841|0)<($65|0); if ($66) { $$03841 = $64;$$240 = $$3; } else { $$2$lcssa = $$3; break; } } } $67 = (($$043) + 1)|0; $68 = HEAP32[$28>>2]|0; $69 = ($$043|0)<($68|0); if ($69) { $$043 = $67;$$142 = $$2$lcssa; } else { $$1$lcssa = $$2$lcssa; break; } } } $70 = (($$03749) + 1)|0; $71 = HEAP32[$19>>2]|0; $72 = ($$03749|0)<($71|0); if ($72) { $$03749 = $70;$$03948 = $$1$lcssa; } else { $$039$lcssa = $$1$lcssa; break; } } STACKTOP = sp;return (+$$039$lcssa); } function _PhysicsComp_CalcMaxHeight($0) { $0 = +$0; var $1 = 0.0, $10 = 0, $11 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = $0; $2 = $1 * 0.247483075; $3 = $2 + 0.98993229999999998; $4 = (+_Math_Log($3)); $5 = $4 * 49.498316449999997; $6 = (~~(($5))); $7 = (+_PhysicsComp_YPosAt($6,$0)); $8 = (($6) + 1)|0; $9 = (+_PhysicsComp_YPosAt($8,$0)); $10 = $7 > $9; $11 = $10 ? $7 : $9; return (+$11); } function _PhysicsComp_YPosAt($0,$1) { $0 = $0|0; $1 = +$1; var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (+($0|0)); $3 = $2 * -0.020202700000000001; $4 = (+_Math_Exp($3)); $5 = $1 * 49.0; $6 = -196.0 - $5; $7 = $6; $8 = $4 * $7; $9 = $0 << 2; $10 = (+($9|0)); $11 = $8 - $10; $12 = $1 * 50.0; $13 = $12; $14 = $11 + $13; $15 = $14 + 196.0; return (+$15); } function _PhysicsComp_CalcJumpVelocity($0) { $0 = +$0; var $$0 = 0.0, $$010 = 0.0, $$1 = 0.0, $$2 = 0.0, $$311 = 0.0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = $0 == 0.0; if ($1) { $$010 = 0.0; return (+$$010); } $2 = !($0 >= 256.0); $$0 = $2 ? 0.0 : 10.0; $3 = !($0 >= 512.0); $$1 = $3 ? $$0 : 16.5; $4 = !($0 >= 768.0); $$2 = $4 ? $$1 : 22.5; $5 = (+_PhysicsComp_CalcMaxHeight($$2)); $6 = $0; $7 = !($5 <= $6); if ($7) { $$010 = $$2; return (+$$010); } $$311 = $$2; while(1) { $8 = $$311 + 0.0010000000474974513; $9 = (+_PhysicsComp_CalcMaxHeight($8)); $10 = !($9 <= $6); if ($10) { $$010 = $8; break; } else { $$311 = $8; } } return (+$$010); } function _PhysicsComp_DoEntityPush($0) { $0 = $0|0; var $$032 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0; var $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, $or$cond31 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = ((($1)) + 4|0); HEAPF32[$2>>2] = 0.0; $3 = ((($0)) + 8|0); $4 = ((($0)) + 96|0); $5 = ((($0)) + 4|0); $6 = ((($0)) + 12|0); $7 = ((($1)) + 8|0); $8 = ((($0)) + 36|0); $$032 = 0; while(1) { $9 = (1241124 + ($$032<<2)|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)==(0|0); $12 = ($10|0)==($0|0); $or$cond31 = $11 | $12; if (!($or$cond31)) { $13 = ((($10)) + 48|0); $14 = HEAP32[$13>>2]|0; $15 = ((($14)) + 47|0); $16 = HEAP8[$15>>0]|0; $17 = ($16<<24>>24)==(0); if (!($17)) { $18 = +HEAPF32[$3>>2]; $19 = ((($10)) + 8|0); $20 = +HEAPF32[$19>>2]; $21 = ((($10)) + 96|0); $22 = +HEAPF32[$21>>2]; $23 = $20 + $22; $24 = !($18 <= $23); if (!($24)) { $25 = +HEAPF32[$4>>2]; $26 = $18 + $25; $27 = !($20 <= $26); if (!($27)) { $28 = ((($10)) + 4|0); $29 = +HEAPF32[$28>>2]; $30 = +HEAPF32[$5>>2]; $31 = $29 - $30; HEAPF32[$1>>2] = $31; $32 = ((($10)) + 12|0); $33 = +HEAPF32[$32>>2]; $34 = +HEAPF32[$6>>2]; $35 = $33 - $34; HEAPF32[$7>>2] = $35; $36 = $31 * $31; $37 = $35 * $35; $38 = $36 + $37; $39 = $38 < 0.0020000000949949026; $40 = $38 > 1.0; $or$cond = $39 | $40; if (!($or$cond)) { $41 = 1.0 - $38; $42 = $41 * 0.03125; _Vec3_Normalize($1,$1); _Vec3_Mul1($1,$1,$42); _Vec3_Sub($8,$8,$1); } } } } } $43 = (($$032) + 1)|0; $exitcond = ($43|0)==(256); if ($exitcond) { break; } else { $$032 = $43; } } STACKTOP = sp;return; } function _Vec3_Sub($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; HEAPF32[$0>>2] = $5; $6 = ((($1)) + 4|0); $7 = +HEAPF32[$6>>2]; $8 = ((($2)) + 4|0); $9 = +HEAPF32[$8>>2]; $10 = $7 - $9; $11 = ((($0)) + 4|0); HEAPF32[$11>>2] = $10; $12 = ((($1)) + 8|0); $13 = +HEAPF32[$12>>2]; $14 = ((($2)) + 8|0); $15 = +HEAPF32[$14>>2]; $16 = $13 - $15; $17 = ((($0)) + 8|0); HEAPF32[$17>>2] = $16; return; } function _SoundComp_Tick($0) { $0 = $0|0; var $$byval_copy = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $$byval_copy = sp + 12|0; $1 = sp; ;HEAP32[$1>>2]=HEAP32[(1242844)>>2]|0;HEAP32[$1+4>>2]=HEAP32[(1242844)+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[(1242844)+8>>2]|0; _SoundComp_GetSound(); $2 = HEAP8[1408221]|0; $3 = ($2<<24>>24)==(0); if ($3) { _Vec3_BigPos($1); } $4 = HEAP8[(1242263)>>0]|0; $5 = ($4<<24>>24)==(0); if ($5) { STACKTOP = sp;return; } ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0; $6 = (_SoundComp_ShouldPlay($$byval_copy)|0); $7 = ($6<<24>>24)==(0); $8 = ($0<<24>>24)!=(0); $or$cond = $8 & $7; if ($or$cond) { STACKTOP = sp;return; } ;HEAP32[11436>>2]=HEAP32[$1>>2]|0;HEAP32[11436+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[11436+8>>2]=HEAP32[$1+8>>2]|0; STACKTOP = sp;return; } function _SoundComp_GetSound() { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $0 = sp + 24|0; $1 = sp + 12|0; $2 = sp; _Entity_GetBounds(1242152,$0); HEAP8[1408222] = 0; HEAP8[1408221] = 0; (_Entity_TouchesAny($0,12)|0); $3 = HEAP8[1408222]|0; $4 = ($3<<24>>24)==(0); if (!($4)) { STACKTOP = sp;return; } ;HEAP32[$1>>2]=HEAP32[(1242844)>>2]|0;HEAP32[$1+4>>2]=HEAP32[(1242844)+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[(1242844)+8>>2]|0; $5 = ((($1)) + 4|0); $6 = +HEAPF32[$5>>2]; $7 = $6 + -0.0099999997764825821; HEAPF32[$5>>2] = $7; _IVec3_Floor($2,$1); $8 = HEAP32[$2>>2]|0; $9 = ((($2)) + 4|0); $10 = HEAP32[$9>>2]|0; $11 = ((($2)) + 8|0); $12 = HEAP32[$11>>2]|0; $13 = (_World_SafeGetBlock($8,$10,$12)|0); $14 = HEAP32[$9>>2]|0; $15 = (+($14|0)); $16 = $13&65535; $17 = (((597252 + (($16*12)|0)|0)) + 4|0); $18 = +HEAPF32[$17>>2]; $19 = $18 + $15; $20 = (584964 + ($16)|0); $21 = HEAP8[$20>>0]|0; $22 = +HEAPF32[$5>>2]; $23 = !($19 >= $22); if (!($23)) { $24 = (578052 + ($16)|0); $25 = HEAP8[$24>>0]|0; $26 = ($25<<24>>24)!=(2); $27 = ($21<<24>>24)==(0); $or$cond = $27 | $26; if (!($or$cond)) { HEAP8[1408221] = 1; HEAP8[1408222] = $21; STACKTOP = sp;return; } } $28 = HEAP32[$5>>2]|0; $29 = ((($0)) + 4|0); HEAP32[$29>>2] = $28; $30 = ((($0)) + 16|0); HEAP32[$30>>2] = $28; (_Entity_TouchesAny($0,13)|0); STACKTOP = sp;return; } function _Vec3_BigPos($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; ;HEAP32[$0>>2]=HEAP32[11784>>2]|0;HEAP32[$0+4>>2]=HEAP32[11784+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[11784+8>>2]|0; return; } function _SoundComp_ShouldPlay($0) { $0 = $0|0; var $$0 = 0.0, $$0$in = 0.0, $$012 = 0.0, $$012$in = 0.0, $$013 = 0, $$013$in = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0.0, $20 = 0, $21 = 0; var $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; _Vec3_Sub($1,11436,$0); $2 = +HEAPF32[(1242360)>>2]; $3 = $2 < 0.99900001287460327; if ($3) { $4 = (+_Vec3_LengthSquared($1)); $5 = $4 > 3.0625; $$013$in = $5; $$013 = $$013$in&1; STACKTOP = sp;return ($$013|0); } $6 = HEAP32[(1230632)>>2]|0; $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); $9 = +HEAPF32[(1242368)>>2]; $10 = $9; if ($8) { $15 = (+_Math_Sin($10)); $16 = +HEAPF32[(1242372)>>2]; $17 = $16; $18 = (+_Math_Sin($17)); $$0$in = $18;$$012$in = $15; } else { $11 = (+_Math_Cos($10)); $12 = +HEAPF32[(1242372)>>2]; $13 = $12; $14 = (+_Math_Cos($13)); $$0$in = $14;$$012$in = $11; } $$0 = $$0$in; $$012 = $$012$in; $19 = (_Math_Sign($$012)|0); $20 = (_Math_Sign($$0)|0); $21 = ($19|0)!=($20|0); $$013$in = $21; $$013 = $$013$in&1; STACKTOP = sp;return ($$013|0); } function _Vec3_LengthSquared($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = +HEAPF32[$0>>2]; $2 = $1 * $1; $3 = ((($0)) + 4|0); $4 = +HEAPF32[$3>>2]; $5 = $4 * $4; $6 = $2 + $5; $7 = ((($0)) + 8|0); $8 = +HEAPF32[$7>>2]; $9 = $8 * $8; $10 = $6 + $9; return (+$10); } function _Sounds_CheckNonSolid($0) { $0 = $0|0; var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = $0&65535; $2 = (584964 + ($1)|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)==(0); if (!($4)) { $5 = (578052 + ($1)|0); $6 = HEAP8[$5>>0]|0; $7 = ($6<<24>>24)==(2); if (!($7)) { HEAP8[1408222] = $3; } } $8 = (583428 + ($1)|0); $9 = HEAP8[$8>>0]|0; $10 = ($9<<24>>24)==(4); if ($10) { return 0; } HEAP8[1408221] = 1; return 0; } function _Sounds_CheckSolid($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = $0&65535; $2 = (584964 + ($1)|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)==(0); if (!($4)) { HEAP8[1408222] = $3; } $5 = (583428 + ($1)|0); $6 = HEAP8[$5>>0]|0; $7 = ($6<<24>>24)==(4); if ($7) { return 0; } HEAP8[1408221] = 1; return 0; } function _EnvRenderer_Init() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $spec$store$select = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; (_Options_UNSAFE_Get(22963,$0)|0); $1 = (_EnvRenderer_CalcFlags($0)|0); $2 = ($1|0)==(-1); $spec$store$select = $2 ? 0 : $1; $3 = $spec$store$select & 2; $4 = $3&255; HEAP8[1408224] = $4; $5 = $spec$store$select & 1; $6 = $5&255; HEAP8[1408223] = $6; _Event_Register((1250816),0,6); _Event_Register((1250556),0,279); _Event_Register(1250296,0,280); _Event_Register(1251076,0,281); _Event_Register((1254456),0,64); _Event_Register((1251856),0,282); _Event_Register((1252116),0,283); $7 = HEAP32[315052]|0; _Game_SetViewDistance($7); STACKTOP = sp;return; } function _EnvRenderer_Free() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _Event_Unregister((1250816),0,6); _Event_Unregister((1250556),0,279); _Event_Unregister(1250296,0,280); _Event_Unregister(1251076,0,281); _Event_Unregister((1254456),0,64); _Event_Unregister((1251856),0,282); _Event_Unregister((1252116),0,283); _OnContextLost_224(0); $0 = HEAP32[312229]|0; _Mem_Free($0); HEAP32[312229] = 0; _Gfx_DeleteTexture(1248980); _Gfx_DeleteTexture(1248984); _Gfx_DeleteTexture(1248988); _Gfx_DeleteTexture(1248992); return; } function _EnvRenderer_Reset() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; _Gfx_SetFog(0); _DeleteVbs(); $1 = HEAP32[312229]|0; _Mem_Free($1); HEAP32[312229] = 0; _IVec3_MaxValue($0); ;HEAP32[1248968>>2]=HEAP32[$0>>2]|0;HEAP32[1248968+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[1248968+8>>2]=HEAP32[$0+8>>2]|0; STACKTOP = sp;return; } function _EnvRenderer_OnNewMapLoaded() { var label = 0, sp = 0; sp = STACKTOP; _OnContextRecreated(0); return; } function _OnContextRecreated($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408223]|0; $2 = ($1<<24>>24)==(0); $3 = $2&1; _Gfx_SetFog($3); _UpdateAll(); return; } function _UpdateAll() { var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; _UpdateMapSides(); _UpdateMapEdges(); _UpdateClouds(); _UpdateSky(); _UpdateSkybox(); _EnvRenderer_UpdateFog(); _Gfx_DeleteVb(1248920); $0 = HEAP8[(1260360)>>0]|0; $1 = ($0<<24>>24)==(0); if (!($1)) { return; } $2 = (_Gfx_CreateDynamicVb(1,648)|0); HEAP32[312230] = $2; _UpdateBorderTextures(); return; } function _UpdateMapSides() { var $$0 = 0, $$073 = 0, $$sroa$0$0$$sroa_idx52$1 = 0, $$sroa$0$0$$sroa_idx52$2 = 0, $$sroa$0$0$$sroa_idx52$3 = 0, $$sroa$0$0$copyload53 = 0, $$sroa$0$0$copyload53$1 = 0, $$sroa$0$0$copyload53$2 = 0, $$sroa$0$0$copyload53$3 = 0, $$sroa$10$0$$sroa_idx65 = 0, $$sroa$10$0$$sroa_idx65$1 = 0, $$sroa$10$0$$sroa_idx65$2 = 0, $$sroa$10$0$$sroa_idx65$3 = 0, $$sroa$10$0$$sroa_idx66 = 0, $$sroa$10$0$$sroa_idx66$1 = 0, $$sroa$10$0$$sroa_idx66$2 = 0, $$sroa$10$0$$sroa_idx66$3 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$0$copyload$1 = 0, $$sroa$10$0$copyload$2 = 0; var $$sroa$10$0$copyload$3 = 0, $$sroa$10$0$copyload67 = 0, $$sroa$10$0$copyload67$1 = 0, $$sroa$10$0$copyload67$2 = 0, $$sroa$10$0$copyload67$3 = 0, $$sroa$6$0$$sroa_idx56 = 0, $$sroa$6$0$$sroa_idx56$1 = 0, $$sroa$6$0$$sroa_idx56$2 = 0, $$sroa$6$0$$sroa_idx56$3 = 0, $$sroa$6$0$copyload57 = 0, $$sroa$6$0$copyload57$1 = 0, $$sroa$6$0$copyload57$2 = 0, $$sroa$6$0$copyload57$3 = 0, $$sroa$8$0$$sroa_idx60 = 0, $$sroa$8$0$$sroa_idx60$1 = 0, $$sroa$8$0$$sroa_idx60$2 = 0, $$sroa$8$0$$sroa_idx60$3 = 0, $$sroa$8$0$$sroa_idx61 = 0, $$sroa$8$0$$sroa_idx61$1 = 0, $$sroa$8$0$$sroa_idx61$2 = 0; var $$sroa$8$0$$sroa_idx61$3 = 0, $$sroa$8$0$copyload = 0, $$sroa$8$0$copyload$1 = 0, $$sroa$8$0$copyload$2 = 0, $$sroa$8$0$copyload$3 = 0, $$sroa$8$0$copyload62 = 0, $$sroa$8$0$copyload62$1 = 0, $$sroa$8$0$copyload62$2 = 0, $$sroa$8$0$copyload62$3 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; var $55 = 0, $56 = 0, $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0; var $73 = 0.0, $74 = 0.0, $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; var $91 = 0, $92 = 0, $or$cond = 0, $spec$select = 0, $spec$select75 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 98384|0; $0 = sp + 98304|0; $1 = sp; $2 = sp + 98368|0; _Gfx_DeleteVb(1248960); $3 = HEAP32[351863]|0; $4 = ($3|0)!=(0|0); $5 = HEAP8[(1260360)>>0]|0; $6 = ($5<<24>>24)==(0); $or$cond = $4 & $6; if (!($or$cond)) { STACKTOP = sp;return; } $7 = HEAP16[(1407514)>>1]|0; $8 = $7&65535; $9 = (583428 + ($8)|0); $10 = HEAP8[$9>>0]|0; $11 = ($10<<24>>24)==(4); if ($11) { STACKTOP = sp;return; } _CalcBorderRects($0); HEAP32[312241] = 0; $$sroa$8$0$$sroa_idx60 = ((($0)) + 8|0); $$sroa$8$0$copyload = HEAP32[$$sroa$8$0$$sroa_idx60>>2]|0; $$sroa$10$0$$sroa_idx65 = ((($0)) + 12|0); $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx65>>2]|0; $12 = (_CalcNumVertices($$sroa$8$0$copyload,$$sroa$10$0$copyload)|0); $13 = HEAP32[312241]|0; $14 = (($13) + ($12))|0; HEAP32[312241] = $14; $$sroa$8$0$$sroa_idx60$1 = ((($0)) + 24|0); $$sroa$8$0$copyload$1 = HEAP32[$$sroa$8$0$$sroa_idx60$1>>2]|0; $$sroa$10$0$$sroa_idx65$1 = ((($0)) + 28|0); $$sroa$10$0$copyload$1 = HEAP32[$$sroa$10$0$$sroa_idx65$1>>2]|0; $15 = (_CalcNumVertices($$sroa$8$0$copyload$1,$$sroa$10$0$copyload$1)|0); $16 = HEAP32[312241]|0; $17 = (($16) + ($15))|0; HEAP32[312241] = $17; $$sroa$8$0$$sroa_idx60$2 = ((($0)) + 40|0); $$sroa$8$0$copyload$2 = HEAP32[$$sroa$8$0$$sroa_idx60$2>>2]|0; $$sroa$10$0$$sroa_idx65$2 = ((($0)) + 44|0); $$sroa$10$0$copyload$2 = HEAP32[$$sroa$10$0$$sroa_idx65$2>>2]|0; $18 = (_CalcNumVertices($$sroa$8$0$copyload$2,$$sroa$10$0$copyload$2)|0); $19 = HEAP32[312241]|0; $20 = (($19) + ($18))|0; HEAP32[312241] = $20; $$sroa$8$0$$sroa_idx60$3 = ((($0)) + 56|0); $$sroa$8$0$copyload$3 = HEAP32[$$sroa$8$0$$sroa_idx60$3>>2]|0; $$sroa$10$0$$sroa_idx65$3 = ((($0)) + 60|0); $$sroa$10$0$copyload$3 = HEAP32[$$sroa$10$0$$sroa_idx65$3>>2]|0; $21 = (_CalcNumVertices($$sroa$8$0$copyload$3,$$sroa$10$0$copyload$3)|0); $22 = HEAP32[312241]|0; $23 = (($22) + ($21))|0; HEAP32[312241] = $23; $24 = HEAP32[(1407516)>>2]|0; $25 = HEAP32[(1407520)>>2]|0; $26 = (($25) + ($24))|0; $27 = HEAP32[(1407464)>>2]|0; $28 = HEAP32[(1407472)>>2]|0; $29 = (_CalcNumVertices($27,$28)|0); $30 = HEAP32[312241]|0; $31 = (($30) + ($29))|0; HEAP32[312241] = $31; $32 = HEAP32[(1407464)>>2]|0; $33 = (_Math_AbsI($26)|0); $34 = (_CalcNumVertices($32,$33)|0); $35 = $34 << 1; $36 = HEAP32[312241]|0; $37 = (($36) + ($35))|0; HEAP32[312241] = $37; $38 = HEAP32[(1407472)>>2]|0; $39 = (_Math_AbsI($26)|0); $40 = (_CalcNumVertices($38,$39)|0); $41 = $40 << 1; $42 = HEAP32[312241]|0; $43 = (($42) + ($41))|0; HEAP32[312241] = $43; $44 = ($43|0)>(4096); if ($44) { $45 = (_Mem_Alloc($43,24,22908)|0); $$0 = $45; } else { $$0 = $1; } HEAP32[$2>>2] = $$0; $46 = (571140 + ($8)|0); $47 = HEAP8[$46>>0]|0; $48 = ($47<<24>>24)==(0); $49 = HEAP32[(1407588)>>2]|0; $50 = $48 ? $49 : -1; $51 = (585732 + ($8)|0); $52 = HEAP8[$51>>0]|0; $53 = ($52<<24>>24)==(0); if ($53) { $$073 = $50; } else { $54 = (571908 + ($8<<2)|0); $55 = HEAP32[$54>>2]|0; $56 = (_PackedCol_Tint($50,$55)|0); $$073 = $56; } $57 = (+($26|0)); $58 = (((606468 + (($8*12)|0)|0)) + 4|0); $59 = (((588036 + (($8*12)|0)|0)) + 4|0); $$sroa$0$0$copyload53 = HEAP32[$0>>2]|0; $$sroa$6$0$$sroa_idx56 = ((($0)) + 4|0); $$sroa$6$0$copyload57 = HEAP32[$$sroa$6$0$$sroa_idx56>>2]|0; $$sroa$8$0$$sroa_idx61 = ((($0)) + 8|0); $$sroa$8$0$copyload62 = HEAP32[$$sroa$8$0$$sroa_idx61>>2]|0; $$sroa$10$0$$sroa_idx66 = ((($0)) + 12|0); $$sroa$10$0$copyload67 = HEAP32[$$sroa$10$0$$sroa_idx66>>2]|0; $60 = (($$sroa$8$0$copyload62) + ($$sroa$0$0$copyload53))|0; $61 = (($$sroa$10$0$copyload67) + ($$sroa$6$0$copyload57))|0; $62 = +HEAPF32[$58>>2]; $63 = +HEAPF32[$59>>2]; $64 = $62 - $63; _DrawBorderY($$sroa$0$0$copyload53,$$sroa$6$0$copyload57,$60,$61,$57,$$073,0.0,$64,$2); $$sroa$0$0$$sroa_idx52$1 = ((($0)) + 16|0); $$sroa$0$0$copyload53$1 = HEAP32[$$sroa$0$0$$sroa_idx52$1>>2]|0; $$sroa$6$0$$sroa_idx56$1 = ((($0)) + 20|0); $$sroa$6$0$copyload57$1 = HEAP32[$$sroa$6$0$$sroa_idx56$1>>2]|0; $$sroa$8$0$$sroa_idx61$1 = ((($0)) + 24|0); $$sroa$8$0$copyload62$1 = HEAP32[$$sroa$8$0$$sroa_idx61$1>>2]|0; $$sroa$10$0$$sroa_idx66$1 = ((($0)) + 28|0); $$sroa$10$0$copyload67$1 = HEAP32[$$sroa$10$0$$sroa_idx66$1>>2]|0; $65 = (($$sroa$8$0$copyload62$1) + ($$sroa$0$0$copyload53$1))|0; $66 = (($$sroa$10$0$copyload67$1) + ($$sroa$6$0$copyload57$1))|0; $67 = +HEAPF32[$58>>2]; $68 = +HEAPF32[$59>>2]; $69 = $67 - $68; _DrawBorderY($$sroa$0$0$copyload53$1,$$sroa$6$0$copyload57$1,$65,$66,$57,$$073,0.0,$69,$2); $$sroa$0$0$$sroa_idx52$2 = ((($0)) + 32|0); $$sroa$0$0$copyload53$2 = HEAP32[$$sroa$0$0$$sroa_idx52$2>>2]|0; $$sroa$6$0$$sroa_idx56$2 = ((($0)) + 36|0); $$sroa$6$0$copyload57$2 = HEAP32[$$sroa$6$0$$sroa_idx56$2>>2]|0; $$sroa$8$0$$sroa_idx61$2 = ((($0)) + 40|0); $$sroa$8$0$copyload62$2 = HEAP32[$$sroa$8$0$$sroa_idx61$2>>2]|0; $$sroa$10$0$$sroa_idx66$2 = ((($0)) + 44|0); $$sroa$10$0$copyload67$2 = HEAP32[$$sroa$10$0$$sroa_idx66$2>>2]|0; $70 = (($$sroa$8$0$copyload62$2) + ($$sroa$0$0$copyload53$2))|0; $71 = (($$sroa$10$0$copyload67$2) + ($$sroa$6$0$copyload57$2))|0; $72 = +HEAPF32[$58>>2]; $73 = +HEAPF32[$59>>2]; $74 = $72 - $73; _DrawBorderY($$sroa$0$0$copyload53$2,$$sroa$6$0$copyload57$2,$70,$71,$57,$$073,0.0,$74,$2); $$sroa$0$0$$sroa_idx52$3 = ((($0)) + 48|0); $$sroa$0$0$copyload53$3 = HEAP32[$$sroa$0$0$$sroa_idx52$3>>2]|0; $$sroa$6$0$$sroa_idx56$3 = ((($0)) + 52|0); $$sroa$6$0$copyload57$3 = HEAP32[$$sroa$6$0$$sroa_idx56$3>>2]|0; $$sroa$8$0$$sroa_idx61$3 = ((($0)) + 56|0); $$sroa$8$0$copyload62$3 = HEAP32[$$sroa$8$0$$sroa_idx61$3>>2]|0; $$sroa$10$0$$sroa_idx66$3 = ((($0)) + 60|0); $$sroa$10$0$copyload67$3 = HEAP32[$$sroa$10$0$$sroa_idx66$3>>2]|0; $75 = (($$sroa$8$0$copyload62$3) + ($$sroa$0$0$copyload53$3))|0; $76 = (($$sroa$10$0$copyload67$3) + ($$sroa$6$0$copyload57$3))|0; $77 = +HEAPF32[$58>>2]; $78 = +HEAPF32[$59>>2]; $79 = $77 - $78; _DrawBorderY($$sroa$0$0$copyload53$3,$$sroa$6$0$copyload57$3,$75,$76,$57,$$073,0.0,$79,$2); $80 = ($26|0)<(0); $spec$select = $80 ? $26 : 0; $spec$select75 = $80 ? 0 : $26; $81 = HEAP32[(1407464)>>2]|0; $82 = HEAP32[(1407472)>>2]|0; _DrawBorderY(0,0,$81,$82,0.0,$$073,0.0,0.0,$2); $83 = HEAP32[(1407464)>>2]|0; _DrawBorderZ(0,$83,$spec$select,$spec$select75,$$073,$2); $84 = HEAP32[(1407472)>>2]|0; $85 = HEAP32[(1407464)>>2]|0; _DrawBorderZ($84,$85,$spec$select,$spec$select75,$$073,$2); $86 = HEAP32[(1407472)>>2]|0; _DrawBorderX(0,$86,$spec$select,$spec$select75,$$073,$2); $87 = HEAP32[(1407464)>>2]|0; $88 = HEAP32[(1407472)>>2]|0; _DrawBorderX($87,$88,$spec$select,$spec$select75,$$073,$2); $89 = HEAP32[312241]|0; $90 = (_Gfx_CreateVb($$0,1,$89)|0); HEAP32[312240] = $90; $91 = HEAP32[312241]|0; $92 = ($91|0)>(4096); if (!($92)) { STACKTOP = sp;return; } _Mem_Free($$0); STACKTOP = sp;return; } function _UpdateMapEdges() { var $$0 = 0, $$051 = 0, $$sroa$0$0$$sroa_idx32$1 = 0, $$sroa$0$0$$sroa_idx32$2 = 0, $$sroa$0$0$$sroa_idx32$3 = 0, $$sroa$0$0$copyload33 = 0, $$sroa$0$0$copyload33$1 = 0, $$sroa$0$0$copyload33$2 = 0, $$sroa$0$0$copyload33$3 = 0, $$sroa$10$0$$sroa_idx45 = 0, $$sroa$10$0$$sroa_idx45$1 = 0, $$sroa$10$0$$sroa_idx45$2 = 0, $$sroa$10$0$$sroa_idx45$3 = 0, $$sroa$10$0$$sroa_idx46 = 0, $$sroa$10$0$$sroa_idx46$1 = 0, $$sroa$10$0$$sroa_idx46$2 = 0, $$sroa$10$0$$sroa_idx46$3 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$0$copyload$1 = 0, $$sroa$10$0$copyload$2 = 0; var $$sroa$10$0$copyload$3 = 0, $$sroa$10$0$copyload47 = 0, $$sroa$10$0$copyload47$1 = 0, $$sroa$10$0$copyload47$2 = 0, $$sroa$10$0$copyload47$3 = 0, $$sroa$6$0$$sroa_idx36 = 0, $$sroa$6$0$$sroa_idx36$1 = 0, $$sroa$6$0$$sroa_idx36$2 = 0, $$sroa$6$0$$sroa_idx36$3 = 0, $$sroa$6$0$copyload37 = 0, $$sroa$6$0$copyload37$1 = 0, $$sroa$6$0$copyload37$2 = 0, $$sroa$6$0$copyload37$3 = 0, $$sroa$8$0$$sroa_idx40 = 0, $$sroa$8$0$$sroa_idx40$1 = 0, $$sroa$8$0$$sroa_idx40$2 = 0, $$sroa$8$0$$sroa_idx40$3 = 0, $$sroa$8$0$$sroa_idx41 = 0, $$sroa$8$0$$sroa_idx41$1 = 0, $$sroa$8$0$$sroa_idx41$2 = 0; var $$sroa$8$0$$sroa_idx41$3 = 0, $$sroa$8$0$copyload = 0, $$sroa$8$0$copyload$1 = 0, $$sroa$8$0$copyload$2 = 0, $$sroa$8$0$copyload$3 = 0, $$sroa$8$0$copyload42 = 0, $$sroa$8$0$copyload42$1 = 0, $$sroa$8$0$copyload42$2 = 0, $$sroa$8$0$copyload42$3 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; var $37 = 0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0.0, $54 = 0.0; var $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0, $68 = 0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0; var $73 = 0.0, $74 = 0.0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 98384|0; $0 = sp + 98304|0; $1 = sp; $2 = sp + 98368|0; _Gfx_DeleteVb(1248952); $3 = HEAP32[351863]|0; $4 = ($3|0)!=(0|0); $5 = HEAP8[(1260360)>>0]|0; $6 = ($5<<24>>24)==(0); $or$cond = $4 & $6; if (!($or$cond)) { STACKTOP = sp;return; } $7 = HEAP16[703756]|0; $8 = $7&65535; $9 = (583428 + ($8)|0); $10 = HEAP8[$9>>0]|0; $11 = ($10<<24>>24)==(4); if ($11) { STACKTOP = sp;return; } _CalcBorderRects($0); HEAP32[312239] = 0; $$sroa$8$0$$sroa_idx40 = ((($0)) + 8|0); $$sroa$8$0$copyload = HEAP32[$$sroa$8$0$$sroa_idx40>>2]|0; $$sroa$10$0$$sroa_idx45 = ((($0)) + 12|0); $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx45>>2]|0; $12 = (_CalcNumVertices($$sroa$8$0$copyload,$$sroa$10$0$copyload)|0); $13 = HEAP32[312239]|0; $14 = (($13) + ($12))|0; HEAP32[312239] = $14; $$sroa$8$0$$sroa_idx40$1 = ((($0)) + 24|0); $$sroa$8$0$copyload$1 = HEAP32[$$sroa$8$0$$sroa_idx40$1>>2]|0; $$sroa$10$0$$sroa_idx45$1 = ((($0)) + 28|0); $$sroa$10$0$copyload$1 = HEAP32[$$sroa$10$0$$sroa_idx45$1>>2]|0; $15 = (_CalcNumVertices($$sroa$8$0$copyload$1,$$sroa$10$0$copyload$1)|0); $16 = HEAP32[312239]|0; $17 = (($16) + ($15))|0; HEAP32[312239] = $17; $$sroa$8$0$$sroa_idx40$2 = ((($0)) + 40|0); $$sroa$8$0$copyload$2 = HEAP32[$$sroa$8$0$$sroa_idx40$2>>2]|0; $$sroa$10$0$$sroa_idx45$2 = ((($0)) + 44|0); $$sroa$10$0$copyload$2 = HEAP32[$$sroa$10$0$$sroa_idx45$2>>2]|0; $18 = (_CalcNumVertices($$sroa$8$0$copyload$2,$$sroa$10$0$copyload$2)|0); $19 = HEAP32[312239]|0; $20 = (($19) + ($18))|0; HEAP32[312239] = $20; $$sroa$8$0$$sroa_idx40$3 = ((($0)) + 56|0); $$sroa$8$0$copyload$3 = HEAP32[$$sroa$8$0$$sroa_idx40$3>>2]|0; $$sroa$10$0$$sroa_idx45$3 = ((($0)) + 60|0); $$sroa$10$0$copyload$3 = HEAP32[$$sroa$10$0$$sroa_idx45$3>>2]|0; $21 = (_CalcNumVertices($$sroa$8$0$copyload$3,$$sroa$10$0$copyload$3)|0); $22 = HEAP32[312239]|0; $23 = (($22) + ($21))|0; HEAP32[312239] = $23; $24 = ($23|0)>(4096); if ($24) { $25 = (_Mem_Alloc($23,24,22894)|0); $$0 = $25; } else { $$0 = $1; } HEAP32[$2>>2] = $$0; $26 = (571140 + ($8)|0); $27 = HEAP8[$26>>0]|0; $28 = ($27<<24>>24)==(0); $29 = HEAP32[(1407572)>>2]|0; $30 = $28 ? $29 : -1; $31 = (585732 + ($8)|0); $32 = HEAP8[$31>>0]|0; $33 = ($32<<24>>24)==(0); if ($33) { $$051 = $30; } else { $34 = (571908 + ($8<<2)|0); $35 = HEAP32[$34>>2]|0; $36 = (_PackedCol_Tint($30,$35)|0); $$051 = $36; } $37 = HEAP32[(1407516)>>2]|0; $38 = (+($37|0)); $39 = (606468 + (($8*12)|0)|0); $40 = (588036 + (($8*12)|0)|0); $41 = (((606468 + (($8*12)|0)|0)) + 4|0); $42 = (((588036 + (($8*12)|0)|0)) + 4|0); $$sroa$0$0$copyload33 = HEAP32[$0>>2]|0; $$sroa$6$0$$sroa_idx36 = ((($0)) + 4|0); $$sroa$6$0$copyload37 = HEAP32[$$sroa$6$0$$sroa_idx36>>2]|0; $$sroa$8$0$$sroa_idx41 = ((($0)) + 8|0); $$sroa$8$0$copyload42 = HEAP32[$$sroa$8$0$$sroa_idx41>>2]|0; $$sroa$10$0$$sroa_idx46 = ((($0)) + 12|0); $$sroa$10$0$copyload47 = HEAP32[$$sroa$10$0$$sroa_idx46>>2]|0; $43 = (($$sroa$8$0$copyload42) + ($$sroa$0$0$copyload33))|0; $44 = (($$sroa$10$0$copyload47) + ($$sroa$6$0$copyload37))|0; $45 = +HEAPF32[$39>>2]; $46 = +HEAPF32[$40>>2]; $47 = $45 - $46; $48 = +HEAPF32[$41>>2]; $49 = +HEAPF32[$42>>2]; $50 = $48 - $49; _DrawBorderY($$sroa$0$0$copyload33,$$sroa$6$0$copyload37,$43,$44,$38,$$051,$47,$50,$2); $$sroa$0$0$$sroa_idx32$1 = ((($0)) + 16|0); $$sroa$0$0$copyload33$1 = HEAP32[$$sroa$0$0$$sroa_idx32$1>>2]|0; $$sroa$6$0$$sroa_idx36$1 = ((($0)) + 20|0); $$sroa$6$0$copyload37$1 = HEAP32[$$sroa$6$0$$sroa_idx36$1>>2]|0; $$sroa$8$0$$sroa_idx41$1 = ((($0)) + 24|0); $$sroa$8$0$copyload42$1 = HEAP32[$$sroa$8$0$$sroa_idx41$1>>2]|0; $$sroa$10$0$$sroa_idx46$1 = ((($0)) + 28|0); $$sroa$10$0$copyload47$1 = HEAP32[$$sroa$10$0$$sroa_idx46$1>>2]|0; $51 = (($$sroa$8$0$copyload42$1) + ($$sroa$0$0$copyload33$1))|0; $52 = (($$sroa$10$0$copyload47$1) + ($$sroa$6$0$copyload37$1))|0; $53 = +HEAPF32[$39>>2]; $54 = +HEAPF32[$40>>2]; $55 = $53 - $54; $56 = +HEAPF32[$41>>2]; $57 = +HEAPF32[$42>>2]; $58 = $56 - $57; _DrawBorderY($$sroa$0$0$copyload33$1,$$sroa$6$0$copyload37$1,$51,$52,$38,$$051,$55,$58,$2); $$sroa$0$0$$sroa_idx32$2 = ((($0)) + 32|0); $$sroa$0$0$copyload33$2 = HEAP32[$$sroa$0$0$$sroa_idx32$2>>2]|0; $$sroa$6$0$$sroa_idx36$2 = ((($0)) + 36|0); $$sroa$6$0$copyload37$2 = HEAP32[$$sroa$6$0$$sroa_idx36$2>>2]|0; $$sroa$8$0$$sroa_idx41$2 = ((($0)) + 40|0); $$sroa$8$0$copyload42$2 = HEAP32[$$sroa$8$0$$sroa_idx41$2>>2]|0; $$sroa$10$0$$sroa_idx46$2 = ((($0)) + 44|0); $$sroa$10$0$copyload47$2 = HEAP32[$$sroa$10$0$$sroa_idx46$2>>2]|0; $59 = (($$sroa$8$0$copyload42$2) + ($$sroa$0$0$copyload33$2))|0; $60 = (($$sroa$10$0$copyload47$2) + ($$sroa$6$0$copyload37$2))|0; $61 = +HEAPF32[$39>>2]; $62 = +HEAPF32[$40>>2]; $63 = $61 - $62; $64 = +HEAPF32[$41>>2]; $65 = +HEAPF32[$42>>2]; $66 = $64 - $65; _DrawBorderY($$sroa$0$0$copyload33$2,$$sroa$6$0$copyload37$2,$59,$60,$38,$$051,$63,$66,$2); $$sroa$0$0$$sroa_idx32$3 = ((($0)) + 48|0); $$sroa$0$0$copyload33$3 = HEAP32[$$sroa$0$0$$sroa_idx32$3>>2]|0; $$sroa$6$0$$sroa_idx36$3 = ((($0)) + 52|0); $$sroa$6$0$copyload37$3 = HEAP32[$$sroa$6$0$$sroa_idx36$3>>2]|0; $$sroa$8$0$$sroa_idx41$3 = ((($0)) + 56|0); $$sroa$8$0$copyload42$3 = HEAP32[$$sroa$8$0$$sroa_idx41$3>>2]|0; $$sroa$10$0$$sroa_idx46$3 = ((($0)) + 60|0); $$sroa$10$0$copyload47$3 = HEAP32[$$sroa$10$0$$sroa_idx46$3>>2]|0; $67 = (($$sroa$8$0$copyload42$3) + ($$sroa$0$0$copyload33$3))|0; $68 = (($$sroa$10$0$copyload47$3) + ($$sroa$6$0$copyload37$3))|0; $69 = +HEAPF32[$39>>2]; $70 = +HEAPF32[$40>>2]; $71 = $69 - $70; $72 = +HEAPF32[$41>>2]; $73 = +HEAPF32[$42>>2]; $74 = $72 - $73; _DrawBorderY($$sroa$0$0$copyload33$3,$$sroa$6$0$copyload37$3,$67,$68,$38,$$051,$71,$74,$2); $75 = HEAP32[312239]|0; $76 = (_Gfx_CreateVb($$0,1,$75)|0); HEAP32[312238] = $76; $77 = HEAP32[312239]|0; $78 = ($77|0)>(4096); if (!($78)) { STACKTOP = sp;return; } _Mem_Free($$0); STACKTOP = sp;return; } function _UpdateClouds() { var $$0 = 0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; var $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 98304|0; $0 = sp; _Gfx_DeleteVb(1248944); $1 = HEAP32[351863]|0; $2 = ($1|0)!=(0|0); $3 = HEAP8[(1260360)>>0]|0; $4 = HEAP8[1408223]|0; $5 = $4 | $3; $6 = ($5<<24>>24)==(0); $7 = $2 & $6; if (!($7)) { STACKTOP = sp;return; } $8 = HEAP32[315051]|0; $9 = (+($8|0)); $10 = $9 * 1.4142135381698608; $11 = (~~(($10))); $12 = (0 - ($11))|0; $13 = HEAP32[(1407464)>>2]|0; $14 = (($13) + ($11))|0; $15 = HEAP32[(1407472)>>2]|0; $16 = (($15) + ($11))|0; $17 = (($14) + ($11))|0; $18 = (($16) + ($11))|0; $19 = (_CalcNumVertices($17,$18)|0); HEAP32[312237] = $19; $20 = ($19|0)>(4096); if ($20) { $21 = (_Mem_Alloc($19,24,22878)|0); $$0 = $21; } else { $$0 = $0; } $22 = HEAP32[(1407524)>>2]|0; _DrawCloudsY($12,$12,$14,$16,$22,$$0); $23 = HEAP32[312237]|0; $24 = (_Gfx_CreateVb($$0,1,$23)|0); HEAP32[312236] = $24; $25 = HEAP32[312237]|0; $26 = ($25|0)>(4096); if (!($26)) { STACKTOP = sp;return; } _Mem_Free($$0); STACKTOP = sp;return; } function _UpdateSky() { var $$0 = 0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 65536|0; $0 = sp; _Gfx_DeleteVb(1248936); $1 = HEAP32[351863]|0; $2 = ($1|0)!=(0|0); $3 = HEAP8[(1260360)>>0]|0; $4 = HEAP8[1408223]|0; $5 = $4 | $3; $6 = ($5<<24>>24)==(0); $7 = $2 & $6; if (!($7)) { STACKTOP = sp;return; } $8 = HEAP32[315051]|0; $9 = (+($8|0)); $10 = $9 * 1.4142135381698608; $11 = (~~(($10))); $12 = (0 - ($11))|0; $13 = HEAP32[(1407464)>>2]|0; $14 = (($13) + ($11))|0; $15 = HEAP32[(1407472)>>2]|0; $16 = (($15) + ($11))|0; $17 = (($14) + ($11))|0; $18 = (($16) + ($11))|0; $19 = (_CalcNumVertices($17,$18)|0); HEAP32[312235] = $19; $20 = ($19|0)>(4096); if ($20) { $21 = (_Mem_Alloc($19,16,22865)|0); $$0 = $21; } else { $$0 = $0; } $22 = HEAP32[(1407468)>>2]|0; $23 = (($22) + 2)|0; $24 = HEAP32[(1407524)>>2]|0; $25 = ($23|0)>($24|0); $26 = $25 ? $23 : $24; $27 = (($26) + 6)|0; _DrawSkyY($12,$12,$14,$16,$27,$$0); $28 = HEAP32[312235]|0; $29 = (_Gfx_CreateVb($$0,0,$28)|0); HEAP32[312234] = $29; $30 = HEAP32[312235]|0; $31 = ($30|0)>(4096); if (!($31)) { STACKTOP = sp;return; } _Mem_Free($$0); STACKTOP = sp;return; } function _UpdateSkybox() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; _Gfx_DeleteVb(1248932); $0 = HEAP8[(1260360)>>0]|0; $1 = HEAP8[1408223]|0; $2 = $1 | $0; $3 = ($2<<24>>24)==(0); if (!($3)) { return; } $4 = HEAP32[(1407568)>>2]|0; HEAP32[(1372)>>2] = $4; HEAP32[(1396)>>2] = $4; HEAP32[(1420)>>2] = $4; HEAP32[(1444)>>2] = $4; HEAP32[(1468)>>2] = $4; HEAP32[(1492)>>2] = $4; HEAP32[(1516)>>2] = $4; HEAP32[(1540)>>2] = $4; HEAP32[(1564)>>2] = $4; HEAP32[(1588)>>2] = $4; HEAP32[(1612)>>2] = $4; HEAP32[(1636)>>2] = $4; HEAP32[(1660)>>2] = $4; HEAP32[(1684)>>2] = $4; HEAP32[(1708)>>2] = $4; HEAP32[(1732)>>2] = $4; HEAP32[(1756)>>2] = $4; HEAP32[(1780)>>2] = $4; HEAP32[(1804)>>2] = $4; HEAP32[(1828)>>2] = $4; HEAP32[(1852)>>2] = $4; HEAP32[(1876)>>2] = $4; HEAP32[(1900)>>2] = $4; HEAP32[(1924)>>2] = $4; $5 = (_Gfx_CreateVb(1360,1,24)|0); HEAP32[312233] = $5; return; } function _EnvRenderer_UpdateFog() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; $1 = sp; $2 = HEAP32[351863]|0; $3 = ($2|0)==(0|0); if ($3) { STACKTOP = sp;return; } _CalcFog($0,$1); $4 = HEAP32[$1>>2]|0; _Gfx_ClearCol($4); $5 = HEAP8[1408223]|0; $6 = ($5<<24>>24)==(0); $7 = +HEAPF32[$0>>2]; if ($6) { _UpdateFogNormal($7,$4); STACKTOP = sp;return; } else { _UpdateFogMinimal($7); STACKTOP = sp;return; } } function _UpdateBorderTextures() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP16[703756]|0; _MakeBorderTex(1248924,$0); $1 = HEAP16[(1407514)>>1]|0; _MakeBorderTex(1248928,$1); return; } function _MakeBorderTex($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP8[(1260360)>>0]|0; $3 = ($2<<24>>24)==(0); if (!($3)) { return; } $4 = $1&65535; $5 = ($4*6)|0; $6 = (($5) + 5)|0; $7 = (624900 + ($6<<1)|0); $8 = HEAP16[$7>>1]|0; _Gfx_DeleteTexture($0); $9 = (_Atlas2D_LoadTile($8)|0); HEAP32[$0>>2] = $9; return; } function _CalcFog($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $3 = 0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $storemerge = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $2 = sp + 36|0; $3 = sp + 24|0; $4 = sp; _IVec3_Floor($3,(1230620)); _IVec3_ToVec3($2,$3); $5 = HEAP32[$3>>2]|0; $6 = ((($3)) + 4|0); $7 = HEAP32[$6>>2]|0; $8 = ((($3)) + 8|0); $9 = HEAP32[$8>>2]|0; $10 = (_World_SafeGetBlock($5,$7,$9)|0); $11 = $10&65535; $12 = (588036 + (($11*12)|0)|0); _Vec3_Add_218($4,$2,$12); $13 = ((($4)) + 12|0); $14 = (597252 + (($11*12)|0)|0); _Vec3_Add_218($13,$2,$14); $15 = (_AABB_ContainsPoint($4,(1230620))|0); $16 = ($15<<24>>24)==(0); if (!($16)) { $17 = (574980 + ($11<<2)|0); $18 = +HEAPF32[$17>>2]; $19 = $18 != 0.0; if ($19) { HEAPF32[$0>>2] = $18; $20 = (571908 + ($11<<2)|0); $21 = HEAP32[$20>>2]|0; $storemerge = $21; HEAP32[$1>>2] = $storemerge; STACKTOP = sp;return; } } HEAPF32[$0>>2] = 0.0; $22 = HEAP32[315051]|0; $23 = (+($22|0)); $24 = (+_CalcBlendFactor($23)); $25 = HEAP32[(1407560)>>2]|0; $26 = HEAP32[(1407556)>>2]|0; $27 = (_PackedCol_Lerp($25,$26,$24)|0); $storemerge = $27; HEAP32[$1>>2] = $storemerge; STACKTOP = sp;return; } function _UpdateFogMinimal($0) { $0 = +$0; var $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = $0 != 0.0; if ($1) { $2 = - $0; $3 = $2; $4 = -2.99573227355399 / $3; $5 = (~~(($4))); $6 = HEAP32[315052]|0; $7 = ($6|0)>($5|0); $8 = $7 ? $5 : $6; _Game_SetViewDistance($8); return; } else { $9 = HEAP32[315052]|0; _Game_SetViewDistance($9); return; } } function _UpdateFogNormal($0,$1) { $0 = +$0; $1 = $1|0; var $10 = 0, $11 = 0.0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $2 = $0 != 0.0; do { if ($2) { _Gfx_SetFogMode(1); _Gfx_SetFogDensity($0); } else { $3 = HEAP32[(1407544)>>2]|0; $4 = ($3|0)==(0); if ($4) { _Gfx_SetFogMode(0); $10 = HEAP32[315051]|0; $11 = (+($10|0)); _Gfx_SetFogEnd($11); break; } else { _Gfx_SetFogMode(1); $5 = HEAP32[315051]|0; $6 = (+($5|0)); $7 = $6 * 0.98999999999999999; $8 = 4.60517018598809 / $7; $9 = $8; _Gfx_SetFogDensity($9); break; } } } while(0); _Gfx_SetFogCol($1); $12 = HEAP32[315052]|0; _Game_SetViewDistance($12); return; } function _Vec3_Add_218($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 + $4; HEAPF32[$0>>2] = $5; $6 = ((($1)) + 4|0); $7 = +HEAPF32[$6>>2]; $8 = ((($2)) + 4|0); $9 = +HEAPF32[$8>>2]; $10 = $7 + $9; $11 = ((($0)) + 4|0); HEAPF32[$11>>2] = $10; $12 = ((($1)) + 8|0); $13 = +HEAPF32[$12>>2]; $14 = ((($2)) + 8|0); $15 = +HEAPF32[$14>>2]; $16 = $13 + $15; $17 = ((($0)) + 8|0); HEAPF32[$17>>2] = $16; return; } function _CalcBlendFactor($0) { $0 = +$0; var $$0 = 0.0, $$1 = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = $0; $2 = (+_Math_Log($1)); $3 = $2 * 0.25; $4 = $3 * 0.28000000000000003; $5 = $4 + -0.13; $6 = $5 < 0.0; $$0 = $6 ? 0.0 : $5; $7 = $$0 > 1.0; $$1 = $7 ? 1.0 : $$0; $8 = $$1; return (+$8); } function _CalcNumVertices($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP8[1408224]|0; $3 = ($2<<24>>24)==(0); $4 = $3 ? 2048 : 128; $5 = (_Math_CeilDiv($0,$4)|0); $6 = (_Math_CeilDiv($1,$4)|0); $7 = $5 << 2; $8 = Math_imul($7, $6)|0; return ($8|0); } function _DrawSkyY($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; var $$06672 = 0, $$06973 = 0, $$074 = 0, $$1$lcssa = 0, $$171 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; var $25 = 0.0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, $spec$select70 = 0; var label = 0, sp = 0; sp = STACKTOP; $6 = HEAP8[1408224]|0; $7 = ($6<<24>>24)==(0); $8 = $7 ? 2048 : 128; $9 = HEAP32[(1407556)>>2]|0; $10 = ($0|0)<($2|0); if (!($10)) { return; } $11 = ($1|0)<($3|0); $12 = (+($4|0)); $$06973 = $5;$$074 = $0; while(1) { $13 = (($$074) + ($8))|0; if ($11) { $14 = ($13|0)>($2|0); $spec$select = $14 ? $2 : $13; $15 = (+($$074|0)); $16 = (+($spec$select|0)); $$06672 = $1;$$171 = $$06973; while(1) { $17 = (($$06672) + ($8))|0; $18 = ($17|0)>($3|0); $spec$select70 = $18 ? $3 : $17; HEAPF32[$$171>>2] = $15; $19 = ((($$171)) + 4|0); HEAPF32[$19>>2] = $12; $20 = (+($$06672|0)); $21 = ((($$171)) + 8|0); HEAPF32[$21>>2] = $20; $22 = ((($$171)) + 12|0); HEAP32[$22>>2] = $9; $23 = ((($$171)) + 16|0); HEAPF32[$23>>2] = $15; $24 = ((($$171)) + 20|0); HEAPF32[$24>>2] = $12; $25 = (+($spec$select70|0)); $26 = ((($$171)) + 24|0); HEAPF32[$26>>2] = $25; $27 = ((($$171)) + 28|0); HEAP32[$27>>2] = $9; $28 = ((($$171)) + 32|0); HEAPF32[$28>>2] = $16; $29 = ((($$171)) + 36|0); HEAPF32[$29>>2] = $12; $30 = ((($$171)) + 40|0); HEAPF32[$30>>2] = $25; $31 = ((($$171)) + 44|0); HEAP32[$31>>2] = $9; $32 = ((($$171)) + 48|0); HEAPF32[$32>>2] = $16; $33 = ((($$171)) + 52|0); HEAPF32[$33>>2] = $12; $34 = ((($$171)) + 56|0); HEAPF32[$34>>2] = $20; $35 = ((($$171)) + 60|0); HEAP32[$35>>2] = $9; $36 = ((($$171)) + 64|0); $37 = ($17|0)<($3|0); if ($37) { $$06672 = $17;$$171 = $36; } else { $$1$lcssa = $36; break; } } } else { $$1$lcssa = $$06973; } $38 = ($13|0)<($2|0); if ($38) { $$06973 = $$1$lcssa;$$074 = $13; } else { break; } } return; } function _DrawCloudsY($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; var $$0104110 = 0, $$0107111 = 0, $$0112 = 0, $$1$lcssa = 0, $$1109 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0; var $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $spec$select = 0, $spec$select108 = 0; var label = 0, sp = 0; sp = STACKTOP; $6 = HEAP8[1408224]|0; $7 = ($6<<24>>24)==(0); $8 = $7 ? 2048 : 128; $9 = (+($4|0)); $10 = $9 + 0.10000000149011612; $11 = HEAP32[(1407564)>>2]|0; $12 = (0 - ($0))|0; $13 = (_Math_CeilDiv($12,2048)|0); $14 = (+($13|0)); $15 = ($0|0)<($2|0); if (!($15)) { return; } $16 = ($1|0)<($3|0); $$0107111 = $5;$$0112 = $0; while(1) { $17 = (($$0112) + ($8))|0; if ($16) { $18 = ($17|0)>($2|0); $spec$select = $18 ? $2 : $17; $19 = (+($$0112|0)); $20 = $19 * 4.8828125E-4; $21 = $20 + $14; $22 = (+($spec$select|0)); $23 = $22 * 4.8828125E-4; $24 = $23 + $14; $$0104110 = $1;$$1109 = $$0107111; while(1) { $25 = (($$0104110) + ($8))|0; $26 = ($25|0)>($3|0); $spec$select108 = $26 ? $3 : $25; $27 = (+($$0104110|0)); $28 = $27 * 4.8828125E-4; $29 = $28 + $14; $30 = (+($spec$select108|0)); $31 = $30 * 4.8828125E-4; $32 = $31 + $14; HEAPF32[$$1109>>2] = $19; $33 = ((($$1109)) + 4|0); HEAPF32[$33>>2] = $10; $34 = ((($$1109)) + 8|0); HEAPF32[$34>>2] = $27; $35 = ((($$1109)) + 12|0); HEAP32[$35>>2] = $11; $36 = ((($$1109)) + 16|0); HEAPF32[$36>>2] = $21; $37 = ((($$1109)) + 20|0); HEAPF32[$37>>2] = $29; $38 = ((($$1109)) + 24|0); HEAPF32[$38>>2] = $19; $39 = ((($$1109)) + 28|0); HEAPF32[$39>>2] = $10; $40 = ((($$1109)) + 32|0); HEAPF32[$40>>2] = $30; $41 = ((($$1109)) + 36|0); HEAP32[$41>>2] = $11; $42 = ((($$1109)) + 40|0); HEAPF32[$42>>2] = $21; $43 = ((($$1109)) + 44|0); HEAPF32[$43>>2] = $32; $44 = ((($$1109)) + 48|0); HEAPF32[$44>>2] = $22; $45 = ((($$1109)) + 52|0); HEAPF32[$45>>2] = $10; $46 = ((($$1109)) + 56|0); HEAPF32[$46>>2] = $30; $47 = ((($$1109)) + 60|0); HEAP32[$47>>2] = $11; $48 = ((($$1109)) + 64|0); HEAPF32[$48>>2] = $24; $49 = ((($$1109)) + 68|0); HEAPF32[$49>>2] = $32; $50 = ((($$1109)) + 72|0); HEAPF32[$50>>2] = $22; $51 = ((($$1109)) + 76|0); HEAPF32[$51>>2] = $10; $52 = ((($$1109)) + 80|0); HEAPF32[$52>>2] = $27; $53 = ((($$1109)) + 84|0); HEAP32[$53>>2] = $11; $54 = ((($$1109)) + 88|0); HEAPF32[$54>>2] = $24; $55 = ((($$1109)) + 92|0); HEAPF32[$55>>2] = $29; $56 = ((($$1109)) + 96|0); $57 = ($25|0)<($3|0); if ($57) { $$0104110 = $25;$$1109 = $56; } else { $$1$lcssa = $56; break; } } } else { $$1$lcssa = $$0107111; } $58 = ($17|0)<($2|0); if ($58) { $$0107111 = $$1$lcssa;$$0112 = $17; } else { break; } } return; } function _CalcBorderRects($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0; var $factor = 0, $factor16 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $1 = sp + 48|0; $2 = sp + 32|0; $3 = sp + 16|0; $4 = sp; $5 = HEAP32[315051]|0; $6 = (+($5|0)); $7 = $6 * 1.4142135381698608; $8 = (~~(($7))); $9 = (0 - ($8))|0; $10 = HEAP32[(1407464)>>2]|0; $factor = $8 << 1; $11 = (($factor) + ($10))|0; _EnvRenderer_Rect($1,$9,$9,$11,$8); ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$1+12>>2]|0; $12 = ((($0)) + 16|0); $13 = HEAP32[(1407472)>>2]|0; $14 = HEAP32[(1407464)>>2]|0; $factor16 = $8 << 1; $15 = (($14) + ($factor16))|0; _EnvRenderer_Rect($2,$9,$13,$15,$8); ;HEAP32[$12>>2]=HEAP32[$2>>2]|0;HEAP32[$12+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$12+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$12+12>>2]=HEAP32[$2+12>>2]|0; $16 = ((($0)) + 32|0); $17 = HEAP32[(1407472)>>2]|0; _EnvRenderer_Rect($3,$9,0,$8,$17); ;HEAP32[$16>>2]=HEAP32[$3>>2]|0;HEAP32[$16+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$16+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$16+12>>2]=HEAP32[$3+12>>2]|0; $18 = ((($0)) + 48|0); $19 = HEAP32[(1407464)>>2]|0; $20 = HEAP32[(1407472)>>2]|0; _EnvRenderer_Rect($4,$19,0,$8,$20); ;HEAP32[$18>>2]=HEAP32[$4>>2]|0;HEAP32[$18+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$18+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$18+12>>2]=HEAP32[$4+12>>2]|0; STACKTOP = sp;return; } function _DrawBorderY($0,$1,$2,$3,$4,$5,$6,$7,$8) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = +$4; $5 = $5|0; $6 = +$6; $7 = +$7; $8 = $8|0; var $$0101$lcssa = 0, $$0101108 = 0, $$0102106 = 0, $$0109 = 0, $$1$lcssa = 0, $$1107 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0; var $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0, $29 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $9 = 0, $spec$select = 0, $spec$select105 = 0, label = 0, sp = 0; sp = STACKTOP; $9 = HEAP8[1408224]|0; $10 = ($9<<24>>24)==(0); $11 = $10 ? 2048 : 128; $12 = HEAP32[$8>>2]|0; $13 = $4 + $7; $14 = ($0|0)<($2|0); if (!($14)) { $$0101$lcssa = $12; HEAP32[$8>>2] = $$0101$lcssa; return; } $15 = ($1|0)<($3|0); $$0101108 = $12;$$0109 = $0; while(1) { $16 = (($$0109) + ($11))|0; if ($15) { $17 = ($16|0)>($2|0); $spec$select = $17 ? $2 : $16; $18 = (+($spec$select|0)); $19 = (+($$0109|0)); $20 = $18 - $19; $21 = $19 + $6; $22 = $18 + $6; $$0102106 = $1;$$1107 = $$0101108; while(1) { $23 = (($$0102106) + ($11))|0; $24 = ($23|0)>($3|0); $spec$select105 = $24 ? $3 : $23; $25 = (+($spec$select105|0)); $26 = (+($$0102106|0)); $27 = $25 - $26; HEAPF32[$$1107>>2] = $21; $28 = ((($$1107)) + 4|0); HEAPF32[$28>>2] = $13; $29 = $26 + $6; $30 = ((($$1107)) + 8|0); HEAPF32[$30>>2] = $29; $31 = ((($$1107)) + 12|0); HEAP32[$31>>2] = $5; $32 = ((($$1107)) + 16|0); HEAPF32[$32>>2] = 0.0; $33 = ((($$1107)) + 20|0); HEAPF32[$33>>2] = 0.0; $34 = ((($$1107)) + 24|0); HEAPF32[$34>>2] = $21; $35 = ((($$1107)) + 28|0); HEAPF32[$35>>2] = $13; $36 = $25 + $6; $37 = ((($$1107)) + 32|0); HEAPF32[$37>>2] = $36; $38 = ((($$1107)) + 36|0); HEAP32[$38>>2] = $5; $39 = ((($$1107)) + 40|0); HEAPF32[$39>>2] = 0.0; $40 = ((($$1107)) + 44|0); HEAPF32[$40>>2] = $27; $41 = ((($$1107)) + 48|0); HEAPF32[$41>>2] = $22; $42 = ((($$1107)) + 52|0); HEAPF32[$42>>2] = $13; $43 = ((($$1107)) + 56|0); HEAPF32[$43>>2] = $36; $44 = ((($$1107)) + 60|0); HEAP32[$44>>2] = $5; $45 = ((($$1107)) + 64|0); HEAPF32[$45>>2] = $20; $46 = ((($$1107)) + 68|0); HEAPF32[$46>>2] = $27; $47 = ((($$1107)) + 72|0); HEAPF32[$47>>2] = $22; $48 = ((($$1107)) + 76|0); HEAPF32[$48>>2] = $13; $49 = ((($$1107)) + 80|0); HEAPF32[$49>>2] = $29; $50 = ((($$1107)) + 84|0); HEAP32[$50>>2] = $5; $51 = ((($$1107)) + 88|0); HEAPF32[$51>>2] = $20; $52 = ((($$1107)) + 92|0); HEAPF32[$52>>2] = 0.0; $53 = ((($$1107)) + 96|0); $54 = ($23|0)<($3|0); if ($54) { $$0102106 = $23;$$1107 = $53; } else { $$1$lcssa = $53; break; } } } else { $$1$lcssa = $$0101108; } $55 = ($16|0)<($2|0); if ($55) { $$0101108 = $$1$lcssa;$$0109 = $16; } else { $$0101$lcssa = $$1$lcssa; break; } } HEAP32[$8>>2] = $$0101$lcssa; return; } function _EnvRenderer_Rect($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, label = 0, sp = 0; sp = STACKTOP; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP32[$$sroa$4$0$$sroa_idx2>>2] = $2; $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); HEAP32[$$sroa$5$0$$sroa_idx4>>2] = $3; $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); HEAP32[$$sroa$6$0$$sroa_idx6>>2] = $4; return; } function _DrawBorderZ($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; var $$0$lcssa = 0, $$05 = 0, $$0894 = 0, $$0912 = 0, $$1$lcssa = 0, $$13 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0; var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, $spec$select1 = 0, label = 0, sp = 0; sp = STACKTOP; $6 = HEAP8[1408224]|0; $7 = ($6<<24>>24)==(0); $8 = $7 ? 2048 : 128; $9 = HEAP32[$5>>2]|0; $10 = ($1|0)>(0); if (!($10)) { $$0$lcssa = $9; HEAP32[$5>>2] = $$0$lcssa; return; } $11 = ($2|0)<($3|0); $12 = (+($0|0)); $$05 = $9;$$0894 = 0; while(1) { $13 = (($$0894) + ($8))|0; if ($11) { $14 = ($13|0)>($1|0); $spec$select = $14 ? $1 : $13; $15 = (+($spec$select|0)); $16 = (+($$0894|0)); $17 = $15 - $16; $$0912 = $2;$$13 = $$05; while(1) { $18 = (($$0912) + ($8))|0; $19 = ($18|0)>($3|0); $spec$select1 = $19 ? $3 : $18; $20 = (+($spec$select1|0)); $21 = (+($$0912|0)); $22 = $20 - $21; HEAPF32[$$13>>2] = $16; $23 = ((($$13)) + 4|0); HEAPF32[$23>>2] = $21; $24 = ((($$13)) + 8|0); HEAPF32[$24>>2] = $12; $25 = ((($$13)) + 12|0); HEAP32[$25>>2] = $4; $26 = ((($$13)) + 16|0); HEAPF32[$26>>2] = 0.0; $27 = ((($$13)) + 20|0); HEAPF32[$27>>2] = $22; $28 = ((($$13)) + 24|0); HEAPF32[$28>>2] = $16; $29 = ((($$13)) + 28|0); HEAPF32[$29>>2] = $20; $30 = ((($$13)) + 32|0); HEAPF32[$30>>2] = $12; $31 = ((($$13)) + 36|0); HEAP32[$31>>2] = $4; $32 = ((($$13)) + 40|0); HEAPF32[$32>>2] = 0.0; $33 = ((($$13)) + 44|0); HEAPF32[$33>>2] = 0.0; $34 = ((($$13)) + 48|0); HEAPF32[$34>>2] = $15; $35 = ((($$13)) + 52|0); HEAPF32[$35>>2] = $20; $36 = ((($$13)) + 56|0); HEAPF32[$36>>2] = $12; $37 = ((($$13)) + 60|0); HEAP32[$37>>2] = $4; $38 = ((($$13)) + 64|0); HEAPF32[$38>>2] = $17; $39 = ((($$13)) + 68|0); HEAPF32[$39>>2] = 0.0; $40 = ((($$13)) + 72|0); HEAPF32[$40>>2] = $15; $41 = ((($$13)) + 76|0); HEAPF32[$41>>2] = $21; $42 = ((($$13)) + 80|0); HEAPF32[$42>>2] = $12; $43 = ((($$13)) + 84|0); HEAP32[$43>>2] = $4; $44 = ((($$13)) + 88|0); HEAPF32[$44>>2] = $17; $45 = ((($$13)) + 92|0); HEAPF32[$45>>2] = $22; $46 = ((($$13)) + 96|0); $47 = ($18|0)<($3|0); if ($47) { $$0912 = $18;$$13 = $46; } else { $$1$lcssa = $46; break; } } } else { $$1$lcssa = $$05; } $48 = ($13|0)<($1|0); if ($48) { $$05 = $$1$lcssa;$$0894 = $13; } else { $$0$lcssa = $$1$lcssa; break; } } HEAP32[$5>>2] = $$0$lcssa; return; } function _DrawBorderX($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; var $$0$lcssa = 0, $$05 = 0, $$0894 = 0, $$0912 = 0, $$1$lcssa = 0, $$13 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0; var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, $spec$select1 = 0, label = 0, sp = 0; sp = STACKTOP; $6 = HEAP8[1408224]|0; $7 = ($6<<24>>24)==(0); $8 = $7 ? 2048 : 128; $9 = HEAP32[$5>>2]|0; $10 = ($1|0)>(0); if (!($10)) { $$0$lcssa = $9; HEAP32[$5>>2] = $$0$lcssa; return; } $11 = ($2|0)<($3|0); $12 = (+($0|0)); $$05 = $9;$$0894 = 0; while(1) { $13 = (($$0894) + ($8))|0; if ($11) { $14 = ($13|0)>($1|0); $spec$select = $14 ? $1 : $13; $15 = (+($spec$select|0)); $16 = (+($$0894|0)); $17 = $15 - $16; $$0912 = $2;$$13 = $$05; while(1) { $18 = (($$0912) + ($8))|0; $19 = ($18|0)>($3|0); $spec$select1 = $19 ? $3 : $18; $20 = (+($spec$select1|0)); $21 = (+($$0912|0)); $22 = $20 - $21; HEAPF32[$$13>>2] = $12; $23 = ((($$13)) + 4|0); HEAPF32[$23>>2] = $21; $24 = ((($$13)) + 8|0); HEAPF32[$24>>2] = $16; $25 = ((($$13)) + 12|0); HEAP32[$25>>2] = $4; $26 = ((($$13)) + 16|0); HEAPF32[$26>>2] = 0.0; $27 = ((($$13)) + 20|0); HEAPF32[$27>>2] = $22; $28 = ((($$13)) + 24|0); HEAPF32[$28>>2] = $12; $29 = ((($$13)) + 28|0); HEAPF32[$29>>2] = $20; $30 = ((($$13)) + 32|0); HEAPF32[$30>>2] = $16; $31 = ((($$13)) + 36|0); HEAP32[$31>>2] = $4; $32 = ((($$13)) + 40|0); HEAPF32[$32>>2] = 0.0; $33 = ((($$13)) + 44|0); HEAPF32[$33>>2] = 0.0; $34 = ((($$13)) + 48|0); HEAPF32[$34>>2] = $12; $35 = ((($$13)) + 52|0); HEAPF32[$35>>2] = $20; $36 = ((($$13)) + 56|0); HEAPF32[$36>>2] = $15; $37 = ((($$13)) + 60|0); HEAP32[$37>>2] = $4; $38 = ((($$13)) + 64|0); HEAPF32[$38>>2] = $17; $39 = ((($$13)) + 68|0); HEAPF32[$39>>2] = 0.0; $40 = ((($$13)) + 72|0); HEAPF32[$40>>2] = $12; $41 = ((($$13)) + 76|0); HEAPF32[$41>>2] = $21; $42 = ((($$13)) + 80|0); HEAPF32[$42>>2] = $15; $43 = ((($$13)) + 84|0); HEAP32[$43>>2] = $4; $44 = ((($$13)) + 88|0); HEAPF32[$44>>2] = $17; $45 = ((($$13)) + 92|0); HEAPF32[$45>>2] = $22; $46 = ((($$13)) + 96|0); $47 = ($18|0)<($3|0); if ($47) { $$0912 = $18;$$13 = $46; } else { $$1$lcssa = $46; break; } } } else { $$1$lcssa = $$05; } $48 = ($13|0)<($1|0); if ($48) { $$05 = $$1$lcssa;$$0894 = $13; } else { $$0$lcssa = $$1$lcssa; break; } } HEAP32[$5>>2] = $$0$lcssa; return; } function _DeleteVbs() { var label = 0, sp = 0; sp = STACKTOP; _Gfx_DeleteVb(1248936); _Gfx_DeleteVb(1248944); _Gfx_DeleteVb(1248932); _Gfx_DeleteVb(1248960); _Gfx_DeleteVb(1248952); _Gfx_DeleteVb(1248920); return; } function _IVec3_MaxValue($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; ;HEAP32[$0>>2]=HEAP32[11796>>2]|0;HEAP32[$0+4>>2]=HEAP32[11796+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[11796+8>>2]|0; return; } function _OnFileChanged_223($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (_String_CaselessEqualsConst($2,22923)|0); $4 = ($3|0)==(0); if (!($4)) { (_Game_UpdateTexture(1248980,$1,$2,0)|0); return; } $5 = (_String_CaselessEqualsConst($2,22934)|0); $6 = ($5|0)==(0); if (!($6)) { (_Game_UpdateTexture(1248984,$1,$2,0)|0); return; } $7 = (_String_CaselessEqualsConst($2,22945)|0); $8 = ($7|0)==(0); if (!($8)) { (_Game_UpdateTexture(1248992,$1,$2,0)|0); return; } $9 = (_String_CaselessEqualsConst($2,22954)|0); $10 = ($9|0)==(0); if ($10) { return; } (_Game_UpdateTexture(1248988,$1,$2,0)|0); return; } function _OnTexturePackChanged($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _Gfx_DeleteTexture(1248984); return; } function _OnTerrainAtlasChanged($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _UpdateBorderTextures(); return; } function _OnViewDistanceChanged($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _UpdateAll(); return; } function _OnEnvVariableChanged($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; L1: do { switch ($1|0) { case 0: { $2 = HEAP16[703756]|0; _MakeBorderTex(1248924,$2); _UpdateMapEdges(); break; } case 1: { $3 = HEAP16[(1407514)>>1]|0; _MakeBorderTex(1248928,$3); _UpdateMapSides(); break; } default: { $4 = $1 | 1; $5 = ($4|0)==(3); if ($5) { _UpdateMapEdges(); _UpdateMapSides(); break L1; } switch ($1|0) { case 15: { _UpdateMapEdges(); break L1; break; } case 16: { _UpdateMapSides(); break L1; break; } case 12: { _UpdateSky(); break L1; break; } case 14: { _EnvRenderer_UpdateFog(); break L1; break; } case 13: { _UpdateClouds(); break L1; break; } case 4: { _UpdateSky(); _UpdateClouds(); break L1; break; } case 17: { _UpdateSkybox(); break L1; break; } default: { break L1; } } } } } while(0); return; } function _OnContextLost_224($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _DeleteVbs(); _Gfx_DeleteTexture(1248928); _Gfx_DeleteTexture(1248924); return; } function _EnvRenderer_CalcFlags($0) { $0 = $0|0; var $$ = 0, $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_String_CaselessEqualsConst($0,22970)|0); $2 = ($1|0)==(0); if (!($2)) { $$0 = 3; return ($$0|0); } $3 = (_String_CaselessEqualsConst($0,22981)|0); $4 = ($3|0)==(0); if (!($4)) { $$0 = 2; return ($$0|0); } $5 = (_String_CaselessEqualsConst($0,22963)|0); $6 = ($5|0)==(0); if (!($6)) { $$0 = 0; return ($$0|0); } $7 = (_String_CaselessEqualsConst($0,22988)|0); $8 = ($7|0)==(0); $$ = $8 ? -1 : 1; $$0 = $$; return ($$0|0); } function _EnvRenderer_RenderClouds() { var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $or$cond = 0, dest = 0, label = 0, sp = 0; var src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $0 = sp; $1 = HEAP32[312236]|0; $2 = ($1|0)==(0); $3 = HEAP32[(1407524)>>2]|0; $4 = ($3|0)<(-2000); $or$cond = $2 | $4; if ($or$cond) { STACKTOP = sp;return; } $5 = +HEAPF64[(535480)>>3]; $6 = $5 * 4.8828125E-4; $7 = $6 * 0.60000002384185791; $8 = +HEAPF32[(1407528)>>2]; $9 = $8; $10 = $7 * $9; $11 = $10; dest=$0; src=18012; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $12 = ((($0)) + 48|0); HEAPF32[$12>>2] = $11; _Gfx_LoadMatrix(2,$0); _Gfx_SetAlphaTest(1); $13 = HEAP32[312245]|0; _Gfx_BindTexture($13); _Gfx_SetVertexFormat(1); $14 = HEAP32[312236]|0; _Gfx_BindVb($14); $15 = HEAP32[312237]|0; _Gfx_DrawVb_IndexedTris($15); _Gfx_SetAlphaTest(0); _Gfx_LoadIdentityMatrix(2); STACKTOP = sp;return; } function _EnvRenderer_RenderSky() { var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0; var $27 = 0.0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0; var $9 = 0.0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $0 = sp; $1 = HEAP32[312234]|0; $2 = ($1|0)==(0); if ($2) { STACKTOP = sp;return; } $3 = (_EnvRenderer_ShouldRenderSkybox()|0); $4 = ($3<<24>>24)==(0); if (!($4)) { STACKTOP = sp;return; } $5 = HEAP32[(1407468)>>2]|0; $6 = (+($5|0)); $7 = $6 + 8.0; $8 = +HEAPF32[(1230624)>>2]; $9 = $8 + 8.0; $10 = $9 > $7; $11 = $10 ? $9 : $7; _Gfx_SetVertexFormat(0); $12 = HEAP32[312234]|0; _Gfx_BindVb($12); $13 = $11 == $7; if ($13) { $14 = HEAP32[312235]|0; _Gfx_DrawVb_IndexedTris($14); STACKTOP = sp;return; } else { dest=$0; src=(1260364); stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $15 = $11 - $7; $16 = ((($0)) + 16|0); $17 = +HEAPF32[$16>>2]; $18 = $15 * $17; $19 = ((($0)) + 48|0); $20 = +HEAPF32[$19>>2]; $21 = $20 + $18; HEAPF32[$19>>2] = $21; $22 = ((($0)) + 20|0); $23 = +HEAPF32[$22>>2]; $24 = $15 * $23; $25 = ((($0)) + 52|0); $26 = +HEAPF32[$25>>2]; $27 = $26 + $24; HEAPF32[$25>>2] = $27; $28 = ((($0)) + 24|0); $29 = +HEAPF32[$28>>2]; $30 = $15 * $29; $31 = ((($0)) + 56|0); $32 = +HEAPF32[$31>>2]; $33 = $32 + $30; HEAPF32[$31>>2] = $33; $34 = ((($0)) + 28|0); $35 = +HEAPF32[$34>>2]; $36 = $15 * $35; $37 = ((($0)) + 60|0); $38 = +HEAPF32[$37>>2]; $39 = $38 + $36; HEAPF32[$37>>2] = $39; _Gfx_LoadMatrix(1,$0); $40 = HEAP32[312235]|0; _Gfx_DrawVb_IndexedTris($40); _Gfx_LoadMatrix(1,(1260364)); STACKTOP = sp;return; } } function _EnvRenderer_ShouldRenderSkybox() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $narrow = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[312246]|0; $1 = ($0|0)!=(0); $2 = HEAP8[1408223]|0; $3 = ($2<<24>>24)==(0); $narrow = $1 & $3; $4 = $narrow&1; return ($4|0); } function _EnvRenderer_RenderSkybox() { var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0; var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 272|0; $0 = sp + 208|0; $1 = sp + 144|0; $2 = sp + 80|0; $3 = sp + 16|0; $4 = sp; $5 = HEAP32[312233]|0; $6 = ($5|0)==(0); if ($6) { STACKTOP = sp;return; } _Gfx_SetDepthWrite(0); $7 = HEAP32[312246]|0; _Gfx_BindTexture($7); _Gfx_SetVertexFormat(1); $8 = +HEAPF64[(535480)>>3]; $9 = $8 * 2.0; $10 = $9 * 3.1415927410125732; $11 = $10; $12 = +HEAPF32[(1407548)>>2]; $13 = $12 * $11; _Matrix_RotateY($2,$13); $14 = +HEAPF32[(1407552)>>2]; $15 = $14 * $11; _Matrix_RotateX($1,$15); _Matrix_Mul($0,$2,$1); ;HEAP32[$4>>2]=HEAP32[(1230620)>>2]|0;HEAP32[$4+4>>2]=HEAP32[(1230620)+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[(1230620)+8>>2]|0; HEAPF32[(1230620)>>2] = 0.0; HEAPF32[(1230624)>>2] = 0.0; HEAPF32[(1230628)>>2] = 0.0; $16 = HEAP32[(1230632)>>2]|0; $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; FUNCTION_TABLE_vi[$18 & 511]($3); _Matrix_Mul($0,$0,$3); ;HEAP32[(1230620)>>2]=HEAP32[$4>>2]|0;HEAP32[(1230620)+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[(1230620)+8>>2]=HEAP32[$4+8>>2]|0; _Gfx_LoadMatrix(1,$0); $19 = HEAP32[312233]|0; _Gfx_BindVb($19); _Gfx_DrawVb_IndexedTris(24); _Gfx_LoadMatrix(1,(1260364)); _Gfx_SetDepthWrite(1); STACKTOP = sp;return; } function _EnvRenderer_OnBlockChanged($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var label = 0, sp = 0; sp = STACKTOP; $5 = $3&65535; $6 = (583428 + ($5)|0); $7 = HEAP8[$6>>0]|0; $8 = $7 | 1; $9 = ($8<<24>>24)!=(5); $10 = $4&65535; $11 = (583428 + ($10)|0); $12 = HEAP8[$11>>0]|0; $13 = $12 | 1; $14 = ($13<<24>>24)!=(5); $15 = $9 ^ $14; if (!($15)) { return; } $16 = HEAP32[(1407472)>>2]|0; $17 = Math_imul($16, $0)|0; $18 = (($17) + ($2))|0; $19 = HEAP32[312229]|0; $20 = (($19) + ($18<<1)|0); $21 = HEAP16[$20>>1]|0; $22 = $21 << 16 >> 16; $23 = ($22|0)>($1|0); if ($23) { return; } if ($14) { $24 = $1&65535; HEAP16[$20>>1] = $24; return; } else { (_CalcRainHeightAt($0,$1,$2,$18)|0); return; } } function _CalcRainHeightAt($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$02836 = 0, $$030 = 0, $$037 = 0, $$12938 = 0, $$139 = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; var $43 = 0, $44 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $switch = 0, $switch32 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = HEAP32[(1407472)>>2]|0; $5 = Math_imul($4, $1)|0; $6 = (($5) + ($2))|0; $7 = HEAP32[(1407464)>>2]|0; $8 = Math_imul($6, $7)|0; $9 = (($8) + ($0))|0; $10 = HEAP32[(1407508)>>2]|0; $11 = ($10|0)<(256); $12 = ($1|0)>(-1); L1: do { if ($11) { if ($12) { $13 = HEAP32[351863]|0; $14 = HEAP32[(1407488)>>2]|0; $$02836 = $9;$$037 = $1; while(1) { $15 = (($13) + ($$02836)|0); $16 = HEAP8[$15>>0]|0; $17 = $16&255; $18 = (583428 + ($17)|0); $19 = HEAP8[$18>>0]|0; $20 = $19 & -2; $switch = ($20<<24>>24)==(4); if (!($switch)) { break; } $22 = (($$037) + -1)|0; $23 = (($$02836) - ($14))|0; $24 = ($$037|0)>(0); if ($24) { $$02836 = $23;$$037 = $22; } else { $$030 = -1;$$sink = -1; break L1; } } $21 = $$037&65535; $$030 = $$037;$$sink = $21; } else { $$030 = -1;$$sink = -1; } } else { if ($12) { $25 = HEAP32[351863]|0; $26 = HEAP32[(1407456)>>2]|0; $27 = HEAP32[(1407488)>>2]|0; $$12938 = $9;$$139 = $1; while(1) { $28 = (($25) + ($$12938)|0); $29 = HEAP8[$28>>0]|0; $30 = $29&255; $31 = (($26) + ($$12938)|0); $32 = HEAP8[$31>>0]|0; $33 = $32&255; $34 = $33 << 8; $35 = $34 | $30; $36 = (583428 + ($35)|0); $37 = HEAP8[$36>>0]|0; $38 = $37 & -2; $switch32 = ($38<<24>>24)==(4); if (!($switch32)) { break; } $40 = (($$139) + -1)|0; $41 = (($$12938) - ($27))|0; $42 = ($$139|0)>(0); if ($42) { $$12938 = $41;$$139 = $40; } else { $$030 = -1;$$sink = -1; break L1; } } $39 = $$139&65535; $$030 = $$139;$$sink = $39; } else { $$030 = -1;$$sink = -1; } } } while(0); $43 = HEAP32[312229]|0; $44 = (($43) + ($3<<1)|0); HEAP16[$44>>1] = $$sink; return ($$030|0); } function _EnvRenderer_RenderWeather($0) { $0 = +$0; var $$0$idx217 = 0, $$0$ptr$idx = 0, $$0192216 = 0, $$0195215 = 0, $$0196211 = 0, $$1$add = 0, $$1$idx214 = 0, $$1193213 = 0, $$2$idx = 0, $$2194 = 0, $$add = 0, $$add197 = 0, $$add198 = 0, $$add199 = 0, $$add200 = 0, $$add201 = 0, $$add202 = 0, $$byval_copy = 0, $1 = 0, $10 = 0; var $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0; var $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0.0; var $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0; var $47 = 0.0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0; var $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0; var $83 = 0.0, $84 = 0, $85 = 0.0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond219 = 0; var $or$cond = 0, $or$cond210 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 15600|0; $$byval_copy = sp + 15576|0; $1 = sp; $2 = sp + 15564|0; $3 = sp + 15552|0; $4 = HEAP32[(1407540)>>2]|0; $5 = ($4|0)==(0); if ($5) { STACKTOP = sp;return; } $6 = HEAP32[312229]|0; $7 = ($6|0)==(0|0); if ($7) { _InitWeatherHeightmap(); } $8 = ($4|0)==(1); $9 = HEAP32[312247]|0; $10 = HEAP32[312248]|0; $11 = $8 ? $9 : $10; _Gfx_BindTexture($11); _IVec3_Floor($2,(1230620)); $12 = HEAP32[$2>>2]|0; $13 = HEAP32[312242]|0; $14 = ($12|0)==($13|0); if ($14) { $15 = ((($2)) + 4|0); $16 = HEAP32[$15>>2]|0; $17 = HEAP32[(1248972)>>2]|0; $18 = ($16|0)==($17|0); if ($18) { $19 = ((($2)) + 8|0); $20 = HEAP32[$19>>2]|0; $21 = HEAP32[(1248976)>>2]|0; $22 = ($20|0)==($21|0); $51 = $22; } else { $51 = 0; } } else { $51 = 0; } ;HEAP32[1248968>>2]=HEAP32[$2>>2]|0;HEAP32[1248968+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[1248968+8>>2]=HEAP32[$2+8>>2]|0; $23 = ((($2)) + 4|0); $24 = HEAP32[$23>>2]|0; $25 = (($24) + 64)|0; $26 = HEAP32[(1407468)>>2]|0; $27 = ($26|0)>($25|0); $28 = $27 ? $26 : $25; HEAP32[$23>>2] = $28; $29 = $8 ? 1.0 : 0.20000000298023224; $30 = +HEAPF32[(1407532)>>2]; $31 = $29 * $30; $32 = +HEAPF64[(535480)>>3]; $33 = $32; $34 = $31 * $33; $35 = +HEAPF64[66933]; $36 = $35 + $0; HEAPF64[66933] = $36; $37 = HEAP32[(1407572)>>2]|0; $38 = ((($2)) + 8|0); $$0$idx217 = 0;$$0192216 = $37;$$0195215 = -4; while(1) { $39 = Math_imul($$0195215, $$0195215)|0; $$0196211 = -4;$$1$idx214 = $$0$idx217;$$1193213 = $$0192216; while(1) { $40 = HEAP32[$2>>2]|0; $41 = (($40) + ($$0195215))|0; $42 = HEAP32[$38>>2]|0; $43 = (($42) + ($$0196211))|0; $44 = (+_GetRainHeight($41,$43)); $45 = HEAP32[$23>>2]|0; $46 = (+($45|0)); $47 = $46 - $44; $48 = !($47 <= 0.0); if ($48) { if ($8) { $49 = +HEAPF64[66933]; $50 = !($49 >= 0.25); $or$cond = $51 & $50; if (!($or$cond)) { $52 = (+($43|0)); $53 = (+($41|0)); _Vec3_Create3($3,$53,$44,$52); ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$3+8>>2]|0; _Particles_RainSnowEffect($$byval_copy); } } $54 = Math_imul($$0196211, $$0196211)|0; $55 = (($54) + ($39))|0; $56 = (+($55|0)); $57 = (+_CalcRainAlphaAt($56)); $58 = $57 < 0.0; $59 = $58 ? 0.0 : $57; $60 = $59 > 255.0; $61 = $60 ? 255.0 : $59; $62 = $$1193213 & 16777215; $63 = (~~(($61))&255); $64 = $63&255; $65 = $64 << 24; $66 = $65 | $62; $67 = $43 & 1; $68 = (+($67|0)); $69 = $68 * 0.5; $70 = $34 + $69; $71 = $41 & 15; $72 = (+($71|0)); $73 = $72 * 0.0625; $74 = $70 - $73; $75 = $44 / 6.0; $76 = $75 + $74; $77 = $44 + $47; $78 = $77 / 6.0; $79 = $78 + $74; $80 = (+($41|0)); $81 = (+($43|0)); $82 = (($41) + 1)|0; $83 = (+($82|0)); $84 = (($43) + 1)|0; $85 = (+($84|0)); $86 = (($1) + (($$1$idx214*24)|0)|0); HEAPF32[$86>>2] = $80; $87 = (((($1) + (($$1$idx214*24)|0)|0)) + 4|0); HEAPF32[$87>>2] = $44; $88 = (((($1) + (($$1$idx214*24)|0)|0)) + 8|0); HEAPF32[$88>>2] = $81; $89 = (((($1) + (($$1$idx214*24)|0)|0)) + 12|0); HEAP32[$89>>2] = $66; $90 = (((($1) + (($$1$idx214*24)|0)|0)) + 16|0); HEAPF32[$90>>2] = 0.0; $91 = (((($1) + (($$1$idx214*24)|0)|0)) + 20|0); HEAPF32[$91>>2] = $76; $$1$add = (($$1$idx214) + 1)|0; $92 = (($1) + (($$1$add*24)|0)|0); HEAPF32[$92>>2] = $80; $93 = (((($1) + (($$1$add*24)|0)|0)) + 4|0); HEAPF32[$93>>2] = $77; $94 = (((($1) + (($$1$add*24)|0)|0)) + 8|0); HEAPF32[$94>>2] = $81; $95 = (((($1) + (($$1$add*24)|0)|0)) + 12|0); HEAP32[$95>>2] = $66; $96 = (((($1) + (($$1$add*24)|0)|0)) + 16|0); HEAPF32[$96>>2] = 0.0; $97 = (((($1) + (($$1$add*24)|0)|0)) + 20|0); HEAPF32[$97>>2] = $79; $$add = (($$1$idx214) + 2)|0; $98 = (($1) + (($$add*24)|0)|0); HEAPF32[$98>>2] = $83; $99 = (((($1) + (($$add*24)|0)|0)) + 4|0); HEAPF32[$99>>2] = $77; $100 = (((($1) + (($$add*24)|0)|0)) + 8|0); HEAPF32[$100>>2] = $85; $101 = (((($1) + (($$add*24)|0)|0)) + 12|0); HEAP32[$101>>2] = $66; $102 = (((($1) + (($$add*24)|0)|0)) + 16|0); HEAPF32[$102>>2] = 1.0; $103 = (((($1) + (($$add*24)|0)|0)) + 20|0); HEAPF32[$103>>2] = $79; $$add197 = (($$1$idx214) + 3)|0; $104 = (($1) + (($$add197*24)|0)|0); HEAPF32[$104>>2] = $83; $105 = (((($1) + (($$add197*24)|0)|0)) + 4|0); HEAPF32[$105>>2] = $44; $106 = (((($1) + (($$add197*24)|0)|0)) + 8|0); HEAPF32[$106>>2] = $85; $107 = (((($1) + (($$add197*24)|0)|0)) + 12|0); HEAP32[$107>>2] = $66; $108 = (((($1) + (($$add197*24)|0)|0)) + 16|0); HEAPF32[$108>>2] = 1.0; $109 = (((($1) + (($$add197*24)|0)|0)) + 20|0); HEAPF32[$109>>2] = $76; $$add198 = (($$1$idx214) + 4)|0; $110 = (($1) + (($$add198*24)|0)|0); HEAPF32[$110>>2] = $83; $111 = (((($1) + (($$add198*24)|0)|0)) + 4|0); HEAPF32[$111>>2] = $44; $112 = (((($1) + (($$add198*24)|0)|0)) + 8|0); HEAPF32[$112>>2] = $81; $113 = (((($1) + (($$add198*24)|0)|0)) + 12|0); HEAP32[$113>>2] = $66; $114 = (((($1) + (($$add198*24)|0)|0)) + 16|0); HEAPF32[$114>>2] = 1.0; $115 = (((($1) + (($$add198*24)|0)|0)) + 20|0); HEAPF32[$115>>2] = $76; $$add199 = (($$1$idx214) + 5)|0; $116 = (($1) + (($$add199*24)|0)|0); HEAPF32[$116>>2] = $83; $117 = (((($1) + (($$add199*24)|0)|0)) + 4|0); HEAPF32[$117>>2] = $77; $118 = (((($1) + (($$add199*24)|0)|0)) + 8|0); HEAPF32[$118>>2] = $81; $119 = (((($1) + (($$add199*24)|0)|0)) + 12|0); HEAP32[$119>>2] = $66; $120 = (((($1) + (($$add199*24)|0)|0)) + 16|0); HEAPF32[$120>>2] = 1.0; $121 = (((($1) + (($$add199*24)|0)|0)) + 20|0); HEAPF32[$121>>2] = $79; $$add200 = (($$1$idx214) + 6)|0; $122 = (($1) + (($$add200*24)|0)|0); HEAPF32[$122>>2] = $80; $123 = (((($1) + (($$add200*24)|0)|0)) + 4|0); HEAPF32[$123>>2] = $77; $124 = (((($1) + (($$add200*24)|0)|0)) + 8|0); HEAPF32[$124>>2] = $85; $125 = (((($1) + (($$add200*24)|0)|0)) + 12|0); HEAP32[$125>>2] = $66; $126 = (((($1) + (($$add200*24)|0)|0)) + 16|0); HEAPF32[$126>>2] = 0.0; $127 = (((($1) + (($$add200*24)|0)|0)) + 20|0); HEAPF32[$127>>2] = $79; $$add201 = (($$1$idx214) + 7)|0; $128 = (($1) + (($$add201*24)|0)|0); HEAPF32[$128>>2] = $80; $129 = (((($1) + (($$add201*24)|0)|0)) + 4|0); HEAPF32[$129>>2] = $44; $130 = (((($1) + (($$add201*24)|0)|0)) + 8|0); HEAPF32[$130>>2] = $85; $131 = (((($1) + (($$add201*24)|0)|0)) + 12|0); HEAP32[$131>>2] = $66; $132 = (((($1) + (($$add201*24)|0)|0)) + 16|0); HEAPF32[$132>>2] = 0.0; $133 = (((($1) + (($$add201*24)|0)|0)) + 20|0); HEAPF32[$133>>2] = $76; $$add202 = (($$1$idx214) + 8)|0; $$2$idx = $$add202;$$2194 = $66; } else { $$2$idx = $$1$idx214;$$2194 = $$1193213; } $134 = (($$0196211) + 1)|0; $exitcond = ($134|0)==(5); if ($exitcond) { break; } else { $$0196211 = $134;$$1$idx214 = $$2$idx;$$1193213 = $$2194; } } $135 = (($$0195215) + 1)|0; $exitcond219 = ($135|0)==(5); if ($exitcond219) { break; } else { $$0$idx217 = $$2$idx;$$0192216 = $$2194;$$0195215 = $135; } } if ($8) { $136 = +HEAPF64[66933]; $137 = !($136 >= 0.25); $or$cond210 = $51 & $137; if (!($or$cond210)) { HEAPF64[66933] = 0.0; } } $138 = ($$2$idx|0)==(0); if ($138) { STACKTOP = sp;return; } _Gfx_SetAlphaTest(0); _Gfx_SetDepthWrite(0); _Gfx_SetVertexFormat(1); $$0$ptr$idx = ($$2$idx*24)|0; $139 = (($$0$ptr$idx|0) / 24)&-1; $140 = HEAP32[312230]|0; _Gfx_UpdateDynamicVb_IndexedTris($140,$1,$139); _Gfx_SetDepthWrite(1); _Gfx_SetAlphaTest(0); STACKTOP = sp;return; } function _InitWeatherHeightmap() { var $$04 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[(1407464)>>2]|0; $1 = HEAP32[(1407472)>>2]|0; $2 = Math_imul($1, $0)|0; $3 = (_Mem_Alloc($2,2,22999)|0); HEAP32[312229] = $3; $4 = HEAP32[(1407464)>>2]|0; $5 = HEAP32[(1407472)>>2]|0; $6 = Math_imul($5, $4)|0; $7 = ($6|0)>(0); if (!($7)) { return; } $8 = HEAP32[312229]|0; $9 = HEAP32[(1407464)>>2]|0; $10 = HEAP32[(1407472)>>2]|0; $11 = Math_imul($10, $9)|0; $$04 = 0; while(1) { $12 = (($8) + ($$04<<1)|0); HEAP16[$12>>1] = 32767; $13 = (($$04) + 1)|0; $14 = ($13|0)<($11|0); if ($14) { $$04 = $13; } else { break; } } return; } function _GetRainHeight($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0; var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (_World_ContainsXZ_235($0,$1)|0); $3 = ($2<<24>>24)==(0); if ($3) { $4 = HEAP32[(1407516)>>2]|0; $5 = (+($4|0)); $$0 = $5; return (+$$0); } $6 = HEAP32[(1407472)>>2]|0; $7 = Math_imul($6, $0)|0; $8 = (($7) + ($1))|0; $9 = HEAP32[312229]|0; $10 = (($9) + ($8<<1)|0); $11 = HEAP16[$10>>1]|0; $12 = ($11<<16>>16)==(32767); if ($12) { $13 = HEAP32[(1407480)>>2]|0; $14 = (_CalcRainHeightAt($0,$13,$1,$8)|0); $16 = $14; } else { $15 = $11 << 16 >> 16; $16 = $15; } $17 = ($16|0)==(-1); if ($17) { $$0 = 0.0; return (+$$0); } $18 = (+($16|0)); $19 = (_World_GetBlock_236($0,$16,$1)|0); $20 = $19&65535; $21 = (((597252 + (($20*12)|0)|0)) + 4|0); $22 = +HEAPF32[$21>>2]; $23 = $22 + $18; $$0 = $23; return (+$$0); } function _Vec3_Create3($0,$1,$2,$3) { $0 = $0|0; $1 = +$1; $2 = +$2; $3 = +$3; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, label = 0, sp = 0; sp = STACKTOP; HEAPF32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $2; $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $3; return; } function _CalcRainAlphaAt($0) { $0 = +$0; var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = $0 * 0.05000000074505806; $2 = $1 * $0; $3 = $0 * 7.0; $4 = $2 - $3; $5 = +HEAPF32[(1407536)>>2]; $6 = $4 * $5; $7 = $6 + 178.0; return (+$7); } function _World_ContainsXZ_235($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $narrow = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[(1407464)>>2]|0; $3 = ($2>>>0)>($0>>>0); $4 = HEAP32[(1407472)>>2]|0; $5 = ($4>>>0)>($1>>>0); $narrow = $3 & $5; $6 = $narrow&1; return ($6|0); } function _World_GetBlock_236($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; $3 = HEAP32[(1407472)>>2]|0; $4 = Math_imul($3, $1)|0; $5 = (($4) + ($2))|0; $6 = HEAP32[(1407464)>>2]|0; $7 = Math_imul($5, $6)|0; $8 = (($7) + ($0))|0; $9 = HEAP32[351863]|0; $10 = (($9) + ($8)|0); $11 = HEAP8[$10>>0]|0; $12 = $11&255; $13 = HEAP32[(1407456)>>2]|0; $14 = (($13) + ($8)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = $16 << 8; $18 = $17 | $12; $19 = HEAP32[(1407508)>>2]|0; $20 = $18 & $19; $21 = $20&65535; return ($21|0); } function _EnvRenderer_RenderMapSides() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP16[(1407514)>>1]|0; $1 = HEAP32[312240]|0; $2 = HEAP32[312232]|0; $3 = HEAP32[312241]|0; _RenderBorders($0,$1,$2,$3); return; } function _RenderBorders($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ($1|0)==(0); if ($4) { return; } $5 = $0&65535; $6 = (583428 + ($5)|0); $7 = HEAP8[$6>>0]|0; _Gfx_SetupAlphaState($7); _Gfx_BindTexture($2); _Gfx_SetVertexFormat(1); _Gfx_BindVb($1); _Gfx_DrawVb_IndexedTris($3); $8 = HEAP8[$6>>0]|0; _Gfx_RestoreAlphaState($8); return; } function _EnvRenderer_RenderMapEdges() { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $spec$select3 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[(1407516)>>2]|0; $1 = HEAP32[(1407520)>>2]|0; $2 = (($1) + ($0))|0; $3 = ($2|0)<(0); $spec$select3 = $3 ? $2 : 0; $4 = (+($spec$select3|0)); $5 = +HEAPF32[(1230624)>>2]; $6 = $5 < $4; $7 = HEAP32[312240]|0; $8 = ($7|0)!=(0); $or$cond = $8 & $6; if ($or$cond) { return; } $9 = HEAP16[703756]|0; $10 = HEAP32[312238]|0; $11 = HEAP32[312231]|0; $12 = HEAP32[312239]|0; _RenderBorders($9,$10,$11,$12); return; } function _EnvRenderer_SetMode($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = $0 & 2; $2 = $1&255; HEAP8[1408224] = $2; $3 = $0 & 1; $4 = $3&255; HEAP8[1408223] = $4; _OnContextRecreated(0); return; } function _Event_Register($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$017 = 0, $$lcssa20 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ((($0)) + 256|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)>(0); if ($5) { $$017 = 0; while(1) { $6 = (($0) + ($$017<<2)|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)==($2|0); if ($8) { $9 = (((($0)) + 128|0) + ($$017<<2)|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)==($1|0); if ($11) { _Logger_Abort(23017); } } $12 = (($$017) + 1)|0; $13 = HEAP32[$3>>2]|0; $14 = ($12|0)<($13|0); if ($14) { $$017 = $12; } else { break; } } $15 = ($13|0)==(32); if ($15) { _Logger_Abort(23079); return; } else { $$lcssa20 = $13; } } else { $$lcssa20 = $4; } $16 = (($0) + ($$lcssa20<<2)|0); HEAP32[$16>>2] = $2; $17 = (((($0)) + 128|0) + ($$lcssa20<<2)|0); HEAP32[$17>>2] = $1; $18 = (($$lcssa20) + 1)|0; HEAP32[$3>>2] = $18; return; } function _Event_Unregister($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$02734 = 0, $$033 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ((($0)) + 256|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)>(0); L1: do { if ($5) { $$02734 = 0;$13 = $4; while(1) { $6 = (($0) + ($$02734<<2)|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)==($2|0); if ($8) { $9 = (((($0)) + 128|0) + ($$02734<<2)|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)==($1|0); if ($11) { break; } } $24 = (($$02734) + 1)|0; $25 = HEAP32[$3>>2]|0; $26 = ($24|0)<($25|0); if ($26) { $$02734 = $24;$13 = $25; } else { break L1; } } $12 = (($13) + -1)|0; $14 = ($$02734|0)<($12|0); if ($14) { $$033 = $$02734; while(1) { $15 = (($$033) + 1)|0; $16 = (($0) + ($15<<2)|0); $17 = HEAP32[$16>>2]|0; $18 = (($0) + ($$033<<2)|0); HEAP32[$18>>2] = $17; $19 = (((($0)) + 128|0) + ($15<<2)|0); $20 = HEAP32[$19>>2]|0; $21 = (((($0)) + 128|0) + ($$033<<2)|0); HEAP32[$21>>2] = $20; $exitcond = ($15|0)==($12|0); if ($exitcond) { break; } else { $$033 = $15; } } } HEAP32[$3>>2] = $12; $22 = (($0) + ($12<<2)|0); HEAP32[$22>>2] = 0; $23 = (((($0)) + 128|0) + ($12<<2)|0); HEAP32[$23>>2] = 0; return; } } while(0); _Logger_Abort(23120); return; } function _Event_RaiseVoid($0) { $0 = $0|0; var $$07 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 256|0); $2 = HEAP32[$1>>2]|0; $3 = ($2|0)>(0); if (!($3)) { return; } $$07 = 0; while(1) { $4 = (($0) + ($$07<<2)|0); $5 = HEAP32[$4>>2]|0; $6 = (((($0)) + 128|0) + ($$07<<2)|0); $7 = HEAP32[$6>>2]|0; FUNCTION_TABLE_vi[$5 & 511]($7); $8 = (($$07) + 1)|0; $9 = HEAP32[$1>>2]|0; $10 = ($8|0)<($9|0); if ($10) { $$07 = $8; } else { break; } } return; } function _Event_RaiseInt($0,$1) { $0 = $0|0; $1 = $1|0; var $$08 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 256|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)>(0); if (!($4)) { return; } $$08 = 0; while(1) { $5 = (($0) + ($$08<<2)|0); $6 = HEAP32[$5>>2]|0; $7 = (((($0)) + 128|0) + ($$08<<2)|0); $8 = HEAP32[$7>>2]|0; FUNCTION_TABLE_vii[$6 & 127]($8,$1); $9 = (($$08) + 1)|0; $10 = HEAP32[$2>>2]|0; $11 = ($9|0)<($10|0); if ($11) { $$08 = $9; } else { break; } } return; } function _Event_RaiseFloat($0,$1) { $0 = $0|0; $1 = +$1; var $$08 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 256|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)>(0); if (!($4)) { return; } $$08 = 0; while(1) { $5 = (($0) + ($$08<<2)|0); $6 = HEAP32[$5>>2]|0; $7 = (((($0)) + 128|0) + ($$08<<2)|0); $8 = HEAP32[$7>>2]|0; FUNCTION_TABLE_vid[$6 & 63]($8,$1); $9 = (($$08) + 1)|0; $10 = HEAP32[$2>>2]|0; $11 = ($9|0)<($10|0); if ($11) { $$08 = $9; } else { break; } } return; } function _Event_RaiseEntry($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$09 = 0, $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ((($0)) + 256|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)>(0); if (!($5)) { return; } $$09 = 0; while(1) { $6 = (($0) + ($$09<<2)|0); $7 = HEAP32[$6>>2]|0; $8 = (((($0)) + 128|0) + ($$09<<2)|0); $9 = HEAP32[$8>>2]|0; FUNCTION_TABLE_viii[$7 & 31]($9,$1,$2); $10 = (($$09) + 1)|0; $11 = HEAP32[$3>>2]|0; $12 = ($10|0)<($11|0); if ($12) { $$09 = $10; } else { break; } } return; } function _Event_RaiseBlock($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$09 = 0, $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $$byval_copy = sp; $4 = ((($0)) + 256|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)>(0); if (!($6)) { STACKTOP = sp;return; } $$09 = 0; while(1) { $7 = (($0) + ($$09<<2)|0); $8 = HEAP32[$7>>2]|0; $9 = (((($0)) + 128|0) + ($$09<<2)|0); $10 = HEAP32[$9>>2]|0; ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0; FUNCTION_TABLE_viiii[$8 & 31]($10,$$byval_copy,$2,$3); $11 = (($$09) + 1)|0; $12 = HEAP32[$4>>2]|0; $13 = ($11|0)<($12|0); if ($13) { $$09 = $11; } else { break; } } STACKTOP = sp;return; } function _Event_RaiseMove($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$010 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ((($0)) + 256|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)>(0); if (!($6)) { return; } $$010 = 0; while(1) { $7 = (($0) + ($$010<<2)|0); $8 = HEAP32[$7>>2]|0; $9 = (((($0)) + 128|0) + ($$010<<2)|0); $10 = HEAP32[$9>>2]|0; FUNCTION_TABLE_viiii[$8 & 31]($10,$1,$2,$3); $11 = (($$010) + 1)|0; $12 = HEAP32[$4>>2]|0; $13 = ($11|0)<($12|0); if ($13) { $$010 = $11; } else { break; } } return; } function _Event_RaiseChat($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$09 = 0, $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ((($0)) + 256|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)>(0); if (!($5)) { return; } $$09 = 0; while(1) { $6 = (($0) + ($$09<<2)|0); $7 = HEAP32[$6>>2]|0; $8 = (((($0)) + 128|0) + ($$09<<2)|0); $9 = HEAP32[$8>>2]|0; FUNCTION_TABLE_viii[$7 & 31]($9,$1,$2); $10 = (($$09) + 1)|0; $11 = HEAP32[$3>>2]|0; $12 = ($10|0)<($11|0); if ($12) { $$09 = $10; } else { break; } } return; } function _Event_RaiseInput($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$09 = 0, $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ((($0)) + 256|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)>(0); if (!($5)) { return; } $$09 = 0; while(1) { $6 = (($0) + ($$09<<2)|0); $7 = HEAP32[$6>>2]|0; $8 = (((($0)) + 128|0) + ($$09<<2)|0); $9 = HEAP32[$8>>2]|0; FUNCTION_TABLE_viii[$7 & 31]($9,$1,$2); $10 = (($$09) + 1)|0; $11 = HEAP32[$3>>2]|0; $12 = ($10|0)<($11|0); if ($12) { $$09 = $10; } else { break; } } return; } function _Event_RaiseString($0,$1) { $0 = $0|0; $1 = $1|0; var $$08 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 256|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)>(0); if (!($4)) { return; } $$08 = 0; while(1) { $5 = (($0) + ($$08<<2)|0); $6 = HEAP32[$5>>2]|0; $7 = (((($0)) + 128|0) + ($$08<<2)|0); $8 = HEAP32[$7>>2]|0; FUNCTION_TABLE_vii[$6 & 127]($8,$1); $9 = (($$08) + 1)|0; $10 = HEAP32[$2>>2]|0; $11 = ($9|0)<($10|0); if ($11) { $$08 = $9; } else { break; } } return; } function _Math_AbsF($0) { $0 = +$0; var $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = (+Math_abs((+$0))); return (+$1); } function _Math_SqrtF($0) { $0 = +$0; var $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = (+Math_sqrt((+$0))); return (+$1); } function _Math_Mod1($0) { $0 = +$0; var $1 = 0, $2 = 0.0, $3 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = (~~(($0))); $2 = (+($1|0)); $3 = $0 - $2; return (+$3); } function _Math_AbsI($0) { $0 = $0|0; var $1 = 0, $ispos = 0, $neg = 0, label = 0, sp = 0; sp = STACKTOP; $ispos = ($0|0)>(-1); $neg = (0 - ($0))|0; $1 = $ispos ? $0 : $neg; return ($1|0); } function _Math_Sin($0) { $0 = +$0; var $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = (+Math_sin((+$0))); return (+$1); } function _Math_Cos($0) { $0 = +$0; var $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = (+Math_cos((+$0))); return (+$1); } function _Math_Log($0) { $0 = +$0; var $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = (+Math_log((+$0))); return (+$1); } function _Math_Exp($0) { $0 = +$0; var $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = (+Math_exp((+$0))); return (+$1); } function _Math_SinF($0) { $0 = +$0; var $1 = 0.0, $2 = 0.0, $3 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = $0; $2 = (+_Math_Sin($1)); $3 = $2; return (+$3); } function _Math_CosF($0) { $0 = +$0; var $1 = 0.0, $2 = 0.0, $3 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = $0; $2 = (+_Math_Cos($1)); $3 = $2; return (+$3); } function _Math_Floor($0) { $0 = +$0; var $1 = 0, $2 = 0.0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (~~(($0))); $2 = (+($1|0)); $3 = $2 > $0; $4 = $3 << 31 >> 31; $5 = (($4) + ($1))|0; return ($5|0); } function _Math_Ceil($0) { $0 = +$0; var $1 = 0, $2 = 0.0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (~~(($0))); $2 = (+($1|0)); $3 = $2 < $0; $4 = $3&1; $5 = (($4) + ($1))|0; return ($5|0); } function _Math_Log2($0) { $0 = $0|0; var $$0 = 0, $$03 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $$0 = 0;$$03 = $0; while(1) { $1 = (1)?($$03 >>> 1):($$03); $2 = ($1|0)==(0); $3 = (($$0) + 1)|0; if ($2) { break; } else { $$0 = $3;$$03 = $1; } } return ($$0|0); } function _Math_CeilDiv($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (($0|0) / ($1|0))&-1; $3 = Math_imul($2, $1)|0; $4 = (($0) - ($3))|0; $5 = ($4|0)!=(0); $6 = $5&1; $7 = (($2) + ($6))|0; return ($7|0); } function _Math_Sign($0) { $0 = +$0; var $$ = 0, $$0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = $0 > 0.0; $2 = $0 < 0.0; $$ = $2 << 31 >> 31; $$0 = $1 ? 1 : $$; return ($$0|0); } function _Math_Lerp($0,$1,$2) { $0 = +$0; $1 = +$1; $2 = +$2; var $3 = 0.0, $4 = 0.0, $5 = 0.0, label = 0, sp = 0; sp = STACKTOP; $3 = $1 - $0; $4 = $3 * $2; $5 = $4 + $0; return (+$5); } function _Math_LerpAngle($0,$1,$2) { $0 = +$0; $1 = +$1; $2 = +$2; var $$010 = 0.0, $10 = 0.0, $11 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $spec$select = 0.0, label = 0, sp = 0; sp = STACKTOP; $3 = $0 > 270.0; $4 = $1 < 90.0; $5 = $3 & $4; $6 = $1 > 270.0; $7 = $0 < 90.0; $8 = $7 & $6; $9 = $0 + -360.0; $spec$select = $5 ? $9 : $0; $10 = $1 + -360.0; $$010 = $8 ? $10 : $1; $11 = (+_Math_Lerp($spec$select,$$010,$2)); return (+$11); } function _Math_NextPowOf2($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $$0 = 1; while(1) { $1 = ($$0|0)<($0|0); $2 = $$0 << 1; if ($1) { $$0 = $2; } else { break; } } return ($$0|0); } function _Math_IsPowOf2($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $narrow = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ($0|0)!=(0); $2 = (($0) + -1)|0; $3 = $2 & $0; $4 = ($3|0)==(0); $narrow = $1 & $4; $spec$select = $narrow&1; return ($spec$select|0); } function _Random_SeedFromCurrentTime($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_DateTime_CurrentUTC_MS()|0); $2 = (getTempRet0() | 0); _Random_Seed($0,$1); return; } function _Random_Seed($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)<(0); $3 = $2 << 31 >> 31; $4 = $3 & 65535; $5 = $1 ^ -554899859; $6 = $4 ^ 5; $7 = $0; $8 = $7; HEAP32[$8>>2] = $5; $9 = (($7) + 4)|0; $10 = $9; HEAP32[$10>>2] = $6; return; } function _Random_Next($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (0 - ($1))|0; $3 = $2 & $1; $4 = ($3|0)==($1|0); if ($4) { $5 = $0; $6 = $5; $7 = HEAP32[$6>>2]|0; $8 = (($5) + 4)|0; $9 = $8; $10 = HEAP32[$9>>2]|0; $11 = (___muldi3(($7|0),($10|0),-554899859,5)|0); $12 = (getTempRet0() | 0); $13 = (_i64Add(($11|0),($12|0),11,0)|0); $14 = (getTempRet0() | 0); $15 = $14 & 65535; $16 = $0; $17 = $16; HEAP32[$17>>2] = $13; $18 = (($16) + 4)|0; $19 = $18; HEAP32[$19>>2] = $15; $20 = (_bitshift64Lshr(($13|0),($15|0),17)|0); $21 = (getTempRet0() | 0); $22 = ($1|0)<(0); $23 = $22 << 31 >> 31; $24 = (___muldi3(($20|0),($21|0),($1|0),($23|0))|0); $25 = (getTempRet0() | 0); $26 = (_bitshift64Lshr(($24|0),($25|0),31)|0); $27 = (getTempRet0() | 0); $$0 = $26; return ($$0|0); } $28 = (($1) + -1)|0; $29 = $0; $30 = $29; $31 = HEAP32[$30>>2]|0; $32 = (($29) + 4)|0; $33 = $32; $34 = HEAP32[$33>>2]|0; $35 = $31;$36 = $34; while(1) { $37 = (___muldi3(($35|0),($36|0),-554899859,5)|0); $38 = (getTempRet0() | 0); $39 = (_i64Add(($37|0),($38|0),11,0)|0); $40 = (getTempRet0() | 0); $41 = $40 & 65535; $42 = (_bitshift64Lshr(($39|0),($41|0),17)|0); $43 = (getTempRet0() | 0); $44 = (($42|0) % ($1|0))&-1; $45 = (($28) - ($44))|0; $46 = (($45) + ($42))|0; $47 = ($46|0)<(0); if ($47) { $35 = $39;$36 = $41; } else { break; } } $48 = $0; $49 = $48; HEAP32[$49>>2] = $39; $50 = (($48) + 4)|0; $51 = $50; HEAP32[$51>>2] = $41; $$0 = $44; return ($$0|0); } function _Random_Float($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; $1 = $0; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; $5 = $4; $6 = HEAP32[$5>>2]|0; $7 = (___muldi3(($3|0),($6|0),-554899859,5)|0); $8 = (getTempRet0() | 0); $9 = (_i64Add(($7|0),($8|0),11,0)|0); $10 = (getTempRet0() | 0); $11 = $10 & 65535; $12 = $0; $13 = $12; HEAP32[$13>>2] = $9; $14 = (($12) + 4)|0; $15 = $14; HEAP32[$15>>2] = $11; $16 = (_bitshift64Lshr(($9|0),($11|0),24)|0); $17 = (getTempRet0() | 0); $18 = (+($16|0)); $19 = $18 * 5.9604644775390625E-8; return (+$19); } function _Map_FindImporter($0) { $0 = $0|0; var $$Cw_Load = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_String_CaselessEnds($0,11472)|0); $2 = ($1|0)==(0); $$Cw_Load = $2 ? 0 : 14; return ($$Cw_Load|0); } function _Cw_Load($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0; var $27 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 44816|0; $1 = sp + 44808|0; $2 = sp + 44752|0; $3 = sp + 16|0; $4 = sp; _Inflate_MakeStream($2,$3,$0); $5 = (_Map_SkipGZipHeader($0)|0); $6 = ($5|0)==(0); if (!($6)) { $$0 = $5; STACKTOP = sp;return ($$0|0); } $7 = ((($2)) + 4|0); $8 = HEAP32[$7>>2]|0; $9 = (FUNCTION_TABLE_iii[$8 & 127]($2,$1)|0); $10 = ($9|0)==(0); if (!($10)) { $$0 = $9; STACKTOP = sp;return ($$0|0); } $11 = HEAP8[$1>>0]|0; $12 = ($11<<24>>24)==(10); if (!($12)) { $$0 = -857812915; STACKTOP = sp;return ($$0|0); } $13 = (_Nbt_ReadTag(10,1,$2,0)|0); $14 = ($13|0)==(0); if (!($14)) { $$0 = $13; STACKTOP = sp;return ($$0|0); } _IVec3_Floor($4,(1242580)); $15 = HEAP32[$4>>2]|0; $16 = ((($4)) + 4|0); $17 = HEAP32[$16>>2]|0; $18 = ((($4)) + 8|0); $19 = HEAP32[$18>>2]|0; $20 = (_World_Contains_309($15,$17,$19)|0); $21 = ($20<<24>>24)==(0); if (!($21)) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $22 = +HEAPF32[(1242580)>>2]; $23 = $22 * 0.03125; HEAPF32[(1242580)>>2] = $23; $24 = +HEAPF32[(1242584)>>2]; $25 = $24 * 0.03125; HEAPF32[(1242584)>>2] = $25; $26 = +HEAPF32[(1242588)>>2]; $27 = $26 * 0.03125; HEAPF32[(1242588)>>2] = $27; $$0 = 0; STACKTOP = sp;return ($$0|0); } function _Map_SkipGZipHeader($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; _GZipHeader_Init($1); $2 = ((($1)) + 1|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)==(0); L1: do { if ($4) { while(1) { $7 = (_GZipHeader_Read($0,$1)|0); $8 = ($7|0)==(0); if (!($8)) { $$0 = $7; break L1; } $5 = HEAP8[$2>>0]|0; $6 = ($5<<24>>24)==(0); if (!($6)) { $$0 = 0; break; } } } else { $$0 = 0; } } while(0); STACKTOP = sp;return ($$0|0); } function _Nbt_ReadTag($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0 = 0, $$0396 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 176|0; $4 = sp; $5 = sp + 161|0; $6 = sp + 156|0; $7 = ($0<<24>>24)==(0); if ($7) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $8 = ((($4)) + 4|0); HEAP8[$8>>0] = $0; HEAP32[$4>>2] = $3; $9 = ((($4)) + 16|0); HEAP32[$9>>2] = 0; $10 = ((($4)) + 92|0); $11 = ((($4)) + 8|0); HEAP32[$11>>2] = $10; $12 = ((($4)) + 12|0); HEAP16[$12>>1] = 0; $13 = ((($4)) + 14|0); HEAP16[$13>>1] = 64; $14 = ($1<<24>>24)==(0); if (!($14)) { $15 = (_Nbt_ReadString($2,$11)|0); $16 = ($15|0)==(0); if (!($16)) { $$0 = $15; STACKTOP = sp;return ($$0|0); } } L8: do { switch ($0<<24>>24) { case 1: { $17 = ((($2)) + 4|0); $18 = HEAP32[$17>>2]|0; $19 = ((($4)) + 20|0); $20 = (FUNCTION_TABLE_iii[$18 & 127]($2,$19)|0); $$1 = $20; label = 27; break; } case 2: { $21 = (_Stream_Read($2,$6,2)|0); $22 = (_Stream_GetU16_BE($6)|0); $23 = ((($4)) + 20|0); HEAP16[$23>>1] = $22; $$1 = $21; label = 27; break; } case 5: case 3: { $24 = ((($4)) + 20|0); $25 = (_Stream_ReadU32_BE($2,$24)|0); $$1 = $25; label = 27; break; } case 6: case 4: { $26 = ((($2)) + 12|0); $27 = HEAP32[$26>>2]|0; $28 = (FUNCTION_TABLE_iii[$27 & 127]($2,8)|0); $$1 = $28; label = 27; break; } case 7: { $29 = (_Stream_ReadU32_BE($2,$9)|0); $30 = ($29|0)==(0); if (!($30)) { $$0 = $29; STACKTOP = sp;return ($$0|0); } $31 = HEAP32[$9>>2]|0; $32 = ($31>>>0)<(65); if ($32) { $33 = ((($4)) + 20|0); $34 = (_Stream_Read($2,$33,$31)|0); $$1 = $34; label = 27; break L8; } $35 = (_Mem_TryAlloc($31,1)|0); $36 = ((($4)) + 20|0); HEAP32[$36>>2] = $35; $37 = ($35|0)==(0|0); if ($37) { $$0 = -857812988; STACKTOP = sp;return ($$0|0); } $38 = HEAP32[$9>>2]|0; $39 = (_Stream_Read($2,$35,$38)|0); $40 = ($39|0)==(0); if (!($40)) { $41 = HEAP32[$36>>2]|0; _Mem_Free($41); $$0 = $39; STACKTOP = sp;return ($$0|0); } break; } case 8: { $42 = ((($4)) + 28|0); $43 = ((($4)) + 20|0); HEAP32[$43>>2] = $42; $44 = ((($4)) + 24|0); HEAP16[$44>>1] = 0; $45 = ((($4)) + 26|0); HEAP16[$45>>1] = 64; $46 = (_Nbt_ReadString($2,$43)|0); $$1 = $46; label = 27; break; } case 9: { $47 = (_Stream_Read($2,$6,5)|0); $48 = ($47|0)==(0); if (!($48)) { $$0 = $47; STACKTOP = sp;return ($$0|0); } $49 = HEAP8[$6>>0]|0; HEAP8[$5>>0] = $49; $50 = ((($6)) + 1|0); $51 = (_Stream_GetU32_BE($50)|0); $52 = ($51|0)==(0); if (!($52)) { $$0396 = 0; while(1) { $55 = HEAP8[$5>>0]|0; $56 = (_Nbt_ReadTag($55,0,$2,$4)|0); $57 = ($56|0)==(0); $53 = (($$0396) + 1)|0; if (!($57)) { $$0 = $56; break; } $54 = ($53>>>0)<($51>>>0); if ($54) { $$0396 = $53; } else { break L8; } } STACKTOP = sp;return ($$0|0); } break; } case 10: { $58 = ((($2)) + 4|0); $59 = HEAP32[$58>>2]|0; $60 = (FUNCTION_TABLE_iii[$59 & 127]($2,$5)|0); $61 = ($60|0)==(0); if (!($61)) { $$0 = $60; STACKTOP = sp;return ($$0|0); } while(1) { $65 = HEAP8[$5>>0]|0; $66 = ($65<<24>>24)==(0); if ($66) { break L8; } $67 = (_Nbt_ReadTag($65,1,$2,$4)|0); $68 = ($67|0)==(0); if (!($68)) { $$0 = $67; label = 30; break; } $62 = HEAP32[$58>>2]|0; $63 = (FUNCTION_TABLE_iii[$62 & 127]($2,$5)|0); $64 = ($63|0)==(0); if (!($64)) { $$0 = $63; label = 30; break; } } if ((label|0) == 30) { STACKTOP = sp;return ($$0|0); } break; } case 11: { $$0 = -857812917; STACKTOP = sp;return ($$0|0); break; } default: { $$0 = -857812916; STACKTOP = sp;return ($$0|0); } } } while(0); if ((label|0) == 27) { $69 = ($$1|0)==(0); if (!($69)) { $$0 = $$1; STACKTOP = sp;return ($$0|0); } } _Cw_Callback($4); $70 = HEAP32[$9>>2]|0; $71 = ($70>>>0)<(65); if ($71) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $72 = ((($4)) + 20|0); $73 = HEAP32[$72>>2]|0; _Mem_Free($73); $$0 = 0; STACKTOP = sp;return ($$0|0); } function _World_Contains_309($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $narrow = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP32[(1407464)>>2]|0; $4 = ($3>>>0)>($0>>>0); $5 = HEAP32[(1407468)>>2]|0; $6 = ($5>>>0)>($1>>>0); $or$cond = $4 & $6; $7 = HEAP32[(1407472)>>2]|0; $8 = ($7>>>0)>($2>>>0); $narrow = $or$cond & $8; $9 = $narrow&1; return ($9|0); } function _Nbt_ReadString($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 256|0; $2 = sp; $3 = (_Stream_Read($0,$2,2)|0); $4 = ($3|0)==(0); if ($4) { $5 = (_Stream_GetU16_BE($2)|0); $6 = $5&65535; $7 = ($5&65535)>(256); if ($7) { $$0 = -857812914; } else { $8 = (_Stream_Read($0,$2,$6)|0); $9 = ($8|0)==(0); if ($9) { _String_AppendUtf8($1,$2,$6); $$0 = 0; } else { $$0 = $8; } } } else { $$0 = $3; } STACKTOP = sp;return ($$0|0); } function _Cw_Callback($0) { $0 = $0|0; var $$010 = 0, $$pn = 0, $1 = 0, $2 = 0, $trunc = 0, $trunc$clear = 0, label = 0, sp = 0; sp = STACKTOP; $$pn = $0;$trunc = 0; while(1) { $$010 = HEAP32[$$pn>>2]|0; $1 = ($$010|0)==(0|0); $2 = (($trunc) + 1)|0; if ($1) { break; } else { $$pn = $$010;$trunc = $2; } } $trunc$clear = $trunc & 2147483647; switch ($trunc$clear|0) { case 1: { _Cw_Callback_1($0); return; break; } case 2: { _Cw_Callback_2($0); return; break; } case 4: { _Cw_Callback_4($0); return; break; } case 5: { _Cw_Callback_5($0); return; break; } default: { return; } } } function _Cw_Callback_1($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 8|0); $2 = (_String_CaselessEqualsConst($1,26422)|0); $3 = ($2|0)==(0); if (!($3)) { $4 = (_NbtTag_U16($0)|0); $5 = $4&65535; HEAP32[(1407464)>>2] = $5; return; } $6 = (_String_CaselessEqualsConst($1,26424)|0); $7 = ($6|0)==(0); if (!($7)) { $8 = (_NbtTag_U16($0)|0); $9 = $8&65535; HEAP32[(1407468)>>2] = $9; return; } $10 = (_String_CaselessEqualsConst($1,26426)|0); $11 = ($10|0)==(0); if (!($11)) { $12 = (_NbtTag_U16($0)|0); $13 = $12&65535; HEAP32[(1407472)>>2] = $13; return; } $14 = (_String_CaselessEqualsConst($1,23539)|0); $15 = ($14|0)==(0); if (!($15)) { $16 = ((($0)) + 16|0); $17 = HEAP32[$16>>2]|0; $18 = ($17|0)==(16); if (!($18)) { _Logger_Abort(23544); } $19 = ((($0)) + 20|0); _Mem_Copy((1407492),$19,16); return; } $20 = (_String_CaselessEqualsConst($1,23570)|0); $21 = ($20|0)==(0); if (!($21)) { $22 = ((($0)) + 16|0); $23 = HEAP32[$22>>2]|0; HEAP32[(1407460)>>2] = $23; $24 = (_Cw_GetBlocks($0)|0); HEAP32[351863] = $24; } $25 = (_String_CaselessEqualsConst($1,23581)|0); $26 = ($25|0)==(0); if ($26) { return; } $27 = (_Cw_GetBlocks($0)|0); _World_SetMapUpper($27); return; } function _Cw_Callback_2($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0; var $28 = 0.0, $29 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; $2 = ((($1)) + 8|0); $3 = (_String_CaselessEqualsConst($2,23533)|0); $4 = ($3|0)==(0); if ($4) { return; } $5 = ((($0)) + 8|0); $6 = (_String_CaselessEqualsConst($5,26422)|0); $7 = ($6|0)==(0); if (!($7)) { $8 = (_NbtTag_I16($0)|0); $9 = (+($8<<16>>16)); HEAPF32[(1242580)>>2] = $9; return; } $10 = (_String_CaselessEqualsConst($5,26424)|0); $11 = ($10|0)==(0); if (!($11)) { $12 = (_NbtTag_I16($0)|0); $13 = (+($12<<16>>16)); HEAPF32[(1242584)>>2] = $13; return; } $14 = (_String_CaselessEqualsConst($5,26426)|0); $15 = ($14|0)==(0); if (!($15)) { $16 = (_NbtTag_I16($0)|0); $17 = (+($16<<16>>16)); HEAPF32[(1242588)>>2] = $17; return; } $18 = (_String_CaselessEqualsConst($5,26390)|0); $19 = ($18|0)==(0); if (!($19)) { $20 = (_NbtTag_U8($0)|0); $21 = (+($20&255)); $22 = $21 * 360.0; $23 = $22 * 0.00390625; HEAPF32[(1242604)>>2] = $23; return; } $24 = (_String_CaselessEqualsConst($5,26406)|0); $25 = ($24|0)==(0); if ($25) { return; } $26 = (_NbtTag_U8($0)|0); $27 = (+($26&255)); $28 = $27 * 360.0; $29 = $28 * 0.00390625; HEAPF32[(1242608)>>2] = $29; return; } function _Cw_Callback_4($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = HEAP16[704099]|0; $3 = HEAP32[$0>>2]|0; $4 = HEAP32[$3>>2]|0; $5 = ((($4)) + 8|0); $6 = (_String_CaselessEqualsConst($5,23194)|0); $7 = ($6|0)==(0); if ($7) { STACKTOP = sp;return; } $8 = HEAP32[$0>>2]|0; $9 = HEAP32[$8>>2]|0; $10 = HEAP32[$9>>2]|0; $11 = ((($10)) + 8|0); $12 = (_String_CaselessEqualsConst($11,23198)|0); $13 = ($12|0)==(0); if ($13) { STACKTOP = sp;return; } $14 = HEAP32[$0>>2]|0; $15 = ((($14)) + 8|0); $16 = (_String_CaselessEqualsConst($15,35383)|0); $17 = ($16|0)==(0); if (!($17)) { $18 = ((($0)) + 8|0); $19 = (_String_CaselessEqualsConst($18,23438)|0); $20 = ($19|0)==(0); if (!($20)) { $21 = (_NbtTag_U16($0)|0); $22 = (+($21&65535)); $23 = $22 * 0.03125; HEAPF32[(1242612)>>2] = $23; STACKTOP = sp;return; } } $24 = HEAP32[$0>>2]|0; $25 = ((($24)) + 8|0); $26 = (_String_CaselessEqualsConst($25,35468)|0); $27 = ($26|0)==(0); if (!($27)) { $28 = ((($0)) + 8|0); $29 = (_String_CaselessEqualsConst($28,23447)|0); $30 = ($29|0)==(0); if (!($30)) { $31 = (_NbtTag_U8($0)|0); $32 = $31&255; HEAP32[(1407540)>>2] = $32; STACKTOP = sp;return; } } $33 = HEAP32[$0>>2]|0; $34 = ((($33)) + 8|0); $35 = (_String_CaselessEqualsConst($34,35234)|0); $36 = ($35|0)==(0); if (!($36)) { $37 = ((($0)) + 8|0); $38 = (_String_CaselessEqualsConst($37,23459)|0); $39 = ($38|0)==(0); if (!($39)) { $40 = (_NbtTag_U8($0)|0); $41 = $40&255; HEAP16[(1407514)>>1] = $41; STACKTOP = sp;return; } $42 = (_String_CaselessEqualsConst($37,23469)|0); $43 = ($42|0)==(0); if (!($43)) { $44 = (_NbtTag_U8($0)|0); $45 = $44&255; HEAP16[703756] = $45; STACKTOP = sp;return; } $46 = (_String_CaselessEqualsConst($37,23479)|0); $47 = ($46|0)==(0); if (!($47)) { $48 = (_NbtTag_I16($0)|0); $49 = $48 << 16 >> 16; HEAP32[(1407516)>>2] = $49; STACKTOP = sp;return; } $50 = (_String_CaselessEqualsConst($37,23489)|0); $51 = ($50|0)==(0); if (!($51)) { _NbtTag_String($1,$0); $52 = ((($1)) + 4|0); $53 = HEAP16[$52>>1]|0; $54 = ($53<<16>>16)==(0); if (!($54)) { _Server_RetrieveTexturePack($1); } STACKTOP = sp;return; } } $55 = HEAP32[$0>>2]|0; $56 = ((($55)) + 8|0); $57 = (_String_CaselessEqualsConst($56,35430)|0); $58 = ($57|0)==(0); if (!($58)) { $59 = ((($0)) + 8|0); $60 = (_String_CaselessEqualsConst($59,23500)|0); $61 = ($60|0)==(0); if (!($61)) { $62 = (_Cw_ParseCol(-13159)|0); HEAP32[(1407556)>>2] = $62; STACKTOP = sp;return; } $63 = (_String_CaselessEqualsConst($59,23504)|0); $64 = ($63|0)==(0); if (!($64)) { $65 = (_Cw_ParseCol(-1)|0); HEAP32[(1407564)>>2] = $65; STACKTOP = sp;return; } $66 = (_String_CaselessEqualsConst($59,34256)|0); $67 = ($66|0)==(0); if (!($67)) { $68 = (_Cw_ParseCol(-1)|0); HEAP32[(1407560)>>2] = $68; STACKTOP = sp;return; } $69 = (_String_CaselessEqualsConst($59,23510)|0); $70 = ($69|0)==(0); if (!($70)) { $71 = (_Cw_ParseCol(-1)|0); _Env_SetSunCol($71); STACKTOP = sp;return; } $72 = (_String_CaselessEqualsConst($59,23519)|0); $73 = ($72|0)==(0); if (!($73)) { $74 = (_Cw_ParseCol(-6579301)|0); _Env_SetShadowCol($74); STACKTOP = sp;return; } } $75 = HEAP32[$0>>2]|0; $76 = ((($75)) + 8|0); $77 = (_String_CaselessEqualsConst($76,35366)|0); $78 = ($77|0)==(0); $79 = HEAP8[1408234]|0; $80 = ($79<<24>>24)==(0); $or$cond = $78 | $80; if ($or$cond) { STACKTOP = sp;return; } $81 = ((($0)) + 8|0); $82 = (_String_CaselessStarts($81,11480)|0); $83 = ($82|0)==(0); if ($83) { STACKTOP = sp;return; } $84 = $2&65535; $85 = (587268 + ($84)|0); $86 = HEAP8[$85>>0]|0; $87 = ($86<<24>>24)==(0); if ($87) { $88 = (583428 + ($84)|0); $89 = HEAP8[$88>>0]|0; HEAP8[$85>>0] = $89; HEAP8[$88>>0] = 5; } else { HEAP8[$85>>0] = 0; } _Block_DefineCustom($2); $90 = (634116 + ($84)|0); HEAP8[$90>>0] = 1; $91 = (634884 + ($84)|0); HEAP8[$91>>0] = 1; _Event_RaiseVoid(1253156); HEAP16[704099] = 0; STACKTOP = sp;return; } function _Cw_Callback_5($0) { $0 = $0|0; var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; var $171 = 0, $172 = 0, $173 = 0, $174 = 0.0, $175 = 0.0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0.0, $2 = 0, $20 = 0, $200 = 0.0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0.0, $206 = 0.0; var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0.0, $211 = 0.0, $212 = 0, $213 = 0, $214 = 0, $215 = 0.0, $216 = 0.0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0.0, $221 = 0.0, $222 = 0, $223 = 0, $224 = 0; var $225 = 0.0, $226 = 0.0, $227 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0, $56 = 0; var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $spec$select = 0, $spec$store$select = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = HEAP16[704099]|0; $3 = HEAP32[$0>>2]|0; $4 = HEAP32[$3>>2]|0; $5 = HEAP32[$4>>2]|0; $6 = ((($5)) + 8|0); $7 = (_String_CaselessEqualsConst($6,23194)|0); $8 = ($7|0)==(0); if ($8) { STACKTOP = sp;return; } $9 = HEAP32[$0>>2]|0; $10 = HEAP32[$9>>2]|0; $11 = HEAP32[$10>>2]|0; $12 = HEAP32[$11>>2]|0; $13 = ((($12)) + 8|0); $14 = (_String_CaselessEqualsConst($13,23198)|0); $15 = ($14|0)==(0); if ($15) { STACKTOP = sp;return; } $16 = HEAP32[$0>>2]|0; $17 = HEAP32[$16>>2]|0; $18 = ((($17)) + 8|0); $19 = (_String_CaselessEqualsConst($18,35430)|0); $20 = ($19|0)==(0); if (!($20)) { $21 = ((($0)) + 8|0); $22 = (_String_CaselessEqualsConst($21,26410)|0); $23 = ($22|0)==(0); if (!($23)) { $24 = (_NbtTag_U16($0)|0); $25 = $24&65535; HEAP32[315044] = $25; STACKTOP = sp;return; } $26 = (_String_CaselessEqualsConst($21,26388)|0); $27 = ($26|0)==(0); if (!($27)) { $28 = (_NbtTag_U16($0)|0); $29 = $28&65535; HEAP32[315045] = $29; STACKTOP = sp;return; } $30 = (_String_CaselessEqualsConst($21,26378)|0); $31 = ($30|0)==(0); if (!($31)) { $32 = (_NbtTag_U16($0)|0); $33 = $32&65535; HEAP32[315046] = $33; STACKTOP = sp;return; } } $34 = HEAP32[$0>>2]|0; $35 = HEAP32[$34>>2]|0; $36 = ((($35)) + 8|0); $37 = (_String_CaselessEqualsConst($36,35366)|0); $38 = ($37|0)==(0); $39 = HEAP8[1408234]|0; $40 = ($39<<24>>24)==(0); $or$cond = $38 | $40; if ($or$cond) { STACKTOP = sp;return; } $41 = ((($0)) + 8|0); $42 = (_String_CaselessEqualsConst($41,23207)|0); $43 = ($42|0)==(0); if (!($43)) { $44 = (_NbtTag_U8($0)|0); $45 = $44&255; HEAP16[704099] = $45; STACKTOP = sp;return; } $46 = (_String_CaselessEqualsConst($41,23210)|0); $47 = ($46|0)==(0); if (!($47)) { $48 = (_NbtTag_U16($0)|0); HEAP16[704099] = $48; STACKTOP = sp;return; } $49 = (_String_CaselessEqualsConst($41,23214)|0); $50 = ($49|0)==(0); if (!($50)) { $51 = (_NbtTag_U8($0)|0); _Block_SetCollide($2,$51); STACKTOP = sp;return; } $52 = (_String_CaselessEqualsConst($41,31656)|0); $53 = ($52|0)==(0); if (!($53)) { $54 = (+_NbtTag_F32($0)); $55 = $2&65535; $56 = (579588 + ($55<<2)|0); HEAPF32[$56>>2] = $54; STACKTOP = sp;return; } $57 = (_String_CaselessEqualsConst($41,23226)|0); $58 = ($57|0)==(0); if (!($58)) { $59 = (_NbtTag_U8($0)|0); $60 = ($59<<24>>24)==(0); $61 = $60&1; $62 = $2&65535; $63 = (570372 + ($62)|0); HEAP8[$63>>0] = $61; STACKTOP = sp;return; } $64 = (_String_CaselessEqualsConst($41,23241)|0); $65 = ($64|0)==(0); if (!($65)) { $66 = (_NbtTag_U8($0)|0); $67 = ($66<<24>>24)!=(0); $68 = $67&1; $69 = $2&65535; $70 = (571140 + ($69)|0); HEAP8[$70>>0] = $68; STACKTOP = sp;return; } $71 = (_String_CaselessEqualsConst($41,23252)|0); $72 = ($71|0)==(0); if (!($72)) { $73 = (_NbtTag_U8($0)|0); $74 = $2&65535; $75 = (583428 + ($74)|0); HEAP8[$75>>0] = $73; STACKTOP = sp;return; } $76 = (_String_CaselessEqualsConst($41,23262)|0); $77 = ($76|0)==(0); if (!($77)) { $78 = (_NbtTag_U8($0)|0); $79 = $2&65535; $80 = (587268 + ($79)|0); HEAP8[$80>>0] = $78; STACKTOP = sp;return; } $81 = (_String_CaselessEqualsConst($41,23268)|0); $82 = ($81|0)==(0); if (!($82)) { _NbtTag_String($1,$0); _Block_SetName($2,$1); STACKTOP = sp;return; } $83 = (_String_CaselessEqualsConst($41,23273)|0); $84 = ($83|0)==(0); if (!($84)) { $85 = (_NbtTag_U8_Array($0,6)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; $88 = $2&65535; $89 = ($88*6)|0; $90 = (($89) + 5)|0; $91 = (624900 + ($90<<1)|0); HEAP16[$91>>1] = $87; $92 = ((($85)) + 1|0); $93 = HEAP8[$92>>0]|0; $94 = $93&255; $95 = (($89) + 4)|0; $96 = (624900 + ($95<<1)|0); HEAP16[$96>>1] = $94; $97 = ((($85)) + 2|0); $98 = HEAP8[$97>>0]|0; $99 = $98&255; $100 = (624900 + ($89<<1)|0); HEAP16[$100>>1] = $99; $101 = ((($85)) + 3|0); $102 = HEAP8[$101>>0]|0; $103 = $102&255; $104 = $89 | 1; $105 = (624900 + ($104<<1)|0); HEAP16[$105>>1] = $103; $106 = ((($85)) + 4|0); $107 = HEAP8[$106>>0]|0; $108 = $107&255; $109 = (($89) + 2)|0; $110 = (624900 + ($109<<1)|0); HEAP16[$110>>1] = $108; $111 = ((($85)) + 5|0); $112 = HEAP8[$111>>0]|0; $113 = $112&255; $114 = (($89) + 3)|0; $115 = (624900 + ($114<<1)|0); HEAP16[$115>>1] = $113; $116 = ((($0)) + 16|0); $117 = HEAP32[$116>>2]|0; $118 = ($117>>>0)>(11); if (!($118)) { STACKTOP = sp;return; } $119 = ((($85)) + 6|0); $120 = HEAP8[$119>>0]|0; $121 = $120&255; $122 = $121 << 8; $123 = $86&255; $124 = $122 | $123; $125 = $124&65535; HEAP16[$91>>1] = $125; $126 = ((($85)) + 7|0); $127 = HEAP8[$126>>0]|0; $128 = $127&255; $129 = $128 << 8; $130 = $93&255; $131 = $129 | $130; $132 = $131&65535; HEAP16[$96>>1] = $132; $133 = ((($85)) + 8|0); $134 = HEAP8[$133>>0]|0; $135 = $134&255; $136 = $135 << 8; $137 = $98&255; $138 = $136 | $137; $139 = $138&65535; HEAP16[$100>>1] = $139; $140 = ((($85)) + 9|0); $141 = HEAP8[$140>>0]|0; $142 = $141&255; $143 = $142 << 8; $144 = $102&255; $145 = $143 | $144; $146 = $145&65535; HEAP16[$105>>1] = $146; $147 = ((($85)) + 10|0); $148 = HEAP8[$147>>0]|0; $149 = $148&255; $150 = $149 << 8; $151 = $107&255; $152 = $150 | $151; $153 = $152&65535; HEAP16[$110>>1] = $153; $154 = ((($85)) + 11|0); $155 = HEAP8[$154>>0]|0; $156 = $155&255; $157 = $156 << 8; $158 = $112&255; $159 = $157 | $158; $160 = $159&65535; HEAP16[$115>>1] = $160; STACKTOP = sp;return; } $161 = (_String_CaselessEqualsConst($41,23282)|0); $162 = ($161|0)==(0); if (!($162)) { $163 = (_NbtTag_U8($0)|0); $164 = $2&65535; $165 = (584196 + ($164)|0); HEAP8[$165>>0] = $163; $166 = (584964 + ($164)|0); $167 = ($163<<24>>24)==(6); $spec$select = $167 ? 4 : $163; HEAP8[$166>>0] = $spec$select; STACKTOP = sp;return; } $168 = (_String_CaselessEqualsConst($41,34256)|0); $169 = ($168|0)==(0); if (!($169)) { $170 = (_NbtTag_U8_Array($0,4)|0); $171 = HEAP8[$170>>0]|0; $172 = $171&255; $173 = (($172) + 1)|0; $174 = (+($173|0)); $175 = $174 * 0.0078125; $176 = $2&65535; $177 = (574980 + ($176<<2)|0); HEAPF32[$177>>2] = $175; $178 = HEAP8[$170>>0]|0; $179 = ($178<<24>>24)==(-1); $spec$store$select = $179 ? 0.0 : $175; HEAPF32[$177>>2] = $spec$store$select; $180 = ((($170)) + 1|0); $181 = HEAP8[$180>>0]|0; $182 = $181&255; $183 = ((($170)) + 2|0); $184 = HEAP8[$183>>0]|0; $185 = $184&255; $186 = $185 << 8; $187 = ((($170)) + 3|0); $188 = HEAP8[$187>>0]|0; $189 = $188&255; $190 = $189 << 16; $191 = $186 | $182; $192 = $191 | $190; $193 = $192 | -16777216; $194 = (571908 + ($176<<2)|0); HEAP32[$194>>2] = $193; STACKTOP = sp;return; } $195 = (_String_CaselessEqualsConst($41,23292)|0); $196 = ($195|0)==(0); if ($196) { STACKTOP = sp;return; } $197 = (_NbtTag_U8_Array($0,6)|0); $198 = HEAP8[$197>>0]|0; $199 = (+($198<<24>>24)); $200 = $199 * 0.0625; $201 = $2&65535; $202 = (588036 + (($201*12)|0)|0); HEAPF32[$202>>2] = $200; $203 = ((($197)) + 3|0); $204 = HEAP8[$203>>0]|0; $205 = (+($204<<24>>24)); $206 = $205 * 0.0625; $207 = (597252 + (($201*12)|0)|0); HEAPF32[$207>>2] = $206; $208 = ((($197)) + 1|0); $209 = HEAP8[$208>>0]|0; $210 = (+($209<<24>>24)); $211 = $210 * 0.0625; $212 = (((588036 + (($201*12)|0)|0)) + 4|0); HEAPF32[$212>>2] = $211; $213 = ((($197)) + 4|0); $214 = HEAP8[$213>>0]|0; $215 = (+($214<<24>>24)); $216 = $215 * 0.0625; $217 = (((597252 + (($201*12)|0)|0)) + 4|0); HEAPF32[$217>>2] = $216; $218 = ((($197)) + 2|0); $219 = HEAP8[$218>>0]|0; $220 = (+($219<<24>>24)); $221 = $220 * 0.0625; $222 = (((588036 + (($201*12)|0)|0)) + 8|0); HEAPF32[$222>>2] = $221; $223 = ((($197)) + 5|0); $224 = HEAP8[$223>>0]|0; $225 = (+($224<<24>>24)); $226 = $225 * 0.0625; $227 = (((597252 + (($201*12)|0)|0)) + 8|0); HEAPF32[$227>>2] = $226; STACKTOP = sp;return; } function _NbtTag_U16($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 4|0); $2 = HEAP8[$1>>0]|0; $3 = ($2<<24>>24)==(2); if (!($3)) { _Logger_Abort(23417); } $4 = ((($0)) + 20|0); $5 = HEAP16[$4>>1]|0; return ($5|0); } function _NbtTag_U8($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 4|0); $2 = HEAP8[$1>>0]|0; $3 = ($2<<24>>24)==(1); if (!($3)) { _Logger_Abort(23397); } $4 = ((($0)) + 20|0); $5 = HEAP8[$4>>0]|0; return ($5|0); } function _NbtTag_F32($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 4|0); $2 = HEAP8[$1>>0]|0; $3 = ($2<<24>>24)==(5); if (!($3)) { _Logger_Abort(23376); } $4 = ((($0)) + 20|0); $5 = +HEAPF32[$4>>2]; return (+$5); } function _NbtTag_String($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($1)) + 4|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)==(8); if (!($4)) { _Logger_Abort(23352); } $5 = ((($1)) + 20|0); $6 = $5; $7 = $6; $8 = HEAP32[$7>>2]|0; $9 = (($6) + 4)|0; $10 = $9; $11 = HEAP32[$10>>2]|0; $12 = $0; $13 = $12; HEAP32[$13>>2] = $8; $14 = (($12) + 4)|0; $15 = $14; HEAP32[$15>>2] = $11; return; } function _NbtTag_U8_Array($0,$1) { $0 = $0|0; $1 = $1|0; var $$pr = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 4|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)==(7); if (!($4)) { _Logger_Abort(23299); } $5 = ((($0)) + 16|0); $6 = HEAP32[$5>>2]|0; $7 = ($6>>>0)<($1>>>0); if ($7) { _Logger_Abort(23325); $$pr = HEAP32[$5>>2]|0; $8 = $$pr; } else { $8 = $6; } $9 = ($8>>>0)<(65); $10 = ((($0)) + 20|0); if ($9) { $12 = $10; return ($12|0); } else { $11 = HEAP32[$10>>2]|0; $12 = $11; return ($12|0); } return (0)|0; } function _NbtTag_I16($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 4|0); $2 = HEAP8[$1>>0]|0; $3 = ($2<<24>>24)==(2); if (!($3)) { _Logger_Abort(23417); } $4 = ((($0)) + 20|0); $5 = HEAP16[$4>>1]|0; return ($5|0); } function _Cw_ParseCol($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[315044]|0; $2 = HEAP32[315045]|0; $3 = HEAP32[315046]|0; $4 = ($1|0)>(255); $5 = ($2|0)>(255); $or$cond = $4 | $5; $6 = ($3|0)>(255); $or$cond3 = $or$cond | $6; $7 = $1 & 255; $8 = $2 << 8; $9 = $8 & 65280; $10 = $3 << 16; $11 = $7 | $9; $12 = $11 | $10; $13 = $12 | -16777216; $spec$select = $or$cond3 ? $0 : $13; return ($spec$select|0); } function _Cw_GetBlocks($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 16|0); $2 = HEAP32[$1>>2]|0; $3 = ($2>>>0)<(65); if ($3) { $4 = (_Mem_Alloc($2,1,23593)|0); $5 = ((($0)) + 20|0); $6 = HEAP32[$1>>2]|0; _Mem_Copy($4,$5,$6); $$0 = $4; return ($$0|0); } else { $7 = ((($0)) + 20|0); $8 = HEAP32[$7>>2]|0; HEAP32[$7>>2] = 0; $$0 = $8; return ($$0|0); } return (0)|0; } function _Map_LoadFrom($0) { $0 = $0|0; var $$byval_copy = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 112|0; $$byval_copy = sp + 88|0; $1 = sp + 56|0; $2 = sp; _Game_Reset(); $3 = (_Stream_OpenFile($2,$0)|0); $4 = ($3|0)==(0); if (!($4)) { _Logger_Warn2($3,38432,$0); STACKTOP = sp;return; } $5 = (_Map_FindImporter($0)|0); $6 = (FUNCTION_TABLE_ii[$5 & 31]($2)|0); $7 = ($6|0)==(0); if (!($7)) { _World_Reset(); _Logger_Warn2($6,37484,$0); $8 = ((($2)) + 28|0); $9 = HEAP32[$8>>2]|0; (FUNCTION_TABLE_ii[$9 & 31]($2)|0); STACKTOP = sp;return; } $10 = ((($2)) + 28|0); $11 = HEAP32[$10>>2]|0; $12 = (FUNCTION_TABLE_ii[$11 & 31]($2)|0); $13 = ($12|0)==(0); if (!($13)) { _Logger_Warn2($12,38518,$0); } $14 = HEAP32[351863]|0; $15 = HEAP32[(1407464)>>2]|0; $16 = HEAP32[(1407468)>>2]|0; $17 = HEAP32[(1407472)>>2]|0; _World_SetNewMap($14,$15,$16,$17); _Event_RaiseVoid((1254196)); $18 = +HEAPF32[(1242604)>>2]; $19 = +HEAPF32[(1242608)>>2]; ;HEAP32[$$byval_copy>>2]=HEAP32[(1242580)>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[(1242580)+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[(1242580)+8>>2]|0; _LocationUpdate_MakePosAndOri($1,$$byval_copy,$18,$19,0); $20 = HEAP32[310538]|0; $21 = ((($20)) + 8|0); $22 = HEAP32[$21>>2]|0; FUNCTION_TABLE_viii[$22 & 31](1242152,$1,0); STACKTOP = sp;return; } function _Cw_Save($0) { $0 = $0|0; var $$0 = 0, $$04950 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0; var $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 768|0; $1 = sp; _Mem_Copy($1,1936,131); $2 = ((($1)) + 43|0); _Mem_Copy($2,(1407492),16); $3 = ((($1)) + 63|0); $4 = HEAP32[(1407464)>>2]|0; $5 = $4&65535; _Stream_SetU16_BE($3,$5); $6 = ((($1)) + 69|0); $7 = HEAP32[(1407468)>>2]|0; $8 = $7&65535; _Stream_SetU16_BE($6,$8); $9 = ((($1)) + 75|0); $10 = HEAP32[(1407472)>>2]|0; $11 = $10&65535; _Stream_SetU16_BE($9,$11); $12 = ((($1)) + 127|0); $13 = HEAP32[(1407460)>>2]|0; _Stream_SetU32_BE($12,$13); $14 = ((($1)) + 89|0); $15 = +HEAPF32[(1242156)>>2]; $16 = (~~(($15))&65535); _Stream_SetU16_BE($14,$16); $17 = ((($1)) + 95|0); $18 = +HEAPF32[(1242160)>>2]; $19 = (~~(($18))&65535); _Stream_SetU16_BE($17,$19); $20 = ((($1)) + 101|0); $21 = +HEAPF32[(1242164)>>2]; $22 = (~~(($21))&65535); _Stream_SetU16_BE($20,$22); $23 = +HEAPF32[(1242604)>>2]; $24 = $23 * 256.0; $25 = $24 / 360.0; $26 = (~~(($25))&255); $27 = ((($1)) + 107|0); HEAP8[$27>>0] = $26; $28 = +HEAPF32[(1242608)>>2]; $29 = $28 * 256.0; $30 = $29 / 360.0; $31 = (~~(($30))&255); $32 = ((($1)) + 112|0); HEAP8[$32>>0] = $31; $33 = (_Stream_Write($0,$1,131)|0); $34 = ($33|0)==(0); if (!($34)) { $$0 = $33; STACKTOP = sp;return ($$0|0); } $35 = HEAP32[351863]|0; $36 = HEAP32[(1407460)>>2]|0; $37 = (_Stream_Write($0,$35,$36)|0); $38 = ($37|0)==(0); if (!($38)) { $$0 = $37; STACKTOP = sp;return ($$0|0); } $39 = HEAP32[351863]|0; $40 = HEAP32[(1407456)>>2]|0; $41 = ($39|0)==($40|0); if (!($41)) { _Mem_Copy($1,2080,18); $42 = ((($1)) + 14|0); $43 = HEAP32[(1407460)>>2]|0; _Stream_SetU32_BE($42,$43); $44 = (_Stream_Write($0,$1,18)|0); $45 = ($44|0)==(0); if (!($45)) { $$0 = $44; STACKTOP = sp;return ($$0|0); } $46 = HEAP32[(1407456)>>2]|0; $47 = HEAP32[(1407460)>>2]|0; $48 = (_Stream_Write($0,$46,$47)|0); $49 = ($48|0)==(0); if (!($49)) { $$0 = $48; STACKTOP = sp;return ($$0|0); } } _Mem_Copy($1,2112,303); $50 = ((($1)) + 44|0); $51 = +HEAPF32[(1242612)>>2]; $52 = $51 * 32.0; $53 = (~~(($52))&65535); _Stream_SetU16_BE($50,$53); $54 = HEAP32[(1407540)>>2]|0; $55 = $54&255; $56 = ((($1)) + 78|0); HEAP8[$56>>0] = $55; $57 = HEAP32[(1407556)>>2]|0; $58 = $57&255; $59 = ((($1)) + 103|0); HEAP8[$59>>0] = $58; $60 = (8)?($57 >>> 8):($57); $61 = $60&255; $62 = ((($1)) + 109|0); HEAP8[$62>>0] = $61; $63 = (16)?($57 >>> 16):($57); $64 = $63&255; $65 = ((($1)) + 115|0); HEAP8[$65>>0] = $64; $66 = HEAP32[(1407564)>>2]|0; $67 = $66&255; $68 = ((($1)) + 130|0); HEAP8[$68>>0] = $67; $69 = (8)?($66 >>> 8):($66); $70 = $69&255; $71 = ((($1)) + 136|0); HEAP8[$71>>0] = $70; $72 = (16)?($66 >>> 16):($66); $73 = $72&255; $74 = ((($1)) + 142|0); HEAP8[$74>>0] = $73; $75 = HEAP32[(1407560)>>2]|0; $76 = $75&255; $77 = ((($1)) + 155|0); HEAP8[$77>>0] = $76; $78 = (8)?($75 >>> 8):($75); $79 = $78&255; $80 = ((($1)) + 161|0); HEAP8[$80>>0] = $79; $81 = (16)?($75 >>> 16):($75); $82 = $81&255; $83 = ((($1)) + 167|0); HEAP8[$83>>0] = $82; $84 = HEAP32[(1407588)>>2]|0; $85 = $84&255; $86 = ((($1)) + 184|0); HEAP8[$86>>0] = $85; $87 = (8)?($84 >>> 8):($84); $88 = $87&255; $89 = ((($1)) + 190|0); HEAP8[$89>>0] = $88; $90 = (16)?($84 >>> 16):($84); $91 = $90&255; $92 = ((($1)) + 196|0); HEAP8[$92>>0] = $91; $93 = HEAP32[(1407572)>>2]|0; $94 = $93&255; $95 = ((($1)) + 214|0); HEAP8[$95>>0] = $94; $96 = (8)?($93 >>> 8):($93); $97 = $96&255; $98 = ((($1)) + 220|0); HEAP8[$98>>0] = $97; $99 = (16)?($93 >>> 16):($93); $100 = $99&255; $101 = ((($1)) + 226|0); HEAP8[$101>>0] = $100; $102 = HEAP16[(1407514)>>1]|0; $103 = $102&255; $104 = ((($1)) + 260|0); HEAP8[$104>>0] = $103; $105 = HEAP16[703756]|0; $106 = $105&255; $107 = ((($1)) + 273|0); HEAP8[$107>>0] = $106; $108 = ((($1)) + 286|0); $109 = HEAP32[(1407516)>>2]|0; $110 = $109&65535; _Stream_SetU16_BE($108,$110); $111 = ((($1)) + 301|0); $112 = (_Cw_WriteEndString($111,18828)|0); $113 = (($112) + 303)|0; $114 = (_Stream_Write($0,$1,$113)|0); $115 = ($114|0)==(0); if (!($115)) { $$0 = $114; STACKTOP = sp;return ($$0|0); } $116 = (_Stream_Write($0,2416,19)|0); $117 = ($116|0)==(0); if (!($117)) { $$0 = $116; STACKTOP = sp;return ($$0|0); } $$04950 = 767; while(1) { $118 = $$04950&65535; $119 = (_Block_IsCustomDefined($118)|0); $120 = ($119<<24>>24)==(0); if (!($120)) { $121 = (_Cw_WriteBockDef($0,$$04950)|0); $122 = ($121|0)==(0); if (!($122)) { $$0 = $121; label = 13; break; } } $123 = (($$04950) + -1)|0; $124 = ($$04950>>>0)>(1); if ($124) { $$04950 = $123; } else { break; } } if ((label|0) == 13) { STACKTOP = sp;return ($$0|0); } $125 = (_Stream_Write($0,1408225,4)|0); $$0 = $125; STACKTOP = sp;return ($$0|0); } function _Cw_WriteEndString($0,$1) { $0 = $0|0; $1 = $1|0; var $$0$lcssa = 0, $$021$lcssa = 0, $$02124 = 0, $$02223 = 0, $$025 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 2|0); $3 = ((($1)) + 4|0); $4 = HEAP16[$3>>1]|0; $5 = ($4<<16>>16)==(0); if ($5) { $$0$lcssa = 0;$$021$lcssa = $2; } else { $$02124 = $2;$$02223 = 0;$$025 = 0; while(1) { $6 = HEAP32[$1>>2]|0; $7 = (($6) + ($$02223)|0); $8 = HEAP8[$7>>0]|0; $9 = (_Convert_CP437ToUtf8($8,$$02124)|0); $10 = (($9) + ($$025))|0; $11 = (($$02124) + ($9)|0); $12 = (($$02223) + 1)|0; $13 = HEAP16[$3>>1]|0; $14 = $13&65535; $15 = ($12>>>0)<($14>>>0); if ($15) { $$02124 = $11;$$02223 = $12;$$025 = $10; } else { $$0$lcssa = $10;$$021$lcssa = $11; break; } } } $16 = $$0$lcssa&65535; _Stream_SetU16_BE($0,$16); HEAP8[$$021$lcssa>>0] = 0; $17 = (($$0$lcssa) + 1)|0; return ($17|0); } function _Cw_WriteBockDef($0,$1) { $0 = $0|0; $1 = $1|0; var $$sink65 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$0$0$copyload = 0.0, $$sroa$06$0$$sroa_idx = 0, $$sroa$06$0$copyload = 0.0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$4$0$copyload = 0.0, $$sroa$48$0$$sroa_idx9 = 0, $$sroa$48$0$copyload = 0.0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$5$0$copyload = 0.0, $$sroa$511$0$$sroa_idx12 = 0, $$sroa$511$0$copyload = 0.0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0; var $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0.0, $113 = 0, $114 = 0, $115 = 0.0, $116 = 0, $117 = 0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0, $121 = 0.0, $122 = 0, $123 = 0; var $124 = 0.0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0; var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 528|0; $2 = sp; $3 = sp + 520|0; $4 = sp + 512|0; $5 = (583428 + ($1)|0); $6 = HEAP8[$5>>0]|0; $7 = ($6<<24>>24)==(5); _Mem_Copy($2,2448,189); $8 = ((($2)) + 8|0); _String_Init_368($3,$8); $9 = (8)?($1 >>> 8):($1); $10 = $9&255; _String_AppendHex($3,$10); $11 = $1&255; _String_AppendHex($3,$11); $12 = ((($2)) + 17|0); HEAP8[$12>>0] = $11; $13 = ((($2)) + 24|0); $14 = $1&65535; _Stream_SetU16_BE($13,$14); $15 = (578052 + ($1)|0); $16 = HEAP8[$15>>0]|0; $17 = ((($2)) + 40|0); HEAP8[$17>>0] = $16; $18 = (579588 + ($1<<2)|0); $19 = HEAP32[$18>>2]|0; $20 = ((($2)) + 49|0); _Stream_SetU32_BE($20,$19); $21 = ($1*6)|0; $22 = (($21) + 5)|0; $23 = (624900 + ($22<<1)|0); $24 = HEAP16[$23>>1]|0; $25 = $24&255; $26 = ((($2)) + 68|0); HEAP8[$26>>0] = $25; $27 = (8)?(($24&65535) >>> 8):(($24&65535)); $28 = $27&255; $29 = ((($2)) + 74|0); HEAP8[$29>>0] = $28; $30 = (($21) + 4)|0; $31 = (624900 + ($30<<1)|0); $32 = HEAP16[$31>>1]|0; $33 = $32&255; $34 = ((($2)) + 69|0); HEAP8[$34>>0] = $33; $35 = (8)?(($32&65535) >>> 8):(($32&65535)); $36 = $35&255; $37 = ((($2)) + 75|0); HEAP8[$37>>0] = $36; $38 = (624900 + ($21<<1)|0); $39 = HEAP16[$38>>1]|0; $40 = $39&255; $41 = ((($2)) + 70|0); HEAP8[$41>>0] = $40; $42 = (8)?(($39&65535) >>> 8):(($39&65535)); $43 = $42&255; $44 = ((($2)) + 76|0); HEAP8[$44>>0] = $43; $45 = $21 | 1; $46 = (624900 + ($45<<1)|0); $47 = HEAP16[$46>>1]|0; $48 = $47&255; $49 = ((($2)) + 71|0); HEAP8[$49>>0] = $48; $50 = (8)?(($47&65535) >>> 8):(($47&65535)); $51 = $50&255; $52 = ((($2)) + 77|0); HEAP8[$52>>0] = $51; $53 = (($21) + 2)|0; $54 = (624900 + ($53<<1)|0); $55 = HEAP16[$54>>1]|0; $56 = $55&255; $57 = ((($2)) + 72|0); HEAP8[$57>>0] = $56; $58 = (8)?(($55&65535) >>> 8):(($55&65535)); $59 = $58&255; $60 = ((($2)) + 78|0); HEAP8[$60>>0] = $59; $61 = (($21) + 3)|0; $62 = (624900 + ($61<<1)|0); $63 = HEAP16[$62>>1]|0; $64 = $63&255; $65 = ((($2)) + 73|0); HEAP8[$65>>0] = $64; $66 = (8)?(($63&65535) >>> 8):(($63&65535)); $67 = $66&255; $68 = ((($2)) + 79|0); HEAP8[$68>>0] = $67; $69 = (570372 + ($1)|0); $70 = HEAP8[$69>>0]|0; $71 = ($70<<24>>24)==(0); $72 = $71&1; $73 = ((($2)) + 97|0); HEAP8[$73>>0] = $72; $74 = (584196 + ($1)|0); $75 = HEAP8[$74>>0]|0; $76 = ((($2)) + 110|0); HEAP8[$76>>0] = $75; $77 = (571140 + ($1)|0); $78 = HEAP8[$77>>0]|0; $79 = ($78<<24>>24)!=(0); $80 = $79&1; $81 = ((($2)) + 124|0); HEAP8[$81>>0] = $80; if ($7) { $87 = ((($2)) + 133|0); HEAP8[$87>>0] = 0; $88 = (587268 + ($1)|0); $$sink65 = $88; } else { $82 = (((597252 + (($1*12)|0)|0)) + 4|0); $83 = +HEAPF32[$82>>2]; $84 = $83 * 16.0; $85 = (~~(($84))&255); $86 = ((($2)) + 133|0); HEAP8[$86>>0] = $85; $$sink65 = $5; } $89 = HEAP8[$$sink65>>0]|0; $90 = ((($2)) + 146|0); HEAP8[$90>>0] = $89; $91 = (574980 + ($1<<2)|0); $92 = +HEAPF32[$91>>2]; $93 = $92 * 128.0; $94 = $93 + -1.0; $95 = (~~(($94))&255); $96 = (571908 + ($1<<2)|0); $97 = HEAP32[$96>>2]|0; $98 = $92 != 0.0; $99 = $98 ? $95 : 0; $100 = ((($2)) + 157|0); HEAP8[$100>>0] = $99; $101 = $97&255; $102 = ((($2)) + 158|0); HEAP8[$102>>0] = $101; $103 = (8)?($97 >>> 8):($97); $104 = $103&255; $105 = ((($2)) + 159|0); HEAP8[$105>>0] = $104; $106 = (16)?($97 >>> 16):($97); $107 = $106&255; $108 = ((($2)) + 160|0); HEAP8[$108>>0] = $107; $$sroa$06$0$$sroa_idx = (588036 + (($1*12)|0)|0); $$sroa$06$0$copyload = +HEAPF32[$$sroa$06$0$$sroa_idx>>2]; $$sroa$48$0$$sroa_idx9 = (((588036 + (($1*12)|0)|0)) + 4|0); $$sroa$48$0$copyload = +HEAPF32[$$sroa$48$0$$sroa_idx9>>2]; $$sroa$511$0$$sroa_idx12 = (((588036 + (($1*12)|0)|0)) + 8|0); $$sroa$511$0$copyload = +HEAPF32[$$sroa$511$0$$sroa_idx12>>2]; $$sroa$0$0$$sroa_idx = (597252 + (($1*12)|0)|0); $$sroa$0$0$copyload = +HEAPF32[$$sroa$0$0$$sroa_idx>>2]; $$sroa$4$0$$sroa_idx2 = (((597252 + (($1*12)|0)|0)) + 4|0); $$sroa$4$0$copyload = +HEAPF32[$$sroa$4$0$$sroa_idx2>>2]; $$sroa$5$0$$sroa_idx4 = (((597252 + (($1*12)|0)|0)) + 8|0); $$sroa$5$0$copyload = +HEAPF32[$$sroa$5$0$$sroa_idx4>>2]; $109 = $$sroa$06$0$copyload * 16.0; $110 = (~~(($109))&255); $111 = ((($2)) + 174|0); HEAP8[$111>>0] = $110; $112 = $$sroa$48$0$copyload * 16.0; $113 = (~~(($112))&255); $114 = ((($2)) + 175|0); HEAP8[$114>>0] = $113; $115 = $$sroa$511$0$copyload * 16.0; $116 = (~~(($115))&255); $117 = ((($2)) + 176|0); HEAP8[$117>>0] = $116; $118 = $$sroa$0$0$copyload * 16.0; $119 = (~~(($118))&255); $120 = ((($2)) + 177|0); HEAP8[$120>>0] = $119; $121 = $$sroa$4$0$copyload * 16.0; $122 = (~~(($121))&255); $123 = ((($2)) + 178|0); HEAP8[$123>>0] = $122; $124 = $$sroa$5$0$copyload * 16.0; $125 = (~~(($124))&255); $126 = ((($2)) + 179|0); HEAP8[$126>>0] = $125; _Block_UNSAFE_GetName($4,$14); $127 = $4; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; $133 = $3; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; $136 = $135; HEAP32[$136>>2] = $132; $137 = ((($2)) + 187|0); $138 = (_Cw_WriteEndString($137,$3)|0); $139 = (($138) + 189)|0; $140 = (_Stream_Write($0,$2,$139)|0); STACKTOP = sp;return ($140|0); } function _String_Init_368($0,$1) { $0 = $0|0; $1 = $1|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, label = 0, sp = 0; sp = STACKTOP; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP16[$$sroa$4$0$$sroa_idx2>>1] = 0; $$sroa$5$0$$sroa_idx4 = ((($0)) + 6|0); HEAP16[$$sroa$5$0$$sroa_idx4>>1] = 4; return; } function _Game_AddComponent($0) { $0 = $0|0; var $$sink = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[315074]|0; $2 = ($1|0)==(0|0); $3 = HEAP32[315075]|0; $4 = ((($3)) + 20|0); $$sink = $2 ? 1260296 : $4; HEAP32[$$sink>>2] = $0; HEAP32[315075] = $0; $5 = ((($0)) + 20|0); HEAP32[$5>>2] = 0; return; } function _ScheduledTask_Add($0,$1) { $0 = +$0; $1 = $1|0; var $$sroa$0$0$$sroa_idx = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[315076]|0; $3 = ($2|0)==(6); if ($3) { _Logger_Abort(23675); } $4 = HEAP32[315076]|0; $5 = (($4) + 1)|0; HEAP32[315076] = $5; $$sroa$0$0$$sroa_idx = (379072 + (($4*24)|0)|0); HEAPF64[$$sroa$0$0$$sroa_idx>>3] = 0.0; $$sroa$4$0$$sroa_idx2 = (((379072 + (($4*24)|0)|0)) + 8|0); HEAPF64[$$sroa$4$0$$sroa_idx2>>3] = $0; $$sroa$5$0$$sroa_idx4 = (((379072 + (($4*24)|0)|0)) + 16|0); HEAP32[$$sroa$5$0$$sroa_idx4>>2] = $1; return ($4|0); } function _Game_GetWindowScale() { var $$ = 0.0, $0 = 0, $1 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[351858]|0; $1 = (+($0|0)); $2 = $1 / 640.0; $3 = HEAP32[351859]|0; $4 = (+($3|0)); $5 = $4 / 480.0; $6 = $2 < $5; $$ = $6 ? $2 : $5; $7 = (~~(($$))); $8 = (($7) + 1)|0; return ($8|0); } function _Game_Scale($0) { $0 = +$0; var $1 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = $0 * 10.0; $2 = $1 + 0.5; $3 = (~~(($2))); $4 = (+($3|0)); $5 = $4 / 10.0; return (+$5); } function _Game_GetHotbarScale() { var $0 = 0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, label = 0, sp = 0; sp = STACKTOP; $0 = (_Game_GetWindowScale()|0); $1 = (+($0|0)); $2 = +HEAPF32[315047]; $3 = $2 * $1; $4 = (+_Game_Scale($3)); return (+$4); } function _Game_GetInventoryScale() { var $0 = 0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, label = 0, sp = 0; sp = STACKTOP; $0 = (_Game_GetWindowScale()|0); $1 = (+($0|0)); $2 = +HEAPF32[315048]; $3 = $2 * 0.5; $4 = $3 * $1; $5 = (+_Game_Scale($4)); return (+$5); } function _Game_GetChatScale() { var $0 = 0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, label = 0, sp = 0; sp = STACKTOP; $0 = (_Game_GetWindowScale()|0); $1 = (+($0|0)); $2 = +HEAPF32[315049]; $3 = $2 * $1; $4 = (+_Game_Scale($3)); return (+$4); } function _Game_UNSAFE_GetDefaultTexturePack($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $1 = sp + 64|0; $2 = sp; HEAP32[$1>>2] = $2; $3 = ((($1)) + 4|0); HEAP16[$3>>1] = 0; $4 = ((($1)) + 6|0); HEAP16[$4>>1] = 64; _String_Format1($1,38320,10528); $5 = (_File_Exists($1)|0); $6 = ($5|0)==(0); $7 = HEAP8[1408229]|0; $8 = ($7<<24>>24)!=(0); $or$cond = $6 | $8; $9 = 10536; $10 = $9; $11 = HEAP32[$10>>2]|0; $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; $15 = 10528; $16 = $15; $17 = HEAP32[$16>>2]|0; $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; $21 = $or$cond ? $11 : $17; $22 = $or$cond ? $14 : $20; $23 = $0; $24 = $23; HEAP32[$24>>2] = $21; $25 = (($23) + 4)|0; $26 = $25; HEAP32[$26>>2] = $22; STACKTOP = sp;return; } function _Game_SetDefaultTexturePack($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _String_Copy(10528,$0); _Options_Set(37826,$0); return; } function _Game_ChangeTerrainAtlas($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Game_ValidateBitmap(11504,$0)|0); $2 = ($1<<24>>24)==(0); if ($2) { $$0 = 0; return ($$0|0); } $3 = ((($0)) + 8|0); $4 = HEAP32[$3>>2]|0; $5 = ((($0)) + 4|0); $6 = HEAP32[$5>>2]|0; $7 = ($4|0)<($6|0); if ($7) { _Chat_AddRaw(23709); _Chat_AddRaw(23760); $$0 = 0; return ($$0|0); } $8 = ($6|0)<(16); if ($8) { _Chat_AddRaw(23709); _Chat_AddRaw(23798); $$0 = 0; return ($$0|0); } $9 = HEAP8[(1260360)>>0]|0; $10 = ($9<<24>>24)==(0); if (!($10)) { $$0 = 0; return ($$0|0); } _Atlas_Free(); _Atlas_Update($0); _Event_RaiseVoid(1250296); $$0 = 1; return ($$0|0); } function _Game_ValidateBitmap($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp + 4|0; $3 = sp; $4 = HEAP32[315087]|0; HEAP32[$2>>2] = $4; $5 = HEAP32[(1260352)>>2]|0; HEAP32[$3>>2] = $5; $6 = HEAP32[$1>>2]|0; $7 = ($6|0)==(0|0); if ($7) { _Chat_Add1(23836,$0); $$0 = 0; STACKTOP = sp;return ($$0|0); } $8 = ((($1)) + 4|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)>($4|0); if (!($10)) { $11 = ((($1)) + 8|0); $12 = HEAP32[$11>>2]|0; $13 = ($12|0)>($5|0); if (!($13)) { $15 = (_Math_IsPowOf2($9)|0); $16 = ($15<<24>>24)==(0); if (!($16)) { $17 = HEAP32[$11>>2]|0; $18 = (_Math_IsPowOf2($17)|0); $19 = ($18<<24>>24)==(0); if (!($19)) { $$0 = 1; STACKTOP = sp;return ($$0|0); } } _Chat_Add1(23878,$0); _Chat_Add2(23979,$8,$11); $$0 = 0; STACKTOP = sp;return ($$0|0); } } _Chat_Add1(23878,$0); $14 = ((($1)) + 8|0); _Chat_Add4(23920,$8,$14,$2,$3); $$0 = 0; STACKTOP = sp;return ($$0|0); } function _Game_SetViewDistance($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[315050]|0; $2 = ($1|0)>($0|0); $3 = $2 ? $0 : $1; $4 = HEAP32[315051]|0; $5 = ($3|0)==($4|0); if ($5) { return; } HEAP32[315051] = $3; _Event_RaiseVoid(1251076); _Game_UpdateProjection(); return; } function _Game_UpdateProjection() { var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[(1230632)>>2]|0; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; FUNCTION_TABLE_vi[$2 & 511]((1260428)); _Gfx_LoadMatrix(0,(1260428)); _Event_RaiseVoid((1251596)); return; } function _Game_UserSetViewDistance($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; HEAP32[315052] = $0; _Options_SetInt(24049,$0); _Game_SetViewDistance($0); return; } function _Game_SetFov($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[315053]|0; $2 = ($1|0)==($0|0); if ($2) { return; } HEAP32[315053] = $0; _Game_UpdateProjection(); return; } function _Game_Disconnect($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _Event_RaiseVoid((1259916)); _Game_Reset(); _DisconnectScreen_Show($0,$1); return; } function _Game_Reset() { var $$0 = 0, $$05 = 0, $$06 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; _World_Reset(); _Event_RaiseVoid(1253676); $0 = HEAP16[(18832)>>1]|0; $1 = ($0<<16>>16)==(0); if (!($1)) { HEAP16[(18832)>>1] = 0; _TexturePack_ExtractCurrent(0); } $$05 = HEAP32[315074]|0; $2 = ($$05|0)==(0|0); if ($2) { return; } $$06 = $$05; while(1) { $3 = ((($$06)) + 8|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)==(0|0); if (!($5)) { FUNCTION_TABLE_v[$4 & 127](); } $6 = ((($$06)) + 20|0); $$0 = HEAP32[$6>>2]|0; $7 = ($$0|0)==(0|0); if ($7) { break; } else { $$06 = $$0; } } return; } function _Game_UpdateBlock($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = (4)?($0 >> 4):($0); $5 = (4)?($1 >> 4):($1); $6 = (4)?($2 >> 4):($2); $7 = (_World_GetBlock_418($0,$1,$2)|0); _World_SetBlock($0,$1,$2,$3); $8 = HEAP32[312229]|0; $9 = ($8|0)==(0|0); if (!($9)) { _EnvRenderer_OnBlockChanged($0,$1,$2,$7,$3); } _Lighting_OnBlockChanged($0,$1,$2,$7,$3); $10 = (_MapRenderer_GetChunk($4,$5,$6)|0); $11 = $3&65535; $12 = (583428 + ($11)|0); $13 = HEAP8[$12>>0]|0; $14 = ($13<<24>>24)==(4); $15 = $14&1; $16 = ((($10)) + 6|0); $17 = HEAP8[$16>>0]|0; $18 = (3)?(($17&255) >>> 3):(($17&255)); $19 = $18&255; $20 = $19 & $15; $21 = $20&255; $22 = ($21 << 3)&255; $23 = $22 & 8; $24 = $17 & -9; $25 = $23 | $24; HEAP8[$16>>0] = $25; _MapRenderer_RefreshChunk($4,$5,$6); return; } function _World_GetBlock_418($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; $3 = HEAP32[(1407472)>>2]|0; $4 = Math_imul($3, $1)|0; $5 = (($4) + ($2))|0; $6 = HEAP32[(1407464)>>2]|0; $7 = Math_imul($5, $6)|0; $8 = (($7) + ($0))|0; $9 = HEAP32[351863]|0; $10 = (($9) + ($8)|0); $11 = HEAP8[$10>>0]|0; $12 = $11&255; $13 = HEAP32[(1407456)>>2]|0; $14 = (($13) + ($8)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = $16 << 8; $18 = $17 | $12; $19 = HEAP32[(1407508)>>2]|0; $20 = $18 & $19; $21 = $20&65535; return ($21|0); } function _Game_ChangeBlock($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = (_World_GetBlock_418($0,$1,$2)|0); _Game_UpdateBlock($0,$1,$2,$3); $5 = HEAP32[(1384536)>>2]|0; FUNCTION_TABLE_viiiii[$5 & 3]($0,$1,$2,$4,$3); return; } function _Game_CanPick($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = $0&65535; $2 = (583428 + ($1)|0); $3 = HEAP8[$2>>0]|0; switch ($3<<24>>24) { case 5: { $$0 = 1; return ($$0|0); break; } case 4: { $$0 = 0; return ($$0|0); break; } default: { $4 = (578052 + ($1)|0); $5 = HEAP8[$4>>0]|0; $6 = ($5<<24>>24)!=(1); $7 = HEAP8[1408230]|0; $8 = ($7<<24>>24)!=(0); $9 = $6 | $8; $10 = $9&1; $$0 = $10; return ($$0|0); } } return (0)|0; } function _Game_UpdateTexture($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $4 = sp; $5 = (_Png_Decode($4,$1)|0); $6 = ($5|0)==(0); if ($6) { $7 = (_Game_ValidateBitmap($2,$4)|0); $8 = ($7<<24>>24)==(0); if ($8) { $13 = 0; } else { _Gfx_DeleteTexture($0); $9 = ($3|0)==(0|0); if (!($9)) { $10 = (_Utils_CalcSkinType($4)|0); HEAP8[$3>>0] = $10; } $11 = (_Gfx_CreateTexture($4,1,0)|0); HEAP32[$0>>2] = $11; $13 = 1; } } else { _Logger_Warn2($5,37484,$2); $13 = 0; } $12 = HEAP32[$4>>2]|0; _Mem_Free($12); STACKTOP = sp;return ($13|0); } function _Game_UpdateDimensions() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[351858]|0; $1 = ($0|0)>(1); $2 = $1 ? $0 : 1; HEAP32[133868] = $2; $3 = HEAP32[351859]|0; $4 = ($3|0)>(1); $5 = $4 ? $3 : 1; HEAP32[(535476)>>2] = $5; return; } function _Game_SetFpsLimit($0) { $0 = $0|0; var $$0 = 0.0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; HEAP32[315054] = $0; switch ($0|0) { case 4: { $$0 = 6.9444446563720703; break; } case 3: { $$0 = 8.3333330154418945; break; } case 2: { $$0 = 16.666666030883789; break; } case 1: { $$0 = 33.333332061767578; break; } default: { $$0 = 0.0; } } $1 = ($0|0)==(0); $2 = $1&1; _Gfx_SetFpsLimit($2,$$0); return; } function _Game_Free($0) { $0 = $0|0; var $$0 = 0, $$05 = 0, $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; _Atlas_Free(); _Event_Unregister(1253676,0,284); _Event_Unregister((1254196),0,285); _Event_Unregister((1250816),0,7); _Event_Unregister((1251336),0,286); _Event_Unregister((1256016),0,287); _Event_Unregister((1256276),0,288); $$05 = HEAP32[315074]|0; $1 = ($$05|0)==(0|0); if (!($1)) { $$06 = $$05; while(1) { $2 = ((($$06)) + 4|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(0|0); if (!($4)) { FUNCTION_TABLE_v[$3 & 127](); } $5 = ((($$06)) + 20|0); $$0 = HEAP32[$5>>2]|0; $6 = ($$0|0)==(0|0); if ($6) { break; } else { $$06 = $$0; } } } HEAP32[2939] = 9; _Gfx_Free(); $7 = (_Options_ChangedCount()|0); $8 = ($7|0)==(0); if ($8) { return; } _Options_Load(); _Options_Save(); return; } function _HandleOnNewMap($0) { $0 = $0|0; var $$0 = 0, $$05 = 0, $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $$05 = HEAP32[315074]|0; $1 = ($$05|0)==(0|0); if ($1) { return; } $$06 = $$05; while(1) { $2 = ((($$06)) + 12|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(0|0); if (!($4)) { FUNCTION_TABLE_v[$3 & 127](); } $5 = ((($$06)) + 20|0); $$0 = HEAP32[$5>>2]|0; $6 = ($$0|0)==(0|0); if ($6) { break; } else { $$06 = $$0; } } return; } function _HandleOnNewMapLoaded($0) { $0 = $0|0; var $$0 = 0, $$05 = 0, $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $$05 = HEAP32[315074]|0; $1 = ($$05|0)==(0|0); if ($1) { return; } $$06 = $$05; while(1) { $2 = ((($$06)) + 16|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(0|0); if (!($4)) { FUNCTION_TABLE_v[$3 & 127](); } $5 = ((($$06)) + 20|0); $$0 = HEAP32[$5>>2]|0; $6 = ($$0|0)==(0|0); if ($6) { break; } else { $$06 = $$0; } } return; } function _HandleTextureChanged($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $3 = sp; $4 = (_String_CaselessEqualsConst($2,24037)|0); $5 = ($4|0)==(0); do { if (!($5)) { $6 = (_Png_Decode($3,$1)|0); $7 = ($6|0)==(0); if (!($7)) { _Logger_Warn2($6,37484,$2); $8 = HEAP32[$3>>2]|0; _Mem_Free($8); break; } $9 = (_Game_ChangeTerrainAtlas($3)|0); $10 = ($9<<24>>24)==(0); if ($10) { $11 = HEAP32[$3>>2]|0; _Mem_Free($11); } } } while(0); STACKTOP = sp;return; } function _HandleLowVRAMDetected($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[315052]|0; $2 = ($1|0)<(17); if ($2) { _Logger_Abort(24058); } $3 = HEAP32[315052]|0; $4 = (($3|0) / 2)&-1; $5 = ($4|0)>(16); $6 = $5 ? $4 : 16; HEAP32[315052] = $6; _MapRenderer_Refresh(); $7 = HEAP32[315052]|0; _Game_SetViewDistance($7); _Chat_AddRaw(24079); return; } function _Game_OnResize($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _Game_UpdateDimensions(); _Gfx_OnWindowResize(); _Game_UpdateProjection(); _Gui_Layout(); return; } function _Game_Run($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var label = 0, sp = 0; sp = STACKTOP; _Window_Create($0,$1); _Window_SetTitle($2); _Game_Load(); _Event_RaiseVoid((1256016)); _Game_RunLoop(); return; } function _Game_Load() { var $$0 = 0, $$05 = 0, $$06 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; HEAP32[2939] = 289; HEAP32[315051] = 512; HEAP32[315050] = 32768; HEAP32[315052] = 512; HEAP32[315053] = 70; _Gfx_Init(); $0 = (_Options_GetBool(33237,0)|0); HEAP8[(1260361)>>0] = $0; _Game_UpdateDimensions(); _LoadOptions(); _Event_Register(1253676,0,284); _Event_Register((1254196),0,285); _Event_Register((1250816),0,7); _Event_Register((1251336),0,286); _Event_Register((1256016),0,287); _Event_Register((1256276),0,288); _TextureCache_Init(); _InputHandler_Init(); _Game_AddComponent(10612); _Game_AddComponent(11212); _Game_AddComponent(10844); _Game_AddComponent(17112); _Game_AddComponent(11268); _Game_AddComponent(12744); _Game_AddComponent(11316); _Game_AddComponent(11648); _Game_AddComponent(11728); _Game_AddComponent(17964); _Game_AddComponent(11704); _World_Reset(); _Game_AddComponent(10656); _Game_AddComponent(11760); _Game_AddComponent(11448); _Game_AddComponent(17868); _Camera_Init(); _Game_UpdateProjection(); _Game_AddComponent(11544); _Game_AddComponent(17844); _Game_AddComponent(11568); _Gfx_SetDepthTest(1); _Game_AddComponent(17160); _Game_AddComponent(10552); _Game_AddComponent(10576); $$05 = HEAP32[315074]|0; $1 = ($$05|0)==(0|0); if (!($1)) { $$06 = $$05; while(1) { $2 = HEAP32[$$06>>2]|0; $3 = ($2|0)==(0|0); if (!($3)) { FUNCTION_TABLE_v[$2 & 127](); } $4 = ((($$06)) + 20|0); $$0 = HEAP32[$4>>2]|0; $5 = ($$0|0)==(0|0); if ($5) { break; } else { $$06 = $$0; } } } _ExtractInitialTexturePack(); $6 = (_ScheduledTask_Add(0.050000000000000003,290)|0); HEAP32[315077] = $6; _Gfx_SetFpsLimit(1,0.0); $7 = (_Options_GetEnum(31850,0,2640,6)|0); _Game_SetFpsLimit($7); $8 = (_Gfx_WarnIfNecessary()|0); $9 = ($8<<24>>24)==(0); if ($9) { $13 = HEAP32[346132]|0; FUNCTION_TABLE_v[$13 & 127](); return; } $10 = HEAP8[1408223]|0; $11 = $10 | 2; $12 = $11&255; _EnvRenderer_SetMode($12); $13 = HEAP32[346132]|0; FUNCTION_TABLE_v[$13 & 127](); return; } function _Game_RunLoop() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = (_Stopwatch_Measure()|0); $1 = (getTempRet0() | 0); $2 = 535496; $3 = $2; HEAP32[$3>>2] = $0; $4 = (($2) + 4)|0; $5 = $4; HEAP32[$5>>2] = $1; _emscripten_set_main_loop((69|0),0,0); return; } function _Game_DoFrame() { var $$0 = 0.0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP8[1408300]|0; $1 = ($0<<24>>24)==(0); if ($1) { return; } $2 = (_Stopwatch_Measure()|0); $3 = (getTempRet0() | 0); $4 = 535496; $5 = $4; $6 = HEAP32[$5>>2]|0; $7 = (($4) + 4)|0; $8 = $7; $9 = HEAP32[$8>>2]|0; $10 = (_Stopwatch_ElapsedMicroseconds($6,$9,$2,$3)|0); $11 = (getTempRet0() | 0); $12 = (+($10>>>0)) + (4294967296.0*(+($11>>>0))); $13 = $12 / 1.0E+6; $14 = $13 > 1.0; $$0 = $14 ? 1.0 : $13; $15 = $$0 > 0.0; if (!($15)) { return; } $16 = (_Stopwatch_Measure()|0); $17 = (getTempRet0() | 0); $18 = 535496; $19 = $18; HEAP32[$19>>2] = $16; $20 = (($18) + 4)|0; $21 = $20; HEAP32[$21>>2] = $17; _Game_RenderFrame($$0); return; } function _Game_RenderFrame($0) { $0 = +$0; var $$sroa$0$0$$sroa_idx = 0, $$sroa$0$0$copyload = 0.0, $$sroa$4$0$$sroa_idx6 = 0, $$sroa$4$0$copyload = 0.0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0; var $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = HEAP8[(1260360)>>0]|0; $3 = ($2<<24>>24)==(0); if (!($3)) { $4 = (_Gfx_TryRestoreContext()|0); $5 = ($4<<24>>24)==(0); if ($5) { $6 = HEAP32[(1384532)>>2]|0; FUNCTION_TABLE_vi[$6 & 511](0); STACKTOP = sp;return; } } _Gfx_BeginFrame(); $7 = HEAP32[315125]|0; _Gfx_BindIb($7); $8 = +HEAPF64[(535480)>>3]; $9 = $8 + $0; HEAPF64[(535480)>>3] = $9; HEAP32[315073] = 0; $10 = HEAP32[(1230632)>>2]|0; $11 = ((($10)) + 20|0); $12 = HEAP32[$11>>2]|0; FUNCTION_TABLE_vd[$12 & 1]($0); $13 = HEAP8[1408301]|0; $14 = ($13<<24>>24)==(0); if ($14) { $15 = (_Gui_GetInputGrab()|0); $16 = ($15|0)==(0|0); if ($16) { _PauseScreen_Show(); } } $17 = (_KeyBind_IsPressed(24)|0); $18 = ($17<<24>>24)==(0); if (!($18)) { $19 = (_Gui_GetInputGrab()|0); $20 = ($19|0)==(0|0); if ($20) { $21 = HEAP32[315072]|0; (_InputHandler_SetFOV($21)|0); } } _PerformScheduledTasks($0); $22 = HEAP32[315077]|0; $$sroa$0$0$$sroa_idx = (379072 + (($22*24)|0)|0); $$sroa$0$0$copyload = +HEAPF64[$$sroa$0$0$$sroa_idx>>3]; $$sroa$4$0$$sroa_idx6 = (((379072 + (($22*24)|0)|0)) + 8|0); $$sroa$4$0$copyload = +HEAPF64[$$sroa$4$0$$sroa_idx6>>3]; $23 = $$sroa$0$0$copyload / $$sroa$4$0$copyload; $24 = $23; _LocalPlayer_SetInterpPosition($24); _Gfx_Clear(); $25 = HEAP32[(1230632)>>2]|0; $26 = ((($25)) + 16|0); $27 = HEAP32[$26>>2]|0; FUNCTION_TABLE_vid[$27 & 63]($1,$24); ;HEAP32[(1230620)>>2]=HEAP32[$1>>2]|0;HEAP32[(1230620)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(1230620)+8>>2]=HEAP32[$1+8>>2]|0; _UpdateViewMatrix(); $28 = (_Gui_GetBlocksWorld()|0); $29 = ($28|0)==(0|0); $30 = HEAP32[351863]|0; $31 = ($30|0)!=(0|0); $or$cond = $29 & $31; if ($or$cond) { _Game_Render3D($0,$24); } else { _PickedPos_SetAsInvalid(1260220); } _Gui_RenderGui($0); _Gfx_EndFrame(); STACKTOP = sp;return; } function _PerformScheduledTasks($0) { $0 = +$0; var $$05 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $1 = sp; $2 = HEAP32[315076]|0; $3 = ($2|0)>(0); if (!($3)) { STACKTOP = sp;return; } $4 = ((($1)) + 8|0); $5 = ((($1)) + 16|0); $$05 = 0; while(1) { $6 = (379072 + (($$05*24)|0)|0); ;HEAP32[$1>>2]=HEAP32[$6>>2]|0;HEAP32[$1+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$1+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$1+16>>2]=HEAP32[$6+16>>2]|0;HEAP32[$1+20>>2]=HEAP32[$6+20>>2]|0; $7 = +HEAPF64[$1>>3]; $8 = $7 + $0; HEAPF64[$1>>3] = $8; $9 = +HEAPF64[$4>>3]; $10 = !($8 >= $9); if (!($10)) { while(1) { $11 = HEAP32[$5>>2]|0; FUNCTION_TABLE_vi[$11 & 511]($1); $12 = +HEAPF64[$4>>3]; $13 = +HEAPF64[$1>>3]; $14 = $13 - $12; HEAPF64[$1>>3] = $14; $15 = !($14 >= $12); if ($15) { break; } } } ;HEAP32[$6>>2]=HEAP32[$1>>2]|0;HEAP32[$6+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$6+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$6+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$6+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$6+20>>2]=HEAP32[$1+20>>2]|0; $16 = (($$05) + 1)|0; $17 = HEAP32[315076]|0; $18 = ($16|0)<($17|0); if ($18) { $$05 = $16; } else { break; } } STACKTOP = sp;return; } function _UpdateViewMatrix() { var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[(1230632)>>2]|0; $1 = ((($0)) + 8|0); $2 = HEAP32[$1>>2]|0; FUNCTION_TABLE_vi[$2 & 511]((1260364)); _Gfx_LoadMatrix(1,(1260364)); _FrustumCulling_CalcFrustumEquations((1260428),(1260364)); return; } function _Game_Render3D($0,$1) { $0 = +$0; $1 = +$1; var $$sroa$0$0$copyload = 0.0, $$sroa$5$0$copyload = 0.0, $$sroa$6$0$copyload = 0.0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond16 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (_EnvRenderer_ShouldRenderSkybox()|0); $3 = ($2<<24>>24)==(0); if (!($3)) { _EnvRenderer_RenderSkybox(); } _AxisLinesRenderer_Render(); _Entities_RenderModels($0,$1); _Entities_RenderNames(); _Particles_Render($1); $4 = HEAP32[(1230632)>>2]|0; $5 = ((($4)) + 36|0); $6 = HEAP32[$5>>2]|0; FUNCTION_TABLE_vi[$6 & 511](1260220); _EnvRenderer_UpdateFog(); _EnvRenderer_RenderSky(); _EnvRenderer_RenderClouds(); _MapRenderer_Update($0); _MapRenderer_RenderNormal($0); _EnvRenderer_RenderMapSides(); _Entities_DrawShadows(); $7 = HEAP8[(1260280)>>0]|0; $8 = ($7<<24>>24)==(0); $9 = HEAP8[1408238]|0; $10 = ($9<<24>>24)!=(0); $or$cond = $8 | $10; if (!($or$cond)) { _PickedPosRenderer_Update(1260220); _PickedPosRenderer_Render(); } $$sroa$0$0$copyload = +HEAPF32[(1230620)>>2]; $$sroa$5$0$copyload = +HEAPF32[(1230624)>>2]; $$sroa$6$0$copyload = +HEAPF32[(1230628)>>2]; $11 = HEAP32[(1407516)>>2]|0; $12 = (+($11|0)); $13 = $$sroa$5$0$copyload < $12; do { if ($13) { $14 = $$sroa$0$0$copyload < 0.0; $15 = $$sroa$6$0$copyload < 0.0; $or$cond16 = $14 | $15; if (!($or$cond16)) { $16 = HEAP32[(1407464)>>2]|0; $17 = (+($16|0)); $18 = $$sroa$0$0$copyload > $17; if (!($18)) { $19 = HEAP32[(1407472)>>2]|0; $20 = (+($19|0)); $21 = $$sroa$6$0$copyload > $20; if (!($21)) { label = 10; break; } } } _MapRenderer_RenderTranslucent($0); _EnvRenderer_RenderMapEdges(); } else { label = 10; } } while(0); if ((label|0) == 10) { _EnvRenderer_RenderMapEdges(); _MapRenderer_RenderTranslucent($0); } $22 = HEAP8[(1260280)>>0]|0; $23 = ($22<<24>>24)==(0); $24 = HEAP8[1408238]|0; $25 = ($24<<24>>24)!=(0); $or$cond3 = $23 | $25; if (!($or$cond3)) { $26 = HEAP16[(1260282)>>1]|0; $27 = $26&65535; $28 = (583428 + ($27)|0); $29 = HEAP8[$28>>0]|0; $30 = ($29<<24>>24)==(3); if ($30) { _PickedPosRenderer_Render(); } } _Selections_Render(); _Entities_RenderHoveredNames(); _InputHandler_PickBlocks(); $31 = HEAP8[1408238]|0; $32 = ($31<<24>>24)==(0); if (!($32)) { return; } _HeldBlockRenderer_Render($0); return; } function _Game_WarnFunc($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = sp + 8|0; $3 = $0; $4 = $3; $5 = HEAP32[$4>>2]|0; $6 = (($3) + 4)|0; $7 = $6; $8 = HEAP32[$7>>2]|0; $9 = $1; $10 = $9; HEAP32[$10>>2] = $5; $11 = (($9) + 4)|0; $12 = $11; HEAP32[$12>>2] = $8; $13 = ((($1)) + 4|0); $14 = HEAP16[$13>>1]|0; $15 = ($14<<16>>16)==(0); if ($15) { STACKTOP = sp;return; } while(1) { _String_UNSAFE_SplitBy($1,10,$2); _Chat_Add1(24147,$2); $16 = HEAP16[$13>>1]|0; $17 = ($16<<16>>16)==(0); if ($17) { break; } } STACKTOP = sp;return; } function _LoadOptions() { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; $0 = (_Options_GetBool(24118,0)|0); HEAP8[1408229] = $0; $1 = (_Options_GetBool(24131,0)|0); HEAP8[1408233] = $1; $2 = (_Options_GetBool(30444,1)|0); HEAP8[1408234] = $2; $3 = (_Options_GetBool(30427,1)|0); HEAP8[1408235] = $3; $4 = (_Options_GetBool(30538,0)|0); HEAP8[1408232] = $4; $5 = (_Options_GetBool(31859,1)|0); HEAP8[1408237] = $5; $6 = (_Options_GetInt(24049,16,4096,512)|0); HEAP32[315051] = $6; HEAP32[315052] = $6; $7 = (_Options_GetInt(31376,1,179,70)|0); HEAP32[315071] = $7; HEAP32[315053] = $7; HEAP32[315072] = $7; $8 = HEAP8[1408229]|0; $9 = ($8<<24>>24)==(0); if ($9) { $10 = (_Options_GetBool(31426,0)|0); $11 = ($10<<24>>24)!=(0); $phitmp = $11&1; $12 = $phitmp; } else { $12 = 0; } HEAP8[1408230] = $12; $13 = (_Options_GetBool(30402,1)|0); HEAP8[1408236] = $13; $14 = (+_Options_GetFloat(33553,0.25,5.0,1.0)); HEAPF32[315048] = $14; $15 = (+_Options_GetFloat(33572,0.25,5.0,1.0)); HEAPF32[315047] = $15; $16 = (+_Options_GetFloat(33500,0.34999999403953552,5.0,1.0)); HEAPF32[315049] = $16; return; } function _ExtractInitialTexturePack() { var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; _Options_Get(37826,10528,37841); _TexturePack_ExtractZip_File(10536); _Game_UNSAFE_GetDefaultTexturePack($0); $1 = (_String_CaselessEqualsConst($0,37841)|0); $2 = ($1|0)==(0); if (!($2)) { STACKTOP = sp;return; } _TexturePack_ExtractZip_File($0); STACKTOP = sp;return; } function _FlatgrassGen_Generate() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; _Gen_Init(); HEAP32[315078] = 24152; $0 = HEAP32[(1407468)>>2]|0; $1 = (($0|0) / 2)&-1; $2 = HEAP32[(1407480)>>2]|0; _FlatgrassGen_MapSet($1,$2,0); HEAP32[315078] = 24171; $3 = HEAP32[(1407468)>>2]|0; $4 = (($3|0) / 2)&-1; $5 = (($4) + -2)|0; _FlatgrassGen_MapSet(0,$5,3); HEAP32[315078] = 24191; $6 = HEAP32[(1407468)>>2]|0; $7 = (($6|0) / 2)&-1; $8 = (($7) + -1)|0; _FlatgrassGen_MapSet($8,$8,2); HEAP8[1408239] = 1; return; } function _Gen_Init() { var label = 0, sp = 0; sp = STACKTOP; HEAPF32[315082] = 0.0; HEAP32[315078] = 1408293; HEAP8[1408239] = 0; return; } function _FlatgrassGen_MapSet($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$024 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP32[(1407488)>>2]|0; $4 = HEAP32[315083]|0; $5 = ($0|0)>(0); $6 = $5 ? $0 : 0; $7 = ($1|0)>(0); $8 = $7 ? $1 : 0; HEAPF32[315082] = 0.0; $9 = ($6|0)>($8|0); if ($9) { return; } $10 = (1 - ($6))|0; $11 = (($10) + ($8))|0; $12 = (+($11|0)); $$024 = $6; while(1) { $13 = Math_imul($$024, $3)|0; $14 = (($4) + ($13)|0); _Mem_Set($14,$2,$3); $15 = (($$024) - ($6))|0; $16 = (+($15|0)); $17 = $16 / $12; HEAPF32[315082] = $17; $18 = (($$024) + 1)|0; $19 = ($$024>>>0)<($8>>>0); if ($19) { $$024 = $18; } else { break; } } return; } function _NotchyGen_Generate() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; _Gen_Init(); $0 = HEAP32[(1407464)>>2]|0; $1 = HEAP32[(1407472)>>2]|0; $2 = Math_imul($1, $0)|0; $3 = (_Mem_Alloc($2,2,24212)|0); HEAP32[315084] = $3; $4 = HEAP32[315079]|0; _Random_Seed(535504,$4); $5 = HEAP32[(1407468)>>2]|0; $6 = (($5|0) / 2)&-1; HEAP32[315085] = $6; HEAP32[315086] = $5; _NotchyGen_CreateHeightmap(); _NotchyGen_CreateStrata(); _NotchyGen_CarveCaves(); _NotchyGen_CarveOreVeins(0.89999997615814208,24226,16); _NotchyGen_CarveOreVeins(0.69999998807907104,24243,15); _NotchyGen_CarveOreVeins(0.5,24260,14); _NotchyGen_FloodFillWaterBorders(); _NotchyGen_FloodFillWater(); _NotchyGen_FloodFillLava(); _NotchyGen_CreateSurfaceLayer(); _NotchyGen_PlantFlowers(); _NotchyGen_PlantMushrooms(); _NotchyGen_PlantTrees(); $7 = HEAP32[315084]|0; _Mem_Free($7); HEAP32[315084] = 0; HEAP8[1408239] = 1; return; } function _NotchyGen_CreateHeightmap() { var $$03641 = 0, $$037 = 0.0, $$03842 = 0, $$043 = 0, $$1 = 0.0, $$139$lcssa = 0, $$13940 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0; var $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 20512|0; $0 = sp + 12304|0; $1 = sp + 4104|0; $2 = sp; _CombinedNoise_Init($0); _CombinedNoise_Init($1); _OctaveNoise_Init($2,6); HEAP32[315078] = 24436; $3 = HEAP32[(1407472)>>2]|0; $4 = ($3|0)>(0); if (!($4)) { STACKTOP = sp;return; } $$03842 = 0;$$043 = 0;$7 = $3; while(1) { $5 = (+($$043|0)); $6 = (+($7|0)); $8 = $5 / $6; HEAPF32[315082] = $8; $9 = HEAP32[(1407464)>>2]|0; $10 = ($9|0)>(0); if ($10) { $11 = $5 * 1.2999999523162842; $$03641 = 0;$$13940 = $$03842; while(1) { $12 = (+($$03641|0)); $13 = $12 * 1.2999999523162842; $14 = (+_CombinedNoise_Calc($0,$13,$11)); $15 = $14 / 6.0; $16 = $15 + -4.0; $17 = (+_OctaveNoise_Calc($2,$12,$5)); $18 = !($17 <= 0.0); if ($18) { $$037 = $16; } else { $19 = (+_CombinedNoise_Calc($1,$13,$11)); $20 = $19 / 5.0; $21 = $20 + 6.0; $22 = $16 > $21; $23 = $22 ? $16 : $21; $$037 = $23; } $24 = $$037 * 0.5; $25 = $24 < 0.0; $26 = $24 * 0.80000001192092896; $$1 = $25 ? $26 : $24; $27 = HEAP32[315085]|0; $28 = (+($27|0)); $29 = $$1 + $28; $30 = (~~(($29))); $31 = HEAP32[315086]|0; $32 = ($31|0)>($30|0); $33 = $32 ? $30 : $31; HEAP32[315086] = $33; $34 = $30&65535; $35 = HEAP32[315084]|0; $36 = (($$13940) + 1)|0; $37 = (($35) + ($$13940<<1)|0); HEAP16[$37>>1] = $34; $38 = (($$03641) + 1)|0; $39 = HEAP32[(1407464)>>2]|0; $40 = ($38|0)<($39|0); if ($40) { $$03641 = $38;$$13940 = $36; } else { $$139$lcssa = $36; break; } } } else { $$139$lcssa = $$03842; } $41 = (($$043) + 1)|0; $42 = HEAP32[(1407472)>>2]|0; $43 = ($41|0)<($42|0); if ($43) { $$03842 = $$139$lcssa;$$043 = $41;$7 = $42; } else { break; } } STACKTOP = sp;return; } function _NotchyGen_CreateStrata() { var $$05764 = 0, $$05871 = 0, $$05963 = 0, $$06175 = 0, $$076 = 0, $$16065 = 0, $$162$lcssa = 0, $$16270 = 0, $$166 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0.0, $60 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 4112|0; $0 = sp; $1 = HEAP32[(1407480)>>2]|0; $2 = (_NotchyGen_CreateStrataFast()|0); _OctaveNoise_Init($0,8); HEAP32[315078] = 24408; $3 = HEAP32[(1407472)>>2]|0; $4 = ($3|0)>(0); if (!($4)) { STACKTOP = sp;return; } $$06175 = 0;$$076 = 0;$7 = $3; while(1) { $5 = (+($$076|0)); $6 = (+($7|0)); $8 = $5 / $6; HEAPF32[315082] = $8; $9 = HEAP32[(1407464)>>2]|0; $10 = ($9|0)>(0); if ($10) { $$05871 = 0;$$16270 = $$06175;$31 = $9; while(1) { $11 = (+($$05871|0)); $12 = (+_OctaveNoise_Calc($0,$11,$5)); $13 = $12 / 24.0; $14 = $13 + -4.0; $15 = (~~(($14))); $16 = HEAP32[315084]|0; $17 = (($$16270) + 1)|0; $18 = (($16) + ($$16270<<1)|0); $19 = HEAP16[$18>>1]|0; $20 = $19 << 16 >> 16; $21 = (($20) + ($15))|0; $22 = ($21|0)<($1|0); $23 = $22 ? $21 : $1; $24 = ($1|0)>($20|0); $25 = $24 ? $20 : $1; $26 = ($2|0)>($23|0); if (!($26)) { $27 = HEAP32[(1407472)>>2]|0; $28 = Math_imul($27, $2)|0; $29 = (($28) + ($$076))|0; $30 = Math_imul($29, $31)|0; $32 = (($30) + ($$05871))|0; $$05764 = $2;$$05963 = $32; while(1) { $33 = HEAP32[315083]|0; $34 = (($33) + ($$05963)|0); HEAP8[$34>>0] = 1; $35 = HEAP32[(1407488)>>2]|0; $36 = (($35) + ($$05963))|0; $37 = (($$05764) + 1)|0; $38 = ($$05764|0)<($23|0); if ($38) { $$05764 = $37;$$05963 = $36; } else { break; } } } $39 = ($23|0)>(0); $40 = $39 ? $23 : 0; $41 = (($40) + 1)|0; $42 = ($40|0)<($25|0); if ($42) { $43 = HEAP32[(1407472)>>2]|0; $44 = Math_imul($43, $41)|0; $45 = (($44) + ($$076))|0; $46 = HEAP32[(1407464)>>2]|0; $47 = Math_imul($45, $46)|0; $48 = (($47) + ($$05871))|0; $$16065 = $48;$$166 = $41; while(1) { $49 = HEAP32[315083]|0; $50 = (($49) + ($$16065)|0); HEAP8[$50>>0] = 3; $51 = HEAP32[(1407488)>>2]|0; $52 = (($51) + ($$16065))|0; $53 = (($$166) + 1)|0; $54 = ($$166|0)<($25|0); if ($54) { $$16065 = $52;$$166 = $53; } else { break; } } } $55 = (($$05871) + 1)|0; $56 = HEAP32[(1407464)>>2]|0; $57 = ($55|0)<($56|0); if ($57) { $$05871 = $55;$$16270 = $17;$31 = $56; } else { $$162$lcssa = $17; break; } } } else { $$162$lcssa = $$06175; } $58 = (($$076) + 1)|0; $59 = HEAP32[(1407472)>>2]|0; $60 = ($58|0)<($59|0); if ($60) { $$06175 = $$162$lcssa;$$076 = $58;$7 = $59; } else { break; } } STACKTOP = sp;return; } function _NotchyGen_CarveCaves() { var $$06581 = 0, $$06679 = 0.0, $$06778 = 0.0, $$06877 = 0.0, $$06976 = 0.0, $$07075 = 0.0, $$07174 = 0.0, $$07273 = 0.0, $$080 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0; var $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0; var $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0; var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0; var $73 = 0.0, $74 = 0.0, $75 = 0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0; var $91 = 0, $exitcond = 0, $exitcond85 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[(1407460)>>2]|0; $1 = (($0|0) / 8192)&-1; HEAP32[315078] = 24394; $2 = ($0|0)>(8191); if (!($2)) { return; } $3 = (+($1|0)); $$06581 = 0; while(1) { $4 = (+($$06581|0)); $5 = $4 / $3; HEAPF32[315082] = $5; $6 = HEAP32[(1407464)>>2]|0; $7 = (_Random_Next(535504,$6)|0); $8 = HEAP32[(1407468)>>2]|0; $9 = (_Random_Next(535504,$8)|0); $10 = HEAP32[(1407472)>>2]|0; $11 = (_Random_Next(535504,$10)|0); $12 = (+_Random_Float(535504)); $13 = (+_Random_Float(535504)); $14 = $12 * $13; $15 = $14 * 200.0; $16 = (~~(($15))); $17 = (+_Random_Float(535504)); $18 = (+_Random_Float(535504)); $19 = (+_Random_Float(535504)); $20 = (+_Random_Float(535504)); $21 = $19 * $20; $22 = ($16|0)>(0); if ($22) { $23 = $18 * 2.0; $24 = $23 * 3.1415927410125732; $25 = $17 * 2.0; $26 = $25 * 3.1415927410125732; $27 = (+($11|0)); $28 = (+($9|0)); $29 = (+($7|0)); $30 = (+($16|0)); $$06679 = $29;$$06778 = $28;$$06877 = $27;$$06976 = $26;$$07075 = 0.0;$$07174 = 0.0;$$07273 = $24;$$080 = 0; while(1) { $31 = (+_Math_SinF($$06976)); $32 = (+_Math_CosF($$07273)); $33 = $31 * $32; $34 = $$06679 + $33; $35 = (+_Math_CosF($$06976)); $36 = (+_Math_CosF($$07273)); $37 = $35 * $36; $38 = $$06877 + $37; $39 = (+_Math_SinF($$07273)); $40 = $$06778 + $39; $41 = $$07075 * 0.20000000298023224; $42 = $$06976 + $41; $43 = $$07075 * 0.89999997615814208; $44 = (+_Random_Float(535504)); $45 = $43 + $44; $46 = (+_Random_Float(535504)); $47 = $45 - $46; $48 = $$07273 * 0.5; $49 = $$07174 * 0.25; $50 = $48 + $49; $51 = $$07174 * 0.75; $52 = (+_Random_Float(535504)); $53 = $51 + $52; $54 = (+_Random_Float(535504)); $55 = $53 - $54; $56 = (+_Random_Float(535504)); $57 = $56 < 0.25; if (!($57)) { $58 = (_Random_Next(535504,4)|0); $59 = (($58) + -2)|0; $60 = (+($59|0)); $61 = $60 * 0.20000000298023224; $62 = $34 + $61; $63 = (~~(($62))); $64 = (_Random_Next(535504,4)|0); $65 = (($64) + -2)|0; $66 = (+($65|0)); $67 = $66 * 0.20000000298023224; $68 = $40 + $67; $69 = (~~(($68))); $70 = (_Random_Next(535504,4)|0); $71 = (($70) + -2)|0; $72 = (+($71|0)); $73 = $72 * 0.20000000298023224; $74 = $38 + $73; $75 = (~~(($74))); $76 = HEAP32[(1407468)>>2]|0; $77 = (($76) - ($69))|0; $78 = (+($77|0)); $79 = (+($76|0)); $80 = $78 / $79; $81 = $80 * 3.5; $82 = $81 + 1.0; $83 = $21 * $82; $84 = $83 + 1.2000000476837158; $85 = (+($$080|0)); $86 = $85 * 3.1415927410125732; $87 = $86 / $30; $88 = (+_Math_SinF($87)); $89 = $88 * $84; _NotchyGen_FillOblateSpheroid($63,$69,$75,$89,0); } $90 = (($$080) + 1)|0; $exitcond = ($90|0)==($16|0); if ($exitcond) { break; } else { $$06679 = $34;$$06778 = $40;$$06877 = $38;$$06976 = $42;$$07075 = $47;$$07174 = $55;$$07273 = $50;$$080 = $90; } } } $91 = (($$06581) + 1)|0; $exitcond85 = ($91|0)==($1|0); if ($exitcond85) { break; } else { $$06581 = $91; } } return; } function _NotchyGen_CarveOreVeins($0,$1,$2) { $0 = +$0; $1 = $1|0; $2 = $2|0; var $$05470 = 0, $$05568 = 0.0, $$05667 = 0.0, $$05766 = 0.0, $$05865 = 0.0, $$05964 = 0.0, $$06063 = 0.0, $$06162 = 0.0, $$069 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0.0; var $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0; var $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0; var $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0.0, $exitcond = 0, $exitcond74 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP32[(1407460)>>2]|0; $4 = (+($3|0)); $5 = $4 * $0; $6 = $5 * 6.103515625E-5; $7 = (~~(($6))); HEAP32[315078] = $1; $8 = ($7|0)>(0); if (!($8)) { return; } $9 = (+($7|0)); $$05470 = 0; while(1) { $10 = (+($$05470|0)); $11 = $10 / $9; HEAPF32[315082] = $11; $12 = HEAP32[(1407464)>>2]|0; $13 = (_Random_Next(535504,$12)|0); $14 = HEAP32[(1407468)>>2]|0; $15 = (_Random_Next(535504,$14)|0); $16 = HEAP32[(1407472)>>2]|0; $17 = (_Random_Next(535504,$16)|0); $18 = (+_Random_Float(535504)); $19 = (+_Random_Float(535504)); $20 = $18 * $19; $21 = $20 * 75.0; $22 = $21 * $0; $23 = (~~(($22))); $24 = (+_Random_Float(535504)); $25 = (+_Random_Float(535504)); $26 = ($23|0)>(0); if ($26) { $27 = $25 * 2.0; $28 = $27 * 3.1415927410125732; $29 = $24 * 2.0; $30 = $29 * 3.1415927410125732; $31 = (+($17|0)); $32 = (+($15|0)); $33 = (+($13|0)); $34 = (+($23|0)); $$05568 = $33;$$05667 = 0.0;$$05766 = $28;$$05865 = 0.0;$$05964 = $30;$$06063 = $31;$$06162 = $32;$$069 = 0; while(1) { $35 = (+_Math_SinF($$05964)); $36 = (+_Math_CosF($$05766)); $37 = $35 * $36; $38 = $$05568 + $37; $39 = (+_Math_CosF($$05964)); $40 = (+_Math_CosF($$05766)); $41 = $39 * $40; $42 = $$06063 + $41; $43 = (+_Math_SinF($$05766)); $44 = $$06162 + $43; $45 = $$05865 * 0.20000000298023224; $46 = $$05865 * 0.89999997615814208; $47 = (+_Random_Float(535504)); $48 = $46 + $47; $49 = (+_Random_Float(535504)); $50 = $48 - $49; $51 = $$05766 * 0.5; $52 = $$05667 * 0.25; $53 = $51 + $52; $54 = $$05667 * 0.89999997615814208; $55 = (+_Random_Float(535504)); $56 = $54 + $55; $57 = (+_Random_Float(535504)); $58 = $56 - $57; $59 = (+($$069|0)); $60 = $59 * 3.1415927410125732; $61 = $60 / $34; $62 = (+_Math_SinF($61)); $63 = $62 * $0; $64 = $63 + 1.0; $65 = (~~(($38))); $66 = (~~(($44))); $67 = (~~(($42))); _NotchyGen_FillOblateSpheroid($65,$66,$67,$64,$2); $68 = (($$069) + 1)|0; $exitcond = ($68|0)==($23|0); if ($exitcond) { break; } else { $$05568 = $38;$$05667 = $58;$$05766 = $53;$$05865 = $50;$$05964 = $45;$$06063 = $42;$$06162 = $44;$$069 = $68; } } } $69 = (($$05470) + 1)|0; $exitcond74 = ($69|0)==($7|0); if ($exitcond74) { break; } else { $$05470 = $69; } } return; } function _NotchyGen_FloodFillWaterBorders() { var $$02736 = 0, $$02835 = 0, $$02934 = 0, $$033 = 0, $$13031 = 0, $$132 = 0, $$lcssa = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; var $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[315085]|0; $1 = (($0) + -1)|0; HEAP32[315078] = 24374; $2 = HEAP32[(1407472)>>2]|0; $3 = Math_imul($2, $1)|0; $4 = HEAP32[(1407464)>>2]|0; $5 = ($4|0)>(0); if ($5) { $6 = (($2) + -1)|0; $7 = (($6) + ($3))|0; $8 = Math_imul($7, $4)|0; $9 = Math_imul($3, $4)|0; $$02736 = 0;$$02835 = $8;$$02934 = $9;$12 = $4; while(1) { $10 = (+($$02736|0)); $11 = (+($12|0)); $13 = $10 / $11; $14 = $13 * 0.5; $15 = $14 + 0.0; HEAPF32[315082] = $15; _NotchyGen_FloodFill($$02934,8); _NotchyGen_FloodFill($$02835,8); $16 = (($$02934) + 1)|0; $17 = (($$02835) + 1)|0; $18 = (($$02736) + 1)|0; $19 = HEAP32[(1407464)>>2]|0; $20 = ($18|0)<($19|0); if ($20) { $$02736 = $18;$$02835 = $17;$$02934 = $16;$12 = $19; } else { break; } } $$pr = HEAP32[(1407472)>>2]|0; $$lcssa = $19;$23 = $$pr; } else { $$lcssa = $4;$23 = $2; } $21 = Math_imul($$lcssa, $1)|0; $22 = Math_imul($21, $23)|0; $24 = ($23|0)>(0); if (!($24)) { return; } $25 = (($$lcssa) + -1)|0; $26 = (($25) + ($22))|0; $$033 = 0;$$13031 = $22;$$132 = $26;$29 = $23; while(1) { $27 = (+($$033|0)); $28 = (+($29|0)); $30 = $27 / $28; $31 = $30 * 0.5; $32 = $31 + 0.5; HEAPF32[315082] = $32; _NotchyGen_FloodFill($$13031,8); _NotchyGen_FloodFill($$132,8); $33 = HEAP32[(1407464)>>2]|0; $34 = (($33) + ($$13031))|0; $35 = (($33) + ($$132))|0; $36 = (($$033) + 1)|0; $37 = HEAP32[(1407472)>>2]|0; $38 = ($36|0)<($37|0); if ($38) { $$033 = $36;$$13031 = $34;$$132 = $35;$29 = $37; } else { break; } } return; } function _NotchyGen_FloodFillWater() { var $$017 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0; var $7 = 0.0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[(1407464)>>2]|0; $1 = HEAP32[(1407472)>>2]|0; $2 = Math_imul($1, $0)|0; $3 = (($2|0) / 800)&-1; HEAP32[315078] = 24359; $4 = ($2|0)>(799); if (!($4)) { return; } $5 = (+($3|0)); $$017 = 0; while(1) { $6 = (+($$017|0)); $7 = $6 / $5; HEAPF32[315082] = $7; $8 = HEAP32[(1407464)>>2]|0; $9 = (_Random_Next(535504,$8)|0); $10 = HEAP32[(1407472)>>2]|0; $11 = (_Random_Next(535504,$10)|0); $12 = HEAP32[315085]|0; $13 = (_Random_Range_463(1,3)|0); $14 = (($12) - ($13))|0; $15 = HEAP32[(1407472)>>2]|0; $16 = Math_imul($14, $15)|0; $17 = (($16) + ($11))|0; $18 = HEAP32[(1407464)>>2]|0; $19 = Math_imul($17, $18)|0; $20 = (($19) + ($9))|0; _NotchyGen_FloodFill($20,8); $21 = (($$017) + 1)|0; $exitcond = ($21|0)==($3|0); if ($exitcond) { break; } else { $$017 = $21; } } return; } function _NotchyGen_FloodFillLava() { var $$017 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; var $26 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[(1407464)>>2]|0; $1 = HEAP32[(1407472)>>2]|0; $2 = Math_imul($1, $0)|0; $3 = (($2|0) / 20000)&-1; HEAP32[315078] = 24345; $4 = ($2|0)>(19999); if (!($4)) { return; } $5 = (+($3|0)); $$017 = 0; while(1) { $6 = (+($$017|0)); $7 = $6 / $5; HEAPF32[315082] = $7; $8 = HEAP32[(1407464)>>2]|0; $9 = (_Random_Next(535504,$8)|0); $10 = HEAP32[(1407472)>>2]|0; $11 = (_Random_Next(535504,$10)|0); $12 = HEAP32[315085]|0; $13 = (($12) + -3)|0; $14 = (+($13|0)); $15 = (+_Random_Float(535504)); $16 = $15 * $14; $17 = (+_Random_Float(535504)); $18 = $17 * $16; $19 = (~~(($18))); $20 = HEAP32[(1407472)>>2]|0; $21 = Math_imul($20, $19)|0; $22 = (($21) + ($11))|0; $23 = HEAP32[(1407464)>>2]|0; $24 = Math_imul($22, $23)|0; $25 = (($24) + ($9))|0; _NotchyGen_FloodFill($25,10); $26 = (($$017) + 1)|0; $exitcond = ($26|0)==($3|0); if ($exitcond) { break; } else { $$017 = $26; } } return; } function _NotchyGen_CreateSurfaceLayer() { var $$03138 = 0, $$03235 = 0, $$039 = 0, $$1$lcssa = 0, $$137 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0; var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 8208|0; $0 = sp + 4100|0; $1 = sp; _OctaveNoise_Init($0,8); _OctaveNoise_Init($1,8); HEAP32[315078] = 24328; $2 = HEAP32[(1407472)>>2]|0; $3 = ($2|0)>(0); if (!($3)) { STACKTOP = sp;return; } $$03138 = 0;$$039 = 0;$6 = $2; while(1) { $4 = (+($$039|0)); $5 = (+($6|0)); $7 = $4 / $5; HEAPF32[315082] = $7; $8 = HEAP32[(1407464)>>2]|0; $9 = ($8|0)>(0); if ($9) { $$03235 = 0;$$137 = $$03138;$22 = $8; while(1) { $10 = HEAP32[315084]|0; $11 = (($$137) + 1)|0; $12 = (($10) + ($$137<<1)|0); $13 = HEAP16[$12>>1]|0; $14 = $13 << 16 >> 16; $15 = ($13<<16>>16)>(-1); $16 = HEAP32[(1407468)>>2]|0; $17 = ($16|0)>($14|0); $or$cond = $15 & $17; L10: do { if ($or$cond) { $18 = HEAP32[(1407472)>>2]|0; $19 = Math_imul($18, $14)|0; $20 = (($19) + ($$039))|0; $21 = Math_imul($20, $22)|0; $23 = (($21) + ($$03235))|0; $24 = HEAP32[(1407480)>>2]|0; $25 = ($24|0)>($14|0); L12: do { if ($25) { $26 = HEAP32[315083]|0; $27 = HEAP32[(1407488)>>2]|0; $28 = (($27) + ($23))|0; $29 = (($26) + ($28)|0); $30 = HEAP8[$29>>0]|0; switch ($30<<24>>24) { case 0: { break L12; break; } case 8: { break; } default: { break L10; } } $31 = (+($$03235|0)); $32 = (+_OctaveNoise_Calc($1,$31,$4)); $33 = $32 > 12.0; if (!($33)) { break L10; } $34 = HEAP32[315083]|0; $35 = (($34) + ($23)|0); HEAP8[$35>>0] = 13; break L10; } } while(0); $36 = HEAP32[315085]|0; $37 = ($36|0)<($14|0); if ($37) { $43 = 2; } else { $38 = (+($$03235|0)); $39 = (+_OctaveNoise_Calc($0,$38,$4)); $40 = $39 > 8.0; if ($40) { $43 = 12; } else { $43 = 2; } } $41 = HEAP32[315083]|0; $42 = (($41) + ($23)|0); HEAP8[$42>>0] = $43; } } while(0); $44 = (($$03235) + 1)|0; $45 = HEAP32[(1407464)>>2]|0; $46 = ($44|0)<($45|0); if ($46) { $$03235 = $44;$$137 = $11;$22 = $45; } else { $$1$lcssa = $11; break; } } } else { $$1$lcssa = $$03138; } $47 = (($$039) + 1)|0; $48 = HEAP32[(1407472)>>2]|0; $49 = ($47|0)<($48|0); if ($49) { $$03138 = $$1$lcssa;$$039 = $47;$6 = $48; } else { break; } } STACKTOP = sp;return; } function _NotchyGen_PlantFlowers() { var $$04551 = 0, $$04653 = 0, $$04754 = 0, $$04850 = 0, $$052 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0, $51 = 0, $52 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond55 = 0; var $exitcond56 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[(1407464)>>2]|0; $1 = HEAP32[(1407472)>>2]|0; $2 = Math_imul($1, $0)|0; $3 = (($2|0) / 3000)&-1; HEAP32[315078] = 24311; $4 = ($2|0)>(2999); if (!($4)) { return; } $5 = (+($3|0)); $$04754 = 0; while(1) { $6 = (+($$04754|0)); $7 = $6 / $5; HEAPF32[315082] = $7; $8 = (_Random_Next(535504,2)|0); $9 = (($8) + 37)|0; $10 = $9&255; $11 = HEAP32[(1407464)>>2]|0; $12 = (_Random_Next(535504,$11)|0); $13 = HEAP32[(1407472)>>2]|0; $14 = (_Random_Next(535504,$13)|0); $$04653 = 0; while(1) { $$04551 = 0;$$04850 = $14;$$052 = $12; while(1) { $15 = (_Random_Next(535504,6)|0); $16 = (_Random_Next(535504,6)|0); $17 = (($15) - ($16))|0; $18 = (($17) + ($$052))|0; $19 = (_Random_Next(535504,6)|0); $20 = (_Random_Next(535504,6)|0); $21 = (($19) - ($20))|0; $22 = (($21) + ($$04850))|0; $23 = (_World_ContainsXZ_454($18,$22)|0); $24 = ($23<<24>>24)==(0); if (!($24)) { $25 = HEAP32[315084]|0; $26 = HEAP32[(1407464)>>2]|0; $27 = Math_imul($26, $22)|0; $28 = (($27) + ($18))|0; $29 = (($25) + ($28<<1)|0); $30 = HEAP16[$29>>1]|0; $31 = $30 << 16 >> 16; $32 = (($31) + 1)|0; $33 = ($30<<16>>16)>(-1); $34 = HEAP32[(1407468)>>2]|0; $35 = ($32|0)<($34|0); $or$cond = $33 & $35; if ($or$cond) { $36 = HEAP32[(1407472)>>2]|0; $37 = Math_imul($36, $32)|0; $38 = (($37) + ($22))|0; $39 = Math_imul($38, $26)|0; $40 = (($39) + ($18))|0; $41 = HEAP32[315083]|0; $42 = (($41) + ($40)|0); $43 = HEAP8[$42>>0]|0; $44 = ($43<<24>>24)==(0); if ($44) { $45 = HEAP32[(1407488)>>2]|0; $46 = (($40) - ($45))|0; $47 = (($41) + ($46)|0); $48 = HEAP8[$47>>0]|0; $49 = ($48<<24>>24)==(2); if ($49) { HEAP8[$42>>0] = $10; } } } } $50 = (($$04551) + 1)|0; $exitcond = ($50|0)==(5); if ($exitcond) { break; } else { $$04551 = $50;$$04850 = $22;$$052 = $18; } } $51 = (($$04653) + 1)|0; $exitcond55 = ($51|0)==(10); if ($exitcond55) { break; } else { $$04653 = $51; } } $52 = (($$04754) + 1)|0; $exitcond56 = ($52|0)==($3|0); if ($exitcond56) { break; } else { $$04754 = $52; } } return; } function _NotchyGen_PlantMushrooms() { var $$05055 = 0, $$05157 = 0, $$05258 = 0, $$05354 = 0, $$056 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0; var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond59 = 0, $exitcond60 = 0, label = 0; var sp = 0; sp = STACKTOP; $0 = HEAP32[(1407460)>>2]|0; $1 = (($0|0) / 2000)&-1; HEAP32[315078] = 24292; $2 = ($0|0)>(1999); if (!($2)) { return; } $3 = (+($1|0)); $$05258 = 0; while(1) { $4 = (+($$05258|0)); $5 = $4 / $3; HEAPF32[315082] = $5; $6 = (_Random_Next(535504,2)|0); $7 = (($6) + 39)|0; $8 = $7&255; $9 = HEAP32[(1407464)>>2]|0; $10 = (_Random_Next(535504,$9)|0); $11 = HEAP32[(1407468)>>2]|0; $12 = (_Random_Next(535504,$11)|0); $13 = HEAP32[(1407472)>>2]|0; $14 = (_Random_Next(535504,$13)|0); $$05157 = 0; while(1) { $$05055 = 0;$$05354 = $14;$$056 = $10; while(1) { $15 = (_Random_Next(535504,6)|0); $16 = (_Random_Next(535504,6)|0); $17 = (($15) - ($16))|0; $18 = (($17) + ($$056))|0; $19 = (_Random_Next(535504,6)|0); $20 = (_Random_Next(535504,6)|0); $21 = (($19) - ($20))|0; $22 = (($21) + ($$05354))|0; $23 = (_World_ContainsXZ_454($18,$22)|0); $24 = ($23<<24>>24)==(0); if (!($24)) { $25 = HEAP32[315084]|0; $26 = HEAP32[(1407464)>>2]|0; $27 = Math_imul($26, $22)|0; $28 = (($27) + ($18))|0; $29 = (($25) + ($28<<1)|0); $30 = HEAP16[$29>>1]|0; $31 = $30 << 16 >> 16; $32 = (($31) + -1)|0; $33 = ($12|0)<($32|0); if ($33) { $34 = HEAP32[(1407472)>>2]|0; $35 = Math_imul($34, $12)|0; $36 = (($35) + ($22))|0; $37 = Math_imul($36, $26)|0; $38 = (($37) + ($18))|0; $39 = HEAP32[315083]|0; $40 = (($39) + ($38)|0); $41 = HEAP8[$40>>0]|0; $42 = ($41<<24>>24)==(0); if ($42) { $43 = HEAP32[(1407488)>>2]|0; $44 = (($38) - ($43))|0; $45 = (($39) + ($44)|0); $46 = HEAP8[$45>>0]|0; $47 = ($46<<24>>24)==(1); if ($47) { HEAP8[$40>>0] = $8; } } } } $48 = (($$05055) + 1)|0; $exitcond = ($48|0)==(5); if ($exitcond) { break; } else { $$05055 = $48;$$05354 = $22;$$056 = $18; } } $49 = (($$05157) + 1)|0; $exitcond59 = ($49|0)==(20); if ($exitcond59) { break; } else { $$05157 = $49; } } $50 = (($$05258) + 1)|0; $exitcond60 = ($50|0)==($1|0); if ($exitcond60) { break; } else { $$05258 = $50; } } return; } function _NotchyGen_PlantTrees() { var $$06573 = 0, $$06674 = 0, $$06775 = 0, $$06872 = 0, $$06971 = 0, $$070 = 0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; var $8 = 0.0, $9 = 0.0, $exitcond = 0, $exitcond77 = 0, $exitcond78 = 0, $exitcond79 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 1248|0; $0 = sp + 96|0; $1 = sp; $2 = HEAP32[315083]|0; HEAP32[315080] = $2; HEAP32[315081] = 535504; $3 = HEAP32[(1407464)>>2]|0; $4 = HEAP32[(1407472)>>2]|0; $5 = Math_imul($4, $3)|0; $6 = (($5|0) / 4000)&-1; HEAP32[315078] = 24277; $7 = ($5|0)>(3999); if (!($7)) { STACKTOP = sp;return; } $8 = (+($6|0)); $$06775 = 0; while(1) { $9 = (+($$06775|0)); $10 = $9 / $8; HEAPF32[315082] = $10; $11 = HEAP32[(1407464)>>2]|0; $12 = (_Random_Next(535504,$11)|0); $13 = HEAP32[(1407472)>>2]|0; $14 = (_Random_Next(535504,$13)|0); $$06674 = 0; while(1) { $$06573 = 0;$$06872 = $12;$$06971 = $14; while(1) { $15 = (_Random_Next(535504,6)|0); $16 = (_Random_Next(535504,6)|0); $17 = (($15) - ($16))|0; $18 = (($17) + ($$06872))|0; $19 = (_Random_Next(535504,6)|0); $20 = (_Random_Next(535504,6)|0); $21 = (($19) - ($20))|0; $22 = (($21) + ($$06971))|0; $23 = (_World_ContainsXZ_454($18,$22)|0); $24 = ($23<<24>>24)==(0); if (!($24)) { $25 = (+_Random_Float(535504)); $26 = !($25 >= 0.25); if ($26) { $27 = HEAP32[315084]|0; $28 = HEAP32[(1407464)>>2]|0; $29 = Math_imul($28, $22)|0; $30 = (($29) + ($18))|0; $31 = (($27) + ($30<<1)|0); $32 = HEAP16[$31>>1]|0; $33 = $32 << 16 >> 16; $34 = (($33) + 1)|0; $35 = HEAP32[(1407468)>>2]|0; $36 = ($34|0)<($35|0); if ($36) { $37 = (_Random_Next(535504,3)|0); $38 = (($37) + 5)|0; $39 = ($32<<16>>16)>(-1); if ($39) { $40 = HEAP32[(1407472)>>2]|0; $41 = Math_imul($40, $34)|0; $42 = (($41) + ($22))|0; $43 = HEAP32[(1407464)>>2]|0; $44 = Math_imul($42, $43)|0; $45 = (($44) + ($18))|0; $46 = HEAP32[315083]|0; $47 = HEAP32[(1407488)>>2]|0; $48 = (($45) - ($47))|0; $49 = (($46) + ($48)|0); $50 = HEAP8[$49>>0]|0; $51 = ($50<<24>>24)==(2); if ($51) { $52 = (_TreeGen_CanGrow($18,$34,$22,$38)|0); $53 = ($52<<24>>24)==(0); if (!($53)) { $54 = (_TreeGen_Grow($18,$34,$22,$38,$0,$1)|0); $55 = ($54|0)>(0); if ($55) { $$070 = 0; while(1) { $56 = (((($0) + (($$070*12)|0)|0)) + 4|0); $57 = HEAP32[$56>>2]|0; $58 = HEAP32[(1407472)>>2]|0; $59 = Math_imul($58, $57)|0; $60 = (((($0) + (($$070*12)|0)|0)) + 8|0); $61 = HEAP32[$60>>2]|0; $62 = (($59) + ($61))|0; $63 = HEAP32[(1407464)>>2]|0; $64 = Math_imul($62, $63)|0; $65 = (($0) + (($$070*12)|0)|0); $66 = HEAP32[$65>>2]|0; $67 = (($64) + ($66))|0; $68 = (($1) + ($$070)|0); $69 = HEAP8[$68>>0]|0; $70 = HEAP32[315083]|0; $71 = (($70) + ($67)|0); HEAP8[$71>>0] = $69; $72 = (($$070) + 1)|0; $exitcond = ($72|0)==($54|0); if ($exitcond) { break; } else { $$070 = $72; } } } } } } } } } $73 = (($$06573) + 1)|0; $exitcond77 = ($73|0)==(20); if ($exitcond77) { break; } else { $$06573 = $73;$$06872 = $18;$$06971 = $22; } } $74 = (($$06674) + 1)|0; $exitcond78 = ($74|0)==(20); if ($exitcond78) { break; } else { $$06674 = $74; } } $75 = (($$06775) + 1)|0; $exitcond79 = ($75|0)==($6|0); if ($exitcond79) { break; } else { $$06775 = $75; } } STACKTOP = sp;return; } function _World_ContainsXZ_454($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $narrow = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[(1407464)>>2]|0; $3 = ($2>>>0)>($0>>>0); $4 = HEAP32[(1407472)>>2]|0; $5 = ($4>>>0)>($1>>>0); $narrow = $3 & $5; $6 = $narrow&1; return ($6|0); } function _TreeGen_CanGrow($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$05265 = 0, $$05463 = 0, $$056 = 0, $$064 = 0, $$15560 = 0, $$15560$1 = 0, $$15560$2 = 0, $$15560$3 = 0, $$161 = 0, $$161$1 = 0, $$161$2 = 0, $$161$3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0; var $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, label = 0; var sp = 0; sp = STACKTOP; $4 = (($3) + ($1))|0; $5 = (($4) + -4)|0; $6 = ($5|0)>($1|0); L1: do { if ($6) { $7 = (($2) + -1)|0; $8 = (($0) + -1)|0; $9 = HEAP32[(1407472)>>2]|0; $10 = HEAP32[(1407464)>>2]|0; $11 = HEAP32[315080]|0; $$05265 = $1; L3: while(1) { $12 = Math_imul($9, $$05265)|0; $$064 = $7; while(1) { $13 = (($12) + ($$064))|0; $14 = Math_imul($13, $10)|0; $$05463 = $8; while(1) { $17 = (_World_Contains_459($$05463,$$05265,$$064)|0); $18 = ($17<<24>>24)==(0); if ($18) { $$056 = 0; label = 18; break L3; } $19 = (($14) + ($$05463))|0; $20 = (($11) + ($19)|0); $21 = HEAP8[$20>>0]|0; $22 = ($21<<24>>24)==(0); if (!($22)) { $$056 = 0; label = 18; break L3; } $15 = (($$05463) + 1)|0; $16 = ($$05463|0)>($0|0); if ($16) { break; } else { $$05463 = $15; } } $23 = (($$064) + 1)|0; $24 = ($$064|0)>($2|0); if ($24) { break; } else { $$064 = $23; } } $25 = (($$05265) + 1)|0; $26 = ($25|0)<($5|0); if ($26) { $$05265 = $25; } else { break L1; } } if ((label|0) == 18) { return ($$056|0); } } } while(0); $27 = (($3) + ($1))|0; $28 = ($5|0)<($27|0); if (!($28)) { $$056 = 1; return ($$056|0); } $29 = (($2) + -2)|0; $30 = (($2) + 2)|0; $31 = (($0) + -2)|0; $32 = (($0) + 2)|0; $33 = HEAP32[(1407472)>>2]|0; $34 = HEAP32[(1407464)>>2]|0; $35 = HEAP32[315080]|0; $36 = Math_imul($33, $5)|0; $$161 = $29; L20: while(1) { $37 = (($36) + ($$161))|0; $38 = Math_imul($37, $34)|0; $$15560 = $31; while(1) { $41 = (_World_Contains_459($$15560,$5,$$161)|0); $42 = ($41<<24>>24)==(0); if ($42) { $$056 = 0; label = 18; break L20; } $43 = (($38) + ($$15560))|0; $44 = (($35) + ($43)|0); $45 = HEAP8[$44>>0]|0; $46 = ($45<<24>>24)==(0); if (!($46)) { $$056 = 0; label = 18; break L20; } $39 = (($$15560) + 1)|0; $40 = ($$15560|0)<($32|0); if ($40) { $$15560 = $39; } else { break; } } $47 = (($$161) + 1)|0; $48 = ($$161|0)<($30|0); if ($48) { $$161 = $47; } else { label = 17; break; } } if ((label|0) == 17) { $49 = (($4) + -3)|0; $50 = Math_imul($33, $49)|0; $$161$1 = $29; L29: while(1) { $51 = (($50) + ($$161$1))|0; $52 = Math_imul($51, $34)|0; $$15560$1 = $31; while(1) { $53 = (_World_Contains_459($$15560$1,$49,$$161$1)|0); $54 = ($53<<24>>24)==(0); if ($54) { $$056 = 0; label = 18; break L29; } $55 = (($52) + ($$15560$1))|0; $56 = (($35) + ($55)|0); $57 = HEAP8[$56>>0]|0; $58 = ($57<<24>>24)==(0); if (!($58)) { $$056 = 0; label = 18; break L29; } $59 = (($$15560$1) + 1)|0; $60 = ($$15560$1|0)<($32|0); if ($60) { $$15560$1 = $59; } else { break; } } $61 = (($$161$1) + 1)|0; $62 = ($$161$1|0)<($30|0); if ($62) { $$161$1 = $61; } else { label = 24; break; } } if ((label|0) == 18) { return ($$056|0); } else if ((label|0) == 24) { $63 = (($4) + -2)|0; $64 = Math_imul($33, $63)|0; $$161$2 = $29; L38: while(1) { $65 = (($64) + ($$161$2))|0; $66 = Math_imul($65, $34)|0; $$15560$2 = $31; while(1) { $67 = (_World_Contains_459($$15560$2,$63,$$161$2)|0); $68 = ($67<<24>>24)==(0); if ($68) { $$056 = 0; label = 18; break L38; } $69 = (($66) + ($$15560$2))|0; $70 = (($35) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = ($71<<24>>24)==(0); if (!($72)) { $$056 = 0; label = 18; break L38; } $73 = (($$15560$2) + 1)|0; $74 = ($$15560$2|0)<($32|0); if ($74) { $$15560$2 = $73; } else { break; } } $75 = (($$161$2) + 1)|0; $76 = ($$161$2|0)<($30|0); if ($76) { $$161$2 = $75; } else { label = 30; break; } } if ((label|0) == 18) { return ($$056|0); } else if ((label|0) == 30) { $77 = (($4) + -1)|0; $78 = Math_imul($33, $77)|0; $$161$3 = $29; L47: while(1) { $79 = (($78) + ($$161$3))|0; $80 = Math_imul($79, $34)|0; $$15560$3 = $31; while(1) { $81 = (_World_Contains_459($$15560$3,$77,$$161$3)|0); $82 = ($81<<24>>24)==(0); if ($82) { $$056 = 0; label = 18; break L47; } $83 = (($80) + ($$15560$3))|0; $84 = (($35) + ($83)|0); $85 = HEAP8[$84>>0]|0; $86 = ($85<<24>>24)==(0); if (!($86)) { $$056 = 0; label = 18; break L47; } $87 = (($$15560$3) + 1)|0; $88 = ($$15560$3|0)<($32|0); if ($88) { $$15560$3 = $87; } else { break; } } $89 = (($$161$3) + 1)|0; $90 = ($$161$3|0)<($30|0); if ($90) { $$161$3 = $89; } else { $$056 = 1; label = 18; break; } } if ((label|0) == 18) { return ($$056|0); } } } } else if ((label|0) == 18) { return ($$056|0); } return (0)|0; } function _TreeGen_Grow($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; var $$0$lcssa = 0, $$0111133 = 0, $$0111133$1 = 0, $$0113131 = 0, $$0113131$1 = 0, $$0115$lcssa = 0, $$1112123 = 0, $$1116132 = 0, $$1116132$1 = 0, $$1125 = 0, $$2117130 = 0, $$2117130$1 = 0, $$2119 = 0, $$3 = 0, $$3$1 = 0, $$4$lcssa = 0, $$4124 = 0, $$5122 = 0, $$7 = 0, $$7$2 = 0; var $$8$lcssa = 0, $$8118 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0; var $43 = 0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0, $98 = 0; var $99 = 0, $exitcond = 0, $exitcond143 = 0, $exitcond144 = 0, $exitcond145 = 0, $exitcond145$1 = 0, $exitcond146 = 0, $exitcond146$1 = 0, label = 0, sp = 0; sp = STACKTOP; $6 = (($3) + ($1))|0; $7 = (($6) + -2)|0; $8 = (($3) + ($1))|0; $9 = (($8) + -4)|0; $10 = ($9|0)<($7|0); if ($10) { $$0111133 = -2;$$1116132 = 0; while(1) { $11 = (($$0111133) + ($2))|0; $$0113131 = -2;$$2117130 = $$1116132; while(1) { $12 = (($$0113131) + ($0))|0; $13 = (_Math_AbsI($$0113131)|0); $14 = ($13|0)==(2); if ($14) { $15 = (_Math_AbsI($$0111133)|0); $16 = ($15|0)==(2); if ($16) { $17 = HEAP32[315081]|0; $18 = (+_Random_Float($17)); $19 = !($18 >= 0.5); if ($19) { $$3 = $$2117130; } else { $20 = (($$2117130) + 1)|0; $21 = (($5) + ($$2117130)|0); $22 = (((($4) + (($$2117130*12)|0)|0)) + 8|0); $23 = (((($4) + (($$2117130*12)|0)|0)) + 4|0); $24 = (($4) + (($$2117130*12)|0)|0); HEAP32[$24>>2] = $12; HEAP32[$23>>2] = $9; HEAP32[$22>>2] = $11; HEAP8[$21>>0] = 18; $$3 = $20; } } else { label = 8; } } else { label = 8; } if ((label|0) == 8) { label = 0; $25 = (($4) + (($$2117130*12)|0)|0); HEAP32[$25>>2] = $12; $26 = (((($4) + (($$2117130*12)|0)|0)) + 4|0); HEAP32[$26>>2] = $9; $27 = (((($4) + (($$2117130*12)|0)|0)) + 8|0); HEAP32[$27>>2] = $11; $28 = (($5) + ($$2117130)|0); HEAP8[$28>>0] = 18; $29 = (($$2117130) + 1)|0; $$3 = $29; } $30 = (($$0113131) + 1)|0; $exitcond145 = ($30|0)==(3); if ($exitcond145) { break; } else { $$0113131 = $30;$$2117130 = $$3; } } $31 = (($$0111133) + 1)|0; $exitcond146 = ($31|0)==(3); if ($exitcond146) { break; } else { $$0111133 = $31;$$1116132 = $$3; } } $32 = (($8) + -3)|0; $$0111133$1 = -2;$$1116132$1 = $$3; while(1) { $84 = (($$0111133$1) + ($2))|0; $$0113131$1 = -2;$$2117130$1 = $$1116132$1; while(1) { $85 = (($$0113131$1) + ($0))|0; $86 = (_Math_AbsI($$0113131$1)|0); $87 = ($86|0)==(2); if ($87) { $88 = (_Math_AbsI($$0111133$1)|0); $89 = ($88|0)==(2); if ($89) { $95 = HEAP32[315081]|0; $96 = (+_Random_Float($95)); $97 = !($96 >= 0.5); if ($97) { $$3$1 = $$2117130$1; } else { $98 = (($$2117130$1) + 1)|0; $99 = (($5) + ($$2117130$1)|0); $100 = (((($4) + (($$2117130$1*12)|0)|0)) + 8|0); $101 = (((($4) + (($$2117130$1*12)|0)|0)) + 4|0); $102 = (($4) + (($$2117130$1*12)|0)|0); HEAP32[$102>>2] = $85; HEAP32[$101>>2] = $32; HEAP32[$100>>2] = $84; HEAP8[$99>>0] = 18; $$3$1 = $98; } } else { label = 35; } } else { label = 35; } if ((label|0) == 35) { label = 0; $90 = (($4) + (($$2117130$1*12)|0)|0); HEAP32[$90>>2] = $85; $91 = (((($4) + (($$2117130$1*12)|0)|0)) + 4|0); HEAP32[$91>>2] = $32; $92 = (((($4) + (($$2117130$1*12)|0)|0)) + 8|0); HEAP32[$92>>2] = $84; $93 = (($5) + ($$2117130$1)|0); HEAP8[$93>>0] = 18; $94 = (($$2117130$1) + 1)|0; $$3$1 = $94; } $103 = (($$0113131$1) + 1)|0; $exitcond145$1 = ($103|0)==(3); if ($exitcond145$1) { break; } else { $$0113131$1 = $103;$$2117130$1 = $$3$1; } } $104 = (($$0111133$1) + 1)|0; $exitcond146$1 = ($104|0)==(3); if ($exitcond146$1) { $$0$lcssa = $7;$$0115$lcssa = $$3$1; break; } else { $$0111133$1 = $104;$$1116132$1 = $$3$1; } } } else { $$0$lcssa = $9;$$0115$lcssa = 0; } $33 = (($3) + ($1))|0; $34 = ($$0$lcssa|0)<($33|0); if ($34) { $35 = (($0) + -1)|0; $36 = (($0) + 1)|0; $$1125 = $$0$lcssa;$$4124 = $$0115$lcssa; while(1) { $37 = ($$1125|0)==($7|0); $$1112123 = -1;$$5122 = $$4124; while(1) { $38 = (($$1112123) + ($2))|0; $39 = ($$1112123|0)==(0); if ($39) { $40 = (($4) + (($$5122*12)|0)|0); HEAP32[$40>>2] = $35; $41 = (((($4) + (($$5122*12)|0)|0)) + 4|0); HEAP32[$41>>2] = $$1125; $42 = (((($4) + (($$5122*12)|0)|0)) + 8|0); HEAP32[$42>>2] = $38; $43 = (($5) + ($$5122)|0); HEAP8[$43>>0] = 18; $44 = (($$5122) + 1)|0; $$7 = $44; } else { if ($37) { $45 = HEAP32[315081]|0; $46 = (+_Random_Float($45)); $47 = !($46 >= 0.5); if ($47) { $$7 = $$5122; } else { $48 = (($$5122) + 1)|0; $49 = (($5) + ($$5122)|0); $50 = (((($4) + (($$5122*12)|0)|0)) + 8|0); $51 = (((($4) + (($$5122*12)|0)|0)) + 4|0); $52 = (($4) + (($$5122*12)|0)|0); HEAP32[$52>>2] = $35; HEAP32[$51>>2] = $$1125; HEAP32[$50>>2] = $38; HEAP8[$49>>0] = 18; $$7 = $48; } } else { $$7 = $$5122; } } $65 = (($4) + (($$7*12)|0)|0); HEAP32[$65>>2] = $0; $66 = (((($4) + (($$7*12)|0)|0)) + 4|0); HEAP32[$66>>2] = $$1125; $67 = (((($4) + (($$7*12)|0)|0)) + 8|0); HEAP32[$67>>2] = $38; $68 = (($5) + ($$7)|0); HEAP8[$68>>0] = 18; $69 = (($$7) + 1)|0; if ($39) { $78 = (($4) + (($69*12)|0)|0); HEAP32[$78>>2] = $36; $79 = (((($4) + (($69*12)|0)|0)) + 4|0); HEAP32[$79>>2] = $$1125; $80 = (((($4) + (($69*12)|0)|0)) + 8|0); HEAP32[$80>>2] = $38; $81 = (($5) + ($69)|0); HEAP8[$81>>0] = 18; $82 = (($$7) + 2)|0; $$7$2 = $82; } else { if ($37) { $70 = HEAP32[315081]|0; $71 = (+_Random_Float($70)); $72 = !($71 >= 0.5); if ($72) { $$7$2 = $69; } else { $73 = (($$7) + 2)|0; $74 = (($5) + ($69)|0); $75 = (((($4) + (($69*12)|0)|0)) + 8|0); $76 = (((($4) + (($69*12)|0)|0)) + 4|0); $77 = (($4) + (($69*12)|0)|0); HEAP32[$77>>2] = $36; HEAP32[$76>>2] = $$1125; HEAP32[$75>>2] = $38; HEAP8[$74>>0] = 18; $$7$2 = $73; } } else { $$7$2 = $69; } } $83 = (($$1112123) + 1)|0; $exitcond143 = ($83|0)==(2); if ($exitcond143) { break; } else { $$1112123 = $83;$$5122 = $$7$2; } } $53 = (($$1125) + 1)|0; $exitcond144 = ($53|0)==($33|0); if ($exitcond144) { $$4$lcssa = $$7$2; break; } else { $$1125 = $53;$$4124 = $$7$2; } } } else { $$4$lcssa = $$0115$lcssa; } $54 = (($3) + -1)|0; $55 = ($3|0)>(1); if (!($55)) { $$8$lcssa = $$4$lcssa; return ($$8$lcssa|0); } $56 = (($$4$lcssa) + ($3))|0; $$2119 = 0;$$8118 = $$4$lcssa; while(1) { $57 = (($4) + (($$8118*12)|0)|0); HEAP32[$57>>2] = $0; $58 = (($$2119) + ($1))|0; $59 = (((($4) + (($$8118*12)|0)|0)) + 4|0); HEAP32[$59>>2] = $58; $60 = (((($4) + (($$8118*12)|0)|0)) + 8|0); HEAP32[$60>>2] = $2; $61 = (($5) + ($$8118)|0); HEAP8[$61>>0] = 17; $62 = (($$8118) + 1)|0; $63 = (($$2119) + 1)|0; $exitcond = ($63|0)==($54|0); if ($exitcond) { break; } else { $$2119 = $63;$$8118 = $62; } } $64 = (($56) + -1)|0; $$8$lcssa = $64; return ($$8$lcssa|0); } function _World_Contains_459($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $narrow = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP32[(1407464)>>2]|0; $4 = ($3>>>0)>($0>>>0); $5 = HEAP32[(1407468)>>2]|0; $6 = ($5>>>0)>($1>>>0); $or$cond = $4 & $6; $7 = HEAP32[(1407472)>>2]|0; $8 = ($7>>>0)>($2>>>0); $narrow = $or$cond & $8; $9 = $narrow&1; return ($9|0); } function _OctaveNoise_Init($0,$1) { $0 = $0|0; $1 = $1|0; var $$01 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 4096|0); HEAP32[$2>>2] = $1; $3 = ($1|0)>(0); if (!($3)) { return; } $$01 = 0; while(1) { $4 = (($0) + ($$01<<9)|0); _ImprovedNoise_Init($4); $5 = (($$01) + 1)|0; $exitcond = ($5|0)==($1|0); if ($exitcond) { break; } else { $$01 = $5; } } return; } function _OctaveNoise_Calc($0,$1,$2) { $0 = $0|0; $1 = +$1; $2 = +$2; var $$020$lcssa = 0.0, $$02025 = 0.0, $$02124 = 0.0, $$02223 = 0.0, $$026 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0; var sp = 0; sp = STACKTOP; $3 = ((($0)) + 4096|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)>(0); if (!($5)) { $$020$lcssa = 0.0; return (+$$020$lcssa); } $6 = HEAP32[$3>>2]|0; $$02025 = 0.0;$$02124 = 1.0;$$02223 = 1.0;$$026 = 0; while(1) { $7 = (($0) + ($$026<<9)|0); $8 = $$02124 * $1; $9 = $$02124 * $2; $10 = (+_ImprovedNoise_Calc($7,$8,$9)); $11 = $$02223 * $10; $12 = $$02025 + $11; $13 = $$02223 * 2.0; $14 = $$02124 * 0.5; $15 = (($$026) + 1)|0; $16 = ($15|0)<($6|0); if ($16) { $$02025 = $12;$$02124 = $14;$$02223 = $13;$$026 = $15; } else { $$020$lcssa = $12; break; } } return (+$$020$lcssa); } function _ImprovedNoise_Calc($0,$1,$2) { $0 = $0|0; $1 = +$1; $2 = +$2; var $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0.0, $116 = 0.0, $117 = 0; var $118 = 0, $119 = 0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0; var $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0; var $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0; var $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; var $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0, $98 = 0, $99 = 0.0, label = 0, sp = 0; sp = STACKTOP; $3 = !($1 >= 0.0); $4 = (~~(($1))); $5 = $3 << 31 >> 31; $6 = (($5) + ($4))|0; $7 = !($2 >= 0.0); $8 = (~~(($2))); $9 = $7 << 31 >> 31; $10 = (($9) + ($8))|0; $11 = $6 & 255; $12 = $10 & 255; $13 = (+($6|0)); $14 = $1 - $13; $15 = (+($10|0)); $16 = $2 - $15; $17 = $14 * $14; $18 = $14 * $17; $19 = $14 * 6.0; $20 = $19 + -15.0; $21 = $14 * $20; $22 = $21 + 10.0; $23 = $18 * $22; $24 = $16 * $16; $25 = $16 * $24; $26 = $16 * 6.0; $27 = $26 + -15.0; $28 = $16 * $27; $29 = $28 + 10.0; $30 = $25 * $29; $31 = (($0) + ($11)|0); $32 = HEAP8[$31>>0]|0; $33 = $32&255; $34 = (($12) + ($33))|0; $35 = (($11) + 1)|0; $36 = (($0) + ($35)|0); $37 = HEAP8[$36>>0]|0; $38 = $37&255; $39 = (($12) + ($38))|0; $40 = (($0) + ($34)|0); $41 = HEAP8[$40>>0]|0; $42 = $41&255; $43 = (($0) + ($42)|0); $44 = HEAP8[$43>>0]|0; $45 = ($44 << 1)&255; $46 = $45 & 30; $47 = $46&255; $48 = ($47)?(1179984418 >>> $47):(1179984418); $49 = $48 & 3; $50 = (($49) + -1)|0; $51 = (+($50|0)); $52 = $14 * $51; $53 = ($47)?(572675338 >>> $47):(572675338); $54 = $53 & 3; $55 = (($54) + -1)|0; $56 = (+($55|0)); $57 = $16 * $56; $58 = $52 + $57; $59 = (($0) + ($39)|0); $60 = HEAP8[$59>>0]|0; $61 = $60&255; $62 = (($0) + ($61)|0); $63 = HEAP8[$62>>0]|0; $64 = ($63 << 1)&255; $65 = $64 & 30; $66 = $65&255; $67 = ($66)?(1179984418 >>> $66):(1179984418); $68 = $67 & 3; $69 = (($68) + -1)|0; $70 = (+($69|0)); $71 = $14 + -1.0; $72 = $71 * $70; $73 = ($66)?(572675338 >>> $66):(572675338); $74 = $73 & 3; $75 = (($74) + -1)|0; $76 = (+($75|0)); $77 = $16 * $76; $78 = $72 + $77; $79 = $78 - $58; $80 = $23 * $79; $81 = $58 + $80; $82 = (($34) + 1)|0; $83 = (($0) + ($82)|0); $84 = HEAP8[$83>>0]|0; $85 = $84&255; $86 = (($0) + ($85)|0); $87 = HEAP8[$86>>0]|0; $88 = ($87 << 1)&255; $89 = $88 & 30; $90 = $89&255; $91 = ($90)?(1179984418 >>> $90):(1179984418); $92 = $91 & 3; $93 = (($92) + -1)|0; $94 = (+($93|0)); $95 = $14 * $94; $96 = ($90)?(572675338 >>> $90):(572675338); $97 = $96 & 3; $98 = (($97) + -1)|0; $99 = (+($98|0)); $100 = $16 + -1.0; $101 = $100 * $99; $102 = $95 + $101; $103 = (($39) + 1)|0; $104 = (($0) + ($103)|0); $105 = HEAP8[$104>>0]|0; $106 = $105&255; $107 = (($0) + ($106)|0); $108 = HEAP8[$107>>0]|0; $109 = ($108 << 1)&255; $110 = $109 & 30; $111 = $110&255; $112 = ($111)?(1179984418 >>> $111):(1179984418); $113 = $112 & 3; $114 = (($113) + -1)|0; $115 = (+($114|0)); $116 = $71 * $115; $117 = ($111)?(572675338 >>> $111):(572675338); $118 = $117 & 3; $119 = (($118) + -1)|0; $120 = (+($119|0)); $121 = $100 * $120; $122 = $116 + $121; $123 = $122 - $102; $124 = $23 * $123; $125 = $102 + $124; $126 = $125 - $81; $127 = $30 * $126; $128 = $81 + $127; return (+$128); } function _ImprovedNoise_Init($0) { $0 = $0|0; var $$03 = 0, $$12 = 0, $$21 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond4 = 0, $exitcond5 = 0; var label = 0, sp = 0; sp = STACKTOP; $$03 = 0; while(1) { $1 = $$03&255; $2 = (($0) + ($$03)|0); HEAP8[$2>>0] = $1; $3 = (($$03) + 1)|0; $exitcond5 = ($3|0)==(256); if ($exitcond5) { break; } else { $$03 = $3; } } $$12 = 0; while(1) { $4 = (_Random_Range_463($$12,256)|0); $5 = (($0) + ($$12)|0); $6 = HEAP8[$5>>0]|0; $7 = (($0) + ($4)|0); $8 = HEAP8[$7>>0]|0; HEAP8[$5>>0] = $8; HEAP8[$7>>0] = $6; $9 = (($$12) + 1)|0; $exitcond4 = ($9|0)==(256); if ($exitcond4) { break; } else { $$12 = $9; } } $$21 = 0; while(1) { $10 = (($0) + ($$21)|0); $11 = HEAP8[$10>>0]|0; $12 = (($$21) + 256)|0; $13 = (($0) + ($12)|0); HEAP8[$13>>0] = $11; $14 = (($$21) + 1)|0; $exitcond = ($14|0)==(256); if ($exitcond) { break; } else { $$21 = $14; } } return; } function _Random_Range_463($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (($1) - ($0))|0; $3 = (_Random_Next(535504,$2)|0); $4 = (($3) + ($0))|0; return ($4|0); } function _NotchyGen_FloodFill($0,$1) { $0 = $0|0; $1 = $1|0; var $$0$be = 0, $$034 = 0, $$1 = 0, $$2 = 0, $$3 = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32784|0; $2 = sp + 32772|0; $3 = sp; $4 = sp + 32768|0; HEAP32[$4>>2] = 8192; HEAP32[$2>>2] = $3; $5 = ($0|0)<(0); if ($5) { STACKTOP = sp;return; } HEAP32[$3>>2] = $0; $$034 = 1; while(1) { $6 = HEAP32[$2>>2]|0; $7 = (($$034) + -1)|0; $8 = (($6) + ($7<<2)|0); $9 = HEAP32[$8>>2]|0; $10 = HEAP32[315083]|0; $11 = (($10) + ($9)|0); $12 = HEAP8[$11>>0]|0; $13 = ($12<<24>>24)==(0); if ($13) { HEAP8[$11>>0] = $1; $15 = HEAP32[(1407464)>>2]|0; $16 = (($9|0) / ($15|0))&-1; $17 = Math_imul($16, $15)|0; $18 = (($9) - ($17))|0; $19 = HEAP32[(1407488)>>2]|0; $20 = (($9|0) / ($19|0))&-1; $21 = HEAP32[(1407472)>>2]|0; $22 = (($16|0) % ($21|0))&-1; $23 = HEAP32[$4>>2]|0; $24 = (($23) + -6)|0; $25 = ($$034|0)>($24|0); if ($25) { _Utils_Resize($2,$4,4,8192,8192); } $26 = ($18|0)>(0); if ($26) { $27 = (($9) + -1)|0; $28 = HEAP32[$2>>2]|0; $29 = (($28) + ($7<<2)|0); HEAP32[$29>>2] = $27; $$1 = $$034; } else { $$1 = $7; } $30 = HEAP32[(1407476)>>2]|0; $31 = ($18|0)<($30|0); if ($31) { $32 = (($$1) + 1)|0; $33 = (($9) + 1)|0; $34 = HEAP32[$2>>2]|0; $35 = (($34) + ($$1<<2)|0); HEAP32[$35>>2] = $33; $$2 = $32; } else { $$2 = $$1; } $36 = ($22|0)>(0); if ($36) { $37 = HEAP32[(1407464)>>2]|0; $38 = (($9) - ($37))|0; $39 = HEAP32[$2>>2]|0; $40 = (($$2) + 1)|0; $41 = (($39) + ($$2<<2)|0); HEAP32[$41>>2] = $38; $$3 = $40; } else { $$3 = $$2; } $42 = HEAP32[(1407484)>>2]|0; $43 = ($22|0)<($42|0); if ($43) { $44 = HEAP32[(1407464)>>2]|0; $45 = (($44) + ($9))|0; $46 = HEAP32[$2>>2]|0; $47 = (($$3) + 1)|0; $48 = (($46) + ($$3<<2)|0); HEAP32[$48>>2] = $45; $$4 = $47; } else { $$4 = $$3; } $49 = ($20|0)>(0); if ($49) { $50 = HEAP32[(1407488)>>2]|0; $51 = (($9) - ($50))|0; $52 = HEAP32[$2>>2]|0; $53 = (($$4) + 1)|0; $54 = (($52) + ($$4<<2)|0); HEAP32[$54>>2] = $51; $$0$be = $53; } else { $$0$be = $$4; } } else { $$0$be = $7; } $14 = ($$0$be|0)==(0); if ($14) { break; } else { $$034 = $$0$be; } } $55 = HEAP32[$4>>2]|0; $56 = ($55|0)>(8192); if (!($56)) { STACKTOP = sp;return; } $57 = HEAP32[$2>>2]|0; _Mem_Free($57); STACKTOP = sp;return; } function _NotchyGen_FillOblateSpheroid($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = +$3; $4 = $4|0; var $$ = 0.0, $$08393 = 0, $$08488 = 0, $$087 = 0, $$85 = 0.0, $$86 = 0.0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0; var $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0, $5 = 0.0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0.0, $60 = 0, $61 = 0; var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $5 = (+($0|0)); $6 = $5 - $3; $7 = $6 > 0.0; $8 = $7 ? $6 : 0.0; $9 = (_Math_Floor($8)|0); $10 = $5 + $3; $11 = HEAP32[(1407476)>>2]|0; $12 = (+($11|0)); $13 = $10 < $12; $$ = $13 ? $10 : $12; $14 = (_Math_Floor($$)|0); $15 = (+($1|0)); $16 = $15 - $3; $17 = $16 > 0.0; $18 = $17 ? $16 : 0.0; $19 = (_Math_Floor($18)|0); $20 = $15 + $3; $21 = HEAP32[(1407480)>>2]|0; $22 = (+($21|0)); $23 = $20 < $22; $$85 = $23 ? $20 : $22; $24 = (_Math_Floor($$85)|0); $25 = (+($2|0)); $26 = $25 - $3; $27 = $26 > 0.0; $28 = $27 ? $26 : 0.0; $29 = (_Math_Floor($28)|0); $30 = $25 + $3; $31 = HEAP32[(1407484)>>2]|0; $32 = (+($31|0)); $33 = $30 < $32; $$86 = $33 ? $30 : $32; $34 = (_Math_Floor($$86)|0); $35 = $3 * $3; $36 = ($19|0)>($24|0); if ($36) { return; } $37 = ($29|0)>($34|0); $38 = ($9|0)>($14|0); $$08393 = $19; while(1) { $39 = (($$08393) - ($1))|0; if (!($37)) { $40 = $39 << 1; $41 = Math_imul($40, $39)|0; $$08488 = $29; while(1) { $42 = (($$08488) - ($2))|0; if (!($38)) { $43 = Math_imul($42, $42)|0; $44 = (($43) + ($41))|0; $$087 = $9; while(1) { $45 = (($$087) - ($0))|0; $46 = Math_imul($45, $45)|0; $47 = (($44) + ($46))|0; $48 = (+($47|0)); $49 = $35 > $48; if ($49) { $50 = HEAP32[(1407472)>>2]|0; $51 = Math_imul($50, $$08393)|0; $52 = (($51) + ($$08488))|0; $53 = HEAP32[(1407464)>>2]|0; $54 = Math_imul($52, $53)|0; $55 = (($54) + ($$087))|0; $56 = HEAP32[315083]|0; $57 = (($56) + ($55)|0); $58 = HEAP8[$57>>0]|0; $59 = ($58<<24>>24)==(1); if ($59) { HEAP8[$57>>0] = $4; } } $60 = (($$087) + 1)|0; $61 = ($$087|0)<($14|0); if ($61) { $$087 = $60; } else { break; } } } $62 = (($$08488) + 1)|0; $63 = ($$08488|0)<($34|0); if ($63) { $$08488 = $62; } else { break; } } } $64 = (($$08393) + 1)|0; $65 = ($$08393|0)<($24|0); if ($65) { $$08393 = $64; } else { break; } } return; } function _NotchyGen_CreateStrataFast() { var $$028 = 0, $$1 = 0, $$126 = 0, $$127 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0; var $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[(1407488)>>2]|0; HEAPF32[315082] = 0.0; HEAP32[315078] = 24424; $1 = HEAP32[315083]|0; _Mem_Set($1,10,$0); $2 = HEAP32[315086]|0; $3 = (($2) + -14)|0; $4 = ($2|0)<(15); if (!($4)) { $5 = (($2) + -13)|0; $$028 = 1; while(1) { $6 = HEAP32[315083]|0; $7 = Math_imul($$028, $0)|0; $8 = (($6) + ($7)|0); _Mem_Set($8,1,$0); $9 = (+($$028|0)); $10 = HEAP32[(1407468)>>2]|0; $11 = (+($10|0)); $12 = $9 / $11; HEAPF32[315082] = $12; $13 = (($$028) + 1)|0; $exitcond = ($13|0)==($5|0); if ($exitcond) { break; } else { $$028 = $13; } } } $14 = ($3|0)>(0); $15 = $14 ? $3 : 0; $$126 = (($15) + 1)|0; $16 = HEAP32[(1407468)>>2]|0; $17 = ($$126|0)<($16|0); if (!($17)) { $26 = ($3|0)>(1); $27 = $26 ? $3 : 1; return ($27|0); } $$127 = $$126; while(1) { $18 = HEAP32[315083]|0; $19 = Math_imul($$127, $0)|0; $20 = (($18) + ($19)|0); _Mem_Set($20,0,$0); $21 = (+($$127|0)); $22 = HEAP32[(1407468)>>2]|0; $23 = (+($22|0)); $24 = $21 / $23; HEAPF32[315082] = $24; $$1 = (($$127) + 1)|0; $25 = ($$1|0)<($22|0); if ($25) { $$127 = $$1; } else { break; } } $26 = ($3|0)>(1); $27 = $26 ? $3 : 1; return ($27|0); } function _CombinedNoise_Init($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; _OctaveNoise_Init($0,8); $1 = ((($0)) + 4100|0); _OctaveNoise_Init($1,8); return; } function _CombinedNoise_Calc($0,$1,$2) { $0 = $0|0; $1 = +$1; $2 = +$2; var $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, label = 0, sp = 0; sp = STACKTOP; $3 = ((($0)) + 4100|0); $4 = (+_OctaveNoise_Calc($3,$1,$2)); $5 = $4 + $1; $6 = (+_OctaveNoise_Calc($0,$5,$2)); return (+$6); } function _Gfx_GetFog() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP8[1408241]|0; return ($0|0); } function _Gfx_LoseContext($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[(1260360)>>0]|0; $2 = ($1<<24>>24)==(0); if (!($2)) { return; } HEAP8[(1260360)>>0] = 1; _Platform_Log1(24455,$0); _Gfx_FreeState(); _Event_RaiseVoid((1251856)); return; } function _Gfx_FreeState() { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; _Gfx_FreeDefaultResources(); HEAP32[315126] = 0; $0 = HEAP32[(2680)>>2]|0; _glDeleteProgram(($0|0)); HEAP32[(2680)>>2] = 0; $1 = HEAP32[(2712)>>2]|0; _glDeleteProgram(($1|0)); HEAP32[(2712)>>2] = 0; $2 = HEAP32[(2744)>>2]|0; _glDeleteProgram(($2|0)); HEAP32[(2744)>>2] = 0; $3 = HEAP32[(2776)>>2]|0; _glDeleteProgram(($3|0)); HEAP32[(2776)>>2] = 0; $4 = HEAP32[(2808)>>2]|0; _glDeleteProgram(($4|0)); HEAP32[(2808)>>2] = 0; $5 = HEAP32[(2840)>>2]|0; _glDeleteProgram(($5|0)); HEAP32[(2840)>>2] = 0; $6 = HEAP32[(2872)>>2]|0; _glDeleteProgram(($6|0)); HEAP32[(2872)>>2] = 0; $7 = HEAP32[(2904)>>2]|0; _glDeleteProgram(($7|0)); HEAP32[(2904)>>2] = 0; $8 = HEAP32[(2936)>>2]|0; _glDeleteProgram(($8|0)); HEAP32[(2936)>>2] = 0; $9 = HEAP32[(2968)>>2]|0; _glDeleteProgram(($9|0)); HEAP32[(2968)>>2] = 0; $10 = HEAP32[(3000)>>2]|0; _glDeleteProgram(($10|0)); HEAP32[(3000)>>2] = 0; $11 = HEAP32[(3032)>>2]|0; _glDeleteProgram(($11|0)); HEAP32[(3032)>>2] = 0; $12 = HEAP32[(3064)>>2]|0; _glDeleteProgram(($12|0)); HEAP32[(3064)>>2] = 0; $13 = HEAP32[(3096)>>2]|0; _glDeleteProgram(($13|0)); HEAP32[(3096)>>2] = 0; $14 = HEAP32[(3128)>>2]|0; _glDeleteProgram(($14|0)); HEAP32[(3128)>>2] = 0; $15 = HEAP32[(3160)>>2]|0; _glDeleteProgram(($15|0)); HEAP32[(3160)>>2] = 0; $16 = HEAP32[(3192)>>2]|0; _glDeleteProgram(($16|0)); HEAP32[(3192)>>2] = 0; $17 = HEAP32[(3224)>>2]|0; _glDeleteProgram(($17|0)); HEAP32[(3224)>>2] = 0; return; } function _Gfx_FreeDefaultResources() { var label = 0, sp = 0; sp = STACKTOP; _Gfx_DeleteVb(1260492); _Gfx_DeleteVb(1260496); _Gfx_DeleteIb(1260500); return; } function _Gfx_DeleteVb($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = HEAP32[$0>>2]|0; HEAP32[$1>>2] = $2; $3 = ($2|0)==(0); if ($3) { STACKTOP = sp;return; } _glDeleteBuffers(1,($1|0)); HEAP32[$0>>2] = 0; STACKTOP = sp;return; } function _Gfx_DeleteIb($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = HEAP32[$0>>2]|0; HEAP32[$1>>2] = $2; $3 = ($2|0)==(0); if ($3) { STACKTOP = sp;return; } _glDeleteBuffers(1,($1|0)); HEAP32[$0>>2] = 0; STACKTOP = sp;return; } function _Gfx_UpdateDynamicVb_Lines($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var label = 0, sp = 0; sp = STACKTOP; _Gfx_SetDynamicVbData($0,$1,$2); _Gfx_DrawVb_Lines($2); return; } function _Gfx_SetDynamicVbData($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP32[315128]|0; $4 = Math_imul($3, $2)|0; _glBindBuffer(34962,($0|0)); _glBufferSubData(34962,0,($4|0),($1|0)); return; } function _Gfx_DrawVb_Lines($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[315127]|0; FUNCTION_TABLE_v[$1 & 127](); _glDrawArrays(1,0,($0|0)); return; } function _GL_SetupVbPos3fCol4b() { var label = 0, sp = 0; sp = STACKTOP; _glVertexAttribPointer(0,3,5126,0,16,(0|0)); _glVertexAttribPointer(1,4,5121,1,16,((12)|0)); return; } function _GL_SetupVbPos3fTex2fCol4b() { var label = 0, sp = 0; sp = STACKTOP; _glVertexAttribPointer(0,3,5126,0,24,(0|0)); _glVertexAttribPointer(1,4,5121,1,24,((12)|0)); _glVertexAttribPointer(2,2,5126,0,24,((16)|0)); return; } function _Gfx_UpdateDynamicVb_IndexedTris($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var label = 0, sp = 0; sp = STACKTOP; _Gfx_SetDynamicVbData($0,$1,$2); _Gfx_DrawVb_IndexedTris($2); return; } function _Gfx_DrawVb_IndexedTris($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[315127]|0; FUNCTION_TABLE_v[$1 & 127](); $2 = (2)?($0 >> 2):($0); $3 = ($2*6)|0; _glDrawElements(4,($3|0),5123,(0|0)); return; } function _Gfx_Draw2DFlat($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $5 = 0, $6 = 0.0; var $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $5 = sp; $6 = (+($0|0)); HEAPF32[$5>>2] = $6; $7 = (+($1|0)); $8 = ((($5)) + 4|0); HEAPF32[$8>>2] = $7; $9 = ((($5)) + 8|0); HEAPF32[$9>>2] = 0.0; $10 = ((($5)) + 12|0); HEAP32[$10>>2] = $4; $11 = (($2) + ($0))|0; $12 = (+($11|0)); $13 = ((($5)) + 16|0); HEAPF32[$13>>2] = $12; $14 = ((($5)) + 20|0); HEAPF32[$14>>2] = $7; $15 = ((($5)) + 24|0); HEAPF32[$15>>2] = 0.0; $16 = ((($5)) + 28|0); HEAP32[$16>>2] = $4; $17 = ((($5)) + 32|0); HEAPF32[$17>>2] = $12; $18 = (($3) + ($1))|0; $19 = (+($18|0)); $20 = ((($5)) + 36|0); HEAPF32[$20>>2] = $19; $21 = ((($5)) + 40|0); HEAPF32[$21>>2] = 0.0; $22 = ((($5)) + 44|0); HEAP32[$22>>2] = $4; $23 = ((($5)) + 48|0); HEAPF32[$23>>2] = $6; $24 = ((($5)) + 52|0); HEAPF32[$24>>2] = $19; $25 = ((($5)) + 56|0); HEAPF32[$25>>2] = 0.0; $26 = ((($5)) + 60|0); HEAP32[$26>>2] = $4; _Gfx_SetVertexFormat(0); $27 = HEAP32[315123]|0; _Gfx_UpdateDynamicVb_IndexedTris($27,$5,4); STACKTOP = sp;return; } function _Gfx_SetVertexFormat($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $storemerge = 0, $storemerge4 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[2878]|0; $2 = ($1|0)==($0|0); if ($2) { return; } HEAP32[2878] = $0; $3 = (11516 + ($0<<2)|0); $4 = HEAP32[$3>>2]|0; HEAP32[315128] = $4; $5 = ($0|0)==(1); if ($5) { _glEnableVertexAttribArray(2); $storemerge = 291;$storemerge4 = 70; } else { _glDisableVertexAttribArray(2); $storemerge = 292;$storemerge4 = 71; } HEAP32[315127] = $storemerge4; HEAP32[315129] = $storemerge; _Gfx_SwitchProgram(); return; } function _GL_SetupVbPos3fTex2fCol4b_Range($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ($0*24)|0; $2 = $1; _glVertexAttribPointer(0,3,5126,0,24,($2|0)); $3 = (($1) + 12)|0; $4 = $3; _glVertexAttribPointer(1,4,5121,1,24,($4|0)); $5 = (($1) + 16)|0; $6 = $5; _glVertexAttribPointer(2,2,5126,0,24,($6|0)); return; } function _GL_SetupVbPos3fCol4b_Range($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = $0 << 4; $2 = $1; _glVertexAttribPointer(0,3,5126,0,16,($2|0)); $3 = $1 | 12; $4 = $3; _glVertexAttribPointer(1,4,5121,1,16,($4|0)); return; } function _Gfx_SwitchProgram() { var $$0 = 0, $$2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, $spec$select = 0, $spec$select13 = 0, $spec$select14 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP8[1408241]|0; $1 = ($0<<24>>24)==(0); if ($1) { $$0 = 0; } else { $2 = HEAP32[2881]|0; $3 = ($2|0)>(0); $spec$select = $3 ? 12 : 6; $$0 = $spec$select; } $4 = HEAP32[2878]|0; $5 = ($4|0)==(1); $6 = (($$0) + 2)|0; $spec$select13 = $5 ? $6 : $$0; $7 = HEAP8[1408242]|0; $8 = ($7<<24>>24)==(0); $9 = (($spec$select13) + 2)|0; $$2 = $8 ? $spec$select13 : $9; $10 = HEAP8[1408243]|0; $11 = ($10<<24>>24)!=(0); $12 = $11&1; $spec$select14 = $$2 | $12; $13 = (2672 + ($spec$select14<<5)|0); $14 = HEAP32[315126]|0; $15 = ($13|0)==($14|0); if ($15) { _Gfx_ReloadUniforms(); return; } $16 = (((2672 + ($spec$select14<<5)|0)) + 8|0); $17 = HEAP32[$16>>2]|0; $18 = ($17|0)==(0); if ($18) { _Gfx_CompileProgram($13); } HEAP32[315126] = $13; $19 = HEAP32[$16>>2]|0; _glUseProgram(($19|0)); _Gfx_ReloadUniforms(); return; } function _Gfx_ReloadUniforms() { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; var $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[315126]|0; $1 = ($0|0)==(0|0); if ($1) { return; } $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; $4 = $3 & 1; $5 = ($4|0)==(0); if (!($5)) { $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; _glUniformMatrix4fv(($7|0),1,0,(1260520|0)); $8 = HEAP32[$2>>2]|0; $9 = $8 & -2; HEAP32[$2>>2] = $9; } $10 = HEAP32[$2>>2]|0; $11 = $10 & 2; $12 = ($11|0)==(0); if (!($12)) { $13 = HEAP32[$0>>2]|0; $14 = $13 & 4; $15 = ($14|0)==(0); if (!($15)) { $16 = ((($0)) + 16|0); $17 = HEAP32[$16>>2]|0; _glUniformMatrix4fv(($17|0),1,0,(1260584|0)); $18 = HEAP32[$2>>2]|0; $19 = $18 & -3; HEAP32[$2>>2] = $19; } } $20 = HEAP32[$2>>2]|0; $21 = $20 & 4; $22 = ($21|0)==(0); if (!($22)) { $23 = HEAP32[$0>>2]|0; $24 = $23 & 24; $25 = ($24|0)==(0); if (!($25)) { $26 = ((($0)) + 20|0); $27 = HEAP32[$26>>2]|0; $28 = HEAP32[315162]|0; $29 = $28 & 255; $30 = (+($29|0)); $31 = $30 / 255.0; $32 = (8)?($28 >>> 8):($28); $33 = $32 & 255; $34 = (+($33|0)); $35 = $34 / 255.0; $36 = (16)?($28 >>> 16):($28); $37 = $36 & 255; $38 = (+($37|0)); $39 = $38 / 255.0; _glUniform3f(($27|0),(+$31),(+$35),(+$39)); $40 = HEAP32[$2>>2]|0; $41 = $40 & -5; HEAP32[$2>>2] = $41; } } $42 = HEAP32[$2>>2]|0; $43 = $42 & 8; $44 = ($43|0)==(0); if (!($44)) { $45 = HEAP32[$0>>2]|0; $46 = $45 & 8; $47 = ($46|0)==(0); if (!($47)) { $48 = ((($0)) + 24|0); $49 = HEAP32[$48>>2]|0; $50 = +HEAPF32[2882]; _glUniform1f(($49|0),(+$50)); $51 = HEAP32[$2>>2]|0; $52 = $51 & -9; HEAP32[$2>>2] = $52; } } $53 = HEAP32[$2>>2]|0; $54 = $53 & 16; $55 = ($54|0)==(0); if ($55) { return; } $56 = HEAP32[$0>>2]|0; $57 = $56 & 16; $58 = ($57|0)==(0); if ($58) { return; } $59 = ((($0)) + 28|0); $60 = HEAP32[$59>>2]|0; $61 = +HEAPF32[2883]; $62 = - $61; _glUniform1f(($60|0),(+$62)); $63 = HEAP32[$2>>2]|0; $64 = $63 & -17; HEAP32[$2>>2] = $64; return; } function _Gfx_CompileProgram($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 2064|0; $1 = sp; $2 = sp + 2056|0; $3 = sp + 2048|0; HEAP32[$2>>2] = $1; $4 = ((($2)) + 4|0); HEAP16[$4>>1] = 0; $5 = ((($2)) + 6|0); HEAP16[$5>>1] = 2048; _Gfx_GenVertexShader($0,$2); $6 = (_Gfx_CompileShader(35633,$2)|0); HEAP16[$4>>1] = 0; _Gfx_GenFragmentShader($0,$2); $7 = (_Gfx_CompileShader(35632,$2)|0); $8 = (_glCreateProgram()|0); $9 = ($8|0)==(0); if ($9) { _Logger_Abort(24481); } $10 = ((($0)) + 8|0); HEAP32[$10>>2] = $8; _glAttachShader(($8|0),($6|0)); _glAttachShader(($8|0),($7|0)); _glBindAttribLocation(($8|0),0,(24506|0)); _glBindAttribLocation(($8|0),1,(24513|0)); _glBindAttribLocation(($8|0),2,(24520|0)); _glLinkProgram(($8|0)); _glGetProgramiv(($8|0),35714,($3|0)); $11 = HEAP32[$3>>2]|0; $12 = ($11|0)==(0); if (!($12)) { _glDetachShader(($8|0),($6|0)); _glDetachShader(($8|0),($7|0)); _glDeleteShader(($6|0)); _glDeleteShader(($7|0)); $13 = (_glGetUniformLocation(($8|0),(24526|0))|0); $14 = ((($0)) + 12|0); HEAP32[$14>>2] = $13; $15 = (_glGetUniformLocation(($8|0),(24530|0))|0); $16 = ((($0)) + 16|0); HEAP32[$16>>2] = $15; $17 = (_glGetUniformLocation(($8|0),(24540|0))|0); $18 = ((($0)) + 20|0); HEAP32[$18>>2] = $17; $19 = (_glGetUniformLocation(($8|0),(24547|0))|0); $20 = ((($0)) + 24|0); HEAP32[$20>>2] = $19; $21 = (_glGetUniformLocation(($8|0),(24554|0))|0); $22 = ((($0)) + 28|0); HEAP32[$22>>2] = $21; STACKTOP = sp;return; } HEAP32[$3>>2] = 0; _glGetProgramiv(($8|0),35716,($3|0)); $23 = HEAP32[$3>>2]|0; $24 = ($23|0)>(0); if ($24) { _glGetProgramInfoLog(($8|0),2047,(0|0),($1|0)); $25 = ((($1)) + 2047|0); HEAP8[$25>>0] = 0; _Platform_LogConst($1); } _Logger_Abort(24565); STACKTOP = sp;return; } function _Gfx_GenVertexShader($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[$0>>2]|0; $3 = $2 & 1; $4 = $2 & 4; _String_AppendConst($1,25155); _String_AppendConst($1,25179); $5 = ($3|0)!=(0); if ($5) { _String_AppendConst($1,25203); _String_AppendConst($1,24615); _String_AppendConst($1,24638); } else { _String_AppendConst($1,24615); } _String_AppendConst($1,25226); $6 = ($4|0)!=(0); if ($6) { _String_AppendConst($1,25245); } _String_AppendConst($1,24761); _String_AppendConst($1,25270); _String_AppendConst($1,25312); if ($5) { _String_AppendConst($1,25333); } if (!($6)) { _String_AppendConst($1,25104); return; } _String_AppendConst($1,25353); _String_AppendConst($1,25104); return; } function _Gfx_CompileShader($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 2064|0; $2 = sp + 2052|0; $3 = sp + 2048|0; $4 = sp; $5 = (_glCreateShader(($0|0))|0); $6 = ($5|0)==(0); if ($6) { _Logger_Abort(25106); } $7 = ((($1)) + 4|0); $8 = HEAP16[$7>>1]|0; $9 = $8&65535; HEAP32[$3>>2] = $9; _glShaderSource(($5|0),1,($1|0),($3|0)); _glCompileShader(($5|0)); _glGetShaderiv(($5|0),35713,($2|0)); $10 = HEAP32[$2>>2]|0; $11 = ($10|0)==(0); if (!($11)) { $$0 = $5; STACKTOP = sp;return ($$0|0); } HEAP32[$2>>2] = 0; _glGetShaderiv(($5|0),35716,($2|0)); $12 = HEAP32[$2>>2]|0; $13 = ($12|0)>(1); if ($13) { _glGetShaderInfoLog(($5|0),2047,(0|0),($4|0)); $14 = ((($4)) + 2047|0); HEAP8[$14>>0] = 0; _Platform_LogConst($4); } _Logger_Abort(25130); $$0 = 0; STACKTOP = sp;return ($$0|0); } function _Gfx_GenFragmentShader($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[$0>>2]|0; $3 = $2 & 1; $4 = $2 & 2; $5 = $2 & 8; $6 = $2 & 16; $7 = $2 & 24; _String_AppendConst($1,24591); _String_AppendConst($1,24615); $8 = ($3|0)!=(0); if ($8) { _String_AppendConst($1,24638); _String_AppendConst($1,24660); } $9 = ($7|0)!=(0); if ($9) { _String_AppendConst($1,24689); } $10 = ($5|0)!=(0); if ($10) { _String_AppendConst($1,24711); } $11 = ($6|0)!=(0); if ($11) { _String_AppendConst($1,24734); } _String_AppendConst($1,24761); if ($8) { _String_AppendConst($1,24776); } else { _String_AppendConst($1,24829); } $12 = ($4|0)==(0); if (!($12)) { _String_AppendConst($1,24852); } if ($9) { _String_AppendConst($1,24881); } if ($10) { _String_AppendConst($1,24931); } if ($11) { _String_AppendConst($1,24988); } if (!($9)) { _String_AppendConst($1,25081); _String_AppendConst($1,25104); return; } _String_AppendConst($1,25043); _String_AppendConst($1,25081); _String_AppendConst($1,25104); return; } function _Gfx_Draw2DGradient($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $6 = 0; var $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $6 = sp; $7 = (+($0|0)); HEAPF32[$6>>2] = $7; $8 = (+($1|0)); $9 = ((($6)) + 4|0); HEAPF32[$9>>2] = $8; $10 = ((($6)) + 8|0); HEAPF32[$10>>2] = 0.0; $11 = ((($6)) + 12|0); HEAP32[$11>>2] = $4; $12 = (($2) + ($0))|0; $13 = (+($12|0)); $14 = ((($6)) + 16|0); HEAPF32[$14>>2] = $13; $15 = ((($6)) + 20|0); HEAPF32[$15>>2] = $8; $16 = ((($6)) + 24|0); HEAPF32[$16>>2] = 0.0; $17 = ((($6)) + 28|0); HEAP32[$17>>2] = $4; $18 = ((($6)) + 32|0); HEAPF32[$18>>2] = $13; $19 = (($3) + ($1))|0; $20 = (+($19|0)); $21 = ((($6)) + 36|0); HEAPF32[$21>>2] = $20; $22 = ((($6)) + 40|0); HEAPF32[$22>>2] = 0.0; $23 = ((($6)) + 44|0); HEAP32[$23>>2] = $5; $24 = ((($6)) + 48|0); HEAPF32[$24>>2] = $7; $25 = ((($6)) + 52|0); HEAPF32[$25>>2] = $20; $26 = ((($6)) + 56|0); HEAPF32[$26>>2] = 0.0; $27 = ((($6)) + 60|0); HEAP32[$27>>2] = $5; _Gfx_SetVertexFormat(0); $28 = HEAP32[315123]|0; _Gfx_UpdateDynamicVb_IndexedTris($28,$6,4); STACKTOP = sp;return; } function _Gfx_Draw2DTexture($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 112|0; $2 = sp; $3 = sp + 96|0; HEAP32[$3>>2] = $2; _Gfx_Make2DQuad($0,$1,$3); _Gfx_SetVertexFormat(1); $4 = HEAP32[315124]|0; _Gfx_UpdateDynamicVb_IndexedTris($4,$2,4); STACKTOP = sp;return; } function _Gfx_Make2DQuad($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; var $48 = 0, $49 = 0, $5 = 0.0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ((($0)) + 4|0); $4 = HEAP16[$3>>1]|0; $5 = (+($4<<16>>16)); $6 = $4 << 16 >> 16; $7 = ((($0)) + 8|0); $8 = HEAP16[$7>>1]|0; $9 = $8&65535; $10 = (($9) + ($6))|0; $11 = (+($10|0)); $12 = ((($0)) + 6|0); $13 = HEAP16[$12>>1]|0; $14 = (+($13<<16>>16)); $15 = $13 << 16 >> 16; $16 = ((($0)) + 10|0); $17 = HEAP16[$16>>1]|0; $18 = $17&65535; $19 = (($18) + ($15))|0; $20 = (+($19|0)); $21 = HEAP32[$2>>2]|0; HEAPF32[$21>>2] = $5; $22 = ((($21)) + 4|0); HEAPF32[$22>>2] = $14; $23 = ((($21)) + 8|0); HEAPF32[$23>>2] = 0.0; $24 = ((($21)) + 12|0); HEAP32[$24>>2] = $1; $25 = ((($0)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = ((($21)) + 16|0); HEAP32[$27>>2] = $26; $28 = ((($0)) + 16|0); $29 = HEAP32[$28>>2]|0; $30 = ((($21)) + 20|0); HEAP32[$30>>2] = $29; $31 = ((($21)) + 24|0); HEAPF32[$31>>2] = $11; $32 = ((($21)) + 28|0); HEAPF32[$32>>2] = $14; $33 = ((($21)) + 32|0); HEAPF32[$33>>2] = 0.0; $34 = ((($21)) + 36|0); HEAP32[$34>>2] = $1; $35 = ((($0)) + 20|0); $36 = HEAP32[$35>>2]|0; $37 = ((($21)) + 40|0); HEAP32[$37>>2] = $36; $38 = ((($21)) + 44|0); HEAP32[$38>>2] = $29; $39 = ((($21)) + 48|0); HEAPF32[$39>>2] = $11; $40 = ((($21)) + 52|0); HEAPF32[$40>>2] = $20; $41 = ((($21)) + 56|0); HEAPF32[$41>>2] = 0.0; $42 = ((($21)) + 60|0); HEAP32[$42>>2] = $1; $43 = ((($21)) + 64|0); HEAP32[$43>>2] = $36; $44 = ((($0)) + 24|0); $45 = HEAP32[$44>>2]|0; $46 = ((($21)) + 68|0); HEAP32[$46>>2] = $45; $47 = ((($21)) + 72|0); HEAPF32[$47>>2] = $5; $48 = ((($21)) + 76|0); HEAPF32[$48>>2] = $20; $49 = ((($21)) + 80|0); HEAPF32[$49>>2] = 0.0; $50 = ((($21)) + 84|0); HEAP32[$50>>2] = $1; $51 = ((($21)) + 88|0); HEAP32[$51>>2] = $26; $52 = ((($21)) + 92|0); HEAP32[$52>>2] = $45; $53 = ((($21)) + 96|0); HEAP32[$2>>2] = $53; return; } function _Gfx_Mode2D($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $2 = sp; $3 = (+($0|0)); $4 = (+($1|0)); _Gfx_CalcOrthoMatrix($3,$4,$2); _Gfx_LoadMatrix(0,$2); _Gfx_LoadIdentityMatrix(1); _Gfx_SetDepthTest(0); _Gfx_SetAlphaBlending(1); $5 = (_Gfx_GetFog()|0); HEAP8[1408244] = $5; $6 = ($5<<24>>24)==(0); if ($6) { STACKTOP = sp;return; } _Gfx_SetFog(0); STACKTOP = sp;return; } function _Gfx_CalcOrthoMatrix($0,$1,$2) { $0 = +$0; $1 = +$1; $2 = $2|0; var label = 0, sp = 0; sp = STACKTOP; _Matrix_OrthographicOffCenter($2,0.0,$0,$1,0.0,-1.0E+4,1.0E+4); return; } function _Gfx_LoadMatrix($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; $2 = ($0>>>0)<(2); if (!($2)) { dest=1260584; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); HEAP8[1408242] = 1; _Gfx_DirtyUniform(2); _Gfx_SwitchProgram(); return; } switch ($0|0) { case 1: { dest=1260652; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); break; } case 0: { dest=1260716; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); break; } default: { } } _Matrix_Mul(1260520,1260652,1260716); _Gfx_DirtyUniform(1); _Gfx_ReloadUniforms(); return; } function _Gfx_LoadIdentityMatrix($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ($0>>>0)<(2); if ($1) { _Gfx_LoadMatrix($0,18012); return; } else { HEAP8[1408242] = 0; _Gfx_SwitchProgram(); return; } } function _Gfx_SetDepthTest($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ($0<<24>>24)==(0); if ($1) { _glDisable(2929); return; } else { _glEnable(2929); return; } } function _Gfx_SetAlphaBlending($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ($0<<24>>24)==(0); if ($1) { _glDisable(3042); return; } else { _glEnable(3042); return; } } function _Gfx_SetFog($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; HEAP8[1408241] = $0; _Gfx_SwitchProgram(); return; } function _Gfx_DirtyUniform($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[(2676)>>2]|0; $2 = $1 | $0; HEAP32[(2676)>>2] = $2; $3 = HEAP32[(2708)>>2]|0; $4 = $3 | $0; HEAP32[(2708)>>2] = $4; $5 = HEAP32[(2740)>>2]|0; $6 = $5 | $0; HEAP32[(2740)>>2] = $6; $7 = HEAP32[(2772)>>2]|0; $8 = $7 | $0; HEAP32[(2772)>>2] = $8; $9 = HEAP32[(2804)>>2]|0; $10 = $9 | $0; HEAP32[(2804)>>2] = $10; $11 = HEAP32[(2836)>>2]|0; $12 = $11 | $0; HEAP32[(2836)>>2] = $12; $13 = HEAP32[(2868)>>2]|0; $14 = $13 | $0; HEAP32[(2868)>>2] = $14; $15 = HEAP32[(2900)>>2]|0; $16 = $15 | $0; HEAP32[(2900)>>2] = $16; $17 = HEAP32[(2932)>>2]|0; $18 = $17 | $0; HEAP32[(2932)>>2] = $18; $19 = HEAP32[(2964)>>2]|0; $20 = $19 | $0; HEAP32[(2964)>>2] = $20; $21 = HEAP32[(2996)>>2]|0; $22 = $21 | $0; HEAP32[(2996)>>2] = $22; $23 = HEAP32[(3028)>>2]|0; $24 = $23 | $0; HEAP32[(3028)>>2] = $24; $25 = HEAP32[(3060)>>2]|0; $26 = $25 | $0; HEAP32[(3060)>>2] = $26; $27 = HEAP32[(3092)>>2]|0; $28 = $27 | $0; HEAP32[(3092)>>2] = $28; $29 = HEAP32[(3124)>>2]|0; $30 = $29 | $0; HEAP32[(3124)>>2] = $30; $31 = HEAP32[(3156)>>2]|0; $32 = $31 | $0; HEAP32[(3156)>>2] = $32; $33 = HEAP32[(3188)>>2]|0; $34 = $33 | $0; HEAP32[(3188)>>2] = $34; $35 = HEAP32[(3220)>>2]|0; $36 = $35 | $0; HEAP32[(3220)>>2] = $36; return; } function _Gfx_Mode3D() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; _Gfx_LoadMatrix(0,(1260428)); _Gfx_LoadMatrix(1,(1260364)); _Gfx_SetDepthTest(1); _Gfx_SetAlphaBlending(0); $0 = HEAP8[1408244]|0; $1 = ($0<<24>>24)==(0); if ($1) { return; } _Gfx_SetFog(1); return; } function _Gfx_MakeIndices($0,$1) { $0 = $0|0; $1 = $1|0; var $$01922 = 0, $$02021 = 0, $$023 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)>(0); if (!($2)) { return; } $$01922 = 0;$$02021 = $0;$$023 = 0; while(1) { $3 = $$01922&65535; HEAP16[$$02021>>1] = $3; $4 = $$01922 | 1; $5 = $4&65535; $6 = ((($$02021)) + 2|0); HEAP16[$6>>1] = $5; $7 = $$01922 | 2; $8 = $7&65535; $9 = ((($$02021)) + 4|0); HEAP16[$9>>1] = $8; $10 = ((($$02021)) + 6|0); HEAP16[$10>>1] = $8; $11 = $$01922 | 3; $12 = $11&65535; $13 = ((($$02021)) + 8|0); HEAP16[$13>>1] = $12; $14 = ((($$02021)) + 10|0); HEAP16[$14>>1] = $3; $15 = ((($$02021)) + 12|0); $16 = (($$01922) + 4)|0; $17 = (($$023) + 6)|0; $18 = ($17|0)<($1|0); if ($18) { $$01922 = $16;$$02021 = $15;$$023 = $17; } else { break; } } return; } function _Gfx_SetupAlphaState($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; switch ($0<<24>>24) { case 3: { _Gfx_SetAlphaBlending(1); break; } case 1: { _Gfx_SetAlphaTest(1); break; } case 2: { _Gfx_SetAlphaTest(1); break; } case 5: { _Gfx_SetAlphaTest(1); break; } default: { } } return; } function _Gfx_SetAlphaTest($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; HEAP8[1408243] = $0; _Gfx_SwitchProgram(); return; } function _Gfx_RestoreAlphaState($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; switch ($0<<24>>24) { case 3: { _Gfx_SetAlphaBlending(0); break; } case 1: { _Gfx_SetAlphaTest(0); break; } case 2: { _Gfx_SetAlphaTest(0); break; } case 5: { _Gfx_SetAlphaTest(0); break; } default: { } } return; } function _Texture_Render($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; _Gfx_BindTexture($1); _Gfx_Draw2DTexture($0,-1); return; } function _Gfx_BindTexture($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _glBindTexture(3553,($0|0)); return; } function _Texture_RenderShaded($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[$0>>2]|0; _Gfx_BindTexture($2); _Gfx_Draw2DTexture($0,$1); return; } function _Gfx_Init() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp; _GraphicsMode_MakeDefault($0); _GLContext_Init($0); HEAPF32[(1260356)>>2] = 0.10000000149011612; _glGetIntegerv(3379,(1260348|0)); $1 = HEAP32[315087]|0; HEAP32[(1260352)>>2] = $1; HEAP8[(1260363)>>0] = 1; _Gfx_RestoreState(); STACKTOP = sp;return; } function _Gfx_RestoreState() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _Gfx_InitDefaultResources(); _glEnableVertexAttribArray(0); _glEnableVertexAttribArray(1); HEAP32[2878] = -1; _Gfx_DirtyUniform(31); $0 = HEAP32[315195]|0; _GL_ClearCol($0); _glBlendFunc(770,771); _glDepthFunc(515); return; } function _Gfx_InitDefaultResources() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 196608|0; $0 = sp; _Gfx_MakeIndices($0,98304); $1 = (_Gfx_CreateIb($0,98304)|0); HEAP32[315125] = $1; $2 = (_Gfx_CreateDynamicVb(0,4)|0); HEAP32[315123] = $2; $3 = (_Gfx_CreateDynamicVb(1,4)|0); HEAP32[315124] = $3; STACKTOP = sp;return; } function _GL_ClearCol($0) { $0 = $0|0; var $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = $0 & 255; $2 = (+($1|0)); $3 = $2 / 255.0; $4 = (8)?($0 >>> 8):($0); $5 = $4 & 255; $6 = (+($5|0)); $7 = $6 / 255.0; $8 = (16)?($0 >>> 16):($0); $9 = $8 & 255; $10 = (+($9|0)); $11 = $10 / 255.0; $12 = (24)?($0 >>> 24):($0); $13 = (+($12|0)); $14 = $13 / 255.0; _glClearColor((+$3),(+$7),(+$11),(+$14)); return; } function _Gfx_CreateIb($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (_GL_GenAndBind(34963)|0); $3 = $1 << 1; _glBufferData(34963,($3|0),($0|0),35044); return ($2|0); } function _Gfx_CreateDynamicVb($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP8[(1260360)>>0]|0; $3 = ($2<<24>>24)==(0); if (!($3)) { $$0 = 0; return ($$0|0); } $4 = (11516 + ($0<<2)|0); $5 = (_GL_GenAndBind(34962)|0); $6 = HEAP32[$4>>2]|0; $7 = Math_imul($6, $1)|0; _glBufferData(34962,($7|0),(0|0),35048); $$0 = $5; return ($$0|0); } function _GL_GenAndBind($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; _glGenBuffers(1,($1|0)); $2 = HEAP32[$1>>2]|0; _glBindBuffer(($0|0),($2|0)); $3 = HEAP32[$1>>2]|0; STACKTOP = sp;return ($3|0); } function _Gfx_TryRestoreContext() { var $$0 = 0, $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = (_GLContext_TryRestore()|0); $1 = ($0<<24>>24)==(0); if ($1) { $$0 = 0; return ($$0|0); } _Gfx_RecreateContext(); $$0 = 1; return ($$0|0); } function _Gfx_RecreateContext() { var label = 0, sp = 0; sp = STACKTOP; HEAP8[(1260360)>>0] = 0; _Platform_LogConst(25404); _Gfx_RestoreState(); _Event_RaiseVoid((1252116)); return; } function _Gfx_Free() { var label = 0, sp = 0; sp = STACKTOP; _Gfx_FreeDefaultResources(); _GLContext_Free(); return; } function _Gfx_CreateTexture($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $3 = sp; _glGenTextures(1,($3|0)); $4 = HEAP32[$3>>2]|0; _glBindTexture(3553,($4|0)); _glTexParameteri(3553,10240,9728); $5 = ((($0)) + 4|0); $6 = HEAP32[$5>>2]|0; $7 = (_Math_IsPowOf2($6)|0); $8 = ($7<<24>>24)==(0); if ($8) { label = 3; } else { $9 = ((($0)) + 8|0); $10 = HEAP32[$9>>2]|0; $11 = (_Math_IsPowOf2($10)|0); $12 = ($11<<24>>24)==(0); if ($12) { label = 3; } } if ((label|0) == 3) { _Logger_Abort(25432); } $13 = HEAP8[(1260360)>>0]|0; $14 = ($13<<24>>24)==(0); if (!($14)) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $15 = ($2<<24>>24)!=(0); if ($15) { _glTexParameteri(3553,10241,9986); $16 = HEAP8[(1260362)>>0]|0; $17 = ($16<<24>>24)==(0); if (!($17)) { $18 = HEAP32[$5>>2]|0; $19 = ((($0)) + 8|0); $20 = HEAP32[$19>>2]|0; $21 = (_CalcMipmapsLevels($18,$20)|0); _glTexParameteri(3553,33085,($21|0)); } } else { _glTexParameteri(3553,10241,9728); } $22 = HEAP32[$5>>2]|0; $23 = ((($0)) + 8|0); $24 = HEAP32[$23>>2]|0; $25 = HEAP32[$0>>2]|0; _glTexImage2D(3553,0,6408,($22|0),($24|0),0,6408,5121,($25|0)); if ($15) { _Gfx_DoMipmaps(0,0,$0,0); } $26 = HEAP32[$3>>2]|0; $$0 = $26; STACKTOP = sp;return ($$0|0); } function _CalcMipmapsLevels($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (_Math_Log2($0)|0); $3 = (_Math_Log2($1)|0); $4 = HEAP8[(1260362)>>0]|0; $5 = ($4<<24>>24)==(0); if ($5) { $10 = ($2|0)>($3|0); $11 = $10 ? $2 : $3; $$0 = $11; return ($$0|0); } else { $6 = ($2|0)<($3|0); $7 = $6 ? $2 : $3; $8 = ($7|0)<(4); $9 = $8 ? $7 : 4; $$0 = $9; return ($$0|0); } return (0)|0; } function _Gfx_DoMipmaps($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$04757 = 0, $$04956 = 0, $$05055 = 0, $$05154 = 0, $$052$lcssa = 0, $$05253 = 0, $$058 = 0, $$1 = 0, $$148 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $4 = HEAP32[$2>>2]|0; $5 = ((($2)) + 4|0); $6 = HEAP32[$5>>2]|0; $7 = ((($2)) + 8|0); $8 = HEAP32[$7>>2]|0; $9 = (_CalcMipmapsLevels($6,$8)|0); $10 = ($9|0)<(1); if ($10) { $$052$lcssa = $4; } else { $11 = HEAP32[$7>>2]|0; $12 = HEAP32[$5>>2]|0; $13 = ($3<<24>>24)==(0); $$04757 = $12;$$04956 = 1;$$05055 = $0;$$05154 = $1;$$05253 = $4;$$058 = $11; while(1) { $14 = (($$05055|0) / 2)&-1; $15 = (($$05154|0) / 2)&-1; $16 = ($$04757|0)>(1); $17 = (($$04757|0) / 2)&-1; $$148 = $16 ? $17 : $$04757; $18 = ($$058|0)>(1); $19 = (($$058|0) / 2)&-1; $$1 = $18 ? $19 : $$058; $20 = Math_imul($$1, $$148)|0; $21 = (_Mem_Alloc($20,4,25475)|0); _GenMipmaps($$148,$$1,$21,$$05253); if ($13) { _glTexImage2D(3553,($$04956|0),6408,($$148|0),($$1|0),0,6408,5121,($21|0)); } else { _glTexSubImage2D(3553,($$04956|0),($14|0),($15|0),($$148|0),($$1|0),6408,5121,($21|0)); } $22 = HEAP32[$2>>2]|0; $23 = ($$05253|0)==($22|0); if (!($23)) { _Mem_Free($$05253); } $24 = (($$04956) + 1)|0; $exitcond = ($$04956|0)==($9|0); if ($exitcond) { $$052$lcssa = $21; break; } else { $$04757 = $$148;$$04956 = $24;$$05055 = $14;$$05154 = $15;$$05253 = $21;$$058 = $$1; } } } $25 = HEAP32[$2>>2]|0; $26 = ($$052$lcssa|0)==($25|0); if ($26) { return; } _Mem_Free($$052$lcssa); return; } function _GenMipmaps($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$06567 = 0, $$066 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond71 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = $0 << 1; $5 = ($1|0)>(0); if (!($5)) { return; } $6 = $0 << 2; $7 = ($0|0)>(0); $$06567 = 0; while(1) { $8 = Math_imul($6, $$06567)|0; $9 = (($3) + ($8<<2)|0); $10 = (($9) + ($4<<2)|0); $11 = Math_imul($$06567, $0)|0; $12 = (($2) + ($11<<2)|0); if ($7) { $$066 = 0; while(1) { $13 = $$066 << 1; $14 = (($9) + ($13<<2)|0); $15 = HEAP32[$14>>2]|0; $16 = $13 | 1; $17 = (($9) + ($16<<2)|0); $18 = HEAP32[$17>>2]|0; $19 = (($10) + ($13<<2)|0); $20 = HEAP32[$19>>2]|0; $21 = (($10) + ($16<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = (_AverageCol($15,$18)|0); $24 = (_AverageCol($20,$22)|0); $25 = (_AverageCol($23,$24)|0); $26 = (($12) + ($$066<<2)|0); HEAP32[$26>>2] = $25; $27 = (($$066) + 1)|0; $exitcond = ($27|0)==($0|0); if ($exitcond) { break; } else { $$066 = $27; } } } $28 = (($$06567) + 1)|0; $exitcond71 = ($28|0)==($1|0); if ($exitcond71) { break; } else { $$06567 = $28; } } return; } function _AverageCol($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (24)?($0 >>> 24):($0); $3 = (24)?($1 >>> 24):($1); $4 = (($3) + ($2))|0; $5 = ($4|0)==(0); $6 = $5 ? 1 : $4; $7 = $0 & 255; $8 = Math_imul($7, $2)|0; $9 = (8)?($0 >>> 8):($0); $10 = $9 & 255; $11 = Math_imul($10, $2)|0; $12 = (16)?($0 >>> 16):($0); $13 = $12 & 255; $14 = Math_imul($13, $2)|0; $15 = $1 & 255; $16 = Math_imul($15, $3)|0; $17 = (8)?($1 >>> 8):($1); $18 = $17 & 255; $19 = Math_imul($18, $3)|0; $20 = (16)?($1 >>> 16):($1); $21 = $20 & 255; $22 = Math_imul($21, $3)|0; $23 = (($16) + ($8))|0; $24 = (($23>>>0) / ($6>>>0))&-1; $25 = $24 & 255; $26 = (($19) + ($11))|0; $27 = (($26>>>0) / ($6>>>0))&-1; $28 = $27 << 8; $29 = $28 & 65280; $30 = (($22) + ($14))|0; $31 = (($30>>>0) / ($6>>>0))&-1; $32 = $31 << 16; $33 = $32 & 16711680; $34 = (1)?($6 >>> 1):($6); $35 = $34 << 24; $36 = $25 | $35; $37 = $36 | $29; $38 = $37 | $33; return ($38|0); } function _Gfx_UpdateTexturePart($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $10 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; _glBindTexture(3553,($0|0)); $5 = ((($3)) + 4|0); $6 = HEAP32[$5>>2]|0; $7 = ((($3)) + 8|0); $8 = HEAP32[$7>>2]|0; $9 = HEAP32[$3>>2]|0; _glTexSubImage2D(3553,0,($1|0),($2|0),($6|0),($8|0),6408,5121,($9|0)); $10 = ($4<<24>>24)==(0); if ($10) { return; } _Gfx_DoMipmaps($1,$2,$3,1); return; } function _Gfx_DeleteTexture($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = HEAP32[$0>>2]|0; HEAP32[$1>>2] = $2; $3 = ($2|0)==(0); if ($3) { STACKTOP = sp;return; } _glDeleteTextures(1,($1|0)); HEAP32[$0>>2] = 0; STACKTOP = sp;return; } function _Gfx_EnableMipmaps() { var label = 0, sp = 0; sp = STACKTOP; return; } function _Gfx_DisableMipmaps() { var label = 0, sp = 0; sp = STACKTOP; return; } function _Gfx_SetFaceCulling($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ($0<<24>>24)==(0); if ($1) { _glDisable(2884); return; } else { _glEnable(2884); return; } } function _Gfx_SetAlphaArgBlend($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return; } function _Gfx_ClearCol($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[315195]|0; $2 = ($1|0)==($0|0); if ($2) { return; } _GL_ClearCol($0); HEAP32[315195] = $0; return; } function _Gfx_SetColWriteMask($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var label = 0, sp = 0; sp = STACKTOP; _glColorMask(($0|0),($1|0),($2|0),($3|0)); return; } function _Gfx_SetDepthWrite($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _glDepthMask(($0|0)); return; } function _Gfx_CalcPerspectiveMatrix($0,$1,$2,$3,$4) { $0 = +$0; $1 = +$1; $2 = +$2; $3 = +$3; $4 = $4|0; var label = 0, sp = 0; sp = STACKTOP; _Matrix_PerspectiveFieldOfView($4,$0,$1,$2,$3); return; } function _Gfx_CreateVb($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (_GL_GenAndBind(34962)|0); $4 = (11516 + ($1<<2)|0); $5 = HEAP32[$4>>2]|0; $6 = Math_imul($5, $2)|0; _glBufferData(34962,($6|0),($0|0),35044); return ($3|0); } function _Gfx_BindVb($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _glBindBuffer(34962,($0|0)); return; } function _Gfx_BindIb($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _glBindBuffer(34963,($0|0)); return; } function _Gfx_GetApiInfo($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $1 = sp + 28|0; $2 = sp + 24|0; $3 = sp + 20|0; $4 = sp + 16|0; $5 = sp + 12|0; $6 = sp; $7 = sp + 8|0; HEAP32[$7>>2] = 32; _glGetIntegerv(3414,($3|0)); _String_Format1($0,25483,$7); $8 = ((($0)) + 8|0); $9 = (_glGetString(7936)|0); _String_Format1($8,25511,$9); $10 = ((($0)) + 16|0); $11 = (_glGetString(7937)|0); _String_Format1($10,25522,$11); $12 = ((($0)) + 24|0); $13 = (_glGetString(7938)|0); _String_Format1($12,25535,$13); $14 = ((($0)) + 40|0); _String_Format2($14,25550,1260348,(1260352)); $15 = ((($0)) + 48|0); _String_Format1($15,25577,$3); $16 = (_glGetString(7939)|0); _String_FromReadonly($6,$16); $17 = (_String_CaselessContains($6,11536)|0); $18 = ($17|0)==(0); if ($18) { STACKTOP = sp;return; } _glGetIntegerv(36936,($1|0)); _glGetIntegerv(36937,($2|0)); $19 = HEAP32[$1>>2]|0; $20 = ($19|0)<(1); $21 = HEAP32[$2>>2]|0; $22 = ($21|0)<(1); $or$cond = $20 | $22; if ($or$cond) { STACKTOP = sp;return; } $23 = ((($0)) + 32|0); $24 = (+($21|0)); $25 = $24 * 9.765625E-4; $26 = (+($19|0)); $27 = $26 * 9.765625E-4; HEAPF32[$4>>2] = $27; HEAPF32[$5>>2] = $25; _String_Format2($23,25599,$4,$5); STACKTOP = sp;return; } function _Gfx_SetFpsLimit($0,$1) { $0 = $0|0; $1 = +$1; var label = 0, sp = 0; sp = STACKTOP; HEAPF32[315196] = $1; _GLContext_SetFpsLimit($0,$1); return; } function _Gfx_BeginFrame() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = (_Stopwatch_Measure()|0); $1 = (getTempRet0() | 0); $2 = 535512; $3 = $2; HEAP32[$3>>2] = $0; $4 = (($2) + 4)|0; $5 = $4; HEAP32[$5>>2] = $1; return; } function _Gfx_Clear() { var label = 0, sp = 0; sp = STACKTOP; _glClear(16640); return; } function _Gfx_EndFrame() { var $0 = 0, $1 = 0, $2 = 0.0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = (_GLContext_SwapBuffers()|0); $1 = ($0<<24>>24)==(0); if ($1) { _Gfx_LoseContext(25659); } $2 = +HEAPF32[315196]; $3 = $2 != 0.0; if (!($3)) { return; } _Gfx_LimitFPS(); return; } function _Gfx_LimitFPS() { var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = (_Stopwatch_Measure()|0); $1 = (getTempRet0() | 0); $2 = 535512; $3 = $2; $4 = HEAP32[$3>>2]|0; $5 = (($2) + 4)|0; $6 = $5; $7 = HEAP32[$6>>2]|0; $8 = (_Stopwatch_ElapsedMicroseconds($4,$7,$0,$1)|0); $9 = (getTempRet0() | 0); $10 = (+($8>>>0)) + (4294967296.0*(+($9>>>0))); $11 = $10 / 1000.0; $12 = +HEAPF32[315196]; $13 = $12 - $11; $14 = $13 > 0.0010000000474974513; if (!($14)) { return; } return; } function _Gfx_OnWindowResize() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; _Game_UpdateDimensions(); $0 = HEAP32[133868]|0; $1 = HEAP32[(535476)>>2]|0; _glViewport(0,0,($0|0),($1|0)); return; } function _Gfx_SetFogCol($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[315162]|0; $2 = ($1|0)==($0|0); if ($2) { return; } HEAP32[315162] = $0; _Gfx_DirtyUniform(4); _Gfx_ReloadUniforms(); return; } function _Gfx_SetFogDensity($0) { $0 = +$0; var $1 = 0.0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = +HEAPF32[2883]; $2 = $1 == $0; if ($2) { return; } HEAPF32[2883] = $0; _Gfx_DirtyUniform(16); _Gfx_ReloadUniforms(); return; } function _Gfx_SetFogEnd($0) { $0 = +$0; var $1 = 0.0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = +HEAPF32[2882]; $2 = $1 == $0; if ($2) { return; } HEAPF32[2882] = $0; _Gfx_DirtyUniform(8); _Gfx_ReloadUniforms(); return; } function _Gfx_SetFogMode($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[2881]|0; $2 = ($1|0)==($0|0); if ($2) { return; } HEAP32[2881] = $0; _Gfx_SwitchProgram(); return; } function _Gfx_SetTexturing($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return; } function _Gfx_WarnIfNecessary() { var label = 0, sp = 0; sp = STACKTOP; return 0; } function _Gfx_DrawVb_IndexedTris_Range($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[315129]|0; FUNCTION_TABLE_vi[$2 & 511]($1); $3 = (2)?($0 >> 2):($0); $4 = ($3*6)|0; _glDrawElements(4,($4|0),5123,(0|0)); return; } function _Gfx_DrawIndexedVb_TrisT2fC4b($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1*24)|0; $3 = $2; _glVertexAttribPointer(0,3,5126,0,24,($3|0)); $4 = (($2) + 12)|0; $5 = $4; _glVertexAttribPointer(1,4,5121,1,24,($5|0)); $6 = (($2) + 16)|0; $7 = $6; _glVertexAttribPointer(2,2,5126,0,24,($7|0)); $8 = (2)?($0 >> 2):($0); $9 = ($8*6)|0; _glDrawElements(4,($9|0),5123,(0|0)); return; } function _Gui_Init() { var label = 0, sp = 0; sp = STACKTOP; _Event_Register(1254716,0,293); _Event_Register((1250816),0,8); _Event_Register((1251856),0,294); _Event_Register((1252116),0,295); _Event_Register(1257316,0,65); _Event_Register((1258356),0,66); _Gui_LoadOptions(); _Gui_ShowDefault(); return; } function _Gui_Free() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; _Event_Unregister(1254716,0,293); _Event_Unregister((1250816),0,8); _Event_Unregister((1251856),0,294); _Event_Unregister((1252116),0,295); _Event_Unregister(1257316,0,65); _Event_Unregister((1258356),0,66); $0 = HEAP32[315198]|0; $1 = ($0|0)==(0); if (!($1)) { while(1) { $2 = HEAP32[94820]|0; _Gui_Remove($2); $3 = HEAP32[315198]|0; $4 = ($3|0)==(0); if ($4) { break; } } } _Gfx_DeleteTexture(1260796); _Gfx_DeleteTexture(1260800); _Gfx_DeleteTexture(1260804); return; } function _Gui_Reset() { var label = 0, sp = 0; sp = STACKTOP; return; } function _OnFontChanged($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _Gui_RefreshAll(); return; } function _OnFileChanged_610($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (_String_CaselessEqualsConst($2,25674)|0); $4 = ($3|0)==(0); if (!($4)) { (_Game_UpdateTexture(1260796,$1,$2,0)|0); return; } $5 = (_String_CaselessEqualsConst($2,25682)|0); $6 = ($5|0)==(0); if (!($6)) { (_Game_UpdateTexture(1260800,$1,$2,0)|0); return; } $7 = (_String_CaselessEqualsConst($2,25698)|0); $8 = ($7|0)==(0); if ($8) { return; } (_Game_UpdateTexture(1260804,$1,$2,0)|0); return; } function _OnContextLost_611($0) { $0 = $0|0; var $$07 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[315198]|0; $2 = ($1|0)>(0); if (!($2)) { return; } $$07 = 0; while(1) { $3 = (379280 + ($$07<<2)|0); $4 = HEAP32[$3>>2]|0; $5 = HEAP32[$4>>2]|0; $6 = ((($5)) + 56|0); $7 = HEAP32[$6>>2]|0; FUNCTION_TABLE_vi[$7 & 511]($4); $8 = (($$07) + 1)|0; $9 = HEAP32[315198]|0; $10 = ($8|0)<($9|0); if ($10) { $$07 = $8; } else { break; } } return; } function _OnContextRecreated_612($0) { $0 = $0|0; var $$07 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[315198]|0; $2 = ($1|0)>(0); if (!($2)) { return; } $$07 = 0; while(1) { $3 = (379280 + ($$07<<2)|0); $4 = HEAP32[$3>>2]|0; $5 = HEAP32[$4>>2]|0; $6 = ((($5)) + 60|0); $7 = HEAP32[$6>>2]|0; FUNCTION_TABLE_vi[$7 & 511]($4); $8 = (($$07) + 1)|0; $9 = HEAP32[315198]|0; $10 = ($8|0)<($9|0); if ($10) { $$07 = $8; } else { break; } } return; } function _OnKeyPress($0,$1) { $0 = $0|0; $1 = $1|0; var $$08 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[315198]|0; $3 = ($2|0)>(0); if (!($3)) { return; } $4 = $1&255; $$08 = 0; while(1) { $5 = (379280 + ($$08<<2)|0); $6 = HEAP32[$5>>2]|0; $7 = HEAP32[$6>>2]|0; $8 = ((($7)) + 28|0); $9 = HEAP32[$8>>2]|0; $10 = (FUNCTION_TABLE_iii[$9 & 127]($6,$4)|0); $11 = ($10|0)==(0); $12 = (($$08) + 1)|0; $13 = HEAP32[315198]|0; $14 = ($12|0)<($13|0); $or$cond = $11 & $14; if ($or$cond) { $$08 = $12; } else { break; } } return; } function _OnTextChanged($0,$1) { $0 = $0|0; $1 = $1|0; var $$08 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[315198]|0; $3 = ($2|0)>(0); if (!($3)) { return; } $$08 = 0; while(1) { $4 = (379280 + ($$08<<2)|0); $5 = HEAP32[$4>>2]|0; $6 = HEAP32[$5>>2]|0; $7 = ((($6)) + 32|0); $8 = HEAP32[$7>>2]|0; $9 = (FUNCTION_TABLE_iii[$8 & 127]($5,$1)|0); $10 = ($9|0)==(0); $11 = (($$08) + 1)|0; $12 = HEAP32[315198]|0; $13 = ($11|0)<($12|0); $or$cond = $10 & $13; if ($or$cond) { $$08 = $11; } else { break; } } return; } function _Gui_Remove($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _Gui_RemoveCore($0); _Gui_OnScreensChanged(); return; } function _Gui_RemoveCore($0) { $0 = $0|0; var $$012 = 0, $$lcssa = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Gui_Index($0)|0); $2 = ($1|0)==(-1); if ($2) { return; } $3 = HEAP32[315198]|0; $4 = (($3) + -1)|0; $5 = ($1|0)<($4|0); if ($5) { $6 = HEAP32[315198]|0; $7 = (($6) + -1)|0; $$012 = $1; while(1) { $8 = (($$012) + 1)|0; $9 = (379280 + ($8<<2)|0); $10 = HEAP32[$9>>2]|0; $11 = (379280 + ($$012<<2)|0); HEAP32[$11>>2] = $10; $12 = (1408245 + ($8)|0); $13 = HEAP8[$12>>0]|0; $14 = (1408245 + ($$012)|0); HEAP8[$14>>0] = $13; $15 = ($8|0)<($7|0); if ($15) { $$012 = $8; } else { $$lcssa = $7; break; } } } else { $$lcssa = $4; } HEAP32[315198] = $$lcssa; $16 = HEAP32[$0>>2]|0; $17 = ((($16)) + 56|0); $18 = HEAP32[$17>>2]|0; FUNCTION_TABLE_vi[$18 & 511]($0); $19 = HEAP32[$0>>2]|0; $20 = ((($19)) + 8|0); $21 = HEAP32[$20>>2]|0; FUNCTION_TABLE_vi[$21 & 511]($0); return; } function _Gui_OnScreensChanged() { var label = 0, sp = 0; sp = STACKTOP; _Camera_CheckFocus(); _InputHandler_OnScreensChanged(); return; } function _Gui_Index($0) { $0 = $0|0; var $$05 = 0, $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[315198]|0; $2 = ($1|0)>(0); if (!($2)) { $$05 = -1; return ($$05|0); } $3 = HEAP32[315198]|0; $$06 = 0; while(1) { $4 = (379280 + ($$06<<2)|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==($0|0); if ($6) { $$05 = $$06; label = 5; break; } $7 = (($$06) + 1)|0; $8 = ($7|0)<($3|0); if ($8) { $$06 = $7; } else { $$05 = -1; label = 5; break; } } if ((label|0) == 5) { return ($$05|0); } return (0)|0; } function _Gui_RefreshAll() { var label = 0, sp = 0; sp = STACKTOP; _OnContextLost_611(0); _OnContextRecreated_612(0); return; } function _Gui_LoadOptions() { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = (_Options_GetInt(33486,0,30,12)|0); HEAP32[315202] = $0; $1 = HEAP8[1408229]|0; $2 = ($1<<24>>24)==(0); $3 = $2&1; $4 = (_Options_GetBool(33514,$3)|0); HEAP8[1408255] = $4; $5 = HEAP8[1408229]|0; $6 = ($5<<24>>24)==(0); $7 = $6&1; $8 = (_Options_GetBool(33532,$7)|0); HEAP8[1408256] = $8; $9 = (_Options_GetBool(30517,1)|0); $10 = HEAP8[1408229]|0; $11 = $10 | $9; $12 = ($11<<24>>24)!=(0); $13 = $12&1; HEAP8[1408257] = $13; $14 = (_Options_GetBool(30492,0)|0); $15 = HEAP8[1408229]|0; $16 = $15 | $14; $17 = ($16<<24>>24)!=(0); $18 = $17&1; HEAP8[1408258] = $18; $19 = (_Options_GetBool(30467,0)|0); $20 = HEAP8[1408229]|0; $21 = $20 | $19; $22 = ($21<<24>>24)!=(0); $23 = $22&1; HEAP8[1408259] = $23; $24 = (_Options_GetBool(31871,1)|0); HEAP8[1408260] = $24; return; } function _Gui_ShowDefault() { var label = 0, sp = 0; sp = STACKTOP; _HUDScreen_Show(); _ChatScreen_Show(); _TouchScreen_Show(); return; } function _Widget_SetLocation($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $5 = ((($0)) + 22|0); HEAP8[$5>>0] = $1; $6 = ((($0)) + 23|0); HEAP8[$6>>0] = $2; $7 = (_Display_ScaleX($3)|0); $8 = ((($0)) + 24|0); HEAP32[$8>>2] = $7; $9 = (_Display_ScaleY($4)|0); $10 = ((($0)) + 28|0); HEAP32[$10>>2] = $9; $11 = HEAP32[$0>>2]|0; $12 = ((($11)) + 8|0); $13 = HEAP32[$12>>2]|0; FUNCTION_TABLE_vi[$13 & 511]($0); return; } function _Widget_CalcPosition($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 22|0); $2 = HEAP8[$1>>0]|0; $3 = ((($0)) + 24|0); $4 = HEAP32[$3>>2]|0; $5 = ((($0)) + 12|0); $6 = HEAP32[$5>>2]|0; $7 = HEAP32[351858]|0; $8 = (_Gui_CalcPos($2,$4,$6,$7)|0); $9 = ((($0)) + 4|0); HEAP32[$9>>2] = $8; $10 = ((($0)) + 23|0); $11 = HEAP8[$10>>0]|0; $12 = ((($0)) + 28|0); $13 = HEAP32[$12>>2]|0; $14 = ((($0)) + 16|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[351859]|0; $17 = (_Gui_CalcPos($11,$13,$15,$16)|0); $18 = ((($0)) + 8|0); HEAP32[$18>>2] = $17; return; } function _Gui_CalcPos($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; switch ($0<<24>>24) { case 0: { $$0 = $1; break; } case 2: { $4 = (($2) + ($1))|0; $5 = (($3) - ($4))|0; $$0 = $5; break; } case 3: { $6 = (($3|0) / 2)&-1; $7 = (($6) + ($1))|0; $$0 = $7; break; } case 4: { $8 = (($3|0) / 2)&-1; $9 = (($2) + ($1))|0; $10 = (($8) - ($9))|0; $$0 = $10; break; } default: { $11 = (($3) - ($2))|0; $12 = (($11|0) / 2)&-1; $13 = (($12) + ($1))|0; $$0 = $13; } } return ($$0|0); } function _Widget_Reset($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 4|0); ;HEAP32[$1>>2]=0|0;HEAP32[$1+4>>2]=0|0;HEAP32[$1+8>>2]=0|0;HEAP32[$1+12>>2]=0|0;HEAP32[$1+16>>2]=0|0;HEAP32[$1+20>>2]=0|0;HEAP32[$1+24>>2]=0|0;HEAP32[$1+28>>2]=0|0; return; } function _Widget_Contains($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ((($0)) + 4|0); $4 = HEAP32[$3>>2]|0; $5 = ((($0)) + 8|0); $6 = HEAP32[$5>>2]|0; $7 = ((($0)) + 12|0); $8 = HEAP32[$7>>2]|0; $9 = ((($0)) + 16|0); $10 = HEAP32[$9>>2]|0; $11 = (_Gui_Contains($4,$6,$8,$10,$1,$2)|0); return ($11|0); } function _Gui_Contains($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; var $10 = 0, $11 = 0, $12 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $narrow = 0, $or$cond$not = 0, $or$cond11 = 0, label = 0, sp = 0; sp = STACKTOP; $6 = ($4|0)>=($0|0); $7 = ($5|0)>=($1|0); $or$cond$not = $6 & $7; $8 = (($2) + ($0))|0; $9 = ($8|0)>($4|0); $or$cond11 = $9 & $or$cond$not; $10 = (($3) + ($1))|0; $11 = ($10|0)>($5|0); $narrow = $11 & $or$cond11; $12 = $narrow&1; return ($12|0); } function _Gui_ContainsPointers($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0 = 0, $$02025 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond$not = 0, $or$cond22 = 0, $or$cond24 = 0; var label = 0, sp = 0; sp = STACKTOP; $4 = HEAP32[315331]|0; $5 = ($4|0)>(0); if (!($5)) { $$0 = 0; return ($$0|0); } $6 = (($2) + ($0))|0; $7 = (($3) + ($1))|0; $8 = HEAP32[315331]|0; $$02025 = 0; while(1) { $11 = (379328 + ($$02025<<3)|0); $12 = HEAP32[$11>>2]|0; $13 = (((379328 + ($$02025<<3)|0)) + 4|0); $14 = HEAP32[$13>>2]|0; $15 = ($12|0)>=($0|0); $16 = ($14|0)>=($1|0); $or$cond$not = $15 & $16; $17 = ($12|0)<($6|0); $or$cond22 = $17 & $or$cond$not; $18 = ($14|0)<($7|0); $or$cond24 = $18 & $or$cond22; $9 = (($$02025) + 1)|0; if ($or$cond24) { $$0 = 1; label = 5; break; } $10 = ($9|0)<($8|0); if ($10) { $$02025 = $9; } else { $$0 = 0; label = 5; break; } } if ((label|0) == 5) { return ($$0|0); } return (0)|0; } function _Gui_RefreshChat() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[315197]|0; _Gui_Refresh($0); return; } function _Gui_Refresh($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; $2 = ((($1)) + 56|0); $3 = HEAP32[$2>>2]|0; FUNCTION_TABLE_vi[$3 & 511]($0); $4 = HEAP32[$0>>2]|0; $5 = ((($4)) + 60|0); $6 = HEAP32[$5>>2]|0; FUNCTION_TABLE_vi[$6 & 511]($0); return; } function _Gui_AddCore($0,$1) { $0 = $0|0; $1 = $1|0; var $$02933 = 0, $$02938 = 0, $$035 = 0, $$134 = 0, $$pr = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[315198]|0; $3 = ($2|0)>(9); if ($3) { _Logger_Abort(25708); $$pr = HEAP32[315198]|0; $4 = $$pr; } else { $4 = $2; } $5 = ($4|0)>(0); L4: do { if ($5) { $6 = HEAP32[315198]|0; $$02938 = 0;$11 = $4; while(1) { $7 = (1408245 + ($$02938)|0); $8 = HEAP8[$7>>0]|0; $9 = $8&255; $10 = ($9|0)<($1|0); if ($10) { break; } $21 = (($$02938) + 1)|0; $22 = ($21|0)<($6|0); if ($22) { $$02938 = $21;$11 = $6; } else { $$02933 = $21;$27 = $6; break L4; } } $12 = ($11|0)>($$02938|0); if ($12) { $$035 = $11; while(1) { $13 = (($$035) + -1)|0; $14 = (379280 + ($13<<2)|0); $15 = HEAP32[$14>>2]|0; $16 = (379280 + ($$035<<2)|0); HEAP32[$16>>2] = $15; $17 = (1408245 + ($13)|0); $18 = HEAP8[$17>>0]|0; $19 = (1408245 + ($$035)|0); HEAP8[$19>>0] = $18; $20 = ($13|0)>($$02938|0); if ($20) { $$035 = $13; } else { $$02933 = $$02938;$27 = $11; break; } } } else { $$02933 = $$02938;$27 = $11; } } else { $$02933 = 0;$27 = $4; } } while(0); $23 = (379280 + ($$02933<<2)|0); HEAP32[$23>>2] = $0; $24 = $1&255; $25 = (1408245 + ($$02933)|0); HEAP8[$25>>0] = $24; $26 = (($27) + 1)|0; HEAP32[315198] = $26; $28 = ((($0)) + 7|0); HEAP8[$28>>0] = 1; $29 = HEAP32[$0>>2]|0; $30 = HEAP32[$29>>2]|0; FUNCTION_TABLE_vi[$30 & 511]($0); $31 = HEAP32[$0>>2]|0; $32 = ((($31)) + 60|0); $33 = HEAP32[$32>>2]|0; FUNCTION_TABLE_vi[$33 & 511]($0); $34 = HEAP32[315331]|0; $35 = ($34|0)>(0); if (!($35)) { return; } $$134 = 0; while(1) { $36 = HEAP32[$0>>2]|0; $37 = ((($36)) + 44|0); $38 = HEAP32[$37>>2]|0; $39 = (379328 + ($$134<<3)|0); $40 = HEAP32[$39>>2]|0; $41 = (((379328 + ($$134<<3)|0)) + 4|0); $42 = HEAP32[$41>>2]|0; (FUNCTION_TABLE_iiiii[$38 & 63]($0,$$134,$40,$42)|0); $43 = (($$134) + 1)|0; $44 = HEAP32[315331]|0; $45 = ($43|0)<($44|0); if ($45) { $$134 = $43; } else { break; } } return; } function _Gui_Replace($0,$1) { $0 = $0|0; $1 = $1|0; var $$09 = 0, $$09$in = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; _Gui_RemoveCore($0); $2 = HEAP32[315198]|0; $3 = ($2|0)>(0); if (!($3)) { _Gui_AddCore($0,$1); _Gui_OnScreensChanged(); return; } $$09$in = $2; while(1) { $$09 = (($$09$in) + -1)|0; $4 = (1408245 + ($$09)|0); $5 = HEAP8[$4>>0]|0; $6 = $5&255; $7 = ($6|0)==($1|0); if ($7) { $8 = (379280 + ($$09<<2)|0); $9 = HEAP32[$8>>2]|0; _Gui_RemoveCore($9); } $10 = ($$09$in|0)>(1); if ($10) { $$09$in = $$09; } else { break; } } _Gui_AddCore($0,$1); _Gui_OnScreensChanged(); return; } function _Gui_GetInputGrab() { var $$04 = 0, $$05 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[315198]|0; $1 = ($0|0)>(0); if (!($1)) { $$04 = 0; return ($$04|0); } $2 = HEAP32[315198]|0; $$05 = 0; while(1) { $5 = (379280 + ($$05<<2)|0); $6 = HEAP32[$5>>2]|0; $7 = ((($6)) + 4|0); $8 = HEAP8[$7>>0]|0; $9 = ($8<<24>>24)==(0); $3 = (($$05) + 1)|0; if (!($9)) { $$04 = $6; label = 5; break; } $4 = ($3|0)<($2|0); if ($4) { $$05 = $3; } else { $$04 = 0; label = 5; break; } } if ((label|0) == 5) { return ($$04|0); } return (0)|0; } function _Gui_GetBlocksWorld() { var $$04 = 0, $$05 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[315198]|0; $1 = ($0|0)>(0); if (!($1)) { $$04 = 0; return ($$04|0); } $2 = HEAP32[315198]|0; $$05 = 0; while(1) { $5 = (379280 + ($$05<<2)|0); $6 = HEAP32[$5>>2]|0; $7 = ((($6)) + 5|0); $8 = HEAP8[$7>>0]|0; $9 = ($8<<24>>24)==(0); $3 = (($$05) + 1)|0; if (!($9)) { $$04 = $6; label = 5; break; } $4 = ($3|0)<($2|0); if ($4) { $$05 = $3; } else { $$04 = 0; label = 5; break; } } if ((label|0) == 5) { return ($$04|0); } return (0)|0; } function _Gui_GetClosable() { var $$04 = 0, $$05 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[315198]|0; $1 = ($0|0)>(0); if (!($1)) { $$04 = 0; return ($$04|0); } $2 = HEAP32[315198]|0; $$05 = 0; while(1) { $5 = (379280 + ($$05<<2)|0); $6 = HEAP32[$5>>2]|0; $7 = ((($6)) + 6|0); $8 = HEAP8[$7>>0]|0; $9 = ($8<<24>>24)==(0); $3 = (($$05) + 1)|0; if (!($9)) { $$04 = $6; label = 5; break; } $4 = ($3|0)<($2|0); if ($4) { $$05 = $3; } else { $$04 = 0; label = 5; break; } } if ((label|0) == 5) { return ($$04|0); } return (0)|0; } function _Gui_RenderGui($0) { $0 = +$0; var $$016 = 0, $$016$in = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[133868]|0; $2 = HEAP32[(535476)>>2]|0; _Gfx_Mode2D($1,$2); $3 = HEAP32[315198]|0; $4 = ($3|0)>(0); if (!($4)) { _Gfx_Mode3D(); return; } $$016$in = $3; while(1) { $$016 = (($$016$in) + -1)|0; $5 = (379280 + ($$016<<2)|0); $6 = HEAP32[$5>>2]|0; $7 = HEAP32[$6>>2]|0; $8 = ((($7)) + 4|0); $9 = HEAP32[$8>>2]|0; FUNCTION_TABLE_vid[$9 & 63]($6,$0); $10 = ((($6)) + 7|0); $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if (!($12)) { $13 = HEAP32[$6>>2]|0; $14 = ((($13)) + 16|0); $15 = HEAP32[$14>>2]|0; FUNCTION_TABLE_vi[$15 & 511]($6); HEAP8[$10>>0] = 0; } $16 = HEAP32[$6>>2]|0; $17 = ((($16)) + 12|0); $18 = HEAP32[$17>>2]|0; FUNCTION_TABLE_vid[$18 & 63]($6,$0); $19 = ($$016$in|0)>(1); if ($19) { $$016$in = $$016; } else { break; } } _Gfx_Mode3D(); return; } function _Gui_Layout() { var $$08 = 0, $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[315198]|0; $1 = ($0|0)>(0); if (!($1)) { return; } $$08 = 0; while(1) { $2 = (379280 + ($$08<<2)|0); $3 = HEAP32[$2>>2]|0; $4 = ((($3)) + 7|0); HEAP8[$4>>0] = 1; $5 = HEAP32[$3>>2]|0; $6 = ((($5)) + 52|0); $7 = HEAP32[$6>>2]|0; FUNCTION_TABLE_vi[$7 & 511]($3); $8 = (($$08) + 1)|0; $9 = HEAP32[315198]|0; $10 = ($8|0)<($9|0); if ($10) { $$08 = $8; } else { break; } } return; } function _TextAtlas_Make($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0$lcssa = 0, $$04245 = 0, $$046 = 0, $$144 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $4 = sp + 16|0; $5 = sp + 32|0; $6 = sp + 8|0; $7 = sp; _DrawTextArgs_Make($4,$3,$2,1); $8 = (_Drawer2D_TextWidth($4)|0); $9 = ((($0)) + 28|0); HEAP32[$9>>2] = $8; $10 = ((($1)) + 4|0); $11 = HEAP16[$10>>1]|0; $12 = ($11<<16>>16)==(0); if ($12) { $$0$lcssa = $8; } else { $$04245 = 0;$$046 = $8; while(1) { _String_UNSAFE_Substring($6,$1,$$04245,1); $13 = $6; $14 = $13; $15 = HEAP32[$14>>2]|0; $16 = (($13) + 4)|0; $17 = $16; $18 = HEAP32[$17>>2]|0; $19 = $4; $20 = $19; HEAP32[$20>>2] = $15; $21 = (($19) + 4)|0; $22 = $21; HEAP32[$22>>2] = $18; $23 = (_Drawer2D_TextWidth($4)|0); $24 = $23&65535; $25 = (((($0)) + 40|0) + ($$04245<<1)|0); HEAP16[$25>>1] = $24; $26 = $$046&65535; $27 = (((($0)) + 72|0) + ($$04245<<1)|0); HEAP16[$27>>1] = $26; $28 = (($$046) + 1)|0; $29 = (($28) + ($23))|0; $30 = (($$04245) + 1)|0; $31 = HEAP16[$10>>1]|0; $32 = $31&65535; $33 = ($30>>>0)<($32>>>0); if ($33) { $$04245 = $30;$$046 = $29; } else { $$0$lcssa = $29; break; } } } $34 = (_Drawer2D_TextHeight($4)|0); _Bitmap_AllocateClearedPow2($5,$$0$lcssa,$34); $35 = $3; $36 = $35; $37 = HEAP32[$36>>2]|0; $38 = (($35) + 4)|0; $39 = $38; $40 = HEAP32[$39>>2]|0; $41 = $4; $42 = $41; HEAP32[$42>>2] = $37; $43 = (($41) + 4)|0; $44 = $43; HEAP32[$44>>2] = $40; _Drawer2D_DrawText($5,$4,0,0); $45 = HEAP16[$10>>1]|0; $46 = ($45<<16>>16)==(0); if ($46) { _Drawer2D_MakeTexture($0,$5,$$0$lcssa,$34); $64 = HEAP32[$5>>2]|0; _Mem_Free($64); $65 = ((($5)) + 4|0); $66 = HEAP32[$65>>2]|0; $67 = (+($66|0)); $68 = 1.0 / $67; $69 = ((($0)) + 36|0); HEAPF32[$69>>2] = $68; $70 = HEAP32[$9>>2]|0; $71 = (+($70|0)); $72 = $68 * $71; $73 = ((($0)) + 20|0); HEAPF32[$73>>2] = $72; $74 = $70&65535; $75 = ((($0)) + 8|0); HEAP16[$75>>1] = $74; STACKTOP = sp;return; } $$144 = 0; while(1) { _String_UNSAFE_Substring($7,$1,$$144,1); $47 = $7; $48 = $47; $49 = HEAP32[$48>>2]|0; $50 = (($47) + 4)|0; $51 = $50; $52 = HEAP32[$51>>2]|0; $53 = $4; $54 = $53; HEAP32[$54>>2] = $49; $55 = (($53) + 4)|0; $56 = $55; HEAP32[$56>>2] = $52; $57 = (((($0)) + 72|0) + ($$144<<1)|0); $58 = HEAP16[$57>>1]|0; $59 = $58 << 16 >> 16; _Drawer2D_DrawText($5,$4,$59,0); $60 = (($$144) + 1)|0; $61 = HEAP16[$10>>1]|0; $62 = $61&65535; $63 = ($60>>>0)<($62>>>0); if ($63) { $$144 = $60; } else { break; } } _Drawer2D_MakeTexture($0,$5,$$0$lcssa,$34); $64 = HEAP32[$5>>2]|0; _Mem_Free($64); $65 = ((($5)) + 4|0); $66 = HEAP32[$65>>2]|0; $67 = (+($66|0)); $68 = 1.0 / $67; $69 = ((($0)) + 36|0); HEAPF32[$69>>2] = $68; $70 = HEAP32[$9>>2]|0; $71 = (+($70|0)); $72 = $68 * $71; $73 = ((($0)) + 20|0); HEAPF32[$73>>2] = $72; $74 = $70&65535; $75 = ((($0)) + 8|0); HEAP16[$75>>1] = $74; STACKTOP = sp;return; } function _TextAtlas_Free($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _Gfx_DeleteTexture($0); return; } function _TextAtlas_Add($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; var $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $3 = sp; ;HEAP32[$3>>2]=HEAP32[$0>>2]|0;HEAP32[$3+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$3+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$3+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$3+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$3+24>>2]=HEAP32[$0+24>>2]|0; $4 = (((($0)) + 40|0) + ($1<<1)|0); $5 = HEAP16[$4>>1]|0; $6 = $5 << 16 >> 16; $7 = ((($0)) + 32|0); $8 = HEAP32[$7>>2]|0; $9 = $8&65535; $10 = ((($3)) + 4|0); HEAP16[$10>>1] = $9; $11 = ((($3)) + 8|0); HEAP16[$11>>1] = $5; $12 = (((($0)) + 72|0) + ($1<<1)|0); $13 = HEAP16[$12>>1]|0; $14 = (+($13<<16>>16)); $15 = ((($0)) + 36|0); $16 = +HEAPF32[$15>>2]; $17 = $16 * $14; $18 = ((($3)) + 12|0); HEAPF32[$18>>2] = $17; $19 = (+($5<<16>>16)); $20 = $16 * $19; $21 = $17 + $20; $22 = ((($3)) + 20|0); HEAPF32[$22>>2] = $21; $23 = (($8) + ($6))|0; HEAP32[$7>>2] = $23; _Gfx_Make2DQuad($3,-1,$2); STACKTOP = sp;return; } function _TextAtlas_AddInt($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$0 = 0, $$01315 = 0, $$01315$in = 0, $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $3 = sp; $4 = ($1|0)<(0); if ($4) { $5 = (0 - ($1))|0; _TextAtlas_Add($0,10,$2); $$0 = $5; } else { $$0 = $1; } $6 = (_String_MakeUInt32($$0,$3)|0); $7 = ($6|0)>(0); if (!($7)) { STACKTOP = sp;return; } $$01315$in = $6; while(1) { $$01315 = (($$01315$in) + -1)|0; $8 = (($3) + ($$01315)|0); $9 = HEAP8[$8>>0]|0; $10 = $9 << 24 >> 24; $11 = (($10) + -48)|0; _TextAtlas_Add($0,$11,$2); $12 = ($$01315$in|0)>(1); if ($12) { $$01315$in = $$01315; } else { break; } } STACKTOP = sp;return; } function _HeldBlockRenderer_Init() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; _Entity_Init(1260880); HEAP32[315220] = 11592; HEAP8[(1260990)>>0] = 1; $0 = (_Options_GetBool(25724,1)|0); HEAP8[1408261] = $0; $1 = HEAP32[(1268184)>>2]|0; $2 = HEAP32[(1268180)>>2]|0; $3 = (($2) + ($1))|0; $4 = (1266480 + ($3<<1)|0); $5 = HEAP16[$4>>1]|0; HEAP16[704100] = $5; _Event_Register((1251596),0,296); _Event_Register((1252896),0,297); _Event_Register(1252376,0,18); return; } function _HeldBlockRenderer_Free() { var label = 0, sp = 0; sp = STACKTOP; _Event_Unregister((1251596),0,296); _Event_Unregister((1252896),0,297); _Event_Unregister(1252376,0,18); return; } function _HeldBlockRenderer_ProjectionChanged($0) { $0 = $0|0; var $1 = 0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[133868]|0; $2 = (+($1|0)); $3 = HEAP32[(535476)>>2]|0; $4 = (+($3|0)); $5 = $2 / $4; $6 = +HEAPF32[(1260356)>>2]; $7 = HEAP32[315051]|0; $8 = (+($7|0)); _Gfx_CalcPerspectiveMatrix(1.2217304706573486,$5,$6,$8,1260816); return; } function _HeldBlockRenderer_DoSwitchBlockAnim($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408262]|0; $2 = ($1<<24>>24)==(0); if ($2) { $8 = HEAP16[704101]|0; $9 = HEAP32[(1268184)>>2]|0; $10 = HEAP32[(1268180)>>2]|0; $11 = (($10) + ($9))|0; $12 = (1266480 + ($11<<1)|0); $13 = HEAP16[$12>>1]|0; $14 = ($8<<16>>16)==($13<<16>>16); if ($14) { return; } _HeldBlockRenderer_ResetAnim(0,0.25); HEAP8[1408264] = 1; HEAP8[1408262] = 1; return; } else { $3 = +HEAPF64[66940]; $4 = +HEAPF64[1318]; $5 = $4 * 0.5; $6 = $3 > $5; if (!($6)) { return; } $7 = $4 - $3; HEAPF64[66940] = $7; return; } } function _HeldBlockRenderer_BlockChanged($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $4 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ($3<<16>>16)==(0); if ($4) { return; } _HeldBlockRenderer_ClickAnim(0); return; } function _HeldBlockRenderer_ClickAnim($0) { $0 = $0|0; var $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = ($0<<24>>24)==(0); $2 = $1 ? 0.25 : 0.34999999999999998; _HeldBlockRenderer_ResetAnim(1,$2); HEAP8[1408262] = 0; HEAP8[1408263] = $0; HEAP8[1408264] = 1; if (!($1)) { return; } $3 = +HEAPF64[1318]; $4 = $3 * 0.5; HEAPF64[66940] = $4; return; } function _HeldBlockRenderer_ResetAnim($0,$1) { $0 = $0|0; $1 = +$1; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; HEAPF64[66940] = 0.0; HEAPF32[315203] = 0.0; HEAP8[1408264] = 0; HEAP8[1408262] = 0; HEAPF64[1318] = $1; $2 = ($0<<24>>24)==(0); if ($2) { return; } $3 = HEAP32[(1268184)>>2]|0; $4 = HEAP32[(1268180)>>2]|0; $5 = (($4) + ($3))|0; $6 = (1266480 + ($5<<1)|0); $7 = HEAP16[$6>>1]|0; HEAP16[704100] = $7; return; } function _HeldBlockRenderer_GetCol($0) { $0 = $0|0; var $$0 = 0.0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[310538]|0; $2 = ((($1)) + 12|0); $3 = HEAP32[$2>>2]|0; $4 = (FUNCTION_TABLE_ii[$3 & 31](1242152)|0); $5 = +HEAPF32[(1242168)>>2]; $6 = $5 + -90.0; $7 = $6 < 0.0; $8 = $6 + 360.0; $$0 = $7 ? $8 : $6; $9 = $$0 + -180.0; $10 = (+_Math_AbsF($9)); $11 = $10 / 180.0; $12 = (+_Math_Lerp(0.89999997615814208,0.69999998807907104,$11)); $13 = (_PackedCol_Scale($4,$12)|0); return ($13|0); } function _HeldBlockRenderer_Render($0) { $0 = +$0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $1 = sp; $2 = HEAP8[1408261]|0; $3 = ($2<<24>>24)==(0); if ($3) { STACKTOP = sp;return; } $4 = +HEAPF32[315203]; HEAPF32[315203] = 0.0; $5 = HEAP32[(1268184)>>2]|0; $6 = HEAP32[(1268180)>>2]|0; $7 = (($6) + ($5))|0; $8 = (1266480 + ($7<<1)|0); $9 = HEAP16[$8>>1]|0; HEAP16[704101] = $9; dest=$1; src=(1260364); stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _Gfx_LoadMatrix(0,1260816); _HeldBlockRenderer_SetMatrix(); _HeldBlockRenderer_ResetHeldState(); _HeldBlockRenderer_DoAnimation($0,$4); _HeldBlockRenderer_SetBaseOffset(); $10 = HEAP32[(1230632)>>2]|0; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { _HeldBlockRenderer_RenderModel(); } dest=(1260364); src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _Gfx_LoadMatrix(0,(1260428)); STACKTOP = sp;return; } function _HeldBlockRenderer_SetMatrix() { var $0 = 0, $1 = 0, $2 = 0.0, $3 = 0.0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 128|0; $0 = sp + 64|0; $1 = sp; $2 = (+_Entity_GetEyeHeight(1242152)); $3 = - $2; _Matrix_Translate($1,-0.0,$3,-0.0); _Matrix_Mul($0,$1,(1230548)); dest=(1260364); src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _HeldBlockRenderer_ResetHeldState() { var $0 = 0.0, $1 = 0.0, $10 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = (+_Entity_GetEyeHeight(1242152)); $1 = +HEAPF32[(1230616)>>2]; $2 = 0.0 - $1; HEAPF32[(1260884)>>2] = $2; $3 = +HEAPF32[(1230612)>>2]; $4 = $0 - $3; HEAPF32[(1260888)>>2] = $4; HEAPF32[(1260892)>>2] = $2; HEAPF32[(1260900)>>2] = -45.0; HEAPF32[(1260908)>>2] = -45.0; HEAPF32[(1260896)>>2] = 0.0; HEAPF32[(1260904)>>2] = 0.0; $5 = HEAP16[704101]|0; HEAP16[(1260932)>>1] = $5; $6 = HEAP8[(1242260)>>0]|0; HEAP8[(1260988)>>0] = $6; $7 = HEAP32[(1242264)>>2]|0; HEAP32[(1260992)>>2] = $7; $8 = HEAP32[(1242268)>>2]|0; HEAP32[(1260996)>>2] = $8; $9 = HEAP32[(1242272)>>2]|0; HEAP32[(1261000)>>2] = $9; $10 = HEAP32[(1242276)>>2]|0; HEAP32[(1261004)>>2] = $10; return; } function _HeldBlockRenderer_DoAnimation($0,$1) { $0 = +$0; $1 = +$1; var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $3 = 0, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP8[1408264]|0; $3 = ($2<<24>>24)==(0); if ($3) { return; } $4 = HEAP8[1408262]|0; $5 = ($4<<24>>24)==(0); $6 = HEAP8[1408263]|0; $7 = ($6<<24>>24)!=(0); $or$cond = $5 & $7; if ($or$cond) { _HeldBlockRenderer_DigAnimation(); } else { $8 = +HEAPF64[66940]; $9 = +HEAPF64[1318]; $10 = $8 / $9; $11 = $10 * 3.1415927410125732; $12 = (+_Math_Sin($11)); $13 = $12; $14 = $13 * -0.40000000596046448; HEAPF32[315203] = $14; $15 = +HEAPF32[(1260888)>>2]; $16 = $15 + $14; HEAPF32[(1260888)>>2] = $16; $17 = HEAP8[1408262]|0; $18 = ($17<<24>>24)==(0); if (!($18)) { $19 = $14 > $1; if ($19) { $20 = HEAP16[704101]|0; HEAP16[704100] = $20; } $21 = HEAP16[704100]|0; HEAP16[704101] = $21; HEAP16[(1260932)>>1] = $21; } } $22 = +HEAPF64[66940]; $23 = $22 + $0; HEAPF64[66940] = $23; $24 = +HEAPF64[1318]; $25 = $23 > $24; if (!($25)) { return; } _HeldBlockRenderer_ResetAnim(1,0.25); return; } function _HeldBlockRenderer_SetBaseOffset() { var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; $1 = HEAP16[704101]|0; $2 = $1&65535; $3 = (583428 + ($2)|0); $4 = HEAP8[$3>>0]|0; $5 = ($4<<24>>24)==(5); if ($5) { ;HEAP32[$0>>2]=HEAP32[11624>>2]|0;HEAP32[$0+4>>2]=HEAP32[11624+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[11624+8>>2]|0; _Vec3_Add_638($0); STACKTOP = sp;return; } ;HEAP32[$0>>2]=HEAP32[11636>>2]|0;HEAP32[$0+4>>2]=HEAP32[11636+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[11636+8>>2]|0; _Vec3_Add_638($0); $6 = HEAP8[$3>>0]|0; $7 = ($6<<24>>24)==(4); if ($7) { STACKTOP = sp;return; } $8 = (((597252 + (($2*12)|0)|0)) + 4|0); $9 = +HEAPF32[$8>>2]; $10 = (((588036 + (($2*12)|0)|0)) + 4|0); $11 = +HEAPF32[$10>>2]; $12 = $9 - $11; $13 = 1.0 - $12; $14 = $13 * 0.20000000298023224; $15 = +HEAPF32[(1260888)>>2]; $16 = $15 + $14; HEAPF32[(1260888)>>2] = $16; STACKTOP = sp;return; } function _HeldBlockRenderer_RenderModel() { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; _Gfx_SetFaceCulling(1); _Gfx_SetDepthTest(0); $0 = HEAP16[704101]|0; $1 = $0&65535; $2 = (583428 + ($1)|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)==(4); if ($4) { $5 = HEAP32[(1242200)>>2]|0; HEAPF32[(1260960)>>2] = 1.0; HEAPF32[(1260964)>>2] = 1.0; HEAPF32[(1260968)>>2] = 1.0; _Gfx_SetAlphaTest(1); _Model_RenderArm($5,1260880); _Gfx_SetAlphaTest(0); _Gfx_SetDepthTest(1); _Gfx_SetFaceCulling(0); return; } else { $6 = (_Model_Get(11616)|0); HEAPF32[(1260960)>>2] = 0.40000000596046448; HEAPF32[(1260964)>>2] = 0.40000000596046448; HEAPF32[(1260968)>>2] = 0.40000000596046448; $7 = HEAP16[704101]|0; $8 = $7&65535; $9 = (583428 + ($8)|0); $10 = HEAP8[$9>>0]|0; _Gfx_SetupAlphaState($10); _Model_Render($6,1260880); $11 = HEAP16[704101]|0; $12 = $11&65535; $13 = (583428 + ($12)|0); $14 = HEAP8[$13>>0]|0; _Gfx_RestoreAlphaState($14); _Gfx_SetDepthTest(1); _Gfx_SetFaceCulling(0); return; } } function _Vec3_Add_638($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = +HEAPF32[(1260884)>>2]; $2 = +HEAPF32[$0>>2]; $3 = $1 + $2; HEAPF32[(1260884)>>2] = $3; $4 = +HEAPF32[(1260888)>>2]; $5 = ((($0)) + 4|0); $6 = +HEAPF32[$5>>2]; $7 = $4 + $6; HEAPF32[(1260888)>>2] = $7; $8 = +HEAPF32[(1260892)>>2]; $9 = ((($0)) + 8|0); $10 = +HEAPF32[$9>>2]; $11 = $8 + $10; HEAPF32[(1260892)>>2] = $11; return; } function _HeldBlockRenderer_DigAnimation() { var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0; var $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $5 = 0.0; var $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $0 = +HEAPF64[66940]; $1 = +HEAPF64[1318]; $2 = $0 / $1; $3 = $2; $4 = $3 * 3.1415927410125732; $5 = $4; $6 = (+_Math_Sin($5)); $7 = (+_Math_SqrtF($3)); $8 = $7 * 3.1415927410125732; $9 = $8; $10 = (+_Math_Sin($9)); $11 = $10; $12 = $11 * 0.40000000596046448; $13 = +HEAPF32[(1260884)>>2]; $14 = $13 - $12; HEAPF32[(1260884)>>2] = $14; $15 = $8 * 2.0; $16 = $15; $17 = (+_Math_Sin($16)); $18 = $17; $19 = $18 * 0.20000000298023224; $20 = +HEAPF32[(1260888)>>2]; $21 = $20 + $19; HEAPF32[(1260888)>>2] = $21; $22 = $6; $23 = $22 * 0.20000000298023224; $24 = +HEAPF32[(1260892)>>2]; $25 = $24 - $23; HEAPF32[(1260892)>>2] = $25; $26 = $3 * $3; $27 = $26 * 3.1415927410125732; $28 = $27; $29 = (+_Math_Sin($28)); $30 = (+_Math_Sin($9)); $31 = $30; $32 = $31 * 80.0; $33 = +HEAPF32[(1260908)>>2]; $34 = $33 - $32; HEAPF32[(1260908)>>2] = $34; $35 = (+_Math_Sin($9)); $36 = $35; $37 = $36 * 80.0; $38 = +HEAPF32[(1260900)>>2]; $39 = $38 - $37; HEAPF32[(1260900)>>2] = $39; $40 = $29; $41 = $40 * 20.0; $42 = +HEAPF32[(1260904)>>2]; $43 = $41 + $42; HEAPF32[(1260904)>>2] = $43; return; } function _Http_Init() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; (_ScheduledTask_Add(30.0,298)|0); _RequestList_Init(535528); _RequestList_Init(539864); $0 = (_Waitable_Create()|0); HEAP32[315328] = $0; $1 = (_Mutex_Create()|0); HEAP32[315327] = $1; $2 = (_Mutex_Create()|0); HEAP32[315329] = $2; $3 = (_Mutex_Create()|0); HEAP32[315330] = $3; return; } function _Http_Free() { var label = 0, sp = 0; sp = STACKTOP; HEAP8[1408265] = 1; _Http_ClearPending(); _RequestList_Free(535528); _RequestList_Free(539864); return; } function _Http_ClearPending() { var label = 0, sp = 0; sp = STACKTOP; _RequestList_Free(535528); return; } function _RequestList_Free($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 8|0); $2 = HEAP32[$1>>2]|0; $3 = ((($0)) + 16|0); $4 = ($2|0)==($3|0); if (!($4)) { _Mem_Free($2); } _RequestList_Init($0); return; } function _RequestList_Init($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 4|0); HEAP32[$1>>2] = 10; HEAP32[$0>>2] = 0; $2 = ((($0)) + 16|0); $3 = ((($0)) + 8|0); HEAP32[$3>>2] = $2; return; } function _Http_CleanCacheTask($0) { $0 = $0|0; var $$012 = 0, $$012$in = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_DateTime_CurrentUTC_MS()|0); $2 = (getTempRet0() | 0); $3 = HEAP32[134966]|0; $4 = ($3|0)>(0); if (!($4)) { return; } $$012$in = $3; while(1) { $$012 = (($$012$in) + -1)|0; $5 = HEAP32[(539872)>>2]|0; $6 = (((($5) + (($$012*432)|0)|0)) + 264|0); $7 = $6; $8 = $7; $9 = HEAP32[$8>>2]|0; $10 = (($7) + 4)|0; $11 = $10; $12 = HEAP32[$11>>2]|0; $13 = (_i64Add(($9|0),($12|0),10000,0)|0); $14 = (getTempRet0() | 0); $15 = ($14>>>0)<($2>>>0); $16 = ($13>>>0)<($1>>>0); $17 = ($14|0)==($2|0); $18 = $17 & $16; $19 = $15 | $18; if ($19) { $20 = (($5) + (($$012*432)|0)|0); _HttpRequest_Free($20); _RequestList_RemoveAt(539864,$$012); } $21 = ($$012$in|0)>(1); if ($21) { $$012$in = $$012; } else { break; } } return; } function _HttpRequest_Free($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 284|0); $2 = HEAP32[$1>>2]|0; _Mem_Free($2); HEAP32[$1>>2] = 0; $3 = ((($0)) + 288|0); HEAP32[$3>>2] = 0; return; } function _RequestList_RemoveAt($0,$1) { $0 = $0|0; $1 = $1|0; var $$010 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)<(0); if ($2) { label = 3; } else { $3 = HEAP32[$0>>2]|0; $4 = ($3|0)>($1|0); if (!($4)) { label = 3; } } if ((label|0) == 3) { _Logger_Abort(25740); } $5 = HEAP32[$0>>2]|0; $6 = (($5) + -1)|0; $7 = ($6|0)>($1|0); if (!($7)) { $$lcssa = $6; HEAP32[$0>>2] = $$lcssa; return; } $8 = ((($0)) + 8|0); $$010 = $1; while(1) { $9 = HEAP32[$8>>2]|0; $10 = (($$010) + 1)|0; $11 = (($9) + (($$010*432)|0)|0); $12 = (($9) + (($10*432)|0)|0); _memcpy(($11|0),($12|0),432)|0; $13 = HEAP32[$0>>2]|0; $14 = (($13) + -1)|0; $15 = ($10|0)<($14|0); if ($15) { $$010 = $10; } else { $$lcssa = $14; break; } } HEAP32[$0>>2] = $$lcssa; return; } function _Http_DescribeError($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; return 0; } function _Http_AsyncGetSkin($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $1 = sp + 64|0; $2 = sp; HEAP32[$1>>2] = $2; $3 = ((($1)) + 4|0); HEAP16[$3>>1] = 0; $4 = ((($1)) + 6|0); HEAP16[$4>>1] = 64; $5 = (_Utils_IsUrlPrefix($0)|0); $6 = ($5<<24>>24)==(0); if ($6) { _String_AppendConst($1,25776); _String_AppendColorless($1,$0); _String_AppendConst($1,25817); _Http_AsyncGetData($1,0,$0); STACKTOP = sp;return; } else { _String_Copy($1,$0); _Http_AsyncGetData($1,0,$0); STACKTOP = sp;return; } } function _Http_AsyncGetData($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var label = 0, sp = 0; sp = STACKTOP; _Http_Add($0,$1,$2,0,0,0,0,0,0); return; } function _Http_Add($0,$1,$2,$3,$4,$5,$6,$7,$8) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; $6 = $6|0; $7 = $7|0; $8 = $8|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; var $30 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 448|0; $9 = sp + 432|0; $10 = sp; HEAP8[$9>>0] = $3; _memset(($10|0),0,432)|0; _String_CopyToRaw($10,128,$0); _Platform_Log2(25822,$0,$9); $11 = ((($10)) + 128|0); _String_CopyToRaw($11,128,$2); $12 = HEAP8[$9>>0]|0; $13 = ((($10)) + 420|0); HEAP8[$13>>0] = $12; $14 = ($4|0)==(0|0); if (!($14)) { $15 = ((($10)) + 292|0); _String_CopyToRaw($15,64,$4); } $16 = ($5|0)==(0|0); if (!($16)) { $17 = ((($10)) + 356|0); _String_CopyToRaw($17,64,$5); } $18 = ($6|0)==(0|0); if (!($18)) { $19 = (_Mem_Alloc($7,1,25842)|0); $20 = ((($10)) + 284|0); HEAP32[$20>>2] = $19; _Mem_Copy($19,$6,$7); $21 = ((($10)) + 288|0); HEAP32[$21>>2] = $7; } $22 = ((($10)) + 424|0); HEAP32[$22>>2] = $8; $23 = (_DateTime_CurrentUTC_MS()|0); $24 = (getTempRet0() | 0); $25 = ((($10)) + 256|0); $26 = $25; $27 = $26; HEAP32[$27>>2] = $23; $28 = (($26) + 4)|0; $29 = $28; HEAP32[$29>>2] = $24; $30 = ($1<<24>>24)==(0); if ($30) { _RequestList_Append(535528,$10); _Http_DownloadNextAsync(); STACKTOP = sp;return; } else { _RequestList_Prepend($10); _Http_DownloadNextAsync(); STACKTOP = sp;return; } } function _RequestList_Prepend($0) { $0 = $0|0; var $$01 = 0, $$lcssa = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; _RequestList_EnsureSpace(535528); $1 = HEAP32[133882]|0; $2 = ($1|0)>(0); $3 = HEAP32[(535536)>>2]|0; if ($2) { $$01 = $1;$6 = $3; while(1) { $4 = (($$01) + -1)|0; $5 = (($6) + (($$01*432)|0)|0); $7 = (($6) + (($4*432)|0)|0); _memcpy(($5|0),($7|0),432)|0; $8 = ($$01|0)>(1); $9 = HEAP32[(535536)>>2]|0; if ($8) { $$01 = $4;$6 = $9; } else { $$lcssa = $9; break; } } } else { $$lcssa = $3; } _memcpy(($$lcssa|0),($0|0),432)|0; $10 = HEAP32[133882]|0; $11 = (($10) + 1)|0; HEAP32[133882] = $11; return; } function _RequestList_Append($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; _RequestList_EnsureSpace($0); $2 = ((($0)) + 8|0); $3 = HEAP32[$2>>2]|0; $4 = HEAP32[$0>>2]|0; $5 = (($4) + 1)|0; HEAP32[$0>>2] = $5; $6 = (($3) + (($4*432)|0)|0); _memcpy(($6|0),($1|0),432)|0; return; } function _Http_DownloadNextAsync() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 432|0; $0 = sp; $1 = HEAP8[1408265]|0; $2 = HEAP32[133882]|0; $3 = ($2|0)!=(0); $4 = HEAP8[(544328)>>0]|0; $5 = $4 | $1; $6 = ($5<<24>>24)==(0); $7 = $3 & $6; if (!($7)) { STACKTOP = sp;return; } $8 = HEAP32[(535536)>>2]|0; _memcpy(($0|0),($8|0),432)|0; _RequestList_RemoveAt(535528,0); _Http_DownloadAsync($0); STACKTOP = sp;return; } function _Http_DownloadAsync($0) { $0 = $0|0; var $$pr = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 832|0; $1 = sp + 744|0; $2 = sp + 608|0; $3 = sp + 736|0; $4 = sp; _emscripten_fetch_attr_init($1); $5 = ((($0)) + 420|0); $6 = HEAP8[$5>>0]|0; switch ($6<<24>>24) { case 0: { _Mem_Copy($1,25856,4); label = 5; break; } case 1: { _Mem_Copy($1,25860,5); label = 5; break; } case 2: { _Mem_Copy($1,25865,5); label = 5; break; } default: { } } if ((label|0) == 5) { $$pr = HEAP8[$5>>0]|0; $7 = ($$pr<<24>>24)==(2); if ($7) { $8 = ((($0)) + 284|0); $9 = HEAP32[$8>>2]|0; $10 = ((($1)) + 80|0); HEAP32[$10>>2] = $9; $11 = ((($0)) + 288|0); $12 = HEAP32[$11>>2]|0; $13 = ((($1)) + 84|0); HEAP32[$13>>2] = $12; } } $14 = HEAP8[$0>>0]|0; $15 = ($14<<24>>24)==(47); if ($15) { $16 = ((($1)) + 72|0); HEAP32[$16>>2] = 11672; } $17 = ((($1)) + 48|0); HEAP32[$17>>2] = 1; $18 = ((($1)) + 36|0); HEAP32[$18>>2] = 299; $19 = ((($1)) + 40|0); HEAP32[$19>>2] = 299; $20 = ((($1)) + 44|0); HEAP32[$20>>2] = 300; HEAP32[$3>>2] = $2; $21 = ((($3)) + 4|0); HEAP16[$21>>1] = 0; $22 = ((($3)) + 6|0); HEAP16[$22>>1] = 128; _Http_BeginRequest($0,$3); (_Platform_ConvertString($4,$3)|0); (_emscripten_fetch($1,$4)|0); STACKTOP = sp;return; } function _Http_FinishedAsync($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; $1 = ((($0)) + 12|0); $2 = HEAP32[$1>>2]|0; HEAP32[(544484)>>2] = $2; $3 = ((($0)) + 16|0); $4 = $3; $5 = $4; $6 = HEAP32[$5>>2]|0; $7 = (($4) + 4)|0; $8 = $7; $9 = HEAP32[$8>>2]|0; HEAP32[(544488)>>2] = $6; $10 = ((($0)) + 42|0); $11 = HEAP16[$10>>1]|0; $12 = $11&65535; HEAP32[(544472)>>2] = $12; $13 = ((($0)) + 32|0); $14 = $13; $15 = $14; $16 = HEAP32[$15>>2]|0; $17 = (($14) + 4)|0; $18 = $17; $19 = HEAP32[$18>>2]|0; HEAP32[(544476)>>2] = $16; HEAP32[$1>>2] = 0; (_emscripten_fetch_close($0)|0); _Http_FinishRequest(); _Http_DownloadNextAsync(); return; } function _Http_UpdateProgress($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 32|0); $2 = $1; $3 = $2; $4 = HEAP32[$3>>2]|0; $5 = (($2) + 4)|0; $6 = $5; $7 = HEAP32[$6>>2]|0; $8 = ($4|0)==(0); $9 = ($7|0)==(0); $10 = $8 & $9; if ($10) { return; } $11 = ((($0)) + 24|0); $12 = $11; $13 = $12; $14 = HEAP32[$13>>2]|0; $15 = (($12) + 4)|0; $16 = $15; $17 = HEAP32[$16>>2]|0; $18 = (+($14>>>0)) + (4294967296.0*(+($17>>>0))); $19 = $18 * 100.0; $20 = (+($4>>>0)) + (4294967296.0*(+($7>>>0))); $21 = $19 / $20; $22 = (~~(($21))); HEAP32[2921] = $22; return; } function _Http_BeginRequest($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, label = 0, sp = 0; sp = STACKTOP; _Http_GetUrl($0,$1); $2 = ((($0)) + 420|0); _Platform_Log2(25870,$1,$2); _memcpy((544200|0),($0|0),432)|0; HEAP32[2921] = -2; return; } function _Http_GetUrl($0,$1) { $0 = $0|0; $1 = $1|0; var $$08$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp + 8|0; $3 = sp; _String_FromRaw($2,$0,128); $4 = (_String_CaselessStarts($2,3248)|0); $5 = ($4|0)==(0); if ($5) { $11 = (_String_CaselessStarts($2,(3264))|0); $12 = ($11|0)==(0); if ($12) { _String_Copy($1,$2); STACKTOP = sp;return; } else { $$08$lcssa = 2; } } else { $$08$lcssa = 0; } $6 = (((3248 + ($$08$lcssa<<3)|0)) + 4|0); $7 = HEAP16[$6>>1]|0; $8 = $7&65535; _String_UNSAFE_SubstringAt($3,$2,$8); $9 = $$08$lcssa | 1; $10 = (3248 + ($9<<3)|0); _String_Format2($1,25900,$10,$3); STACKTOP = sp;return; } function _Http_FinishRequest() { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $narrow = 0, $not$or$cond3 = 0, $notlhs = 0, $or$cond$not = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[(544484)>>2]|0; $1 = ($0|0)==(0|0); if (!($1)) { _Platform_Log1(25987,(544488)); } $2 = HEAP32[(544480)>>2]|0; $3 = ($2|0)!=(0); $4 = HEAP32[(544472)>>2]|0; $5 = ($4|0)!=(200); $or$cond$not = $3 | $5; $6 = HEAP32[(544484)>>2]|0; $7 = ($6|0)==(0|0); $or$cond3 = $or$cond$not | $7; $8 = HEAP32[(544488)>>2]|0; $9 = ($8|0)!=(0); $not$or$cond3 = $or$cond3 ^ 1; $narrow = $9 & $not$or$cond3; $10 = $narrow&1; HEAP8[(544621)>>0] = $10; $notlhs = $9 ^ 1; $11 = $or$cond3 | $notlhs; if (!($11)) { _Http_CompleteRequest(); HEAP8[(544328)>>0] = 0; HEAP32[2921] = -3; return; } _HttpRequest_Free(544200); _Http_CompleteRequest(); HEAP8[(544328)>>0] = 0; HEAP32[2921] = -3; return; } function _Http_CompleteRequest() { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 448|0; $0 = sp; $1 = sp + 432|0; _String_FromRaw($1,(544328),128); $2 = (_DateTime_CurrentUTC_MS()|0); $3 = (getTempRet0() | 0); $4 = (544464); $5 = $4; HEAP32[$5>>2] = $2; $6 = (($4) + 4)|0; $7 = $6; HEAP32[$7>>2] = $3; $8 = (_RequestList_Find($1,$0)|0); $9 = ($8|0)>(-1); if (!($9)) { _RequestList_Append(539864,544200); STACKTOP = sp;return; } $10 = ((($0)) + 256|0); $11 = $10; $12 = $11; $13 = HEAP32[$12>>2]|0; $14 = (($11) + 4)|0; $15 = $14; $16 = HEAP32[$15>>2]|0; $17 = (544456); $18 = $17; $19 = HEAP32[$18>>2]|0; $20 = (($17) + 4)|0; $21 = $20; $22 = HEAP32[$21>>2]|0; $23 = ($16>>>0)>($22>>>0); $24 = ($13>>>0)>($19>>>0); $25 = ($16|0)==($22|0); $26 = $25 & $24; $27 = $23 | $26; if ($27) { _HttpRequest_Free(544200); STACKTOP = sp;return; } else { _HttpRequest_Free($0); $28 = HEAP32[(539872)>>2]|0; $29 = (($28) + (($8*432)|0)|0); _memcpy(($29|0),(544200|0),432)|0; STACKTOP = sp;return; } } function _RequestList_Find($0,$1) { $0 = $0|0; $1 = $1|0; var $$011 = 0, $$03 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp + 8|0; $3 = sp; $4 = HEAP32[134966]|0; $5 = ($4|0)>(0); if (!($5)) { $$011 = -1; STACKTOP = sp;return ($$011|0); } $$03 = 0; while(1) { $6 = HEAP32[(539872)>>2]|0; $7 = (((($6) + (($$03*432)|0)|0)) + 128|0); _String_FromRaw($3,$7,128); $8 = $3; $9 = $8; $10 = HEAP32[$9>>2]|0; $11 = (($8) + 4)|0; $12 = $11; $13 = HEAP32[$12>>2]|0; $14 = $2; $15 = $14; HEAP32[$15>>2] = $10; $16 = (($14) + 4)|0; $17 = $16; HEAP32[$17>>2] = $13; $18 = (_String_Equals($0,$2)|0); $19 = ($18|0)==(0); if (!($19)) { break; } $22 = (($$03) + 1)|0; $23 = HEAP32[134966]|0; $24 = ($22|0)<($23|0); if ($24) { $$03 = $22; } else { $$011 = -1; label = 6; break; } } if ((label|0) == 6) { STACKTOP = sp;return ($$011|0); } $20 = HEAP32[(539872)>>2]|0; $21 = (($20) + (($$03*432)|0)|0); _memcpy(($1|0),($21|0),432)|0; $$011 = $$03; STACKTOP = sp;return ($$011|0); } function _RequestList_EnsureSpace($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; $4 = ($1|0)<($3|0); if ($4) { return; } $5 = ((($0)) + 8|0); _Utils_Resize($5,$2,432,10,10); return; } function _Http_AsyncGetHeaders($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var label = 0, sp = 0; sp = STACKTOP; _Http_Add($0,$1,$2,1,0,0,0,0,0); return; } function _Http_AsyncGetDataEx($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; var label = 0, sp = 0; sp = STACKTOP; _Http_Add($0,$1,$2,0,$3,$4,0,0,$5); return; } function _Http_GetResult($0,$1) { $0 = $0|0; $1 = $1|0; var $$lobit = 0, $$not = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (_RequestList_Find($0,$1)|0); $3 = ($2|0)>(-1); if ($3) { _RequestList_RemoveAt(539864,$2); } $$lobit = (31)?($2 >>> 31):($2); $4 = $$lobit&255; $$not = $4 ^ 1; return ($$not|0); } function _Http_GetCurrent($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; _memcpy(($0|0),(544200|0),432)|0; $2 = HEAP32[2921]|0; HEAP32[$1>>2] = $2; $3 = ((($0)) + 128|0); $4 = HEAP8[$3>>0]|0; return ($4|0); } function _Input_AddTouch($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP32[315331]|0; $4 = (381824 + (($3*24)|0)|0); HEAP32[$4>>2] = $0; $5 = (((381824 + (($3*24)|0)|0)) + 4|0); HEAP8[$5>>0] = 7; $6 = (((381824 + (($3*24)|0)|0)) + 8|0); HEAP32[$6>>2] = $1; $7 = (((381824 + (($3*24)|0)|0)) + 12|0); HEAP32[$7>>2] = $2; $8 = (_DateTime_CurrentUTC_MS()|0); $9 = (getTempRet0() | 0); $10 = (((381824 + (($3*24)|0)|0)) + 16|0); $11 = $10; $12 = $11; HEAP32[$12>>2] = $8; $13 = (($11) + 4)|0; $14 = $13; HEAP32[$14>>2] = $9; $15 = 544632; $16 = $15; HEAP32[$16>>2] = $8; $17 = (($15) + 4)|0; $18 = $17; HEAP32[$18>>2] = $9; $19 = HEAP32[315331]|0; $20 = (($19) + 1)|0; HEAP32[315331] = $20; _Pointer_SetPosition($3,$1,$2); _Pointer_SetPressed($3,1); return; } function _Pointer_SetPosition($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP32[315332]|0; $4 = (($1) - ($3))|0; $5 = HEAP32[315333]|0; $6 = (($2) - ($5))|0; HEAP32[315332] = $1; HEAP32[315333] = $2; $7 = (379328 + ($0<<3)|0); $8 = HEAP32[$7>>2]|0; $9 = ($8|0)==($1|0); if ($9) { $10 = (((379328 + ($0<<3)|0)) + 4|0); $11 = HEAP32[$10>>2]|0; $12 = ($11|0)==($2|0); if ($12) { return; } } HEAP32[$7>>2] = $1; $13 = (((379328 + ($0<<3)|0)) + 4|0); HEAP32[$13>>2] = $2; $14 = HEAP8[1408267]|0; $15 = ($14<<24>>24)==(0); if (!($15)) { $16 = (((381824 + (($0*24)|0)|0)) + 4|0); $17 = HEAP8[$16>>0]|0; $18 = $17 & 1; $19 = ($18<<24>>24)==(0); if ($19) { return; } } _Event_RaiseMove(1258616,$0,$4,$6); return; } function _Pointer_SetPressed($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP8[1408267]|0; $3 = ($2<<24>>24)==(0); if (!($3)) { $4 = (((381824 + (($0*24)|0)|0)) + 4|0); $5 = HEAP8[$4>>0]|0; $6 = $5 & 1; $7 = ($6<<24>>24)==(0); if ($7) { return; } } $8 = ($1<<24>>24)==(0); if ($8) { _Event_RaiseInt((1259136),$0); return; } else { _Event_RaiseInt((1258876),$0); return; } } function _Input_UpdateTouch($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$021 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP32[315331]|0; $4 = ($3|0)>(0); if (!($4)) { return; } $5 = HEAP32[315331]|0; $$021 = 0; while(1) { $6 = (381824 + (($$021*24)|0)|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)==($0|0); if ($8) { break; } $24 = (($$021) + 1)|0; $25 = ($24|0)<($5|0); if ($25) { $$021 = $24; } else { label = 12; break; } } if ((label|0) == 12) { return; } $9 = HEAP8[1408266]|0; $10 = ($9<<24>>24)==(0); if (!($10)) { $11 = (((381824 + (($$021*24)|0)|0)) + 4|0); $12 = HEAP8[$11>>0]|0; $13 = $12 & 2; $14 = ($13<<24>>24)==(0); if (!($14)) { $15 = ($12<<24>>24)==(7); if ($15) { $16 = (_MovedFromBeg($$021,$1,$2)|0); $17 = ($16<<24>>24)==(0); if (!($17)) { HEAP8[$11>>0] = 2; } } $18 = (379328 + ($$021<<3)|0); $19 = HEAP32[$18>>2]|0; $20 = (($1) - ($19))|0; $21 = (((379328 + ($$021<<3)|0)) + 4|0); $22 = HEAP32[$21>>2]|0; $23 = (($2) - ($22))|0; _Event_RaiseMove((1259396),$$021,$20,$23); } } _Pointer_SetPosition($$021,$1,$2); return; } function _MovedFromBeg($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (((381824 + (($0*24)|0)|0)) + 8|0); $4 = HEAP32[$3>>2]|0; $5 = (($1) - ($4))|0; $6 = (_Math_AbsI($5)|0); $7 = (_Display_ScaleX(5)|0); $8 = ($6|0)>($7|0); if ($8) { $15 = 1; return ($15|0); } $9 = (((381824 + (($0*24)|0)|0)) + 12|0); $10 = HEAP32[$9>>2]|0; $11 = (($2) - ($10))|0; $12 = (_Math_AbsI($11)|0); $13 = (_Display_ScaleY(5)|0); $14 = ($12|0)>($13|0); $phitmp = $14&1; $15 = $phitmp; return ($15|0); } function _Input_RemoveTouch($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$017 = 0, $$116 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP32[315331]|0; $4 = ($3|0)>(0); if (!($4)) { return; } $5 = HEAP32[315331]|0; $$017 = 0; while(1) { $6 = (381824 + (($$017*24)|0)|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)==($0|0); if ($8) { break; } $30 = (($$017) + 1)|0; $31 = ($30|0)<($5|0); if ($31) { $$017 = $30; } else { label = 9; break; } } if ((label|0) == 9) { return; } _Pointer_SetPosition($$017,$1,$2); _Pointer_SetPressed($$017,0); _CheckBlockTap($$017); $9 = HEAP32[315331]|0; $10 = (($9) + -1)|0; $11 = ($$017|0)<($10|0); if ($11) { $12 = HEAP32[315331]|0; $13 = (($12) + -1)|0; $$116 = $$017; while(1) { $14 = (381824 + (($$116*24)|0)|0); $15 = (($$116) + 1)|0; $16 = (381824 + (($15*24)|0)|0); ;HEAP32[$14>>2]=HEAP32[$16>>2]|0;HEAP32[$14+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[$14+8>>2]=HEAP32[$16+8>>2]|0;HEAP32[$14+12>>2]=HEAP32[$16+12>>2]|0;HEAP32[$14+16>>2]=HEAP32[$16+16>>2]|0;HEAP32[$14+20>>2]=HEAP32[$16+20>>2]|0; $17 = (379328 + ($$116<<3)|0); $18 = (379328 + ($15<<3)|0); $19 = $18; $20 = $19; $21 = HEAP32[$20>>2]|0; $22 = (($19) + 4)|0; $23 = $22; $24 = HEAP32[$23>>2]|0; $25 = $17; $26 = $25; HEAP32[$26>>2] = $21; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $24; $29 = ($15|0)<($13|0); if ($29) { $$116 = $15; } else { $$lcssa = $13; break; } } } else { $$lcssa = $10; } HEAP32[315331] = $$lcssa; return; } function _CheckBlockTap($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_DateTime_CurrentUTC_MS()|0); $2 = (getTempRet0() | 0); $3 = (((381824 + (($0*24)|0)|0)) + 16|0); $4 = $3; $5 = $4; $6 = HEAP32[$5>>2]|0; $7 = (($4) + 4)|0; $8 = $7; $9 = HEAP32[$8>>2]|0; $10 = (_i64Add(($6|0),($9|0),250,0)|0); $11 = (getTempRet0() | 0); $12 = ($2>>>0)>($11>>>0); $13 = ($1>>>0)>($10>>>0); $14 = ($2|0)==($11|0); $15 = $14 & $13; $16 = $12 | $15; if ($16) { return; } $17 = (((381824 + (($0*24)|0)|0)) + 4|0); $18 = HEAP8[$17>>0]|0; $19 = ($18<<24>>24)==(7); if (!($19)) { return; } $20 = HEAP8[1408268]|0; $21 = ($20<<24>>24)!=(0); $22 = $21&1; $23 = (1408269 + ($22)|0); $24 = HEAP8[$23>>0]|0; _MouseStatePress($22); if ($21) { _DoPlaceBlock(); } else { _DoDeleteBlock(); } $25 = ($24<<24>>24)==(0); if (!($25)) { return; } _MouseStateRelease($22); return; } function _MouseStatePress($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_DateTime_CurrentUTC_MS()|0); $2 = (getTempRet0() | 0); $3 = 544632; $4 = $3; HEAP32[$4>>2] = $1; $5 = (($3) + 4)|0; $6 = $5; HEAP32[$6>>2] = $2; HEAP32[2922] = -1; _MouseStateChanged($0,1); return; } function _DoDeleteBlock() { var $$byval_copy = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $$byval_copy = sp + 12|0; $0 = sp; _HeldBlockRenderer_ClickAnim(1); ;HEAP32[$0>>2]=HEAP32[(1260256)>>2]|0;HEAP32[$0+4>>2]=HEAP32[(1260256)+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[(1260256)+8>>2]|0; $1 = HEAP8[(1260280)>>0]|0; $2 = ($1<<24>>24)==(0); if ($2) { STACKTOP = sp;return; } $3 = HEAP32[$0>>2]|0; $4 = ((($0)) + 4|0); $5 = HEAP32[$4>>2]|0; $6 = ((($0)) + 8|0); $7 = HEAP32[$6>>2]|0; $8 = (_World_Contains_739($3,$5,$7)|0); $9 = ($8<<24>>24)==(0); if ($9) { STACKTOP = sp;return; } $10 = (_World_GetBlock_740($3,$5,$7)|0); $11 = $10&65535; $12 = (583428 + ($11)|0); $13 = HEAP8[$12>>0]|0; $14 = ($13<<24>>24)==(4); if ($14) { STACKTOP = sp;return; } $15 = (634884 + ($11)|0); $16 = HEAP8[$15>>0]|0; $17 = ($16<<24>>24)==(0); if ($17) { STACKTOP = sp;return; } _Game_ChangeBlock($3,$5,$7,0); ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; _Event_RaiseBlock(1252376,$$byval_copy,$10,0); STACKTOP = sp;return; } function _DoPlaceBlock() { var $$0 = 0, $$byval_copy = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $$byval_copy = sp + 12|0; $0 = sp; ;HEAP32[$0>>2]=HEAP32[(1260268)>>2]|0;HEAP32[$0+4>>2]=HEAP32[(1260268)+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[(1260268)+8>>2]|0; $1 = HEAP8[(1260280)>>0]|0; $2 = ($1<<24>>24)==(0); if ($2) { STACKTOP = sp;return; } $3 = HEAP32[$0>>2]|0; $4 = ((($0)) + 4|0); $5 = HEAP32[$4>>2]|0; $6 = ((($0)) + 8|0); $7 = HEAP32[$6>>2]|0; $8 = (_World_Contains_739($3,$5,$7)|0); $9 = ($8<<24>>24)==(0); if ($9) { STACKTOP = sp;return; } $10 = (_World_GetBlock_740($3,$5,$7)|0); $11 = HEAP32[(1268184)>>2]|0; $12 = HEAP32[(1268180)>>2]|0; $13 = (($12) + ($11))|0; $14 = (1266480 + ($13<<1)|0); $15 = HEAP16[$14>>1]|0; $16 = HEAP8[1408207]|0; $17 = ($16<<24>>24)==(0); if ($17) { $$0 = $15; } else { $18 = (_AutoRotate_RotateBlock($15)|0); $$0 = $18; } $19 = (_Game_CanPick($10)|0); $20 = ($19<<24>>24)==(0); if (!($20)) { STACKTOP = sp;return; } $21 = $$0&65535; $22 = (634116 + ($21)|0); $23 = HEAP8[$22>>0]|0; $24 = ($23<<24>>24)==(0); if ($24) { STACKTOP = sp;return; } $25 = (583428 + ($21)|0); $26 = HEAP8[$25>>0]|0; $27 = ($26<<24>>24)==(4); if ($27) { $28 = $10&65535; $29 = (583428 + ($28)|0); $30 = HEAP8[$29>>0]|0; $31 = ($30<<24>>24)==(4); if (!($31)) { STACKTOP = sp;return; } } $32 = (_CheckIsFree($$0)|0); $33 = ($32<<24>>24)==(0); if ($33) { STACKTOP = sp;return; } $34 = HEAP32[$0>>2]|0; $35 = HEAP32[$4>>2]|0; $36 = HEAP32[$6>>2]|0; _Game_ChangeBlock($34,$35,$36,$$0); ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; _Event_RaiseBlock(1252376,$$byval_copy,$10,$$0); STACKTOP = sp;return; } function _MouseStateRelease($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; HEAP32[2922] = -1; _MouseStateChanged($0,0); return; } function _MouseStateChanged($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP8[(1384583)>>0]|0; $3 = ($2<<24>>24)==(0); if ($3) { return; } $4 = ($1<<24>>24)==(0); if (!($4)) { _MouseStateUpdate($0,1); return; } $5 = (1408269 + ($0)|0); $6 = HEAP8[$5>>0]|0; $7 = ($6<<24>>24)==(0); if ($7) { return; } _MouseStateUpdate($0,0); return; } function _MouseStateUpdate($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[2922]|0; $3 = ($2|0)==(-1); if ($3) { $4 = (_Entities_GetClosest(1242152)|0); $5 = $4&255; HEAP32[2922] = $5; } $6 = (1408269 + ($0)|0); HEAP8[$6>>0] = $1; $7 = HEAP32[2922]|0; $8 = $7&255; _CPE_SendPlayerClick($0,$1,$8,1260220); return; } function _World_Contains_739($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $narrow = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP32[(1407464)>>2]|0; $4 = ($3>>>0)>($0>>>0); $5 = HEAP32[(1407468)>>2]|0; $6 = ($5>>>0)>($1>>>0); $or$cond = $4 & $6; $7 = HEAP32[(1407472)>>2]|0; $8 = ($7>>>0)>($2>>>0); $narrow = $or$cond & $8; $9 = $narrow&1; return ($9|0); } function _World_GetBlock_740($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; $3 = HEAP32[(1407472)>>2]|0; $4 = Math_imul($3, $1)|0; $5 = (($4) + ($2))|0; $6 = HEAP32[(1407464)>>2]|0; $7 = Math_imul($5, $6)|0; $8 = (($7) + ($0))|0; $9 = HEAP32[351863]|0; $10 = (($9) + ($8)|0); $11 = HEAP8[$10>>0]|0; $12 = $11&255; $13 = HEAP32[(1407456)>>2]|0; $14 = (($13) + ($8)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = $16 << 8; $18 = $17 | $12; $19 = HEAP32[(1407508)>>2]|0; $20 = $18 & $19; $21 = $20&65535; return ($21|0); } function _CheckIsFree($0) { $0 = $0|0; var $$0 = 0, $$byval_copy1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0; var $44 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond17 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 128|0; $$byval_copy1 = sp + 104|0; $1 = sp + 92|0; $2 = sp + 80|0; $3 = sp + 56|0; $4 = sp + 32|0; $5 = sp; $6 = $0&65535; $7 = (578052 + ($6)|0); $8 = HEAP8[$7>>0]|0; $9 = ($8<<24>>24)==(2); if (!($9)) { $$0 = 1; STACKTOP = sp;return ($$0|0); } _IVec3_ToVec3($1,(1260268)); ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$1+8>>2]|0; $10 = (_IntersectsOthers($$byval_copy1,$0)|0); $11 = ($10<<24>>24)==(0); if (!($11)) { $$0 = 0; STACKTOP = sp;return ($$0|0); } ;HEAP32[$2>>2]=HEAP32[(1242844)>>2]|0;HEAP32[$2+4>>2]=HEAP32[(1242844)+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[(1242844)+8>>2]|0; $12 = (588036 + (($6*12)|0)|0); _Vec3_Add_741($3,$1,$12); $13 = ((($3)) + 12|0); $14 = (597252 + (($6*12)|0)|0); _Vec3_Add_741($13,$1,$14); _Entity_GetBounds(1242152,$4); $15 = ((($2)) + 4|0); $16 = +HEAPF32[$15>>2]; $17 = ((($4)) + 4|0); $18 = +HEAPF32[$17>>2]; $19 = $16 < $18; $20 = $19 ? $16 : $18; HEAPF32[$17>>2] = $20; $21 = HEAP8[(1242650)>>0]|0; $22 = ($21<<24>>24)==(0); if (!($22)) { $$0 = 1; STACKTOP = sp;return ($$0|0); } $23 = (_AABB_Intersects($4,$3)|0); $24 = ($23<<24>>24)==(0); if ($24) { $$0 = 1; STACKTOP = sp;return ($$0|0); } $25 = HEAP8[(1242633)>>0]|0; $26 = ($25<<24>>24)==(0); $27 = HEAP8[(1242624)>>0]|0; $28 = ($27<<24>>24)==(0); $or$cond = $26 | $28; $29 = HEAP8[(1242626)>>0]|0; $30 = ($29<<24>>24)==(0); $or$cond17 = $or$cond | $30; if (!($or$cond17)) { $31 = (_PushbackPlace($3)|0); $$0 = $31; STACKTOP = sp;return ($$0|0); } $32 = +HEAPF32[$17>>2]; $33 = $32 + 0.25099998712539673; HEAPF32[$17>>2] = $33; $34 = (_AABB_Intersects($4,$3)|0); $35 = ($34<<24>>24)==(0); if (!($35)) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $36 = ((($1)) + 4|0); $37 = +HEAPF32[$36>>2]; $38 = (((597252 + (($6*12)|0)|0)) + 4|0); $39 = +HEAPF32[$38>>2]; $40 = $37 + $39; $41 = $40 + 0.0010000000474974513; HEAPF32[$15>>2] = $41; ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0; _LocationUpdate_MakePos($5,$$byval_copy1,0); $42 = HEAP32[310538]|0; $43 = ((($42)) + 8|0); $44 = HEAP32[$43>>2]|0; FUNCTION_TABLE_viii[$44 & 31](1242152,$5,0); $$0 = 1; STACKTOP = sp;return ($$0|0); } function _IntersectsOthers($0,$1) { $0 = $0|0; $1 = $1|0; var $$010 = 0, $$011 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $2 = sp + 24|0; $3 = sp; $4 = $1&65535; $5 = (588036 + (($4*12)|0)|0); _Vec3_Add_741($2,$0,$5); $6 = ((($2)) + 12|0); $7 = (597252 + (($4*12)|0)|0); _Vec3_Add_741($6,$0,$7); $8 = ((($3)) + 4|0); $$011 = 0; while(1) { $9 = (1241124 + ($$011<<2)|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)==(0|0); if (!($11)) { _Entity_GetBounds($10,$3); $12 = +HEAPF32[$8>>2]; $13 = $12 + 0.03125; HEAPF32[$8>>2] = $13; $14 = (_AABB_Intersects($3,$2)|0); $15 = ($14<<24>>24)==(0); if (!($15)) { $$010 = 1; label = 5; break; } } $16 = (($$011) + 1)|0; $17 = ($16>>>0)<(255); if ($17) { $$011 = $16; } else { $$010 = 0; label = 5; break; } } if ((label|0) == 5) { STACKTOP = sp;return ($$010|0); } return (0)|0; } function _Vec3_Add_741($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 + $4; HEAPF32[$0>>2] = $5; $6 = ((($1)) + 4|0); $7 = +HEAPF32[$6>>2]; $8 = ((($2)) + 4|0); $9 = +HEAPF32[$8>>2]; $10 = $7 + $9; $11 = ((($0)) + 4|0); HEAPF32[$11>>2] = $10; $12 = ((($1)) + 8|0); $13 = +HEAPF32[$12>>2]; $14 = ((($2)) + 8|0); $15 = +HEAPF32[$14>>2]; $16 = $13 + $15; $17 = ((($0)) + 8|0); HEAPF32[$17>>2] = $16; return; } function _PushbackPlace($0) { $0 = $0|0; var $$0 = 0, $$byval_copy = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0; var $26 = 0.0, $27 = 0.0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0; var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $$byval_copy = sp + 68|0; $1 = sp + 56|0; $2 = sp + 32|0; $3 = sp; ;HEAP32[$1>>2]=HEAP32[(1242156)>>2]|0;HEAP32[$1+4>>2]=HEAP32[(1242156)+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[(1242156)+8>>2]|0; $4 = HEAP8[(1260281)>>0]|0; switch ($4<<24>>24) { case 1: { $5 = ((($0)) + 12|0); $6 = +HEAPF32[$5>>2]; $7 = $6 + 0.5; HEAPF32[$1>>2] = $7; break; } case 3: { $8 = ((($0)) + 20|0); $9 = +HEAPF32[$8>>2]; $10 = $9 + 0.5; $11 = ((($1)) + 8|0); HEAPF32[$11>>2] = $10; break; } case 0: { $12 = +HEAPF32[$0>>2]; $13 = $12 + -0.5; HEAPF32[$1>>2] = $13; break; } case 2: { $14 = ((($0)) + 8|0); $15 = +HEAPF32[$14>>2]; $16 = $15 + -0.5; $17 = ((($1)) + 8|0); HEAPF32[$17>>2] = $16; break; } case 5: { $18 = ((($0)) + 4|0); $19 = +HEAPF32[$18>>2]; $20 = $19 + 1.0; $21 = $20 + 0.0010000000474974513; $22 = ((($1)) + 4|0); HEAPF32[$22>>2] = $21; break; } case 4: { $23 = ((($0)) + 4|0); $24 = +HEAPF32[$23>>2]; $25 = +HEAPF32[(1242248)>>2]; $26 = $24 - $25; $27 = $26 + -0.0010000000474974513; $28 = ((($1)) + 4|0); HEAPF32[$28>>2] = $27; break; } default: { } } $29 = +HEAPF32[$1>>2]; $30 = $29 > 0.0; if (!($30)) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $31 = ((($1)) + 4|0); $32 = +HEAPF32[$31>>2]; $33 = !($32 >= 0.0); if ($33) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $34 = ((($1)) + 8|0); $35 = +HEAPF32[$34>>2]; $36 = $35 > 0.0; if (!($36)) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $37 = HEAP32[(1407464)>>2]|0; $38 = (+($37|0)); $39 = $29 < $38; if (!($39)) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $40 = HEAP32[(1407472)>>2]|0; $41 = (+($40|0)); $42 = $35 < $41; if (!($42)) { $$0 = 0; STACKTOP = sp;return ($$0|0); } _AABB_Make($2,$1,(1242244)); $43 = HEAP8[(1242650)>>0]|0; $44 = ($43<<24>>24)==(0); if ($44) { $45 = (_Entity_TouchesAny($2,15)|0); $46 = ($45<<24>>24)==(0); if (!($46)) { $$0 = 0; STACKTOP = sp;return ($$0|0); } } ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0; _LocationUpdate_MakePos($3,$$byval_copy,0); $47 = HEAP32[310538]|0; $48 = ((($47)) + 8|0); $49 = HEAP32[$48>>2]|0; FUNCTION_TABLE_viii[$49 & 31](1242152,$3,0); $$0 = 1; STACKTOP = sp;return ($$0|0); } function _TouchesSolid($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = $0&65535; $2 = (578052 + ($1)|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)==(2); $5 = $4&1; return ($5|0); } function _Input_SetPressed($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (379584 + ($0)|0); $3 = HEAP8[$2>>0]|0; HEAP8[$2>>0] = $1; $4 = ($1<<24>>24)==(0); if ($4) { $5 = ($3<<24>>24)==(0); if (!($5)) { _Event_RaiseInt((1257836),$0); } } else { _Event_RaiseInput((1257576),$0,$3); } $6 = ($0|0)!=(130); $7 = ($3<<24>>24)==($1<<24>>24); $or$cond = $6 | $7; if ($or$cond) { return; } _Pointer_SetPressed(0,$1); return; } function _Input_Clear() { var $$05 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $$05 = 0; while(1) { $0 = (379584 + ($$05)|0); $1 = HEAP8[$0>>0]|0; $2 = ($1<<24>>24)==(0); if (!($2)) { _Input_SetPressed($$05,0); } $3 = (($$05) + 1)|0; $exitcond = ($3|0)==(133); if ($exitcond) { break; } else { $$05 = $3; } } return; } function _Mouse_ScrollWheel($0) { $0 = +$0; var label = 0, sp = 0; sp = STACKTOP; _Event_RaiseFloat((1258096),$0); return; } function _KeyBind_IsPressed($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (379728 + ($0)|0); $2 = HEAP8[$1>>0]|0; $3 = $2&255; $4 = (379584 + ($3)|0); $5 = HEAP8[$4>>0]|0; return ($5|0); } function _KeyBind_Set($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = $1&255; $3 = (379728 + ($0)|0); HEAP8[$3>>0] = $2; _KeyBind_Save(); return; } function _KeyBind_Save() { var $$06 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; $0 = sp + 80|0; $1 = sp; $2 = sp + 72|0; $3 = sp + 64|0; HEAP32[$0>>2] = $1; $4 = ((($0)) + 4|0); HEAP16[$4>>1] = 0; $5 = ((($0)) + 6|0); HEAP16[$5>>1] = 64; $$06 = 0; while(1) { HEAP16[$4>>1] = 0; $6 = (4128 + ($$06<<2)|0); $7 = HEAP32[$6>>2]|0; _String_Format1($0,26804,$7); $8 = (379728 + ($$06)|0); $9 = HEAP8[$8>>0]|0; $10 = $9&255; $11 = (3280 + ($10<<2)|0); $12 = HEAP32[$11>>2]|0; _String_FromReadonly($3,$12); $13 = $3; $14 = $13; $15 = HEAP32[$14>>2]|0; $16 = (($13) + 4)|0; $17 = $16; $18 = HEAP32[$17>>2]|0; $19 = $2; $20 = $19; HEAP32[$20>>2] = $15; $21 = (($19) + 4)|0; $22 = $21; HEAP32[$22>>2] = $18; _Options_SetString($0,$2); $23 = (($$06) + 1)|0; $exitcond = ($23|0)==(35); if ($exitcond) { break; } else { $$06 = $23; } } STACKTOP = sp;return; } function _Hotkeys_Add($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$01820 = 0, $$021 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = HEAP32[(1261344)>>2]|0; $5 = ($4|0)>(0); L1: do { if ($5) { $6 = HEAP32[(1261344)>>2]|0; $$01820 = 379776;$$021 = 0; while(1) { $7 = ((($$01820)) + 4|0); $8 = HEAP8[$7>>0]|0; $9 = $8&255; $10 = ($9|0)==($0|0); if ($10) { $11 = ((($$01820)) + 5|0); $12 = HEAP8[$11>>0]|0; $13 = ($12<<24>>24)==($1<<24>>24); if ($13) { break; } } $17 = (($$021) + 1)|0; $18 = ((($$01820)) + 8|0); $19 = ($17|0)<($6|0); if ($19) { $$01820 = $18;$$021 = $17; } else { break L1; } } $14 = HEAP32[$$01820>>2]|0; _Hotkeys_RemoveText($14); $15 = ((($$01820)) + 6|0); HEAP8[$15>>0] = $3; $16 = HEAP32[(1261344)>>2]|0; HEAP32[$$01820>>2] = $16; _StringsBuffer_Add(1261336,$2); return; } } while(0); _Hotkeys_AddNewHotkey($0,$1,$2,$3); return; } function _Hotkeys_RemoveText($0) { $0 = $0|0; var $$011 = 0, $$0910 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[(1261344)>>2]|0; $2 = ($1|0)>(0); if (!($2)) { _StringsBuffer_Remove(1261336,$0); return; } $3 = HEAP32[(1261344)>>2]|0; $$011 = 0;$$0910 = 379776; while(1) { $4 = HEAP32[$$0910>>2]|0; $5 = ($4|0)<($0|0); if (!($5)) { $6 = (($4) + -1)|0; HEAP32[$$0910>>2] = $6; } $7 = (($$011) + 1)|0; $8 = ((($$0910)) + 8|0); $9 = ($7|0)<($3|0); if ($9) { $$011 = $7;$$0910 = $8; } else { break; } } _StringsBuffer_Remove(1261336,$0); return; } function _Hotkeys_AddNewHotkey($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$sroa$0$0$$sroa_idx = 0, $$sroa$4$0$$sroa_idx = 0, $$sroa$5$0$$sroa_idx = 0, $$sroa$6$0$$sroa_idx = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = HEAP32[(1261344)>>2]|0; $5 = ($4|0)==(256); if ($5) { _Chat_AddRaw(27052); return; } else { $6 = $0&255; $$sroa$0$0$$sroa_idx = (379776 + ($4<<3)|0); HEAP32[$$sroa$0$0$$sroa_idx>>2] = $4; $$sroa$4$0$$sroa_idx = (((379776 + ($4<<3)|0)) + 4|0); HEAP8[$$sroa$4$0$$sroa_idx>>0] = $6; $$sroa$5$0$$sroa_idx = (((379776 + ($4<<3)|0)) + 5|0); HEAP8[$$sroa$5$0$$sroa_idx>>0] = $1; $$sroa$6$0$$sroa_idx = (((379776 + ($4<<3)|0)) + 6|0); HEAP8[$$sroa$6$0$$sroa_idx>>0] = $3; _StringsBuffer_Add(1261336,$2); $7 = HEAP32[(1261344)>>2]|0; $8 = (($7) + -1)|0; _Hotkeys_QuickSort(0,$8); return; } } function _Hotkeys_QuickSort($0,$1) { $0 = $0|0; $1 = $1|0; var $$049$lcssa = 0, $$04958 = 0, $$051$lcssa = 0, $$05157 = 0, $$05460 = 0, $$061 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$155 = 0, $$2 = 0, $$253 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0; var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($0|0)<($1|0); if (!($2)) { return; } $$05460 = $1;$$061 = $0; while(1) { $3 = (($$061) + ($$05460))|0; $4 = (1)?($3 >> 1):($3); $5 = (((379776 + ($4<<3)|0)) + 5|0); $6 = HEAP8[$5>>0]|0; $7 = ($$061|0)>($$05460|0); if ($7) { $$049$lcssa = $$05460;$$051$lcssa = $$061; } else { $$04958 = $$05460;$$05157 = $$061; while(1) { $$152 = $$05157; while(1) { $8 = (((379776 + ($$152<<3)|0)) + 5|0); $9 = HEAP8[$8>>0]|0; $10 = ($6&255)<($9&255); $11 = (($$152) + 1)|0; if ($10) { $$152 = $11; } else { break; } } $$150 = $$04958; while(1) { $12 = (((379776 + ($$150<<3)|0)) + 5|0); $13 = HEAP8[$12>>0]|0; $14 = ($6&255)>($13&255); $15 = (($$150) + -1)|0; if ($14) { $$150 = $15; } else { break; } } $16 = (379776 + ($$152<<3)|0); $17 = (379776 + ($$150<<3)|0); $18 = ($$152|0)>($$150|0); if ($18) { $$2 = $$150;$$253 = $$152; } else { $19 = (($$150) + -1)|0; $20 = (($$152) + 1)|0; $21 = $16; $22 = $21; $23 = HEAP32[$22>>2]|0; $24 = (($21) + 4)|0; $25 = $24; $26 = HEAP32[$25>>2]|0; $27 = $17; $28 = $27; $29 = HEAP32[$28>>2]|0; $30 = (($27) + 4)|0; $31 = $30; $32 = HEAP32[$31>>2]|0; $33 = $16; $34 = $33; HEAP32[$34>>2] = $29; $35 = (($33) + 4)|0; $36 = $35; HEAP32[$36>>2] = $32; $37 = $17; $38 = $37; HEAP32[$38>>2] = $23; $39 = (($37) + 4)|0; $40 = $39; HEAP32[$40>>2] = $26; $$2 = $19;$$253 = $20; } $41 = ($$253|0)>($$2|0); if ($41) { $$049$lcssa = $$2;$$051$lcssa = $$253; break; } else { $$04958 = $$2;$$05157 = $$253; } } } $42 = (($$049$lcssa) - ($$061))|0; $43 = (($$05460) - ($$051$lcssa))|0; $44 = ($42|0)>($43|0); if ($44) { $46 = ($$05460|0)>($$051$lcssa|0); if ($46) { _Hotkeys_QuickSort($$051$lcssa,$$05460); $$1 = $$061;$$155 = $$049$lcssa; } else { $$1 = $$061;$$155 = $$049$lcssa; } } else { $45 = ($$049$lcssa|0)>($$061|0); if ($45) { _Hotkeys_QuickSort($$061,$$049$lcssa); $$1 = $$051$lcssa;$$155 = $$05460; } else { $$1 = $$051$lcssa;$$155 = $$05460; } } $47 = ($$1|0)<($$155|0); if ($47) { $$05460 = $$155;$$061 = $$1; } else { break; } } return; } function _Hotkeys_Remove($0,$1) { $0 = $0|0; $1 = $1|0; var $$01826 = 0, $$01925 = 0, $$020 = 0, $$024 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[(1261344)>>2]|0; $3 = ($2|0)>(0); if (!($3)) { $$020 = 0; return ($$020|0); } $4 = HEAP32[(1261344)>>2]|0; $$01826 = 0;$$01925 = 379776; while(1) { $5 = ((($$01925)) + 4|0); $6 = HEAP8[$5>>0]|0; $7 = $6&255; $8 = ($7|0)==($0|0); if ($8) { $9 = ((($$01925)) + 5|0); $10 = HEAP8[$9>>0]|0; $11 = ($10<<24>>24)==($1<<24>>24); if ($11) { break; } } $30 = (($$01826) + 1)|0; $31 = ((($$01925)) + 8|0); $32 = ($30|0)<($4|0); if ($32) { $$01826 = $30;$$01925 = $31; } else { $$020 = 0; label = 9; break; } } if ((label|0) == 9) { return ($$020|0); } $12 = HEAP32[$$01925>>2]|0; _Hotkeys_RemoveText($12); $13 = HEAP32[(1261344)>>2]|0; $14 = ($$01826|0)<($13|0); if (!($14)) { $$020 = 1; return ($$020|0); } $15 = HEAP32[(1261344)>>2]|0; $$024 = $$01826; while(1) { $16 = (379776 + ($$024<<3)|0); $17 = (($$024) + 1)|0; $18 = (379776 + ($17<<3)|0); $19 = $18; $20 = $19; $21 = HEAP32[$20>>2]|0; $22 = (($19) + 4)|0; $23 = $22; $24 = HEAP32[$23>>2]|0; $25 = $16; $26 = $25; HEAP32[$26>>2] = $21; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $24; $29 = ($17|0)<($15|0); if ($29) { $$024 = $17; } else { $$020 = 1; break; } } return ($$020|0); } function _Hotkeys_FindPartial($0) { $0 = $0|0; var $$0 = 0, $$01926 = 0, $$020 = 0, $$1 = 0, $$2 = 0, $$sroa$3$0$$sroa_idx = 0, $$sroa$3$0$copyload = 0, $$sroa$4$0$$sroa_idx = 0, $$sroa$4$0$copyload = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[(379622)>>0]|0; $2 = HEAP8[(379623)>>0]|0; $3 = $2 | $1; $4 = ($3<<24>>24)!=(0); $$0 = $4&1; $5 = HEAP8[(379620)>>0]|0; $6 = HEAP8[(379621)>>0]|0; $7 = $6 | $5; $8 = ($7<<24>>24)==(0); $9 = $$0 | 2; $$1 = $8 ? $$0 : $9; $10 = HEAP8[(379624)>>0]|0; $11 = HEAP8[(379625)>>0]|0; $12 = $11 | $10; $13 = ($12<<24>>24)==(0); $14 = $$1 | 4; $$2 = $13 ? $$1 : $14; $15 = HEAP32[(1261344)>>2]|0; $16 = ($15|0)>(0); if (!($16)) { $$020 = -1; return ($$020|0); } $17 = HEAP32[(1261344)>>2]|0; $$01926 = 0; while(1) { $$sroa$4$0$$sroa_idx = (((379776 + ($$01926<<3)|0)) + 5|0); $$sroa$4$0$copyload = HEAP8[$$sroa$4$0$$sroa_idx>>0]|0; $18 = $$sroa$4$0$copyload&255; $19 = $$2 & $18; $20 = ($19|0)==($18|0); if ($20) { $$sroa$3$0$$sroa_idx = (((379776 + ($$01926<<3)|0)) + 4|0); $$sroa$3$0$copyload = HEAP8[$$sroa$3$0$$sroa_idx>>0]|0; $21 = $$sroa$3$0$copyload&255; $22 = ($21|0)==($0|0); if ($22) { $$020 = $$01926; label = 6; break; } } $23 = (($$01926) + 1)|0; $24 = ($23|0)<($17|0); if ($24) { $$01926 = $23; } else { $$020 = -1; label = 6; break; } } if ((label|0) == 6) { return ($$020|0); } return (0)|0; } function _Hotkeys_UserRemovedHotkey($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $2 = sp + 72|0; $3 = sp + 64|0; $4 = sp; HEAP8[$2>>0] = $1; HEAP32[$3>>2] = $4; $5 = ((($3)) + 4|0); HEAP16[$5>>1] = 0; $6 = ((($3)) + 6|0); HEAP16[$6>>1] = 64; $7 = (3280 + ($0<<2)|0); $8 = HEAP32[$7>>2]|0; _String_Format2($3,27090,$8,$2); _Options_SetString($3,0); STACKTOP = sp;return; } function _Hotkeys_UserAddedHotkey($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 224|0; $4 = sp + 209|0; $5 = sp + 208|0; $6 = sp + 200|0; $7 = sp + 128|0; $8 = sp + 192|0; $9 = sp; HEAP8[$4>>0] = $1; HEAP8[$5>>0] = $2; HEAP32[$6>>2] = $7; $10 = ((($6)) + 4|0); HEAP16[$10>>1] = 0; $11 = ((($6)) + 6|0); HEAP16[$11>>1] = 64; HEAP32[$8>>2] = $9; $12 = ((($8)) + 4|0); HEAP16[$12>>1] = 0; $13 = ((($8)) + 6|0); HEAP16[$13>>1] = 128; $14 = (3280 + ($0<<2)|0); $15 = HEAP32[$14>>2]|0; _String_Format2($6,27090,$15,$4); _String_Format2($8,27103,$5,$3); _Options_SetString($6,$8); STACKTOP = sp;return; } function _InputHandler_OnScreensChanged() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = (_DateTime_CurrentUTC_MS()|0); $1 = (getTempRet0() | 0); $2 = 544632; $3 = $2; HEAP32[$3>>2] = $0; $4 = (($2) + 4)|0; $5 = $4; HEAP32[$5>>2] = $1; HEAP32[2922] = -1; _MouseStateChanged(0,0); _MouseStateChanged(1,0); _MouseStateChanged(2,0); return; } function _InputHandler_PickBlocks() { var $$0 = 0, $$012 = 0, $$013 = 0, $$phitmp = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $narrow = 0, $narrow15 = 0, $not$ = 0, $phitmp$ = 0, label = 0; var sp = 0; sp = STACKTOP; $0 = (_DateTime_CurrentUTC_MS()|0); $1 = (getTempRet0() | 0); $2 = 544632; $3 = $2; $4 = HEAP32[$3>>2]|0; $5 = (($2) + 4)|0; $6 = $5; $7 = HEAP32[$6>>2]|0; $8 = (_i64Subtract(($0|0),($1|0),($4|0),($7|0))|0); $9 = (getTempRet0() | 0); $10 = ($8|0)<(250); if ($10) { return; } $11 = 544632; $12 = $11; HEAP32[$12>>2] = $0; $13 = (($11) + 4)|0; $14 = $13; HEAP32[$14>>2] = $1; $15 = (_Gui_GetInputGrab()|0); $16 = ($15|0)==(0|0); if (!($16)) { return; } $17 = (_KeyBind_IsPressed(26)|0); $18 = (_KeyBind_IsPressed(27)|0); $19 = (_KeyBind_IsPressed(28)|0); $20 = HEAP8[1408267]|0; $21 = ($20<<24>>24)==(0); if ($21) { $$0 = $17;$$012 = $18;$$013 = $19; } else { $22 = HEAP8[1408268]|0; $23 = ($22<<24>>24)==(0); $24 = (_AnyBlockTouches()|0); $25 = ($24<<24>>24)!=(0); $not$ = $23 ^ 1; $narrow = $25 & $not$; $$phitmp = $narrow&1; $narrow15 = $23 & $25; $phitmp$ = $narrow15&1; $$0 = $phitmp$;$$012 = 0;$$013 = $$phitmp; } $26 = HEAP8[(1384583)>>0]|0; $27 = ($26<<24>>24)==(0); if (!($27)) { HEAP32[2922] = -1; _MouseStateChanged(0,$$0); _MouseStateChanged(1,$$013); _MouseStateChanged(2,$$012); } $28 = ($$0<<24>>24)==(0); if (!($28)) { _DoDeleteBlock(); return; } $29 = ($$013<<24>>24)==(0); if (!($29)) { _DoPlaceBlock(); return; } $30 = ($$012<<24>>24)==(0); if ($30) { return; } _DoPickBlock(); return; } function _AnyBlockTouches() { var $$05 = 0, $$06 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[315331]|0; $1 = ($0|0)>(0); if (!($1)) { $$05 = 0; return ($$05|0); } $2 = HEAP32[315331]|0; $$06 = 0; while(1) { $5 = (((381824 + (($$06*24)|0)|0)) + 4|0); $6 = HEAP8[$5>>0]|0; $7 = $6 & 4; $8 = ($7<<24>>24)==(0); $3 = (($$06) + 1)|0; if (!($8)) { $$05 = 1; label = 5; break; } $4 = ($3|0)<($2|0); if ($4) { $$06 = $3; } else { $$05 = 0; label = 5; break; } } if ((label|0) == 5) { return ($$05|0); } return (0)|0; } function _DoPickBlock() { var $$sroa$0$0$copyload = 0, $$sroa$5$0$copyload = 0, $$sroa$7$0$copyload = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $$sroa$0$0$copyload = HEAP32[(1260256)>>2]|0; $$sroa$5$0$copyload = HEAP32[(1260260)>>2]|0; $$sroa$7$0$copyload = HEAP32[(1260264)>>2]|0; $0 = (_World_Contains_739($$sroa$0$0$copyload,$$sroa$5$0$copyload,$$sroa$7$0$copyload)|0); $1 = ($0<<24>>24)==(0); if ($1) { return; } $2 = (_World_GetBlock_740($$sroa$0$0$copyload,$$sroa$5$0$copyload,$$sroa$7$0$copyload)|0); $3 = $2&65535; $4 = (583428 + ($3)|0); $5 = HEAP8[$4>>0]|0; $6 = ($5<<24>>24)==(4); if ($6) { return; } $7 = (634116 + ($3)|0); $8 = HEAP8[$7>>0]|0; $9 = ($8<<24>>24)==(0); if ($9) { $10 = (634884 + ($3)|0); $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { return; } } _Inventory_PickBlock($2); return; } function _InputHandler_SetFOV($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[(1242626)>>0]|0; $2 = ($1<<24>>24)==(0); $3 = HEAP8[(1242628)>>0]|0; $4 = ($3<<24>>24)==(0); $or$cond = $2 | $4; if ($or$cond) { $$0 = 0; return ($$0|0); } HEAP32[315072] = $0; _Game_SetFov($0); $$0 = 1; return ($$0|0); } function _InputHandler_Init() { var label = 0, sp = 0; sp = STACKTOP; _Event_Register(1258616,0,19); _Event_Register((1258876),0,67); _Event_Register((1259136),0,68); _Event_Register((1257576),0,9); _Event_Register((1257836),0,69); _Event_Register((1258096),0,32); _Event_Register((1256536),0,301); _Event_Register((1252636),0,302); _KeyBind_Init(); _Hotkeys_Init(); return; } function _HandlePointerMove($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$017 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0; var label = 0, sp = 0; sp = STACKTOP; $4 = (379328 + ($1<<3)|0); $5 = HEAP32[$4>>2]|0; $6 = (((379328 + ($1<<3)|0)) + 4|0); $7 = HEAP32[$6>>2]|0; $8 = HEAP32[315198]|0; $9 = ($8|0)>(0); if (!($9)) { return; } $10 = 1 << $1; $$017 = 0; while(1) { $11 = (379280 + ($$017<<2)|0); $12 = HEAP32[$11>>2]|0; $13 = ((($12)) + 7|0); HEAP8[$13>>0] = 1; $14 = HEAP32[$12>>2]|0; $15 = ((($14)) + 44|0); $16 = HEAP32[$15>>2]|0; $17 = (FUNCTION_TABLE_iiiii[$16 & 63]($12,$10,$5,$7)|0); $18 = ($17|0)==(0); $19 = (($$017) + 1)|0; $20 = HEAP32[315198]|0; $21 = ($19|0)<($20|0); $or$cond = $18 & $21; if ($or$cond) { $$017 = $19; } else { break; } } return; } function _HandlePointerDown($0,$1) { $0 = $0|0; $1 = $1|0; var $$018 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var label = 0, sp = 0; sp = STACKTOP; $2 = (379328 + ($1<<3)|0); $3 = HEAP32[$2>>2]|0; $4 = (((379328 + ($1<<3)|0)) + 4|0); $5 = HEAP32[$4>>2]|0; $6 = HEAP32[315198]|0; $7 = ($6|0)>(0); if (!($7)) { return; } $8 = 1 << $1; $$018 = 0; while(1) { $12 = (379280 + ($$018<<2)|0); $13 = HEAP32[$12>>2]|0; $14 = ((($13)) + 7|0); HEAP8[$14>>0] = 1; $15 = HEAP32[$13>>2]|0; $16 = ((($15)) + 36|0); $17 = HEAP32[$16>>2]|0; $18 = (FUNCTION_TABLE_iiiii[$17 & 63]($13,$8,$3,$5)|0); $19 = ($18|0)==(0); $10 = (($$018) + 1)|0; if (!($19)) { break; } $9 = HEAP32[315198]|0; $11 = ($10|0)<($9|0); if ($11) { $$018 = $10; } else { label = 6; break; } } if ((label|0) == 6) { return; } $20 = (((381824 + (($1*24)|0)|0)) + 4|0); HEAP8[$20>>0] = 1; return; } function _HandlePointerUp($0,$1) { $0 = $0|0; $1 = $1|0; var $$017 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0; var label = 0, sp = 0; sp = STACKTOP; $2 = (379328 + ($1<<3)|0); $3 = HEAP32[$2>>2]|0; $4 = (((379328 + ($1<<3)|0)) + 4|0); $5 = HEAP32[$4>>2]|0; $6 = HEAP32[315198]|0; $7 = ($6|0)>(0); if (!($7)) { return; } $8 = 1 << $1; $$017 = 0; while(1) { $9 = (379280 + ($$017<<2)|0); $10 = HEAP32[$9>>2]|0; $11 = ((($10)) + 7|0); HEAP8[$11>>0] = 1; $12 = HEAP32[$10>>2]|0; $13 = ((($12)) + 40|0); $14 = HEAP32[$13>>2]|0; $15 = (FUNCTION_TABLE_iiiii[$14 & 63]($10,$8,$3,$5)|0); $16 = ($15|0)==(0); $17 = (($$017) + 1)|0; $18 = HEAP32[315198]|0; $19 = ($17|0)<($18|0); $or$cond = $16 & $19; if ($or$cond) { $$017 = $17; } else { break; } } return; } function _HandleInputDown($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$022 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (_InputHandler_IsShutdown($1)|0); $4 = ($3<<24>>24)==(0); if (!($4)) { _Window_Close(); return; } $5 = HEAP8[(379747)>>0]|0; $6 = $5&255; $7 = ($6|0)!=($1|0); $8 = ($2<<24>>24)!=(0); $or$cond = $8 | $7; if (!($or$cond)) { return; } $9 = HEAP32[315198]|0; $10 = ($9|0)>(0); L8: do { if ($10) { $$022 = 0; while(1) { $14 = (379280 + ($$022<<2)|0); $15 = HEAP32[$14>>2]|0; $16 = ((($15)) + 7|0); HEAP8[$16>>0] = 1; $17 = HEAP32[$15>>2]|0; $18 = ((($17)) + 20|0); $19 = HEAP32[$18>>2]|0; $20 = (FUNCTION_TABLE_iii[$19 & 127]($15,$1)|0); $21 = ($20|0)==(0); $12 = (($$022) + 1)|0; if (!($21)) { break; } $11 = HEAP32[315198]|0; $13 = ($12|0)<($11|0); if ($13) { $$022 = $12; } else { break L8; } } return; } } while(0); switch ($1|0) { case 92: case 99: { $22 = (_Gui_GetInputGrab()|0); $23 = ($22|0)==(0|0); if ($23) { HEAP8[1408272] = 1; _PauseScreen_Show(); return; } break; } default: { } } if ($8) { return; } $24 = (_HandleBlockKey($1)|0); $25 = ($24<<24>>24)==(0); if (!($25)) { return; } $26 = (_HandleCoreKey($1)|0); $27 = ($26<<24>>24)==(0); if (!($27)) { return; } $28 = (_LocalPlayer_HandlesKey($1)|0); $29 = ($28<<24>>24)==(0); if (!($29)) { return; } _HandleHotkeyDown($1); return; } function _HandleInputUp($0,$1) { $0 = $0|0; $1 = $1|0; var $$015 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP8[(379752)>>0]|0; $3 = $2&255; $4 = ($3|0)==($1|0); if ($4) { $5 = HEAP32[315071]|0; _Game_SetFov($5); } $6 = ($1|0)==(92); if ($6) { $7 = (_Gui_GetClosable()|0); $8 = ($7|0)==(0|0); if (!($8)) { $9 = HEAP8[1408272]|0; $10 = ($9<<24>>24)==(0); if ($10) { _Gui_Remove($7); return; } else { HEAP8[1408272] = 0; return; } } } $11 = HEAP32[315198]|0; $12 = ($11|0)>(0); L13: do { if ($12) { $$015 = 0; while(1) { $16 = (379280 + ($$015<<2)|0); $17 = HEAP32[$16>>2]|0; $18 = ((($17)) + 7|0); HEAP8[$18>>0] = 1; $19 = HEAP32[$17>>2]|0; $20 = ((($19)) + 24|0); $21 = HEAP32[$20>>2]|0; $22 = (FUNCTION_TABLE_iii[$21 & 127]($17,$1)|0); $23 = ($22|0)==(0); $14 = (($$015) + 1)|0; if (!($23)) { break; } $13 = HEAP32[315198]|0; $15 = ($14|0)<($13|0); if ($15) { $$015 = $14; } else { break L13; } } return; } } while(0); $24 = (_Gui_GetInputGrab()|0); $25 = ($24|0)==(0|0); if (!($25)) { return; } $26 = HEAP8[(379754)>>0]|0; $27 = $26&255; $28 = ($27|0)==($1|0); if ($28) { _MouseStateRelease(0); } $29 = HEAP8[(379756)>>0]|0; $30 = $29&255; $31 = ($30|0)==($1|0); if ($31) { _MouseStateRelease(1); } $32 = HEAP8[(379755)>>0]|0; $33 = $32&255; $34 = ($33|0)==($1|0); if (!($34)) { return; } _MouseStateRelease(2); return; } function _HandleMouseWheel($0,$1) { $0 = $0|0; $1 = +$1; var $$025 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; var $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[315198]|0; $3 = ($2|0)>(0); L1: do { if ($3) { $$025 = 0; while(1) { $7 = (379280 + ($$025<<2)|0); $8 = HEAP32[$7>>2]|0; $9 = ((($8)) + 7|0); HEAP8[$9>>0] = 1; $10 = HEAP32[$8>>2]|0; $11 = ((($10)) + 48|0); $12 = HEAP32[$11>>2]|0; $13 = (FUNCTION_TABLE_iid[$12 & 15]($8,$1)|0); $14 = ($13|0)==(0); $5 = (($$025) + 1)|0; if (!($14)) { break; } $4 = HEAP32[315198]|0; $6 = ($5|0)<($4|0); if ($6) { $$025 = $5; } else { break L1; } } return; } } while(0); $15 = HEAP8[(379624)>>0]|0; $16 = HEAP8[(379625)>>0]|0; $17 = $16 | $15; $18 = HEAP8[(379622)>>0]|0; $19 = $17 | $18; $20 = HEAP8[(379623)>>0]|0; $21 = $19 | $20; $22 = ($21<<24>>24)==(0); if ($22) { $23 = HEAP8[(379620)>>0]|0; $24 = HEAP8[(379621)>>0]|0; $25 = $24 | $23; $26 = ($25<<24>>24)==(0); if ($26) { $27 = HEAP32[(1230632)>>2]|0; $28 = ((($27)) + 40|0); $29 = HEAP32[$28>>2]|0; $30 = (FUNCTION_TABLE_id[$29 & 3]($1)|0); $31 = ($30<<24>>24)==(0); if (!($31)) { return; } } } $32 = (_InputHandler_DoFovZoom($1)|0); $33 = ($32<<24>>24)==(0); $34 = HEAP8[(1268188)>>0]|0; $35 = ($34<<24>>24)!=(0); $or$cond = $33 & $35; if (!($or$cond)) { return; } $36 = (_ChatScreen_GetHotbar()|0); $37 = HEAP32[$36>>2]|0; $38 = ((($37)) + 20|0); $39 = HEAP32[$38>>2]|0; (FUNCTION_TABLE_iid[$39 & 15]($36,$1)|0); $40 = HEAP32[315197]|0; $41 = ((($40)) + 7|0); HEAP8[$41>>0] = 1; return; } function _HandleFocusChanged($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408301]|0; $2 = ($1<<24>>24)==(0); if (!($2)) { return; } _Input_Clear(); return; } function _InputHandler_CheckZoomFov($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[(1242626)>>0]|0; $2 = ($1<<24>>24)==(0); $3 = HEAP8[(1242628)>>0]|0; $4 = ($3<<24>>24)==(0); $or$cond = $2 | $4; if (!($or$cond)) { return; } $5 = HEAP32[315071]|0; _Game_SetFov($5); return; } function _KeyBind_Init() { var label = 0, sp = 0; sp = STACKTOP; ;HEAP32[379728>>2]=HEAP32[3824>>2]|0;HEAP32[379728+4>>2]=HEAP32[3824+4>>2]|0;HEAP32[379728+8>>2]=HEAP32[3824+8>>2]|0;HEAP32[379728+12>>2]=HEAP32[3824+12>>2]|0;HEAP32[379728+16>>2]=HEAP32[3824+16>>2]|0;HEAP32[379728+20>>2]=HEAP32[3824+20>>2]|0;HEAP32[379728+24>>2]=HEAP32[3824+24>>2]|0;HEAP32[379728+28>>2]=HEAP32[3824+28>>2]|0;HEAP16[379728+32>>1]=HEAP16[3824+32>>1]|0;HEAP8[379728+34>>0]=HEAP8[3824+34>>0]|0; _KeyBind_Load(); return; } function _Hotkeys_Init() { var $$09 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; var $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $0 = sp + 56|0; $1 = sp + 48|0; $2 = sp + 40|0; $3 = sp + 32|0; $4 = sp + 8|0; $5 = sp + 24|0; $6 = sp + 16|0; $7 = sp + 65|0; $8 = sp + 64|0; $9 = sp; $10 = HEAP32[(1281760)>>2]|0; $11 = ($10|0)>(0); if (!($11)) { STACKTOP = sp;return; } $12 = ((($5)) + 4|0); $$09 = 0; while(1) { _StringsBuffer_UNSAFE_Get($9,(1281752),$$09); $13 = $9; $14 = $13; $15 = HEAP32[$14>>2]|0; $16 = (($13) + 4)|0; $17 = $16; $18 = HEAP32[$17>>2]|0; $19 = $4; $20 = $19; HEAP32[$20>>2] = $15; $21 = (($19) + 4)|0; $22 = $21; HEAP32[$22>>2] = $18; $23 = HEAP8[(1281748)>>0]|0; (_String_UNSAFE_Separate($4,$23,$5,$6)|0); $24 = (_String_CaselessStarts($5,11692)|0); $25 = ($24|0)==(0); if (!($25)) { $26 = HEAP16[$12>>1]|0; $27 = $26&65535; $28 = (($27) + 65529)|0; $29 = $28&65535; HEAP16[$12>>1] = $29; $30 = HEAP32[$5>>2]|0; $31 = ((($30)) + 7|0); HEAP32[$5>>2] = $31; $32 = (_String_UNSAFE_Separate($5,38,$0,$1)|0); $33 = ($32|0)==(0); if (!($33)) { $34 = (_String_UNSAFE_Separate($6,38,$2,$3)|0); $35 = ($34|0)==(0); if (!($35)) { $36 = (_Utils_ParseEnum($0,0,3280,133)|0); $37 = ($36|0)==(0); if (!($37)) { $38 = (_Convert_ParseUInt8($1,$7)|0); $39 = ($38<<24>>24)==(0); if (!($39)) { $40 = (_Convert_ParseBool($2,$8)|0); $41 = ($40<<24>>24)==(0); if (!($41)) { $42 = HEAP8[$7>>0]|0; $43 = HEAP8[$8>>0]|0; _Hotkeys_Add($36,$42,$3,$43); } } } } } } $44 = (($$09) + 1)|0; $45 = HEAP32[(1281760)>>2]|0; $46 = ($44|0)<($45|0); if ($46) { $$09 = $44; } else { break; } } STACKTOP = sp;return; } function _KeyBind_Load() { var $$010 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $0 = sp + 72|0; $1 = sp; HEAP32[$0>>2] = $1; $2 = ((($0)) + 4|0); HEAP16[$2>>1] = 0; $3 = ((($0)) + 6|0); HEAP16[$3>>1] = 64; $$010 = 0; while(1) { HEAP16[$2>>1] = 0; $4 = (4128 + ($$010<<2)|0); $5 = HEAP32[$4>>2]|0; _String_Format1($0,26804,$5); $6 = HEAP32[$0>>2]|0; $7 = HEAP16[$2>>1]|0; $8 = $7&65535; $9 = (($6) + ($8)|0); HEAP8[$9>>0] = 0; $10 = HEAP32[$0>>2]|0; $11 = (3824 + ($$010)|0); $12 = HEAP8[$11>>0]|0; $13 = $12&255; $14 = (_Options_GetEnum($10,$13,3280,133)|0); $15 = ($14|0)==(92); if (!($15)) { $16 = (379728 + ($$010)|0); $17 = $14&255; HEAP8[$16>>0] = $17; } $18 = (($$010) + 1)|0; $exitcond = ($18|0)==(35); if ($exitcond) { break; } else { $$010 = $18; } } STACKTOP = sp;return; } function _InputHandler_DoFovZoom($0) { $0 = +$0; var $$0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0; var $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_KeyBind_IsPressed(24)|0); $2 = ($1<<24>>24)==(0); if ($2) { $$0 = 0; return ($$0|0); } $3 = HEAP8[(1242626)>>0]|0; $4 = ($3<<24>>24)==(0); $5 = HEAP8[(1242628)>>0]|0; $6 = ($5<<24>>24)==(0); $or$cond = $4 | $6; if ($or$cond) { $$0 = 0; return ($$0|0); } $7 = +HEAPF32[2925]; $8 = $7 == -1.0; if ($8) { $9 = HEAP32[315072]|0; $10 = (+($9|0)); HEAPF32[2925] = $10; } $11 = $0 * 5.0; $12 = +HEAPF32[2925]; $13 = $12 - $11; $14 = $13 < 1.0; $15 = $14 ? 1.0 : $13; $16 = HEAP32[315071]|0; $17 = (+($16|0)); $18 = $15 > $17; $19 = $18 ? $17 : $15; HEAPF32[2925] = $19; $20 = (~~(($19))); $21 = (_InputHandler_SetFOV($20)|0); $$0 = $21; return ($$0|0); } function _InputHandler_IsShutdown($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ($0|0)==(4); if ($1) { $2 = HEAP8[(379624)>>0]|0; $3 = HEAP8[(379625)>>0]|0; $4 = $3 | $2; $5 = ($4<<24>>24)==(0); if (!($5)) { $$0 = 1; return ($$0|0); } } $$0 = 0; return ($$0|0); } function _HandleBlockKey($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Gui_GetInputGrab()|0); $2 = ($1|0)==(0|0); if (!($2)) { $$0 = 0; return ($$0|0); } $3 = HEAP8[(379754)>>0]|0; $4 = $3&255; $5 = ($4|0)==($0|0); if ($5) { _MouseStatePress(0); _DoDeleteBlock(); $$0 = 1; return ($$0|0); } $6 = HEAP8[(379756)>>0]|0; $7 = $6&255; $8 = ($7|0)==($0|0); if ($8) { _MouseStatePress(1); _DoPlaceBlock(); $$0 = 1; return ($$0|0); } $9 = HEAP8[(379755)>>0]|0; $10 = $9&255; $11 = ($10|0)==($0|0); if (!($11)) { $$0 = 0; return ($$0|0); } _MouseStatePress(2); _DoPickBlock(); $$0 = 1; return ($$0|0); } function _HandleCoreKey($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond26 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[(379746)>>0]|0; $2 = $1&255; $3 = ($2|0)==($0|0); if ($3) { $4 = HEAP8[1408260]|0; $5 = ($4<<24>>24)==(0); $6 = $5&1; HEAP8[1408260] = $6; $$0 = 1; return ($$0|0); } $7 = HEAP8[(379748)>>0]|0; $8 = $7&255; $9 = ($8|0)==($0|0); if ($9) { $10 = (_Window_GetWindowState()|0); $11 = ($10|0)==(2); if ($11) { $12 = (_Window_ExitFullscreen()|0); $13 = ($12|0)==(0); if ($13) { $$0 = 1; return ($$0|0); } _Logger_Warn($12,27117); $$0 = 1; return ($$0|0); } else { $14 = (_Window_EnterFullscreen()|0); $15 = ($14|0)==(0); if ($15) { $$0 = 1; return ($$0|0); } _Logger_Warn($14,27136); $$0 = 1; return ($$0|0); } } $16 = HEAP8[(379737)>>0]|0; $17 = $16&255; $18 = ($17|0)==($0|0); if ($18) { $19 = HEAP8[1408259]|0; $20 = ($19<<24>>24)!=(0); $21 = $20 ? 19092 : 4272; $22 = $20 ? 4 : 10; $23 = HEAP8[(379620)>>0]|0; $24 = HEAP8[(379621)>>0]|0; $25 = $24 | $23; $26 = ($25<<24>>24)==(0); if ($26) { _CycleViewDistanceForwards($21,$22); $$0 = 1; return ($$0|0); } else { _CycleViewDistanceBackwards($21,$22); $$0 = 1; return ($$0|0); } } $27 = ($0|0)!=(5); $28 = HEAP8[1408229]|0; $29 = ($28<<24>>24)==(0); $or$cond26 = $27 | $29; if (!($or$cond26)) { $30 = HEAP32[(1407540)>>2]|0; $31 = ($30|0)==(0); $32 = $31&1; _Env_SetWeather($32); $$0 = 1; return ($$0|0); } if (!($29)) { $$0 = 0; return ($$0|0); } $33 = (_HandleNonClassicKey($0)|0); $$0 = $33; return ($$0|0); } function _HandleHotkeyDown($0) { $0 = $0|0; var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = (_Hotkeys_FindPartial($0)|0); $3 = ($2|0)==(-1); if ($3) { STACKTOP = sp;return; } $4 = (379776 + ($2<<3)|0); $5 = HEAP32[$4>>2]|0; _StringsBuffer_UNSAFE_Get($1,1261336,$5); $6 = (((379776 + ($2<<3)|0)) + 6|0); $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { _Chat_Send($1,0); STACKTOP = sp;return; } $9 = (_Gui_GetInputGrab()|0); $10 = ($9|0)==(0|0); if (!($10)) { STACKTOP = sp;return; } _ChatScreen_OpenInput($1); STACKTOP = sp;return; } function _CycleViewDistanceBackwards($0,$1) { $0 = $0|0; $1 = $1|0; var $$010 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (($1) + -1)|0; $3 = ($1|0)>(0); L1: do { if ($3) { $4 = HEAP32[315052]|0; $$010 = $2; while(1) { $7 = (($0) + ($$010<<1)|0); $8 = HEAP16[$7>>1]|0; $9 = $8 << 16 >> 16; $10 = ($4|0)>($9|0); if ($10) { break; } $5 = (($$010) + -1)|0; $6 = ($$010|0)>(0); if ($6) { $$010 = $5; } else { break L1; } } $11 = $8 << 16 >> 16; _Game_UserSetViewDistance($11); return; } } while(0); $12 = (($0) + ($2<<1)|0); $13 = HEAP16[$12>>1]|0; $14 = $13 << 16 >> 16; _Game_UserSetViewDistance($14); return; } function _CycleViewDistanceForwards($0,$1) { $0 = $0|0; $1 = $1|0; var $$09 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)>(0); L1: do { if ($2) { $3 = HEAP32[315052]|0; $$09 = 0; while(1) { $6 = (($0) + ($$09<<1)|0); $7 = HEAP16[$6>>1]|0; $8 = $7 << 16 >> 16; $9 = ($3|0)<($8|0); $4 = (($$09) + 1)|0; if ($9) { break; } $5 = ($4|0)<($1|0); if ($5) { $$09 = $4; } else { break L1; } } $10 = $7 << 16 >> 16; _Game_UserSetViewDistance($10); return; } } while(0); $11 = HEAP16[$0>>1]|0; $12 = $11 << 16 >> 16; _Game_UserSetViewDistance($12); return; } function _HandleNonClassicKey($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[(379750)>>0]|0; $2 = $1&255; $3 = ($2|0)==($0|0); if ($3) { $4 = HEAP8[1408238]|0; $5 = ($4<<24>>24)==(0); $6 = $5&1; HEAP8[1408238] = $6; $$0 = 1; return ($$0|0); } $7 = HEAP8[(379759)>>0]|0; $8 = $7&255; $9 = ($8|0)==($0|0); if ($9) { _InputHandler_Toggle($0,(1230544),27153,27184); $$0 = 1; return ($$0|0); } $10 = HEAP8[(379751)>>0]|0; $11 = $10&255; $12 = ($11|0)==($0|0); if ($12) { _InputHandler_Toggle($0,1408206,27216,27262); $$0 = 1; return ($$0|0); } $13 = HEAP8[(379757)>>0]|0; $14 = $13&255; $15 = ($14|0)==($0|0); if ($15) { _InputHandler_Toggle($0,1408207,27292,27321); $$0 = 1; return ($$0|0); } $16 = HEAP8[(379749)>>0]|0; $17 = $16&255; $18 = ($17|0)==($0|0); if ($18) { _Camera_CycleActive(); $$0 = 1; return ($$0|0); } $19 = HEAP8[(379760)>>0]|0; $20 = $19&255; $21 = ($20|0)==($0|0); if ($21) { $22 = (_Inventory_CheckChangeSelected()|0); $23 = ($22<<24>>24)==(0); if ($23) { $$0 = 1; return ($$0|0); } $24 = HEAP32[(1268184)>>2]|0; $25 = HEAP32[(1268180)>>2]|0; $26 = (($25) + ($24))|0; $27 = (1266480 + ($26<<1)|0); $28 = HEAP16[$27>>1]|0; $29 = ($28<<16>>16)==(0); if ($29) { $$0 = 1; return ($$0|0); } HEAP16[$27>>1] = 0; _Event_RaiseVoid((1252896)); $$0 = 1; return ($$0|0); } $30 = HEAP8[(379761)>>0]|0; $31 = $30&255; $32 = ($31|0)==($0|0); if ($32) { _TexIdsOverlay_Show(); $$0 = 1; return ($$0|0); } $33 = HEAP8[(379762)>>0]|0; $34 = $33&255; $35 = ($34|0)==($0|0); if (!($35)) { $$0 = 0; return ($$0|0); } _InputHandler_Toggle($0,1408230,27351,27386); $$0 = 1; return ($$0|0); } function _InputHandler_Toggle($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = HEAP8[$1>>0]|0; $5 = ($4<<24>>24)==(0); $6 = $5&1; HEAP8[$1>>0] = $6; $7 = (3280 + ($0<<2)|0); $8 = HEAP32[$7>>2]|0; if ($5) { _Chat_Add2(27422,$2,$8); return; } else { _Chat_Add2(27453,$3,$8); return; } } function _Inventory_Init() { var label = 0, sp = 0; sp = STACKTOP; _Inventory_Reset(); HEAP16[633240] = 1; HEAP16[(1266482)>>1] = 4; HEAP16[(1266484)>>1] = 45; HEAP16[(1266486)>>1] = 3; HEAP16[(1266488)>>1] = 5; HEAP16[(1266490)>>1] = 17; HEAP16[(1266492)>>1] = 18; HEAP16[(1266494)>>1] = 2; HEAP16[(1266496)>>1] = 44; return; } function _Inventory_Reset() { var label = 0, sp = 0; sp = STACKTOP; _Inventory_ApplyDefaultMapping(); HEAP8[(1268188)>>0] = 1; return; } function _Inventory_ApplyDefaultMapping() { var $$05 = 0, $0 = 0, $1 = 0, $2 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $$05 = 0; while(1) { $0 = (_Inventory_DefaultMapping($$05)|0); $1 = (1266642 + ($$05<<1)|0); HEAP16[$1>>1] = $0; $2 = (($$05) + 1)|0; $exitcond = ($2|0)==(768); if ($exitcond) { break; } else { $$05 = $2; } } return; } function _Inventory_DefaultMapping($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408229]|0; $2 = ($1<<24>>24)==(0); $3 = HEAP8[1408233]|0; $4 = ($3<<24>>24)!=(0); $or$cond = $2 | $4; do { if ($or$cond) { if ($2) { $13 = ($0|0)<(65); if (!($13)) { $$0 = 0; break; } $14 = (($0) + 1)|0; $15 = $14&65535; $$0 = $15; break; } else { $9 = ($0|0)<(49); if (!($9)) { $$0 = 0; break; } $10 = (4352 + ($0)|0); $11 = HEAP8[$10>>0]|0; $12 = $11&255; $$0 = $12; break; } } else { $5 = ($0|0)<(42); if ($5) { $6 = (4304 + ($0)|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; $$0 = $8; } else { $$0 = 0; } } } while(0); return ($$0|0); } function _Inventory_CheckChangeSelected() { var $$0 = 0, $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP8[(1268188)>>0]|0; $1 = ($0<<24>>24)==(0); if (!($1)) { $$0 = 1; return ($$0|0); } _Chat_AddRaw(27486); $$0 = 0; return ($$0|0); } function _Inventory_SetSelectedIndex($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Inventory_CheckChangeSelected()|0); $2 = ($1<<24>>24)==(0); if ($2) { return; } HEAP32[(1268180)>>2] = $0; _Event_RaiseVoid((1252896)); return; } function _Inventory_SetHotbarIndex($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Inventory_CheckChangeSelected()|0); $2 = ($1<<24>>24)!=(0); $3 = HEAP8[1408229]|0; $4 = ($3<<24>>24)==(0); $or$cond = $2 & $4; if (!($or$cond)) { return; } $5 = ($0*9)|0; HEAP32[(1268184)>>2] = $5; _Event_RaiseVoid((1252896)); return; } function _Inventory_SetSelectedBlock($0) { $0 = $0|0; var $$lcssa = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Inventory_CheckChangeSelected()|0); $2 = ($1<<24>>24)==(0); if ($2) { return; } $4 = HEAP32[(1268184)>>2]|0; $8 = (1266480 + ($4<<1)|0); $9 = HEAP16[$8>>1]|0; $10 = ($9<<16>>16)==($0<<16>>16); if ($10) { $$lcssa = $8; label = 4; } else { $3 = (($4) + 1)|0; $5 = (1266480 + ($3<<1)|0); $6 = HEAP16[$5>>1]|0; $7 = ($6<<16>>16)==($0<<16>>16); if ($7) { $$lcssa = $5; label = 4; } else { $19 = (($4) + 2)|0; $20 = (1266480 + ($19<<1)|0); $21 = HEAP16[$20>>1]|0; $22 = ($21<<16>>16)==($0<<16>>16); if ($22) { $$lcssa = $20; label = 4; } else { $23 = (($4) + 3)|0; $24 = (1266480 + ($23<<1)|0); $25 = HEAP16[$24>>1]|0; $26 = ($25<<16>>16)==($0<<16>>16); if ($26) { $$lcssa = $24; label = 4; } else { $27 = (($4) + 4)|0; $28 = (1266480 + ($27<<1)|0); $29 = HEAP16[$28>>1]|0; $30 = ($29<<16>>16)==($0<<16>>16); if ($30) { $$lcssa = $28; label = 4; } else { $31 = (($4) + 5)|0; $32 = (1266480 + ($31<<1)|0); $33 = HEAP16[$32>>1]|0; $34 = ($33<<16>>16)==($0<<16>>16); if ($34) { $$lcssa = $32; label = 4; } else { $35 = (($4) + 6)|0; $36 = (1266480 + ($35<<1)|0); $37 = HEAP16[$36>>1]|0; $38 = ($37<<16>>16)==($0<<16>>16); if ($38) { $$lcssa = $36; label = 4; } else { $39 = (($4) + 7)|0; $40 = (1266480 + ($39<<1)|0); $41 = HEAP16[$40>>1]|0; $42 = ($41<<16>>16)==($0<<16>>16); if ($42) { $$lcssa = $40; label = 4; } else { $43 = (($4) + 8)|0; $44 = (1266480 + ($43<<1)|0); $45 = HEAP16[$44>>1]|0; $46 = ($45<<16>>16)==($0<<16>>16); if ($46) { $$lcssa = $44; label = 4; } } } } } } } } } if ((label|0) == 4) { $11 = HEAP32[(1268180)>>2]|0; $12 = (($11) + ($4))|0; $13 = (1266480 + ($12<<1)|0); $14 = HEAP16[$13>>1]|0; HEAP16[$$lcssa>>1] = $14; } $15 = HEAP32[(1268184)>>2]|0; $16 = HEAP32[(1268180)>>2]|0; $17 = (($16) + ($15))|0; $18 = (1266480 + ($17<<1)|0); HEAP16[$18>>1] = $0; _Event_RaiseVoid((1252896)); return; } function _Inventory_PickBlock($0) { $0 = $0|0; var $$017$lcssa = 0, $$116$lcssa = 0, $$lcssa = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Inventory_CheckChangeSelected()|0); $2 = ($1<<24>>24)==(0); if ($2) { return; } $3 = HEAP32[(1268184)>>2]|0; $4 = HEAP32[(1268180)>>2]|0; $5 = (($4) + ($3))|0; $6 = (1266480 + ($5<<1)|0); $7 = HEAP16[$6>>1]|0; $8 = ($7<<16>>16)==($0<<16>>16); if ($8) { return; } $9 = ($7<<16>>16)==(0); if ($9) { _Inventory_SetSelectedBlock($0); return; } $10 = (1266480 + ($3<<1)|0); $11 = HEAP16[$10>>1]|0; $12 = ($11<<16>>16)==($0<<16>>16); if ($12) { $$017$lcssa = 0; } else { $13 = (($3) + 1)|0; $14 = (1266480 + ($13<<1)|0); $15 = HEAP16[$14>>1]|0; $16 = ($15<<16>>16)==($0<<16>>16); if ($16) { $$017$lcssa = 1; } else { $52 = (($3) + 2)|0; $53 = (1266480 + ($52<<1)|0); $54 = HEAP16[$53>>1]|0; $55 = ($54<<16>>16)==($0<<16>>16); if ($55) { $$017$lcssa = 2; } else { $56 = (($3) + 3)|0; $57 = (1266480 + ($56<<1)|0); $58 = HEAP16[$57>>1]|0; $59 = ($58<<16>>16)==($0<<16>>16); if ($59) { $$017$lcssa = 3; } else { $60 = (($3) + 4)|0; $61 = (1266480 + ($60<<1)|0); $62 = HEAP16[$61>>1]|0; $63 = ($62<<16>>16)==($0<<16>>16); if ($63) { $$017$lcssa = 4; } else { $64 = (($3) + 5)|0; $65 = (1266480 + ($64<<1)|0); $66 = HEAP16[$65>>1]|0; $67 = ($66<<16>>16)==($0<<16>>16); if ($67) { $$017$lcssa = 5; } else { $68 = (($3) + 6)|0; $69 = (1266480 + ($68<<1)|0); $70 = HEAP16[$69>>1]|0; $71 = ($70<<16>>16)==($0<<16>>16); if ($71) { $$017$lcssa = 6; } else { $72 = (($3) + 7)|0; $73 = (1266480 + ($72<<1)|0); $74 = HEAP16[$73>>1]|0; $75 = ($74<<16>>16)==($0<<16>>16); if ($75) { $$017$lcssa = 7; } else { $76 = (($3) + 8)|0; $77 = (1266480 + ($76<<1)|0); $78 = HEAP16[$77>>1]|0; $79 = ($78<<16>>16)==($0<<16>>16); if ($79) { $$017$lcssa = 8; } else { $17 = (1266480 + ($3<<1)|0); $18 = HEAP16[$17>>1]|0; $19 = ($18<<16>>16)==(0); do { if ($19) { $$116$lcssa = 0;$$lcssa = $17; } else { $20 = (($3) + 1)|0; $21 = (1266480 + ($20<<1)|0); $22 = HEAP16[$21>>1]|0; $23 = ($22<<16>>16)==(0); if ($23) { $$116$lcssa = 1;$$lcssa = $21; } else { $24 = (($3) + 2)|0; $25 = (1266480 + ($24<<1)|0); $26 = HEAP16[$25>>1]|0; $27 = ($26<<16>>16)==(0); if ($27) { $$116$lcssa = 2;$$lcssa = $25; } else { $28 = (($3) + 3)|0; $29 = (1266480 + ($28<<1)|0); $30 = HEAP16[$29>>1]|0; $31 = ($30<<16>>16)==(0); if ($31) { $$116$lcssa = 3;$$lcssa = $29; } else { $32 = (($3) + 4)|0; $33 = (1266480 + ($32<<1)|0); $34 = HEAP16[$33>>1]|0; $35 = ($34<<16>>16)==(0); if ($35) { $$116$lcssa = 4;$$lcssa = $33; } else { $36 = (($3) + 5)|0; $37 = (1266480 + ($36<<1)|0); $38 = HEAP16[$37>>1]|0; $39 = ($38<<16>>16)==(0); if ($39) { $$116$lcssa = 5;$$lcssa = $37; } else { $40 = (($3) + 6)|0; $41 = (1266480 + ($40<<1)|0); $42 = HEAP16[$41>>1]|0; $43 = ($42<<16>>16)==(0); if ($43) { $$116$lcssa = 6;$$lcssa = $41; break; } $44 = (($3) + 7)|0; $45 = (1266480 + ($44<<1)|0); $46 = HEAP16[$45>>1]|0; $47 = ($46<<16>>16)==(0); if ($47) { $$116$lcssa = 7;$$lcssa = $45; break; } $48 = (($3) + 8)|0; $49 = (1266480 + ($48<<1)|0); $50 = HEAP16[$49>>1]|0; $51 = ($50<<16>>16)==(0); if ($51) { $$116$lcssa = 8;$$lcssa = $49; break; } _Inventory_SetSelectedBlock($0); return; } } } } } } } while(0); HEAP16[$$lcssa>>1] = $0; _Inventory_SetSelectedIndex($$116$lcssa); return; } } } } } } } } } _Inventory_SetSelectedIndex($$017$lcssa); return; } function _Inventory_AddDefault($0) { $0 = $0|0; var $$011 = 0, $$011$sink = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ($0&65535)>(65); L1: do { if ($1) { $2 = $0&65535; $3 = (($2) + -1)|0; $$011$sink = $3; } else { $$011 = 0; while(1) { $4 = (_Inventory_DefaultMapping($$011)|0); $5 = ($4<<16>>16)==($0<<16>>16); if ($5) { $$011$sink = $$011; break L1; } $6 = (($$011) + 1)|0; $7 = ($6>>>0)<(65); if ($7) { $$011 = $6; } else { break; } } return; } } while(0); $8 = (1266642 + ($$011$sink<<1)|0); HEAP16[$8>>1] = $0; return; } function _Inventory_Remove($0) { $0 = $0|0; var $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $$06 = 0; while(1) { $1 = (1266642 + ($$06<<1)|0); $2 = HEAP16[$1>>1]|0; $3 = ($2<<16>>16)==($0<<16>>16); if ($3) { HEAP16[$1>>1] = 0; } $4 = (($$06) + 1)|0; $exitcond = ($4|0)==(768); if ($exitcond) { break; } else { $$06 = $4; } } return; } function _IsometricDrawer_BeginBatch($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _IsometricDrawer_InitCache(); HEAP32[317048] = -1; HEAP32[317049] = $0; HEAP32[317050] = $0; HEAP32[317051] = $1; _Gfx_LoadMatrix(1,1268208); return; } function _IsometricDrawer_InitCache() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 128|0; $0 = sp + 64|0; $1 = sp; $2 = HEAP8[1408273]|0; $3 = ($2<<24>>24)==(0); if (!($3)) { STACKTOP = sp;return; } HEAP8[1408273] = 1; _PackedCol_GetShaded(-1,1268272,1268276,1268280); _Matrix_RotateY($0,0.78539818525314331); _Matrix_RotateX($1,-0.52359879016876221); _Matrix_Mul(1268208,$0,$1); STACKTOP = sp;return; } function _IsometricDrawer_DrawBatch($0,$1,$2,$3) { $0 = $0|0; $1 = +$1; $2 = +$2; $3 = +$3; var $$sroa$0$0$copyload = 0.0, $$sroa$06$0$copyload = 0.0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$4$0$copyload = 0.0, $$sroa$48$0$$sroa_idx9 = 0, $$sroa$48$0$copyload = 0.0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$5$0$copyload = 0.0, $$sroa$511$0$$sroa_idx12 = 0, $$sroa$511$0$copyload = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0; var $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0; var $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; var $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = $0&65535; $5 = (571140 + ($4)|0); $6 = HEAP8[$5>>0]|0; $7 = (583428 + ($4)|0); $8 = HEAP8[$7>>0]|0; $9 = ($8<<24>>24)==(4); if ($9) { return; } $10 = $1 / 1.4142135381698608; HEAPF32[317071] = $10; HEAPF32[317072] = $2; HEAPF32[317073] = $3; HEAPF32[317074] = 0.0; _IsometricDrawer_RotateX(); _IsometricDrawer_RotateY(); $11 = +HEAPF32[317072]; $12 = $11 + -0.5; HEAPF32[317072] = $12; $13 = +HEAPF32[317073]; $14 = $13 + -0.5; HEAPF32[317073] = $14; $15 = HEAP8[$7>>0]|0; $16 = ($15<<24>>24)==(5); if ($16) { _IsometricDrawer_SpriteXQuad($0,1); _IsometricDrawer_SpriteZQuad($0,1); _IsometricDrawer_SpriteZQuad($0,0); _IsometricDrawer_SpriteXQuad($0,0); return; } else { $17 = (588036 + (($4*12)|0)|0); ;HEAP32[(1241064)>>2]=HEAP32[$17>>2]|0;HEAP32[(1241064)+4>>2]=HEAP32[$17+4>>2]|0;HEAP32[(1241064)+8>>2]=HEAP32[$17+8>>2]|0; $18 = +HEAPF32[(1241068)>>2]; $19 = 1.0 - $18; HEAPF32[(1241068)>>2] = $19; $20 = (597252 + (($4*12)|0)|0); ;HEAP32[(1241076)>>2]=HEAP32[$20>>2]|0;HEAP32[(1241076)+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[(1241076)+8>>2]=HEAP32[$20+8>>2]|0; $21 = +HEAPF32[(1241080)>>2]; $22 = 1.0 - $21; HEAPF32[(1241080)>>2] = $22; $$sroa$06$0$copyload = +HEAPF32[$17>>2]; $$sroa$48$0$$sroa_idx9 = (((588036 + (($4*12)|0)|0)) + 4|0); $$sroa$48$0$copyload = +HEAPF32[$$sroa$48$0$$sroa_idx9>>2]; $$sroa$511$0$$sroa_idx12 = (((588036 + (($4*12)|0)|0)) + 8|0); $$sroa$511$0$copyload = +HEAPF32[$$sroa$511$0$$sroa_idx12>>2]; $$sroa$0$0$copyload = +HEAPF32[$20>>2]; $$sroa$4$0$$sroa_idx2 = (((597252 + (($4*12)|0)|0)) + 4|0); $$sroa$4$0$copyload = +HEAPF32[$$sroa$4$0$$sroa_idx2>>2]; $$sroa$5$0$$sroa_idx4 = (((597252 + (($4*12)|0)|0)) + 8|0); $$sroa$5$0$copyload = +HEAPF32[$$sroa$5$0$$sroa_idx4>>2]; $23 = $$sroa$06$0$copyload * 2.0; $24 = 1.0 - $23; $25 = $10 * $24; $26 = $12 + $25; HEAPF32[(1241088)>>2] = $26; $27 = $$sroa$0$0$copyload * 2.0; $28 = 1.0 - $27; $29 = $10 * $28; $30 = $12 + $29; HEAPF32[(1241100)>>2] = $30; $31 = $$sroa$48$0$copyload * 2.0; $32 = 1.0 - $31; $33 = $10 * $32; $34 = $14 + $33; HEAPF32[(1241092)>>2] = $34; $35 = $$sroa$4$0$copyload * 2.0; $36 = 1.0 - $35; $37 = $10 * $36; $38 = $14 + $37; HEAPF32[(1241104)>>2] = $38; $39 = $$sroa$511$0$copyload * 2.0; $40 = 1.0 - $39; $41 = $10 * $40; $42 = +HEAPF32[317074]; $43 = $41 + $42; HEAPF32[(1241096)>>2] = $43; $44 = $$sroa$5$0$copyload * 2.0; $45 = 1.0 - $44; $46 = $10 * $45; $47 = $46 + $42; HEAPF32[(1241108)>>2] = $47; $48 = (585732 + ($4)|0); $49 = HEAP8[$48>>0]|0; HEAP8[1241056] = $49; $50 = (571908 + ($4<<2)|0); $51 = HEAP32[$50>>2]|0; HEAP32[(1241060)>>2] = $51; $52 = ($6<<24>>24)!=(0); $53 = HEAP32[317068]|0; $54 = $52 ? -1 : $53; $55 = (_IsometricDrawer_GetTexLoc($0,1)|0); _Drawer_XMax(1,$54,$55,1268196); $56 = HEAP32[317069]|0; $57 = $52 ? -1 : $56; $58 = (_IsometricDrawer_GetTexLoc($0,2)|0); _Drawer_ZMin(1,$57,$58,1268196); $59 = (_IsometricDrawer_GetTexLoc($0,5)|0); _Drawer_YMax(1,-1,$59,1268196); return; } } function _IsometricDrawer_RotateX() { var $0 = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, label = 0, sp = 0; sp = STACKTOP; $0 = +HEAPF32[317073]; $1 = $0 * 0.86602538824081421; $2 = +HEAPF32[317074]; $3 = $2 * 0.5; $4 = $1 - $3; $5 = $0 * 0.5; $6 = $2 * 0.86602538824081421; $7 = $5 + $6; HEAPF32[317074] = $7; HEAPF32[317073] = $4; return; } function _IsometricDrawer_RotateY() { var $0 = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, label = 0, sp = 0; sp = STACKTOP; $0 = +HEAPF32[317072]; $1 = $0 * 0.70710676908493042; $2 = +HEAPF32[317074]; $3 = $2 * 0.70710676908493042; $4 = $1 - $3; $5 = $1 + $3; HEAPF32[317074] = $5; HEAPF32[317072] = $4; return; } function _IsometricDrawer_SpriteXQuad($0,$1) { $0 = $0|0; $1 = $1|0; var $$sroa$10$0$$sroa_idx33 = 0, $$sroa$10$0$$sroa_idx34 = 0, $$sroa$10$0$$sroa_idx36 = 0, $$sroa$10$0$$sroa_idx39 = 0, $$sroa$12$0 = 0, $$sroa$12$0$$sroa_idx41 = 0, $$sroa$12$0$$sroa_idx42 = 0, $$sroa$12$0$$sroa_idx44 = 0, $$sroa$12$0$$sroa_idx47 = 0, $$sroa$15$0$$sroa_idx49 = 0, $$sroa$15$0$$sroa_idx50 = 0, $$sroa$15$0$$sroa_idx52 = 0, $$sroa$15$0$$sroa_idx55 = 0, $$sroa$17$0$$sroa_idx57 = 0, $$sroa$17$0$$sroa_idx58 = 0, $$sroa$17$0$$sroa_idx60 = 0, $$sroa$17$0$$sroa_idx63 = 0, $$sroa$7$0$$sroa_idx25 = 0, $$sroa$7$0$$sroa_idx26 = 0, $$sroa$7$0$$sroa_idx28 = 0; var $$sroa$7$0$$sroa_idx31 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0; var $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; var $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = $0&65535; $4 = ($3*6)|0; $5 = $4 | 1; $6 = (624900 + ($5<<1)|0); $7 = HEAP16[$6>>1]|0; _Atlas1D_TexRec($2,$7,1,1268300); $8 = HEAP32[317048]|0; $9 = HEAP32[317075]|0; $10 = ($8|0)==($9|0); if (!($10)) { _IsometricDrawer_Flush(); } $11 = (585732 + ($3)|0); $12 = HEAP8[$11>>0]|0; $13 = ($12<<24>>24)==(0); if ($13) { $$sroa$12$0 = -1; } else { $14 = (571908 + ($3<<2)|0); $15 = HEAP32[$14>>2]|0; $16 = (_PackedCol_Tint(-1,$15)|0); $$sroa$12$0 = $16; } $17 = ($1<<24>>24)!=(0); $18 = $17 ? 0.0 : 0.5; HEAPF32[$2>>2] = $18; $19 = $17 ? 0.49968749284744263 : 0.99937498569488525; $20 = ((($2)) + 8|0); HEAPF32[$20>>2] = $19; $21 = +HEAPF32[317071]; $22 = +HEAPF32[317073]; $23 = $21 + $22; $24 = $21 * 1.2000000476837158; $25 = $22 - $24; $26 = $17 ? 0.0 : 1.2000000476837158; $27 = $26 * $21; $28 = +HEAPF32[317074]; $29 = $27 + $28; $30 = $17 ? -1.2000000476837158 : 0.0; $31 = $30 * $21; $32 = $31 + $28; $33 = HEAP32[317072]|0; $34 = ((($2)) + 12|0); $35 = HEAP32[$34>>2]|0; $36 = HEAP32[317049]|0; $37 = ((($36)) + 24|0); HEAP32[317049] = $37; HEAP32[$36>>2] = $33; $$sroa$7$0$$sroa_idx31 = ((($36)) + 4|0); HEAPF32[$$sroa$7$0$$sroa_idx31>>2] = $23; $$sroa$10$0$$sroa_idx39 = ((($36)) + 8|0); HEAPF32[$$sroa$10$0$$sroa_idx39>>2] = $29; $$sroa$12$0$$sroa_idx47 = ((($36)) + 12|0); HEAP32[$$sroa$12$0$$sroa_idx47>>2] = $$sroa$12$0; $$sroa$15$0$$sroa_idx55 = ((($36)) + 16|0); HEAPF32[$$sroa$15$0$$sroa_idx55>>2] = $19; $$sroa$17$0$$sroa_idx63 = ((($36)) + 20|0); HEAP32[$$sroa$17$0$$sroa_idx63>>2] = $35; $38 = ((($2)) + 4|0); $39 = HEAP32[$38>>2]|0; $40 = HEAP32[317049]|0; $41 = ((($40)) + 24|0); HEAP32[317049] = $41; HEAP32[$40>>2] = $33; $$sroa$7$0$$sroa_idx28 = ((($40)) + 4|0); HEAPF32[$$sroa$7$0$$sroa_idx28>>2] = $25; $$sroa$10$0$$sroa_idx36 = ((($40)) + 8|0); HEAPF32[$$sroa$10$0$$sroa_idx36>>2] = $29; $$sroa$12$0$$sroa_idx44 = ((($40)) + 12|0); HEAP32[$$sroa$12$0$$sroa_idx44>>2] = $$sroa$12$0; $$sroa$15$0$$sroa_idx52 = ((($40)) + 16|0); HEAPF32[$$sroa$15$0$$sroa_idx52>>2] = $19; $$sroa$17$0$$sroa_idx60 = ((($40)) + 20|0); HEAP32[$$sroa$17$0$$sroa_idx60>>2] = $39; $42 = HEAP32[$2>>2]|0; $43 = HEAP32[317049]|0; $44 = ((($43)) + 24|0); HEAP32[317049] = $44; HEAP32[$43>>2] = $33; $$sroa$7$0$$sroa_idx26 = ((($43)) + 4|0); HEAPF32[$$sroa$7$0$$sroa_idx26>>2] = $25; $$sroa$10$0$$sroa_idx34 = ((($43)) + 8|0); HEAPF32[$$sroa$10$0$$sroa_idx34>>2] = $32; $$sroa$12$0$$sroa_idx42 = ((($43)) + 12|0); HEAP32[$$sroa$12$0$$sroa_idx42>>2] = $$sroa$12$0; $$sroa$15$0$$sroa_idx50 = ((($43)) + 16|0); HEAP32[$$sroa$15$0$$sroa_idx50>>2] = $42; $$sroa$17$0$$sroa_idx58 = ((($43)) + 20|0); HEAP32[$$sroa$17$0$$sroa_idx58>>2] = $39; $45 = HEAP32[$34>>2]|0; $46 = HEAP32[317049]|0; $47 = ((($46)) + 24|0); HEAP32[317049] = $47; HEAP32[$46>>2] = $33; $$sroa$7$0$$sroa_idx25 = ((($46)) + 4|0); HEAPF32[$$sroa$7$0$$sroa_idx25>>2] = $23; $$sroa$10$0$$sroa_idx33 = ((($46)) + 8|0); HEAPF32[$$sroa$10$0$$sroa_idx33>>2] = $32; $$sroa$12$0$$sroa_idx41 = ((($46)) + 12|0); HEAP32[$$sroa$12$0$$sroa_idx41>>2] = $$sroa$12$0; $$sroa$15$0$$sroa_idx49 = ((($46)) + 16|0); HEAP32[$$sroa$15$0$$sroa_idx49>>2] = $42; $$sroa$17$0$$sroa_idx57 = ((($46)) + 20|0); HEAP32[$$sroa$17$0$$sroa_idx57>>2] = $45; STACKTOP = sp;return; } function _IsometricDrawer_SpriteZQuad($0,$1) { $0 = $0|0; $1 = $1|0; var $$sroa$11$0$$sroa_idx33 = 0, $$sroa$11$0$$sroa_idx34 = 0, $$sroa$11$0$$sroa_idx36 = 0, $$sroa$11$0$$sroa_idx39 = 0, $$sroa$12$0 = 0, $$sroa$12$0$$sroa_idx41 = 0, $$sroa$12$0$$sroa_idx42 = 0, $$sroa$12$0$$sroa_idx44 = 0, $$sroa$12$0$$sroa_idx47 = 0, $$sroa$15$0$$sroa_idx49 = 0, $$sroa$15$0$$sroa_idx50 = 0, $$sroa$15$0$$sroa_idx52 = 0, $$sroa$15$0$$sroa_idx55 = 0, $$sroa$17$0$$sroa_idx57 = 0, $$sroa$17$0$$sroa_idx58 = 0, $$sroa$17$0$$sroa_idx60 = 0, $$sroa$17$0$$sroa_idx63 = 0, $$sroa$8$0$$sroa_idx25 = 0, $$sroa$8$0$$sroa_idx26 = 0, $$sroa$8$0$$sroa_idx28 = 0; var $$sroa$8$0$$sroa_idx31 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0; var $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; var $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = $0&65535; $4 = ($3*6)|0; $5 = (($4) + 3)|0; $6 = (624900 + ($5<<1)|0); $7 = HEAP16[$6>>1]|0; _Atlas1D_TexRec($2,$7,1,1268300); $8 = HEAP32[317048]|0; $9 = HEAP32[317075]|0; $10 = ($8|0)==($9|0); if (!($10)) { _IsometricDrawer_Flush(); } $11 = (585732 + ($3)|0); $12 = HEAP8[$11>>0]|0; $13 = ($12<<24>>24)==(0); if ($13) { $$sroa$12$0 = -1; } else { $14 = (571908 + ($3<<2)|0); $15 = HEAP32[$14>>2]|0; $16 = (_PackedCol_Tint(-1,$15)|0); $$sroa$12$0 = $16; } $17 = ($1<<24>>24)!=(0); $18 = $17 ? 0.0 : 0.5; HEAPF32[$2>>2] = $18; $19 = $17 ? 0.49968749284744263 : 0.99937498569488525; $20 = ((($2)) + 8|0); HEAPF32[$20>>2] = $19; $21 = +HEAPF32[317071]; $22 = $17 ? 0.0 : 1.2000000476837158; $23 = $22 * $21; $24 = +HEAPF32[317072]; $25 = $23 + $24; $26 = $17 ? -1.2000000476837158 : 0.0; $27 = $26 * $21; $28 = $27 + $24; $29 = +HEAPF32[317073]; $30 = $21 + $29; $31 = $21 * 1.2000000476837158; $32 = $29 - $31; $33 = HEAP32[317074]|0; $34 = ((($2)) + 12|0); $35 = HEAP32[$34>>2]|0; $36 = HEAP32[317049]|0; $37 = ((($36)) + 24|0); HEAP32[317049] = $37; HEAPF32[$36>>2] = $25; $$sroa$8$0$$sroa_idx31 = ((($36)) + 4|0); HEAPF32[$$sroa$8$0$$sroa_idx31>>2] = $30; $$sroa$11$0$$sroa_idx39 = ((($36)) + 8|0); HEAP32[$$sroa$11$0$$sroa_idx39>>2] = $33; $$sroa$12$0$$sroa_idx47 = ((($36)) + 12|0); HEAP32[$$sroa$12$0$$sroa_idx47>>2] = $$sroa$12$0; $$sroa$15$0$$sroa_idx55 = ((($36)) + 16|0); HEAPF32[$$sroa$15$0$$sroa_idx55>>2] = $19; $$sroa$17$0$$sroa_idx63 = ((($36)) + 20|0); HEAP32[$$sroa$17$0$$sroa_idx63>>2] = $35; $38 = ((($2)) + 4|0); $39 = HEAP32[$38>>2]|0; $40 = HEAP32[317049]|0; $41 = ((($40)) + 24|0); HEAP32[317049] = $41; HEAPF32[$40>>2] = $25; $$sroa$8$0$$sroa_idx28 = ((($40)) + 4|0); HEAPF32[$$sroa$8$0$$sroa_idx28>>2] = $32; $$sroa$11$0$$sroa_idx36 = ((($40)) + 8|0); HEAP32[$$sroa$11$0$$sroa_idx36>>2] = $33; $$sroa$12$0$$sroa_idx44 = ((($40)) + 12|0); HEAP32[$$sroa$12$0$$sroa_idx44>>2] = $$sroa$12$0; $$sroa$15$0$$sroa_idx52 = ((($40)) + 16|0); HEAPF32[$$sroa$15$0$$sroa_idx52>>2] = $19; $$sroa$17$0$$sroa_idx60 = ((($40)) + 20|0); HEAP32[$$sroa$17$0$$sroa_idx60>>2] = $39; $42 = HEAP32[$2>>2]|0; $43 = HEAP32[317049]|0; $44 = ((($43)) + 24|0); HEAP32[317049] = $44; HEAPF32[$43>>2] = $28; $$sroa$8$0$$sroa_idx26 = ((($43)) + 4|0); HEAPF32[$$sroa$8$0$$sroa_idx26>>2] = $32; $$sroa$11$0$$sroa_idx34 = ((($43)) + 8|0); HEAP32[$$sroa$11$0$$sroa_idx34>>2] = $33; $$sroa$12$0$$sroa_idx42 = ((($43)) + 12|0); HEAP32[$$sroa$12$0$$sroa_idx42>>2] = $$sroa$12$0; $$sroa$15$0$$sroa_idx50 = ((($43)) + 16|0); HEAP32[$$sroa$15$0$$sroa_idx50>>2] = $42; $$sroa$17$0$$sroa_idx58 = ((($43)) + 20|0); HEAP32[$$sroa$17$0$$sroa_idx58>>2] = $39; $45 = HEAP32[$34>>2]|0; $46 = HEAP32[317049]|0; $47 = ((($46)) + 24|0); HEAP32[317049] = $47; HEAPF32[$46>>2] = $28; $$sroa$8$0$$sroa_idx25 = ((($46)) + 4|0); HEAPF32[$$sroa$8$0$$sroa_idx25>>2] = $30; $$sroa$11$0$$sroa_idx33 = ((($46)) + 8|0); HEAP32[$$sroa$11$0$$sroa_idx33>>2] = $33; $$sroa$12$0$$sroa_idx41 = ((($46)) + 12|0); HEAP32[$$sroa$12$0$$sroa_idx41>>2] = $$sroa$12$0; $$sroa$15$0$$sroa_idx49 = ((($46)) + 16|0); HEAP32[$$sroa$15$0$$sroa_idx49>>2] = $42; $$sroa$17$0$$sroa_idx57 = ((($46)) + 20|0); HEAP32[$$sroa$17$0$$sroa_idx57>>2] = $45; STACKTOP = sp;return; } function _IsometricDrawer_GetTexLoc($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = $0&65535; $3 = ($2*6)|0; $4 = $1&255; $5 = (($3) + ($4))|0; $6 = (624900 + ($5<<1)|0); $7 = HEAP16[$6>>1]|0; $8 = $7&65535; $9 = HEAP32[(1384652)>>2]|0; $10 = ($9)?($8 >>> $9):($8); HEAP32[317075] = $10; $11 = HEAP32[317048]|0; $12 = ($11|0)==($10|0); if ($12) { return ($7|0); } _IsometricDrawer_Flush(); return ($7|0); } function _IsometricDrawer_Flush() { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[317048]|0; $1 = ($0|0)==(-1); if (!($1)) { $2 = (1384660 + ($0<<2)|0); $3 = HEAP32[$2>>2]|0; _Gfx_BindTexture($3); $4 = HEAP32[317049]|0; $5 = HEAP32[317050]|0; $6 = $5; $7 = (($4) - ($6))|0; $8 = (($7|0) / 24)&-1; $9 = HEAP32[317051]|0; _Gfx_UpdateDynamicVb_IndexedTris($9,$5,$8); } $10 = HEAP32[317075]|0; HEAP32[317048] = $10; $11 = HEAP32[317050]|0; HEAP32[317049] = $11; return; } function _IsometricDrawer_EndBatch() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[317049]|0; $1 = HEAP32[317050]|0; $2 = ($0|0)==($1|0); if (!($2)) { $3 = HEAP32[317075]|0; HEAP32[317048] = $3; _IsometricDrawer_Flush(); } HEAP32[317048] = -1; _Gfx_LoadIdentityMatrix(1); return; } function _Lighting_Reset() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[317076]|0; _Mem_Free($0); HEAP32[317076] = 0; return; } function _Lighting_OnNewMapLoaded() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[(1407464)>>2]|0; $1 = HEAP32[(1407472)>>2]|0; $2 = Math_imul($1, $0)|0; $3 = (_Mem_Alloc($2,2,27548)|0); HEAP32[317076] = $3; _Lighting_Refresh(); return; } function _Lighting_Refresh() { var $$04 = 0, $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[(1407464)>>2]|0; $1 = HEAP32[(1407472)>>2]|0; $2 = Math_imul($1, $0)|0; $3 = ($2|0)>(0); if (!($3)) { return; } $4 = HEAP32[317076]|0; $5 = HEAP32[(1407464)>>2]|0; $6 = HEAP32[(1407472)>>2]|0; $7 = Math_imul($6, $5)|0; $$04 = 0; while(1) { $8 = (($4) + ($$04<<1)|0); HEAP16[$8>>1] = 32767; $9 = (($$04) + 1)|0; $10 = ($9|0)<($7|0); if ($10) { $$04 = $9; } else { break; } } return; } function _Lighting_IsLit($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (_Lighting_GetLightHeight($0,$2)|0); $4 = ($3|0)<($1|0); $5 = $4&1; return ($5|0); } function _Lighting_GetLightHeight($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[(1407464)>>2]|0; $3 = Math_imul($2, $1)|0; $4 = (($3) + ($0))|0; $5 = HEAP32[317076]|0; $6 = (($5) + ($4<<1)|0); $7 = HEAP16[$6>>1]|0; $8 = ($7<<16>>16)==(32767); if ($8) { $9 = HEAP32[(1407468)>>2]|0; $10 = (($9) + -1)|0; $11 = (_Lighting_CalcHeightAt($0,$10,$1,$4)|0); $13 = $11; return ($13|0); } else { $12 = $7 << 16 >> 16; $13 = $12; return ($13|0); } return (0)|0; } function _Lighting_CalcHeightAt($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$03643 = 0, $$038 = 0, $$044 = 0, $$13746 = 0, $$147 = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var label = 0, sp = 0; sp = STACKTOP; $4 = HEAP32[(1407472)>>2]|0; $5 = Math_imul($4, $1)|0; $6 = (($5) + ($2))|0; $7 = HEAP32[(1407464)>>2]|0; $8 = Math_imul($6, $7)|0; $9 = (($8) + ($0))|0; $10 = HEAP32[(1407508)>>2]|0; $11 = ($10|0)<(256); $12 = ($1|0)>(-1); L1: do { if ($11) { if ($12) { $13 = HEAP32[351863]|0; $14 = HEAP32[(1407488)>>2]|0; $$03643 = $9;$$044 = $1; while(1) { $15 = (($13) + ($$03643)|0); $16 = HEAP8[$15>>0]|0; $17 = $16&255; $18 = (570372 + ($17)|0); $19 = HEAP8[$18>>0]|0; $20 = ($19<<24>>24)==(0); if (!($20)) { break; } $29 = (($$044) + -1)|0; $30 = (($$03643) - ($14))|0; $31 = ($$044|0)>(0); if ($31) { $$03643 = $30;$$044 = $29; } else { $$038 = -10;$$sink = -10; break L1; } } $21 = $16&255; $22 = (582660 + ($21)|0); $23 = HEAP8[$22>>0]|0; $24 = $23&255; $25 = (5)?($24 >>> 5):($24); $26 = $25 & 1; $27 = (($$044) - ($26))|0; $28 = $27&65535; $$038 = $27;$$sink = $28; } else { $$038 = -10;$$sink = -10; } } else { if ($12) { $32 = HEAP32[351863]|0; $33 = HEAP32[(1407456)>>2]|0; $34 = HEAP32[(1407488)>>2]|0; $$13746 = $9;$$147 = $1; while(1) { $35 = (($32) + ($$13746)|0); $36 = HEAP8[$35>>0]|0; $37 = $36&255; $38 = (($33) + ($$13746)|0); $39 = HEAP8[$38>>0]|0; $40 = $39&255; $41 = $40 << 8; $42 = $41 | $37; $43 = (570372 + ($42)|0); $44 = HEAP8[$43>>0]|0; $45 = ($44<<24>>24)==(0); if (!($45)) { break; } $53 = (($$147) + -1)|0; $54 = (($$13746) - ($34))|0; $55 = ($$147|0)>(0); if ($55) { $$13746 = $54;$$147 = $53; } else { $$038 = -10;$$sink = -10; break L1; } } $46 = (582660 + ($42)|0); $47 = HEAP8[$46>>0]|0; $48 = $47&255; $49 = (5)?($48 >>> 5):($48); $50 = $49 & 1; $51 = (($$147) - ($50))|0; $52 = $51&65535; $$038 = $51;$$sink = $52; } else { $$038 = -10;$$sink = -10; } } } while(0); $56 = HEAP32[317076]|0; $57 = (($56) + ($3<<1)|0); HEAP16[$57>>1] = $$sink; return ($$038|0); } function _Lighting_Col($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (_Lighting_GetLightHeight($0,$2)|0); $4 = ($3|0)<($1|0); $5 = HEAP32[(1407572)>>2]|0; $6 = HEAP32[(1407588)>>2]|0; $7 = $4 ? $5 : $6; return ($7|0); } function _Lighting_Col_XSide($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (_Lighting_GetLightHeight($0,$2)|0); $4 = ($3|0)<($1|0); $5 = HEAP32[(1407576)>>2]|0; $6 = HEAP32[(1407592)>>2]|0; $7 = $4 ? $5 : $6; return ($7|0); } function _Lighting_Col_Sprite_Fast($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP32[317076]|0; $4 = HEAP32[(1407464)>>2]|0; $5 = Math_imul($4, $2)|0; $6 = (($5) + ($0))|0; $7 = (($3) + ($6<<1)|0); $8 = HEAP16[$7>>1]|0; $9 = $8 << 16 >> 16; $10 = ($9|0)<($1|0); $11 = HEAP32[(1407572)>>2]|0; $12 = HEAP32[(1407588)>>2]|0; $13 = $10 ? $11 : $12; return ($13|0); } function _Lighting_Col_YMax_Fast($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP32[317076]|0; $4 = HEAP32[(1407464)>>2]|0; $5 = Math_imul($4, $2)|0; $6 = (($5) + ($0))|0; $7 = (($3) + ($6<<1)|0); $8 = HEAP16[$7>>1]|0; $9 = $8 << 16 >> 16; $10 = ($9|0)<($1|0); $11 = HEAP32[(1407572)>>2]|0; $12 = HEAP32[(1407588)>>2]|0; $13 = $10 ? $11 : $12; return ($13|0); } function _Lighting_Col_YMin_Fast($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP32[317076]|0; $4 = HEAP32[(1407464)>>2]|0; $5 = Math_imul($4, $2)|0; $6 = (($5) + ($0))|0; $7 = (($3) + ($6<<1)|0); $8 = HEAP16[$7>>1]|0; $9 = $8 << 16 >> 16; $10 = ($9|0)<($1|0); $11 = HEAP32[(1407584)>>2]|0; $12 = HEAP32[(1407600)>>2]|0; $13 = $10 ? $11 : $12; return ($13|0); } function _Lighting_Col_XSide_Fast($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP32[317076]|0; $4 = HEAP32[(1407464)>>2]|0; $5 = Math_imul($4, $2)|0; $6 = (($5) + ($0))|0; $7 = (($3) + ($6<<1)|0); $8 = HEAP16[$7>>1]|0; $9 = $8 << 16 >> 16; $10 = ($9|0)<($1|0); $11 = HEAP32[(1407576)>>2]|0; $12 = HEAP32[(1407592)>>2]|0; $13 = $10 ? $11 : $12; return ($13|0); } function _Lighting_Col_ZSide_Fast($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP32[317076]|0; $4 = HEAP32[(1407464)>>2]|0; $5 = Math_imul($4, $2)|0; $6 = (($5) + ($0))|0; $7 = (($3) + ($6<<1)|0); $8 = HEAP16[$7>>1]|0; $9 = $8 << 16 >> 16; $10 = ($9|0)<($1|0); $11 = HEAP32[(1407580)>>2]|0; $12 = HEAP32[(1407596)>>2]|0; $13 = $10 ? $11 : $12; return ($13|0); } function _Lighting_OnBlockChanged($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $5 = HEAP32[(1407464)>>2]|0; $6 = Math_imul($5, $2)|0; $7 = (($6) + ($0))|0; $8 = HEAP32[317076]|0; $9 = (($8) + ($7<<1)|0); $10 = HEAP16[$9>>1]|0; $11 = $10 << 16 >> 16; $12 = ($10<<16>>16)==(32767); if ($12) { return; } _Lighting_UpdateLighting($0,$1,$2,$3,$4,$7,$11); $13 = HEAP32[317076]|0; $14 = (($13) + ($7<<1)|0); $15 = HEAP16[$14>>1]|0; $16 = $15 << 16 >> 16; $17 = (($16) + 1)|0; $18 = (($11) + 1)|0; _Lighting_RefreshAffected($0,$1,$2,$4,$18,$17); return; } function _Lighting_UpdateLighting($0,$1,$2,$3,$4,$5,$6) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; $6 = $6|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $7 = 0; var $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; sp = STACKTOP; $7 = $3&65535; $8 = (570372 + ($7)|0); $9 = HEAP8[$8>>0]|0; $10 = $4&65535; $11 = (570372 + ($10)|0); $12 = HEAP8[$11>>0]|0; $13 = (582660 + ($7)|0); $14 = HEAP8[$13>>0]|0; $15 = $14&255; $16 = (5)?($15 >>> 5):($15); $17 = $16 & 1; $18 = (582660 + ($10)|0); $19 = HEAP8[$18>>0]|0; $20 = $19&255; $21 = (5)?($20 >>> 5):($20); $22 = $21 & 1; $23 = ($9<<24>>24)==($12<<24>>24); if ($23) { $24 = ($9<<24>>24)==(0); $25 = ($17|0)==($22|0); $or$cond42 = $24 | $25; if ($or$cond42) { return; } } $26 = (($1) - ($22))|0; $27 = ($26|0)<($6|0); if (!($27)) { $28 = ($12<<24>>24)==(0); if ($28) { (_Lighting_CalcHeightAt($0,$1,$2,$5)|0); return; } else { $29 = $26&65535; $30 = HEAP32[317076]|0; $31 = (($30) + ($5<<1)|0); HEAP16[$31>>1] = $29; return; } } $32 = ($1|0)==($6|0); $33 = ($17|0)==(0); $or$cond = $32 & $33; if (!($or$cond)) { return; } $34 = HEAP32[(1407468)>>2]|0; $35 = (($34) + -1)|0; $36 = ($35|0)==($1|0); if ($36) { $40 = 0; } else { $37 = (($1) + 1)|0; $38 = (_World_GetBlock_784($0,$37,$2)|0); $40 = $38; } $39 = $40&65535; $41 = (570372 + ($39)|0); $42 = HEAP8[$41>>0]|0; $43 = ($42<<24>>24)==(0); if (!($43)) { return; } $44 = ($12<<24>>24)==(0); if ($44) { $48 = (($1) + -1)|0; (_Lighting_CalcHeightAt($0,$48,$2,$5)|0); return; } else { $45 = $26&65535; $46 = HEAP32[317076]|0; $47 = (($46) + ($5<<1)|0); HEAP16[$47>>1] = $45; return; } } function _Lighting_RefreshAffected($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, label = 0, sp = 0; sp = STACKTOP; $6 = (4)?($0 >> 4):($0); $7 = $0 & 15; $8 = (4)?($1 >> 4):($1); $9 = $1 & 15; $10 = (4)?($2 >> 4):($2); $11 = $2 & 15; $12 = ($5|0)<(0); $13 = (4)?($5 >> 4):($5); $14 = $12 ? 0 : $13; $15 = ($4|0)<(0); $16 = (4)?($4 >> 4):($4); $17 = $15 ? 0 : $16; $18 = ($17|0)<($14|0); $19 = $18 ? $17 : $14; $20 = ($17|0)>($14|0); $21 = $20 ? $17 : $14; _Lighting_ResetColumn($6,$8,$10,$19,$21); $22 = ($7|0)==(0); $23 = ($0|0)>(15); $or$cond = $23 & $22; if ($or$cond) { $24 = (($6) + -1)|0; $25 = (($0) + -1)|0; _Lighting_ResetNeighbour($25,$1,$2,$3,$24,$8,$10,$19,$21); } $26 = ($9|0)==(0); $27 = ($1|0)>(15); $or$cond3 = $27 & $26; if ($or$cond3) { $28 = (($1) + -1)|0; $29 = (_World_GetBlock_784($0,$28,$2)|0); $30 = (_Lighting_Needs($3,$29)|0); $31 = ($30<<24>>24)==(0); if (!($31)) { $32 = (($8) + -1)|0; _MapRenderer_RefreshChunk($6,$32,$10); } } $33 = ($11|0)==(0); $34 = ($2|0)>(15); $or$cond5 = $34 & $33; if ($or$cond5) { $35 = (($10) + -1)|0; $36 = (($2) + -1)|0; _Lighting_ResetNeighbour($0,$1,$36,$3,$6,$8,$35,$19,$21); } $37 = ($7|0)==(15); if ($37) { $38 = HEAP32[317092]|0; $39 = (($38) + -1)|0; $40 = ($6|0)<($39|0); if ($40) { $41 = (($6) + 1)|0; $42 = (($0) + 1)|0; _Lighting_ResetNeighbour($42,$1,$2,$3,$41,$8,$10,$19,$21); } } $43 = ($9|0)==(15); if ($43) { $44 = HEAP32[317091]|0; $45 = (($44) + -1)|0; $46 = ($8|0)<($45|0); if ($46) { $47 = (($1) + 1)|0; $48 = (_World_GetBlock_784($0,$47,$2)|0); $49 = (_Lighting_Needs($3,$48)|0); $50 = ($49<<24>>24)==(0); if (!($50)) { $51 = (($8) + 1)|0; _MapRenderer_RefreshChunk($6,$51,$10); } } } $52 = ($11|0)==(15); if (!($52)) { return; } $53 = HEAP32[317094]|0; $54 = (($53) + -1)|0; $55 = ($10|0)<($54|0); if (!($55)) { return; } $56 = (($10) + 1)|0; $57 = (($2) + 1)|0; _Lighting_ResetNeighbour($0,$1,$57,$3,$6,$8,$56,$19,$21); return; } function _Lighting_ResetColumn($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $$012 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $5 = ($3|0)==($4|0); if ($5) { _MapRenderer_RefreshChunk($0,$1,$2); return; } $6 = ($4|0)<($3|0); if ($6) { return; } $$012 = $4; while(1) { _MapRenderer_RefreshChunk($0,$$012,$2); $7 = (($$012) + -1)|0; $8 = ($$012|0)>($3|0); if ($8) { $$012 = $7; } else { break; } } return; } function _Lighting_ResetNeighbour($0,$1,$2,$3,$4,$5,$6,$7,$8) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; $6 = $6|0; $7 = $7|0; $8 = $8|0; var $$03334 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $9 = ($7|0)==($8|0); if ($9) { $10 = $5 << 4; $11 = HEAP32[(1407472)>>2]|0; $12 = Math_imul($11, $1)|0; $13 = (($12) + ($2))|0; $14 = HEAP32[(1407464)>>2]|0; $15 = Math_imul($13, $14)|0; $16 = (($15) + ($0))|0; $17 = (_Lighting_NeedsNeighour($3,$16,$10,$1,$1)|0); $18 = ($17<<24>>24)==(0); if ($18) { return; } _MapRenderer_RefreshChunk($4,$5,$6); return; } $19 = ($8|0)<($7|0); if ($19) { return; } $$03334 = $8; while(1) { $20 = $$03334 << 4; $21 = $20 | 15; $22 = HEAP32[(1407480)>>2]|0; $23 = ($21|0)>($22|0); $spec$select = $23 ? $22 : $21; $24 = HEAP32[(1407472)>>2]|0; $25 = Math_imul($spec$select, $24)|0; $26 = (($25) + ($2))|0; $27 = HEAP32[(1407464)>>2]|0; $28 = Math_imul($26, $27)|0; $29 = (($28) + ($0))|0; $30 = (_Lighting_NeedsNeighour($3,$29,$20,$spec$select,$1)|0); $31 = ($30<<24>>24)==(0); if (!($31)) { _MapRenderer_RefreshChunk($4,$$03334,$6); } $32 = (($$03334) + -1)|0; $33 = ($$03334|0)>($7|0); if ($33) { $$03334 = $32; } else { break; } } return; } function _World_GetBlock_784($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; $3 = HEAP32[(1407472)>>2]|0; $4 = Math_imul($3, $1)|0; $5 = (($4) + ($2))|0; $6 = HEAP32[(1407464)>>2]|0; $7 = Math_imul($5, $6)|0; $8 = (($7) + ($0))|0; $9 = HEAP32[351863]|0; $10 = (($9) + ($8)|0); $11 = HEAP8[$10>>0]|0; $12 = $11&255; $13 = HEAP32[(1407456)>>2]|0; $14 = (($13) + ($8)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = $16 << 8; $18 = $17 | $12; $19 = HEAP32[(1407508)>>2]|0; $20 = $18 & $19; $21 = $20&65535; return ($21|0); } function _Lighting_Needs($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; $2 = $0&65535; $3 = (583428 + ($2)|0); $4 = HEAP8[$3>>0]|0; $5 = ($4<<24>>24)==(0); if (!($5)) { $10 = 1; return ($10|0); } $6 = $1&65535; $7 = (583428 + ($6)|0); $8 = HEAP8[$7>>0]|0; $9 = ($8<<24>>24)!=(4); $phitmp = $9&1; $10 = $phitmp; return ($10|0); } function _Lighting_NeedsNeighour($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $$0 = 0, $$02531 = 0, $$02630 = 0, $$12734 = 0, $$135 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $5 = HEAP32[(1407508)>>2]|0; $6 = ($5|0)<(256); $7 = ($3|0)<($2|0); if ($6) { if ($7) { $$0 = 0; return ($$0|0); } $8 = HEAP32[351863]|0; $9 = HEAP32[(1407488)>>2]|0; $$02531 = $3;$$02630 = $1; while(1) { $10 = (($8) + ($$02630)|0); $11 = HEAP8[$10>>0]|0; $12 = ($$02531|0)==($4|0); if ($12) { $13 = $11&255; $14 = (_Lighting_Needs($0,$13)|0); $15 = $14&255; $21 = $15; } else { $16 = $11&255; $17 = (583428 + ($16)|0); $18 = HEAP8[$17>>0]|0; $19 = ($18<<24>>24)!=(4); $20 = $19&1; $21 = $20; } $22 = ($21|0)==(0); if (!($22)) { $$0 = 1; label = 16; break; } $23 = (($$02531) + -1)|0; $24 = (($$02630) - ($9))|0; $25 = ($$02531|0)>($2|0); if ($25) { $$02531 = $23;$$02630 = $24; } else { $$0 = 0; label = 16; break; } } if ((label|0) == 16) { return ($$0|0); } } else { if ($7) { $$0 = 0; return ($$0|0); } $26 = HEAP32[351863]|0; $27 = HEAP32[(1407456)>>2]|0; $28 = HEAP32[(1407488)>>2]|0; $$12734 = $1;$$135 = $3; while(1) { $29 = (($26) + ($$12734)|0); $30 = HEAP8[$29>>0]|0; $31 = $30&255; $32 = (($27) + ($$12734)|0); $33 = HEAP8[$32>>0]|0; $34 = $33&255; $35 = $34 << 8; $36 = $35 | $31; $37 = ($$135|0)==($4|0); if ($37) { $38 = $36&65535; $39 = (_Lighting_Needs($0,$38)|0); $40 = $39&255; $45 = $40; } else { $41 = (583428 + ($36)|0); $42 = HEAP8[$41>>0]|0; $43 = ($42<<24>>24)!=(4); $44 = $43&1; $45 = $44; } $46 = ($45|0)==(0); if (!($46)) { $$0 = 1; label = 16; break; } $47 = (($$135) + -1)|0; $48 = (($$12734) - ($28))|0; $49 = ($$135|0)>($2|0); if ($49) { $$12734 = $48;$$135 = $47; } else { $$0 = 0; label = 16; break; } } if ((label|0) == 16) { return ($$0|0); } } return (0)|0; } function _Lighting_LightHint($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 1296|0; $2 = sp; $3 = ($0|0)>(0); $4 = $3 ? $0 : 0; $5 = HEAP32[(1407464)>>2]|0; $6 = (($0) + 18)|0; $7 = ($5|0)<($6|0); $8 = $7 ? $5 : $6; $9 = ($1|0)>(0); $10 = $9 ? $1 : 0; $11 = HEAP32[(1407472)>>2]|0; $12 = (($1) + 18)|0; $13 = ($11|0)<($12|0); $14 = $13 ? $11 : $12; $15 = (($8) - ($4))|0; $16 = (($14) - ($10))|0; $17 = (_Lighting_InitialHeightmapCoverage($4,$10,$15,$16,$2)|0); $18 = (_Lighting_CalculateHeightmapCoverage($4,$10,$15,$16,$17,$2)|0); $19 = ($18<<24>>24)==(0); if (!($19)) { STACKTOP = sp;return; } _Lighting_FinishHeightmapCoverage($4,$10,$15,$16); STACKTOP = sp;return; } function _Lighting_InitialHeightmapCoverage($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $$0$lcssa = 0, $$03243 = 0, $$03347 = 0, $$03442 = 0, $$03846 = 0, $$048 = 0, $$1$lcssa = 0, $$13641 = 0, $$139$lcssa = 0, $$13940 = 0, $$144 = 0, $$2 = 0, $$237 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond54 = 0, label = 0, sp = 0; sp = STACKTOP; $5 = ($3|0)>(0); if (!($5)) { $$0$lcssa = 0; return ($$0$lcssa|0); } $6 = ($2|0)>(0); $7 = HEAP32[317076]|0; $$03347 = 0;$$03846 = 0;$$048 = 0; while(1) { if ($6) { $8 = HEAP32[(1407464)>>2]|0; $9 = (($$03347) + ($1))|0; $10 = Math_imul($8, $9)|0; $11 = (($10) + ($0))|0; $$03243 = $11;$$03442 = 0;$$13641 = 0;$$13940 = $$03846;$$144 = $$048; while(1) { $12 = (($$03243) + 1)|0; $13 = (($7) + ($$03243<<1)|0); $14 = HEAP16[$13>>1]|0; $15 = (($4) + ($$13940<<2)|0); HEAP32[$15>>2] = 0; $16 = ($14<<16>>16)==(32767); if ($16) { $17 = (($$144) + 1)|0; $$2 = $17;$$237 = 0; } else { $18 = (($$13940) - ($$13641))|0; $19 = (($4) + ($18<<2)|0); $20 = HEAP32[$19>>2]|0; $21 = (($20) + 1)|0; HEAP32[$19>>2] = $21; $22 = (($$13641) + 1)|0; $$2 = $$144;$$237 = $22; } $23 = (($$13940) + 1)|0; $24 = (($$03442) + 1)|0; $exitcond = ($24|0)==($2|0); if ($exitcond) { break; } else { $$03243 = $12;$$03442 = $24;$$13641 = $$237;$$13940 = $23;$$144 = $$2; } } $25 = (($$03846) + ($2))|0; $$1$lcssa = $$2;$$139$lcssa = $25; } else { $$1$lcssa = $$048;$$139$lcssa = $$03846; } $26 = (($$03347) + 1)|0; $exitcond54 = ($26|0)==($3|0); if ($exitcond54) { $$0$lcssa = $$1$lcssa; break; } else { $$03347 = $26;$$03846 = $$139$lcssa;$$048 = $$1$lcssa; } } return ($$0$lcssa|0); } function _Lighting_CalculateHeightmapCoverage($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; var $$0169219 = 0, $$0171208 = 0, $$0173207 = 0, $$0177211 = 0, $$0179210 = 0, $$0183 = 0, $$0191 = 0, $$0192218 = 0, $$0213 = 0, $$1170244 = 0, $$1172 = 0, $$1174 = 0, $$1178236 = 0, $$1180206 = 0, $$1184 = 0, $$1193$lcssa = 0, $$1193209 = 0, $$1238 = 0, $$2175228 = 0, $$2181 = 0; var $$2187205 = 0, $$2194$lcssa = 0, $$2194204 = 0, $$2229 = 0, $$3 = 0, $$3176 = 0, $$3182235 = 0, $$3188 = 0, $$3195 = 0, $$4196243 = 0, $$4227 = 0, $$5 = 0, $$5197$lcssa = 0, $$5197234 = 0, $$6198$lcssa = 0, $$6198225 = 0, $$6226 = 0, $$7 = 0, $$7199 = 0, $10 = 0; var $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0; var $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0; var $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0; var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; var $98 = 0, $99 = 0, $exitcond = 0, $exitcond252 = 0, label = 0, sp = 0; sp = STACKTOP; $6 = HEAP32[(1407508)>>2]|0; $7 = ($6|0)<(256); $8 = HEAP32[(1407468)>>2]|0; $9 = (($8) + -1)|0; $10 = ($8|0)>(0); if ($7) { if (!($10)) { $$0191 = 0; return ($$0191|0); } $11 = ($3|0)>(0); $12 = ($2|0)>(0); $$0169219 = $9;$$0192218 = $4; while(1) { $13 = ($$0192218|0)<(1); if ($13) { $$0191 = 1; label = 34; break; } $14 = HEAP32[(1407464)>>2]|0; if ($11) { $15 = Math_imul($14, $1)|0; $16 = (($15) + ($0))|0; $17 = HEAP32[(1407472)>>2]|0; $18 = Math_imul($17, $$0169219)|0; $19 = (($18) + ($1))|0; $20 = Math_imul($19, $14)|0; $21 = (($20) + ($0))|0; $$0177211 = $16;$$0179210 = $21;$$0213 = 0;$$1193209 = $$0192218; while(1) { if ($12) { $22 = Math_imul($$0213, $2)|0; $$0171208 = 0;$$0173207 = $22;$$1180206 = $$0179210;$$2187205 = 0;$$2194204 = $$1193209; while(1) { $23 = (($5) + ($$0173207<<2)|0); $24 = HEAP32[$23>>2]|0; $25 = (($24) + ($$0171208))|0; $26 = (($24) + ($$1180206))|0; $27 = (($24) + ($$0173207))|0; $28 = ($25|0)<($2|0); if ($28) { $29 = HEAP32[351863]|0; $30 = (($29) + ($26)|0); $31 = HEAP8[$30>>0]|0; $32 = $31&255; $33 = (570372 + ($32)|0); $34 = HEAP8[$33>>0]|0; $35 = ($34<<24>>24)==(0); if ($35) { $$1172 = $25;$$1174 = $27;$$2181 = $26;$$3188 = 0;$$3195 = $$2194204; } else { $36 = (582660 + ($32)|0); $37 = HEAP8[$36>>0]|0; $38 = $37&255; $39 = (5)?($38 >>> 5):($38); $40 = $39 & 1; $41 = (($$0169219) - ($40))|0; $42 = $41&65535; $43 = HEAP32[317076]|0; $44 = (($25) + ($$0177211))|0; $45 = (($43) + ($44<<1)|0); HEAP16[$45>>1] = $42; $46 = (($$2194204) + -1)|0; $47 = (($5) + ($27<<2)|0); HEAP32[$47>>2] = 0; $48 = (($24) + ($$2187205))|0; $49 = (($27) - ($48))|0; $50 = (($5) + ($49<<2)|0); $51 = HEAP32[$50>>2]|0; $52 = (($51) + 1)|0; $53 = (($25) - ($48))|0; $54 = (($53) + ($52))|0; $55 = ($54|0)<($2|0); if ($55) { $56 = (($52) + ($49))|0; $57 = (($5) + ($56<<2)|0); $58 = HEAP32[$57>>2]|0; $59 = ($58|0)==(0); if ($59) { $$0183 = $52;$64 = 0; } else { $60 = (($58) + ($52))|0; $61 = (($52) + ($49))|0; $62 = (($5) + ($61<<2)|0); HEAP32[$62>>2] = 0; $$0183 = $60;$64 = $58; } } else { $$0183 = $52;$64 = 0; } HEAP32[$50>>2] = $$0183; $63 = (($64) + ($25))|0; $65 = (($64) + ($27))|0; $66 = (($64) + ($26))|0; $$1172 = $63;$$1174 = $65;$$2181 = $66;$$3188 = $$0183;$$3195 = $46; } } else { $$1172 = $25;$$1174 = $27;$$2181 = $26;$$3188 = 0;$$3195 = $$2194204; } $67 = (($$1172) + 1)|0; $68 = (($$2181) + 1)|0; $69 = (($$1174) + 1)|0; $70 = ($67|0)<($2|0); if ($70) { $$0171208 = $67;$$0173207 = $69;$$1180206 = $68;$$2187205 = $$3188;$$2194204 = $$3195; } else { $$2194$lcssa = $$3195; break; } } } else { $$2194$lcssa = $$1193209; } $71 = HEAP32[(1407464)>>2]|0; $72 = (($71) + ($$0177211))|0; $73 = (($71) + ($$0179210))|0; $74 = (($$0213) + 1)|0; $exitcond = ($74|0)==($3|0); if ($exitcond) { $$1193$lcssa = $$2194$lcssa; break; } else { $$0177211 = $72;$$0179210 = $73;$$0213 = $74;$$1193209 = $$2194$lcssa; } } } else { $$1193$lcssa = $$0192218; } $75 = (($$0169219) + -1)|0; $76 = ($$0169219|0)>(0); if ($76) { $$0169219 = $75;$$0192218 = $$1193$lcssa; } else { $$0191 = 0; label = 34; break; } } if ((label|0) == 34) { return ($$0191|0); } } else { if (!($10)) { $$0191 = 0; return ($$0191|0); } $77 = ($3|0)>(0); $78 = ($2|0)>(0); $$1170244 = $9;$$4196243 = $4; while(1) { $79 = ($$4196243|0)<(1); if ($79) { $$0191 = 1; label = 34; break; } $80 = HEAP32[(1407464)>>2]|0; if ($77) { $81 = Math_imul($80, $1)|0; $82 = (($81) + ($0))|0; $83 = HEAP32[(1407472)>>2]|0; $84 = Math_imul($83, $$1170244)|0; $85 = (($84) + ($1))|0; $86 = Math_imul($85, $80)|0; $87 = (($86) + ($0))|0; $$1178236 = $82;$$1238 = 0;$$3182235 = $87;$$5197234 = $$4196243; while(1) { if ($78) { $88 = Math_imul($$1238, $2)|0; $$2175228 = $88;$$2229 = 0;$$4227 = $$3182235;$$6198225 = $$5197234;$$6226 = 0; while(1) { $89 = (($5) + ($$2175228<<2)|0); $90 = HEAP32[$89>>2]|0; $91 = (($90) + ($$2229))|0; $92 = (($90) + ($$4227))|0; $93 = (($90) + ($$2175228))|0; $94 = ($91|0)<($2|0); if ($94) { $95 = HEAP32[351863]|0; $96 = (($95) + ($92)|0); $97 = HEAP8[$96>>0]|0; $98 = $97&255; $99 = HEAP32[(1407456)>>2]|0; $100 = (($99) + ($92)|0); $101 = HEAP8[$100>>0]|0; $102 = $101&255; $103 = $102 << 8; $104 = $103 | $98; $105 = (570372 + ($104)|0); $106 = HEAP8[$105>>0]|0; $107 = ($106<<24>>24)==(0); if ($107) { $$3 = $91;$$3176 = $93;$$5 = $92;$$7 = 0;$$7199 = $$6198225; } else { $108 = (582660 + ($104)|0); $109 = HEAP8[$108>>0]|0; $110 = $109&255; $111 = (5)?($110 >>> 5):($110); $112 = $111 & 1; $113 = (($$1170244) - ($112))|0; $114 = $113&65535; $115 = HEAP32[317076]|0; $116 = (($91) + ($$1178236))|0; $117 = (($115) + ($116<<1)|0); HEAP16[$117>>1] = $114; $118 = (($$6198225) + -1)|0; $119 = (($5) + ($93<<2)|0); HEAP32[$119>>2] = 0; $120 = (($90) + ($$6226))|0; $121 = (($93) - ($120))|0; $122 = (($5) + ($121<<2)|0); $123 = HEAP32[$122>>2]|0; $124 = (($123) + 1)|0; $125 = (($91) - ($120))|0; $126 = (($125) + ($124))|0; $127 = ($126|0)<($2|0); if ($127) { $128 = (($124) + ($121))|0; $129 = (($5) + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($130|0)==(0); if ($131) { $$1184 = $124;$136 = 0; } else { $132 = (($130) + ($124))|0; $133 = (($124) + ($121))|0; $134 = (($5) + ($133<<2)|0); HEAP32[$134>>2] = 0; $$1184 = $132;$136 = $130; } } else { $$1184 = $124;$136 = 0; } HEAP32[$122>>2] = $$1184; $135 = (($136) + ($91))|0; $137 = (($136) + ($93))|0; $138 = (($136) + ($92))|0; $$3 = $135;$$3176 = $137;$$5 = $138;$$7 = $$1184;$$7199 = $118; } } else { $$3 = $91;$$3176 = $93;$$5 = $92;$$7 = 0;$$7199 = $$6198225; } $139 = (($$3) + 1)|0; $140 = (($$5) + 1)|0; $141 = (($$3176) + 1)|0; $142 = ($139|0)<($2|0); if ($142) { $$2175228 = $141;$$2229 = $139;$$4227 = $140;$$6198225 = $$7199;$$6226 = $$7; } else { $$6198$lcssa = $$7199; break; } } } else { $$6198$lcssa = $$5197234; } $143 = HEAP32[(1407464)>>2]|0; $144 = (($143) + ($$1178236))|0; $145 = (($143) + ($$3182235))|0; $146 = (($$1238) + 1)|0; $exitcond252 = ($146|0)==($3|0); if ($exitcond252) { $$5197$lcssa = $$6198$lcssa; break; } else { $$1178236 = $144;$$1238 = $146;$$3182235 = $145;$$5197234 = $$6198$lcssa; } } } else { $$5197$lcssa = $$4196243; } $147 = (($$1170244) + -1)|0; $148 = ($$1170244|0)>(0); if ($148) { $$1170244 = $147;$$4196243 = $$5197$lcssa; } else { $$0191 = 0; label = 34; break; } } if ((label|0) == 34) { return ($$0191|0); } } return (0)|0; } function _Lighting_FinishHeightmapCoverage($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$02022 = 0, $$02124 = 0, $$023 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond28 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ($3|0)>(0); if (!($4)) { return; } $5 = HEAP32[(1407464)>>2]|0; $6 = ($2|0)>(0); $7 = HEAP32[317076]|0; $$02124 = 0; while(1) { if ($6) { $8 = (($$02124) + ($1))|0; $9 = Math_imul($5, $8)|0; $10 = (($9) + ($0))|0; $$02022 = $10;$$023 = 0; while(1) { $11 = (($7) + ($$02022<<1)|0); $12 = HEAP16[$11>>1]|0; $13 = ($12<<16>>16)==(32767); if ($13) { HEAP16[$11>>1] = -10; } $14 = (($$023) + 1)|0; $15 = (($$02022) + 1)|0; $exitcond = ($14|0)==($2|0); if ($exitcond) { break; } else { $$02022 = $15;$$023 = $14; } } } $16 = (($$02124) + 1)|0; $exitcond28 = ($16|0)==($3|0); if ($exitcond28) { break; } else { $$02124 = $16; } } return; } function _Logger_DialogWarn($0) { $0 = $0|0; var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 528|0; $1 = sp + 512|0; $2 = sp; HEAP32[$1>>2] = $2; $3 = ((($1)) + 4|0); HEAP16[$3>>1] = 0; $4 = ((($1)) + 6|0); HEAP16[$4>>1] = 511; _String_Copy($1,$0); $5 = HEAP32[$1>>2]|0; $6 = HEAP16[$3>>1]|0; $7 = $6&65535; $8 = (($5) + ($7)|0); HEAP8[$8>>0] = 0; $9 = HEAP32[2938]|0; $10 = HEAP32[$1>>2]|0; _Window_ShowDialog($9,$10); STACKTOP = sp;return; } function _Logger_SimpleWarn2($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 272|0; $3 = sp + 256|0; $4 = sp + 264|0; $5 = sp; HEAP32[$3>>2] = $0; HEAP32[$4>>2] = $5; $6 = ((($4)) + 4|0); HEAP16[$6>>1] = 0; $7 = ((($4)) + 6|0); HEAP16[$7>>1] = 256; _String_Format3($4,27590,$3,$1,$2); $8 = HEAP32[2939]|0; FUNCTION_TABLE_vi[$8 & 511]($4); STACKTOP = sp;return; } function _Logger_SysWarn($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 272|0; $3 = sp + 256|0; $4 = sp + 264|0; $5 = sp; HEAP32[$3>>2] = $0; HEAP32[$4>>2] = $5; $6 = ((($4)) + 4|0); HEAP16[$6>>1] = 0; $7 = ((($4)) + 6|0); HEAP16[$7>>1] = 256; _String_Format2($4,27573,$3,$1); $8 = HEAP32[$3>>2]|0; _Logger_AppendErrorDesc($4,$8,$2); $9 = HEAP32[2939]|0; FUNCTION_TABLE_vi[$9 & 511]($4); STACKTOP = sp;return; } function _Logger_AppendErrorDesc($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 144|0; $3 = sp + 128|0; $4 = sp; HEAP32[$3>>2] = $4; $5 = ((($3)) + 4|0); HEAP16[$5>>1] = 0; $6 = ((($3)) + 6|0); HEAP16[$6>>1] = 128; $7 = (_Logger_GetCCErrorDesc($1)|0); $8 = ($7|0)==(0|0); if (!($8)) { _String_Format1($0,27612,$7); STACKTOP = sp;return; } $9 = (FUNCTION_TABLE_iii[$2 & 127]($1,$3)|0); $10 = ($9<<24>>24)==(0); if ($10) { STACKTOP = sp;return; } _String_Format1($0,27633,$3); STACKTOP = sp;return; } function _Logger_GetCCErrorDesc($0) { $0 = $0|0; var $$0 = 0, label = 0, sp = 0; sp = STACKTOP; do { switch ($0|0) { case -857812991: { $$0 = 28271; break; } case -857812990: { $$0 = 28247; break; } case -857812989: { $$0 = 28230; break; } case -857812988: { $$0 = 36269; break; } case -857812987: { $$0 = 28208; break; } case -857812986: { $$0 = 28181; break; } case -857812985: { $$0 = 28162; break; } case -857812984: { $$0 = 28145; break; } case -857812983: { $$0 = 28116; break; } case -857812982: { $$0 = 28100; break; } case -857812962: { $$0 = 28078; break; } case -857812961: { $$0 = 28054; break; } case -857812960: { $$0 = 28035; break; } case -857812959: { $$0 = 28016; break; } case -857812958: { $$0 = 27990; break; } case -857812957: { $$0 = 27963; break; } case -857812956: { $$0 = 27941; break; } case -857812955: { $$0 = 27913; break; } case -857812954: { $$0 = 27884; break; } case -857812953: { $$0 = 27845; break; } case -857812952: { $$0 = 27809; break; } case -857812951: { $$0 = 27788; break; } case -857812950: { $$0 = 27772; break; } case -857812949: { $$0 = 27746; break; } case -857812917: { $$0 = 27716; break; } case -857812916: { $$0 = 27695; break; } case -857812915: { $$0 = 27674; break; } case -857812914: { $$0 = 27654; break; } default: { $$0 = 0; } } } while(0); return ($$0|0); } function _Logger_SysWarn2($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 272|0; $4 = sp + 256|0; $5 = sp + 264|0; $6 = sp; HEAP32[$4>>2] = $0; HEAP32[$5>>2] = $6; $7 = ((($5)) + 4|0); HEAP16[$7>>1] = 0; $8 = ((($5)) + 6|0); HEAP16[$8>>1] = 256; _String_Format3($5,27590,$4,$1,$2); $9 = HEAP32[$4>>2]|0; _Logger_AppendErrorDesc($5,$9,$3); $10 = HEAP32[2939]|0; FUNCTION_TABLE_vi[$10 & 511]($5); STACKTOP = sp;return; } function _Logger_Warn($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _Logger_SysWarn($0,$1,51); return; } function _Logger_Warn2($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var label = 0, sp = 0; sp = STACKTOP; _Logger_SysWarn2($0,$1,$2,51); return; } function _Logger_Hook() { var label = 0, sp = 0; sp = STACKTOP; return; } function _Logger_Abort2($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _Logger_AbortCommon($0,$1); return; } function _Logger_AbortCommon($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 3088|0; $2 = sp + 3072|0; $3 = sp + 3080|0; $4 = sp; HEAP32[$2>>2] = $0; HEAP32[$3>>2] = $4; $5 = ((($3)) + 4|0); HEAP16[$5>>1] = 0; $6 = ((($3)) + 6|0); HEAP16[$6>>1] = 3070; _String_Format1($3,28285,$1); $7 = HEAP32[$2>>2]|0; $8 = ($7|0)==(0); if ($8) { HEAP32[$2>>2] = 1; } else { _String_Format1($3,28317,$2); } _Logger_LogCrashHeader(); _String_AppendConst($3,28321); _String_AppendConst($3,28382); $9 = HEAP32[(1268340)>>2]|0; $10 = ($9|0)==(0); if (!($10)) { $11 = HEAP32[(1268336)>>2]|0; (FUNCTION_TABLE_ii[$11 & 31](1268308)|0); } $12 = HEAP32[$3>>2]|0; $13 = HEAP16[$5>>1]|0; $14 = $13&65535; $15 = (($12) + ($14)|0); HEAP8[$15>>0] = 0; $16 = HEAP32[$3>>2]|0; _Window_ShowDialog(28452,$16); $17 = HEAP32[$2>>2]|0; _Process_Exit($17); // unreachable; } function _Logger_LogCrashHeader() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 144|0; $0 = sp + 128|0; $1 = sp; $2 = sp + 96|0; HEAP32[$0>>2] = $1; $3 = ((($0)) + 4|0); HEAP16[$3>>1] = 0; $4 = ((($0)) + 6|0); HEAP16[$4>>1] = 96; _String_AppendConst($0,28464); HEAP16[$3>>1] = 0; _DateTime_CurrentLocal($2); $5 = ((($2)) + 8|0); $6 = ((($2)) + 4|0); _String_Format3($0,28507,$5,$6,$2); $7 = ((($2)) + 12|0); $8 = ((($2)) + 16|0); $9 = ((($2)) + 20|0); _String_Format3($0,28532,$7,$8,$9); STACKTOP = sp;return; } function _Logger_Log($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return; } function _Logger_Abort($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _Logger_Abort2(0,$0); return; } function _MapRenderer_Init() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; _Event_Register(1250296,0,303); _Event_Register((1254456),0,70); _Event_Register((1253416),0,304); _Event_Register(1251076,0,305); _Event_Register((1251596),0,305); _Event_Register((1251856),0,306); _Event_Register((1252116),0,307); HEAP32[317093] = 87; _IVec3_MaxValue_861($0); ;HEAP32[1268424>>2]=HEAP32[$0>>2]|0;HEAP32[1268424+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[1268424+8>>2]=HEAP32[$0+8>>2]|0; $1 = (_Options_GetInt(28620,4,1024,30)|0); HEAP32[317112] = $1; _MapRenderer_CalcViewDists(); STACKTOP = sp;return; } function _MapRenderer_Free() { var label = 0, sp = 0; sp = STACKTOP; _Event_Unregister(1250296,0,303); _Event_Unregister((1254456),0,70); _Event_Unregister((1253416),0,304); _Event_Unregister(1251076,0,305); _Event_Unregister((1251596),0,305); _Event_Unregister((1251856),0,306); _Event_Unregister((1252116),0,307); _MapRenderer_OnNewMap(); return; } function _MapRenderer_OnNewMap() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; HEAP32[(535488)>>2] = 0; _MapRenderer_DeleteChunks(); _MapRenderer_ResetPartCounts(); _IVec3_MaxValue_861($0); ;HEAP32[1268424>>2]=HEAP32[$0>>2]|0;HEAP32[1268424+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[1268424+8>>2]=HEAP32[$0+8>>2]|0; _MapRenderer_FreeChunks(); _MapRenderer_FreeParts(); STACKTOP = sp;return; } function _MapRenderer_OnNewMapLoaded() { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; $1 = HEAP32[(1407464)>>2]|0; $2 = (($1) + 15)|0; $3 = (4)?($2 >> 4):($2); HEAP32[317092] = $3; $4 = HEAP32[(1407468)>>2]|0; $5 = (($4) + 15)|0; $6 = (4)?($5 >> 4):($5); HEAP32[317091] = $6; $7 = HEAP32[(1407472)>>2]|0; $8 = (($7) + 15)|0; $9 = (4)?($8 >> 4):($8); HEAP32[317094] = $9; $10 = Math_imul($6, $3)|0; $11 = Math_imul($10, $9)|0; HEAP32[317095] = $11; _MapRenderer_FreeChunks(); _MapRenderer_FreeParts(); _MapRenderer_AllocateChunks(); _MapRenderer_AllocateParts(); _MapRenderer_InitChunks(); _Vec3_BigPos_850($0); ;HEAP32[1268384>>2]=HEAP32[$0>>2]|0;HEAP32[1268384+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[1268384+8>>2]=HEAP32[$0+8>>2]|0; STACKTOP = sp;return; } function _MapRenderer_FreeChunks() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[317099]|0; _Mem_Free($0); $1 = HEAP32[317100]|0; _Mem_Free($1); $2 = HEAP32[317101]|0; _Mem_Free($2); $3 = HEAP32[317102]|0; _Mem_Free($3); HEAP32[317099] = 0; HEAP32[317100] = 0; HEAP32[317101] = 0; HEAP32[317102] = 0; return; } function _MapRenderer_FreeParts() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[317103]|0; _Mem_Free($0); HEAP32[317103] = 0; HEAP32[317104] = 0; HEAP32[317105] = 0; return; } function _MapRenderer_AllocateChunks() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[317095]|0; $1 = (_Mem_Alloc($0,20,28557)|0); HEAP32[317099] = $1; $2 = HEAP32[317095]|0; $3 = (_Mem_Alloc($2,4,28568)|0); HEAP32[317100] = $3; $4 = HEAP32[317095]|0; $5 = (_Mem_Alloc($4,4,28586)|0); HEAP32[317101] = $5; $6 = HEAP32[317095]|0; $7 = (_Mem_Alloc($6,4,28604)|0); HEAP32[317102] = $7; return; } function _MapRenderer_AllocateParts() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[317095]|0; $1 = HEAP32[317093]|0; $2 = Math_imul($1, $0)|0; $3 = $2 << 1; $4 = (_Mem_AllocCleared($3,20,28545)|0); HEAP32[317103] = $4; HEAP32[317104] = $4; $5 = (($4) + (($2*20)|0)|0); HEAP32[317105] = $5; return; } function _MapRenderer_InitChunks() { var $$02334 = 0, $$02428 = 0, $$02526 = 0, $$035 = 0, $$1$lcssa = 0, $$129 = 0, $$2$lcssa = 0, $$227 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[(1407472)>>2]|0; $1 = ($0|0)>(0); if (!($1)) { return; } $$02334 = 0;$$035 = 0; while(1) { $2 = HEAP32[(1407468)>>2]|0; $3 = ($2|0)>(0); if ($3) { $$02428 = 0;$$129 = $$035; while(1) { $4 = HEAP32[(1407464)>>2]|0; $5 = ($4|0)>(0); if ($5) { $$02526 = 0;$$227 = $$129; while(1) { $6 = HEAP32[317099]|0; $7 = (($6) + (($$227*20)|0)|0); _ChunkInfo_Reset($7,$$02526,$$02428,$$02334); $8 = HEAP32[317099]|0; $9 = (($8) + (($$227*20)|0)|0); $10 = HEAP32[317100]|0; $11 = (($10) + ($$227<<2)|0); HEAP32[$11>>2] = $9; $12 = HEAP32[317101]|0; $13 = (($12) + ($$227<<2)|0); HEAP32[$13>>2] = $9; $14 = HEAP32[317102]|0; $15 = (($14) + ($$227<<2)|0); HEAP32[$15>>2] = 0; $16 = (($$227) + 1)|0; $17 = (($$02526) + 16)|0; $18 = HEAP32[(1407464)>>2]|0; $19 = ($17|0)<($18|0); if ($19) { $$02526 = $17;$$227 = $16; } else { $$2$lcssa = $16; break; } } } else { $$2$lcssa = $$129; } $20 = (($$02428) + 16)|0; $21 = HEAP32[(1407468)>>2]|0; $22 = ($20|0)<($21|0); if ($22) { $$02428 = $20;$$129 = $$2$lcssa; } else { $$1$lcssa = $$2$lcssa; break; } } } else { $$1$lcssa = $$035; } $23 = (($$02334) + 16)|0; $24 = HEAP32[(1407472)>>2]|0; $25 = ($23|0)<($24|0); if ($25) { $$02334 = $23;$$035 = $$1$lcssa; } else { break; } } return; } function _Vec3_BigPos_850($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; ;HEAP32[$0>>2]=HEAP32[11784>>2]|0;HEAP32[$0+4>>2]=HEAP32[11784+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[11784+8>>2]|0; return; } function _ChunkInfo_Reset($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = (($1) + 8)|0; $5 = $4&65535; HEAP16[$0>>1] = $5; $6 = (($2) + 8)|0; $7 = $6&65535; $8 = ((($0)) + 2|0); HEAP16[$8>>1] = $7; $9 = (($3) + 8)|0; $10 = $9&65535; $11 = ((($0)) + 4|0); HEAP16[$11>>1] = $10; $12 = ((($0)) + 8|0); HEAP32[$12>>2] = 0; $13 = ((($0)) + 6|0); $14 = HEAP8[$13>>0]|0; $15 = $14 & -16; $16 = $15 | 1; HEAP8[$13>>0] = $16; $17 = ((($0)) + 7|0); $18 = HEAP8[$17>>0]|0; $19 = $18 & -64; HEAP8[$17>>0] = $19; $20 = ((($0)) + 12|0); HEAP32[$20>>2] = 0; $21 = ((($0)) + 16|0); HEAP32[$21>>2] = 0; return; } function _MapRenderer_DeleteChunks() { var $$04 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[317099]|0; $1 = ($0|0)==(0|0); if ($1) { return; } $2 = HEAP32[317095]|0; $3 = ($2|0)>(0); if ($3) { $$04 = 0; while(1) { $4 = HEAP32[317099]|0; $5 = (($4) + (($$04*20)|0)|0); _MapRenderer_DeleteChunk($5); $6 = (($$04) + 1)|0; $7 = HEAP32[317095]|0; $8 = ($6|0)<($7|0); if ($8) { $$04 = $6; } else { break; } } } _MapRenderer_ResetPartCounts(); return; } function _MapRenderer_ResetPartCounts() { var label = 0, sp = 0; sp = STACKTOP; _memset((382592|0),0,2048)|0; _memset((384640|0),0,2048)|0; return; } function _IVec3_MaxValue_861($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; ;HEAP32[$0>>2]=HEAP32[11796>>2]|0;HEAP32[$0+4>>2]=HEAP32[11796+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[11796+8>>2]|0; return; } function _MapRenderer_DeleteChunk($0) { $0 = $0|0; var $$02125 = 0, $$026 = 0, $$12223 = 0, $$124 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 8|0); _Gfx_DeleteVb($1); $2 = ((($0)) + 6|0); $3 = HEAP8[$2>>0]|0; $4 = $3 & -11; HEAP8[$2>>0] = $4; $5 = ((($0)) + 12|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)==(0|0); if (!($7)) { $8 = HEAP32[317093]|0; $9 = ($8|0)>(0); if ($9) { $10 = HEAP32[317095]|0; $11 = HEAP32[317093]|0; $$02125 = $6;$$026 = 0; while(1) { $12 = HEAP32[$$02125>>2]|0; $13 = ($12|0)<(0); $14 = (382592 + ($$026<<2)|0); if (!($13)) { $15 = HEAP32[$14>>2]|0; $16 = (($15) + -1)|0; HEAP32[$14>>2] = $16; } $17 = (($$026) + 1)|0; $18 = (($$02125) + (($10*20)|0)|0); $19 = ($17|0)<($11|0); if ($19) { $$02125 = $18;$$026 = $17; } else { break; } } } HEAP32[$5>>2] = 0; } $20 = ((($0)) + 16|0); $21 = HEAP32[$20>>2]|0; $22 = ($21|0)==(0|0); if ($22) { return; } $23 = HEAP32[317093]|0; $24 = ($23|0)>(0); if ($24) { $25 = HEAP32[317095]|0; $26 = HEAP32[317093]|0; $$12223 = $21;$$124 = 0; while(1) { $27 = HEAP32[$$12223>>2]|0; $28 = ($27|0)<(0); $29 = (384640 + ($$124<<2)|0); if (!($28)) { $30 = HEAP32[$29>>2]|0; $31 = (($30) + -1)|0; HEAP32[$29>>2] = $31; } $32 = (($$124) + 1)|0; $33 = (($$12223) + (($25*20)|0)|0); $34 = ($32|0)<($26|0); if ($34) { $$12223 = $33;$$124 = $32; } else { break; } } } HEAP32[$20>>2] = 0; return; } function _MapRenderer_TerrainAtlasChanged($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[317093]|0; $2 = ($1|0)==(0); if (!($2)) { $3 = HEAP32[317111]|0; $4 = HEAP32[(1384644)>>2]|0; $5 = ($3|0)==($4|0); if (!($5)) { _MapRenderer_Refresh(); } } $6 = (_MapRenderer_UsedAtlases()|0); HEAP32[317093] = $6; $7 = HEAP32[(1384644)>>2]|0; HEAP32[317111] = $7; _MapRenderer_ResetPartFlags(); return; } function _MapRenderer_EnvVariableChanged($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (($1) + -15)|0; $3 = ($2>>>0)<(2); if ($3) { _MapRenderer_Refresh(); return; } $4 = $1 | 1; $5 = ($4|0)==(3); if (!($5)) { return; } $6 = HEAP32[307603]|0; $7 = HEAP32[(1407516)>>2]|0; $8 = HEAP32[(1407520)>>2]|0; $9 = (($8) + ($7))|0; $10 = ($9|0)>(0); $spec$select = $10 ? $9 : 0; HEAP32[307602] = $spec$select; $11 = ($7|0)>(0); $12 = $11 ? $7 : 0; HEAP32[307603] = $12; $13 = ($6|0)>($12|0); $14 = $13 ? $6 : $12; _MapRenderer_RefreshBorders($14); return; } function _MapRenderer_BlockDefinitionChanged($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; _MapRenderer_Refresh(); $1 = (_MapRenderer_UsedAtlases()|0); HEAP32[317093] = $1; _MapRenderer_ResetPartFlags(); return; } function _MapRenderer_RecalcVisibility($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; _Vec3_BigPos_850($1); ;HEAP32[1268384>>2]=HEAP32[$1>>2]|0;HEAP32[1268384+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[1268384+8>>2]=HEAP32[$1+8>>2]|0; _MapRenderer_CalcViewDists(); STACKTOP = sp;return; } function _MapRenderer_DeleteChunks_($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _MapRenderer_DeleteChunks(); return; } function _MapRenderer_Refresh_($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _MapRenderer_Refresh(); return; } function _MapRenderer_Refresh() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; _IVec3_MaxValue_861($0); ;HEAP32[1268424>>2]=HEAP32[$0>>2]|0;HEAP32[1268424+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[1268424+8>>2]=HEAP32[$0+8>>2]|0; $1 = HEAP32[317099]|0; $2 = ($1|0)!=(0|0); $3 = HEAP32[351863]|0; $4 = ($3|0)!=(0|0); $or$cond = $2 & $4; if ($or$cond) { _MapRenderer_DeleteChunks(); _MapRenderer_ResetChunks(); $5 = HEAP32[317093]|0; $6 = (_MapRenderer_UsedAtlases()|0); HEAP32[317093] = $6; $7 = ($6|0)==($5|0); if (!($7)) { _MapRenderer_FreeParts(); _MapRenderer_AllocateParts(); } } _MapRenderer_ResetPartCounts(); STACKTOP = sp;return; } function _MapRenderer_ResetChunks() { var $$01829 = 0, $$01923 = 0, $$02021 = 0, $$030 = 0, $$1$lcssa = 0, $$124 = 0, $$2$lcssa = 0, $$222 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[(1407472)>>2]|0; $1 = ($0|0)>(0); if (!($1)) { return; } $$01829 = 0;$$030 = 0; while(1) { $2 = HEAP32[(1407468)>>2]|0; $3 = ($2|0)>(0); if ($3) { $$01923 = 0;$$124 = $$030; while(1) { $4 = HEAP32[(1407464)>>2]|0; $5 = ($4|0)>(0); if ($5) { $$02021 = 0;$$222 = $$124; while(1) { $6 = HEAP32[317099]|0; $7 = (($6) + (($$222*20)|0)|0); _ChunkInfo_Reset($7,$$02021,$$01923,$$01829); $8 = (($$222) + 1)|0; $9 = (($$02021) + 16)|0; $10 = HEAP32[(1407464)>>2]|0; $11 = ($9|0)<($10|0); if ($11) { $$02021 = $9;$$222 = $8; } else { $$2$lcssa = $8; break; } } } else { $$2$lcssa = $$124; } $12 = (($$01923) + 16)|0; $13 = HEAP32[(1407468)>>2]|0; $14 = ($12|0)<($13|0); if ($14) { $$01923 = $12;$$124 = $$2$lcssa; } else { $$1$lcssa = $$2$lcssa; break; } } } else { $$1$lcssa = $$030; } $15 = (($$01829) + 16)|0; $16 = HEAP32[(1407472)>>2]|0; $17 = ($15|0)<($16|0); if ($17) { $$01829 = $15;$$030 = $$1$lcssa; } else { break; } } return; } function _MapRenderer_UsedAtlases() { var $$ = 0, $$010 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $$010 = 0;$3 = 0; while(1) { $0 = (624900 + ($$010<<1)|0); $1 = HEAP16[$0>>1]|0; $2 = $1&65535; $4 = ($3>>>0)>($2>>>0); $$ = $4 ? $3 : $2; $5 = (($$010) + 1)|0; $6 = $$ & 65535; $exitcond = ($5|0)==(4608); if ($exitcond) { break; } else { $$010 = $5;$3 = $6; } } $7 = HEAP32[(1384652)>>2]|0; $8 = ($7)?($6 >>> $7):($6); $9 = (($8) + 1)|0; return ($9|0); } function _MapRenderer_CalcViewDists() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[315052]|0; $1 = (_MapRenderer_AdjustDist($0)|0); HEAP32[317109] = $1; $2 = HEAP32[315051]|0; $3 = (_MapRenderer_AdjustDist($2)|0); HEAP32[317110] = $3; return; } function _MapRenderer_AdjustDist($0) { $0 = $0|0; var $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0, $spec$store$select = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ($0|0)>(16); $spec$store$select = $1 ? $0 : 16; $2 = (+($spec$store$select|0)); $3 = $2 * 1.4142135381698608; $4 = (~~(($3))); $5 = (($4) + 24)|0; $6 = Math_imul($5, $5)|0; return ($6|0); } function _MapRenderer_ResetPartFlags() { var label = 0, sp = 0; sp = STACKTOP; _memset((386688|0),1,512)|0; _memset((387200|0),0,512)|0; _memset((387712|0),1,512)|0; _memset((388224|0),0,512)|0; return; } function _MapRenderer_RefreshBorders($0) { $0 = $0|0; var $$02435 = 0, $$02531 = 0, $$030 = 0, $$old = 0, $$old28 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond27 = 0, $or$cond29 = 0, $or$cond3 = 0, $or$cond40 = 0; var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; _IVec3_MaxValue_861($1); ;HEAP32[1268424>>2]=HEAP32[$1>>2]|0;HEAP32[1268424+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[1268424+8>>2]=HEAP32[$1+8>>2]|0; $2 = HEAP32[317099]|0; $3 = ($2|0)!=(0|0); $4 = HEAP32[351863]|0; $5 = ($4|0)!=(0|0); $or$cond = $3 & $5; $6 = HEAP32[317094]|0; $7 = ($6|0)>(0); $or$cond40 = $or$cond & $7; if (!($or$cond40)) { STACKTOP = sp;return; } $$02435 = 0; while(1) { $8 = HEAP32[317091]|0; $9 = ($8|0)>(0); if ($9) { $10 = ($$02435|0)==(0); $$02531 = 0; while(1) { $11 = HEAP32[317092]|0; $12 = ($11|0)>(0); if ($12) { $$old = $$02531 << 4; $$old28 = ($$old|0)<($0|0); $13 = $$02531 << 4; $14 = ($13|0)<($0|0); $$030 = 0;$17 = $11; while(1) { $15 = ($$030|0)==(0); $or$cond3 = $10 | $15; $16 = (($17) + -1)|0; $18 = ($$030|0)==($16|0); $or$cond27 = $or$cond3 | $18; if ($or$cond27) { if ($$old28) { label = 10; } } else { $19 = HEAP32[317094]|0; $20 = (($19) + -1)|0; $21 = ($$02435|0)==($20|0); $or$cond29 = $14 & $21; if ($or$cond29) { label = 10; } } if ((label|0) == 10) { label = 0; _MapRenderer_RefreshChunk($$030,$$02531,$$02435); } $22 = (($$030) + 1)|0; $23 = HEAP32[317092]|0; $24 = ($22|0)<($23|0); if ($24) { $$030 = $22;$17 = $23; } else { break; } } } $25 = (($$02531) + 1)|0; $26 = HEAP32[317091]|0; $27 = ($25|0)<($26|0); if ($27) { $$02531 = $25; } else { break; } } } $28 = (($$02435) + 1)|0; $29 = HEAP32[317094]|0; $30 = ($28|0)<($29|0); if ($30) { $$02435 = $28; } else { break; } } STACKTOP = sp;return; } function _MapRenderer_RefreshChunk($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $3 = $1 | $0; $4 = $3 | $2; $5 = ($4|0)<(0); if ($5) { return; } $6 = HEAP32[317092]|0; $7 = ($6|0)>($0|0); if (!($7)) { return; } $8 = HEAP32[317091]|0; $9 = ($8|0)>($1|0); $10 = HEAP32[317094]|0; $11 = ($10|0)>($2|0); $or$cond = $9 & $11; if (!($or$cond)) { return; } $12 = HEAP32[317099]|0; $13 = Math_imul($8, $2)|0; $14 = (($13) + ($1))|0; $15 = Math_imul($14, $6)|0; $16 = (($15) + ($0))|0; $17 = (((($12) + (($16*20)|0)|0)) + 6|0); $18 = HEAP8[$17>>0]|0; $19 = $18 & 8; $20 = ($19<<24>>24)==(0); if (!($20)) { return; } $21 = $18 & -7; $22 = $21 | 4; HEAP8[$17>>0] = $22; return; } function _MapRenderer_GetChunk($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP32[317099]|0; $4 = HEAP32[317091]|0; $5 = Math_imul($4, $2)|0; $6 = (($5) + ($1))|0; $7 = HEAP32[317092]|0; $8 = Math_imul($6, $7)|0; $9 = (($8) + ($0))|0; $10 = (($3) + (($9*20)|0)|0); return ($10|0); } function _MapRenderer_RenderNormal($0) { $0 = +$0; var $$09 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[317099]|0; $2 = ($1|0)==(0|0); if ($2) { return; } _Gfx_SetVertexFormat(1); _Gfx_SetAlphaTest(1); $3 = HEAP32[317093]|0; $4 = ($3|0)>(0); if ($4) { $$09 = 0; while(1) { $5 = (382592 + ($$09<<2)|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)<(1); do { if (!($7)) { $8 = (387200 + ($$09)|0); $9 = HEAP8[$8>>0]|0; $10 = ($9<<24>>24)==(0); if ($10) { $11 = (386688 + ($$09)|0); $12 = HEAP8[$11>>0]|0; $13 = ($12<<24>>24)==(0); if ($13) { break; } } $14 = (1384660 + ($$09<<2)|0); $15 = HEAP32[$14>>2]|0; _Gfx_BindTexture($15); _MapRenderer_RenderNormalBatch($$09); $16 = (386688 + ($$09)|0); HEAP8[$16>>0] = 0; } } while(0); $17 = (($$09) + 1)|0; $18 = HEAP32[317093]|0; $19 = ($17|0)<($18|0); if ($19) { $$09 = $17; } else { break; } } } _MapRenderer_CheckWeather($0); _Gfx_SetAlphaTest(0); return; } function _MapRenderer_RenderNormalBatch($0) { $0 = $0|0; var $$0136 = 0, $$not$demorgan = 0, $$not122$demorgan = 0, $$not123$demorgan = 0, $$not124$demorgan = 0, $$not126$demorgan = 0, $$not127$demorgan = 0, $$sink138 = 0, $$sink141 = 0, $$sink144 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$0$0$copyload = 0, $$sroa$16$0$$sroa_idx65 = 0, $$sroa$16$0$copyload = 0, $$sroa$22$0$$sroa_idx72 = 0, $$sroa$22$0$copyload = 0, $$sroa$29$0$$sroa_idx80 = 0, $$sroa$29$0$copyload = 0, $$sroa$35$0$$sroa_idx87 = 0, $$sroa$35$0$copyload = 0; var $$sroa$41$0$$sroa_idx94 = 0, $$sroa$41$0$copyload = 0, $$sroa$6$0$$sroa_idx53 = 0, $$sroa$6$0$copyload = 0, $$sroa$9$0$$sroa_idx57 = 0, $$sroa$9$0$copyload = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $brmerge$demorgan = 0; var $brmerge125$demorgan = 0, $brmerge128$demorgan = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[317095]|0; $2 = Math_imul($1, $0)|0; $3 = HEAP32[317113]|0; $4 = ($3|0)>(0); if (!($4)) { return; } $5 = (387200 + ($0)|0); $$0136 = 0; while(1) { $6 = HEAP32[317101]|0; $7 = (($6) + ($$0136<<2)|0); $8 = HEAP32[$7>>2]|0; $9 = ((($8)) + 12|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)==(0|0); if (!($11)) { $$sroa$0$0$$sroa_idx = (($10) + (($2*20)|0)|0); $$sroa$0$0$copyload = HEAP32[$$sroa$0$0$$sroa_idx>>2]|0; $$sroa$6$0$$sroa_idx53 = (((($10) + (($2*20)|0)|0)) + 4|0); $$sroa$6$0$copyload = HEAP32[$$sroa$6$0$$sroa_idx53>>2]|0; $$sroa$22$0$$sroa_idx72 = (((($10) + (($2*20)|0)|0)) + 12|0); $$sroa$22$0$copyload = HEAP16[$$sroa$22$0$$sroa_idx72>>1]|0; $$sroa$29$0$$sroa_idx80 = (((($10) + (($2*20)|0)|0)) + 14|0); $$sroa$29$0$copyload = HEAP16[$$sroa$29$0$$sroa_idx80>>1]|0; $$sroa$35$0$$sroa_idx87 = (((($10) + (($2*20)|0)|0)) + 16|0); $$sroa$35$0$copyload = HEAP16[$$sroa$35$0$$sroa_idx87>>1]|0; $$sroa$41$0$$sroa_idx94 = (((($10) + (($2*20)|0)|0)) + 18|0); $$sroa$41$0$copyload = HEAP16[$$sroa$41$0$$sroa_idx94>>1]|0; $12 = ($$sroa$0$0$copyload|0)<(0); if (!($12)) { $$sroa$16$0$$sroa_idx65 = (((($10) + (($2*20)|0)|0)) + 10|0); $$sroa$16$0$copyload = HEAP16[$$sroa$16$0$$sroa_idx65>>1]|0; $$sroa$9$0$$sroa_idx57 = (((($10) + (($2*20)|0)|0)) + 8|0); $$sroa$9$0$copyload = HEAP16[$$sroa$9$0$$sroa_idx57>>1]|0; HEAP8[$5>>0] = 1; $13 = ((($8)) + 8|0); $14 = HEAP32[$13>>2]|0; _Gfx_BindVb($14); $15 = (($$sroa$6$0$copyload) + ($$sroa$0$0$copyload))|0; $16 = ((($8)) + 7|0); $17 = HEAP8[$16>>0]|0; $18 = $17 & 1; $19 = ($18<<24>>24)!=(0); $20 = $$sroa$9$0$copyload&65535; $21 = ($$sroa$9$0$copyload<<16>>16)!=(0); $22 = $17 & 2; $23 = ($22<<24>>24)!=(0); $24 = $$sroa$16$0$copyload&65535; $25 = ($$sroa$16$0$copyload<<16>>16)!=(0); $26 = $25 & $23; $$not$demorgan = $21 & $19; $$not122$demorgan = $25 & $23; $brmerge$demorgan = $$not$demorgan & $$not122$demorgan; do { if ($brmerge$demorgan) { _Gfx_SetFaceCulling(1); $27 = (($20) + ($24))|0; _Gfx_DrawIndexedVb_TrisT2fC4b($27,$15); _Gfx_SetFaceCulling(0); $$sink138 = $27; label = 11; } else { $28 = $21 & $19; if ($28) { _Gfx_DrawIndexedVb_TrisT2fC4b($20,$15); $$sink138 = $20; label = 11; break; } if ($26) { $29 = (($15) + ($20))|0; _Gfx_DrawIndexedVb_TrisT2fC4b($24,$29); $$sink138 = $24; label = 11; } } } while(0); if ((label|0) == 11) { label = 0; $30 = HEAP32[315073]|0; $31 = (($30) + ($$sink138))|0; HEAP32[315073] = $31; } $32 = (($20) + ($24))|0; $33 = (($32) + ($15))|0; $34 = HEAP8[$16>>0]|0; $35 = $34 & 4; $36 = ($35<<24>>24)!=(0); $37 = $$sroa$22$0$copyload&65535; $38 = ($$sroa$22$0$copyload<<16>>16)!=(0); $39 = $34 & 8; $40 = ($39<<24>>24)!=(0); $41 = $$sroa$29$0$copyload&65535; $42 = ($$sroa$29$0$copyload<<16>>16)!=(0); $43 = $42 & $40; $$not123$demorgan = $38 & $36; $$not124$demorgan = $42 & $40; $brmerge125$demorgan = $$not123$demorgan & $$not124$demorgan; do { if ($brmerge125$demorgan) { _Gfx_SetFaceCulling(1); $44 = (($41) + ($37))|0; _Gfx_DrawIndexedVb_TrisT2fC4b($44,$33); _Gfx_SetFaceCulling(0); $$sink141 = $44; label = 18; } else { $45 = $38 & $36; if ($45) { _Gfx_DrawIndexedVb_TrisT2fC4b($37,$33); $$sink141 = $37; label = 18; break; } if ($43) { $46 = (($33) + ($37))|0; _Gfx_DrawIndexedVb_TrisT2fC4b($41,$46); $$sink141 = $41; label = 18; } } } while(0); if ((label|0) == 18) { label = 0; $47 = HEAP32[315073]|0; $48 = (($47) + ($$sink141))|0; HEAP32[315073] = $48; } $49 = (($41) + ($37))|0; $50 = (($49) + ($33))|0; $51 = HEAP8[$16>>0]|0; $52 = $51 & 16; $53 = ($52<<24>>24)!=(0); $54 = $$sroa$35$0$copyload&65535; $55 = ($$sroa$35$0$copyload<<16>>16)!=(0); $56 = $51 & 32; $57 = ($56<<24>>24)!=(0); $58 = $$sroa$41$0$copyload&65535; $59 = ($$sroa$41$0$copyload<<16>>16)!=(0); $60 = $59 & $57; $$not126$demorgan = $55 & $53; $$not127$demorgan = $59 & $57; $brmerge128$demorgan = $$not126$demorgan & $$not127$demorgan; do { if ($brmerge128$demorgan) { _Gfx_SetFaceCulling(1); $61 = (($58) + ($54))|0; _Gfx_DrawIndexedVb_TrisT2fC4b($61,$50); _Gfx_SetFaceCulling(0); $$sink144 = $61; label = 25; } else { $62 = $55 & $53; if ($62) { _Gfx_DrawIndexedVb_TrisT2fC4b($54,$50); $$sink144 = $54; label = 25; break; } if ($60) { $63 = (($50) + ($54))|0; _Gfx_DrawIndexedVb_TrisT2fC4b($58,$63); $$sink144 = $58; label = 25; } } } while(0); if ((label|0) == 25) { label = 0; $64 = HEAP32[315073]|0; $65 = (($64) + ($$sink144))|0; HEAP32[315073] = $65; } $66 = ($$sroa$6$0$copyload|0)==(0); if (!($66)) { $67 = (2)?($$sroa$6$0$copyload >> 2):($$sroa$6$0$copyload); _Gfx_SetFaceCulling(1); $68 = HEAP8[$16>>0]|0; $69 = $68 & 6; $70 = ($69<<24>>24)==(0); if (!($70)) { _Gfx_DrawIndexedVb_TrisT2fC4b($67,$$sroa$0$0$copyload); $71 = HEAP32[315073]|0; $72 = (($71) + ($67))|0; HEAP32[315073] = $72; } $73 = (($67) + ($$sroa$0$0$copyload))|0; $74 = HEAP8[$16>>0]|0; $75 = $74 & 9; $76 = ($75<<24>>24)==(0); if (!($76)) { _Gfx_DrawIndexedVb_TrisT2fC4b($67,$73); $77 = HEAP32[315073]|0; $78 = (($77) + ($67))|0; HEAP32[315073] = $78; } $79 = (($73) + ($67))|0; $80 = HEAP8[$16>>0]|0; $81 = $80 & 5; $82 = ($81<<24>>24)==(0); if (!($82)) { _Gfx_DrawIndexedVb_TrisT2fC4b($67,$79); $83 = HEAP32[315073]|0; $84 = (($83) + ($67))|0; HEAP32[315073] = $84; } $85 = HEAP8[$16>>0]|0; $86 = $85 & 10; $87 = ($86<<24>>24)==(0); if (!($87)) { $88 = (($79) + ($67))|0; _Gfx_DrawIndexedVb_TrisT2fC4b($67,$88); $89 = HEAP32[315073]|0; $90 = (($89) + ($67))|0; HEAP32[315073] = $90; } _Gfx_SetFaceCulling(0); } } } $91 = (($$0136) + 1)|0; $92 = HEAP32[317113]|0; $93 = ($91|0)<($92|0); if ($93) { $$0136 = $91; } else { break; } } return; } function _MapRenderer_CheckWeather($0) { $0 = +$0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $phitmp = 0, $phitmp4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; _IVec3_Floor($1,(1230620)); $2 = HEAP32[$1>>2]|0; $3 = ((($1)) + 4|0); $4 = HEAP32[$3>>2]|0; $5 = ((($1)) + 8|0); $6 = HEAP32[$5>>2]|0; $7 = (_World_SafeGetBlock($2,$4,$6)|0); $8 = HEAP32[$3>>2]|0; $9 = ($8|0)<(0); if ($9) { $18 = 1; } else { $10 = HEAP32[$1>>2]|0; $11 = HEAP32[$5>>2]|0; $12 = (_World_ContainsXZ_872($10,$11)|0); $13 = ($12<<24>>24)==(0); $phitmp = $13&1; $18 = $phitmp; } $14 = $7&65535; $15 = (583428 + ($14)|0); $16 = HEAP8[$15>>0]|0; $17 = ($16<<24>>24)==(3); if ($17) { $23 = 1; } else { $19 = ($18|0)!=(0); $20 = HEAP32[(1407516)>>2]|0; $21 = ($8|0)<($20|0); $22 = $19 & $21; $phitmp4 = $22&1; $23 = $phitmp4; } HEAP8[1408274] = $23; $24 = ($23<<24>>24)==(0); $25 = HEAP32[(1407540)>>2]|0; $26 = ($25|0)==(0); $or$cond = $24 | $26; if ($or$cond) { STACKTOP = sp;return; } _Gfx_SetAlphaBlending(1); _EnvRenderer_RenderWeather($0); _Gfx_SetAlphaBlending(0); STACKTOP = sp;return; } function _World_ContainsXZ_872($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $narrow = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[(1407464)>>2]|0; $3 = ($2>>>0)>($0>>>0); $4 = HEAP32[(1407472)>>2]|0; $5 = ($4>>>0)>($1>>>0); $narrow = $3 & $5; $6 = $narrow&1; return ($6|0); } function _MapRenderer_RenderTranslucent($0) { $0 = +$0; var $$019 = 0, $$118 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[317099]|0; $2 = ($1|0)==(0|0); if ($2) { return; } $3 = HEAP32[315073]|0; _Gfx_SetVertexFormat(1); _Gfx_SetAlphaBlending(0); _Gfx_SetColWriteMask(0,0,0,0); $4 = HEAP32[317093]|0; $5 = ($4|0)>(0); if ($5) { $$019 = 0; while(1) { $6 = (384640 + ($$019<<2)|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)<(1); do { if (!($8)) { $9 = (388224 + ($$019)|0); $10 = HEAP8[$9>>0]|0; $11 = ($10<<24>>24)==(0); if ($11) { $12 = (387712 + ($$019)|0); $13 = HEAP8[$12>>0]|0; $14 = ($13<<24>>24)==(0); if ($14) { break; } } _MapRenderer_RenderTranslucentBatch($$019); $15 = (387712 + ($$019)|0); HEAP8[$15>>0] = 0; } } while(0); $16 = (($$019) + 1)|0; $17 = HEAP32[317093]|0; $18 = ($16|0)<($17|0); if ($18) { $$019 = $16; } else { break; } } } HEAP32[315073] = $3; _Gfx_SetAlphaBlending(1); _Gfx_SetColWriteMask(1,1,1,1); _Gfx_SetDepthWrite(0); $19 = HEAP32[317093]|0; $20 = ($19|0)>(0); if ($20) { $$118 = 0; while(1) { $21 = (384640 + ($$118<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)<(1); if (!($23)) { $24 = (388224 + ($$118)|0); $25 = HEAP8[$24>>0]|0; $26 = ($25<<24>>24)==(0); if (!($26)) { $27 = (1384660 + ($$118<<2)|0); $28 = HEAP32[$27>>2]|0; _Gfx_BindTexture($28); _MapRenderer_RenderTranslucentBatch($$118); } } $29 = (($$118) + 1)|0; $30 = HEAP32[317093]|0; $31 = ($29|0)<($30|0); if ($31) { $$118 = $29; } else { break; } } } _Gfx_SetDepthWrite(1); $32 = HEAP8[1408274]|0; $33 = ($32<<24>>24)==(0); $34 = HEAP32[(1407540)>>2]|0; $35 = ($34|0)!=(0); $or$cond = $33 & $35; if ($or$cond) { _Gfx_SetAlphaTest(1); _EnvRenderer_RenderWeather($0); _Gfx_SetAlphaTest(0); } _Gfx_SetAlphaBlending(0); return; } function _MapRenderer_RenderTranslucentBatch($0) { $0 = $0|0; var $$0121 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$0$0$copyload = 0, $$sroa$12$0$$sroa_idx42 = 0, $$sroa$12$0$copyload = 0, $$sroa$18$0$$sroa_idx49 = 0, $$sroa$18$0$copyload = 0, $$sroa$25$0$$sroa_idx57 = 0, $$sroa$25$0$copyload = 0, $$sroa$31$0$$sroa_idx64 = 0, $$sroa$31$0$copyload = 0, $$sroa$37$0$$sroa_idx71 = 0, $$sroa$37$0$copyload = 0, $$sroa$533$0$$sroa_idx34 = 0, $$sroa$533$0$copyload = 0, $1 = 0, $10 = 0, $100 = 0, $11 = 0, $12 = 0; var $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0; var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge$demorgan = 0, $brmerge95$demorgan = 0, $brmerge98$demorgan = 0, $spec$select = 0, $spec$select119 = 0; var $spec$select120 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[317095]|0; $2 = Math_imul($1, $0)|0; $3 = HEAP32[317113]|0; $4 = ($3|0)>(0); if (!($4)) { return; } $5 = (388224 + ($0)|0); $$0121 = 0; while(1) { $6 = HEAP32[317101]|0; $7 = (($6) + ($$0121<<2)|0); $8 = HEAP32[$7>>2]|0; $9 = ((($8)) + 16|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)==(0|0); do { if (!($11)) { $$sroa$0$0$$sroa_idx = (($10) + (($2*20)|0)|0); $$sroa$0$0$copyload = HEAP32[$$sroa$0$0$$sroa_idx>>2]|0; $$sroa$533$0$$sroa_idx34 = (((($10) + (($2*20)|0)|0)) + 8|0); $$sroa$533$0$copyload = HEAP16[$$sroa$533$0$$sroa_idx34>>1]|0; $$sroa$12$0$$sroa_idx42 = (((($10) + (($2*20)|0)|0)) + 10|0); $$sroa$12$0$copyload = HEAP16[$$sroa$12$0$$sroa_idx42>>1]|0; $$sroa$18$0$$sroa_idx49 = (((($10) + (($2*20)|0)|0)) + 12|0); $$sroa$18$0$copyload = HEAP16[$$sroa$18$0$$sroa_idx49>>1]|0; $$sroa$25$0$$sroa_idx57 = (((($10) + (($2*20)|0)|0)) + 14|0); $$sroa$25$0$copyload = HEAP16[$$sroa$25$0$$sroa_idx57>>1]|0; $$sroa$31$0$$sroa_idx64 = (((($10) + (($2*20)|0)|0)) + 16|0); $$sroa$31$0$copyload = HEAP16[$$sroa$31$0$$sroa_idx64>>1]|0; $$sroa$37$0$$sroa_idx71 = (((($10) + (($2*20)|0)|0)) + 18|0); $$sroa$37$0$copyload = HEAP16[$$sroa$37$0$$sroa_idx71>>1]|0; $12 = ($$sroa$0$0$copyload|0)<(0); if (!($12)) { HEAP8[$5>>0] = 1; $13 = ((($8)) + 8|0); $14 = HEAP32[$13>>2]|0; _Gfx_BindVb($14); $15 = HEAP8[1408274]|0; $16 = ($15<<24>>24)==(0); if ($16) { $17 = ((($8)) + 7|0); $18 = HEAP8[$17>>0]|0; $19 = $18 & 1; $20 = ($19<<24>>24)!=(0); $21 = ($$sroa$533$0$copyload<<16>>16)!=(0); $spec$select = $21 & $20; $22 = $18 & 2; $23 = ($22<<24>>24)==(0); if ($23) { if ($spec$select) { label = 12; } } else { $26 = $spec$select; label = 9; } } else { $24 = ($$sroa$533$0$copyload<<16>>16)!=(0); $26 = $24; label = 9; } do { if ((label|0) == 9) { label = 0; $25 = ($$sroa$12$0$copyload<<16>>16)!=(0); $brmerge$demorgan = $25 & $26; if ($brmerge$demorgan) { $27 = $$sroa$533$0$copyload&65535; $28 = $$sroa$12$0$copyload&65535; $29 = (($28) + ($27))|0; _Gfx_DrawIndexedVb_TrisT2fC4b($29,$$sroa$0$0$copyload); $30 = HEAP32[315073]|0; $31 = (($30) + ($29))|0; HEAP32[315073] = $31; break; } if ($26) { label = 12; } else { $35 = $$sroa$12$0$copyload&65535; if ($25) { $36 = $$sroa$533$0$copyload&65535; $37 = (($$sroa$0$0$copyload) + ($36))|0; _Gfx_DrawIndexedVb_TrisT2fC4b($35,$37); $38 = HEAP32[315073]|0; $39 = (($38) + ($35))|0; HEAP32[315073] = $39; } } } } while(0); if ((label|0) == 12) { label = 0; $32 = $$sroa$533$0$copyload&65535; _Gfx_DrawIndexedVb_TrisT2fC4b($32,$$sroa$0$0$copyload); $33 = HEAP32[315073]|0; $34 = (($33) + ($32))|0; HEAP32[315073] = $34; } $40 = $$sroa$533$0$copyload&65535; $41 = $$sroa$12$0$copyload&65535; $42 = (($$sroa$0$0$copyload) + ($40))|0; $43 = (($42) + ($41))|0; $44 = HEAP8[1408274]|0; $45 = ($44<<24>>24)==(0); if ($45) { $46 = ((($8)) + 7|0); $47 = HEAP8[$46>>0]|0; $48 = $47 & 4; $49 = ($48<<24>>24)!=(0); $50 = ($$sroa$18$0$copyload<<16>>16)!=(0); $spec$select119 = $50 & $49; $51 = $47 & 8; $52 = ($51<<24>>24)==(0); if ($52) { if ($spec$select119) { label = 22; } } else { $55 = $spec$select119; label = 19; } } else { $53 = ($$sroa$18$0$copyload<<16>>16)!=(0); $55 = $53; label = 19; } do { if ((label|0) == 19) { label = 0; $54 = ($$sroa$25$0$copyload<<16>>16)!=(0); $brmerge95$demorgan = $54 & $55; if ($brmerge95$demorgan) { $56 = $$sroa$18$0$copyload&65535; $57 = $$sroa$25$0$copyload&65535; $58 = (($57) + ($56))|0; _Gfx_DrawIndexedVb_TrisT2fC4b($58,$43); $59 = HEAP32[315073]|0; $60 = (($59) + ($58))|0; HEAP32[315073] = $60; break; } if ($55) { label = 22; } else { $64 = $$sroa$25$0$copyload&65535; if ($54) { $65 = $$sroa$18$0$copyload&65535; $66 = (($43) + ($65))|0; _Gfx_DrawIndexedVb_TrisT2fC4b($64,$66); $67 = HEAP32[315073]|0; $68 = (($67) + ($64))|0; HEAP32[315073] = $68; } } } } while(0); if ((label|0) == 22) { label = 0; $61 = $$sroa$18$0$copyload&65535; _Gfx_DrawIndexedVb_TrisT2fC4b($61,$43); $62 = HEAP32[315073]|0; $63 = (($62) + ($61))|0; HEAP32[315073] = $63; } $69 = $$sroa$18$0$copyload&65535; $70 = $$sroa$25$0$copyload&65535; $71 = (($70) + ($69))|0; $72 = (($71) + ($43))|0; $73 = HEAP8[1408274]|0; $74 = ($73<<24>>24)==(0); if ($74) { $75 = ((($8)) + 7|0); $76 = HEAP8[$75>>0]|0; $77 = $76 & 16; $78 = ($77<<24>>24)!=(0); $79 = ($$sroa$31$0$copyload<<16>>16)!=(0); $spec$select120 = $79 & $78; $80 = $76 & 32; $81 = ($80<<24>>24)==(0); if ($81) { if (!($spec$select120)) { break; } } else { $84 = $spec$select120; label = 29; } } else { $82 = ($$sroa$31$0$copyload<<16>>16)!=(0); $84 = $82; label = 29; } if ((label|0) == 29) { label = 0; $83 = ($$sroa$37$0$copyload<<16>>16)!=(0); $brmerge98$demorgan = $83 & $84; if ($brmerge98$demorgan) { $85 = $$sroa$31$0$copyload&65535; $86 = $$sroa$37$0$copyload&65535; $87 = (($86) + ($85))|0; _Gfx_DrawIndexedVb_TrisT2fC4b($87,$72); $88 = HEAP32[315073]|0; $89 = (($88) + ($87))|0; HEAP32[315073] = $89; break; } if (!($84)) { $93 = $$sroa$37$0$copyload&65535; if (!($83)) { break; } $94 = $$sroa$31$0$copyload&65535; $95 = (($72) + ($94))|0; _Gfx_DrawIndexedVb_TrisT2fC4b($93,$95); $96 = HEAP32[315073]|0; $97 = (($96) + ($93))|0; HEAP32[315073] = $97; break; } } $90 = $$sroa$31$0$copyload&65535; _Gfx_DrawIndexedVb_TrisT2fC4b($90,$72); $91 = HEAP32[315073]|0; $92 = (($91) + ($90))|0; HEAP32[315073] = $92; } } } while(0); $98 = (($$0121) + 1)|0; $99 = HEAP32[317113]|0; $100 = ($98|0)<($99|0); if ($100) { $$0121 = $98; } else { break; } } return; } function _MapRenderer_Update($0) { $0 = +$0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[317099]|0; $2 = ($1|0)==(0|0); if ($2) { return; } _MapRenderer_UpdateSortOrder(); _MapRenderer_UpdateChunks($0); return; } function _MapRenderer_UpdateSortOrder() { var $$040 = 0, $$lcssa = 0, $$lobit = 0, $$not = 0, $$not34 = 0, $$not37 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0; var $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; _IVec3_Floor($0,(1230620)); $1 = HEAP32[$0>>2]|0; $2 = $1 & -16; $3 = $2 | 8; HEAP32[$0>>2] = $3; $4 = ((($0)) + 4|0); $5 = HEAP32[$4>>2]|0; $6 = $5 & -16; $7 = $6 | 8; HEAP32[$4>>2] = $7; $8 = ((($0)) + 8|0); $9 = HEAP32[$8>>2]|0; $10 = $9 & -16; $11 = $10 | 8; HEAP32[$8>>2] = $11; $12 = HEAP32[317106]|0; $13 = ($3|0)==($12|0); if ($13) { $14 = HEAP32[(1268428)>>2]|0; $15 = ($7|0)==($14|0); $16 = HEAP32[(1268432)>>2]|0; $17 = ($11|0)==($16|0); $or$cond = $15 & $17; if ($or$cond) { STACKTOP = sp;return; } } ;HEAP32[1268424>>2]=HEAP32[$0>>2]|0;HEAP32[1268424+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[1268424+8>>2]=HEAP32[$0+8>>2]|0; $18 = HEAP32[317095]|0; $19 = ($18|0)==(0); if ($19) { STACKTOP = sp;return; } $20 = HEAP32[317095]|0; $21 = ($20|0)>(0); if ($21) { $22 = HEAP32[317100]|0; $23 = HEAP32[317102]|0; $$040 = 0; while(1) { $24 = (($22) + ($$040<<2)|0); $25 = HEAP32[$24>>2]|0; $26 = HEAP16[$25>>1]|0; $27 = $26&65535; $28 = HEAP32[$0>>2]|0; $29 = (($27) - ($28))|0; $30 = ((($25)) + 2|0); $31 = HEAP16[$30>>1]|0; $32 = $31&65535; $33 = HEAP32[$4>>2]|0; $34 = (($32) - ($33))|0; $35 = ((($25)) + 4|0); $36 = HEAP16[$35>>1]|0; $37 = $36&65535; $38 = HEAP32[$8>>2]|0; $39 = (($37) - ($38))|0; $40 = Math_imul($29, $29)|0; $41 = Math_imul($34, $34)|0; $42 = (($41) + ($40))|0; $43 = Math_imul($39, $39)|0; $44 = (($42) + ($43))|0; $45 = (($23) + ($$040<<2)|0); HEAP32[$45>>2] = $44; $$lobit = (31)?($29 >>> 31):($29); $46 = $$lobit&255; $47 = ((($25)) + 7|0); $48 = HEAP8[$47>>0]|0; $$not = $46 & 1; $49 = $48 & -64; $50 = ($29|0)<(1); $51 = $50&1; $52 = ($51 << 1)&255; $53 = (29)?($39 >>> 29):($39); $$not34 = $53&255; $54 = $$not34 & 4; $55 = ($39|0)<(1); $56 = $55&1; $57 = ($56 << 3)&255; $58 = (27)?($34 >>> 27):($34); $$not37 = $58&255; $59 = $$not37 & 16; $60 = ($34|0)<(1); $61 = $60&1; $62 = ($61 << 5)&255; $63 = $52 | $$not; $64 = $63 | $59; $65 = $64 | $62; $66 = $65 | $49; $67 = $66 | $54; $68 = $67 | $57; $69 = $68 ^ 21; HEAP8[$47>>0] = $69; $70 = (($$040) + 1)|0; $71 = HEAP32[317095]|0; $72 = ($70|0)<($71|0); if ($72) { $$040 = $70; } else { $$lcssa = $71; break; } } } else { $$lcssa = $20; } $73 = (($$lcssa) + -1)|0; _MapRenderer_QuickSort(0,$73); _MapRenderer_ResetPartFlags(); STACKTOP = sp;return; } function _MapRenderer_UpdateChunks($0) { $0 = +$0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; HEAP32[$1>>2] = 0; $2 = $0 < 0.043333333333333335; $3 = $2 ? 1 : -1; $4 = HEAP32[2952]|0; $5 = (($4) + ($3))|0; $6 = ($5|0)>(4); $7 = $6 ? $5 : 4; $8 = HEAP32[317112]|0; $9 = ($7|0)>($8|0); $10 = $9 ? $8 : $7; HEAP32[2952] = $10; $11 = (_Vec3_Equals()|0); $12 = ($11<<24>>24)==(0); if ($12) { label = 5; } else { $13 = +HEAPF32[(1242168)>>2]; $14 = +HEAPF32[317114]; $15 = $13 == $14; if ($15) { $16 = +HEAPF32[(1242172)>>2]; $17 = +HEAPF32[317115]; $18 = $16 != $17; if ($18) { label = 5; } else { $19 = (_MapRenderer_UpdateChunksStill($1)|0); $21 = $19;$26 = 0; } } else { label = 5; } } if ((label|0) == 5) { $20 = (_MapRenderer_UpdateChunksAndVisibility($1)|0); $21 = $20;$26 = 1; } HEAP32[317113] = $21; ;HEAP32[1268384>>2]=HEAP32[(1230620)>>2]|0;HEAP32[1268384+4>>2]=HEAP32[(1230620)+4>>2]|0;HEAP32[1268384+8>>2]=HEAP32[(1230620)+8>>2]|0; $22 = HEAP32[(1242168)>>2]|0; HEAP32[317114] = $22; $23 = HEAP32[(1242172)>>2]|0; HEAP32[317115] = $23; $24 = HEAP32[$1>>2]|0; $25 = ($24|0)!=(0); $or$cond = $26 | $25; if (!($or$cond)) { STACKTOP = sp;return; } _MapRenderer_ResetPartFlags(); STACKTOP = sp;return; } function _Vec3_Equals() { var $0 = 0.0, $1 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; $0 = +HEAPF32[(1230620)>>2]; $1 = +HEAPF32[317096]; $2 = $0 == $1; if (!($2)) { $9 = 0; return ($9|0); } $3 = +HEAPF32[(1230624)>>2]; $4 = +HEAPF32[(1268388)>>2]; $5 = $3 == $4; if (!($5)) { $9 = 0; return ($9|0); } $6 = +HEAPF32[(1230628)>>2]; $7 = +HEAPF32[(1268392)>>2]; $8 = $6 == $7; $phitmp = $8&1; $9 = $phitmp; return ($9|0); } function _MapRenderer_UpdateChunksStill($0) { $0 = $0|0; var $$046$lcssa = 0, $$04651 = 0, $$052 = 0, $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0; var $42 = 0.0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; var $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond48 = 0, $or$cond50 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[317110]|0; $2 = HEAP32[317109]|0; $3 = HEAP32[317095]|0; $4 = ($3|0)>(0); if (!($4)) { $$046$lcssa = 0; return ($$046$lcssa|0); } $5 = (($2) + 512)|0; $$04651 = 0;$$052 = 0; while(1) { $6 = HEAP32[317100]|0; $7 = (($6) + ($$052<<2)|0); $8 = HEAP32[$7>>2]|0; $9 = ((($8)) + 6|0); $10 = HEAP8[$9>>0]|0; $11 = $10 & 2; $12 = ($11<<24>>24)==(0); do { if ($12) { $13 = HEAP32[317102]|0; $14 = (($13) + ($$052<<2)|0); $15 = HEAP32[$14>>2]|0; $16 = ((($8)) + 12|0); $17 = HEAP32[$16>>2]|0; $18 = ($17|0)==(0|0); if ($18) { $19 = ((($8)) + 16|0); $20 = HEAP32[$19>>2]|0; $21 = ($20|0)==(0|0); $23 = $21; } else { $23 = 0; } $22 = ($15|0)<($5|0); $or$cond = $22 | $23; if (!($or$cond)) { _MapRenderer_DeleteChunk($8); $$1 = $$04651; break; } $24 = (2)?(($10&255) >>> 2):(($10&255)); $25 = $24 & 1; $26 = $25&255; $27 = $23&1; $28 = $27 | $26; $29 = ($28|0)==(0); $30 = ($15|0)>($2|0); $or$cond48 = $30 | $29; if (!($or$cond48)) { $31 = HEAP32[$0>>2]|0; $32 = HEAP32[2952]|0; $33 = ($31|0)<($32|0); if ($33) { _MapRenderer_DeleteChunk($8); _MapRenderer_BuildChunk($8,$0); $34 = ($15|0)>($1|0); if ($34) { $46 = 0; } else { $35 = HEAP16[$8>>1]|0; $36 = (+($35&65535)); $37 = ((($8)) + 2|0); $38 = HEAP16[$37>>1]|0; $39 = (+($38&65535)); $40 = ((($8)) + 4|0); $41 = HEAP16[$40>>1]|0; $42 = (+($41&65535)); $43 = (_FrustumCulling_SphereInFrustum($36,$39,$42,14.0)|0); $44 = ($43<<24>>24)!=(0); $46 = $44; } $45 = $46&1; $47 = HEAP8[$9>>0]|0; $48 = $47 & -2; $49 = $48 | $45; HEAP8[$9>>0] = $49; $50 = $47 & 2; $51 = ($50<<24>>24)==(0); $or$cond50 = $46 & $51; if (!($or$cond50)) { $$1 = $$04651; break; } $52 = (($$04651) + 1)|0; $53 = HEAP32[317101]|0; $54 = (($53) + ($$04651<<2)|0); HEAP32[$54>>2] = $8; $$1 = $52; break; } } $55 = $10 & 1; $56 = ($55<<24>>24)==(0); if ($56) { $$1 = $$04651; } else { $57 = (($$04651) + 1)|0; $58 = HEAP32[317101]|0; $59 = (($58) + ($$04651<<2)|0); HEAP32[$59>>2] = $8; $$1 = $57; } } else { $$1 = $$04651; } } while(0); $60 = (($$052) + 1)|0; $61 = HEAP32[317095]|0; $62 = ($60|0)<($61|0); if ($62) { $$04651 = $$1;$$052 = $60; } else { $$046$lcssa = $$1; break; } } return ($$046$lcssa|0); } function _MapRenderer_UpdateChunksAndVisibility($0) { $0 = $0|0; var $$042$lcssa = 0, $$04247 = 0, $$048 = 0, $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0; var $42 = 0.0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0; var $9 = 0, $or$cond = 0, $or$cond44 = 0, $or$cond46 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[317110]|0; $2 = HEAP32[317109]|0; $3 = HEAP32[317095]|0; $4 = ($3|0)>(0); if (!($4)) { $$042$lcssa = 0; return ($$042$lcssa|0); } $5 = (($2) + 512)|0; $$04247 = 0;$$048 = 0; while(1) { $6 = HEAP32[317100]|0; $7 = (($6) + ($$048<<2)|0); $8 = HEAP32[$7>>2]|0; $9 = ((($8)) + 6|0); $10 = HEAP8[$9>>0]|0; $11 = $10 & 2; $12 = ($11<<24>>24)==(0); do { if ($12) { $13 = HEAP32[317102]|0; $14 = (($13) + ($$048<<2)|0); $15 = HEAP32[$14>>2]|0; $16 = ((($8)) + 12|0); $17 = HEAP32[$16>>2]|0; $18 = ($17|0)==(0|0); if ($18) { $19 = ((($8)) + 16|0); $20 = HEAP32[$19>>2]|0; $21 = ($20|0)==(0|0); $23 = $21; } else { $23 = 0; } $22 = ($15|0)<($5|0); $or$cond = $22 | $23; if (!($or$cond)) { _MapRenderer_DeleteChunk($8); $$1 = $$04247; break; } $24 = (2)?(($10&255) >>> 2):(($10&255)); $25 = $24 & 1; $26 = $25&255; $27 = $23&1; $28 = $27 | $26; $29 = ($28|0)==(0); $30 = ($15|0)>($2|0); $or$cond44 = $30 | $29; if (!($or$cond44)) { $31 = HEAP32[$0>>2]|0; $32 = HEAP32[2952]|0; $33 = ($31|0)<($32|0); if ($33) { _MapRenderer_DeleteChunk($8); _MapRenderer_BuildChunk($8,$0); } } $34 = ($15|0)>($1|0); if ($34) { $46 = 0; } else { $35 = HEAP16[$8>>1]|0; $36 = (+($35&65535)); $37 = ((($8)) + 2|0); $38 = HEAP16[$37>>1]|0; $39 = (+($38&65535)); $40 = ((($8)) + 4|0); $41 = HEAP16[$40>>1]|0; $42 = (+($41&65535)); $43 = (_FrustumCulling_SphereInFrustum($36,$39,$42,14.0)|0); $44 = ($43<<24>>24)!=(0); $46 = $44; } $45 = $46&1; $47 = HEAP8[$9>>0]|0; $48 = $47 & -2; $49 = $48 | $45; HEAP8[$9>>0] = $49; $50 = $47 & 2; $51 = ($50<<24>>24)==(0); $or$cond46 = $46 & $51; if ($or$cond46) { $52 = (($$04247) + 1)|0; $53 = HEAP32[317101]|0; $54 = (($53) + ($$04247<<2)|0); HEAP32[$54>>2] = $8; $$1 = $52; } else { $$1 = $$04247; } } else { $$1 = $$04247; } } while(0); $55 = (($$048) + 1)|0; $56 = HEAP32[317095]|0; $57 = ($55|0)<($56|0); if ($57) { $$04247 = $$1;$$048 = $55; } else { $$042$lcssa = $$1; break; } } return ($$042$lcssa|0); } function _MapRenderer_BuildChunk($0,$1) { $0 = $0|0; $1 = $1|0; var $$02226 = 0, $$027 = 0, $$12324 = 0, $$125 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; var $43 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[(535488)>>2]|0; $3 = (($2) + 1)|0; HEAP32[(535488)>>2] = $3; $4 = HEAP32[$1>>2]|0; $5 = (($4) + 1)|0; HEAP32[$1>>2] = $5; $6 = ((($0)) + 6|0); $7 = HEAP8[$6>>0]|0; $8 = $7 & -5; HEAP8[$6>>0] = $8; _Builder_MakeChunk($0); $9 = ((($0)) + 12|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)==(0|0); if ($11) { $12 = ((($0)) + 16|0); $13 = HEAP32[$12>>2]|0; $14 = ($13|0)==(0|0); if ($14) { $15 = HEAP8[$6>>0]|0; $16 = $15 | 2; HEAP8[$6>>0] = $16; return; } } else { $17 = HEAP32[317093]|0; $18 = ($17|0)>(0); if ($18) { $19 = HEAP32[317095]|0; $20 = HEAP32[317093]|0; $$02226 = $10;$$027 = 0; while(1) { $21 = HEAP32[$$02226>>2]|0; $22 = ($21|0)>(-1); $23 = (382592 + ($$027<<2)|0); if ($22) { $24 = HEAP32[$23>>2]|0; $25 = (($24) + 1)|0; HEAP32[$23>>2] = $25; } $26 = (($$027) + 1)|0; $27 = (($$02226) + (($19*20)|0)|0); $28 = ($26|0)<($20|0); if ($28) { $$02226 = $27;$$027 = $26; } else { break; } } } } $29 = ((($0)) + 16|0); $30 = HEAP32[$29>>2]|0; $31 = ($30|0)!=(0|0); $32 = HEAP32[317093]|0; $33 = ($32|0)>(0); $or$cond = $31 & $33; if (!($or$cond)) { return; } $34 = HEAP32[317095]|0; $35 = HEAP32[317093]|0; $$12324 = $30;$$125 = 0; while(1) { $36 = HEAP32[$$12324>>2]|0; $37 = ($36|0)>(-1); $38 = (384640 + ($$125<<2)|0); if ($37) { $39 = HEAP32[$38>>2]|0; $40 = (($39) + 1)|0; HEAP32[$38>>2] = $40; } $41 = (($$125) + 1)|0; $42 = (($$12324) + (($34*20)|0)|0); $43 = ($41|0)<($35|0); if ($43) { $$12324 = $42;$$125 = $41; } else { break; } } return; } function _MapRenderer_QuickSort($0,$1) { $0 = $0|0; $1 = $1|0; var $$065$lcssa = 0, $$06576 = 0, $$067$lcssa = 0, $$06775 = 0, $$07078 = 0, $$079 = 0, $$1 = 0, $$166 = 0, $$168 = 0, $$171 = 0, $$2 = 0, $$269 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0; var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[317100]|0; $3 = HEAP32[317102]|0; $4 = ($0|0)<($1|0); if (!($4)) { return; } $$07078 = $1;$$079 = $0; while(1) { $5 = (($$079) + ($$07078))|0; $6 = (1)?($5 >> 1):($5); $7 = (($3) + ($6<<2)|0); $8 = HEAP32[$7>>2]|0; $9 = ($$079|0)>($$07078|0); if ($9) { $$065$lcssa = $$07078;$$067$lcssa = $$079; } else { $$06576 = $$07078;$$06775 = $$079; while(1) { $$168 = $$06775; while(1) { $10 = (($3) + ($$168<<2)|0); $11 = HEAP32[$10>>2]|0; $12 = ($8>>>0)>($11>>>0); $13 = (($$168) + 1)|0; if ($12) { $$168 = $13; } else { break; } } $$166 = $$06576; while(1) { $14 = (($3) + ($$166<<2)|0); $15 = HEAP32[$14>>2]|0; $16 = ($8>>>0)<($15>>>0); $17 = (($$166) + -1)|0; if ($16) { $$166 = $17; } else { break; } } $18 = ($$168|0)>($$166|0); if ($18) { $$2 = $$166;$$269 = $$168; } else { HEAP32[$10>>2] = $15; HEAP32[$14>>2] = $11; $19 = (($2) + ($$168<<2)|0); $20 = HEAP32[$19>>2]|0; $21 = (($2) + ($$166<<2)|0); $22 = HEAP32[$21>>2]|0; HEAP32[$19>>2] = $22; HEAP32[$21>>2] = $20; $23 = (($$168) + 1)|0; $24 = (($$166) + -1)|0; $$2 = $24;$$269 = $23; } $25 = ($$269|0)>($$2|0); if ($25) { $$065$lcssa = $$2;$$067$lcssa = $$269; break; } else { $$06576 = $$2;$$06775 = $$269; } } } $26 = (($$065$lcssa) - ($$079))|0; $27 = (($$07078) - ($$067$lcssa))|0; $28 = ($26|0)>($27|0); if ($28) { $30 = ($$07078|0)>($$067$lcssa|0); if ($30) { _MapRenderer_QuickSort($$067$lcssa,$$07078); $$1 = $$079;$$171 = $$065$lcssa; } else { $$1 = $$079;$$171 = $$065$lcssa; } } else { $29 = ($$065$lcssa|0)>($$079|0); if ($29) { _MapRenderer_QuickSort($$079,$$065$lcssa); $$1 = $$067$lcssa;$$171 = $$07078; } else { $$1 = $$067$lcssa;$$171 = $$07078; } } $31 = ($$1|0)<($$171|0); if ($31) { $$07078 = $$171;$$079 = $$1; } else { break; } } return; } function _ListScreen_Show() { var label = 0, sp = 0; sp = STACKTOP; HEAP8[(1268468)>>0] = 1; HEAP8[(1268470)>>0] = 1; HEAP32[317116] = 11812; _Gui_Replace(1268464,50); return; } function _ListScreen_Init($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 12|0); HEAP32[$1>>2] = 4416; $2 = ((($0)) + 16|0); HEAP32[$2>>2] = 10; $3 = ((($0)) + 672|0); HEAPF32[$3>>2] = 0.0; $4 = ((($0)) + 676|0); HEAP32[$4>>2] = 0; $5 = ((($0)) + 680|0); $6 = ((($0)) + 20|0); $7 = HEAP32[$5>>2]|0; _ButtonWidget_Make($6,300,$7,1,1,0,-100); $8 = ((($0)) + 100|0); $9 = HEAP32[$5>>2]|0; _ButtonWidget_Make($8,300,$9,1,1,0,-50); $10 = ((($0)) + 180|0); $11 = HEAP32[$5>>2]|0; _ButtonWidget_Make($10,300,$11,1,1,0,0); $12 = ((($0)) + 260|0); $13 = HEAP32[$5>>2]|0; _ButtonWidget_Make($12,300,$13,1,1,0,50); $14 = ((($0)) + 340|0); $15 = HEAP32[$5>>2]|0; _ButtonWidget_Make($14,300,$15,1,1,0,100); $16 = ((($0)) + 420|0); _ButtonWidget_Make($16,40,71,1,1,-220,0); $17 = ((($0)) + 500|0); _ButtonWidget_Make($17,40,72,1,1,220,0); $18 = ((($0)) + 700|0); _TextWidget_Make($18,1,1,0,-155); $19 = ((($0)) + 768|0); _TextWidget_Make($19,1,2,0,75); $20 = ((($0)) + 580|0); $21 = ((($0)) + 684|0); $22 = HEAP32[$21>>2]|0; _Menu_MakeBack($20,$22); $23 = ((($0)) + 688|0); $24 = HEAP32[$23>>2]|0; FUNCTION_TABLE_vi[$24 & 511]($0); return; } function _ListScreen_Free($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 836|0); _StringsBuffer_Clear($1); return; } function _ListScreen_Render($0,$1) { $0 = $0|0; $1 = +$1; var label = 0, sp = 0; sp = STACKTOP; _Menu_RenderBounds(); _Screen_Render2Widgets($0,$1); return; } function _ListScreen_BuildMesh($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 2496|0; $1 = sp; _Screen_BuildMesh($0,$1); $2 = ((($0)) + 8|0); $3 = HEAP32[$2>>2]|0; _Gfx_SetDynamicVbData($3,$1,104); STACKTOP = sp;return; } function _ListScreen_KeyDown($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = $1 | 16; switch ($2|0) { case 62: { _ListScreen_PageClick($0,0); break; } case 63: { _ListScreen_PageClick($0,1); break; } default: { } } return 1; } function _Menu_PointerDown($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var label = 0, sp = 0; sp = STACKTOP; (_Menu_DoPointerDown($0,$1,$2,$3)|0); return 1; } function _Menu_PointerMove($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var label = 0, sp = 0; sp = STACKTOP; (_Menu_DoPointerMove($0,$2,$3)|0); return 1; } function _ListScreen_MouseScroll($0,$1) { $0 = $0|0; $1 = +$1; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 672|0); $3 = (_Utils_AccumulateWheelDelta($2,$1)|0); $4 = ($3|0)==(0); if ($4) { return 1; } $5 = ((($0)) + 676|0); $6 = HEAP32[$5>>2]|0; $7 = (($6) - ($3))|0; _ListScreen_SetCurrentIndex($0,$7); return 1; } function _ListScreen_ContextLost($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; _Screen_ContextLost($0); $1 = ((($0)) + 660|0); _Font_Free($1); return; } function _ListScreen_ContextRecreated($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Gfx_CreateDynamicVb(1,104)|0); $2 = ((($0)) + 8|0); HEAP32[$2>>2] = $1; $3 = ((($0)) + 660|0); _Menu_MakeTitleFont($3); _ListScreen_RedrawEntries($0); $4 = ((($0)) + 420|0); _ButtonWidget_SetConst($4,36411,$3); $5 = ((($0)) + 500|0); _ButtonWidget_SetConst($5,36413,$3); $6 = ((($0)) + 700|0); $7 = ((($0)) + 696|0); $8 = HEAP32[$7>>2]|0; _TextWidget_SetConst($6,$8,$3); $9 = ((($0)) + 580|0); _ButtonWidget_SetConst($9,28640,$3); _ListScreen_UpdatePage($0); return; } function _Menu_MakeTitleFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _Drawer2D_MakeFont($0,16,1); return; } function _ListScreen_RedrawEntries($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp + 8|0; $2 = sp; $3 = ((($0)) + 676|0); $4 = ((($0)) + 692|0); $5 = HEAP32[$3>>2]|0; _ListScreen_UNSAFE_Get($2,$0,$5); $6 = $2; $7 = $6; $8 = HEAP32[$7>>2]|0; $9 = (($6) + 4)|0; $10 = $9; $11 = HEAP32[$10>>2]|0; $12 = $1; $13 = $12; HEAP32[$13>>2] = $8; $14 = (($12) + 4)|0; $15 = $14; HEAP32[$15>>2] = $11; $16 = HEAP32[$4>>2]|0; $17 = ((($0)) + 20|0); FUNCTION_TABLE_viii[$16 & 31]($0,$17,$1); $18 = HEAP32[$3>>2]|0; $19 = (($18) + 1)|0; _ListScreen_UNSAFE_Get($2,$0,$19); $20 = $2; $21 = $20; $22 = HEAP32[$21>>2]|0; $23 = (($20) + 4)|0; $24 = $23; $25 = HEAP32[$24>>2]|0; $26 = $1; $27 = $26; HEAP32[$27>>2] = $22; $28 = (($26) + 4)|0; $29 = $28; HEAP32[$29>>2] = $25; $30 = HEAP32[$4>>2]|0; $31 = ((($0)) + 100|0); FUNCTION_TABLE_viii[$30 & 31]($0,$31,$1); $32 = HEAP32[$3>>2]|0; $33 = (($32) + 2)|0; _ListScreen_UNSAFE_Get($2,$0,$33); $34 = $2; $35 = $34; $36 = HEAP32[$35>>2]|0; $37 = (($34) + 4)|0; $38 = $37; $39 = HEAP32[$38>>2]|0; $40 = $1; $41 = $40; HEAP32[$41>>2] = $36; $42 = (($40) + 4)|0; $43 = $42; HEAP32[$43>>2] = $39; $44 = HEAP32[$4>>2]|0; $45 = ((($0)) + 180|0); FUNCTION_TABLE_viii[$44 & 31]($0,$45,$1); $46 = HEAP32[$3>>2]|0; $47 = (($46) + 3)|0; _ListScreen_UNSAFE_Get($2,$0,$47); $48 = $2; $49 = $48; $50 = HEAP32[$49>>2]|0; $51 = (($48) + 4)|0; $52 = $51; $53 = HEAP32[$52>>2]|0; $54 = $1; $55 = $54; HEAP32[$55>>2] = $50; $56 = (($54) + 4)|0; $57 = $56; HEAP32[$57>>2] = $53; $58 = HEAP32[$4>>2]|0; $59 = ((($0)) + 260|0); FUNCTION_TABLE_viii[$58 & 31]($0,$59,$1); $60 = HEAP32[$3>>2]|0; $61 = (($60) + 4)|0; _ListScreen_UNSAFE_Get($2,$0,$61); $62 = $2; $63 = $62; $64 = HEAP32[$63>>2]|0; $65 = (($62) + 4)|0; $66 = $65; $67 = HEAP32[$66>>2]|0; $68 = $1; $69 = $68; HEAP32[$69>>2] = $64; $70 = (($68) + 4)|0; $71 = $70; HEAP32[$71>>2] = $67; $72 = HEAP32[$4>>2]|0; $73 = ((($0)) + 340|0); FUNCTION_TABLE_viii[$72 & 31]($0,$73,$1); STACKTOP = sp;return; } function _ListScreen_UpdatePage($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$store$select = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $1 = sp + 72|0; $2 = sp; $3 = sp + 68|0; $4 = sp + 64|0; $5 = ((($0)) + 844|0); $6 = HEAP32[$5>>2]|0; $7 = (($6) + -5)|0; $8 = ((($0)) + 676|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)<(1); $11 = $10&1; $12 = ((($0)) + 441|0); HEAP8[$12>>0] = $11; $13 = ($9|0)>=($7|0); $14 = $13&1; $15 = ((($0)) + 521|0); HEAP8[$15>>0] = $14; $16 = HEAP8[1408229]|0; $17 = ($16<<24>>24)==(0); if (!($17)) { STACKTOP = sp;return; } $18 = (($9|0) / 5)&-1; $19 = (($18) + 1)|0; HEAP32[$3>>2] = $19; $20 = (_Math_CeilDiv($6,5)|0); $21 = ($20|0)==(0); $spec$store$select = $21 ? 1 : $20; HEAP32[$4>>2] = $spec$store$select; HEAP32[$1>>2] = $2; $22 = ((($1)) + 4|0); HEAP16[$22>>1] = 0; $23 = ((($1)) + 6|0); HEAP16[$23>>1] = 64; _String_Format2($1,28645,$3,$4); $24 = ((($0)) + 768|0); $25 = ((($0)) + 660|0); _TextWidget_Set($24,$1,$25); STACKTOP = sp;return; } function _ListScreen_UNSAFE_Get($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ($2|0)>(-1); if ($3) { $4 = ((($1)) + 844|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)>($2|0); if ($6) { $7 = ((($1)) + 836|0); _StringsBuffer_UNSAFE_Get($0,$7,$2); return; } } $8 = 10520; $9 = $8; $10 = HEAP32[$9>>2]|0; $11 = (($8) + 4)|0; $12 = $11; $13 = HEAP32[$12>>2]|0; $14 = $0; $15 = $14; HEAP32[$15>>2] = $10; $16 = (($14) + 4)|0; $17 = $16; HEAP32[$17>>2] = $13; return; } function _ListScreen_SetCurrentIndex($0,$1) { $0 = $0|0; $1 = $1|0; var $$1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 844|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)>($1|0); $5 = (($3) + -1)|0; $spec$select = $4 ? $1 : $5; $6 = ($spec$select|0)>(0); $$1 = $6 ? $spec$select : 0; $7 = ((($0)) + 676|0); HEAP32[$7>>2] = $$1; _ListScreen_RedrawEntries($0); _ListScreen_UpdatePage($0); return; } function _Menu_DoPointerMove($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$0345 = 0, $$1354 = 0, $$1354$in = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ((($0)) + 12|0); $4 = HEAP32[$3>>2]|0; $5 = ((($0)) + 16|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)>(0); if (!($7)) { $$2 = -1; return ($$2|0); } $$0345 = 0; while(1) { $8 = (($4) + ($$0345<<2)|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)==(0|0); if (!($10)) { $11 = ((($9)) + 20|0); HEAP8[$11>>0] = 0; } $12 = (($$0345) + 1)|0; $exitcond = ($12|0)==($6|0); if ($exitcond) { break; } else { $$0345 = $12; } } $13 = ($6|0)>(0); if (!($13)) { $$2 = -1; return ($$2|0); } $$1354$in = $6; while(1) { $$1354 = (($$1354$in) + -1)|0; $14 = (($4) + ($$1354<<2)|0); $15 = HEAP32[$14>>2]|0; $16 = ($15|0)==(0|0); if (!($16)) { $17 = (_Widget_Contains($15,$1,$2)|0); $18 = ($17|0)==(0); if (!($18)) { break; } } $20 = ($$1354$in|0)>(1); if ($20) { $$1354$in = $$1354; } else { $$2 = -1; label = 12; break; } } if ((label|0) == 12) { return ($$2|0); } $19 = ((($15)) + 20|0); HEAP8[$19>>0] = 1; $$2 = $$1354; return ($$2|0); } function _Menu_DoPointerDown($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$03438 = 0, $$03438$in = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $4 = 0, $5 = 0, $6 = 0; var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ((($0)) + 12|0); $5 = HEAP32[$4>>2]|0; $6 = ((($0)) + 16|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)>(0); if (!($8)) { $$2 = -1; return ($$2|0); } $$03438$in = $7; while(1) { $$03438 = (($$03438$in) + -1)|0; $9 = (($5) + ($$03438<<2)|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)==(0|0); if (!($11)) { $12 = (_Widget_Contains($10,$2,$3)|0); $13 = ($12|0)==(0); if (!($13)) { break; } } $23 = ($$03438$in|0)>(1); if ($23) { $$03438$in = $$03438; } else { $$2 = -1; label = 10; break; } } if ((label|0) == 10) { return ($$2|0); } $14 = ((($10)) + 21|0); $15 = HEAP8[$14>>0]|0; $16 = ($15<<24>>24)==(0); if (!($16)) { $$2 = $$03438; return ($$2|0); } $17 = ((($10)) + 32|0); $18 = HEAP32[$17>>2]|0; $19 = ($18|0)==(0|0); if ($19) { $20 = HEAP32[$10>>2]|0; $21 = ((($20)) + 24|0); $22 = HEAP32[$21>>2]|0; (FUNCTION_TABLE_iiiii[$22 & 63]($10,$1,$2,$3)|0); $$2 = $$03438; return ($$2|0); } else { FUNCTION_TABLE_vii[$18 & 127]($0,$10); $$2 = $$03438; return ($$2|0); } return (0)|0; } function _ListScreen_PageClick($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1<<24>>24)==(0); $3 = $2 ? -5 : 5; $4 = ((($0)) + 676|0); $5 = HEAP32[$4>>2]|0; $6 = (($5) + ($3))|0; _ListScreen_SetCurrentIndex($0,$6); return; } function _Menu_RenderBounds() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[351858]|0; $1 = HEAP32[351859]|0; _Gfx_Draw2DGradient(0,0,$0,$1,1763186712,-1570622669); return; } function _ListScreen_MoveBackwards($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _ListScreen_PageClick($0,0); return; } function _ListScreen_MoveForwards($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _ListScreen_PageClick($0,1); return; } function _Menu_MakeBack($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP8[1408259]|0; $3 = ($2<<24>>24)==(0); $4 = $3 ? 200 : 400; _ButtonWidget_Make($0,$4,$1,1,2,0,25); return; } function _PauseScreen_Show() { var label = 0, sp = 0; sp = STACKTOP; HEAP8[(1274448)>>0] = 1; HEAP8[(1274450)>>0] = 1; HEAP32[318611] = 11876; _Gui_Replace(1274444,50); return; } function _PauseScreen_Init($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 12|0); HEAP32[$1>>2] = 388736; _Event_Register((1252636),$0,308); $2 = HEAP8[1408259]|0; $3 = ($2<<24>>24)==(0); $4 = ((($0)) + 20|0); if ($3) { HEAP32[$4>>2] = 4544; $$0 = 6; } else { HEAP32[$4>>2] = 4464; $5 = HEAP8[1408229]|0; $6 = ($5<<24>>24)==(0); $7 = $6 ? 5 : 4; $$0 = $7; } $8 = (($$0) + 2)|0; $9 = ((($0)) + 16|0); HEAP32[$9>>2] = $8; $10 = $3 ? 300 : 400; $11 = ((($0)) + 24|0); $12 = HEAP32[$4>>2]|0; _Menu_Buttons($0,$11,$10,$12,$$0); $13 = ((($0)) + 504|0); _Menu_Button($0,$$0,$13,120,73,2,2,5,5); $14 = (($$0) + 1)|0; $15 = ((($0)) + 584|0); _Menu_Back($0,$14,$15,74); return; } function _PauseScreen_Free($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _Event_Unregister((1252636),$0,308); return; } function _MenuScreen_Render($0,$1) { $0 = $0|0; $1 = +$1; var label = 0, sp = 0; sp = STACKTOP; _Menu_RenderBounds(); _Screen_RenderWidgets($0,$1); return; } function _PauseScreen_BuildMesh($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return; } function _PauseScreen_ContextRecreated($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; _Menu_MakeTitleFont($1); $2 = ((($0)) + 24|0); $3 = ((($0)) + 20|0); $4 = HEAP32[$3>>2]|0; $5 = ((($0)) + 16|0); $6 = HEAP32[$5>>2]|0; $7 = (($6) + -2)|0; _Menu_SetButtons($2,$1,$4,$7); $8 = HEAP8[1408259]|0; $9 = ($8<<24>>24)==(0); if ($9) { $10 = ((($0)) + 504|0); _ButtonWidget_SetConst($10,28667,$1); } $11 = ((($0)) + 584|0); _ButtonWidget_SetConst($11,28677,$1); $12 = HEAP8[(1384580)>>0]|0; $13 = ($12<<24>>24)==(0); if (!($13)) { _PauseScreen_CheckHacksAllowed($0); _Font_Free($1); STACKTOP = sp;return; } $14 = ((($0)) + 125|0); HEAP8[$14>>0] = 1; $15 = ((($0)) + 205|0); HEAP8[$15>>0] = 1; _PauseScreen_CheckHacksAllowed($0); _Font_Free($1); STACKTOP = sp;return; } function _Menu_SetButtons($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$08 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ($3|0)>(0); if (!($4)) { return; } $$08 = 0; while(1) { $5 = (($0) + (($$08*80)|0)|0); $6 = (((($2) + ($$08<<4)|0)) + 8|0); $7 = HEAP32[$6>>2]|0; _ButtonWidget_SetConst($5,$7,$1); $8 = (($$08) + 1)|0; $exitcond = ($8|0)==($3|0); if ($exitcond) { break; } else { $$08 = $8; } } return; } function _PauseScreen_CheckHacksAllowed($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408259]|0; $2 = ($1<<24>>24)==(0); if (!($2)) { return; } $3 = HEAP8[(1242627)>>0]|0; $4 = ($3<<24>>24)==(0); $5 = $4&1; $6 = ((($0)) + 365|0); HEAP8[$6>>0] = $5; return; } function _Menu_Buttons($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $$014 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $5 = ($4|0)>(0); if (!($5)) { return; } $$014 = 0; while(1) { $6 = (($1) + (($$014*80)|0)|0); $7 = (((($3) + ($$014<<4)|0)) + 12|0); $8 = HEAP32[$7>>2]|0; $9 = (($3) + ($$014<<4)|0); $10 = HEAP32[$9>>2]|0; $11 = (((($3) + ($$014<<4)|0)) + 4|0); $12 = HEAP32[$11>>2]|0; _Menu_Button($0,$$014,$6,$2,$8,1,1,$10,$12); $13 = (($$014) + 1)|0; $exitcond = ($13|0)==($4|0); if ($exitcond) { break; } else { $$014 = $13; } } return; } function _PauseScreen_Quit($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _Window_Close(); return; } function _Menu_Button($0,$1,$2,$3,$4,$5,$6,$7,$8) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; $6 = $6|0; $7 = $7|0; $8 = $8|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $9 = $5&255; $10 = $6&255; _ButtonWidget_Make($2,$3,$4,$9,$10,$7,$8); $11 = ((($0)) + 12|0); $12 = HEAP32[$11>>2]|0; $13 = (($12) + ($1<<2)|0); HEAP32[$13>>2] = $2; return; } function _PauseScreen_Game($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _Gui_Remove(1274444); return; } function _Menu_Back($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = HEAP8[1408259]|0; $5 = ($4<<24>>24)==(0); $6 = $5 ? 200 : 400; _Menu_Button($0,$1,$2,$6,$3,1,2,0,25); return; } function _Menu_SwitchOptions($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _OptionsGroupScreen_Show(); return; } function _Menu_SwitchGenLevel($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _GenLevelScreen_Show(); return; } function _Menu_SwitchLoadLevel($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _LoadLevelScreen_Show(); return; } function _Menu_SwitchSaveLevel($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _SaveLevelScreen_Show(); return; } function _Menu_SwitchTexPacks($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _TexturePackScreen_Show(); return; } function _Menu_SwitchHotkeys($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _HotkeyListScreen_Show(); return; } function _HotkeyListScreen_Show() { var label = 0, sp = 0; sp = STACKTOP; HEAP32[(1269160)>>2] = 28785; HEAP32[(1269152)>>2] = 309; HEAP32[(1269144)>>2] = 75; HEAP32[(1269148)>>2] = 76; HEAP32[(1269156)>>2] = 10; _ListScreen_Show(); return; } function _HotkeyListScreen_LoadEntries($0) { $0 = $0|0; var $$014 = 0, $$sroa$3$0$$sroa_idx = 0, $$sroa$3$0$copyload = 0, $$sroa$4$0$$sroa_idx = 0, $$sroa$4$0$copyload = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; var $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $1 = sp + 64|0; $2 = sp; HEAP32[$1>>2] = $2; $3 = ((($1)) + 4|0); HEAP16[$3>>1] = 0; $4 = ((($1)) + 6|0); HEAP16[$4>>1] = 64; $5 = HEAP32[(1261344)>>2]|0; $6 = ($5|0)>(0); if ($6) { $7 = ((($0)) + 836|0); $$014 = 0; while(1) { $$sroa$3$0$$sroa_idx = (((379776 + ($$014<<3)|0)) + 4|0); $$sroa$3$0$copyload = HEAP8[$$sroa$3$0$$sroa_idx>>0]|0; $$sroa$4$0$$sroa_idx = (((379776 + ($$014<<3)|0)) + 5|0); $$sroa$4$0$copyload = HEAP8[$$sroa$4$0$$sroa_idx>>0]|0; HEAP16[$3>>1] = 0; $8 = $$sroa$3$0$copyload&255; $9 = (3280 + ($8<<2)|0); $10 = HEAP32[$9>>2]|0; _String_AppendConst($1,$10); $11 = ($$sroa$4$0$copyload<<24>>24)==(0); if (!($11)) { $12 = $$sroa$4$0$copyload&255; _String_AppendConst($1,28964); _HotkeyListScreen_MakeFlags($12,$1); } _StringsBuffer_Add($7,$1); $13 = (($$014) + 1)|0; $14 = HEAP32[(1261344)>>2]|0; $15 = ($13|0)<($14|0); if ($15) { $$014 = $13; } else { break; } } } $16 = ((($0)) + 836|0); _StringsBuffer_Add($16,10520); _StringsBuffer_Add($16,10520); _StringsBuffer_Add($16,10520); _StringsBuffer_Add($16,10520); _StringsBuffer_Add($16,10520); STACKTOP = sp;return; } function _HotkeyListScreen_EntryClick($0,$1) { $0 = $0|0; $1 = $1|0; var $$03038 = 0, $$1 = 0, $$lobit = 0, $$lobit$not = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$0$0$copyload = 0, $$sroa$4$0$$sroa_idx = 0, $$sroa$4$0$$sroa_idx16 = 0, $$sroa$4$0$copyload = 0, $$sroa$5$0$$sroa_idx = 0, $$sroa$5$0$$sroa_idx18 = 0, $$sroa$5$0$copyload = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$6$0$$sroa_idx21 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, $or$cond = 0, $spec$select34 = 0, $tmpcast$byval_copy1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $tmpcast$byval_copy1 = sp + 32|0; $2 = sp + 8|0; $3 = sp; $4 = sp + 24|0; $5 = sp + 16|0; $6 = $2; $7 = $6; HEAP32[$7>>2] = 0; $8 = (($6) + 4)|0; $9 = $8; HEAP32[$9>>2] = 0; _ListScreen_UNSAFE_GetCur($3,$0,$1); $10 = (_String_CaselessEqualsConst($3,28661)|0); $11 = ($10|0)==(0); if (!($11)) { ;HEAP32[$tmpcast$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0; _EditHotkeyScreen_Show($tmpcast$byval_copy1); STACKTOP = sp;return; } (_String_UNSAFE_Separate($3,43,$4,$5)|0); $12 = (_String_IndexOfString($5,11940)|0); $$lobit = (31)?($12 >>> 31):($12); $$lobit$not = $$lobit ^ 1; $13 = (_String_IndexOfString($5,11948)|0); $14 = ($13|0)>(-1); $15 = $$lobit$not | 2; $$1 = $14 ? $15 : $$lobit$not; $16 = (_String_IndexOfString($5,11956)|0); $17 = ($16|0)>(-1); $18 = $$1 | 4; $spec$select34 = $17 ? $18 : $$1; $19 = (_Utils_ParseEnum($4,0,3280,133)|0); $20 = HEAP32[(1261344)>>2]|0; $21 = ($20|0)>(0); L5: do { if ($21) { $22 = HEAP32[(1261344)>>2]|0; $$03038 = 0; while(1) { $$sroa$4$0$$sroa_idx = (((379776 + ($$03038<<3)|0)) + 4|0); $$sroa$4$0$copyload = HEAP8[$$sroa$4$0$$sroa_idx>>0]|0; $$sroa$5$0$$sroa_idx = (((379776 + ($$03038<<3)|0)) + 5|0); $$sroa$5$0$copyload = HEAP8[$$sroa$5$0$$sroa_idx>>0]|0; $23 = $$sroa$4$0$copyload&255; $24 = ($19|0)==($23|0); $25 = $$sroa$5$0$copyload&255; $26 = ($spec$select34|0)==($25|0); $or$cond = $24 & $26; if ($or$cond) { break; } $28 = (($$03038) + 1)|0; $29 = ($28|0)<($22|0); if ($29) { $$03038 = $28; } else { break L5; } } $$sroa$6$0$$sroa_idx = (((379776 + ($$03038<<3)|0)) + 6|0); $27 = HEAP16[$$sroa$6$0$$sroa_idx>>1]|0; $$sroa$0$0$$sroa_idx = (379776 + ($$03038<<3)|0); $$sroa$0$0$copyload = HEAP32[$$sroa$0$0$$sroa_idx>>2]|0; HEAP32[$2>>2] = $$sroa$0$0$copyload; $$sroa$4$0$$sroa_idx16 = ((($2)) + 4|0); HEAP8[$$sroa$4$0$$sroa_idx16>>0] = $$sroa$4$0$copyload; $$sroa$5$0$$sroa_idx18 = ((($2)) + 5|0); HEAP8[$$sroa$5$0$$sroa_idx18>>0] = $$sroa$5$0$copyload; $$sroa$6$0$$sroa_idx21 = ((($2)) + 6|0); HEAP16[$$sroa$6$0$$sroa_idx21>>1] = $27; } } while(0); ;HEAP32[$tmpcast$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0; _EditHotkeyScreen_Show($tmpcast$byval_copy1); STACKTOP = sp;return; } function _Menu_SwitchPause($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _PauseScreen_Show(); return; } function _ListScreen_UpdateEntry($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ((($0)) + 660|0); _ButtonWidget_Set($1,$2,$3); return; } function _ListScreen_UNSAFE_GetCur($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (_Menu_Index($1,$2)|0); $4 = ((($1)) + 676|0); $5 = HEAP32[$4>>2]|0; $6 = (($5) + ($3))|0; _ListScreen_UNSAFE_Get($0,$1,$6); return; } function _EditHotkeyScreen_Show($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; HEAP8[(544644)>>0] = 1; HEAP8[(544646)>>0] = 1; HEAP32[136160] = 11964; $1 = $0; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; $5 = $4; $6 = HEAP32[$5>>2]|0; $7 = (544668); $8 = $7; HEAP32[$8>>2] = $3; $9 = (($7) + 4)|0; $10 = $9; HEAP32[$10>>2] = $6; $11 = (544660); $12 = $11; HEAP32[$12>>2] = $3; $13 = (($11) + 4)|0; $14 = $13; HEAP32[$14>>2] = $6; _Gui_Replace(544640,50); return; } function _EditHotkeyScreen_Init($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; var $7 = 0, $8 = 0, $9 = 0, $storemerge$in = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $1 = sp + 16|0; $2 = sp + 8|0; $3 = sp; $4 = ((($0)) + 12|0); HEAP32[$4>>2] = 388768; $5 = ((($0)) + 16|0); HEAP32[$5>>2] = 7; $6 = ((($0)) + 36|0); HEAP32[$6>>2] = -1; HEAP32[$1>>2] = 18176; _EditHotkeyScreen_Make($0,0,0,-150,77); _EditHotkeyScreen_Make($0,1,0,-100,78); _EditHotkeyScreen_Make($0,2,-100,10,79); _EditHotkeyScreen_Make($0,3,0,80,80); _EditHotkeyScreen_Make($0,4,0,130,81); $7 = ((($0)) + 32|0); $8 = HEAP8[$7>>0]|0; $9 = ($8<<24>>24)==(0); if ($9) { $storemerge$in = 1384616; } else { $10 = ((($0)) + 28|0); $11 = HEAP32[$10>>2]|0; _StringsBuffer_UNSAFE_Get($3,1261336,$11); $storemerge$in = $3; } $12 = $storemerge$in; $13 = $12; $14 = HEAP32[$13>>2]|0; $15 = (($12) + 4)|0; $16 = $15; $17 = HEAP32[$16>>2]|0; $18 = $2; $19 = $18; HEAP32[$19>>2] = $14; $20 = (($18) + 4)|0; $21 = $20; HEAP32[$21>>2] = $17; $22 = ((($0)) + 72|0); _Menu_Input($0,6,$22,500,$2,$1,-35); $23 = ((($0)) + 760|0); _Menu_Back($0,5,$23,18); _Window_OpenKeyboard(); _Window_SetKeyboardText($2); STACKTOP = sp;return; } function _Menu_CloseKeyboard($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _Window_CloseKeyboard(); return; } function _EditHotkeyScreen_Render($0,$1) { $0 = $0|0; $1 = +$1; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; _MenuScreen_Render($0,$1); $2 = HEAP32[351858]|0; $3 = (($2|0) / 2)&-1; $4 = HEAP32[351859]|0; $5 = (($4|0) / 2)&-1; $6 = (($3) + -250)|0; $7 = (($5) + -65)|0; _Gfx_Draw2DFlat($6,$7,500,2,-6908266); $8 = (($5) + 45)|0; _Gfx_Draw2DFlat($6,$8,500,2,-6908266); return; } function _EditHotkeyScreen_BuildMesh($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return; } function _EditHotkeyScreen_KeyDown($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 36|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)>(-1); if (!($4)) { $19 = ((($0)) + 72|0); $20 = HEAP32[$19>>2]|0; $21 = ((($20)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = (FUNCTION_TABLE_iii[$22 & 127]($19,$1)|0); $24 = ($23|0)==(0); if (!($24)) { $$0 = 1; return ($$0|0); } $25 = (_Screen_InputDown($0,$1)|0); $26 = ($25|0)!=(0); $phitmp = $26&1; $$0 = $phitmp; return ($$0|0); } L8: do { switch ($3|0) { case 0: { $5 = $1&255; $6 = ((($0)) + 24|0); HEAP8[$6>>0] = $5; break; } case 1: { $7 = $1 | 1; switch ($7|0) { case 39: { $8 = ((($0)) + 25|0); $9 = HEAP8[$8>>0]|0; $10 = $9 | 1; HEAP8[$8>>0] = $10; break L8; break; } case 37: { $11 = ((($0)) + 25|0); $12 = HEAP8[$11>>0]|0; $13 = $12 | 2; HEAP8[$11>>0] = $13; break L8; break; } default: { $14 = ($7|0)==(41); $15 = ((($0)) + 25|0); if ($14) { $16 = HEAP8[$15>>0]|0; $17 = $16 | 4; HEAP8[$15>>0] = $17; break L8; } else { HEAP8[$15>>0] = 0; break L8; } } } break; } default: { } } } while(0); $18 = ((($0)) + 40|0); HEAP8[$18>>0] = 1; HEAP32[$2>>2] = -1; _EditHotkeyScreen_UpdateBaseKey($0); _EditHotkeyScreen_UpdateModifiers($0); $$0 = 1; return ($$0|0); } function _EditHotkeyScreen_KeyPress($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 40|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)==(0); if ($4) { $5 = ((($0)) + 72|0); _InputWidget_Append($5,$1); return 1; } else { HEAP8[$2>>0] = 0; return 1; } return (0)|0; } function _EditHotkeyScreen_TextChanged($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 72|0); _InputWidget_SetText($2,$1); return 1; } function _EditHotkeyScreen_ContextLost($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 44|0); _Font_Free($1); $2 = ((($0)) + 56|0); _Font_Free($2); _Screen_ContextLost($0); return; } function _EditHotkeyScreen_ContextRecreated($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 32|0); $2 = HEAP8[$1>>0]|0; $3 = ($2<<24>>24)!=(0); $4 = ((($0)) + 44|0); _Menu_MakeTitleFont($4); $5 = ((($0)) + 56|0); _Menu_MakeBodyFont($5); _EditHotkeyScreen_UpdateBaseKey($0); _EditHotkeyScreen_UpdateModifiers($0); _EditHotkeyScreen_UpdateLeaveOpen($0); $6 = ((($0)) + 600|0); $7 = $3 ? 28815 : 28828; _ButtonWidget_SetConst($6,$7,$4); $8 = ((($0)) + 680|0); $9 = $3 ? 28839 : 36109; _ButtonWidget_SetConst($8,$9,$4); $10 = ((($0)) + 72|0); _MenuInputWidget_SetFont($10,$5); $11 = ((($0)) + 760|0); _ButtonWidget_SetConst($11,36109,$4); return; } function _Menu_MakeBodyFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _Drawer2D_MakeFont($0,16,0); return; } function _EditHotkeyScreen_UpdateBaseKey($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $1 = sp + 64|0; $2 = sp; HEAP32[$1>>2] = $2; $3 = ((($1)) + 4|0); HEAP16[$3>>1] = 0; $4 = ((($1)) + 6|0); HEAP16[$4>>1] = 64; $5 = ((($0)) + 36|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)==(0); if ($7) { _String_AppendConst($1,28939); } else { _String_AppendConst($1,28958); $8 = ((($0)) + 24|0); $9 = HEAP8[$8>>0]|0; $10 = $9&255; $11 = (3280 + ($10<<2)|0); $12 = HEAP32[$11>>2]|0; _String_AppendConst($1,$12); } $13 = ((($0)) + 360|0); $14 = ((($0)) + 44|0); _ButtonWidget_Set($13,$1,$14); STACKTOP = sp;return; } function _EditHotkeyScreen_UpdateModifiers($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $1 = sp + 64|0; $2 = sp; HEAP32[$1>>2] = $2; $3 = ((($1)) + 4|0); HEAP16[$3>>1] = 0; $4 = ((($1)) + 6|0); HEAP16[$4>>1] = 64; $5 = ((($0)) + 36|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)==(1); if ($7) { _String_AppendConst($1,28879); } else { _String_AppendConst($1,28904); $8 = ((($0)) + 25|0); $9 = HEAP8[$8>>0]|0; $10 = $9&255; _EditHotkeyScreen_MakeFlags($10,$1); } $11 = ((($0)) + 440|0); $12 = ((($0)) + 44|0); _ButtonWidget_Set($11,$1,$12); STACKTOP = sp;return; } function _EditHotkeyScreen_UpdateLeaveOpen($0) { $0 = $0|0; var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $1 = sp + 64|0; $2 = sp; HEAP32[$1>>2] = $2; $3 = ((($1)) + 4|0); HEAP16[$3>>1] = 0; $4 = ((($1)) + 6|0); HEAP16[$4>>1] = 64; _String_AppendConst($1,28853); $5 = ((($0)) + 26|0); $6 = HEAP8[$5>>0]|0; $7 = ($6<<24>>24)==(0); $8 = $7 ? 28872 : 28876; _String_AppendConst($1,$8); $9 = ((($0)) + 520|0); $10 = ((($0)) + 44|0); _ButtonWidget_Set($9,$1,$10); STACKTOP = sp;return; } function _EditHotkeyScreen_MakeFlags($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($0|0)==(0); if ($2) { _String_AppendConst($1,28915); } _HotkeyListScreen_MakeFlags($0,$1); return; } function _HotkeyListScreen_MakeFlags($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = $0 & 1; $3 = ($2|0)==(0); if (!($3)) { _String_AppendConst($1,28921); } $4 = $0 & 2; $5 = ($4|0)==(0); if (!($5)) { _String_AppendConst($1,28927); } $6 = $0 & 4; $7 = ($6|0)==(0); if ($7) { return; } _String_AppendConst($1,28934); return; } function _EditHotkeyScreen_BaseKey($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 36|0); HEAP32[$2>>2] = 0; $3 = ((($0)) + 40|0); HEAP8[$3>>0] = 1; _EditHotkeyScreen_UpdateBaseKey($0); return; } function _EditHotkeyScreen_Make($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $5 = 0, label = 0, sp = 0; sp = STACKTOP; $5 = (((($0)) + 360|0) + (($1*80)|0)|0); _Menu_Button($0,$1,$5,300,$4,1,1,$2,$3); return; } function _EditHotkeyScreen_Modifiers($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 36|0); HEAP32[$2>>2] = 1; $3 = ((($0)) + 40|0); HEAP8[$3>>0] = 1; _EditHotkeyScreen_UpdateModifiers($0); return; } function _EditHotkeyScreen_LeaveOpen($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 36|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)>(-1); if ($4) { HEAP32[$2>>2] = -1; $5 = ((($0)) + 40|0); HEAP8[$5>>0] = 0; _EditHotkeyScreen_UpdateBaseKey($0); _EditHotkeyScreen_UpdateModifiers($0); } $6 = ((($0)) + 26|0); $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); $9 = $8&1; HEAP8[$6>>0] = $9; _EditHotkeyScreen_UpdateLeaveOpen($0); return; } function _EditHotkeyScreen_SaveChanges($0,$1) { $0 = $0|0; $1 = $1|0; var $$sroa$10$0$copyload = 0, $$sroa$10$0$copyload12 = 0, $$sroa$14$0$copyload17 = 0, $$sroa$4$0$copyload = 0, $$sroa$4$0$copyload5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = ((($0)) + 32|0); $$sroa$4$0$copyload = HEAP8[$3>>0]|0; $4 = ((($0)) + 33|0); $$sroa$10$0$copyload = HEAP8[$4>>0]|0; $5 = ($$sroa$4$0$copyload<<24>>24)==(0); $6 = $$sroa$4$0$copyload&255; if (!($5)) { (_Hotkeys_Remove($6,$$sroa$10$0$copyload)|0); _Hotkeys_UserRemovedHotkey($6,$$sroa$10$0$copyload); } $7 = ((($0)) + 24|0); $$sroa$4$0$copyload5 = HEAP8[$7>>0]|0; $8 = ((($0)) + 25|0); $$sroa$10$0$copyload12 = HEAP8[$8>>0]|0; $9 = ((($0)) + 26|0); $$sroa$14$0$copyload17 = HEAP8[$9>>0]|0; $10 = ($$sroa$4$0$copyload5<<24>>24)==(0); if ($10) { _HotkeyListScreen_Show(); STACKTOP = sp;return; } $11 = ((($0)) + 128|0); $12 = $11; $13 = $12; $14 = HEAP32[$13>>2]|0; $15 = (($12) + 4)|0; $16 = $15; $17 = HEAP32[$16>>2]|0; $18 = $2; $19 = $18; HEAP32[$19>>2] = $14; $20 = (($18) + 4)|0; $21 = $20; HEAP32[$21>>2] = $17; $22 = $$sroa$4$0$copyload5&255; _Hotkeys_Add($22,$$sroa$10$0$copyload12,$2,$$sroa$14$0$copyload17); _Hotkeys_UserAddedHotkey($22,$$sroa$10$0$copyload12,$$sroa$14$0$copyload17,$2); _HotkeyListScreen_Show(); STACKTOP = sp;return; } function _EditHotkeyScreen_RemoveHotkey($0,$1) { $0 = $0|0; $1 = $1|0; var $$sroa$3$0$copyload = 0, $$sroa$6$0$copyload = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 32|0); $$sroa$3$0$copyload = HEAP8[$2>>0]|0; $3 = ((($0)) + 33|0); $$sroa$6$0$copyload = HEAP8[$3>>0]|0; $4 = ($$sroa$3$0$copyload<<24>>24)==(0); $5 = $$sroa$3$0$copyload&255; if ($4) { _HotkeyListScreen_Show(); return; } (_Hotkeys_Remove($5,$$sroa$6$0$copyload)|0); _Hotkeys_UserRemovedHotkey($5,$$sroa$6$0$copyload); _HotkeyListScreen_Show(); return; } function _Menu_Input($0,$1,$2,$3,$4,$5,$6) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; $6 = $6|0; var $10 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; _MenuInputWidget_Create($2,$3,30,$4,$5); _Widget_SetLocation($2,1,1,0,$6); $7 = ((($2)) + 138|0); HEAP8[$7>>0] = 1; $8 = ((($0)) + 12|0); $9 = HEAP32[$8>>2]|0; $10 = (($9) + ($1<<2)|0); HEAP32[$10>>2] = $2; return; } function _Menu_Index($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $$01617 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 12|0); $3 = HEAP32[$2>>2]|0; $4 = ((($0)) + 16|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)>(0); if (!($6)) { $$0 = -1; return ($$0|0); } $$01617 = 0; while(1) { $7 = (($3) + ($$01617<<2)|0); $8 = HEAP32[$7>>2]|0; $9 = ($8|0)==($1|0); if ($9) { $$0 = $$01617; label = 5; break; } $10 = (($$01617) + 1)|0; $11 = HEAP32[$4>>2]|0; $12 = ($10|0)<($11|0); if ($12) { $$01617 = $10; } else { $$0 = -1; label = 5; break; } } if ((label|0) == 5) { return ($$0|0); } return (0)|0; } function _TexturePackScreen_Show() { var label = 0, sp = 0; sp = STACKTOP; HEAP32[(1269160)>>2] = 28967; HEAP32[(1269152)>>2] = 310; HEAP32[(1269144)>>2] = 82; HEAP32[(1269148)>>2] = 76; HEAP32[(1269156)>>2] = 10; _ListScreen_Show(); return; } function _TexturePackScreen_LoadEntries($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 836|0); (_Directory_Enum(12028,$1,83)|0); _ListScreen_Sort($0); return; } function _TexturePackScreen_EntryClick($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 288|0; $2 = sp + 272|0; $3 = sp; $4 = sp + 264|0; _ListScreen_UNSAFE_GetCur($4,$0,$1); HEAP32[$2>>2] = $3; $5 = ((($2)) + 4|0); HEAP16[$5>>1] = 0; $6 = ((($2)) + 6|0); HEAP16[$6>>1] = 260; _String_Format1($2,38320,$4); $7 = (_File_Exists($2)|0); $8 = ($7|0)==(0); if ($8) { STACKTOP = sp;return; } _Game_SetDefaultTexturePack($4); HEAP16[(18832)>>1] = 0; _TexturePack_ExtractCurrent(1); STACKTOP = sp;return; } function _TexturePackScreen_FilterFiles($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = $0; $4 = $3; $5 = HEAP32[$4>>2]|0; $6 = (($3) + 4)|0; $7 = $6; $8 = HEAP32[$7>>2]|0; $9 = $2; $10 = $9; HEAP32[$10>>2] = $5; $11 = (($9) + 4)|0; $12 = $11; HEAP32[$12>>2] = $8; $13 = (_String_CaselessEnds($0,12036)|0); $14 = ($13|0)==(0); if ($14) { STACKTOP = sp;return; } _Utils_UNSAFE_TrimFirstDirectory($2); _StringsBuffer_Add($1,$2); STACKTOP = sp;return; } function _ListScreen_Sort($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 844|0); $2 = HEAP32[$1>>2]|0; $3 = ($2|0)==(0); if ($3) { return; } $4 = (($2) + -1)|0; _ListScreen_QuickSort(0,$4); return; } function _ListScreen_QuickSort($0,$1) { $0 = $0|0; $1 = $1|0; var $$0$lcssa = 0, $$051$lcssa = 0, $$05161 = 0, $$05465 = 0, $$05664 = 0, $$062 = 0, $$1 = 0, $$152 = 0, $$155 = 0, $$157 = 0, $$2 = 0, $$253 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0; var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $2 = sp + 32|0; $3 = sp + 24|0; $4 = sp + 16|0; $5 = sp + 8|0; $6 = sp; $7 = HEAP32[(1269304)>>2]|0; $8 = ($0|0)<($1|0); if (!($8)) { STACKTOP = sp;return; } $$05465 = $0;$$05664 = $1; while(1) { $9 = (($$05465) + ($$05664))|0; $10 = (1)?($9 >> 1):($9); _StringsBuffer_UNSAFE_Get($2,(1269300),$10); $11 = ($$05465|0)>($$05664|0); if ($11) { $$0$lcssa = $$05664;$$051$lcssa = $$05465; } else { $$05161 = $$05465;$$062 = $$05664; while(1) { $$152 = $$05161; while(1) { _StringsBuffer_UNSAFE_Get($5,(1269300),$$152); $12 = $5; $13 = $12; $14 = HEAP32[$13>>2]|0; $15 = (($12) + 4)|0; $16 = $15; $17 = HEAP32[$16>>2]|0; $18 = $3; $19 = $18; HEAP32[$19>>2] = $14; $20 = (($18) + 4)|0; $21 = $20; HEAP32[$21>>2] = $17; $22 = (_String_Compare($2,$3)|0); $23 = ($22|0)>(0); $24 = (($$152) + 1)|0; if ($23) { $$152 = $24; } else { break; } } $$1 = $$062; while(1) { _StringsBuffer_UNSAFE_Get($6,(1269300),$$1); $25 = $6; $26 = $25; $27 = HEAP32[$26>>2]|0; $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; $31 = $4; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; $34 = $33; HEAP32[$34>>2] = $30; $35 = (_String_Compare($2,$4)|0); $36 = ($35|0)<(0); $37 = (($$1) + -1)|0; if ($36) { $$1 = $37; } else { break; } } $38 = ($$152|0)>($$1|0); $39 = (($7) + ($$152<<2)|0); $40 = (($7) + ($$1<<2)|0); if ($38) { $$2 = $$1;$$253 = $$152; } else { $41 = (($$1) + -1)|0; $42 = (($$152) + 1)|0; $43 = HEAP32[$39>>2]|0; $44 = HEAP32[$40>>2]|0; HEAP32[$39>>2] = $44; HEAP32[$40>>2] = $43; $$2 = $41;$$253 = $42; } $45 = ($$253|0)>($$2|0); if ($45) { $$0$lcssa = $$2;$$051$lcssa = $$253; break; } else { $$05161 = $$253;$$062 = $$2; } } } $46 = (($$0$lcssa) - ($$05465))|0; $47 = (($$05664) - ($$051$lcssa))|0; $48 = ($46|0)>($47|0); if ($48) { $50 = ($$05664|0)>($$051$lcssa|0); if ($50) { _ListScreen_QuickSort($$051$lcssa,$$05664); $$155 = $$05465;$$157 = $$0$lcssa; } else { $$155 = $$05465;$$157 = $$0$lcssa; } } else { $49 = ($$0$lcssa|0)>($$05465|0); if ($49) { _ListScreen_QuickSort($$05465,$$0$lcssa); $$155 = $$051$lcssa;$$157 = $$05664; } else { $$155 = $$051$lcssa;$$157 = $$05664; } } $51 = ($$155|0)<($$157|0); if ($51) { $$05465 = $$155;$$05664 = $$157; } else { break; } } STACKTOP = sp;return; } function _SaveLevelScreen_Show() { var label = 0, sp = 0; sp = STACKTOP; HEAP8[(545484)>>0] = 1; HEAP8[(545486)>>0] = 1; HEAP32[136370] = 12044; _Gui_Replace(545480,50); return; } function _SaveLevelScreen_Init($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = ((($0)) + 12|0); HEAP32[$2>>2] = 388800; $3 = ((($0)) + 16|0); HEAP32[$3>>2] = 6; HEAP32[$1>>2] = 18156; $4 = ((($0)) + 44|0); _Menu_Button($0,0,$4,300,84,1,1,0,20); $5 = ((($0)) + 124|0); _Menu_Button($0,1,$5,300,85,1,1,0,70); $6 = ((($0)) + 204|0); _Menu_Back($0,3,$6,76); $7 = ((($0)) + 288|0); _Menu_Input($0,4,$7,500,1384616,$1,-30); $8 = ((($0)) + 644|0); _Menu_Label($0,5,$8,1,1,0,115); _Window_OpenKeyboard(); STACKTOP = sp;return; } function _SaveLevelScreen_Render($0,$1) { $0 = $0|0; $1 = +$1; var label = 0, sp = 0; sp = STACKTOP; _MenuScreen_Render($0,$1); return; } function _SaveLevelScreen_BuildMesh($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return; } function _SaveLevelScreen_KeyDown($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 288|0); $3 = HEAP32[$2>>2]|0; $4 = ((($3)) + 12|0); $5 = HEAP32[$4>>2]|0; $6 = (FUNCTION_TABLE_iii[$5 & 127]($2,$1)|0); $7 = ($6|0)==(0); if ($7) { $8 = (_Screen_InputDown($0,$1)|0); $$0 = $8; return ($$0|0); } else { _SaveLevelScreen_RemoveOverwrites($0); $$0 = 1; return ($$0|0); } return (0)|0; } function _SaveLevelScreen_KeyPress($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, label = 0, sp = 0; sp = STACKTOP; _SaveLevelScreen_RemoveOverwrites($0); $2 = ((($0)) + 288|0); _InputWidget_Append($2,$1); return 1; } function _SaveLevelScreen_TextChanged($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, label = 0, sp = 0; sp = STACKTOP; _SaveLevelScreen_RemoveOverwrites($0); $2 = ((($0)) + 288|0); _InputWidget_SetText($2,$1); return 1; } function _SaveLevelScreen_ContextLost($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 20|0); _Font_Free($1); $2 = ((($0)) + 32|0); _Font_Free($2); _Screen_ContextLost($0); return; } function _SaveLevelScreen_ContextRecreated($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 20|0); _Menu_MakeTitleFont($1); $2 = ((($0)) + 32|0); _Menu_MakeBodyFont($2); _SaveLevelScreen_UpdateSave($0); _SaveLevelScreen_UpdateAlt($0); $3 = ((($0)) + 288|0); _MenuInputWidget_SetFont($3,$2); $4 = ((($0)) + 204|0); _ButtonWidget_SetConst($4,36109,$1); return; } function _SaveLevelScreen_UpdateSave($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 44|0); $2 = ((($0)) + 112|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(0|0); $5 = $4 ? 29008 : 29013; $6 = ((($0)) + 20|0); _ButtonWidget_SetConst($1,$5,$6); return; } function _SaveLevelScreen_UpdateAlt($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 124|0); $2 = ((($0)) + 20|0); _ButtonWidget_SetConst($1,28993,$2); return; } function _SaveLevelScreen_RemoveOverwrites($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 112|0); $2 = HEAP32[$1>>2]|0; $3 = ($2|0)==(0|0); if (!($3)) { HEAP32[$1>>2] = 0; _SaveLevelScreen_UpdateSave($0); } $4 = ((($0)) + 192|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0|0); if ($6) { return; } HEAP32[$4>>2] = 0; _SaveLevelScreen_UpdateAlt($0); return; } function _SaveLevelScreen_Main($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _SaveLevelScreen_Save($0,$1,29110); return; } function _SaveLevelScreen_Alt($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _SaveLevelScreen_Save($0,$1,29035); return; } function _Menu_Label($0,$1,$2,$3,$4,$5,$6) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; $6 = $6|0; var $10 = 0, $11 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $7 = $3&255; $8 = $4&255; _TextWidget_Make($2,$7,$8,$5,$6); $9 = ((($0)) + 12|0); $10 = HEAP32[$9>>2]|0; $11 = (($10) + ($1<<2)|0); HEAP32[$11>>2] = $2; return; } function _SaveLevelScreen_Save($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 288|0; $3 = sp + 272|0; $4 = sp; $5 = sp + 264|0; $6 = ((($0)) + 344|0); $7 = $6; $8 = $7; $9 = HEAP32[$8>>2]|0; $10 = (($7) + 4)|0; $11 = $10; $12 = HEAP32[$11>>2]|0; $13 = $5; $14 = $13; HEAP32[$14>>2] = $9; $15 = (($13) + 4)|0; $16 = $15; HEAP32[$16>>2] = $12; $17 = ((($5)) + 4|0); $18 = HEAP16[$17>>1]|0; $19 = ($18<<16>>16)==(0); if ($19) { $20 = ((($0)) + 644|0); $21 = ((($0)) + 32|0); _TextWidget_SetConst($20,29046,$21); STACKTOP = sp;return; } HEAP32[$3>>2] = $4; $22 = ((($3)) + 4|0); HEAP16[$22>>1] = 0; $23 = ((($3)) + 6|0); HEAP16[$23>>1] = 260; _String_Format2($3,29072,$5,$2); $24 = (_File_Exists($3)|0); $25 = ($24|0)==(0); if (!($25)) { $26 = ((($1)) + 68|0); $27 = HEAP32[$26>>2]|0; $28 = ($27|0)==(0|0); if ($28) { HEAP32[$26>>2] = 1408293; _SaveLevelScreen_UpdateSave($0); _SaveLevelScreen_UpdateAlt($0); STACKTOP = sp;return; } } _SaveLevelScreen_RemoveOverwrites($0); _SaveLevelScreen_SaveMap($3); STACKTOP = sp;return; } function _SaveLevelScreen_SaveMap($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 189440|0; $1 = sp + 189376|0; $2 = sp + 189320|0; $3 = sp; $4 = (_Stream_CreateFile($1,$0)|0); $5 = ($4|0)==(0); if (!($5)) { _Logger_Warn2($4,38533,$0); STACKTOP = sp;return; } _GZip_MakeStream($2,$3,$1); $6 = (_Cw_Save($2)|0); $7 = ($6|0)==(0); if (!($7)) { $8 = ((($1)) + 28|0); $9 = HEAP32[$8>>2]|0; (FUNCTION_TABLE_ii[$9 & 31]($1)|0); _Logger_Warn2($6,29082,$0); STACKTOP = sp;return; } $10 = ((($2)) + 28|0); $11 = HEAP32[$10>>2]|0; $12 = (FUNCTION_TABLE_ii[$11 & 31]($2)|0); $13 = ($12|0)==(0); $14 = ((($1)) + 28|0); $15 = HEAP32[$14>>2]|0; $16 = (FUNCTION_TABLE_ii[$15 & 31]($1)|0); if (!($13)) { _Logger_Warn2($12,38518,$0); STACKTOP = sp;return; } $17 = ($16|0)==(0); if (!($17)) { _Logger_Warn2($16,38518,$0); STACKTOP = sp;return; } $18 = (_String_CaselessEnds($0,12108)|0); $19 = ($18|0)==(0); if ($19) { _DownloadMap($0); } else { _Chat_Add1(29091,$0); } _PauseScreen_Show(); STACKTOP = sp;return; } function _DownloadMap($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 672|0; $1 = sp + 616|0; $2 = sp + 600|0; $3 = sp; $4 = sp + 608|0; $5 = (_Stream_OpenFile($1,$0)|0); $6 = ($5|0)==(0); if (!($6)) { STACKTOP = sp;return; } $7 = ((($1)) + 32|0); $8 = HEAP32[$7>>2]|0; $9 = (_File_Length($8,$4)|0); $10 = ($9|0)==(0); if ($10) { $11 = HEAP32[$4>>2]|0; $12 = (_Mem_TryAlloc($11,1)|0); $13 = ($12|0)==(0|0); if ($13) { $$0 = 0; } else { $14 = HEAP32[$4>>2]|0; $15 = (_Stream_Read($1,$12,$14)|0); $16 = ($15|0)==(0); if ($16) { _String_UNSAFE_SubstringAt($2,$0,5); $17 = (_String_LastIndexOfAt($2,0,46)|0); $18 = $17&65535; $19 = ((($2)) + 4|0); HEAP16[$19>>1] = $18; _String_AppendConst($2,29110); (_Platform_ConvertString($3,$2)|0); $20 = HEAP32[$4>>2]|0; $21 = _emscripten_asm_const_iiii(0,($3|0),($12|0),($20|0))|0; _Chat_Add1(29606,$2); $$0 = $12; } else { $$0 = $12; } } } else { $$0 = 0; } $22 = ((($1)) + 28|0); $23 = HEAP32[$22>>2]|0; (FUNCTION_TABLE_ii[$23 & 31]($1)|0); _Mem_Free($$0); (_Platform_ConvertString($3,$0)|0); (_unlink($3)|0); STACKTOP = sp;return; } function _LoadLevelScreen_Show() { var label = 0, sp = 0; sp = STACKTOP; HEAP32[(1269160)>>2] = 29627; HEAP32[(1269152)>>2] = 311; HEAP32[(1269144)>>2] = 86; HEAP32[(1269148)>>2] = 76; HEAP32[(1269156)>>2] = 10; _ListScreen_Show(); return; } function _LoadLevelScreen_LoadEntries($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 836|0); (_Directory_Enum(12116,$1,87)|0); _ListScreen_Sort($0); return; } function _LoadLevelScreen_EntryClick($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 288|0; $2 = sp + 272|0; $3 = sp; $4 = sp + 264|0; _ListScreen_UNSAFE_GetCur($4,$0,$1); $5 = (_String_CaselessEqualsConst($4,28661)|0); $6 = ($5|0)==(0); if (!($6)) { STACKTOP = sp;return; } HEAP32[$2>>2] = $3; $7 = ((($2)) + 4|0); HEAP16[$7>>1] = 0; $8 = ((($2)) + 6|0); HEAP16[$8>>1] = 260; _String_Format1($2,29642,$4); _Map_LoadFrom($2); STACKTOP = sp;return; } function _LoadLevelScreen_FilterFiles($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = (_Map_FindImporter($0)|0); $4 = $0; $5 = $4; $6 = HEAP32[$5>>2]|0; $7 = (($4) + 4)|0; $8 = $7; $9 = HEAP32[$8>>2]|0; $10 = $2; $11 = $10; HEAP32[$11>>2] = $6; $12 = (($10) + 4)|0; $13 = $12; HEAP32[$13>>2] = $9; $14 = ($3|0)==(0|0); if ($14) { STACKTOP = sp;return; } _Utils_UNSAFE_TrimFirstDirectory($2); _StringsBuffer_Add($1,$2); STACKTOP = sp;return; } function _GenLevelScreen_Show() { var label = 0, sp = 0; sp = STACKTOP; HEAP8[(546196)>>0] = 1; HEAP8[(546198)>>0] = 1; HEAP32[136548] = 12124; _Gui_Replace(546192,50); return; } function _GenLevelScreen_Init($0) { $0 = $0|0; var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 12|0); HEAP32[$1>>2] = 388832; $2 = ((($0)) + 16|0); HEAP32[$2>>2] = 12; $3 = ((($0)) + 272|0); HEAP32[$3>>2] = 0; $4 = HEAP32[(1407464)>>2]|0; _GenLevelScreen_Make($0,0,-80,$4); $5 = HEAP32[(1407468)>>2]|0; _GenLevelScreen_Make($0,1,-40,$5); $6 = HEAP32[(1407472)>>2]|0; _GenLevelScreen_Make($0,2,0,$6); _GenLevelScreen_Make($0,3,40,0); $7 = ((($0)) + 1704|0); _Menu_Label($0,8,$7,1,1,0,-130); $8 = ((($0)) + 32|0); _Menu_Button($0,9,$8,200,88,1,1,-120,100); $9 = ((($0)) + 112|0); _Menu_Button($0,10,$9,200,89,1,1,120,100); $10 = ((($0)) + 192|0); _Menu_Back($0,11,$10,76); _Window_OpenKeyboard(); return; } function _GenLevelScreen_BuildMesh($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return; } function _GenLevelScreen_KeyDown($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 272|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(0|0); if (!($4)) { $5 = HEAP32[$3>>2]|0; $6 = ((($5)) + 12|0); $7 = HEAP32[$6>>2]|0; $8 = (FUNCTION_TABLE_iii[$7 & 127]($3,$1)|0); $9 = ($8|0)==(0); if (!($9)) { $$0 = 1; return ($$0|0); } } $10 = (_Screen_InputDown($0,$1)|0); $$0 = $10; return ($$0|0); } function _GenLevelScreen_KeyPress($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 272|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(0|0); if ($4) { return 1; } _InputWidget_Append($3,$1); return 1; } function _GenLevelScreen_TextChanged($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 272|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(0|0); if ($4) { return 1; } _InputWidget_SetText($3,$1); return 1; } function _GenLevelScreen_PointerDown($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $4 = (_Menu_DoPointerDown($0,$1,$2,$3)|0); $5 = ($4|0)==(-1); $6 = ($4|0)>(3); $or$cond = $5 | $6; if ($or$cond) { return 1; } $7 = ((($0)) + 272|0); $8 = HEAP32[$7>>2]|0; $9 = ($8|0)==(0|0); if (!($9)) { $10 = ((($8)) + 138|0); HEAP8[$10>>0] = 0; } $11 = ((($0)) + 280|0); $12 = (($11) + (($4*288)|0)|0); HEAP32[$7>>2] = $12; $13 = (((($11) + (($4*288)|0)|0)) + 138|0); HEAP8[$13>>0] = 1; $14 = (((($11) + (($4*288)|0)|0)) + 56|0); _Window_SetKeyboardText($14); return 1; } function _GenLevelScreen_ContextLost($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 20|0); _Font_Free($1); _Screen_ContextLost($0); return; } function _GenLevelScreen_ContextRecreated($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; _Menu_MakeTitleFont($1); $2 = ((($0)) + 20|0); _Menu_MakeBodyFont($2); $3 = ((($0)) + 280|0); _MenuInputWidget_SetFont($3,$2); $4 = ((($0)) + 568|0); _MenuInputWidget_SetFont($4,$2); $5 = ((($0)) + 856|0); _MenuInputWidget_SetFont($5,$2); $6 = ((($0)) + 1144|0); _MenuInputWidget_SetFont($6,$2); $7 = ((($0)) + 1432|0); _TextWidget_SetConst($7,29650,$2); $8 = ((($0)) + 1500|0); _TextWidget_SetConst($8,29657,$2); $9 = ((($0)) + 1568|0); _TextWidget_SetConst($9,29665,$2); $10 = ((($0)) + 1636|0); _TextWidget_SetConst($10,29673,$2); $11 = ((($0)) + 1704|0); _TextWidget_SetConst($11,29679,$2); $12 = ((($0)) + 32|0); _ButtonWidget_SetConst($12,29698,$1); $13 = ((($0)) + 112|0); _ButtonWidget_SetConst($13,29708,$1); $14 = ((($0)) + 192|0); _ButtonWidget_SetConst($14,36109,$1); _Font_Free($1); STACKTOP = sp;return; } function _GenLevelScreen_Make($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; $4 = sp + 80|0; $5 = sp; $6 = sp + 64|0; $7 = ($1|0)==(3); if ($7) { HEAP32[$6>>2] = 18116; $8 = ((($6)) + 4|0); HEAP32[$8>>2] = -2147483648; $9 = ((($6)) + 8|0); HEAP32[$9>>2] = 2147483647; } else { HEAP32[$6>>2] = 18096; $10 = ((($6)) + 4|0); HEAP32[$10>>2] = 1; $11 = ((($6)) + 8|0); HEAP32[$11>>2] = 8192; $12 = ((($6)) + 12|0); HEAP32[$12>>2] = $3; } HEAP32[$4>>2] = $5; $13 = ((($4)) + 4|0); HEAP16[$13>>1] = 0; $14 = ((($4)) + 6|0); HEAP16[$14>>1] = 64; $15 = HEAP32[$6>>2]|0; $16 = ((($15)) + 16|0); $17 = HEAP32[$16>>2]|0; FUNCTION_TABLE_vii[$17 & 127]($6,$4); $18 = (((($0)) + 280|0) + (($1*288)|0)|0); _Menu_Input($0,$1,$18,200,$4,$6,$2); $19 = (((((($0)) + 280|0) + (($1*288)|0)|0)) + 138|0); HEAP8[$19>>0] = 0; $20 = (($1) + 4)|0; $21 = (((($0)) + 1432|0) + (($1*68)|0)|0); _Menu_Label($0,$20,$21,4,1,110,$2); $22 = (((((($0)) + 1432|0) + (($1*68)|0)|0)) + 64|0); HEAP32[$22>>2] = -2039584; STACKTOP = sp;return; } function _GenLevelScreen_Flatgrass($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _GenLevelScreen_Gen($0,0); return; } function _GenLevelScreen_Notchy($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _GenLevelScreen_Gen($0,1); return; } function _GenLevelScreen_Gen($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (_GenLevelScreen_GetInt($0,0)|0); $3 = (_GenLevelScreen_GetInt($0,1)|0); $4 = (_GenLevelScreen_GetInt($0,2)|0); $5 = (_GenLevelScreen_GetSeedInt($0)|0); $6 = ($2|0)<(0); $7 = $6 << 31 >> 31; $8 = ($3|0)<(0); $9 = $8 << 31 >> 31; $10 = (___muldi3(($3|0),($9|0),($2|0),($7|0))|0); $11 = (getTempRet0() | 0); $12 = ($4|0)<(0); $13 = $12 << 31 >> 31; $14 = (___muldi3(($10|0),($11|0),($4|0),($13|0))|0); $15 = (getTempRet0() | 0); $16 = ($15>>>0)>(0); $17 = ($14>>>0)>(2147483647); $18 = ($15|0)==(0); $19 = $18 & $17; $20 = $16 | $19; if ($20) { _Chat_AddRaw(29716); return; } $21 = ($2|0)!=(0); $22 = ($3|0)!=(0); $or$cond = $21 & $22; $23 = ($4|0)!=(0); $or$cond3 = $or$cond & $23; if ($or$cond3) { HEAP8[1408240] = $1; HEAP32[315079] = $5; _Gui_Remove($0); _Menu_BeginGen($2,$3,$4); return; } else { _Chat_AddRaw(29757); return; } } function _GenLevelScreen_GetInt($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; var $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = sp + 8|0; $4 = (((((($0)) + 280|0) + (($1*288)|0)|0)) + 56|0); $5 = $4; $6 = $5; $7 = HEAP32[$6>>2]|0; $8 = (($5) + 4)|0; $9 = $8; $10 = HEAP32[$9>>2]|0; $11 = $2; $12 = $11; HEAP32[$12>>2] = $7; $13 = (($11) + 4)|0; $14 = $13; HEAP32[$14>>2] = $10; $15 = (((((($0)) + 280|0) + (($1*288)|0)|0)) + 208|0); $16 = HEAP32[$15>>2]|0; $17 = ((($16)) + 12|0); $18 = HEAP32[$17>>2]|0; $19 = (FUNCTION_TABLE_iii[$18 & 127]($15,$2)|0); $20 = ($19<<24>>24)==(0); if ($20) { $$0 = 0; STACKTOP = sp;return ($$0|0); } (_Convert_ParseInt($2,$3)|0); $21 = HEAP32[$3>>2]|0; $$0 = $21; STACKTOP = sp;return ($$0|0); } function _GenLevelScreen_GetSeedInt($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = ((($0)) + 1204|0); $3 = HEAP16[$2>>1]|0; $4 = ($3<<16>>16)==(0); if ($4) { _Random_SeedFromCurrentTime($1); $5 = (_Random_Next($1,2147483647)|0); $$0 = $5; STACKTOP = sp;return ($$0|0); } else { $6 = (_GenLevelScreen_GetInt($0,3)|0); $$0 = $6; STACKTOP = sp;return ($$0|0); } return (0)|0; } function _Menu_BeginGen($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var label = 0, sp = 0; sp = STACKTOP; _World_Reset(); _World_SetDimensions($0,$1,$2); _GeneratingScreen_Show(); return; } function _OptionsGroupScreen_Show() { var label = 0, sp = 0; sp = STACKTOP; HEAP8[(1275112)>>0] = 1; HEAP8[(1275114)>>0] = 1; HEAP32[318777] = 12188; _Gui_Replace(1275108,50); return; } function _OptionsGroupScreen_Init($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; _Event_Register((1252636),$0,312); $1 = ((($0)) + 12|0); HEAP32[$1>>2] = 6272; $2 = ((($0)) + 16|0); HEAP32[$2>>2] = 9; $3 = ((($0)) + 20|0); HEAP32[$3>>2] = -1; $4 = ((($0)) + 36|0); _Menu_Buttons($0,$4,300,4640,7); $5 = ((($0)) + 596|0); _TextWidget_Make($5,1,1,0,100); $6 = ((($0)) + 664|0); _Menu_MakeBack($6,76); return; } function _OptionsGroupScreen_Free($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _Event_Unregister((1252636),$0,312); return; } function _MenuScreen_Render2($0,$1) { $0 = $0|0; $1 = +$1; var label = 0, sp = 0; sp = STACKTOP; _Menu_RenderBounds(); _Screen_Render2Widgets($0,$1); return; } function _OptionsGroupScreen_BuildMesh($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 2400|0; $1 = sp; _Screen_BuildMesh($0,$1); $2 = ((($0)) + 8|0); $3 = HEAP32[$2>>2]|0; _Gfx_SetDynamicVbData($3,$1,100); STACKTOP = sp;return; } function _OptionsGroupScreen_PointerMove($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $4 = (_Menu_DoPointerMove($0,$2,$3)|0); $5 = ($4|0)==(-1); if ($5) { return 1; } $6 = ((($0)) + 20|0); $7 = HEAP32[$6>>2]|0; $8 = ($4|0)==($7|0); $9 = ($4>>>0)>(6); $or$cond = $9 | $8; if ($or$cond) { return 1; } HEAP32[$6>>2] = $4; _OptionsGroupScreen_UpdateDesc($0); return 1; } function _OptionsGroupScreen_ContextLost($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 24|0); _Font_Free($1); _Screen_ContextLost($0); return; } function _OptionsGroupScreen_ContextRecreated($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = (_Gfx_CreateDynamicVb(1,100)|0); $3 = ((($0)) + 8|0); HEAP32[$3>>2] = $2; _Menu_MakeTitleFont($1); $4 = ((($0)) + 24|0); _Menu_MakeBodyFont($4); $5 = ((($0)) + 36|0); _Menu_SetButtons($5,$1,4640,7); $6 = ((($0)) + 664|0); _ButtonWidget_SetConst($6,28640,$1); $7 = ((($0)) + 20|0); $8 = HEAP32[$7>>2]|0; $9 = ($8|0)>(-1); if (!($9)) { _OptionsGroupScreen_CheckHacksAllowed($0); _Font_Free($1); STACKTOP = sp;return; } _OptionsGroupScreen_UpdateDesc($0); _OptionsGroupScreen_CheckHacksAllowed($0); _Font_Free($1); STACKTOP = sp;return; } function _OptionsGroupScreen_UpdateDesc($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 596|0); $2 = ((($0)) + 20|0); $3 = HEAP32[$2>>2]|0; $4 = (4752 + ($3<<2)|0); $5 = HEAP32[$4>>2]|0; $6 = ((($0)) + 24|0); _TextWidget_SetConst($1,$5,$6); return; } function _OptionsGroupScreen_CheckHacksAllowed($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[(1242627)>>0]|0; $2 = ($1<<24>>24)==(0); $3 = $2&1; $4 = ((($0)) + 457|0); HEAP8[$4>>0] = $3; $5 = ((($0)) + 7|0); HEAP8[$5>>0] = 1; return; } function _Menu_SwitchMisc($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _MiscOptionsScreen_Show(); return; } function _Menu_SwitchGui($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _GuiOptionsScreen_Show(); return; } function _Menu_SwitchGfx($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _GraphicsOptionsScreen_Show(); return; } function _Menu_SwitchKeysNormal($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _NormalKeyBindingsScreen_Show(); return; } function _Menu_SwitchHacks($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _HacksSettingsScreen_Show(); return; } function _Menu_SwitchEnv($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _EnvSettingsScreen_Show(); return; } function _Menu_SwitchNostalgia($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _NostalgiaScreen_Show(); return; } function _NostalgiaScreen_Show() { var label = 0, sp = 0; sp = STACKTOP; _MenuOptionsScreen_Show(0,0,0,313); return; } function _NostalgiaScreen_InitWidgets($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 16|0); HEAP32[$1>>2] = 13; $2 = ((($0)) + 44|0); HEAP32[$2>>2] = 314; _MenuOptionsScreen_InitButtons($0,4784,8,90); _Menu_Label($0,8,1275852,1,1,0,100); return; } function _MenuOptionsScreen_Show($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var label = 0, sp = 0; sp = STACKTOP; HEAP8[(547972)>>0] = 1; HEAP8[(547974)>>0] = 1; HEAP32[136992] = 12252; HEAP32[(547988)>>2] = $0; HEAP32[(547992)>>2] = $1; HEAP32[(548004)>>2] = $2; HEAP32[(548008)>>2] = $3; HEAP32[(548012)>>2] = 0; HEAP32[(548016)>>2] = 0; _Gui_Replace(547968,50); return; } function _MenuOptionsScreen_Init($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 12|0); HEAP32[$1>>2] = 388880; HEAP32[97220] = 0; HEAP32[(388884)>>2] = 0; HEAP32[(388888)>>2] = 0; HEAP32[(388892)>>2] = 0; $2 = HEAP32[$1>>2]|0; $3 = ((($2)) + 16|0); HEAP32[$3>>2] = 0; $4 = HEAP32[$1>>2]|0; $5 = ((($4)) + 20|0); HEAP32[$5>>2] = 0; $6 = HEAP32[$1>>2]|0; $7 = ((($6)) + 24|0); HEAP32[$7>>2] = 0; $8 = HEAP32[$1>>2]|0; $9 = ((($8)) + 28|0); HEAP32[$9>>2] = 0; $10 = HEAP32[$1>>2]|0; $11 = ((($10)) + 32|0); HEAP32[$11>>2] = 0; $12 = HEAP32[$1>>2]|0; $13 = ((($12)) + 36|0); HEAP32[$13>>2] = 0; $14 = HEAP32[$1>>2]|0; $15 = ((($14)) + 40|0); HEAP32[$15>>2] = 0; $16 = HEAP32[$1>>2]|0; $17 = ((($16)) + 44|0); HEAP32[$17>>2] = 0; $18 = HEAP32[$1>>2]|0; $19 = ((($18)) + 48|0); HEAP32[$19>>2] = 0; $20 = HEAP32[$1>>2]|0; $21 = ((($20)) + 52|0); HEAP32[$21>>2] = 0; $22 = ((($0)) + 28|0); HEAP32[$22>>2] = -1; $23 = ((($0)) + 32|0); HEAP32[$23>>2] = -1; $24 = ((($0)) + 40|0); $25 = HEAP32[$24>>2]|0; FUNCTION_TABLE_vi[$25 & 511]($0); _Event_Register((1252636),$0,315); return; } function _MenuOptionsScreen_Free($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; _Event_Unregister((1252636),$0,315); $1 = ((($0)) + 28|0); $2 = HEAP32[$1>>2]|0; $3 = ($2|0)>(-1); if (!($3)) { return; } _Window_CloseKeyboard(); return; } function _MenuOptionsScreen_Render($0,$1) { $0 = $0|0; $1 = +$1; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; _MenuScreen_Render($0,$1); $2 = ((($0)) + 528|0); $3 = ((($0)) + 564|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)==(0); if ($5) { return; } $6 = ((($0)) + 532|0); $7 = HEAP32[$6>>2]|0; $8 = (($7) + -5)|0; $9 = ((($0)) + 536|0); $10 = HEAP32[$9>>2]|0; $11 = (($10) + -5)|0; $12 = ((($0)) + 540|0); $13 = HEAP32[$12>>2]|0; $14 = (($13) + 10)|0; $15 = ((($0)) + 544|0); $16 = HEAP32[$15>>2]|0; $17 = (($16) + 10)|0; _Gfx_Draw2DFlat($8,$11,$14,$17,-938208236); $18 = HEAP32[$2>>2]|0; $19 = HEAP32[$18>>2]|0; FUNCTION_TABLE_vid[$19 & 63]($2,$1); return; } function _MenuOptionsScreen_BuildMesh($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return; } function _MenuOptionsScreen_KeyDown($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 28|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)>(-1); L1: do { if ($4) { $5 = ((($0)) + 240|0); $6 = HEAP32[$5>>2]|0; $7 = ((($6)) + 12|0); $8 = HEAP32[$7>>2]|0; $9 = (FUNCTION_TABLE_iii[$8 & 127]($5,$1)|0); $10 = ($9|0)==(0); if (!($10)) { $$0 = 1; return ($$0|0); } switch ($1|0) { case 91: case 116: { break; } default: { break L1; } } _MenuOptionsScreen_EnterInput($0); $$0 = 1; return ($$0|0); } } while(0); $11 = (_Screen_InputDown($0,$1)|0); $$0 = $11; return ($$0|0); } function _MenuOptionsScreen_KeyPress($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 28|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)>(-1); if (!($4)) { return 1; } $5 = ((($0)) + 240|0); _InputWidget_Append($5,$1); return 1; } function _MenuOptionsScreen_TextChanged($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 28|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)>(-1); if (!($4)) { return 1; } $5 = ((($0)) + 240|0); _InputWidget_SetText($5,$1); return 1; } function _MenuOptionsScreen_PointerMove($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = (_Menu_DoPointerMove($0,$2,$3)|0); $5 = ($4|0)==(-1); if ($5) { return 1; } $6 = ((($0)) + 32|0); $7 = HEAP32[$6>>2]|0; $8 = ($4|0)==($7|0); if ($8) { return 1; } $9 = ((($0)) + 24|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)==(0|0); if ($11) { return 1; } $12 = ((($0)) + 36|0); $13 = HEAP32[$12>>2]|0; $14 = ($4|0)<($13|0); if (!($14)) { return 1; } HEAP32[$6>>2] = $4; $15 = ((($0)) + 28|0); $16 = HEAP32[$15>>2]|0; $17 = ($16|0)==(-1); if (!($17)) { return 1; } _MenuOptionsScreen_SelectExtHelp($0,$4); return 1; } function _MenuOptionsScreen_Layout($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _Screen_Layout($0); _MenuOptionsScreen_RepositionExtHelp($0); return; } function _MenuOptionsScreen_ContextLost($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 56|0); _Font_Free($1); $2 = ((($0)) + 68|0); _Font_Free($2); _Screen_ContextLost($0); $3 = ((($0)) + 528|0); $4 = HEAP32[$3>>2]|0; $5 = ((($4)) + 4|0); $6 = HEAP32[$5>>2]|0; FUNCTION_TABLE_vi[$6 & 511]($3); return; } function _MenuOptionsScreen_ContextRecreated($0) { $0 = $0|0; var $$020 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; $1 = ((($0)) + 56|0); _Menu_MakeTitleFont($1); $2 = ((($0)) + 68|0); _Menu_MakeBodyFont($2); $3 = ((($0)) + 52|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)>(0); if ($5) { $6 = ((($0)) + 12|0); $$020 = 0; while(1) { $7 = HEAP32[$6>>2]|0; $8 = (($7) + ($$020<<2)|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)==(0|0); if (!($10)) { _MenuOptionsScreen_Update($0,$$020); } $11 = (($$020) + 1)|0; $12 = HEAP32[$3>>2]|0; $13 = ($11|0)<($12|0); if ($13) { $$020 = $11; } else { break; } } } $14 = ((($0)) + 1560|0); _ButtonWidget_SetConst($14,28640,$1); $15 = ((($0)) + 44|0); $16 = HEAP32[$15>>2]|0; $17 = ($16|0)==(0|0); if ($17) { $18 = ((($0)) + 528|0); _TextGroupWidget_SetFont($18,$2); _TextGroupWidget_RedrawAll($18); _MenuOptionsScreen_RedrawInput($0); return; } FUNCTION_TABLE_vi[$16 & 511]($0); $18 = ((($0)) + 528|0); _TextGroupWidget_SetFont($18,$2); _TextGroupWidget_RedrawAll($18); _MenuOptionsScreen_RedrawInput($0); return; } function _MenuOptionsScreen_Update($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $2 = sp + 64|0; $3 = sp; HEAP32[$2>>2] = $3; $4 = ((($2)) + 4|0); HEAP16[$4>>1] = 0; $5 = ((($2)) + 6|0); HEAP16[$5>>1] = 64; $6 = (((($0)) + 760|0) + (($1*80)|0)|0); $7 = (((((($0)) + 760|0) + (($1*80)|0)|0)) + 68|0); $8 = HEAP32[$7>>2]|0; _String_AppendConst($2,$8); $9 = (((((($0)) + 760|0) + (($1*80)|0)|0)) + 72|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)==(0|0); if ($11) { $13 = ((($0)) + 56|0); _ButtonWidget_Set($6,$2,$13); STACKTOP = sp;return; } _String_AppendConst($2,30257); $12 = HEAP32[$9>>2]|0; FUNCTION_TABLE_vi[$12 & 511]($2); $13 = ((($0)) + 56|0); _ButtonWidget_Set($6,$2,$13); STACKTOP = sp;return; } function _MenuOptionsScreen_RedrawInput($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 28|0); $2 = HEAP32[$1>>2]|0; $3 = ($2|0)==(-1); if ($3) { return; } $4 = ((($0)) + 240|0); $5 = ((($0)) + 68|0); _MenuInputWidget_SetFont($4,$5); $6 = ((($0)) + 80|0); $7 = ((($0)) + 56|0); _ButtonWidget_SetConst($6,30240,$7); $8 = ((($0)) + 160|0); _ButtonWidget_SetConst($8,30243,$7); return; } function _MenuOptionsScreen_RepositionExtHelp($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[351858]|0; $2 = (($1|0) / 2)&-1; $3 = ((($0)) + 528|0); $4 = ((($0)) + 540|0); $5 = HEAP32[$4>>2]|0; $6 = (($5|0) / 2)&-1; $7 = (($2) - ($6))|0; $8 = ((($0)) + 552|0); HEAP32[$8>>2] = $7; $9 = HEAP32[$3>>2]|0; $10 = ((($9)) + 8|0); $11 = HEAP32[$10>>2]|0; FUNCTION_TABLE_vi[$11 & 511]($3); return; } function _MenuOptionsScreen_SelectExtHelp($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $2 = sp + 40|0; $3 = sp; _MenuOptionsScreen_FreeExtHelp($0); $4 = ((($0)) + 24|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0|0); if ($6) { STACKTOP = sp;return; } $7 = ((($0)) + 28|0); $8 = HEAP32[$7>>2]|0; $9 = ($8|0)>(-1); if ($9) { STACKTOP = sp;return; } $10 = (($5) + ($1<<2)|0); $11 = HEAP32[$10>>2]|0; $12 = ($11|0)==(0|0); if ($12) { STACKTOP = sp;return; } _String_FromReadonly($2,$11); $13 = (_String_UNSAFE_Split($2,10,$3,5)|0); $14 = ((($0)) + 528|0); $15 = ((($0)) + 564|0); HEAP32[$15>>2] = $13; $16 = ((($0)) + 616|0); HEAP32[$16>>2] = $11; _TextGroupWidget_RedrawAll($14); _MenuOptionsScreen_RepositionExtHelp($0); STACKTOP = sp;return; } function _MenuOptionsScreen_FreeExtHelp($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 528|0); $2 = HEAP32[$1>>2]|0; $3 = ($2|0)==(0|0); if (!($3)) { $4 = ((($2)) + 4|0); $5 = HEAP32[$4>>2]|0; FUNCTION_TABLE_vi[$5 & 511]($1); } $6 = ((($0)) + 564|0); HEAP32[$6>>2] = 0; return; } function _MenuOptionsScreen_EnterInput($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = ((($0)) + 448|0); $3 = ((($0)) + 296|0); $4 = $3; $5 = $4; $6 = HEAP32[$5>>2]|0; $7 = (($4) + 4)|0; $8 = $7; $9 = HEAP32[$8>>2]|0; $10 = $1; $11 = $10; HEAP32[$11>>2] = $6; $12 = (($10) + 4)|0; $13 = $12; HEAP32[$13>>2] = $9; $14 = HEAP32[$2>>2]|0; $15 = ((($14)) + 12|0); $16 = HEAP32[$15>>2]|0; $17 = (FUNCTION_TABLE_iii[$16 & 127]($2,$1)|0); $18 = ($17<<24>>24)==(0); if (!($18)) { $19 = ((($0)) + 28|0); $20 = HEAP32[$19>>2]|0; _MenuOptionsScreen_Set($0,$20,$1); } $21 = ((($0)) + 28|0); $22 = HEAP32[$21>>2]|0; _MenuOptionsScreen_SelectExtHelp($0,$22); _MenuOptionsScreen_FreeInput($0); HEAP32[$21>>2] = -1; STACKTOP = sp;return; } function _MenuOptionsScreen_Set($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (((((($0)) + 760|0) + (($1*80)|0)|0)) + 76|0); $4 = HEAP32[$3>>2]|0; FUNCTION_TABLE_vi[$4 & 511]($2); _MenuOptionsScreen_Update($0,$1); return; } function _MenuOptionsScreen_FreeInput($0) { $0 = $0|0; var $$015 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 28|0); $2 = HEAP32[$1>>2]|0; $3 = ($2|0)==(-1); if ($3) { return; } $4 = ((($0)) + 16|0); $5 = HEAP32[$4>>2]|0; $6 = (($5) + -3)|0; $7 = ((($0)) + 12|0); $$015 = $6; while(1) { $8 = HEAP32[$7>>2]|0; $9 = (($8) + ($$015<<2)|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)==(0|0); if (!($11)) { $12 = HEAP32[$10>>2]|0; $13 = ($12|0)==(0|0); if (!($13)) { $14 = ((($12)) + 4|0); $15 = HEAP32[$14>>2]|0; FUNCTION_TABLE_vi[$15 & 511]($10); } $16 = HEAP32[$7>>2]|0; $17 = (($16) + ($$015<<2)|0); HEAP32[$17>>2] = 0; } $18 = (($$015) + 1)|0; $19 = HEAP32[$4>>2]|0; $20 = ($18|0)<($19|0); if ($20) { $$015 = $18; } else { break; } } _Window_CloseKeyboard(); return; } function _MenuOptionsScreen_OnHacksChanged($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 48|0); $2 = HEAP32[$1>>2]|0; $3 = ($2|0)==(0|0); if ($3) { return; } FUNCTION_TABLE_vi[$2 & 511]($0); return; } function _NostalgiaScreen_RecreateExtra($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 68|0); _TextWidget_SetConst(1275852,30559,$1); return; } function _NostalgiaScreen_SwitchBack($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP8[1408259]|0; $3 = ($2<<24>>24)==(0); if ($3) { _Menu_SwitchOptions($0,$1); return; } else { _Menu_SwitchPause($0,$1); return; } } function _MenuOptionsScreen_InitButtons($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$035 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ($2|0)>(0); if ($4) { $$035 = 0; while(1) { $5 = (((($0)) + 760|0) + (($$035*80)|0)|0); $6 = (((($1) + (($$035*20)|0)|0)) + 8|0); $7 = HEAP32[$6>>2]|0; $8 = (($1) + (($$035*20)|0)|0); $9 = HEAP16[$8>>1]|0; $10 = $9 << 16 >> 16; $11 = ($10*160)|0; $12 = (((($1) + (($$035*20)|0)|0)) + 2|0); $13 = HEAP16[$12>>1]|0; $14 = $13 << 16 >> 16; _Menu_Button($0,$$035,$5,300,$7,1,1,$11,$14); $15 = (((($1) + (($$035*20)|0)|0)) + 4|0); $16 = HEAP32[$15>>2]|0; $17 = (((((($0)) + 760|0) + (($$035*80)|0)|0)) + 68|0); HEAP32[$17>>2] = $16; $18 = (((($1) + (($$035*20)|0)|0)) + 12|0); $19 = HEAP32[$18>>2]|0; $20 = (((((($0)) + 760|0) + (($$035*80)|0)|0)) + 72|0); HEAP32[$20>>2] = $19; $21 = (((($1) + (($$035*20)|0)|0)) + 16|0); $22 = HEAP32[$21>>2]|0; $23 = (((((($0)) + 760|0) + (($$035*80)|0)|0)) + 76|0); HEAP32[$23>>2] = $22; $24 = (($$035) + 1)|0; $exitcond = ($24|0)==($2|0); if ($exitcond) { break; } else { $$035 = $24; } } } $25 = ((($0)) + 52|0); HEAP32[$25>>2] = $2; $26 = ((($0)) + 16|0); $27 = HEAP32[$26>>2]|0; $28 = (($27) + -4)|0; $29 = ((($0)) + 1560|0); _Menu_Back($0,$28,$29,$3); $30 = ((($0)) + 528|0); $31 = ((($0)) + 620|0); _TextGroupWidget_Create($30,5,$31,11); $32 = ((($0)) + 564|0); HEAP32[$32>>2] = 0; _Widget_SetLocation($30,0,3,0,100); return; } function _MenuOptionsScreen_GetDesc($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $3 = sp + 40|0; $4 = sp; _String_FromReadonly($3,$1); (_String_UNSAFE_Split($3,10,$4,5)|0); $5 = (($4) + ($2<<3)|0); $6 = $5; $7 = $6; $8 = HEAP32[$7>>2]|0; $9 = (($6) + 4)|0; $10 = $9; $11 = HEAP32[$10>>2]|0; $12 = $0; $13 = $12; HEAP32[$13>>2] = $8; $14 = (($12) + 4)|0; $15 = $14; HEAP32[$15>>2] = $11; STACKTOP = sp;return; } function _MenuOptionsScreen_Bool($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $2 = sp + 72|0; $3 = sp; $4 = sp + 64|0; HEAP32[$2>>2] = $3; $5 = ((($2)) + 4|0); HEAP16[$5>>1] = 0; $6 = ((($2)) + 6|0); HEAP16[$6>>1] = 64; $7 = ((($1)) + 72|0); $8 = HEAP32[$7>>2]|0; FUNCTION_TABLE_vi[$8 & 511]($2); $9 = (_String_CaselessEqualsConst($2,28876)|0); $10 = $9 & 255; $11 = ($10|0)==(0); $12 = $11 ? 28876 : 28872; _String_FromReadonly($4,$12); $13 = $4; $14 = $13; $15 = HEAP32[$14>>2]|0; $16 = (($13) + 4)|0; $17 = $16; $18 = HEAP32[$17>>2]|0; $19 = $2; $20 = $19; HEAP32[$20>>2] = $15; $21 = (($19) + 4)|0; $22 = $21; HEAP32[$22>>2] = $18; $23 = (_Menu_Index($0,$1)|0); _MenuOptionsScreen_Set($0,$23,$2); STACKTOP = sp;return; } function _NostalgiaScreen_GetHand($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[(1280014)>>0]|0; _Menu_GetBool($0,$1); return; } function _NostalgiaScreen_SetHand($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_SetBool($0,34260)|0); HEAP8[(1280014)>>0] = $1; return; } function _NostalgiaScreen_GetAnim($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408232]|0; $2 = ($1<<24>>24)==(0); $3 = $2&1; _Menu_GetBool($0,$3); return; } function _NostalgiaScreen_SetAnim($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_String_CaselessEqualsConst($0,28872)|0); $2 = $1&255; HEAP8[1408232] = $2; _Options_SetBool(30538,$2); return; } function _NostalgiaScreen_GetGui($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408257]|0; _Menu_GetBool($0,$1); return; } function _NostalgiaScreen_SetGui($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_SetBool($0,30517)|0); HEAP8[1408257] = $1; return; } function _NostalgiaScreen_GetList($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408258]|0; _Menu_GetBool($0,$1); return; } function _NostalgiaScreen_SetList($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_SetBool($0,30492)|0); HEAP8[1408258] = $1; return; } function _NostalgiaScreen_GetOpts($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408259]|0; _Menu_GetBool($0,$1); return; } function _NostalgiaScreen_SetOpts($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_SetBool($0,30467)|0); HEAP8[1408259] = $1; return; } function _NostalgiaScreen_GetCustom($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408234]|0; _Menu_GetBool($0,$1); return; } function _NostalgiaScreen_SetCustom($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_SetBool($0,30444)|0); HEAP8[1408234] = $1; return; } function _NostalgiaScreen_GetCPE($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408235]|0; _Menu_GetBool($0,$1); return; } function _NostalgiaScreen_SetCPE($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_SetBool($0,30427)|0); HEAP8[1408235] = $1; return; } function _NostalgiaScreen_GetTexs($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408236]|0; _Menu_GetBool($0,$1); return; } function _NostalgiaScreen_SetTexs($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_SetBool($0,30402)|0); HEAP8[1408236] = $1; return; } function _Menu_SetBool($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (_String_CaselessEqualsConst($0,28876)|0); $3 = $2&255; _Options_SetBool($1,$3); return ($3|0); } function _Menu_GetBool($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1<<24>>24)==(0); $3 = $2 ? 28872 : 28876; _String_AppendConst($0,$3); return; } function _EnvSettingsScreen_Show() { var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; HEAP32[97236] = 18076; HEAP32[(388948)>>2] = -1; HEAP32[(388960)>>2] = 18076; HEAP32[(388964)>>2] = -13159; HEAP32[(388976)>>2] = 18076; HEAP32[(388980)>>2] = -1; HEAP32[(388992)>>2] = 18136; HEAPF32[(388996)>>2] = 0.0; HEAPF32[(389000)>>2] = 1000.0; HEAPF32[(389004)>>2] = 1.0; HEAP32[(389008)>>2] = 18096; HEAP32[(389012)>>2] = -10000; HEAP32[(389016)>>2] = 10000; $0 = HEAP32[(1407468)>>2]|0; $1 = (($0) + 2)|0; HEAP32[(389020)>>2] = $1; HEAP32[(389024)>>2] = 18076; HEAP32[(389028)>>2] = -1; HEAP32[(389040)>>2] = 18076; HEAP32[(389044)>>2] = -6579301; HEAP32[(389056)>>2] = 0; HEAP32[(389060)>>2] = 18816; HEAP32[(389064)>>2] = 3; HEAP32[(389072)>>2] = 18136; HEAPF32[(389076)>>2] = -100.0; HEAPF32[(389080)>>2] = 100.0; HEAPF32[(389084)>>2] = 1.0; HEAP32[(389088)>>2] = 18096; HEAP32[(389092)>>2] = -2048; HEAP32[(389096)>>2] = 2048; $2 = (($0|0) / 2)&-1; HEAP32[(389100)>>2] = $2; _MenuOptionsScreen_Show(388944,0,0,316); return; } function _EnvSettingsScreen_InitWidgets($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 16|0); HEAP32[$1>>2] = 14; _MenuOptionsScreen_InitButtons($0,4944,10,15); return; } function _MenuOptionsScreen_Input($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $2 = sp + 64|0; $3 = sp; $4 = (_Menu_Index($0,$1)|0); $5 = ((($0)) + 28|0); HEAP32[$5>>2] = $4; _MenuOptionsScreen_FreeExtHelp($0); _MenuOptionsScreen_FreeInput($0); HEAP32[$2>>2] = $3; $6 = ((($2)) + 4|0); HEAP16[$6>>1] = 0; $7 = ((($2)) + 6|0); HEAP16[$7>>1] = 64; $8 = ((($1)) + 72|0); $9 = HEAP32[$8>>2]|0; FUNCTION_TABLE_vi[$9 & 511]($2); $10 = ((($0)) + 16|0); $11 = HEAP32[$10>>2]|0; $12 = (($11) + -1)|0; $13 = ((($0)) + 240|0); $14 = ((($0)) + 20|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$5>>2]|0; $17 = (($15) + ($16<<4)|0); _Menu_Input($0,$12,$13,400,$2,$17,110); $18 = (($11) + -2)|0; $19 = ((($0)) + 80|0); _Menu_Button($0,$18,$19,40,91,1,1,240,110); $20 = (($11) + -3)|0; $21 = ((($0)) + 160|0); _Menu_Button($0,$20,$21,200,92,1,1,0,150); _MenuOptionsScreen_RedrawInput($0); _Window_OpenKeyboard(); _Window_SetKeyboardText($2); STACKTOP = sp;return; } function _EnvSettingsScreen_GetCloudsCol($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[(1407564)>>2]|0; _PackedCol_ToHex($0,$1); return; } function _EnvSettingsScreen_SetCloudsCol($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_HexCol($0)|0); _Env_SetCloudsCol($1); return; } function _EnvSettingsScreen_GetSkyCol($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[(1407556)>>2]|0; _PackedCol_ToHex($0,$1); return; } function _EnvSettingsScreen_SetSkyCol($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_HexCol($0)|0); _Env_SetSkyCol($1); return; } function _EnvSettingsScreen_GetFogCol($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[(1407560)>>2]|0; _PackedCol_ToHex($0,$1); return; } function _EnvSettingsScreen_SetFogCol($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_HexCol($0)|0); _Env_SetFogCol($1); return; } function _EnvSettingsScreen_GetCloudsSpeed($0) { $0 = $0|0; var $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = +HEAPF32[(1407528)>>2]; _String_AppendFloat($0,$1,2); return; } function _EnvSettingsScreen_SetCloudsSpeed($0) { $0 = $0|0; var $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = (+_Menu_Float($0)); _Env_SetCloudsSpeed($1); return; } function _EnvSettingsScreen_GetCloudsHeight($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[(1407524)>>2]|0; _String_AppendInt($0,$1); return; } function _EnvSettingsScreen_SetCloudsHeight($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_Int($0)|0); _Env_SetCloudsHeight($1); return; } function _EnvSettingsScreen_GetSunCol($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[(1407572)>>2]|0; _PackedCol_ToHex($0,$1); return; } function _EnvSettingsScreen_SetSunCol($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_HexCol($0)|0); _Env_SetSunCol($1); return; } function _EnvSettingsScreen_GetShadowCol($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[(1407588)>>2]|0; _PackedCol_ToHex($0,$1); return; } function _EnvSettingsScreen_SetShadowCol($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_HexCol($0)|0); _Env_SetShadowCol($1); return; } function _MenuOptionsScreen_Enum($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $2 = sp + 72|0; $3 = sp; $4 = sp + 64|0; $5 = (_Menu_Index($0,$1)|0); HEAP32[$2>>2] = $3; $6 = ((($2)) + 4|0); HEAP16[$6>>1] = 0; $7 = ((($2)) + 6|0); HEAP16[$7>>1] = 64; $8 = ((($1)) + 72|0); $9 = HEAP32[$8>>2]|0; FUNCTION_TABLE_vi[$9 & 511]($2); $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; $12 = (((($11) + ($5<<4)|0)) + 4|0); $13 = HEAP32[$12>>2]|0; $14 = (((($11) + ($5<<4)|0)) + 8|0); $15 = HEAP32[$14>>2]|0; $16 = (_Utils_ParseEnum($2,0,$13,$15)|0); $17 = (($16) + 1)|0; $18 = (($17|0) % ($15|0))&-1; $19 = (($13) + ($18<<2)|0); $20 = HEAP32[$19>>2]|0; _String_FromReadonly($4,$20); $21 = $4; $22 = $21; $23 = HEAP32[$22>>2]|0; $24 = (($21) + 4)|0; $25 = $24; $26 = HEAP32[$25>>2]|0; $27 = $2; $28 = $27; HEAP32[$28>>2] = $23; $29 = (($27) + 4)|0; $30 = $29; HEAP32[$30>>2] = $26; _MenuOptionsScreen_Set($0,$5,$2); STACKTOP = sp;return; } function _EnvSettingsScreen_GetWeather($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[(1407540)>>2]|0; $2 = (18816 + ($1<<2)|0); $3 = HEAP32[$2>>2]|0; _String_AppendConst($0,$3); return; } function _EnvSettingsScreen_SetWeather($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Utils_ParseEnum($0,0,18816,3)|0); _Env_SetWeather($1); return; } function _EnvSettingsScreen_GetWeatherSpeed($0) { $0 = $0|0; var $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = +HEAPF32[(1407532)>>2]; _String_AppendFloat($0,$1,2); return; } function _EnvSettingsScreen_SetWeatherSpeed($0) { $0 = $0|0; var $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = (+_Menu_Float($0)); _Env_SetWeatherSpeed($1); return; } function _EnvSettingsScreen_GetEdgeHeight($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[(1407516)>>2]|0; _String_AppendInt($0,$1); return; } function _EnvSettingsScreen_SetEdgeHeight($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_Int($0)|0); _Env_SetEdgeHeight($1); return; } function _Menu_Int($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; (_Convert_ParseInt($0,$1)|0); $2 = HEAP32[$1>>2]|0; STACKTOP = sp;return ($2|0); } function _Menu_Float($0) { $0 = $0|0; var $1 = 0, $2 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; (_Convert_ParseFloat($0,$1)|0); $2 = +HEAPF32[$1>>2]; STACKTOP = sp;return (+$2); } function _Menu_HexCol($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; (_PackedCol_TryParseHex($0,$1)|0); $2 = HEAP8[$1>>0]|0; $3 = $2&255; $4 = ((($1)) + 1|0); $5 = HEAP8[$4>>0]|0; $6 = $5&255; $7 = $6 << 8; $8 = ((($1)) + 2|0); $9 = HEAP8[$8>>0]|0; $10 = $9&255; $11 = $10 << 16; $12 = $7 | $3; $13 = $12 | $11; $14 = $13 | -16777216; STACKTOP = sp;return ($14|0); } function _MenuOptionsScreen_OK($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _MenuOptionsScreen_EnterInput($0); return; } function _MenuOptionsScreen_Default($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $2 = sp + 64|0; $3 = sp; $4 = ((($0)) + 20|0); $5 = HEAP32[$4>>2]|0; $6 = ((($0)) + 28|0); $7 = HEAP32[$6>>2]|0; $8 = (($5) + ($7<<4)|0); HEAP32[$2>>2] = $3; $9 = ((($2)) + 4|0); HEAP16[$9>>1] = 0; $10 = ((($2)) + 6|0); HEAP16[$10>>1] = 64; $11 = HEAP32[$8>>2]|0; $12 = ((($11)) + 16|0); $13 = HEAP32[$12>>2]|0; FUNCTION_TABLE_vii[$13 & 127]($8,$2); $14 = ((($0)) + 240|0); _InputWidget_SetText($14,$2); STACKTOP = sp;return; } function _HacksSettingsScreen_Show() { var label = 0, sp = 0; sp = STACKTOP; HEAP32[(389128)>>2] = 30720; HEAP32[(389132)>>2] = 30823; HEAP32[(389148)>>2] = 30938; HEAP32[(389152)>>2] = 31121; HEAP32[(389184)>>2] = 18136; HEAPF32[(389188)>>2] = 0.10000000149011612; HEAPF32[(389192)>>2] = 50.0; HEAPF32[(389196)>>2] = 10.0; HEAP32[(389216)>>2] = 18136; HEAPF32[(389220)>>2] = 0.10000000149011612; HEAPF32[(389224)>>2] = 2048.0; HEAPF32[(389228)>>2] = 1.2330000400543213; HEAP32[(389312)>>2] = 18096; HEAP32[(389316)>>2] = 1; HEAP32[(389320)>>2] = 179; HEAP32[(389324)>>2] = 70; _MenuOptionsScreen_Show(389168,389120,11,317); return; } function _HacksSettingsScreen_InitWidgets($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 16|0); HEAP32[$1>>2] = 14; $2 = ((($0)) + 48|0); HEAP32[$2>>2] = 318; _MenuOptionsScreen_InitButtons($0,5152,10,15); _HacksSettingsScreen_CheckHacksAllowed($0); return; } function _HacksSettingsScreen_CheckHacksAllowed($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $narrow = 0, $narrow19 = 0, $narrow20 = 0, $narrow21 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 12|0); $2 = HEAP32[$1>>2]|0; $3 = HEAP8[(1242626)>>0]|0; $4 = ($3<<24>>24)==(0); $5 = HEAP8[(1242629)>>0]|0; $6 = ($5<<24>>24)==(0); $narrow = $4 | $6; $7 = $narrow&1; $8 = ((($2)) + 12|0); $9 = HEAP32[$8>>2]|0; $10 = ((($9)) + 21|0); HEAP8[$10>>0] = $7; $11 = HEAP8[(1242629)>>0]|0; $12 = ($11<<24>>24)==(0); $narrow19 = $4 | $12; $13 = $narrow19&1; $14 = ((($2)) + 16|0); $15 = HEAP32[$14>>2]|0; $16 = ((($15)) + 21|0); HEAP8[$16>>0] = $13; $17 = HEAP8[(1242629)>>0]|0; $18 = ($17<<24>>24)==(0); $narrow20 = $4 | $18; $19 = $narrow20&1; $20 = ((($2)) + 20|0); $21 = HEAP32[$20>>2]|0; $22 = ((($21)) + 21|0); HEAP8[$22>>0] = $19; $23 = HEAP8[(1242633)>>0]|0; $24 = ($23<<24>>24)==(0); $narrow21 = $4 | $24; $25 = $narrow21&1; $26 = ((($2)) + 28|0); $27 = HEAP32[$26>>2]|0; $28 = ((($27)) + 21|0); HEAP8[$28>>0] = $25; return; } function _HacksSettingsScreen_GetHacks($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[(1242626)>>0]|0; _Menu_GetBool($0,$1); return; } function _HacksSettingsScreen_SetHacks($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_SetBool($0,31551)|0); HEAP8[(1242626)>>0] = $1; _HacksComp_Update((1242616)); return; } function _HacksSettingsScreen_GetSpeed($0) { $0 = $0|0; var $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = +HEAPF32[(1242620)>>2]; _String_AppendFloat($0,$1,2); return; } function _HacksSettingsScreen_SetSpeed($0) { $0 = $0|0; var $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = (+_Menu_Float($0)); HEAPF32[(1242620)>>2] = $1; _Options_Set(31529,$0); return; } function _HacksSettingsScreen_GetClipping($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[(1230545)>>0]|0; _Menu_GetBool($0,$1); return; } function _HacksSettingsScreen_SetClipping($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_SetBool($0,31508)|0); HEAP8[(1230545)>>0] = $1; return; } function _HacksSettingsScreen_GetJump($0) { $0 = $0|0; var $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = (+_LocalPlayer_JumpHeight()); _String_AppendFloat($0,$1,3); return; } function _HacksSettingsScreen_SetJump($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $1 = sp + 64|0; $2 = sp; $3 = (+_Menu_Float($0)); $4 = (+_PhysicsComp_CalcJumpVelocity($3)); HEAPF32[(1242968)>>2] = $4; HEAPF32[(1242972)>>2] = $4; HEAP32[$1>>2] = $2; $5 = ((($1)) + 4|0); HEAP16[$5>>1] = 0; $6 = ((($1)) + 6|0); HEAP16[$6>>1] = 64; _String_AppendFloat($1,$4,8); _Options_Set(31489,$1); STACKTOP = sp;return; } function _HacksSettingsScreen_GetWOMHacks($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[(1242649)>>0]|0; _Menu_GetBool($0,$1); return; } function _HacksSettingsScreen_SetWOMHacks($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_SetBool($0,31469)|0); HEAP8[(1242649)>>0] = $1; return; } function _HacksSettingsScreen_GetFullStep($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[(1242625)>>0]|0; _Menu_GetBool($0,$1); return; } function _HacksSettingsScreen_SetFullStep($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_SetBool($0,31449)|0); HEAP8[(1242625)>>0] = $1; return; } function _HacksSettingsScreen_GetLiquids($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408230]|0; _Menu_GetBool($0,$1); return; } function _HacksSettingsScreen_SetLiquids($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_SetBool($0,31426)|0); HEAP8[1408230] = $1; return; } function _HacksSettingsScreen_GetPushback($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[(1242624)>>0]|0; _Menu_GetBool($0,$1); return; } function _HacksSettingsScreen_SetPushback($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_SetBool($0,31404)|0); HEAP8[(1242624)>>0] = $1; return; } function _HacksSettingsScreen_GetSlide($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[(1242648)>>0]|0; _Menu_GetBool($0,$1); return; } function _HacksSettingsScreen_SetSlide($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_SetBool($0,31386)|0); HEAP8[(1242648)>>0] = $1; return; } function _HacksSettingsScreen_GetFOV($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[315053]|0; _String_AppendInt($0,$1); return; } function _HacksSettingsScreen_SetFOV($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_Int($0)|0); $2 = HEAP32[315072]|0; $3 = ($2|0)>($1|0); if ($3) { HEAP32[315072] = $1; } HEAP32[315071] = $1; _Options_Set(31376,$0); _Game_SetFov($1); return; } function _NormalKeyBindingsScreen_Show() { var label = 0, sp = 0; sp = STACKTOP; _KeyBindingsScreen_Show(12,31570,5360,319); return; } function _NormalKeyBindingsScreen_Init($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 40|0); HEAP32[$1>>2] = 93; _KeyBindingsScreen_InitWidgets($0,-140,10,6,250,31600); return; } function _KeyBindingsScreen_Show($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var label = 0, sp = 0; sp = STACKTOP; HEAP8[(1275924)>>0] = 1; HEAP8[(1275926)>>0] = 1; HEAP32[318980] = 12316; HEAP32[(1275944)>>2] = $0; HEAP32[(1275952)>>2] = $1; HEAP32[(1275948)>>2] = $2; HEAP32[(1275964)>>2] = $3; _Gui_Replace(1275920,50); return; } function _KeyBindingsScreen_Init($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 12|0); HEAP32[$1>>2] = 389344; $2 = ((($0)) + 24|0); $3 = HEAP32[$2>>2]|0; $4 = (($3) + 5)|0; $5 = ((($0)) + 16|0); HEAP32[$5>>2] = $4; $6 = ((($0)) + 20|0); HEAP32[$6>>2] = -1; $7 = ((($0)) + 36|0); HEAP32[$7>>2] = 0; $8 = ((($0)) + 40|0); HEAP32[$8>>2] = 0; $9 = ((($0)) + 48|0); HEAP32[$9>>2] = 0; $10 = ((($0)) + 52|0); HEAP32[$10>>2] = 1408293; $11 = ((($0)) + 44|0); $12 = HEAP32[$11>>2]|0; FUNCTION_TABLE_vi[$12 & 511]($0); return; } function _KeyBindingsScreen_BuildMesh($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return; } function _KeyBindingsScreen_KeyDown($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 20|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(-1); if ($4) { $5 = (_Screen_InputDown($0,$1)|0); $$0 = $5; return ($$0|0); } $6 = ((($0)) + 32|0); $7 = HEAP32[$6>>2]|0; $8 = (($7) + ($3)|0); $9 = HEAP8[$8>>0]|0; $10 = $9&255; $11 = ($1|0)==(92); if ($11) { $12 = (3824 + ($10)|0); $13 = HEAP8[$12>>0]|0; $14 = $13&255; $$019 = $14; } else { $$019 = $1; } _KeyBind_Set($10,$$019); $15 = HEAP32[$2>>2]|0; HEAP32[$2>>2] = -1; $16 = ((($0)) + 6|0); HEAP8[$16>>0] = 1; _KeyBindingsScreen_Update($0,$15); $$0 = 1; return ($$0|0); } function _KeyBindingsScreen_ContextLost($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 56|0); _Font_Free($1); _Screen_ContextLost($0); return; } function _KeyBindingsScreen_ContextRecreated($0) { $0 = $0|0; var $$021 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = ((($0)) + 56|0); _Menu_MakeTitleFont($2); _Menu_MakeBodyFont($1); $3 = ((($0)) + 24|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)>(0); if ($5) { $$021 = 0; while(1) { _KeyBindingsScreen_Update($0,$$021); $6 = (($$021) + 1)|0; $7 = HEAP32[$3>>2]|0; $8 = ($6|0)<($7|0); if ($8) { $$021 = $6; } else { break; } } } $9 = ((($0)) + 68|0); $10 = ((($0)) + 48|0); $11 = HEAP32[$10>>2]|0; _TextWidget_SetConst($9,$11,$2); $12 = ((($0)) + 136|0); $13 = ((($0)) + 52|0); $14 = HEAP32[$13>>2]|0; _TextWidget_SetConst($12,$14,$1); $15 = ((($0)) + 204|0); _ButtonWidget_SetConst($15,28640,$2); _Font_Free($1); $16 = ((($0)) + 36|0); $17 = HEAP32[$16>>2]|0; $18 = ($17|0)==(0|0); if ($18) { $19 = ((($0)) + 40|0); $20 = HEAP32[$19>>2]|0; $21 = ($20|0)==(0|0); if ($21) { STACKTOP = sp;return; } } $22 = ((($0)) + 284|0); _ButtonWidget_SetConst($22,36411,$2); $23 = ((($0)) + 364|0); _ButtonWidget_SetConst($23,36413,$2); STACKTOP = sp;return; } function _KeyBindingsScreen_Update($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $2 = sp + 64|0; $3 = sp; HEAP32[$2>>2] = $3; $4 = ((($2)) + 4|0); HEAP16[$4>>1] = 0; $5 = ((($2)) + 6|0); HEAP16[$5>>1] = 64; $6 = ((($0)) + 20|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)==($1|0); $9 = $8 ? 31582 : 31593; $10 = ((($0)) + 28|0); $11 = HEAP32[$10>>2]|0; $12 = (($11) + ($1<<2)|0); $13 = HEAP32[$12>>2]|0; $14 = ((($0)) + 32|0); $15 = HEAP32[$14>>2]|0; $16 = (($15) + ($1)|0); $17 = HEAP8[$16>>0]|0; $18 = $17&255; $19 = (379728 + ($18)|0); $20 = HEAP8[$19>>0]|0; $21 = $20&255; $22 = (3280 + ($21<<2)|0); $23 = HEAP32[$22>>2]|0; _String_Format2($2,$9,$13,$23); $24 = (((($0)) + 444|0) + (($1*80)|0)|0); $25 = ((($0)) + 56|0); _ButtonWidget_Set($24,$2,$25); STACKTOP = sp;return; } function _Menu_SwitchKeysHacks($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _HacksKeyBindingsScreen_Show(); return; } function _KeyBindingsScreen_InitWidgets($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; var $$060$lcssa = 0, $$06061 = 0, $$062 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; var $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $6 = (($4|0) / 2)&-1; $7 = (($6) + 5)|0; $8 = ((($0)) + 48|0); HEAP32[$8>>2] = $5; $9 = ((($0)) + 24|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)>(0); if ($11) { $12 = ($3|0)==(-1); $$06061 = 0;$$062 = $1; while(1) { $13 = ($$06061|0)==($3|0); $spec$select = $13 ? $1 : $$062; $14 = ($$06061|0)<($3|0); $15 = $14 ? -1 : 1; $16 = $12 ? 0 : $15; $17 = (((($0)) + 444|0) + (($$06061*80)|0)|0); $18 = Math_imul($16, $7)|0; _Menu_Button($0,$$06061,$17,$4,94,1,1,$18,$spec$select); $19 = (($spec$select) + 50)|0; $20 = (($$06061) + 1)|0; $21 = HEAP32[$9>>2]|0; $22 = ($20|0)<($21|0); if ($22) { $$06061 = $20;$$062 = $19; } else { $$060$lcssa = $20; break; } } } else { $$060$lcssa = 0; } $23 = ((($0)) + 68|0); _Menu_Label($0,$$060$lcssa,$23,1,1,0,-180); $24 = (($$060$lcssa) + 1)|0; $25 = ((($0)) + 136|0); _Menu_Label($0,$24,$25,1,1,0,100); $26 = (($$060$lcssa) + 2)|0; $27 = ((($0)) + 204|0); $28 = HEAP8[1408259]|0; $29 = ($28<<24>>24)==(0); $30 = $29 ? 15 : 10; _Menu_Back($0,$26,$27,$30); $31 = (($$060$lcssa) + 3)|0; $32 = ((($0)) + 36|0); $33 = HEAP32[$32>>2]|0; $34 = ($33|0)==(0|0); if ($34) { $35 = ((($0)) + 40|0); $36 = HEAP32[$35>>2]|0; $37 = ($36|0)==(0|0); if ($37) { return; } } $38 = ((($0)) + 284|0); $39 = (-35 - ($4))|0; _Menu_Button($0,$31,$38,40,$33,1,1,$39,$2); $40 = (($$060$lcssa) + 4)|0; $41 = ((($0)) + 364|0); $42 = ((($0)) + 40|0); $43 = HEAP32[$42>>2]|0; $44 = (($4) + 35)|0; _Menu_Button($0,$40,$41,40,$43,1,1,$44,$2); $45 = HEAP32[$32>>2]|0; $46 = ($45|0)==(0|0); $47 = $46&1; $48 = ((($0)) + 305|0); HEAP8[$48>>0] = $47; $49 = HEAP32[$42>>2]|0; $50 = ($49|0)==(0|0); $51 = $50&1; $52 = ((($0)) + 385|0); HEAP8[$52>>0] = $51; return; } function _KeyBindingsScreen_OnBindingClick($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 20|0); $3 = HEAP32[$2>>2]|0; $4 = (_Menu_Index($0,$1)|0); HEAP32[$2>>2] = $4; $5 = ((($0)) + 6|0); HEAP8[$5>>0] = 0; _KeyBindingsScreen_Update($0,$4); $6 = ($3|0)>(-1); if (!($6)) { return; } _KeyBindingsScreen_Update($0,$3); return; } function _Menu_SwitchClassicOptions($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _ClassicOptionsScreen_Show(); return; } function _ClassicOptionsScreen_Show() { var label = 0, sp = 0; sp = STACKTOP; HEAP32[(389456)>>2] = 0; HEAP32[(389460)>>2] = 5408; HEAP32[(389464)>>2] = 4; HEAP32[(389536)>>2] = 0; HEAP32[(389540)>>2] = 2640; HEAP32[(389544)>>2] = 6; _MenuOptionsScreen_Show(389424,0,0,320); return; } function _ClassicOptionsScreen_InitWidgets($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 16|0); HEAP32[$1>>2] = 14; $2 = ((($0)) + 44|0); HEAP32[$2>>2] = 321; _MenuOptionsScreen_InitButtons($0,5424,9,76); $3 = ((($0)) + 1480|0); _Menu_Button($0,9,$3,400,95,1,2,0,95); $4 = HEAP8[(1384580)>>0]|0; $5 = ($4<<24>>24)==(0); if ($5) { _Menu_Remove($0,3); } $6 = HEAP8[1408233]|0; $7 = ($6<<24>>24)==(0); if (!($7)) { return; } _Menu_Remove($0,8); return; } function _ClassicOptionsScreen_RecreateExtra($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 1480|0); $2 = ((($0)) + 56|0); _ButtonWidget_SetConst($1,30173,$2); return; } function _Menu_SwitchKeysClassic($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _ClassicKeyBindingsScreen_Show(); return; } function _Menu_Remove($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 12|0); $3 = HEAP32[$2>>2]|0; $4 = (($3) + ($1<<2)|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0|0); if (!($6)) { $7 = HEAP32[$5>>2]|0; $8 = ($7|0)==(0|0); if (!($8)) { $9 = ((($7)) + 4|0); $10 = HEAP32[$9>>2]|0; FUNCTION_TABLE_vi[$10 & 511]($5); } } HEAP32[$4>>2] = 0; return; } function _ClassicKeyBindingsScreen_Show() { var label = 0, sp = 0; sp = STACKTOP; _KeyBindingsScreen_Show(10,31616,5616,322); return; } function _ClassicKeyBindingsScreen_Init($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408233]|0; $2 = ($1<<24>>24)==(0); if ($2) { _KeyBindingsScreen_InitWidgets($0,-140,-40,5,300,31626); return; } else { $3 = ((($0)) + 40|0); HEAP32[$3>>2] = 96; _KeyBindingsScreen_InitWidgets($0,-140,-40,5,260,31600); return; } } function _Menu_SwitchKeysClassicHacks($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _ClassicHacksKeyBindingsScreen_Show(); return; } function _ClassicHacksKeyBindingsScreen_Show() { var label = 0, sp = 0; sp = STACKTOP; _KeyBindingsScreen_Show(6,31635,5664,323); return; } function _ClassicHacksKeyBindingsScreen_Init($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 36|0); HEAP32[$1>>2] = 95; _KeyBindingsScreen_InitWidgets($0,-90,-40,3,260,31641); return; } function _ClassicOptionsScreen_GetMusic($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (0)>(0); $2 = $1&1; _Menu_GetBool($0,$2); return; } function _ClassicOptionsScreen_SetMusic($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_String_CaselessEqualsConst($0,28876)|0); $2 = ($1|0)==(0); $3 = $2 ? 0 : 100; _Audio_SetMusic($3); _Options_SetInt(31950,0); return; } function _ClassicOptionsScreen_GetInvert($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[(1230546)>>0]|0; _Menu_GetBool($0,$1); return; } function _ClassicOptionsScreen_SetInvert($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_SetBool($0,31938)|0); HEAP8[(1230546)>>0] = $1; return; } function _ClassicOptionsScreen_GetViewDist($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[315051]|0; $2 = ($1|0)>(511); if ($2) { _String_AppendConst($0,31916); return; } $3 = ($1|0)>(127); if ($3) { _String_AppendConst($0,31920); return; } $4 = ($1|0)>(31); if ($4) { _String_AppendConst($0,31927); return; } else { _String_AppendConst($0,31933); return; } } function _ClassicOptionsScreen_SetViewDist($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Utils_ParseEnum($0,0,5408,4)|0); switch ($1|0) { case 3: { $4 = 512; break; } case 2: { $4 = 128; break; } default: { $2 = ($1|0)==(1); $3 = $2 ? 32 : 8; $4 = $3; } } _Game_UserSetViewDistance($4); return; } function _ClassicOptionsScreen_GetPhysics($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1226244]|0; _Menu_GetBool($0,$1); return; } function _ClassicOptionsScreen_SetPhysics($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_SetBool($0,31896)|0); _Physics_SetEnabled($1); return; } function _ClassicOptionsScreen_GetSounds($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (0)>(0); $2 = $1&1; _Menu_GetBool($0,$2); return; } function _ClassicOptionsScreen_SetSounds($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_String_CaselessEqualsConst($0,28876)|0); $2 = ($1|0)==(0); $3 = $2 ? 0 : 100; _Audio_SetSounds($3); _Options_SetInt(31883,0); return; } function _ClassicOptionsScreen_GetShowFPS($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408260]|0; _Menu_GetBool($0,$1); return; } function _ClassicOptionsScreen_SetShowFPS($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_SetBool($0,31871)|0); HEAP8[1408260] = $1; return; } function _ClassicOptionsScreen_GetViewBob($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408237]|0; _Menu_GetBool($0,$1); return; } function _ClassicOptionsScreen_SetViewBob($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_SetBool($0,31859)|0); HEAP8[1408237] = $1; return; } function _MenuOptionsScreen_GetFPS($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[315054]|0; $2 = (2640 + ($1<<2)|0); $3 = HEAP32[$2>>2]|0; _String_AppendConst($0,$3); return; } function _MenuOptionsScreen_SetFPS($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Utils_ParseEnum($0,0,2640,6)|0); _Options_Set(31850,$0); _Game_SetFpsLimit($1); return; } function _ClassicOptionsScreen_GetHacks($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[(1242626)>>0]|0; _Menu_GetBool($0,$1); return; } function _ClassicOptionsScreen_SetHacks($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_SetBool($0,31551)|0); HEAP8[(1242626)>>0] = $1; _HacksComp_Update((1242616)); return; } function _HacksKeyBindingsScreen_Show() { var label = 0, sp = 0; sp = STACKTOP; _KeyBindingsScreen_Show(8,31962,5696,324); return; } function _HacksKeyBindingsScreen_Init($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 36|0); HEAP32[$1>>2] = 22; $2 = ((($0)) + 40|0); HEAP32[$2>>2] = 97; _KeyBindingsScreen_InitWidgets($0,-40,10,4,260,31641); return; } function _Menu_SwitchKeysOther($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _OtherKeyBindingsScreen_Show(); return; } function _OtherKeyBindingsScreen_Show() { var label = 0, sp = 0; sp = STACKTOP; _KeyBindingsScreen_Show(12,31970,5728,325); return; } function _OtherKeyBindingsScreen_Init($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 36|0); HEAP32[$1>>2] = 93; $2 = ((($0)) + 40|0); HEAP32[$2>>2] = 98; _KeyBindingsScreen_InitWidgets($0,-140,10,6,260,31982); return; } function _Menu_SwitchKeysMouse($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _MouseKeyBindingsScreen_Show(); return; } function _MouseKeyBindingsScreen_Show() { var label = 0, sp = 0; sp = STACKTOP; _KeyBindingsScreen_Show(3,31997,12380,326); return; } function _MouseKeyBindingsScreen_Init($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 36|0); HEAP32[$1>>2] = 97; $2 = ((($0)) + 52|0); HEAP32[$2>>2] = 32000; _KeyBindingsScreen_InitWidgets($0,-40,10,-1,260,32036); return; } function _GraphicsOptionsScreen_Show() { var label = 0, sp = 0; sp = STACKTOP; HEAP32[97400] = 32302; HEAP32[(389608)>>2] = 32549; HEAP32[(389612)>>2] = 32633; HEAP32[(389616)>>2] = 32930; HEAP32[97408] = 0; HEAP32[(389636)>>2] = 2640; HEAP32[(389640)>>2] = 6; HEAP32[(389648)>>2] = 18096; HEAP32[(389652)>>2] = 8; HEAP32[(389656)>>2] = 4096; HEAP32[(389660)>>2] = 512; HEAP32[(389680)>>2] = 0; HEAP32[(389684)>>2] = 1312; HEAP32[(389688)>>2] = 5; HEAP32[(389696)>>2] = 0; HEAP32[(389700)>>2] = 1344; HEAP32[(389704)>>2] = 4; _MenuOptionsScreen_Show(389632,389600,7,327); return; } function _GraphicsOptionsScreen_InitWidgets($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 16|0); HEAP32[$1>>2] = 10; _MenuOptionsScreen_InitButtons($0,5776,6,15); return; } function _GraphicsOptionsScreen_GetViewDist($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[315051]|0; _String_AppendInt($0,$1); return; } function _GraphicsOptionsScreen_SetViewDist($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_Int($0)|0); _Game_UserSetViewDistance($1); return; } function _GraphicsOptionsScreen_GetSmooth($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408208]|0; _Menu_GetBool($0,$1); return; } function _GraphicsOptionsScreen_SetSmooth($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_SetBool($0,33272)|0); HEAP8[1408208] = $1; _Builder_ApplyActive(); _MapRenderer_Refresh(); return; } function _GraphicsOptionsScreen_GetNames($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[(1242148)>>0]|0; $2 = $1&255; $3 = (1312 + ($2<<2)|0); $4 = HEAP32[$3>>2]|0; _String_AppendConst($0,$4); return; } function _GraphicsOptionsScreen_SetNames($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Utils_ParseEnum($0,0,1312,5)|0); $2 = $1&255; HEAP8[(1242148)>>0] = $2; _Options_Set(33262,$0); return; } function _GraphicsOptionsScreen_GetShadows($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[(1242149)>>0]|0; $2 = $1&255; $3 = (1344 + ($2<<2)|0); $4 = HEAP32[$3>>2]|0; _String_AppendConst($0,$4); return; } function _GraphicsOptionsScreen_SetShadows($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Utils_ParseEnum($0,0,1344,4)|0); $2 = $1&255; HEAP8[(1242149)>>0] = $2; _Options_Set(33249,$0); return; } function _GraphicsOptionsScreen_GetMipmaps($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[(1260361)>>0]|0; _Menu_GetBool($0,$1); return; } function _GraphicsOptionsScreen_SetMipmaps($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_SetBool($0,33237)|0); HEAP8[(1260361)>>0] = $1; _TexturePack_ExtractCurrent(1); return; } function _GuiOptionsScreen_Show() { var label = 0, sp = 0; sp = STACKTOP; HEAP32[(389776)>>2] = 18136; HEAPF32[(389780)>>2] = 0.25; HEAPF32[(389784)>>2] = 4.0; HEAPF32[(389788)>>2] = 1.0; HEAP32[(389792)>>2] = 18136; HEAPF32[(389796)>>2] = 0.25; HEAPF32[(389800)>>2] = 4.0; HEAPF32[(389804)>>2] = 1.0; HEAP32[(389840)>>2] = 18136; HEAPF32[(389844)>>2] = 0.25; HEAPF32[(389848)>>2] = 4.0; HEAPF32[(389852)>>2] = 1.0; HEAP32[(389856)>>2] = 18096; HEAP32[(389860)>>2] = 0; HEAP32[(389864)>>2] = 30; HEAP32[(389868)>>2] = 10; _MenuOptionsScreen_Show(389744,0,0,328); return; } function _GuiOptionsScreen_InitWidgets($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 16|0); HEAP32[$1>>2] = 14; _MenuOptionsScreen_InitButtons($0,5904,10,15); return; } function _GuiOptionsScreen_GetShadows($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408217]|0; _Menu_GetBool($0,$1); return; } function _GuiOptionsScreen_SetShadows($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_SetBool($0,33588)|0); HEAP8[1408217] = $1; _Event_RaiseVoid(1254716); return; } function _GuiOptionsScreen_GetShowFPS($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408260]|0; _Menu_GetBool($0,$1); return; } function _GuiOptionsScreen_SetShowFPS($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_SetBool($0,31871)|0); HEAP8[1408260] = $1; return; } function _GuiOptionsScreen_GetHotbar($0) { $0 = $0|0; var $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = +HEAPF32[315047]; _String_AppendFloat($0,$1,1); return; } function _GuiOptionsScreen_SetHotbar($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _GuiOptionsScreen_SetScale($0,1260188,33572); return; } function _GuiOptionsScreen_GetInventory($0) { $0 = $0|0; var $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = +HEAPF32[315048]; _String_AppendFloat($0,$1,1); return; } function _GuiOptionsScreen_SetInventory($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _GuiOptionsScreen_SetScale($0,1260192,33553); return; } function _GuiOptionsScreen_GetTabAuto($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408256]|0; _Menu_GetBool($0,$1); return; } function _GuiOptionsScreen_SetTabAuto($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_SetBool($0,33532)|0); HEAP8[1408256] = $1; return; } function _GuiOptionsScreen_GetClickable($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408255]|0; _Menu_GetBool($0,$1); return; } function _GuiOptionsScreen_SetClickable($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_SetBool($0,33514)|0); HEAP8[1408255] = $1; return; } function _GuiOptionsScreen_GetChatScale($0) { $0 = $0|0; var $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = +HEAPF32[315049]; _String_AppendFloat($0,$1,1); return; } function _GuiOptionsScreen_SetChatScale($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _GuiOptionsScreen_SetScale($0,1260196,33500); return; } function _GuiOptionsScreen_GetChatlines($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[315202]|0; _String_AppendInt($0,$1); return; } function _GuiOptionsScreen_SetChatlines($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_Int($0)|0); HEAP32[315202] = $1; _ChatScreen_SetChatlines($1); _Options_Set(33486,$0); return; } function _GuiOptionsScreen_GetUseFont($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408216]|0; $2 = ($1<<24>>24)==(0); $3 = $2&1; _Menu_GetBool($0,$3); return; } function _GuiOptionsScreen_SetUseFont($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_SetBool($0,33468)|0); $2 = ($1<<24>>24)==(0); $3 = $2&1; HEAP8[1408216] = $3; _Event_RaiseVoid(1254716); return; } function _Menu_SwitchFont($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _FontListScreen_Show(); return; } function _FontListScreen_Show() { var label = 0, sp = 0; sp = STACKTOP; HEAP32[(1269160)>>2] = 33429; HEAP32[(1269152)>>2] = 329; HEAP32[(1269144)>>2] = 99; HEAP32[(1269148)>>2] = 20; HEAP32[(1269156)>>2] = 12; _ListScreen_Show(); return; } function _FontListScreen_LoadEntries($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _ListScreen_Sort($0); _ListScreen_Select($0); return; } function _FontListScreen_EntryClick($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; _ListScreen_UNSAFE_GetCur($2,$0,$1); $3 = (_String_CaselessEqualsConst($2,28661)|0); $4 = ($3|0)==(0); if (!($4)) { STACKTOP = sp;return; } _String_Copy(11204,$2); _Options_Set(33455,$2); _Event_RaiseVoid(1254716); STACKTOP = sp;return; } function _FontListScreen_UpdateEntry($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $3 = sp; $4 = (_String_CaselessEqualsConst($2,28661)|0); $5 = ($4|0)==(0); if (!($5)) { $6 = ((($0)) + 660|0); _ButtonWidget_Set($1,$2,$6); STACKTOP = sp;return; } $7 = (_Font_Make($3,$2,16,0)|0); $8 = ($7|0)==(0); if ($8) { _ButtonWidget_Set($1,$2,$3); } else { _Logger_SimpleWarn2($7,33443,$2); $9 = ((($0)) + 660|0); _ButtonWidget_Set($1,$2,$9); } _Font_Free($3); STACKTOP = sp;return; } function _ListScreen_Select($0) { $0 = $0|0; var $$03 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp + 8|0; $2 = sp; $3 = ((($0)) + 844|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)>(0); if (!($5)) { STACKTOP = sp;return; } $6 = ((($0)) + 836|0); $$03 = 0; while(1) { _StringsBuffer_UNSAFE_Get($2,$6,$$03); $7 = $2; $8 = $7; $9 = HEAP32[$8>>2]|0; $10 = (($7) + 4)|0; $11 = $10; $12 = HEAP32[$11>>2]|0; $13 = $1; $14 = $13; HEAP32[$14>>2] = $9; $15 = (($13) + 4)|0; $16 = $15; HEAP32[$16>>2] = $12; $17 = (_String_CaselessEquals($1,11204)|0); $18 = ($17|0)==(0); if (!($18)) { break; } $20 = (($$03) + 1)|0; $21 = HEAP32[$3>>2]|0; $22 = ($20|0)<($21|0); if ($22) { $$03 = $20; } else { label = 6; break; } } if ((label|0) == 6) { STACKTOP = sp;return; } $19 = ((($0)) + 676|0); HEAP32[$19>>2] = $$03; STACKTOP = sp;return; } function _GuiOptionsScreen_SetScale($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0.0, label = 0, sp = 0; sp = STACKTOP; $3 = (+_Menu_Float($0)); HEAPF32[$1>>2] = $3; _Options_Set($2,$0); _Gui_RefreshChat(); return; } function _MiscOptionsScreen_Show() { var label = 0, sp = 0; sp = STACKTOP; HEAP32[97480] = 18136; HEAPF32[(389924)>>2] = 1.0; HEAPF32[(389928)>>2] = 1024.0; HEAPF32[(389932)>>2] = 5.0; HEAP32[(389936)>>2] = 18096; HEAP32[(389940)>>2] = 0; HEAP32[(389944)>>2] = 100; HEAP32[(389948)>>2] = 0; HEAP32[(389952)>>2] = 18096; HEAP32[(389956)>>2] = 0; HEAP32[(389960)>>2] = 100; HEAP32[(389964)>>2] = 0; HEAP32[(390032)>>2] = 18096; HEAP32[(390036)>>2] = 1; HEAP32[(390040)>>2] = 200; HEAP32[(390044)>>2] = 30; _MenuOptionsScreen_Show(389920,0,0,330); return; } function _MiscSettingsScreen_InitWidgets($0) { $0 = $0|0; var $$pr = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 16|0); HEAP32[$1>>2] = 12; _MenuOptionsScreen_InitButtons($0,6112,8,15); $2 = HEAP8[(1384580)>>0]|0; $3 = ($2<<24>>24)==(0); if (!($3)) { return; } _Menu_Remove($0,0); $$pr = HEAP8[(1384580)>>0]|0; $4 = ($$pr<<24>>24)==(0); if (!($4)) { return; } _Menu_Remove($0,4); return; } function _MiscOptionsScreen_GetReach($0) { $0 = $0|0; var $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = +HEAPF32[(1242612)>>2]; _String_AppendFloat($0,$1,2); return; } function _MiscOptionsScreen_SetReach($0) { $0 = $0|0; var $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = (+_Menu_Float($0)); HEAPF32[(1242612)>>2] = $1; return; } function _MiscOptionsScreen_GetMusic($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _String_AppendInt($0,0); return; } function _MiscOptionsScreen_SetMusic($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; _Options_Set(31950,$0); $1 = (_Menu_Int($0)|0); _Audio_SetMusic($1); return; } function _MiscOptionsScreen_GetSounds($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _String_AppendInt($0,0); return; } function _MiscOptionsScreen_SetSounds($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; _Options_Set(31883,$0); $1 = (_Menu_Int($0)|0); _Audio_SetSounds($1); return; } function _MiscOptionsScreen_GetViewBob($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408237]|0; _Menu_GetBool($0,$1); return; } function _MiscOptionsScreen_SetViewBob($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_SetBool($0,31859)|0); HEAP8[1408237] = $1; return; } function _MiscOptionsScreen_GetPhysics($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1226244]|0; _Menu_GetBool($0,$1); return; } function _MiscOptionsScreen_SetPhysics($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_SetBool($0,31896)|0); _Physics_SetEnabled($1); return; } function _MiscOptionsScreen_GetAutoClose($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Options_GetBool(33706,0)|0); _Menu_GetBool($0,$1); return; } function _MiscOptionsScreen_SetAutoClose($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; (_Menu_SetBool($0,33706)|0); return; } function _MiscOptionsScreen_GetInvert($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[(1230546)>>0]|0; _Menu_GetBool($0,$1); return; } function _MiscOptionsScreen_SetInvert($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_SetBool($0,31938)|0); HEAP8[(1230546)>>0] = $1; return; } function _MiscOptionsScreen_GetSensitivity($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[307635]|0; _String_AppendInt($0,$1); return; } function _MiscOptionsScreen_SetSensitivity($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Menu_Int($0)|0); HEAP32[307635] = $1; _Options_Set(33689,$0); return; } function _Menu_SwitchClassicGenLevel($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _ClassicGenScreen_Show(); return; } function _ClassicGenScreen_Show() { var label = 0, sp = 0; sp = STACKTOP; HEAP8[(1277328)>>0] = 1; HEAP8[(1277330)>>0] = 1; HEAP32[319331] = 12392; _Gui_Replace(1277324,50); return; } function _ClassicGenScreen_Init($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 12|0); HEAP32[$1>>2] = 6320; $2 = ((($0)) + 16|0); HEAP32[$2>>2] = 4; _ClassicGenScreen_Make($0,0,-100,100); _ClassicGenScreen_Make($0,1,-50,101); _ClassicGenScreen_Make($0,2,0,102); $3 = ((($0)) + 260|0); _Menu_MakeBack($3,76); return; } function _ClassicGenScreen_BuildMesh($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 1152|0; $1 = sp; _Screen_BuildMesh($0,$1); $2 = ((($0)) + 8|0); $3 = HEAP32[$2>>2]|0; _Gfx_SetDynamicVbData($3,$1,48); STACKTOP = sp;return; } function _ClassicGenScreen_ContextRecreated($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = (_Gfx_CreateDynamicVb(1,48)|0); $3 = ((($0)) + 8|0); HEAP32[$3>>2] = $2; _Menu_MakeTitleFont($1); $4 = ((($0)) + 20|0); _ButtonWidget_SetConst($4,33724,$1); $5 = ((($0)) + 100|0); _ButtonWidget_SetConst($5,33730,$1); $6 = ((($0)) + 180|0); _ButtonWidget_SetConst($6,33737,$1); $7 = ((($0)) + 260|0); _ButtonWidget_SetConst($7,36109,$1); _Font_Free($1); STACKTOP = sp;return; } function _ClassicGenScreen_Small($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _ClassicGenScreen_Gen(128); return; } function _ClassicGenScreen_Make($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $4 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = (((($0)) + 20|0) + (($1*80)|0)|0); _ButtonWidget_Make($4,400,$3,1,1,0,$2); return; } function _ClassicGenScreen_Medium($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _ClassicGenScreen_Gen(256); return; } function _ClassicGenScreen_Huge($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _ClassicGenScreen_Gen(512); return; } function _ClassicGenScreen_Gen($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; _Random_SeedFromCurrentTime($1); HEAP8[1408240] = 1; $2 = (_Random_Next($1,2147483647)|0); HEAP32[315079] = $2; _Gui_Remove(1277324); _Menu_BeginGen($0,64,$0); STACKTOP = sp;return; } function _TexIdsOverlay_Show() { var label = 0, sp = 0; sp = STACKTOP; HEAP8[(1277668)>>0] = 1; HEAP8[(1277670)>>0] = 1; HEAP32[319416] = 12456; _Gui_Replace(1277664,30); return; } function _TexIdsOverlay_Init($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 12|0); HEAP32[$1>>2] = 1277876; $2 = ((($0)) + 16|0); HEAP32[$2>>2] = 1; $3 = ((($0)) + 144|0); _Menu_Label($0,0,$3,1,0,0,0); return; } function _TexIdsOverlay_Render($0,$1) { $0 = $0|0; $1 = +$1; var $$018 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; _Menu_RenderBounds(); _Gfx_SetVertexFormat(1); _Screen_RenderWidgets($0,$1); $2 = ((($0)) + 24|0); $3 = HEAP32[$2>>2]|0; $4 = ((($0)) + 36|0); HEAP32[$4>>2] = 0; $5 = HEAP32[(1386724)>>2]|0; $6 = ($5|0)>(0); if (!($6)) { HEAP32[$2>>2] = $3; return; } $7 = ((($0)) + 32|0); $$018 = $5; while(1) { _TexIdsOverlay_RenderTerrain($0); _TexIdsOverlay_RenderTextOverlay($0); $8 = HEAP32[$7>>2]|0; $9 = $8 << 4; $10 = HEAP32[$2>>2]|0; $11 = (($10) + ($9))|0; HEAP32[$2>>2] = $11; $12 = HEAP32[$4>>2]|0; $13 = (($12) + 256)|0; HEAP32[$4>>2] = $13; $14 = (($$018) + -16)|0; $15 = ($$018|0)>(16); if ($15) { $$018 = $14; } else { break; } } HEAP32[$2>>2] = $3; return; } function _TexIdsOverlay_BuildMesh($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return; } function _TexIdsOverlay_KeyDown($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP8[(379761)>>0]|0; $3 = $2&255; $4 = ($3|0)==($1|0); if (!($4)) { $$0 = 0; return ($$0|0); } _Gui_Remove($0); $$0 = 1; return ($$0|0); } function _TexIdsOverlay_ContextLost($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; _Screen_ContextLost($0); $1 = ((($0)) + 20|0); _Gfx_DeleteVb($1); $2 = ((($0)) + 40|0); _TextAtlas_Free($2); return; } function _TexIdsOverlay_ContextRecreated($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $1 = sp + 12|0; $2 = sp; $3 = HEAP32[351859]|0; $4 = (($3|0) / 128)&-1; $5 = $4 << 3; $6 = ($5|0)>(8); $7 = $6 ? $5 : 8; $8 = ($7|0)<(40); $9 = $8 ? $7 : 40; $10 = (_Gfx_CreateDynamicVb(1,1024)|0); $11 = ((($0)) + 20|0); HEAP32[$11>>2] = $10; _Drawer2D_MakeFont($1,8,0); _Font_ReducePadding($1,4); $12 = ((($0)) + 40|0); _TextAtlas_Make($12,12520,$1,12528); _Font_Free($1); $13 = HEAP32[(1386724)>>2]|0; $14 = Math_imul($13, $9)|0; $15 = HEAP32[351858]|0; $16 = (_Gui_CalcPos(1,0,$14,$15)|0); $17 = ((($0)) + 24|0); HEAP32[$17>>2] = $16; $18 = $9 << 4; $19 = HEAP32[351859]|0; $20 = (_Gui_CalcPos(1,0,$18,$19)|0); $21 = ((($0)) + 28|0); HEAP32[$21>>2] = $20; $22 = ((($0)) + 32|0); HEAP32[$22>>2] = $9; $23 = (($20) + -30)|0; $24 = ((($0)) + 144|0); $25 = ((($0)) + 172|0); HEAP32[$25>>2] = $23; _Menu_MakeTitleFont($2); _TextWidget_SetConst($24,33742,$2); _Font_Free($2); STACKTOP = sp;return; } function _TexIdsOverlay_RenderTerrain($0) { $0 = $0|0; var $$034 = 0, $$1$lcssa = 0, $$133 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0.0; var $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 24608|0; $1 = sp; $2 = sp + 24604|0; $3 = sp + 24576|0; $4 = ((($0)) + 32|0); $5 = HEAP32[$4>>2]|0; $6 = ((($3)) + 12|0); HEAPF32[$6>>2] = 0.0; $7 = ((($3)) + 20|0); HEAPF32[$7>>2] = 0.99937498569488525; $8 = $5&65535; $9 = ((($3)) + 8|0); HEAP16[$9>>1] = $8; $10 = ((($3)) + 10|0); HEAP16[$10>>1] = $8; $11 = ((($0)) + 36|0); $12 = ((($0)) + 24|0); $13 = ((($3)) + 4|0); $14 = ((($0)) + 28|0); $15 = ((($3)) + 6|0); $16 = ((($3)) + 16|0); $17 = ((($3)) + 24|0); $18 = $1; $19 = ((($0)) + 20|0); $$034 = 0; while(1) { HEAP32[$2>>2] = $1; $20 = HEAP32[$11>>2]|0; $21 = (($20) + ($$034))|0; $22 = HEAP32[(1384652)>>2]|0; $23 = ($22)?($21 >> $22):($21); $24 = HEAP32[(1384644)>>2]|0; $25 = (($24) + ($$034))|0; $26 = ($25|0)<(256); $spec$select = $26 ? $25 : 256; $27 = ($$034|0)<($spec$select|0); if ($27) { $$133 = $$034; while(1) { $28 = HEAP32[$12>>2]|0; $29 = $$133 & 15; $30 = Math_imul($29, $5)|0; $31 = (($28) + ($30))|0; $32 = $31&65535; HEAP16[$13>>1] = $32; $33 = HEAP32[$14>>2]|0; $34 = (4)?($$133 >> 4):($$133); $35 = Math_imul($34, $5)|0; $36 = (($33) + ($35))|0; $37 = $36&65535; HEAP16[$15>>1] = $37; $38 = HEAP32[$11>>2]|0; $39 = (($38) + ($$133))|0; $40 = HEAP32[(1384648)>>2]|0; $41 = $39 & $40; $42 = (+($41|0)); $43 = +HEAPF32[(1384656)>>2]; $44 = $43 * $42; HEAPF32[$16>>2] = $44; $45 = $43 * 0.99937498569488525; $46 = $45 + $44; HEAPF32[$17>>2] = $46; _Gfx_Make2DQuad($3,-1,$2); $47 = (($$133) + 1)|0; $48 = ($47|0)<($spec$select|0); if ($48) { $$133 = $47; } else { $$1$lcssa = $spec$select; break; } } } else { $$1$lcssa = $$034; } $49 = (1384660 + ($23<<2)|0); $50 = HEAP32[$49>>2]|0; _Gfx_BindTexture($50); $51 = HEAP32[$2>>2]|0; $52 = (($51) - ($18))|0; $53 = (($52|0) / 24)&-1; $54 = HEAP32[$19>>2]|0; _Gfx_UpdateDynamicVb_IndexedTris($54,$1,$53); $55 = ($$1$lcssa|0)<(256); if ($55) { $$034 = $$1$lcssa; } else { break; } } STACKTOP = sp;return; } function _TexIdsOverlay_RenderTextOverlay($0) { $0 = $0|0; var $$03537 = 0, $$036 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, $exitcond = 0, $exitcond38 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 24592|0; $1 = sp; $2 = sp + 24576|0; HEAP32[$2>>2] = $1; $3 = ((($0)) + 32|0); $4 = HEAP32[$3>>2]|0; $5 = ((($0)) + 40|0); $6 = ((($0)) + 28|0); $7 = HEAP32[$6>>2]|0; $8 = ((($0)) + 50|0); $9 = HEAP16[$8>>1]|0; $10 = $9&65535; $11 = (($7) + ($4))|0; $12 = (($11) - ($10))|0; $13 = $12&65535; $14 = ((($0)) + 46|0); HEAP16[$14>>1] = $13; $15 = ((($0)) + 24|0); $16 = ((($0)) + 72|0); $17 = ((($0)) + 36|0); $18 = $1; $19 = ((($0)) + 20|0); $$03537 = 0; while(1) { $20 = $$03537 << 4; $$036 = 0; while(1) { $21 = HEAP32[$15>>2]|0; $22 = Math_imul($$036, $4)|0; $23 = (($22) + 3)|0; $24 = (($23) + ($21))|0; HEAP32[$16>>2] = $24; $25 = (($$036) + ($20))|0; $26 = HEAP32[$17>>2]|0; $27 = (($25) + ($26))|0; _TextAtlas_AddInt($5,$27,$2); $28 = (($$036) + 1)|0; $exitcond = ($28|0)==(16); if ($exitcond) { break; } else { $$036 = $28; } } $29 = HEAP16[$14>>1]|0; $30 = $29&65535; $31 = (($4) + ($30))|0; $32 = $31&65535; HEAP16[$14>>1] = $32; $33 = $$03537 & 3; $34 = ($33|0)==(3); if ($34) { $35 = HEAP32[$5>>2]|0; _Gfx_BindTexture($35); $36 = HEAP32[$2>>2]|0; $37 = (($36) - ($18))|0; $38 = (($37|0) / 24)&-1; $39 = HEAP32[$19>>2]|0; _Gfx_UpdateDynamicVb_IndexedTris($39,$1,$38); HEAP32[$2>>2] = $1; } $40 = (($$03537) + 1)|0; $exitcond38 = ($40|0)==(16); if ($exitcond38) { break; } else { $$03537 = $40; } } STACKTOP = sp;return; } function _UrlWarningOverlay_Show($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; HEAP8[(1277884)>>0] = 1; HEAP8[(1277886)>>0] = 1; HEAP32[319470] = 12536; HEAP32[(1277900)>>2] = (1278340); HEAP16[(1277904)>>1] = 0; HEAP16[(1277906)>>1] = 256; _String_Copy((1277900),$0); _Gui_Replace(1277880,40); return; } function _UrlWarningOverlay_Init($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 12|0); HEAP32[$1>>2] = 6336; $2 = ((($0)) + 16|0); HEAP32[$2>>2] = 6; $3 = ((($0)) + 188|0); _Overlay_MakeLabels($3); $4 = ((($0)) + 28|0); _Overlay_MakeMainButtons($4); $5 = ((($0)) + 60|0); HEAP32[$5>>2] = 103; $6 = ((($0)) + 140|0); HEAP32[$6>>2] = 104; return; } function _UrlWarningOverlay_BuildMesh($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 960|0; $1 = sp; _Screen_BuildMesh($0,$1); $2 = ((($0)) + 8|0); $3 = HEAP32[$2>>2]|0; _Gfx_SetDynamicVbData($3,$1,40); STACKTOP = sp;return; } function _UrlWarningOverlay_ContextRecreated($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $1 = sp + 12|0; $2 = sp; $3 = (_Gfx_CreateDynamicVb(1,40)|0); $4 = ((($0)) + 8|0); HEAP32[$4>>2] = $3; _Menu_MakeTitleFont($1); _Menu_MakeBodyFont($2); $5 = ((($0)) + 188|0); _TextWidget_SetConst($5,33782,$1); $6 = ((($0)) + 256|0); $7 = ((($0)) + 20|0); _TextWidget_Set($6,$7,$2); $8 = ((($0)) + 324|0); _TextWidget_SetConst($8,33825,$2); $9 = ((($0)) + 392|0); _TextWidget_SetConst($9,33880,$2); $10 = ((($0)) + 28|0); _ButtonWidget_SetConst($10,33935,$1); $11 = ((($0)) + 108|0); _ButtonWidget_SetConst($11,33939,$1); _Font_Free($1); _Font_Free($2); STACKTOP = sp;return; } function _Overlay_MakeLabels($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; _TextWidget_Make($0,1,1,0,-120); $1 = ((($0)) + 68|0); _TextWidget_Make($1,1,1,0,-50); $2 = ((($0)) + 132|0); HEAP32[$2>>2] = -2039584; $3 = ((($0)) + 136|0); _TextWidget_Make($3,1,1,0,-30); $4 = ((($0)) + 200|0); HEAP32[$4>>2] = -2039584; $5 = ((($0)) + 204|0); _TextWidget_Make($5,1,1,0,-10); $6 = ((($0)) + 268|0); HEAP32[$6>>2] = -2039584; return; } function _Overlay_MakeMainButtons($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; _ButtonWidget_Make($0,160,0,1,1,-110,30); $1 = ((($0)) + 80|0); _ButtonWidget_Make($1,160,0,1,1,110,30); return; } function _UrlWarningOverlay_OpenUrl($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 20|0); _Process_StartOpen($2); _Gui_Remove($0); return; } function _UrlWarningOverlay_AppendUrl($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP8[1408255]|0; $3 = ($2<<24>>24)==(0); if (!($3)) { $4 = ((($0)) + 20|0); _ChatScreen_AppendInput($4); } _Gui_Remove($0); return; } function _TexPackOverlay_Show($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; HEAP8[(1278600)>>0] = 1; HEAP8[(1278602)>>0] = 1; HEAP32[319649] = 12600; HEAP32[(1278632)>>2] = (1279244); HEAP16[(1278636)>>1] = 0; HEAP16[(1278638)>>1] = 68; _String_Format1((1278632),33942,$0); _String_UNSAFE_SubstringAt($1,(1278632),3); $2 = $1; $3 = $2; $4 = HEAP32[$3>>2]|0; $5 = (($2) + 4)|0; $6 = $5; $7 = HEAP32[$6>>2]|0; $8 = (1278624); $9 = $8; HEAP32[$9>>2] = $4; $10 = (($8) + 4)|0; $11 = $10; HEAP32[$11>>2] = $7; _Http_AsyncGetHeaders($0,1,(1278632)); _Gui_Replace(1278596,35); STACKTOP = sp;return; } function _TexPackOverlay_Init($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 12|0); HEAP32[$1>>2] = 6368; $2 = ((($0)) + 16|0); HEAP32[$2>>2] = 8; $3 = ((($0)) + 24|0); HEAP32[$3>>2] = 0; $4 = ((($0)) + 20|0); HEAP8[$4>>0] = 0; $5 = ((($0)) + 376|0); _Overlay_MakeLabels($5); $6 = ((($0)) + 56|0); _Overlay_MakeMainButtons($6); $7 = ((($0)) + 216|0); _ButtonWidget_Make($7,160,0,1,1,-110,85); $8 = ((($0)) + 296|0); _ButtonWidget_Make($8,160,0,1,1,110,85); return; } function _TexPackOverlay_Update($0,$1) { $0 = $0|0; $1 = +$1; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 432|0; $2 = sp; $3 = ((($0)) + 36|0); $4 = (_Http_GetResult($3,$2)|0); $5 = ($4<<24>>24)==(0); if ($5) { STACKTOP = sp;return; } $6 = ((($0)) + 7|0); HEAP8[$6>>0] = 1; $7 = ((($2)) + 276|0); $8 = HEAP32[$7>>2]|0; $9 = ((($0)) + 24|0); HEAP32[$9>>2] = $8; _TexPackOverlay_UpdateLine3($0); STACKTOP = sp;return; } function _TexPackOverlay_BuildMesh($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 1536|0; $1 = sp; _Screen_BuildMesh($0,$1); $2 = ((($0)) + 8|0); $3 = HEAP32[$2>>2]|0; _Gfx_SetDynamicVbData($3,$1,64); STACKTOP = sp;return; } function _TexPackOverlay_ContextLost($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 44|0); _Font_Free($1); _Screen_ContextLost($0); return; } function _TexPackOverlay_ContextRecreated($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = (_Gfx_CreateDynamicVb(1,64)|0); $3 = ((($0)) + 8|0); HEAP32[$3>>2] = $2; _Menu_MakeTitleFont($1); $4 = ((($0)) + 44|0); _Menu_MakeBodyFont($4); $5 = ((($0)) + 376|0); $6 = ((($0)) + 20|0); $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); $9 = $8 ? 33948 : 33999; _TextWidget_SetConst($5,$9,$1); $10 = ((($0)) + 444|0); $11 = HEAP8[$6>>0]|0; $12 = ($11<<24>>24)==(0); $13 = $12 ? 34027 : 34045; _TextWidget_SetConst($10,$13,$4); _TexPackOverlay_UpdateLine2($0); _TexPackOverlay_UpdateLine3($0); $14 = ((($0)) + 56|0); $15 = HEAP8[$6>>0]|0; $16 = ($15<<24>>24)==(0); $17 = $16 ? 33935 : 34111; _ButtonWidget_SetConst($14,$17,$1); $18 = ((($0)) + 136|0); $19 = HEAP8[$6>>0]|0; $20 = ($19<<24>>24)==(0); $21 = $20 ? 33939 : 34120; _ButtonWidget_SetConst($18,$21,$1); $22 = HEAP8[$6>>0]|0; $23 = ($22<<24>>24)==(0); $24 = $23 ? 106 : 105; $25 = ((($0)) + 88|0); HEAP32[$25>>2] = $24; $26 = $23 ? 108 : 107; $27 = ((($0)) + 168|0); HEAP32[$27>>2] = $26; if (!($23)) { $32 = HEAP8[$6>>0]|0; $33 = ($32<<24>>24)==(0); $34 = $33 ? 8 : 6; $35 = ((($0)) + 16|0); HEAP32[$35>>2] = $34; _Font_Free($1); STACKTOP = sp;return; } $28 = ((($0)) + 216|0); _ButtonWidget_SetConst($28,34128,$1); $29 = ((($0)) + 296|0); _ButtonWidget_SetConst($29,34139,$1); $30 = ((($0)) + 248|0); HEAP32[$30>>2] = 106; $31 = ((($0)) + 328|0); HEAP32[$31>>2] = 108; $32 = HEAP8[$6>>0]|0; $33 = ($32<<24>>24)==(0); $34 = $33 ? 8 : 6; $35 = ((($0)) + 16|0); HEAP32[$35>>2] = $34; _Font_Free($1); STACKTOP = sp;return; } function _TexPackOverlay_UpdateLine2($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $1 = sp + 16|0; $2 = sp + 8|0; $3 = sp; $4 = 1384616; $5 = $4; $6 = HEAP32[$5>>2]|0; $7 = (($4) + 4)|0; $8 = $7; $9 = HEAP32[$8>>2]|0; $10 = $1; $11 = $10; HEAP32[$11>>2] = $6; $12 = (($10) + 4)|0; $13 = $12; HEAP32[$13>>2] = $9; $14 = ((($0)) + 20|0); $15 = HEAP8[$14>>0]|0; $16 = ($15<<24>>24)==(0); if (!($16)) { $52 = ((($0)) + 512|0); $53 = ((($0)) + 44|0); _TextWidget_Set($52,$1,$53); STACKTOP = sp;return; } $17 = ((($0)) + 28|0); $18 = $17; $19 = $18; $20 = HEAP32[$19>>2]|0; $21 = (($18) + 4)|0; $22 = $21; $23 = HEAP32[$22>>2]|0; $24 = $1; $25 = $24; HEAP32[$25>>2] = $20; $26 = (($24) + 4)|0; $27 = $26; HEAP32[$27>>2] = $23; $28 = (_String_CaselessStarts($1,12664)|0); $29 = ($28|0)==(0); if (!($29)) { _String_UNSAFE_SubstringAt($2,$1,8); $30 = $2; $31 = $30; $32 = HEAP32[$31>>2]|0; $33 = (($30) + 4)|0; $34 = $33; $35 = HEAP32[$34>>2]|0; $36 = $1; $37 = $36; HEAP32[$37>>2] = $32; $38 = (($36) + 4)|0; $39 = $38; HEAP32[$39>>2] = $35; } $40 = (_String_CaselessStarts($1,12672)|0); $41 = ($40|0)==(0); if ($41) { $52 = ((($0)) + 512|0); $53 = ((($0)) + 44|0); _TextWidget_Set($52,$1,$53); STACKTOP = sp;return; } _String_UNSAFE_SubstringAt($3,$1,7); $42 = $3; $43 = $42; $44 = HEAP32[$43>>2]|0; $45 = (($42) + 4)|0; $46 = $45; $47 = HEAP32[$46>>2]|0; $48 = $1; $49 = $48; HEAP32[$49>>2] = $44; $50 = (($48) + 4)|0; $51 = $50; HEAP32[$51>>2] = $47; $52 = ((($0)) + 512|0); $53 = ((($0)) + 44|0); _TextWidget_Set($52,$1,$53); STACKTOP = sp;return; } function _TexPackOverlay_UpdateLine3($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $1 = sp + 72|0; $2 = sp; $3 = sp + 64|0; $4 = ((($0)) + 20|0); $5 = HEAP8[$4>>0]|0; $6 = ($5<<24>>24)==(0); if (!($6)) { $7 = ((($0)) + 580|0); $8 = ((($0)) + 44|0); _TextWidget_SetConst($7,34149,$8); STACKTOP = sp;return; } $9 = ((($0)) + 24|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)==(0); if ($11) { $18 = ((($0)) + 580|0); $19 = ((($0)) + 44|0); _TextWidget_SetConst($18,34221,$19); STACKTOP = sp;return; } else { HEAP32[$1>>2] = $2; $12 = ((($1)) + 4|0); HEAP16[$12>>1] = 0; $13 = ((($1)) + 6|0); HEAP16[$13>>1] = 64; $14 = (+($10>>>0)); $15 = $14 * 9.5367431640625E-7; HEAPF32[$3>>2] = $15; _String_Format1($1,34199,$3); $16 = ((($0)) + 580|0); $17 = ((($0)) + 44|0); _TextWidget_Set($16,$1,$17); STACKTOP = sp;return; } } function _TexPackOverlay_YesClick($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 28|0); _World_ApplyTexturePack($2); $3 = (_TexPackOverlay_IsAlways($0,$1)|0); $4 = ($3<<24>>24)==(0); if ($4) { _Gui_Remove($0); return; } _TextureCache_Accept($2); _Gui_Remove($0); return; } function _TexPackOverlay_ConfirmNoClick($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 21|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)==(0); if ($4) { _Gui_Remove($0); return; } $5 = ((($0)) + 28|0); _TextureCache_Deny($5); _Gui_Remove($0); return; } function _TexPackOverlay_NoClick($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (_TexPackOverlay_IsAlways($0,$1)|0); $3 = ((($0)) + 21|0); HEAP8[$3>>0] = $2; $4 = ((($0)) + 20|0); HEAP8[$4>>0] = 1; _Gui_Refresh($0); return; } function _TexPackOverlay_GoBackClick($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 20|0); HEAP8[$2>>0] = 0; _Gui_Refresh($0); return; } function _TexPackOverlay_IsAlways($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (_Menu_Index($0,$1)|0); $3 = ($2|0)>(5); $4 = $3&1; return ($4|0); } function _TouchMoreOverlay_Show() { var label = 0, sp = 0; sp = STACKTOP; HEAP8[(1279316)>>0] = 1; HEAP8[(1279318)>>0] = 1; HEAP32[319828] = 12680; _Gui_Replace(1279312,45); return; } function _TouchMoreOverlay_Init($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 12|0); HEAP32[$1>>2] = 390064; $2 = ((($0)) + 16|0); HEAP32[$2>>2] = 8; $3 = ((($0)) + 20|0); _Menu_Buttons($0,$3,300,6400,8); return; } function _TouchMoreOverlay_BuildMesh($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return; } function _TouchMoreOverlay_ContextRecreated($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; _Menu_MakeTitleFont($1); $2 = ((($0)) + 20|0); _Menu_SetButtons($2,$1,6400,8); _Font_Free($1); STACKTOP = sp;return; } function _TouchMore_Chat($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _TouchMore_Toggle(7); return; } function _TouchMore_Speed($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _TouchMore_Toggle(12); return; } function _TouchMore_Fly($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _TouchMore_Toggle(14); return; } function _TouchMore_Menu($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _Gui_Remove(1279312); _PauseScreen_Show(); return; } function _TouchMore_Inv($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _TouchMore_Toggle(8); return; } function _TouchMore_Screen($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _TouchMore_Toggle(20); return; } function _TouchMore_Noclip($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _TouchMore_Toggle(13); return; } function _TouchMore_Fog($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP8[(379737)>>0]|0; $3 = $2&255; _Input_SetPressed($3,1); $4 = HEAP8[(379737)>>0]|0; $5 = $4&255; _Input_SetPressed($5,0); return; } function _TouchMore_Toggle($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (379728 + ($0)|0); $2 = HEAP8[$1>>0]|0; $3 = $2&255; _Gui_Remove(1279312); $4 = (379584 + ($3)|0); $5 = HEAP8[$4>>0]|0; $6 = ($5<<24>>24)==(0); $7 = $6&1; _Input_SetPressed($3,$7); return; } function _Models_Init() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; HEAP32[(1280024)>>2] = 390096; HEAP32[(1280028)>>2] = 288; _Model_RegisterDefaultModels(); _Models_ContextRecreated(0); $0 = HEAP8[1408229]|0; $1 = (_Options_GetBool(34260,$0)|0); HEAP8[(1280014)>>0] = $1; _Event_Register((1250816),0,13); _Event_Register((1251856),0,331); _Event_Register((1252116),0,332); return; } function _Models_Free() { var $$0 = 0, $$04 = 0, $$05 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $$04 = HEAP32[320009]|0; $0 = ($$04|0)==(0|0); if (!($0)) { $$05 = $$04; while(1) { $1 = ((($$05)) + 8|0); _Gfx_DeleteTexture($1); $2 = ((($$05)) + 12|0); $$0 = HEAP32[$2>>2]|0; $3 = ($$0|0)==(0|0); if ($3) { break; } else { $$05 = $$0; } } } _Models_ContextLost(0); _Event_Unregister((1250816),0,13); _Event_Unregister((1251856),0,331); _Event_Unregister((1252116),0,332); return; } function _Models_ContextLost($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _Gfx_DeleteVb((1280020)); return; } function _Models_TextureChanged($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$0 = 0, $$010 = 0, $$09 = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $$09 = HEAP32[320009]|0; $3 = ($$09|0)==(0|0); if ($3) { return; } $$010 = $$09; while(1) { $4 = HEAP32[$$010>>2]|0; $5 = (_String_CaselessEqualsConst($2,$4)|0); $6 = ($5|0)==(0); if (!($6)) { break; } $9 = ((($$010)) + 12|0); $$0 = HEAP32[$9>>2]|0; $10 = ($$0|0)==(0|0); if ($10) { label = 6; break; } else { $$010 = $$0; } } if ((label|0) == 6) { return; } $7 = ((($$010)) + 8|0); $8 = ((($$010)) + 4|0); (_Game_UpdateTexture($7,$1,$2,$8)|0); return; } function _Models_ContextRecreated($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[(1280028)>>2]|0; $2 = (_Gfx_CreateDynamicVb(1,$1)|0); HEAP32[(1280020)>>2] = $2; return; } function _Model_RegisterDefaultModels() { var label = 0, sp = 0; sp = STACKTOP; _Model_RegisterTexture(12768); _Model_RegisterTexture(12784); _Model_RegisterTexture(12800); _Model_RegisterTexture(12816); _Model_RegisterTexture(12832); _Model_RegisterTexture(12848); _Model_RegisterTexture(12864); _Model_RegisterTexture(12880); _Model_RegisterTexture(12896); _HumanoidModel_GetInstance(); _Model_Register(12912); _Model_Make(12912); HEAP32[(1280032)>>2] = 12912; _ChickenModel_GetInstance(); _Model_Register(13012); _CreeperModel_GetInstance(); _Model_Register(13112); _PigModel_GetInstance(); _Model_Register(13212); _SheepModel_GetInstance(); _Model_Register(13312); _NoFurModel_GetInstance(); _Model_Register(13412); _SkeletonModel_GetInstance(); _Model_Register(13512); _SpiderModel_GetInstance(); _Model_Register(13612); _ZombieModel_GetInstance(); _Model_Register(13712); _BlockModel_GetInstance(); _Model_Register(13812); _ChibiModel_GetInstance(); _Model_Register(13912); _HeadModel_GetInstance(); _Model_Register(14012); _SittingModel_GetInstance(); _Model_Register(14112); _CorpseModel_GetInstance(); _Model_Register(1280040); return; } function _Model_RegisterTexture($0) { $0 = $0|0; var $$sink = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[320009]|0; $2 = ($1|0)==(0|0); $3 = HEAP32[320435]|0; $4 = ((($3)) + 12|0); $$sink = $2 ? 1280036 : $4; HEAP32[$$sink>>2] = $0; HEAP32[320435] = $0; $5 = ((($0)) + 12|0); HEAP32[$5>>2] = 0; return; } function _HumanoidModel_GetInstance() { var label = 0, sp = 0; sp = STACKTOP; _Model_Init(12912); HEAP32[(12992)>>2] = 333; HEAP8[(12957)>>0] = 1; HEAP8[(12958)>>0] = 1; return; } function _Model_Register($0) { $0 = $0|0; var $$sink = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[320433]|0; $2 = ($1|0)==(0|0); $3 = HEAP32[320434]|0; $4 = ((($3)) + 96|0); $$sink = $2 ? 1281732 : $4; HEAP32[$$sink>>2] = $0; HEAP32[320434] = $0; $5 = ((($0)) + 96|0); HEAP32[$5>>2] = 0; return; } function _Model_Make($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[(1280016)>>2]|0; HEAP32[(1280016)>>2] = $0; $2 = ((($0)) + 12|0); $3 = HEAP32[$2>>2]|0; FUNCTION_TABLE_v[$3 & 127](); $4 = ((($0)) + 42|0); HEAP8[$4>>0] = 1; $5 = ((($0)) + 36|0); HEAP32[$5>>2] = 0; HEAP32[(1280016)>>2] = $1; return; } function _ChickenModel_GetInstance() { var label = 0, sp = 0; sp = STACKTOP; _Model_Init(13012); return; } function _CreeperModel_GetInstance() { var label = 0, sp = 0; sp = STACKTOP; _Model_Init(13112); return; } function _PigModel_GetInstance() { var label = 0, sp = 0; sp = STACKTOP; _Model_Init(13212); return; } function _SheepModel_GetInstance() { var label = 0, sp = 0; sp = STACKTOP; _Model_Init(13312); return; } function _NoFurModel_GetInstance() { var label = 0, sp = 0; sp = STACKTOP; _Model_Init(13412); return; } function _SkeletonModel_GetInstance() { var label = 0, sp = 0; sp = STACKTOP; _Model_Init(13512); HEAP32[(13592)>>2] = 334; HEAP8[(13552)>>0] = 5; return; } function _SpiderModel_GetInstance() { var label = 0, sp = 0; sp = STACKTOP; _Model_Init(13612); return; } function _ZombieModel_GetInstance() { var label = 0, sp = 0; sp = STACKTOP; _Model_Init(13712); HEAP32[(13792)>>2] = 335; return; } function _BlockModel_GetInstance() { var label = 0, sp = 0; sp = STACKTOP; _Model_Init(13812); HEAP8[(13855)>>0] = 0; HEAP8[(13856)>>0] = 0; HEAP8[(13859)>>0] = 0; return; } function _ChibiModel_GetInstance() { var label = 0, sp = 0; sp = STACKTOP; _Model_Init(13912); HEAP32[(13992)>>2] = 336; HEAP8[(13952)>>0] = 3; HEAP8[(13953)>>0] = 6; HEAP8[(13957)>>0] = 1; HEAP8[(13958)>>0] = 1; HEAPF32[(13996)>>2] = 3.0; HEAPF32[(14000)>>2] = 0.5; return; } function _HeadModel_GetInstance() { var label = 0, sp = 0; sp = STACKTOP; _Model_Init(14012); HEAP8[(14058)>>0] = 1; HEAP8[(14059)>>0] = 0; HEAP32[(14088)>>2] = 14; return; } function _SittingModel_GetInstance() { var label = 0, sp = 0; sp = STACKTOP; _Model_Init(14112); HEAP32[(14192)>>2] = 333; HEAP8[(14157)>>0] = 1; HEAP8[(14158)>>0] = 1; HEAPF32[(14200)>>2] = 0.5; HEAP32[(14188)>>2] = 15; return; } function _CorpseModel_GetInstance() { var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; dest=1280040; src=12912; stop=dest+100|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); HEAP32[320010] = 34281; HEAP32[(1280052)>>2] = 53; HEAP32[(1280056)>>2] = 337; return; } function _Model_NoParts() { var label = 0, sp = 0; sp = STACKTOP; return; } function _CorpseModel_Draw($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 240|0); HEAPF32[$1>>2] = 0.02500000037252903; $2 = ((($0)) + 248|0); HEAPF32[$2>>2] = 0.02500000037252903; $3 = ((($0)) + 256|0); HEAPF32[$3>>2] = 0.02500000037252903; $4 = ((($0)) + 264|0); HEAPF32[$4>>2] = 0.02500000037252903; $5 = ((($0)) + 244|0); HEAPF32[$5>>2] = -0.15000000596046448; $6 = ((($0)) + 252|0); HEAPF32[$6>>2] = 0.15000000596046448; $7 = ((($0)) + 260|0); HEAPF32[$7>>2] = -0.20000000298023224; $8 = ((($0)) + 268|0); HEAPF32[$8>>2] = 0.20000000298023224; _HumanModel_Draw($0); return; } function _HumanModel_Draw($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _HumanModel_DrawCore($0,1280140,1); return; } function _HumanModel_DrawCore($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0, $29 = 0.0; var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; _Model_ApplyTexture($0); $3 = ($2<<24>>24)!=(0); if ($3) { _Gfx_SetAlphaTest(0); } $4 = HEAP8[(1280013)>>0]|0; $5 = $4 & 3; $6 = $5&255; $7 = ((($0)) + 16|0); $8 = +HEAPF32[$7>>2]; $9 = $8 * -0.01745329238474369; _Model_DrawRotate($9,0.0,0.0,$1,1); $10 = ((($1)) + 16|0); _Model_DrawPart($10); $11 = ((($0)) + 240|0); $12 = +HEAPF32[$11>>2]; $13 = ((($0)) + 244|0); $14 = +HEAPF32[$13>>2]; $15 = (((($1)) + 64|0) + ($6<<7)|0); _Model_DrawRotate($12,0.0,$14,$15,0); $16 = ((($0)) + 248|0); $17 = +HEAPF32[$16>>2]; $18 = ((($0)) + 252|0); $19 = +HEAPF32[$18>>2]; $20 = (((((($1)) + 64|0) + ($6<<7)|0)) + 16|0); _Model_DrawRotate($17,0.0,$19,$20,0); HEAP8[(1280012)>>0] = 1; $21 = ((($0)) + 256|0); $22 = +HEAPF32[$21>>2]; $23 = ((($0)) + 260|0); $24 = +HEAPF32[$23>>2]; $25 = (((((($1)) + 64|0) + ($6<<7)|0)) + 32|0); _Model_DrawRotate($22,0.0,$24,$25,0); $26 = ((($0)) + 264|0); $27 = +HEAPF32[$26>>2]; $28 = ((($0)) + 268|0); $29 = +HEAPF32[$28>>2]; $30 = (((((($1)) + 64|0) + ($6<<7)|0)) + 48|0); _Model_DrawRotate($27,0.0,$29,$30,0); HEAP8[(1280012)>>0] = 0; if ($3) { _Model_UpdateVB(); _Gfx_SetAlphaTest(1); } $31 = ($4<<24>>24)==(0); if ($31) { $45 = +HEAPF32[$7>>2]; $46 = $45 * -0.01745329238474369; $47 = ((($1)) + 32|0); _Model_DrawRotate($46,0.0,0.0,$47,1); _Model_UpdateVB(); return; } $32 = ((($1)) + 48|0); _Model_DrawPart($32); $33 = +HEAPF32[$11>>2]; $34 = +HEAPF32[$13>>2]; $35 = (((((($1)) + 64|0) + ($6<<7)|0)) + 64|0); _Model_DrawRotate($33,0.0,$34,$35,0); $36 = +HEAPF32[$16>>2]; $37 = +HEAPF32[$18>>2]; $38 = (((((($1)) + 64|0) + ($6<<7)|0)) + 80|0); _Model_DrawRotate($36,0.0,$37,$38,0); HEAP8[(1280012)>>0] = 1; $39 = +HEAPF32[$21>>2]; $40 = +HEAPF32[$23>>2]; $41 = (((((($1)) + 64|0) + ($6<<7)|0)) + 96|0); _Model_DrawRotate($39,0.0,$40,$41,0); $42 = +HEAPF32[$26>>2]; $43 = +HEAPF32[$28>>2]; $44 = (((((($1)) + 64|0) + ($6<<7)|0)) + 112|0); _Model_DrawRotate($42,0.0,$43,$44,0); HEAP8[(1280012)>>0] = 0; $45 = +HEAPF32[$7>>2]; $46 = $45 * -0.01745329238474369; $47 = ((($1)) + 32|0); _Model_DrawRotate($46,0.0,0.0,$47,1); _Model_UpdateVB(); return; } function _Model_ApplyTexture($0) { $0 = $0|0; var $$0 = 0, $$in = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $3 = 0, $4 = 0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $storemerge = 0, $storemerge$in = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[(1280016)>>2]|0; $2 = ((($1)) + 46|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)==(0); $5 = ((($0)) + 112|0); $6 = ((($0)) + 116|0); $$in = $4 ? $6 : $5; $7 = HEAP32[$$in>>2]|0; $8 = ($7|0)==(0); if ($8) { $10 = ((($1)) + 8|0); $11 = HEAP32[$10>>2]|0; $12 = ((($11)) + 8|0); $13 = HEAP32[$12>>2]|0; $14 = ((($11)) + 4|0); $$0 = $13;$storemerge$in = $14; } else { $9 = ((($0)) + 108|0); $$0 = $7;$storemerge$in = $9; } $storemerge = HEAP8[$storemerge$in>>0]|0; HEAP8[(1280013)>>0] = $storemerge; _Gfx_BindTexture($$0); $15 = HEAP8[(1280013)>>0]|0; $16 = ($15<<24>>24)==(0); $17 = ((($0)) + 120|0); $18 = +HEAPF32[$17>>2]; $19 = $18 * 0.015625; HEAPF32[(1279996)>>2] = $19; $20 = ((($0)) + 124|0); $21 = +HEAPF32[$20>>2]; $22 = $16 ? 0.03125 : 0.015625; $23 = $22 * $21; HEAPF32[(1280000)>>2] = $23; return; } function _Model_DrawRotate($0,$1,$2,$3,$4) { $0 = +$0; $1 = +$1; $2 = +$2; $3 = $3|0; $4 = $4|0; var $$0163166 = 0, $$0164165 = 0, $$0167 = 0, $$sroa$0$0 = 0.0, $$sroa$0$0$copyload = 0.0, $$sroa$0$1 = 0.0, $$sroa$27$0 = 0.0, $$sroa$27$0$$sroa_idx25 = 0, $$sroa$27$0$copyload = 0.0, $$sroa$48$0 = 0.0, $$sroa$48$0$$sroa_idx40 = 0, $$sroa$48$0$copyload = 0.0, $$sroa$48$1 = 0.0, $$sroa$72$0$$sroa_idx57 = 0, $$sroa$72$0$copyload = 0, $$sroa$74$0$$sroa_idx60 = 0, $$sroa$74$0$copyload = 0, $10 = 0, $100 = 0.0, $101 = 0.0; var $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.0; var $120 = 0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0, $136 = 0.0, $137 = 0.0, $138 = 0.0; var $139 = 0.0, $14 = 0.0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0; var $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0.0; var $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0; var $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0; var $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $exitcond = 0, label = 0; var sp = 0; sp = STACKTOP; $5 = HEAP32[(1280016)>>2]|0; $6 = ((($5)) + 4|0); $7 = HEAP32[$6>>2]|0; $8 = HEAP16[$3>>1]|0; $9 = HEAP32[(1280024)>>2]|0; $10 = ((($5)) + 36|0); $11 = HEAP32[$10>>2]|0; $12 = - $0; $13 = $12; $14 = (+_Math_Cos($13)); $15 = $14; $16 = (+_Math_Sin($13)); $17 = $16; $18 = - $1; $19 = $18; $20 = (+_Math_Cos($19)); $21 = $20; $22 = (+_Math_Sin($19)); $23 = $22; $24 = - $2; $25 = $24; $26 = (+_Math_Cos($25)); $27 = $26; $28 = (+_Math_Sin($25)); $29 = $28; $30 = ((($3)) + 4|0); $31 = +HEAPF32[$30>>2]; $32 = ((($3)) + 8|0); $33 = +HEAPF32[$32>>2]; $34 = ((($3)) + 12|0); $35 = +HEAPF32[$34>>2]; $36 = ((($3)) + 2|0); $37 = HEAP16[$36>>1]|0; $38 = $37&65535; $39 = ($37<<16>>16)==(0); if ($39) { $144 = HEAP32[$10>>2]|0; $145 = (($144) + ($38))|0; HEAP32[$10>>2] = $145; return; } $40 = (($9) + (($11*24)|0)|0); $41 = $8&65535; $42 = (($7) + ($41<<4)|0); $43 = ($4<<24>>24)==(0); $$0163166 = 0;$$0164165 = $40;$$0167 = $42; while(1) { $$sroa$0$0$copyload = +HEAPF32[$$0167>>2]; $$sroa$27$0$$sroa_idx25 = ((($$0167)) + 4|0); $$sroa$27$0$copyload = +HEAPF32[$$sroa$27$0$$sroa_idx25>>2]; $$sroa$48$0$$sroa_idx40 = ((($$0167)) + 8|0); $$sroa$48$0$copyload = +HEAPF32[$$sroa$48$0$$sroa_idx40>>2]; $$sroa$72$0$$sroa_idx57 = ((($$0167)) + 12|0); $$sroa$72$0$copyload = HEAP16[$$sroa$72$0$$sroa_idx57>>1]|0; $$sroa$74$0$$sroa_idx60 = ((($$0167)) + 14|0); $$sroa$74$0$copyload = HEAP16[$$sroa$74$0$$sroa_idx60>>1]|0; $44 = $$sroa$0$0$copyload - $31; $45 = $$sroa$27$0$copyload - $33; $46 = $$sroa$48$0$copyload - $35; $47 = HEAP8[(1280012)>>0]|0; switch ($47<<24>>24) { case 0: { $48 = $44 * $27; $49 = $45 * $29; $50 = $48 + $49; $51 = $44 * $29; $52 = $45 * $27; $53 = $52 - $51; $54 = $50 * $21; $55 = $46 * $23; $56 = $54 - $55; $57 = $50 * $23; $58 = $46 * $21; $59 = $58 + $57; $60 = $53 * $15; $61 = $59 * $17; $62 = $60 + $61; $63 = $53 * $17; $64 = $59 * $15; $65 = $64 - $63; $$sroa$0$0 = $56;$$sroa$27$0 = $62;$$sroa$48$0 = $65; break; } case 1: { $66 = $45 * $15; $67 = $46 * $17; $68 = $66 + $67; $69 = $45 * $17; $70 = $46 * $15; $71 = $70 - $69; $72 = $44 * $27; $73 = $68 * $29; $74 = $72 + $73; $75 = $44 * $29; $76 = $68 * $27; $77 = $76 - $75; $78 = $74 * $21; $79 = $71 * $23; $80 = $78 - $79; $81 = $74 * $23; $82 = $71 * $21; $83 = $82 + $81; $$sroa$0$0 = $80;$$sroa$27$0 = $77;$$sroa$48$0 = $83; break; } case 2: { $84 = $44 * $21; $85 = $46 * $23; $86 = $84 - $85; $87 = $44 * $23; $88 = $46 * $21; $89 = $87 + $88; $90 = $86 * $27; $91 = $45 * $29; $92 = $91 + $90; $93 = $86 * $29; $94 = $45 * $27; $95 = $94 - $93; $96 = $95 * $15; $97 = $89 * $17; $98 = $97 + $96; $99 = $95 * $17; $100 = $89 * $15; $101 = $100 - $99; $$sroa$0$0 = $92;$$sroa$27$0 = $98;$$sroa$48$0 = $101; break; } default: { $$sroa$0$0 = $44;$$sroa$27$0 = $45;$$sroa$48$0 = $46; } } if ($43) { $$sroa$0$1 = $$sroa$0$0;$$sroa$48$1 = $$sroa$48$0; } else { $102 = +HEAPF32[(1280004)>>2]; $103 = $$sroa$0$0 * $102; $104 = +HEAPF32[(1280008)>>2]; $105 = $$sroa$48$0 * $104; $106 = $103 - $105; $107 = $$sroa$0$0 * $104; $108 = $$sroa$48$0 * $102; $109 = $108 + $107; $$sroa$0$1 = $106;$$sroa$48$1 = $109; } $110 = $31 + $$sroa$0$1; HEAPF32[$$0164165>>2] = $110; $111 = $33 + $$sroa$27$0; $112 = ((($$0164165)) + 4|0); HEAPF32[$112>>2] = $111; $113 = $35 + $$sroa$48$1; $114 = ((($$0164165)) + 8|0); HEAPF32[$114>>2] = $113; $115 = (2)?($$0163166 >>> 2):($$0163166); $116 = (1279972 + ($115<<2)|0); $117 = HEAP32[$116>>2]|0; $118 = ((($$0164165)) + 12|0); HEAP32[$118>>2] = $117; $119 = $$sroa$72$0$copyload&65535; $120 = $119 & 32767; $121 = (+($120|0)); $122 = +HEAPF32[(1279996)>>2]; $123 = $122 * $121; $124 = (15)?($119 >>> 15):($119); $125 = (+($124|0)); $126 = $125 * 0.0099999997764825821; $127 = $126 * $122; $128 = $123 - $127; $129 = ((($$0164165)) + 16|0); HEAPF32[$129>>2] = $128; $130 = $$sroa$74$0$copyload&65535; $131 = $130 & 32767; $132 = (+($131|0)); $133 = +HEAPF32[(1280000)>>2]; $134 = $133 * $132; $135 = (15)?($130 >>> 15):($130); $136 = (+($135|0)); $137 = $136 * 0.0099999997764825821; $138 = $137 * $133; $139 = $134 - $138; $140 = ((($$0164165)) + 20|0); HEAPF32[$140>>2] = $139; $141 = ((($$0167)) + 16|0); $142 = ((($$0164165)) + 24|0); $143 = (($$0163166) + 1)|0; $exitcond = ($143|0)==($38|0); if ($exitcond) { break; } else { $$0163166 = $143;$$0164165 = $142;$$0167 = $141; } } $144 = HEAP32[$10>>2]|0; $145 = (($144) + ($38))|0; HEAP32[$10>>2] = $145; return; } function _Model_DrawPart($0) { $0 = $0|0; var $$03844 = 0, $$03943 = 0, $$045 = 0, $$sroa$0$0$copyload40 = 0, $$sroa$4$0$$sroa_idx9 = 0, $$sroa$4$0$copyload41 = 0, $$sroa$5$0$$sroa_idx11 = 0, $$sroa$5$0$copyload42 = 0, $$sroa$6$0$$sroa_idx13 = 0, $$sroa$6$0$copyload = 0, $$sroa$8$0$$sroa_idx16 = 0, $$sroa$8$0$copyload = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0; var $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0; var sp = 0; sp = STACKTOP; $1 = HEAP32[(1280016)>>2]|0; $2 = ((($1)) + 36|0); $3 = HEAP32[$2>>2]|0; $4 = ((($0)) + 2|0); $5 = HEAP16[$4>>1]|0; $6 = $5&65535; $7 = ($5<<16>>16)==(0); if ($7) { $46 = (($3) + ($6))|0; HEAP32[$2>>2] = $46; return; } $8 = HEAP32[(1280024)>>2]|0; $9 = (($8) + (($3*24)|0)|0); $10 = ((($1)) + 4|0); $11 = HEAP32[$10>>2]|0; $12 = HEAP16[$0>>1]|0; $13 = $12&65535; $14 = (($11) + ($13<<4)|0); $$03844 = 0;$$03943 = $9;$$045 = $14; while(1) { $$sroa$0$0$copyload40 = HEAP32[$$045>>2]|0; $$sroa$4$0$$sroa_idx9 = ((($$045)) + 4|0); $$sroa$4$0$copyload41 = HEAP32[$$sroa$4$0$$sroa_idx9>>2]|0; $$sroa$5$0$$sroa_idx11 = ((($$045)) + 8|0); $$sroa$5$0$copyload42 = HEAP32[$$sroa$5$0$$sroa_idx11>>2]|0; $$sroa$6$0$$sroa_idx13 = ((($$045)) + 12|0); $$sroa$6$0$copyload = HEAP16[$$sroa$6$0$$sroa_idx13>>1]|0; $$sroa$8$0$$sroa_idx16 = ((($$045)) + 14|0); $$sroa$8$0$copyload = HEAP16[$$sroa$8$0$$sroa_idx16>>1]|0; HEAP32[$$03943>>2] = $$sroa$0$0$copyload40; $15 = ((($$03943)) + 4|0); HEAP32[$15>>2] = $$sroa$4$0$copyload41; $16 = ((($$03943)) + 8|0); HEAP32[$16>>2] = $$sroa$5$0$copyload42; $17 = (2)?($$03844 >>> 2):($$03844); $18 = (1279972 + ($17<<2)|0); $19 = HEAP32[$18>>2]|0; $20 = ((($$03943)) + 12|0); HEAP32[$20>>2] = $19; $21 = $$sroa$6$0$copyload&65535; $22 = $21 & 32767; $23 = (+($22|0)); $24 = +HEAPF32[(1279996)>>2]; $25 = $24 * $23; $26 = (15)?($21 >>> 15):($21); $27 = (+($26|0)); $28 = $27 * 0.0099999997764825821; $29 = $28 * $24; $30 = $25 - $29; $31 = ((($$03943)) + 16|0); HEAPF32[$31>>2] = $30; $32 = $$sroa$8$0$copyload&65535; $33 = $32 & 32767; $34 = (+($33|0)); $35 = +HEAPF32[(1280000)>>2]; $36 = $35 * $34; $37 = (15)?($32 >>> 15):($32); $38 = (+($37|0)); $39 = $38 * 0.0099999997764825821; $40 = $39 * $35; $41 = $36 - $40; $42 = ((($$03943)) + 20|0); HEAPF32[$42>>2] = $41; $43 = ((($$045)) + 16|0); $44 = ((($$03943)) + 24|0); $45 = (($$03844) + 1)|0; $exitcond = ($45|0)==($6|0); if ($exitcond) { break; } else { $$03844 = $45;$$03943 = $44;$$045 = $43; } } $46 = (($3) + ($6))|0; HEAP32[$2>>2] = $46; return; } function _Model_UpdateVB() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[(1280016)>>2]|0; $1 = HEAP32[(1280020)>>2]|0; $2 = HEAP32[(1280024)>>2]|0; $3 = ((($0)) + 36|0); $4 = HEAP32[$3>>2]|0; _Gfx_UpdateDynamicVb_IndexedTris($1,$2,$4); HEAP32[$3>>2] = 0; return; } function _SittingModel_Draw($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 240|0); HEAPF32[$1>>2] = 1.5; $2 = ((($0)) + 248|0); HEAPF32[$2>>2] = 1.5; $3 = ((($0)) + 244|0); HEAPF32[$3>>2] = -0.10000000149011612; $4 = ((($0)) + 252|0); HEAPF32[$4>>2] = 0.10000000149011612; _HumanModel_Draw($0); return; } function _HumanModel_GetNameY($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return +2.03125; } function _SittingModel_GetEyeY($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return +1; } function _SittingModel_GetSize($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 92|0); ;HEAP32[$1>>2]=HEAP32[14236>>2]|0;HEAP32[$1+4>>2]=HEAP32[14236+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[14236+8>>2]|0; return; } function _SittingModel_GetBounds($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 56|0); ;HEAP32[$1>>2]=HEAP32[14212>>2]|0;HEAP32[$1+4>>2]=HEAP32[14212+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[14212+8>>2]|0;HEAP32[$1+12>>2]=HEAP32[14212+12>>2]|0;HEAP32[$1+16>>2]=HEAP32[14212+16>>2]|0;HEAP32[$1+20>>2]=HEAP32[14212+20>>2]|0; return; } function _Model_Init($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; $1 = ((($0)) + 43|0); HEAP8[$1>>0] = 1; $2 = ((($0)) + 44|0); HEAP8[$2>>0] = 1; $3 = ((($0)) + 45|0); HEAP8[$3>>0] = 0; $4 = ((($0)) + 46|0); HEAP8[$4>>0] = 0; $5 = ((($0)) + 47|0); HEAP8[$5>>0] = 1; $6 = ((($0)) + 48|0); HEAPF32[$6>>2] = 0.079999998211860657; $7 = ((($0)) + 52|0); HEAPF32[$7>>2] = 0.9100000262260437; $8 = ((($0)) + 56|0); HEAPF32[$8>>2] = 0.98000001907348633; $9 = ((($0)) + 60|0); HEAPF32[$9>>2] = 0.9100000262260437; $10 = ((($0)) + 64|0); HEAPF32[$10>>2] = 0.60000002384185791; $11 = ((($0)) + 68|0); HEAPF32[$11>>2] = 1.0; $12 = ((($0)) + 72|0); HEAPF32[$12>>2] = 0.60000002384185791; $13 = ((($0)) + 84|0); HEAPF32[$13>>2] = 2.0; $14 = ((($0)) + 88|0); HEAPF32[$14>>2] = 1.0; $15 = ((($0)) + 92|0); HEAPF32[$15>>2] = 1.0; $16 = ((($0)) + 40|0); HEAP8[$16>>0] = 6; $17 = ((($0)) + 41|0); HEAP8[$17>>0] = 12; $18 = ((($0)) + 76|0); HEAP32[$18>>2] = 16; $19 = ((($0)) + 80|0); HEAP32[$19>>2] = 338; return; } function _HumanModel_DrawArm($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _HumanModel_DrawArmCore(1280140); return; } function _SittingModel_GetTransform($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $$byval_copy1 = sp + 12|0; $$byval_copy = sp; $3 = ((($0)) + 80|0); $4 = ((($0)) + 84|0); $5 = +HEAPF32[$4>>2]; $6 = $5 * 0.625; $7 = ((($1)) + 4|0); $8 = +HEAPF32[$7>>2]; $9 = $8 - $6; HEAPF32[$7>>2] = $9; ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0; _Entity_GetTransform($0,$$byval_copy,$$byval_copy1,$2); STACKTOP = sp;return; } function _HumanModel_DrawArmCore($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[(1280013)>>0]|0; $2 = $1 & 3; $3 = $2&255; $4 = (((((($0)) + 64|0) + ($3<<7)|0)) + 48|0); _Model_DrawArmPart($4); $5 = ($1<<24>>24)==(0); if ($5) { _Model_UpdateVB(); return; } $6 = (((((($0)) + 64|0) + ($3<<7)|0)) + 112|0); _Model_DrawArmPart($6); _Model_UpdateVB(); return; } function _Model_DrawArmPart($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = HEAP32[(1280016)>>2]|0; ;HEAP32[$1>>2]=HEAP32[$0>>2]|0;HEAP32[$1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$1+12>>2]=HEAP32[$0+12>>2]|0; $3 = ((($2)) + 40|0); $4 = HEAP8[$3>>0]|0; $5 = (+($4&255)); $6 = $5 * 0.0625; $7 = ((($1)) + 4|0); HEAPF32[$7>>2] = $6; $8 = ((($2)) + 41|0); $9 = HEAP8[$8>>0]|0; $10 = $9&255; $11 = (1)?($10 >>> 1):($10); $12 = (($11) + ($10))|0; $13 = (+($12|0)); $14 = $13 * 0.0625; $15 = ((($1)) + 8|0); HEAPF32[$15>>2] = $14; $16 = HEAP8[(1280014)>>0]|0; $17 = ($16<<24>>24)==(0); if ($17) { _Model_DrawRotate(-0.34906584024429321,-1.2217304706573486,2.3561944961547852,$1,0); STACKTOP = sp;return; } else { _Model_DrawRotate(0.0,-1.5707963705062866,2.0943951606750488,$1,0); STACKTOP = sp;return; } } function _Model_GetTransform($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $$byval_copy1 = sp + 12|0; $$byval_copy = sp; $3 = ((($0)) + 80|0); ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0; _Entity_GetTransform($0,$$byval_copy,$$byval_copy1,$2); STACKTOP = sp;return; } function _Model_NullFunc($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return; } function _HeadModel_Draw($0) { $0 = $0|0; var $1 = 0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; _Model_ApplyTexture($0); ;HEAP32[$1>>2]=HEAP32[1280140>>2]|0;HEAP32[$1+4>>2]=HEAP32[1280140+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[1280140+8>>2]|0;HEAP32[$1+12>>2]=HEAP32[1280140+12>>2]|0; $2 = ((($1)) + 8|0); $3 = +HEAPF32[$2>>2]; $4 = $3 + 0.25; HEAPF32[$2>>2] = $4; $5 = ((($0)) + 16|0); $6 = +HEAPF32[$5>>2]; $7 = $6 * -0.01745329238474369; _Model_DrawRotate($7,0.0,0.0,$1,1); ;HEAP32[$1>>2]=HEAP32[(1280172)>>2]|0;HEAP32[$1+4>>2]=HEAP32[(1280172)+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[(1280172)+8>>2]|0;HEAP32[$1+12>>2]=HEAP32[(1280172)+12>>2]|0; $8 = +HEAPF32[$2>>2]; $9 = $8 + 0.25; HEAPF32[$2>>2] = $9; $10 = +HEAPF32[$5>>2]; $11 = $10 * -0.01745329238474369; _Model_DrawRotate($11,0.0,0.0,$1,1); _Model_UpdateVB(); STACKTOP = sp;return; } function _HeadModel_GetEyeY($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return +0.375; } function _HeadModel_GetSize($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 92|0); ;HEAP32[$1>>2]=HEAP32[14272>>2]|0;HEAP32[$1+4>>2]=HEAP32[14272+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[14272+8>>2]|0; return; } function _HeadModel_GetBounds($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 56|0); ;HEAP32[$1>>2]=HEAP32[14248>>2]|0;HEAP32[$1+4>>2]=HEAP32[14248+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[14248+8>>2]|0;HEAP32[$1+12>>2]=HEAP32[14248+12>>2]|0;HEAP32[$1+16>>2]=HEAP32[14248+16>>2]|0;HEAP32[$1+20>>2]=HEAP32[14248+20>>2]|0; return; } function _HeadModel_GetTransform($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $$byval_copy1 = sp + 12|0; $$byval_copy = sp; $3 = ((($0)) + 80|0); $4 = ((($0)) + 84|0); $5 = +HEAPF32[$4>>2]; $6 = $5 * 1.5; $7 = ((($1)) + 4|0); $8 = +HEAPF32[$7>>2]; $9 = $8 - $6; HEAPF32[$7>>2] = $9; ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0; _Entity_GetTransform($0,$$byval_copy,$$byval_copy1,$2); STACKTOP = sp;return; } function _ChibiModel_MakeParts() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; _ChibiModel_ScalePart((1280604),(1280156)); _ChibiModel_ScalePart((1280636),(1280188)); _ChibiModel_ScaleLimbs((1280652),(1280204)); _ChibiModel_ScaleLimbs((1280780),(1280332)); _ChibiModel_ScaleLimbs((1280908),(1280460)); $0 = HEAP16[640070]|0; $1 = $0&65535; $2 = HEAP32[(1280016)>>2]|0; $3 = ((($2)) + 36|0); HEAP32[$3>>2] = $1; _BoxDesc_BuildBox(1280588,14320); $4 = HEAP16[(1280172)>>1]|0; $5 = $4&65535; $6 = HEAP32[(1280016)>>2]|0; $7 = ((($6)) + 36|0); HEAP32[$7>>2] = $5; _BoxDesc_BuildBox((1280620),14364); return; } function _ChibiModel_Draw($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _HumanModel_DrawCore($0,1280588,1); return; } function _ChibiModel_GetNameY($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return +1.2625000476837158; } function _ChibiModel_GetEyeY($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return +0.875; } function _ChibiModel_GetSize($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 92|0); ;HEAP32[$1>>2]=HEAP32[14308>>2]|0;HEAP32[$1+4>>2]=HEAP32[14308+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[14308+8>>2]|0; return; } function _ChibiModel_GetBounds($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 56|0); ;HEAP32[$1>>2]=HEAP32[14284>>2]|0;HEAP32[$1+4>>2]=HEAP32[14284+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[14284+8>>2]|0;HEAP32[$1+12>>2]=HEAP32[14284+12>>2]|0;HEAP32[$1+16>>2]=HEAP32[14284+16>>2]|0;HEAP32[$1+20>>2]=HEAP32[14284+20>>2]|0; return; } function _ChibiModel_ScalePart($0,$1) { $0 = $0|0; $1 = $1|0; var $$021 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0; var $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0, $41 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0; var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[(1280016)>>2]|0; ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$1+12>>2]|0; $3 = ((($0)) + 4|0); $4 = +HEAPF32[$3>>2]; $5 = $4 * 0.5; HEAPF32[$3>>2] = $5; $6 = ((($0)) + 8|0); $7 = +HEAPF32[$6>>2]; $8 = $7 * 0.5; HEAPF32[$6>>2] = $8; $9 = ((($0)) + 12|0); $10 = +HEAPF32[$9>>2]; $11 = $10 * 0.5; HEAPF32[$9>>2] = $11; $12 = HEAP16[$1>>1]|0; $13 = $12&65535; $14 = $12&65535; $15 = ((($1)) + 2|0); $16 = HEAP16[$15>>1]|0; $17 = $16&65535; $18 = (($17) + ($14))|0; $19 = ($18>>>0)>($13>>>0); if (!($19)) { return; } $20 = ((($2)) + 4|0); $$021 = $13; while(1) { $21 = HEAP32[$20>>2]|0; $22 = (($21) + ($$021<<4)|0); $23 = HEAP32[(12916)>>2]|0; $24 = (($23) + ($$021<<4)|0); ;HEAP32[$22>>2]=HEAP32[$24>>2]|0;HEAP32[$22+4>>2]=HEAP32[$24+4>>2]|0;HEAP32[$22+8>>2]=HEAP32[$24+8>>2]|0;HEAP32[$22+12>>2]=HEAP32[$24+12>>2]|0; $25 = HEAP32[$20>>2]|0; $26 = (($25) + ($$021<<4)|0); $27 = +HEAPF32[$26>>2]; $28 = $27 * 0.5; HEAPF32[$26>>2] = $28; $29 = (((($25) + ($$021<<4)|0)) + 4|0); $30 = +HEAPF32[$29>>2]; $31 = $30 * 0.5; HEAPF32[$29>>2] = $31; $32 = (((($25) + ($$021<<4)|0)) + 8|0); $33 = +HEAPF32[$32>>2]; $34 = $33 * 0.5; HEAPF32[$32>>2] = $34; $35 = (($$021) + 1)|0; $36 = HEAP16[$1>>1]|0; $37 = $36&65535; $38 = HEAP16[$15>>1]|0; $39 = $38&65535; $40 = (($39) + ($37))|0; $41 = ($35>>>0)<($40>>>0); if ($41) { $$021 = $35; } else { break; } } return; } function _ChibiModel_ScaleLimbs($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; _ChibiModel_ScalePart($0,$1); $2 = ((($0)) + 16|0); $3 = ((($1)) + 16|0); _ChibiModel_ScalePart($2,$3); $4 = ((($0)) + 32|0); $5 = ((($1)) + 32|0); _ChibiModel_ScalePart($4,$5); $6 = ((($0)) + 48|0); $7 = ((($1)) + 48|0); _ChibiModel_ScalePart($6,$7); $8 = ((($0)) + 64|0); $9 = ((($1)) + 64|0); _ChibiModel_ScalePart($8,$9); $10 = ((($0)) + 80|0); $11 = ((($1)) + 80|0); _ChibiModel_ScalePart($10,$11); $12 = ((($0)) + 96|0); $13 = ((($1)) + 96|0); _ChibiModel_ScalePart($12,$13); $14 = ((($0)) + 112|0); $15 = ((($1)) + 112|0); _ChibiModel_ScalePart($14,$15); return; } function _BoxDesc_BuildBox($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var label = 0, sp = 0; sp = STACKTOP; $2 = ((($1)) + 6|0); $3 = HEAP8[$2>>0]|0; $4 = $3&255; $5 = ((($1)) + 4|0); $6 = HEAP8[$5>>0]|0; $7 = $6&255; $8 = ((($1)) + 5|0); $9 = HEAP8[$8>>0]|0; $10 = $9&255; $11 = ((($1)) + 8|0); $12 = +HEAPF32[$11>>2]; $13 = ((($1)) + 12|0); $14 = +HEAPF32[$13>>2]; $15 = ((($1)) + 16|0); $16 = +HEAPF32[$15>>2]; $17 = ((($1)) + 20|0); $18 = +HEAPF32[$17>>2]; $19 = ((($1)) + 24|0); $20 = +HEAPF32[$19>>2]; $21 = ((($1)) + 28|0); $22 = +HEAPF32[$21>>2]; $23 = HEAP16[$1>>1]|0; $24 = $23&65535; $25 = ((($1)) + 2|0); $26 = HEAP16[$25>>1]|0; $27 = $26&65535; $28 = HEAP32[(1280016)>>2]|0; $29 = (($24) + ($4))|0; _BoxDesc_YQuad($28,$29,$27,$7,$4,$12,$18,$22,$16,$20,1); $30 = (($29) + ($7))|0; _BoxDesc_YQuad($28,$30,$27,$7,$4,$18,$12,$22,$16,$14,0); $31 = (($27) + ($4))|0; _BoxDesc_ZQuad($28,$29,$31,$7,$10,$12,$18,$14,$20,$16,1); $32 = (($30) + ($4))|0; _BoxDesc_ZQuad($28,$32,$31,$7,$10,$18,$12,$14,$20,$22,1); _BoxDesc_XQuad($28,$24,$31,$4,$10,$16,$22,$14,$20,$18,1); _BoxDesc_XQuad($28,$30,$31,$4,$10,$22,$16,$14,$20,$12,1); $33 = ((($28)) + 36|0); $34 = HEAP32[$33>>2]|0; $35 = (($34) + -24)|0; $36 = ((($1)) + 32|0); $37 = +HEAPF32[$36>>2]; $38 = ((($1)) + 36|0); $39 = +HEAPF32[$38>>2]; $40 = ((($1)) + 40|0); $41 = +HEAPF32[$40>>2]; _ModelPart_Init($0,$35,24,$37,$39,$41); return; } function _BoxDesc_YQuad($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = +$5; $6 = +$6; $7 = +$7; $8 = +$8; $9 = +$9; $10 = $10|0; var $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0; var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $spec$select = 0, $spec$select46 = 0, label = 0, sp = 0; sp = STACKTOP; $11 = (($3) + ($1))|0; $12 = $11 | 32768; $13 = ($10<<24>>24)==(0); $spec$select = $13 ? $12 : $1; $spec$select46 = $13 ? $1 : $12; $14 = ((($0)) + 4|0); $15 = HEAP32[$14>>2]|0; $16 = ((($0)) + 36|0); $17 = HEAP32[$16>>2]|0; $18 = (($15) + ($17<<4)|0); $19 = (($4) + ($2))|0; $20 = $19 | 32768; _ModelVertex_Init($18,$5,$9,$8,$spec$select46,$20); $21 = HEAP32[$16>>2]|0; $22 = (($21) + 1)|0; HEAP32[$16>>2] = $22; $23 = HEAP32[$14>>2]|0; $24 = (($23) + ($22<<4)|0); _ModelVertex_Init($24,$5,$9,$7,$spec$select46,$2); $25 = HEAP32[$16>>2]|0; $26 = (($25) + 1)|0; HEAP32[$16>>2] = $26; $27 = HEAP32[$14>>2]|0; $28 = (($27) + ($26<<4)|0); _ModelVertex_Init($28,$6,$9,$7,$spec$select,$2); $29 = HEAP32[$16>>2]|0; $30 = (($29) + 1)|0; HEAP32[$16>>2] = $30; $31 = HEAP32[$14>>2]|0; $32 = (($31) + ($30<<4)|0); _ModelVertex_Init($32,$6,$9,$8,$spec$select,$20); $33 = HEAP32[$16>>2]|0; $34 = (($33) + 1)|0; HEAP32[$16>>2] = $34; return; } function _BoxDesc_ZQuad($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = +$5; $6 = +$6; $7 = +$7; $8 = +$8; $9 = +$9; $10 = $10|0; var $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0; var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $spec$select = 0, $spec$select46 = 0, label = 0, sp = 0; sp = STACKTOP; $11 = (($3) + ($1))|0; $12 = $11 | 32768; $13 = ($10<<24>>24)==(0); $spec$select = $13 ? $12 : $1; $spec$select46 = $13 ? $1 : $12; $14 = ((($0)) + 4|0); $15 = HEAP32[$14>>2]|0; $16 = ((($0)) + 36|0); $17 = HEAP32[$16>>2]|0; $18 = (($15) + ($17<<4)|0); $19 = (($4) + ($2))|0; $20 = $19 | 32768; _ModelVertex_Init($18,$5,$7,$9,$spec$select46,$20); $21 = HEAP32[$16>>2]|0; $22 = (($21) + 1)|0; HEAP32[$16>>2] = $22; $23 = HEAP32[$14>>2]|0; $24 = (($23) + ($22<<4)|0); _ModelVertex_Init($24,$5,$8,$9,$spec$select46,$2); $25 = HEAP32[$16>>2]|0; $26 = (($25) + 1)|0; HEAP32[$16>>2] = $26; $27 = HEAP32[$14>>2]|0; $28 = (($27) + ($26<<4)|0); _ModelVertex_Init($28,$6,$8,$9,$spec$select,$2); $29 = HEAP32[$16>>2]|0; $30 = (($29) + 1)|0; HEAP32[$16>>2] = $30; $31 = HEAP32[$14>>2]|0; $32 = (($31) + ($30<<4)|0); _ModelVertex_Init($32,$6,$7,$9,$spec$select,$20); $33 = HEAP32[$16>>2]|0; $34 = (($33) + 1)|0; HEAP32[$16>>2] = $34; return; } function _BoxDesc_XQuad($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = +$5; $6 = +$6; $7 = +$7; $8 = +$8; $9 = +$9; $10 = $10|0; var $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0; var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $spec$select = 0, $spec$select46 = 0, label = 0, sp = 0; sp = STACKTOP; $11 = (($3) + ($1))|0; $12 = $11 | 32768; $13 = ($10<<24>>24)==(0); $spec$select = $13 ? $12 : $1; $spec$select46 = $13 ? $1 : $12; $14 = ((($0)) + 4|0); $15 = HEAP32[$14>>2]|0; $16 = ((($0)) + 36|0); $17 = HEAP32[$16>>2]|0; $18 = (($15) + ($17<<4)|0); $19 = (($4) + ($2))|0; $20 = $19 | 32768; _ModelVertex_Init($18,$9,$7,$5,$spec$select46,$20); $21 = HEAP32[$16>>2]|0; $22 = (($21) + 1)|0; HEAP32[$16>>2] = $22; $23 = HEAP32[$14>>2]|0; $24 = (($23) + ($22<<4)|0); _ModelVertex_Init($24,$9,$8,$5,$spec$select46,$2); $25 = HEAP32[$16>>2]|0; $26 = (($25) + 1)|0; HEAP32[$16>>2] = $26; $27 = HEAP32[$14>>2]|0; $28 = (($27) + ($26<<4)|0); _ModelVertex_Init($28,$9,$8,$6,$spec$select,$2); $29 = HEAP32[$16>>2]|0; $30 = (($29) + 1)|0; HEAP32[$16>>2] = $30; $31 = HEAP32[$14>>2]|0; $32 = (($31) + ($30<<4)|0); _ModelVertex_Init($32,$9,$7,$6,$spec$select,$20); $33 = HEAP32[$16>>2]|0; $34 = (($33) + 1)|0; HEAP32[$16>>2] = $34; return; } function _ModelPart_Init($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = +$3; $4 = +$4; $5 = +$5; var $10 = 0, $11 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $6 = $1&65535; HEAP16[$0>>1] = $6; $7 = $2&65535; $8 = ((($0)) + 2|0); HEAP16[$8>>1] = $7; $9 = ((($0)) + 4|0); HEAPF32[$9>>2] = $3; $10 = ((($0)) + 8|0); HEAPF32[$10>>2] = $4; $11 = ((($0)) + 12|0); HEAPF32[$11>>2] = $5; return; } function _ModelVertex_Init($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = +$1; $2 = +$2; $3 = +$3; $4 = $4|0; $5 = $5|0; var $10 = 0, $11 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; HEAPF32[$0>>2] = $1; $6 = ((($0)) + 4|0); HEAPF32[$6>>2] = $2; $7 = ((($0)) + 8|0); HEAPF32[$7>>2] = $3; $8 = $4&65535; $9 = ((($0)) + 12|0); HEAP16[$9>>1] = $8; $10 = $5&65535; $11 = ((($0)) + 14|0); HEAP16[$11>>1] = $10; return; } function _ChibiModel_DrawArm($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _HumanModel_DrawArmCore(1280588); return; } function _BlockModel_Draw($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 52|0); $2 = HEAP16[$1>>1]|0; HEAP16[704102] = $2; $3 = $2&65535; $4 = (583428 + ($3)|0); $5 = HEAP8[$4>>0]|0; $6 = ($5<<24>>24)==(4); if ($6) { return; } $7 = (571140 + ($3)|0); $8 = HEAP8[$7>>0]|0; $9 = ($8<<24>>24)==(0); if (!($9)) { ;HEAP32[1279972>>2]=4294967295|0;HEAP32[1279972+4>>2]=4294967295|0;HEAP32[1279972+8>>2]=4294967295|0;HEAP32[1279972+12>>2]=4294967295|0;HEAP32[1279972+16>>2]=4294967295|0;HEAP32[1279972+20>>2]=4294967295|0; } $10 = ($5<<24>>24)==(5); $11 = $10&1; HEAP32[3605] = -1; _BlockModel_DrawParts($11); $12 = HEAP32[320259]|0; $13 = ($12|0)==(0); if ($13) { return; } if ($10) { _Gfx_SetFaceCulling(1); $14 = HEAP32[320260]|0; HEAP32[3605] = $14; _BlockModel_Flush(); _Gfx_SetFaceCulling(0); return; } else { $15 = HEAP32[320260]|0; HEAP32[3605] = $15; _BlockModel_Flush(); return; } } function _BlockModel_GetNameY($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 52|0); $2 = HEAP16[$1>>1]|0; $3 = $2&65535; $4 = (((597252 + (($3*12)|0)|0)) + 4|0); $5 = +HEAPF32[$4>>2]; $6 = $5 + 0.075000002980232239; return (+$6); } function _BlockModel_GetEyeY($0) { $0 = $0|0; var $1 = 0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 52|0); $2 = HEAP16[$1>>1]|0; $3 = $2&65535; $4 = ($2<<16>>16)==(0); if ($4) { $11 = 1.0; return (+$11); } $5 = (((588036 + (($3*12)|0)|0)) + 4|0); $6 = (((597252 + (($3*12)|0)|0)) + 4|0); $7 = +HEAPF32[$6>>2]; $8 = +HEAPF32[$5>>2]; $9 = $7 + $8; $10 = $9 * 0.5; $11 = $10; return (+$11); } function _BlockModel_GetSize($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 92|0); $2 = ((($0)) + 52|0); $3 = HEAP16[$2>>1]|0; $4 = $3&65535; $5 = (597252 + (($4*12)|0)|0); $6 = (588036 + (($4*12)|0)|0); _Vec3_Sub_1078($1,$5,$6); _Vec3_Sub_1078($1,$1,14408); $7 = +HEAPF32[$1>>2]; $8 = $7 > 0.0078125; $9 = $8 ? $7 : 0.0078125; HEAPF32[$1>>2] = $9; $10 = ((($0)) + 96|0); $11 = +HEAPF32[$10>>2]; $12 = $11 > 0.0078125; $13 = $12 ? $11 : 0.0078125; HEAPF32[$10>>2] = $13; $14 = ((($0)) + 100|0); $15 = +HEAPF32[$14>>2]; $16 = $15 > 0.0078125; $17 = $16 ? $15 : 0.0078125; HEAPF32[$14>>2] = $17; return; } function _BlockModel_GetBounds($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 52|0); $2 = HEAP16[$1>>1]|0; $3 = ((($0)) + 56|0); $4 = $2&65535; $5 = (588036 + (($4*12)|0)|0); _Vec3_Add_1077($3,$5); $6 = ((($0)) + 68|0); $7 = (597252 + (($4*12)|0)|0); _Vec3_Add_1077($6,$7); return; } function _Vec3_Add_1077($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0.0, $11 = 0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $2 = +HEAPF32[$1>>2]; $3 = $2 + -0.5; HEAPF32[$0>>2] = $3; $4 = ((($1)) + 4|0); $5 = +HEAPF32[$4>>2]; $6 = $5 + 0.0; $7 = ((($0)) + 4|0); HEAPF32[$7>>2] = $6; $8 = ((($1)) + 8|0); $9 = +HEAPF32[$8>>2]; $10 = $9 + -0.5; $11 = ((($0)) + 8|0); HEAPF32[$11>>2] = $10; return; } function _Vec3_Sub_1078($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; HEAPF32[$0>>2] = $5; $6 = ((($1)) + 4|0); $7 = +HEAPF32[$6>>2]; $8 = ((($2)) + 4|0); $9 = +HEAPF32[$8>>2]; $10 = $7 - $9; $11 = ((($0)) + 4|0); HEAPF32[$11>>2] = $10; $12 = ((($1)) + 8|0); $13 = +HEAPF32[$12>>2]; $14 = ((($2)) + 8|0); $15 = +HEAPF32[$14>>2]; $16 = $13 - $15; $17 = ((($0)) + 8|0); HEAPF32[$17>>2] = $16; return; } function _BlockModel_DrawParts($0) { $0 = $0|0; var $$sroa$0$0$$sroa_idx = 0, $$sroa$0$0$copyload = 0.0, $$sroa$012$0$$sroa_idx = 0, $$sroa$012$0$copyload = 0.0, $$sroa$4$0$$sroa_idx8 = 0, $$sroa$4$0$copyload22 = 0, $$sroa$414$0$$sroa_idx15 = 0, $$sroa$414$0$copyload21 = 0, $$sroa$5$0$$sroa_idx10 = 0, $$sroa$5$0$copyload = 0.0, $$sroa$517$0$$sroa_idx18 = 0, $$sroa$517$0$copyload = 0.0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0; var $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0; var $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; HEAP32[$1>>2] = 0; $2 = ($0<<24>>24)==(0); if ($2) { $3 = HEAP16[704102]|0; $4 = $3&65535; $5 = (588036 + (($4*12)|0)|0); ;HEAP32[(1241064)>>2]=HEAP32[$5>>2]|0;HEAP32[(1241064)+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[(1241064)+8>>2]=HEAP32[$5+8>>2]|0; $6 = +HEAPF32[(1241068)>>2]; $7 = 1.0 - $6; HEAPF32[(1241068)>>2] = $7; $8 = (597252 + (($4*12)|0)|0); ;HEAP32[(1241076)>>2]=HEAP32[$8>>2]|0;HEAP32[(1241076)+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[(1241076)+8>>2]=HEAP32[$8+8>>2]|0; $9 = +HEAPF32[(1241080)>>2]; $10 = 1.0 - $9; HEAPF32[(1241080)>>2] = $10; $11 = (585732 + ($4)|0); $12 = HEAP8[$11>>0]|0; HEAP8[1241056] = $12; $13 = (571908 + ($4<<2)|0); $14 = HEAP32[$13>>2]|0; HEAP32[(1241060)>>2] = $14; $$sroa$012$0$$sroa_idx = (606468 + (($4*12)|0)|0); $$sroa$012$0$copyload = +HEAPF32[$$sroa$012$0$$sroa_idx>>2]; $$sroa$414$0$$sroa_idx15 = (((606468 + (($4*12)|0)|0)) + 4|0); $$sroa$414$0$copyload21 = HEAP32[$$sroa$414$0$$sroa_idx15>>2]|0; $$sroa$517$0$$sroa_idx18 = (((606468 + (($4*12)|0)|0)) + 8|0); $$sroa$517$0$copyload = +HEAPF32[$$sroa$517$0$$sroa_idx18>>2]; $$sroa$0$0$$sroa_idx = (615684 + (($4*12)|0)|0); $$sroa$0$0$copyload = +HEAPF32[$$sroa$0$0$$sroa_idx>>2]; $$sroa$4$0$$sroa_idx8 = (((615684 + (($4*12)|0)|0)) + 4|0); $$sroa$4$0$copyload22 = HEAP32[$$sroa$4$0$$sroa_idx8>>2]|0; $$sroa$5$0$$sroa_idx10 = (((615684 + (($4*12)|0)|0)) + 8|0); $$sroa$5$0$copyload = +HEAPF32[$$sroa$5$0$$sroa_idx10>>2]; $15 = $$sroa$012$0$copyload + -0.5; HEAPF32[(1241088)>>2] = $15; HEAP32[(1241092)>>2] = $$sroa$414$0$copyload21; $16 = $$sroa$517$0$copyload + -0.5; HEAPF32[(1241096)>>2] = $16; $17 = $$sroa$0$0$copyload + -0.5; HEAPF32[(1241100)>>2] = $17; HEAP32[(1241104)>>2] = $$sroa$4$0$copyload22; $18 = $$sroa$5$0$copyload + -0.5; HEAPF32[(1241108)>>2] = $18; $19 = (_BlockModel_GetTex(4,$1)|0); $20 = HEAP32[(1279976)>>2]|0; _Drawer_YMin(1,$20,$19,$1); $21 = (_BlockModel_GetTex(2,$1)|0); $22 = HEAP32[(1279984)>>2]|0; _Drawer_ZMin(1,$22,$21,$1); $23 = (_BlockModel_GetTex(1,$1)|0); $24 = HEAP32[(1279992)>>2]|0; _Drawer_XMax(1,$24,$23,$1); $25 = (_BlockModel_GetTex(3,$1)|0); $26 = HEAP32[(1279980)>>2]|0; _Drawer_ZMax(1,$26,$25,$1); $27 = (_BlockModel_GetTex(0,$1)|0); $28 = HEAP32[(1279988)>>2]|0; _Drawer_XMin(1,$28,$27,$1); $29 = (_BlockModel_GetTex(5,$1)|0); $30 = HEAP32[319993]|0; _Drawer_YMax(1,$30,$29,$1); STACKTOP = sp;return; } else { _BlockModel_SpriteXQuad(0,0); _BlockModel_SpriteXQuad(0,1); _BlockModel_SpriteZQuad(0,0); _BlockModel_SpriteZQuad(0,1); _BlockModel_SpriteZQuad(1,0); _BlockModel_SpriteZQuad(1,1); _BlockModel_SpriteXQuad(1,0); _BlockModel_SpriteXQuad(1,1); STACKTOP = sp;return; } } function _BlockModel_Flush() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[3605]|0; $1 = ($0|0)==(-1); if (!($1)) { $2 = (1384660 + ($0<<2)|0); $3 = HEAP32[$2>>2]|0; _Gfx_BindTexture($3); $4 = HEAP32[320259]|0; $5 = HEAP32[(1280016)>>2]|0; $6 = ((($5)) + 36|0); HEAP32[$6>>2] = $4; _Model_UpdateVB(); } $7 = HEAP32[320260]|0; HEAP32[3605] = $7; HEAP32[320259] = 0; return; } function _BlockModel_SpriteXQuad($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $$072 = 0.0, $$073 = 0.0, $$074 = 0.0, $$075 = 0.0, $$sink = 0, $$sroa$11$0$$sroa_idx33 = 0, $$sroa$11$0$$sroa_idx34 = 0, $$sroa$11$0$$sroa_idx36 = 0, $$sroa$11$0$$sroa_idx38 = 0, $$sroa$13$0$$sroa_idx41 = 0, $$sroa$13$0$$sroa_idx42 = 0, $$sroa$13$0$$sroa_idx44 = 0, $$sroa$13$0$$sroa_idx46 = 0, $$sroa$14$0$$sroa_idx49 = 0, $$sroa$14$0$$sroa_idx50 = 0, $$sroa$14$0$$sroa_idx52 = 0, $$sroa$14$0$$sroa_idx54 = 0, $$sroa$16$0$$sroa_idx57 = 0, $$sroa$16$0$$sroa_idx58 = 0; var $$sroa$16$0$$sroa_idx60 = 0, $$sroa$16$0$$sroa_idx62 = 0, $$sroa$8$0$$sroa_idx25 = 0, $$sroa$8$0$$sroa_idx26 = 0, $$sroa$8$0$$sroa_idx28 = 0, $$sroa$8$0$$sroa_idx30 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = HEAP16[704102]|0; $4 = $3&65535; $5 = ($4*6)|0; $6 = $5 | 1; $7 = (624900 + ($6<<1)|0); $8 = HEAP16[$7>>1]|0; _Atlas1D_TexRec($2,$8,1,1281040); $9 = HEAP32[3605]|0; $10 = HEAP32[320260]|0; $11 = ($9|0)==($10|0); if (!($11)) { _BlockModel_Flush(); } $12 = HEAP32[319993]|0; $13 = HEAP16[704102]|0; $14 = $13&65535; $15 = (585732 + ($14)|0); $16 = HEAP8[$15>>0]|0; $17 = ($16<<24>>24)==(0); if ($17) { $$0 = $12; } else { $18 = (571908 + ($14<<2)|0); $19 = HEAP32[$18>>2]|0; $20 = (_PackedCol_Tint($12,$19)|0); $$0 = $20; } $21 = ($0<<24>>24)==(0); $22 = ($1<<24>>24)!=(0); do { if ($21) { if ($22) { $$072 = 0.0;$$073 = -0.34375;$$074 = 0.0;$$075 = 0.34375;$$sink = $2; break; } else { $24 = ((($2)) + 8|0); $$072 = -0.34375;$$073 = 0.0;$$074 = 0.34375;$$075 = 0.0;$$sink = $24; break; } } else { if ($22) { $23 = ((($2)) + 8|0); $$072 = 0.34375;$$073 = 0.0;$$074 = -0.34375;$$075 = 0.0;$$sink = $23; break; } else { $$072 = 0.0;$$073 = 0.34375;$$074 = 0.0;$$075 = -0.34375;$$sink = $2; break; } } } while(0); HEAPF32[$$sink>>2] = 0.5; $25 = HEAP32[(1280024)>>2]|0; $26 = HEAP32[320259]|0; $27 = (($25) + (($26*24)|0)|0); $28 = ((($2)) + 8|0); $29 = HEAP32[$28>>2]|0; $30 = ((($2)) + 12|0); $31 = HEAP32[$30>>2]|0; $32 = ((($27)) + 24|0); HEAPF32[$27>>2] = $$075; $$sroa$8$0$$sroa_idx26 = (((($25) + (($26*24)|0)|0)) + 4|0); HEAPF32[$$sroa$8$0$$sroa_idx26>>2] = 0.0; $$sroa$11$0$$sroa_idx34 = (((($25) + (($26*24)|0)|0)) + 8|0); HEAPF32[$$sroa$11$0$$sroa_idx34>>2] = $$073; $$sroa$13$0$$sroa_idx42 = (((($25) + (($26*24)|0)|0)) + 12|0); HEAP32[$$sroa$13$0$$sroa_idx42>>2] = $$0; $$sroa$14$0$$sroa_idx50 = (((($25) + (($26*24)|0)|0)) + 16|0); HEAP32[$$sroa$14$0$$sroa_idx50>>2] = $29; $$sroa$16$0$$sroa_idx58 = (((($25) + (($26*24)|0)|0)) + 20|0); HEAP32[$$sroa$16$0$$sroa_idx58>>2] = $31; $33 = ((($2)) + 4|0); $34 = HEAP32[$33>>2]|0; $35 = ((($32)) + 24|0); HEAPF32[$32>>2] = $$075; $$sroa$8$0$$sroa_idx28 = ((($32)) + 4|0); HEAPF32[$$sroa$8$0$$sroa_idx28>>2] = 1.0; $$sroa$11$0$$sroa_idx36 = ((($32)) + 8|0); HEAPF32[$$sroa$11$0$$sroa_idx36>>2] = $$073; $$sroa$13$0$$sroa_idx44 = ((($32)) + 12|0); HEAP32[$$sroa$13$0$$sroa_idx44>>2] = $$0; $$sroa$14$0$$sroa_idx52 = ((($32)) + 16|0); HEAP32[$$sroa$14$0$$sroa_idx52>>2] = $29; $$sroa$16$0$$sroa_idx60 = ((($32)) + 20|0); HEAP32[$$sroa$16$0$$sroa_idx60>>2] = $34; $36 = HEAP32[$2>>2]|0; $37 = ((($35)) + 24|0); HEAPF32[$35>>2] = $$074; $$sroa$8$0$$sroa_idx30 = ((($35)) + 4|0); HEAPF32[$$sroa$8$0$$sroa_idx30>>2] = 1.0; $$sroa$11$0$$sroa_idx38 = ((($35)) + 8|0); HEAPF32[$$sroa$11$0$$sroa_idx38>>2] = $$072; $$sroa$13$0$$sroa_idx46 = ((($35)) + 12|0); HEAP32[$$sroa$13$0$$sroa_idx46>>2] = $$0; $$sroa$14$0$$sroa_idx54 = ((($35)) + 16|0); HEAP32[$$sroa$14$0$$sroa_idx54>>2] = $36; $$sroa$16$0$$sroa_idx62 = ((($35)) + 20|0); HEAP32[$$sroa$16$0$$sroa_idx62>>2] = $34; $38 = HEAP32[$30>>2]|0; HEAPF32[$37>>2] = $$074; $$sroa$8$0$$sroa_idx25 = ((($37)) + 4|0); HEAPF32[$$sroa$8$0$$sroa_idx25>>2] = 0.0; $$sroa$11$0$$sroa_idx33 = ((($37)) + 8|0); HEAPF32[$$sroa$11$0$$sroa_idx33>>2] = $$072; $$sroa$13$0$$sroa_idx41 = ((($37)) + 12|0); HEAP32[$$sroa$13$0$$sroa_idx41>>2] = $$0; $$sroa$14$0$$sroa_idx49 = ((($37)) + 16|0); HEAP32[$$sroa$14$0$$sroa_idx49>>2] = $36; $$sroa$16$0$$sroa_idx57 = ((($37)) + 20|0); HEAP32[$$sroa$16$0$$sroa_idx57>>2] = $38; $39 = (($26) + 4)|0; HEAP32[320259] = $39; STACKTOP = sp;return; } function _BlockModel_SpriteZQuad($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $$068 = 0.0, $$069 = 0.0, $$sink = 0, $$sroa$11$0$$sroa_idx29 = 0, $$sroa$11$0$$sroa_idx30 = 0, $$sroa$11$0$$sroa_idx32 = 0, $$sroa$11$0$$sroa_idx34 = 0, $$sroa$13$0$$sroa_idx37 = 0, $$sroa$13$0$$sroa_idx38 = 0, $$sroa$13$0$$sroa_idx40 = 0, $$sroa$13$0$$sroa_idx42 = 0, $$sroa$14$0$$sroa_idx45 = 0, $$sroa$14$0$$sroa_idx46 = 0, $$sroa$14$0$$sroa_idx48 = 0, $$sroa$14$0$$sroa_idx50 = 0, $$sroa$16$0$$sroa_idx53 = 0, $$sroa$16$0$$sroa_idx54 = 0, $$sroa$16$0$$sroa_idx56 = 0, $$sroa$16$0$$sroa_idx58 = 0; var $$sroa$8$0$$sroa_idx21 = 0, $$sroa$8$0$$sroa_idx22 = 0, $$sroa$8$0$$sroa_idx24 = 0, $$sroa$8$0$$sroa_idx26 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = HEAP16[704102]|0; $4 = $3&65535; $5 = ($4*6)|0; $6 = (($5) + 3)|0; $7 = (624900 + ($6<<1)|0); $8 = HEAP16[$7>>1]|0; _Atlas1D_TexRec($2,$8,1,1281040); $9 = HEAP32[3605]|0; $10 = HEAP32[320260]|0; $11 = ($9|0)==($10|0); if (!($11)) { _BlockModel_Flush(); } $12 = HEAP32[319993]|0; $13 = HEAP16[704102]|0; $14 = $13&65535; $15 = (585732 + ($14)|0); $16 = HEAP8[$15>>0]|0; $17 = ($16<<24>>24)==(0); if ($17) { $$0 = $12; } else { $18 = (571908 + ($14<<2)|0); $19 = HEAP32[$18>>2]|0; $20 = (_PackedCol_Tint($12,$19)|0); $$0 = $20; } $21 = ($0<<24>>24)==(0); $22 = ($1<<24>>24)!=(0); do { if ($21) { if ($22) { $24 = ((($2)) + 8|0); $$068 = 0.34375;$$069 = 0.0;$$sink = $24; break; } else { $$068 = 0.0;$$069 = 0.34375;$$sink = $2; break; } } else { if ($22) { $$068 = 0.0;$$069 = -0.34375;$$sink = $2; break; } else { $23 = ((($2)) + 8|0); $$068 = -0.34375;$$069 = 0.0;$$sink = $23; break; } } } while(0); HEAPF32[$$sink>>2] = 0.5; $25 = HEAP32[(1280024)>>2]|0; $26 = HEAP32[320259]|0; $27 = (($25) + (($26*24)|0)|0); $28 = ((($2)) + 8|0); $29 = HEAP32[$28>>2]|0; $30 = ((($2)) + 12|0); $31 = HEAP32[$30>>2]|0; $32 = ((($27)) + 24|0); HEAPF32[$27>>2] = $$069; $$sroa$8$0$$sroa_idx22 = (((($25) + (($26*24)|0)|0)) + 4|0); HEAPF32[$$sroa$8$0$$sroa_idx22>>2] = 0.0; $$sroa$11$0$$sroa_idx30 = (((($25) + (($26*24)|0)|0)) + 8|0); HEAPF32[$$sroa$11$0$$sroa_idx30>>2] = $$069; $$sroa$13$0$$sroa_idx38 = (((($25) + (($26*24)|0)|0)) + 12|0); HEAP32[$$sroa$13$0$$sroa_idx38>>2] = $$0; $$sroa$14$0$$sroa_idx46 = (((($25) + (($26*24)|0)|0)) + 16|0); HEAP32[$$sroa$14$0$$sroa_idx46>>2] = $29; $$sroa$16$0$$sroa_idx54 = (((($25) + (($26*24)|0)|0)) + 20|0); HEAP32[$$sroa$16$0$$sroa_idx54>>2] = $31; $33 = ((($2)) + 4|0); $34 = HEAP32[$33>>2]|0; $35 = ((($32)) + 24|0); HEAPF32[$32>>2] = $$069; $$sroa$8$0$$sroa_idx24 = ((($32)) + 4|0); HEAPF32[$$sroa$8$0$$sroa_idx24>>2] = 1.0; $$sroa$11$0$$sroa_idx32 = ((($32)) + 8|0); HEAPF32[$$sroa$11$0$$sroa_idx32>>2] = $$069; $$sroa$13$0$$sroa_idx40 = ((($32)) + 12|0); HEAP32[$$sroa$13$0$$sroa_idx40>>2] = $$0; $$sroa$14$0$$sroa_idx48 = ((($32)) + 16|0); HEAP32[$$sroa$14$0$$sroa_idx48>>2] = $29; $$sroa$16$0$$sroa_idx56 = ((($32)) + 20|0); HEAP32[$$sroa$16$0$$sroa_idx56>>2] = $34; $36 = HEAP32[$2>>2]|0; $37 = ((($35)) + 24|0); HEAPF32[$35>>2] = $$068; $$sroa$8$0$$sroa_idx26 = ((($35)) + 4|0); HEAPF32[$$sroa$8$0$$sroa_idx26>>2] = 1.0; $$sroa$11$0$$sroa_idx34 = ((($35)) + 8|0); HEAPF32[$$sroa$11$0$$sroa_idx34>>2] = $$068; $$sroa$13$0$$sroa_idx42 = ((($35)) + 12|0); HEAP32[$$sroa$13$0$$sroa_idx42>>2] = $$0; $$sroa$14$0$$sroa_idx50 = ((($35)) + 16|0); HEAP32[$$sroa$14$0$$sroa_idx50>>2] = $36; $$sroa$16$0$$sroa_idx58 = ((($35)) + 20|0); HEAP32[$$sroa$16$0$$sroa_idx58>>2] = $34; $38 = HEAP32[$30>>2]|0; HEAPF32[$37>>2] = $$068; $$sroa$8$0$$sroa_idx21 = ((($37)) + 4|0); HEAPF32[$$sroa$8$0$$sroa_idx21>>2] = 0.0; $$sroa$11$0$$sroa_idx29 = ((($37)) + 8|0); HEAPF32[$$sroa$11$0$$sroa_idx29>>2] = $$068; $$sroa$13$0$$sroa_idx37 = ((($37)) + 12|0); HEAP32[$$sroa$13$0$$sroa_idx37>>2] = $$0; $$sroa$14$0$$sroa_idx45 = ((($37)) + 16|0); HEAP32[$$sroa$14$0$$sroa_idx45>>2] = $36; $$sroa$16$0$$sroa_idx53 = ((($37)) + 20|0); HEAP32[$$sroa$16$0$$sroa_idx53>>2] = $38; $39 = (($26) + 4)|0; HEAP32[320259] = $39; STACKTOP = sp;return; } function _BlockModel_GetTex($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP16[704102]|0; $3 = $2&65535; $4 = ($3*6)|0; $5 = $0&255; $6 = (($4) + ($5))|0; $7 = (624900 + ($6<<1)|0); $8 = HEAP16[$7>>1]|0; $9 = $8&65535; $10 = HEAP32[(1384652)>>2]|0; $11 = ($10)?($9 >>> $10):($9); HEAP32[320260] = $11; $12 = HEAP32[3605]|0; $13 = ($12|0)==($11|0); if (!($13)) { _BlockModel_Flush(); } $14 = HEAP32[(1280024)>>2]|0; $15 = HEAP32[320259]|0; $16 = (($14) + (($15*24)|0)|0); HEAP32[$1>>2] = $16; $17 = (($15) + 4)|0; HEAP32[320259] = $17; return ($8|0); } function _ZombieModel_Draw($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 256|0); HEAPF32[$1>>2] = 1.5707963705062866; $2 = ((($0)) + 264|0); HEAPF32[$2>>2] = 1.5707963705062866; _HumanModel_DrawCore($0,1280140,0); return; } function _HumanModel_GetEyeY($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return +1.625; } function _HumanModel_GetSize($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 92|0); ;HEAP32[$1>>2]=HEAP32[14424>>2]|0;HEAP32[$1+4>>2]=HEAP32[14424+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[14424+8>>2]|0; return; } function _ZombieModel_GetBounds($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 56|0); ;HEAP32[$1>>2]=HEAP32[14692>>2]|0;HEAP32[$1+4>>2]=HEAP32[14692+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[14692+8>>2]|0;HEAP32[$1+12>>2]=HEAP32[14692+12>>2]|0;HEAP32[$1+16>>2]=HEAP32[14692+16>>2]|0;HEAP32[$1+20>>2]=HEAP32[14692+20>>2]|0; return; } function _ZombieModel_DrawArm($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _HumanModel_DrawArmCore(1280140); return; } function _SpiderModel_MakeParts() { var label = 0, sp = 0; sp = STACKTOP; _BoxDesc_BuildBox(1281044,14472); _BoxDesc_BuildBox(1281060,14516); _BoxDesc_BuildBox(1281076,14560); _BoxDesc_BuildBox(1281092,14604); _BoxDesc_BuildBox(1281108,14648); return; } function _SpiderModel_Draw($0) { $0 = $0|0; var $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0; var $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $5 = 0.0, $6 = 0.0; var $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; _Model_ApplyTexture($0); $1 = ((($0)) + 16|0); $2 = +HEAPF32[$1>>2]; $3 = $2 * -0.01745329238474369; _Model_DrawRotate($3,0.0,0.0,1281044,1); _Model_DrawPart(1281060); _Model_DrawPart(1281076); $4 = ((($0)) + 204|0); $5 = +HEAPF32[$4>>2]; $6 = $5; $7 = (+_Math_Sin($6)); $8 = $7; $9 = ((($0)) + 208|0); $10 = +HEAPF32[$9>>2]; $11 = $10 * $8; $12 = $11 * 3.1415927410125732; $13 = +HEAPF32[$4>>2]; $14 = $13 * 2.0; $15 = $14; $16 = (+_Math_Cos($15)); $17 = $16; $18 = +HEAPF32[$9>>2]; $19 = $18 * $17; $20 = $19 * 3.1415927410125732; $21 = $20 * 0.0625; $22 = +HEAPF32[$4>>2]; $23 = $22 * 2.0; $24 = $23; $25 = (+_Math_Sin($24)); $26 = $25; $27 = +HEAPF32[$9>>2]; $28 = $27 * $26; $29 = $28 * 3.1415927410125732; $30 = $29 * 0.03125; HEAP8[(1280012)>>0] = 1; $31 = $30 + 0.78539818525314331; $32 = $21 + 0.39269909262657166; _Model_DrawRotate($12,$31,$32,1281092,0); $33 = - $12; $34 = $30 + 0.39269909262657166; _Model_DrawRotate($33,$34,$32,1281092,0); $35 = -0.39269909262657166 - $30; $36 = 0.39269909262657166 - $21; _Model_DrawRotate($12,$35,$36,1281092,0); $37 = -0.78539818525314331 - $30; _Model_DrawRotate($33,$37,$36,1281092,0); $38 = $30 + -0.78539818525314331; $39 = $21 + -0.39269909262657166; _Model_DrawRotate($12,$38,$39,1281108,0); $40 = $30 + -0.39269909262657166; _Model_DrawRotate($33,$40,$39,1281108,0); $41 = 0.39269909262657166 - $30; $42 = -0.39269909262657166 - $21; _Model_DrawRotate($12,$41,$42,1281108,0); $43 = 0.78539818525314331 - $30; _Model_DrawRotate($33,$43,$42,1281108,0); HEAP8[(1280012)>>0] = 0; _Model_UpdateVB(); return; } function _SpiderModel_GetNameY($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return +1.0125000476837158; } function _SpiderModel_GetEyeY($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return +0.5; } function _SpiderModel_GetSize($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 92|0); ;HEAP32[$1>>2]=HEAP32[14460>>2]|0;HEAP32[$1+4>>2]=HEAP32[14460+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[14460+8>>2]|0; return; } function _SpiderModel_GetBounds($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 56|0); ;HEAP32[$1>>2]=HEAP32[14436>>2]|0;HEAP32[$1+4>>2]=HEAP32[14436+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[14436+8>>2]|0;HEAP32[$1+12>>2]=HEAP32[14436+12>>2]|0;HEAP32[$1+16>>2]=HEAP32[14436+16>>2]|0;HEAP32[$1+20>>2]=HEAP32[14436+20>>2]|0; return; } function _SkeletonModel_MakeParts() { var label = 0, sp = 0; sp = STACKTOP; _BoxDesc_BuildBox(1281124,14728); _BoxDesc_BuildBox(1281140,14772); _BoxDesc_BuildBox(1281156,14816); _BoxDesc_BuildBox(1281172,14860); _BoxDesc_BuildBox(1281188,14904); _BoxDesc_BuildBox(1281204,14948); return; } function _SkeletonModel_Draw($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; _Model_ApplyTexture($0); $1 = ((($0)) + 16|0); $2 = +HEAPF32[$1>>2]; $3 = $2 * -0.01745329238474369; _Model_DrawRotate($3,0.0,0.0,1281124,1); _Model_DrawPart(1281140); $4 = ((($0)) + 240|0); $5 = +HEAPF32[$4>>2]; _Model_DrawRotate($5,0.0,0.0,1281156,0); $6 = ((($0)) + 248|0); $7 = +HEAPF32[$6>>2]; _Model_DrawRotate($7,0.0,0.0,1281172,0); $8 = ((($0)) + 260|0); $9 = +HEAPF32[$8>>2]; _Model_DrawRotate(1.5707963705062866,0.0,$9,1281188,0); $10 = ((($0)) + 268|0); $11 = +HEAPF32[$10>>2]; _Model_DrawRotate(1.5707963705062866,0.0,$11,1281204,0); _Model_UpdateVB(); return; } function _SkeletonModel_GetSize($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 92|0); ;HEAP32[$1>>2]=HEAP32[14716>>2]|0;HEAP32[$1+4>>2]=HEAP32[14716+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[14716+8>>2]|0; return; } function _SkeletonModel_GetBounds($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 56|0); ;HEAP32[$1>>2]=HEAP32[14692>>2]|0;HEAP32[$1+4>>2]=HEAP32[14692+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[14692+8>>2]|0;HEAP32[$1+12>>2]=HEAP32[14692+12>>2]|0;HEAP32[$1+16>>2]=HEAP32[14692+16>>2]|0;HEAP32[$1+20>>2]=HEAP32[14692+20>>2]|0; return; } function _SkeletonModel_DrawArm($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _Model_DrawArmPart(1281204); _Model_UpdateVB(); return; } function _SheepModel_MakeParts() { var label = 0, sp = 0; sp = STACKTOP; _BoxDesc_BuildBox(1281220,15028); _BoxDesc_BuildRotatedBox(1281236,15072); _BoxDesc_BuildBox(1281252,15116); _BoxDesc_BuildBox(1281268,15160); _BoxDesc_BuildBox(1281284,15204); _BoxDesc_BuildBox(1281300,15248); _BoxDesc_BuildBox(1281316,15292); _BoxDesc_BuildRotatedBox(1281332,15336); _BoxDesc_BuildBox(1281348,15380); _BoxDesc_BuildBox(1281364,15424); _BoxDesc_BuildBox(1281380,15468); _BoxDesc_BuildBox(1281396,15512); return; } function _FurlessModel_Draw($0) { $0 = $0|0; var $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; _Model_ApplyTexture($0); $1 = ((($0)) + 16|0); $2 = +HEAPF32[$1>>2]; $3 = $2 * -0.01745329238474369; _Model_DrawRotate($3,0.0,0.0,1281220,1); _Model_DrawPart(1281236); $4 = ((($0)) + 240|0); $5 = +HEAPF32[$4>>2]; _Model_DrawRotate($5,0.0,0.0,1281252,0); $6 = ((($0)) + 248|0); $7 = +HEAPF32[$6>>2]; _Model_DrawRotate($7,0.0,0.0,1281268,0); $8 = +HEAPF32[$6>>2]; _Model_DrawRotate($8,0.0,0.0,1281284,0); $9 = +HEAPF32[$4>>2]; _Model_DrawRotate($9,0.0,0.0,1281300,0); _Model_UpdateVB(); return; } function _SheepModel_GetNameY($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return +1.4812500476837158; } function _SheepModel_GetEyeY($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return +1.25; } function _SheepModel_GetSize($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 92|0); ;HEAP32[$1>>2]=HEAP32[15016>>2]|0;HEAP32[$1+4>>2]=HEAP32[15016+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[15016+8>>2]|0; return; } function _SheepModel_GetBounds($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 56|0); ;HEAP32[$1>>2]=HEAP32[14992>>2]|0;HEAP32[$1+4>>2]=HEAP32[14992+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[14992+8>>2]|0;HEAP32[$1+12>>2]=HEAP32[14992+12>>2]|0;HEAP32[$1+16>>2]=HEAP32[14992+16>>2]|0;HEAP32[$1+20>>2]=HEAP32[14992+20>>2]|0; return; } function _BoxDesc_BuildRotatedBox($0,$1) { $0 = $0|0; $1 = $1|0; var $$0146 = 0, $$sroa$4$0$$sroa_idx5 = 0, $$sroa$4$0$copyload143 = 0, $$sroa$6$0$$sroa_idx9 = 0, $$sroa$6$0$copyload144 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0; var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; var $42 = 0, $43 = 0.0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($1)) + 5|0); $3 = HEAP8[$2>>0]|0; $4 = $3&255; $5 = ((($1)) + 4|0); $6 = HEAP8[$5>>0]|0; $7 = $6&255; $8 = ((($1)) + 6|0); $9 = HEAP8[$8>>0]|0; $10 = $9&255; $11 = ((($1)) + 8|0); $12 = +HEAPF32[$11>>2]; $13 = ((($1)) + 12|0); $14 = +HEAPF32[$13>>2]; $15 = ((($1)) + 16|0); $16 = +HEAPF32[$15>>2]; $17 = ((($1)) + 20|0); $18 = +HEAPF32[$17>>2]; $19 = ((($1)) + 24|0); $20 = +HEAPF32[$19>>2]; $21 = ((($1)) + 28|0); $22 = +HEAPF32[$21>>2]; $23 = HEAP16[$1>>1]|0; $24 = $23&65535; $25 = ((($1)) + 2|0); $26 = HEAP16[$25>>1]|0; $27 = $26&65535; $28 = HEAP32[(1280016)>>2]|0; $29 = (($24) + ($4))|0; $30 = (($29) + ($7))|0; $31 = (($30) + ($4))|0; $32 = (($27) + ($4))|0; _BoxDesc_YQuad($28,$31,$32,$7,$10,$12,$18,$16,$22,$20,0); _BoxDesc_YQuad($28,$29,$32,$7,$10,$18,$12,$16,$22,$14,0); _BoxDesc_ZQuad($28,$29,$27,$7,$4,$18,$12,$14,$20,$16,0); _BoxDesc_ZQuad($28,$30,$27,$7,$4,$12,$18,$20,$14,$22,0); _BoxDesc_XQuad($28,$24,$32,$4,$10,$20,$14,$22,$16,$18,0); _BoxDesc_XQuad($28,$30,$32,$4,$10,$14,$20,$22,$16,$12,0); $33 = ((($28)) + 36|0); $34 = HEAP32[$33>>2]|0; $35 = (($34) + -8)|0; $36 = ((($28)) + 4|0); $$0146 = $35; while(1) { $37 = HEAP32[$36>>2]|0; $$sroa$4$0$$sroa_idx5 = (((($37) + ($$0146<<4)|0)) + 4|0); $$sroa$4$0$copyload143 = HEAP32[$$sroa$4$0$$sroa_idx5>>2]|0; $$sroa$6$0$$sroa_idx9 = (((($37) + ($$0146<<4)|0)) + 8|0); $$sroa$6$0$copyload144 = HEAP32[$$sroa$6$0$$sroa_idx9>>2]|0; HEAP32[$$sroa$4$0$$sroa_idx5>>2] = $$sroa$6$0$copyload144; HEAP32[$$sroa$6$0$$sroa_idx9>>2] = $$sroa$4$0$copyload143; $38 = (($$0146) + 1)|0; $39 = HEAP32[$33>>2]|0; $40 = ($38|0)<($39|0); if ($40) { $$0146 = $38; } else { break; } } $41 = (($39) + -24)|0; $42 = ((($1)) + 32|0); $43 = +HEAPF32[$42>>2]; $44 = ((($1)) + 36|0); $45 = +HEAPF32[$44>>2]; $46 = ((($1)) + 40|0); $47 = +HEAPF32[$46>>2]; _ModelPart_Init($0,$41,24,$43,$45,$47); return; } function _SheepModel_Draw($0) { $0 = $0|0; var $1 = 0, $10 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; _FurlessModel_Draw($0); $1 = HEAP32[(12856)>>2]|0; _Gfx_BindTexture($1); $2 = ((($0)) + 16|0); $3 = +HEAPF32[$2>>2]; $4 = $3 * -0.01745329238474369; _Model_DrawRotate($4,0.0,0.0,1281316,1); _Model_DrawPart(1281332); $5 = ((($0)) + 240|0); $6 = +HEAPF32[$5>>2]; _Model_DrawRotate($6,0.0,0.0,1281348,0); $7 = ((($0)) + 248|0); $8 = +HEAPF32[$7>>2]; _Model_DrawRotate($8,0.0,0.0,1281364,0); $9 = +HEAPF32[$7>>2]; _Model_DrawRotate($9,0.0,0.0,1281380,0); $10 = +HEAPF32[$5>>2]; _Model_DrawRotate($10,0.0,0.0,1281396,0); _Model_UpdateVB(); return; } function _PigModel_MakeParts() { var label = 0, sp = 0; sp = STACKTOP; _BoxDesc_BuildBox(1281412,15592); _BoxDesc_BuildRotatedBox(1281428,15636); _BoxDesc_BuildBox(1281444,15680); _BoxDesc_BuildBox(1281460,15724); _BoxDesc_BuildBox(1281476,15768); _BoxDesc_BuildBox(1281492,15812); return; } function _PigModel_Draw($0) { $0 = $0|0; var $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; _Model_ApplyTexture($0); $1 = ((($0)) + 16|0); $2 = +HEAPF32[$1>>2]; $3 = $2 * -0.01745329238474369; _Model_DrawRotate($3,0.0,0.0,1281412,1); _Model_DrawPart(1281428); $4 = ((($0)) + 240|0); $5 = +HEAPF32[$4>>2]; _Model_DrawRotate($5,0.0,0.0,1281444,0); $6 = ((($0)) + 248|0); $7 = +HEAPF32[$6>>2]; _Model_DrawRotate($7,0.0,0.0,1281460,0); $8 = +HEAPF32[$6>>2]; _Model_DrawRotate($8,0.0,0.0,1281476,0); $9 = +HEAPF32[$4>>2]; _Model_DrawRotate($9,0.0,0.0,1281492,0); _Model_UpdateVB(); return; } function _PigModel_GetNameY($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return +1.0750000476837158; } function _PigModel_GetEyeY($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return +0.75; } function _PigModel_GetSize($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 92|0); ;HEAP32[$1>>2]=HEAP32[15580>>2]|0;HEAP32[$1+4>>2]=HEAP32[15580+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[15580+8>>2]|0; return; } function _PigModel_GetBounds($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 56|0); ;HEAP32[$1>>2]=HEAP32[15556>>2]|0;HEAP32[$1+4>>2]=HEAP32[15556+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[15556+8>>2]|0;HEAP32[$1+12>>2]=HEAP32[15556+12>>2]|0;HEAP32[$1+16>>2]=HEAP32[15556+16>>2]|0;HEAP32[$1+20>>2]=HEAP32[15556+20>>2]|0; return; } function _CreeperModel_MakeParts() { var label = 0, sp = 0; sp = STACKTOP; _BoxDesc_BuildBox(1281508,15892); _BoxDesc_BuildBox(1281524,15936); _BoxDesc_BuildBox(1281540,15980); _BoxDesc_BuildBox(1281556,16024); _BoxDesc_BuildBox(1281572,16068); _BoxDesc_BuildBox(1281588,16112); return; } function _CreeperModel_Draw($0) { $0 = $0|0; var $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; _Model_ApplyTexture($0); $1 = ((($0)) + 16|0); $2 = +HEAPF32[$1>>2]; $3 = $2 * -0.01745329238474369; _Model_DrawRotate($3,0.0,0.0,1281508,1); _Model_DrawPart(1281524); $4 = ((($0)) + 240|0); $5 = +HEAPF32[$4>>2]; _Model_DrawRotate($5,0.0,0.0,1281540,0); $6 = ((($0)) + 248|0); $7 = +HEAPF32[$6>>2]; _Model_DrawRotate($7,0.0,0.0,1281556,0); $8 = +HEAPF32[$6>>2]; _Model_DrawRotate($8,0.0,0.0,1281572,0); $9 = +HEAPF32[$4>>2]; _Model_DrawRotate($9,0.0,0.0,1281588,0); _Model_UpdateVB(); return; } function _CreeperModel_GetNameY($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return +1.7000000476837158; } function _CreeperModel_GetEyeY($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return +1.375; } function _CreeperModel_GetSize($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 92|0); ;HEAP32[$1>>2]=HEAP32[15880>>2]|0;HEAP32[$1+4>>2]=HEAP32[15880+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[15880+8>>2]|0; return; } function _CreeperModel_GetBounds($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 56|0); ;HEAP32[$1>>2]=HEAP32[15856>>2]|0;HEAP32[$1+4>>2]=HEAP32[15856+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[15856+8>>2]|0;HEAP32[$1+12>>2]=HEAP32[15856+12>>2]|0;HEAP32[$1+16>>2]=HEAP32[15856+16>>2]|0;HEAP32[$1+20>>2]=HEAP32[15856+20>>2]|0; return; } function _ChickenModel_MakeParts() { var label = 0, sp = 0; sp = STACKTOP; _BoxDesc_BuildBox(1281604,16192); _BoxDesc_BuildBox(1281620,16236); _BoxDesc_BuildBox(1281636,16280); _BoxDesc_BuildRotatedBox(1281652,16324); _BoxDesc_BuildBox(1281668,16368); _BoxDesc_BuildBox(1281684,16412); _ChickenModel_MakeLeg(1281700,-3,0,-2,-1); _ChickenModel_MakeLeg(1281716,0,3,1,2); return; } function _ChickenModel_Draw($0) { $0 = $0|0; var $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0; var $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[319993]|0; _Model_ApplyTexture($0); $2 = ((($0)) + 16|0); $3 = +HEAPF32[$2>>2]; $4 = $3 * -0.01745329238474369; _Model_DrawRotate($4,0.0,0.0,1281604,1); $5 = +HEAPF32[$2>>2]; $6 = $5 * -0.01745329238474369; _Model_DrawRotate($6,0.0,0.0,1281620,1); $7 = +HEAPF32[$2>>2]; $8 = $7 * -0.01745329238474369; _Model_DrawRotate($8,0.0,0.0,1281636,1); _Model_DrawPart(1281652); $9 = ((($0)) + 256|0); $10 = +HEAPF32[$9>>2]; $11 = (+_Math_AbsF($10)); $12 = - $11; _Model_DrawRotate(0.0,0.0,$12,1281668,0); $13 = +HEAPF32[$9>>2]; $14 = (+_Math_AbsF($13)); _Model_DrawRotate(0.0,0.0,$14,1281684,0); $15 = (_PackedCol_Scale($1,0.69999998807907104)|0); HEAP32[319993] = $15; $16 = (_PackedCol_Scale($1,0.69999998807907104)|0); HEAP32[(1279976)>>2] = $16; $17 = (_PackedCol_Scale($1,0.69999998807907104)|0); HEAP32[(1279980)>>2] = $17; $18 = (_PackedCol_Scale($1,0.69999998807907104)|0); HEAP32[(1279984)>>2] = $18; $19 = (_PackedCol_Scale($1,0.69999998807907104)|0); HEAP32[(1279988)>>2] = $19; $20 = (_PackedCol_Scale($1,0.69999998807907104)|0); HEAP32[(1279992)>>2] = $20; $21 = ((($0)) + 240|0); $22 = +HEAPF32[$21>>2]; _Model_DrawRotate($22,0.0,0.0,1281700,0); $23 = ((($0)) + 248|0); $24 = +HEAPF32[$23>>2]; _Model_DrawRotate($24,0.0,0.0,1281716,0); _Model_UpdateVB(); return; } function _ChickenModel_GetNameY($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return +1.0125000476837158; } function _ChickenModel_GetEyeY($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return +0.875; } function _ChickenModel_GetSize($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 92|0); ;HEAP32[$1>>2]=HEAP32[16180>>2]|0;HEAP32[$1+4>>2]=HEAP32[16180+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[16180+8>>2]|0; return; } function _ChickenModel_GetBounds($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 56|0); ;HEAP32[$1>>2]=HEAP32[16156>>2]|0;HEAP32[$1+4>>2]=HEAP32[16156+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[16156+8>>2]|0;HEAP32[$1+12>>2]=HEAP32[16156+12>>2]|0;HEAP32[$1+16>>2]=HEAP32[16156+16>>2]|0;HEAP32[$1+20>>2]=HEAP32[16156+20>>2]|0; return; } function _ChickenModel_MakeLeg($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $5 = HEAP32[(1280016)>>2]|0; $6 = (+($2|0)); $7 = $6 * 0.0625; $8 = (+($1|0)); $9 = $8 * 0.0625; _BoxDesc_YQuad($5,32,0,3,3,$7,$9,-0.125,0.0625,0.015625,0); $10 = (+($3|0)); $11 = $10 * 0.0625; $12 = (+($4|0)); $13 = $12 * 0.0625; _BoxDesc_ZQuad($5,36,3,1,5,$11,$13,0.015625,0.3125,0.0625,0); $14 = ((($5)) + 36|0); $15 = HEAP32[$14>>2]|0; $16 = (($15) + -8)|0; _ModelPart_Init($0,$16,8,0.0,0.3125,0.0625); return; } function _HumanModel_MakeParts() { var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; _BoxDesc_BuildBox(1280140,16480); _BoxDesc_BuildBox((1280156),16524); _BoxDesc_BuildBox((1280172),16568); _BoxDesc_BuildBox((1280188),16612); _BoxDesc_BuildBox((1280204),16656); _BoxDesc_BuildBox((1280220),16700); _BoxDesc_BuildBox((1280236),16744); _BoxDesc_BuildBox((1280252),16788); _BoxDesc_BuildBox((1280332),16832); ;HEAP32[(1280348)>>2]=HEAP32[(1280220)>>2]|0;HEAP32[(1280348)+4>>2]=HEAP32[(1280220)+4>>2]|0;HEAP32[(1280348)+8>>2]=HEAP32[(1280220)+8>>2]|0;HEAP32[(1280348)+12>>2]=HEAP32[(1280220)+12>>2]|0; _BoxDesc_BuildBox((1280364),16876); ;HEAP32[(1280380)>>2]=HEAP32[(1280252)>>2]|0;HEAP32[(1280380)+4>>2]=HEAP32[(1280252)+4>>2]|0;HEAP32[(1280380)+8>>2]=HEAP32[(1280252)+8>>2]|0;HEAP32[(1280380)+12>>2]=HEAP32[(1280252)+12>>2]|0; $0 = HEAP8[(16880)>>0]|0; $1 = $0&255; $2 = (($1) + 255)|0; $3 = $2&255; HEAP8[(16880)>>0] = $3; $4 = +HEAPF32[(16884)>>2]; $5 = $4 + 0.0625; HEAPF32[(16884)>>2] = $5; $6 = HEAP8[(16792)>>0]|0; $7 = $6&255; $8 = (($7) + 255)|0; $9 = $8&255; HEAP8[(16792)>>0] = $9; $10 = +HEAPF32[(16808)>>2]; $11 = $10 + -0.0625; HEAPF32[(16808)>>2] = $11; ;HEAP32[(1280460)>>2]=HEAP32[(1280332)>>2]|0;HEAP32[(1280460)+4>>2]=HEAP32[(1280332)+4>>2]|0;HEAP32[(1280460)+8>>2]=HEAP32[(1280332)+8>>2]|0;HEAP32[(1280460)+12>>2]=HEAP32[(1280332)+12>>2]|0; ;HEAP32[(1280476)>>2]=HEAP32[(1280348)>>2]|0;HEAP32[(1280476)+4>>2]=HEAP32[(1280348)+4>>2]|0;HEAP32[(1280476)+8>>2]=HEAP32[(1280348)+8>>2]|0;HEAP32[(1280476)+12>>2]=HEAP32[(1280348)+12>>2]|0; _BoxDesc_BuildBox((1280492),16876); _BoxDesc_BuildBox((1280508),16788); _BoxDesc_BuildBox((1280396),16920); _BoxDesc_BuildBox((1280412),16964); _BoxDesc_BuildBox((1280428),17008); _BoxDesc_BuildBox((1280444),17052); $12 = HEAP8[(17012)>>0]|0; $13 = $12&255; $14 = (($13) + 255)|0; $15 = $14&255; HEAP8[(17012)>>0] = $15; $16 = +HEAPF32[(17016)>>2]; $17 = $16 + 0.0625; HEAPF32[(17016)>>2] = $17; $18 = HEAP8[(17056)>>0]|0; $19 = $18&255; $20 = (($19) + 255)|0; $21 = $20&255; HEAP8[(17056)>>0] = $21; $22 = +HEAPF32[(17072)>>2]; $23 = $22 + -0.0625; HEAPF32[(17072)>>2] = $23; ;HEAP32[(1280524)>>2]=HEAP32[(1280396)>>2]|0;HEAP32[(1280524)+4>>2]=HEAP32[(1280396)+4>>2]|0;HEAP32[(1280524)+8>>2]=HEAP32[(1280396)+8>>2]|0;HEAP32[(1280524)+12>>2]=HEAP32[(1280396)+12>>2]|0; ;HEAP32[(1280540)>>2]=HEAP32[(1280412)>>2]|0;HEAP32[(1280540)+4>>2]=HEAP32[(1280412)+4>>2]|0;HEAP32[(1280540)+8>>2]=HEAP32[(1280412)+8>>2]|0;HEAP32[(1280540)+12>>2]=HEAP32[(1280412)+12>>2]|0; _BoxDesc_BuildBox((1280556),17008); _BoxDesc_BuildBox((1280572),17052); return; } function _HumanModel_GetBounds($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 56|0); ;HEAP32[$1>>2]=HEAP32[16456>>2]|0;HEAP32[$1+4>>2]=HEAP32[16456+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[16456+8>>2]|0;HEAP32[$1+12>>2]=HEAP32[16456+12>>2]|0;HEAP32[$1+16>>2]=HEAP32[16456+16>>2]|0;HEAP32[$1+20>>2]=HEAP32[16456+20>>2]|0; return; } function _Model_ShouldRender($0) { $0 = $0|0; var $$sroa$0$0$$sroa_idx = 0, $$sroa$0$0$copyload = 0.0, $$sroa$4$0$$sroa_idx20 = 0, $$sroa$4$0$copyload = 0.0, $$sroa$7$0$$sroa_idx23 = 0, $$sroa$7$0$copyload = 0.0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0; var $22 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $1 = sp; $$sroa$0$0$$sroa_idx = ((($0)) + 4|0); $$sroa$0$0$copyload = +HEAPF32[$$sroa$0$0$$sroa_idx>>2]; $$sroa$4$0$$sroa_idx20 = ((($0)) + 8|0); $$sroa$4$0$copyload = +HEAPF32[$$sroa$4$0$$sroa_idx20>>2]; $$sroa$7$0$$sroa_idx23 = ((($0)) + 12|0); $$sroa$7$0$copyload = +HEAPF32[$$sroa$7$0$$sroa_idx23>>2]; _Entity_GetPickingBounds($0,$1); $2 = ((($1)) + 12|0); $3 = +HEAPF32[$2>>2]; $4 = +HEAPF32[$1>>2]; $5 = $3 - $4; $6 = ((($1)) + 16|0); $7 = +HEAPF32[$6>>2]; $8 = ((($1)) + 4|0); $9 = +HEAPF32[$8>>2]; $10 = $7 - $9; $11 = ((($1)) + 20|0); $12 = +HEAPF32[$11>>2]; $13 = ((($1)) + 8|0); $14 = +HEAPF32[$13>>2]; $15 = $12 - $14; $16 = $10 > $15; $17 = $16 ? $10 : $15; $18 = $5 > $17; $19 = $18 ? $5 : $17; $20 = $10 * 0.5; $21 = $$sroa$4$0$copyload + $20; $22 = (_FrustumCulling_SphereInFrustum($$sroa$0$0$copyload,$21,$$sroa$7$0$copyload,$19)|0); STACKTOP = sp;return ($22|0); } function _Model_RenderDistance($0) { $0 = $0|0; var $$sroa$0$0$copyload = 0.0, $$sroa$024$0$$sroa_idx = 0, $$sroa$024$0$copyload = 0.0, $$sroa$4$0$copyload = 0.0, $$sroa$426$0$$sroa_idx27 = 0, $$sroa$426$0$copyload = 0.0, $$sroa$5$0$copyload = 0.0, $$sroa$7$0$$sroa_idx30 = 0, $$sroa$7$0$copyload = 0.0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0; var $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0; var $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $$sroa$024$0$$sroa_idx = ((($0)) + 4|0); $$sroa$024$0$copyload = +HEAPF32[$$sroa$024$0$$sroa_idx>>2]; $$sroa$426$0$$sroa_idx27 = ((($0)) + 8|0); $$sroa$426$0$copyload = +HEAPF32[$$sroa$426$0$$sroa_idx27>>2]; $$sroa$7$0$$sroa_idx30 = ((($0)) + 12|0); $$sroa$7$0$copyload = +HEAPF32[$$sroa$7$0$$sroa_idx30>>2]; $$sroa$0$0$copyload = +HEAPF32[(1230620)>>2]; $$sroa$4$0$copyload = +HEAPF32[(1230624)>>2]; $$sroa$5$0$copyload = +HEAPF32[(1230628)>>2]; $1 = ((($0)) + 72|0); $2 = +HEAPF32[$1>>2]; $3 = ((($0)) + 60|0); $4 = +HEAPF32[$3>>2]; $5 = $2 - $4; $6 = $5 * 0.5; $7 = $$sroa$426$0$copyload + $6; $8 = $$sroa$0$0$copyload - $$sroa$024$0$copyload; $9 = ((($0)) + 68|0); $10 = +HEAPF32[$9>>2]; $11 = ((($0)) + 56|0); $12 = +HEAPF32[$11>>2]; $13 = $10 - $12; $14 = $13 * 0.5; $15 = (+_Model_MinDist($8,$14)); $16 = $$sroa$4$0$copyload - $7; $17 = +HEAPF32[$1>>2]; $18 = +HEAPF32[$3>>2]; $19 = $17 - $18; $20 = $19 * 0.5; $21 = (+_Model_MinDist($16,$20)); $22 = $$sroa$5$0$copyload - $$sroa$7$0$copyload; $23 = ((($0)) + 76|0); $24 = +HEAPF32[$23>>2]; $25 = ((($0)) + 64|0); $26 = +HEAPF32[$25>>2]; $27 = $24 - $26; $28 = $27 * 0.5; $29 = (+_Model_MinDist($22,$28)); $30 = $15 * $15; $31 = $21 * $21; $32 = $30 + $31; $33 = $29 * $29; $34 = $32 + $33; return (+$34); } function _Model_MinDist($0,$1) { $0 = +$0; $1 = +$1; var $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = $0 - $1; $3 = (+_Math_AbsF($2)); $4 = $0 + $1; $5 = (+_Math_AbsF($4)); $6 = $3 < $5; $7 = $6 ? $3 : $5; $8 = (+_Math_AbsF($0)); $9 = $8 < $7; if (!($9)) { $11 = $7; return (+$11); } $10 = (+_Math_AbsF($0)); $11 = $10; return (+$11); } function _Model_Render($0,$1) { $0 = $0|0; $1 = $1|0; var $$byval_copy = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; $$byval_copy = sp + 80|0; $2 = sp + 16|0; $3 = sp; $4 = ((($1)) + 4|0); ;HEAP32[$3>>2]=HEAP32[$4>>2]|0;HEAP32[$3+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$4+8>>2]|0; $5 = ((($0)) + 43|0); $6 = HEAP8[$5>>0]|0; $7 = ($6<<24>>24)==(0); if (!($7)) { $8 = ((($1)) + 200|0); $9 = +HEAPF32[$8>>2]; $10 = ((($3)) + 4|0); $11 = +HEAPF32[$10>>2]; $12 = $9 + $11; HEAPF32[$10>>2] = $12; } _Model_SetupState($0,$1); _Gfx_SetVertexFormat(1); $13 = ((($0)) + 76|0); $14 = HEAP32[$13>>2]|0; $15 = ((($1)) + 128|0); ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$3+8>>2]|0; FUNCTION_TABLE_viii[$14 & 31]($1,$$byval_copy,$15); _Matrix_Mul($2,$15,(1260364)); _Gfx_LoadMatrix(1,$2); $16 = ((($0)) + 16|0); $17 = HEAP32[$16>>2]|0; FUNCTION_TABLE_vi[$17 & 511]($1); _Gfx_LoadMatrix(1,(1260364)); STACKTOP = sp;return; } function _Model_SetupState($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0; var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $5 = 0, $6 = 0; var $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, $storemerge = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 36|0); HEAP32[$2>>2] = 0; $3 = HEAP32[$1>>2]|0; $4 = ((($3)) + 12|0); $5 = HEAP32[$4>>2]|0; $6 = (FUNCTION_TABLE_ii[$5 & 31]($1)|0); $7 = ((($1)) + 108|0); $8 = HEAP8[$7>>0]|0; $9 = ($8<<24>>24)!=(0); $10 = ((($0)) + 46|0); $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { $13 = ((($1)) + 116|0); $14 = HEAP32[$13>>2]|0; $15 = ($14|0)!=(0); $phitmp = $15&1; $18 = $phitmp; } else { $18 = 1; } $16 = $9&1; $17 = $18 & $16; $19 = ((($1)) + 120|0); $20 = +HEAPF32[$19>>2]; $21 = $20 * 0.015625; HEAPF32[(1279996)>>2] = $21; $22 = ((($1)) + 124|0); $23 = +HEAPF32[$22>>2]; $24 = ($17|0)==(0); $25 = $24 ? 0.03125 : 0.015625; $26 = $23 * $25; HEAPF32[(1280000)>>2] = $26; HEAP32[319993] = $6; $27 = ((($1)) + 110|0); $28 = HEAP8[$27>>0]|0; $29 = ($28<<24>>24)==(0); if ($29) { $30 = (_PackedCol_Scale($6,0.5)|0); HEAP32[(1279976)>>2] = $30; $31 = (_PackedCol_Scale($6,0.80000001192092896)|0); HEAP32[(1279980)>>2] = $31; $32 = (_PackedCol_Scale($6,0.60000002384185791)|0); $storemerge = $32; } else { HEAP32[(1279976)>>2] = $6; HEAP32[(1279980)>>2] = $6; $storemerge = $6; } HEAP32[(1279988)>>2] = $storemerge; $33 = HEAP32[(1279980)>>2]|0; HEAP32[(1279984)>>2] = $33; HEAP32[(1279992)>>2] = $storemerge; $34 = ((($1)) + 20|0); $35 = +HEAPF32[$34>>2]; $36 = ((($1)) + 28|0); $37 = +HEAPF32[$36>>2]; $38 = $35 - $37; $39 = $38 * 0.01745329238474369; $40 = $39; $41 = (+_Math_Cos($40)); $42 = $41; HEAPF32[(1280004)>>2] = $42; $43 = (+_Math_Sin($40)); $44 = $43; HEAPF32[(1280008)>>2] = $44; HEAP32[(1280016)>>2] = $0; return; } function _Model_RenderArm($0,$1) { $0 = $0|0; $1 = $1|0; var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; var $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 176|0; $$byval_copy1 = sp + 156|0; $$byval_copy = sp + 144|0; $2 = sp + 80|0; $3 = sp + 16|0; $4 = sp; $5 = ((($1)) + 4|0); ;HEAP32[$4>>2]=HEAP32[$5>>2]|0;HEAP32[$4+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$5+8>>2]|0; $6 = ((($0)) + 43|0); $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if (!($8)) { $9 = ((($1)) + 200|0); $10 = +HEAPF32[$9>>2]; $11 = ((($4)) + 4|0); $12 = +HEAPF32[$11>>2]; $13 = $10 + $12; HEAPF32[$11>>2] = $13; } _Model_SetupState($0,$1); _Gfx_SetVertexFormat(1); _Model_ApplyTexture($1); $14 = HEAP8[(1280014)>>0]|0; $15 = ($14<<24>>24)==(0); $16 = ((($0)) + 40|0); $17 = HEAP8[$16>>0]|0; $18 = $17&255; $19 = (0 - ($18))|0; $20 = (+($19|0)); $21 = $20 * 0.0625; if ($15) { $29 = $21 + 0.10000000149011612; $30 = ((($0)) + 41|0); $31 = HEAP8[$30>>0]|0; $32 = $31&255; $33 = (0 - ($32))|0; $34 = (+($33|0)); $35 = $34 * 0.0625; $36 = $35 + -0.25999999046325684; _Matrix_Translate($3,$29,$36,0.0); } else { $22 = ((($0)) + 41|0); $23 = HEAP8[$22>>0]|0; $24 = $23&255; $25 = (0 - ($24))|0; $26 = (+($25|0)); $27 = $26 * 0.0625; $28 = $27 + -0.10000000149011612; _Matrix_Translate($3,$21,$28,0.0); } $37 = ((($1)) + 80|0); ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$4+8>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$37>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$37+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$37+8>>2]|0; _Entity_GetTransform($1,$$byval_copy,$$byval_copy1,$2); _Matrix_Mul($2,$2,(1260364)); _Matrix_Mul($2,$3,$2); _Gfx_LoadMatrix(1,$2); HEAP8[(1280012)>>0] = 2; $38 = ((($0)) + 80|0); $39 = HEAP32[$38>>2]|0; FUNCTION_TABLE_vi[$39 & 511]($1); HEAP8[(1280012)>>0] = 0; _Gfx_LoadMatrix(1,(1260364)); STACKTOP = sp;return; } function _Model_Get($0) { $0 = $0|0; var $$0 = 0, $$010 = 0, $$011 = 0, $$08 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $$010 = HEAP32[320433]|0; $1 = ($$010|0)==(0|0); if ($1) { $$08 = 0; return ($$08|0); } $$011 = $$010; while(1) { $2 = HEAP32[$$011>>2]|0; $3 = (_String_CaselessEqualsConst($0,$2)|0); $4 = ($3|0)==(0); if (!($4)) { break; } $8 = ((($$011)) + 96|0); $$0 = HEAP32[$8>>2]|0; $9 = ($$0|0)==(0|0); if ($9) { $$08 = 0; label = 7; break; } else { $$011 = $$0; } } if ((label|0) == 7) { return ($$08|0); } $5 = ((($$011)) + 42|0); $6 = HEAP8[$5>>0]|0; $7 = ($6<<24>>24)==(0); if (!($7)) { $$08 = $$011; return ($$08|0); } _Model_Make($$011); $$08 = $$011; return ($$08|0); } function _Options_ChangedCount() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[(1286904)>>2]|0; return ($0|0); } function _Options_HasChanged($0) { $0 = $0|0; var $$05 = 0, $$07 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; var $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp + 8|0; $2 = sp; $3 = HEAP32[(1286904)>>2]|0; $4 = ($3|0)>(0); if (!($4)) { $$05 = 0; STACKTOP = sp;return ($$05|0); } $$07 = 0; while(1) { _StringsBuffer_UNSAFE_Get($2,1286896,$$07); $8 = $2; $9 = $8; $10 = HEAP32[$9>>2]|0; $11 = (($8) + 4)|0; $12 = $11; $13 = HEAP32[$12>>2]|0; $14 = $1; $15 = $14; HEAP32[$15>>2] = $10; $16 = (($14) + 4)|0; $17 = $16; HEAP32[$17>>2] = $13; $18 = (_String_CaselessEquals($1,$0)|0); $19 = ($18|0)==(0); $6 = (($$07) + 1)|0; if (!($19)) { $$05 = 1; label = 5; break; } $5 = HEAP32[(1286904)>>2]|0; $7 = ($6|0)<($5|0); if ($7) { $$07 = $6; } else { $$05 = 0; label = 5; break; } } if ((label|0) == 5) { STACKTOP = sp;return ($$05|0); } return (0)|0; } function _Options_UNSAFE_Get($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $2 = sp + 24|0; $3 = sp + 16|0; $4 = sp + 8|0; $5 = sp; _String_FromReadonly($2,$0); _EntryList_UNSAFE_Get($3,1281744,$2); $6 = $3; $7 = $6; $8 = HEAP32[$7>>2]|0; $9 = (($6) + 4)|0; $10 = $9; $11 = HEAP32[$10>>2]|0; $12 = $1; $13 = $12; HEAP32[$13>>2] = $8; $14 = (($12) + 4)|0; $15 = $14; HEAP32[$15>>2] = $11; $16 = ((($1)) + 4|0); $17 = HEAP16[$16>>1]|0; $18 = ($17<<16>>16)==(0); if (!($18)) { $$0 = 1; STACKTOP = sp;return ($$0|0); } $19 = (_String_IndexOfAt($2,0,45)|0); $20 = ($19|0)==(-1); if ($20) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $21 = (($19) + 1)|0; _String_UNSAFE_SubstringAt($4,$2,$21); $22 = $4; $23 = $22; $24 = HEAP32[$23>>2]|0; $25 = (($22) + 4)|0; $26 = $25; $27 = HEAP32[$26>>2]|0; $28 = $2; $29 = $28; HEAP32[$29>>2] = $24; $30 = (($28) + 4)|0; $31 = $30; HEAP32[$31>>2] = $27; _EntryList_UNSAFE_Get($5,1281744,$2); $32 = $5; $33 = $32; $34 = HEAP32[$33>>2]|0; $35 = (($32) + 4)|0; $36 = $35; $37 = HEAP32[$36>>2]|0; $38 = $1; $39 = $38; HEAP32[$39>>2] = $34; $40 = (($38) + 4)|0; $41 = $40; HEAP32[$41>>2] = $37; $42 = HEAP16[$16>>1]|0; $43 = ($42<<16>>16)!=(0); $44 = $43&1; $$0 = $44; STACKTOP = sp;return ($$0|0); } function _Options_Get($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $3 = sp; (_Options_UNSAFE_Get($0,$3)|0); $4 = ((($1)) + 4|0); HEAP16[$4>>1] = 0; $5 = ((($3)) + 4|0); $6 = HEAP16[$5>>1]|0; $7 = ($6<<16>>16)==(0); if ($7) { _String_AppendConst($1,$2); STACKTOP = sp;return; } else { _String_AppendString($1,$3); STACKTOP = sp;return; } } function _Options_GetInt($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $4 = sp + 8|0; $5 = sp; $6 = (_Options_UNSAFE_Get($0,$4)|0); $7 = ($6<<24>>24)==(0); if ($7) { $$0 = $3; STACKTOP = sp;return ($$0|0); } $8 = (_Convert_ParseInt($4,$5)|0); $9 = ($8<<24>>24)==(0); if ($9) { $$0 = $3; STACKTOP = sp;return ($$0|0); } $10 = HEAP32[$5>>2]|0; $11 = ($10|0)<($1|0); $12 = $11 ? $1 : $10; $13 = ($12|0)>($2|0); $14 = $13 ? $2 : $12; HEAP32[$5>>2] = $14; $$0 = $14; STACKTOP = sp;return ($$0|0); } function _Options_GetBool($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = sp + 8|0; $4 = (_Options_UNSAFE_Get($0,$2)|0); $5 = ($4<<24>>24)==(0); if ($5) { $$0 = $1; STACKTOP = sp;return ($$0|0); } $6 = (_Convert_ParseBool($2,$3)|0); $7 = ($6<<24>>24)==(0); $8 = HEAP8[$3>>0]|0; $spec$select = $7 ? $1 : $8; $$0 = $spec$select; STACKTOP = sp;return ($$0|0); } function _Options_GetFloat($0,$1,$2,$3) { $0 = $0|0; $1 = +$1; $2 = +$2; $3 = +$3; var $$0 = 0.0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $4 = sp + 8|0; $5 = sp; $6 = (_Options_UNSAFE_Get($0,$4)|0); $7 = ($6<<24>>24)==(0); if ($7) { $$0 = $3; STACKTOP = sp;return (+$$0); } $8 = (_Convert_ParseFloat($4,$5)|0); $9 = ($8<<24>>24)==(0); if ($9) { $$0 = $3; STACKTOP = sp;return (+$$0); } $10 = +HEAPF32[$5>>2]; $11 = $10 < $1; $12 = $11 ? $1 : $10; $13 = $12 > $2; $14 = $13 ? $2 : $12; HEAPF32[$5>>2] = $14; $$0 = $14; STACKTOP = sp;return (+$$0); } function _Options_GetEnum($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $4 = sp; $5 = (_Options_UNSAFE_Get($0,$4)|0); $6 = ($5<<24>>24)==(0); if ($6) { $$0 = $1; } else { $7 = (_Utils_ParseEnum($4,$1,$2,$3)|0); $$0 = $7; } STACKTOP = sp;return ($$0|0); } function _Options_SetBool($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1<<24>>24)==(0); $3 = $2 ? 17096 : 17104; _Options_Set($0,$3); return; } function _Options_Set($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; _String_FromReadonly($2,$0); _Options_SetString($2,$1); STACKTOP = sp;return; } function _Options_SetString($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0|0); if ($2) { label = 3; } else { $3 = ((($1)) + 4|0); $4 = HEAP16[$3>>1]|0; $5 = ($4<<16>>16)==(0); if ($5) { label = 3; } else { _EntryList_Set(1281744,$0,$1); } } if ((label|0) == 3) { $6 = (_EntryList_Remove(1281744,$0)|0); $7 = ($6|0)==(-1); if ($7) { return; } } _Options_Save(); $8 = (_Options_HasChanged($0)|0); $9 = ($8<<24>>24)==(0); if (!($9)) { return; } _StringsBuffer_Add(1286896,$0); return; } function _Options_Save() { var label = 0, sp = 0; sp = STACKTOP; _EntryList_Save(1281744); _StringsBuffer_Clear(1286896); return; } function _Options_SetInt($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $2 = sp + 24|0; $3 = sp; HEAP32[$2>>2] = $3; $4 = ((($2)) + 4|0); HEAP16[$4>>1] = 0; $5 = ((($2)) + 6|0); HEAP16[$5>>1] = 24; _String_AppendInt($2,$1); _Options_Set($0,$2); STACKTOP = sp;return; } function _Options_Load() { var $$07 = 0, $$07$in = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 8|0; $1 = sp + 24|0; $2 = sp + 16|0; $3 = sp; $4 = HEAP32[320436]|0; $5 = ($4|0)==(0|0); if ($5) { _EntryList_Init(1281744,34479,61); _EntryList_Init(1281744,34499,61); STACKTOP = sp;return; } $6 = HEAP32[(1281760)>>2]|0; $7 = ($6|0)>(0); if ($7) { $$07$in = $6; while(1) { $$07 = (($$07$in) + -1)|0; _StringsBuffer_UNSAFE_Get($3,(1281752),$$07); $8 = $3; $9 = $8; $10 = HEAP32[$9>>2]|0; $11 = (($8) + 4)|0; $12 = $11; $13 = HEAP32[$12>>2]|0; $14 = $0; $15 = $14; HEAP32[$15>>2] = $10; $16 = (($14) + 4)|0; $17 = $16; HEAP32[$17>>2] = $13; (_String_UNSAFE_Separate($0,61,$1,$2)|0); $18 = (_Options_HasChanged($1)|0); $19 = ($18<<24>>24)==(0); if ($19) { _StringsBuffer_Remove((1281752),$$07); } $20 = ($$07$in|0)>(1); if ($20) { $$07$in = $$07; } else { break; } } } _EntryList_Load(1281744,16); STACKTOP = sp;return; } function _Options_LoadFilter($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp + 8|0; $2 = sp; (_String_UNSAFE_Separate($0,61,$1,$2)|0); $3 = (_Options_HasChanged($1)|0); $4 = ($3<<24>>24)==(0); $5 = $4&1; STACKTOP = sp;return ($5|0); } function _PackedCol_Scale($0,$1) { $0 = $0|0; $1 = +$1; var $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0; var $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $2 = $0 & 255; $3 = (+($2|0)); $4 = $3 * $1; $5 = (~~(($4))&255); $6 = (8)?($0 >>> 8):($0); $7 = $6 & 255; $8 = (+($7|0)); $9 = $8 * $1; $10 = (~~(($9))&255); $11 = (16)?($0 >>> 16):($0); $12 = $11 & 255; $13 = (+($12|0)); $14 = $13 * $1; $15 = (~~(($14))&255); $16 = $0 & -16777216; $17 = $5&255; $18 = $16 | $17; $19 = $10&255; $20 = $19 << 8; $21 = $18 | $20; $22 = $15&255; $23 = $22 << 16; $24 = $21 | $23; return ($24|0); } function _PackedCol_Lerp($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = +$2; var $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = $0&255; $4 = (+($3&255)); $5 = $1&255; $6 = (+($5&255)); $7 = (+_Math_Lerp($4,$6,$2)); $8 = (~~(($7))&255); $9 = (8)?($0 >>> 8):($0); $10 = $9&255; $11 = (+($10&255)); $12 = (8)?($1 >>> 8):($1); $13 = $12&255; $14 = (+($13&255)); $15 = (+_Math_Lerp($11,$14,$2)); $16 = (~~(($15))&255); $17 = (16)?($0 >>> 16):($0); $18 = $17&255; $19 = (+($18&255)); $20 = (16)?($1 >>> 16):($1); $21 = $20&255; $22 = (+($21&255)); $23 = (+_Math_Lerp($19,$22,$2)); $24 = (~~(($23))&255); $25 = $0 & -16777216; $26 = $8&255; $27 = $25 | $26; $28 = $16&255; $29 = $28 << 8; $30 = $27 | $29; $31 = $24&255; $32 = $31 << 16; $33 = $30 | $32; return ($33|0); } function _PackedCol_Tint($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = $0 & 255; $3 = $1 & 255; $4 = Math_imul($3, $2)|0; $5 = (($4>>>0) / 255)&-1; $6 = (8)?($0 >>> 8):($0); $7 = $6 & 255; $8 = (8)?($1 >>> 8):($1); $9 = $8 & 255; $10 = Math_imul($9, $7)|0; $11 = (($10>>>0) / 255)&-1; $12 = (16)?($0 >>> 16):($0); $13 = $12 & 255; $14 = (16)?($1 >>> 16):($1); $15 = $14 & 255; $16 = Math_imul($15, $13)|0; $17 = (($16>>>0) / 255)&-1; $18 = $0 & -16777216; $19 = $5 | $18; $20 = $11 << 8; $21 = $19 | $20; $22 = $17 << 16; $23 = $21 | $22; return ($23|0); } function _PackedCol_GetShaded($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = (_PackedCol_Scale($0,0.60000002384185791)|0); HEAP32[$1>>2] = $4; $5 = (_PackedCol_Scale($0,0.80000001192092896)|0); HEAP32[$2>>2] = $5; $6 = (_PackedCol_Scale($0,0.5)|0); HEAP32[$3>>2] = $6; return; } function _PackedCol_Unhex($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$010 = 0, $$011 = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ($2|0)>(0); if (!($3)) { $$010 = 1; return ($$010|0); } $$011 = 0; while(1) { $6 = (($0) + ($$011)|0); $7 = HEAP8[$6>>0]|0; $8 = (_PackedCol_DeHex($7)|0); $9 = (($1) + ($$011<<2)|0); HEAP32[$9>>2] = $8; $10 = ($8|0)==(-1); $4 = (($$011) + 1)|0; if ($10) { $$010 = 0; label = 5; break; } $5 = ($4|0)<($2|0); if ($5) { $$011 = $4; } else { $$010 = 1; label = 5; break; } } if ((label|0) == 5) { return ($$010|0); } return (0)|0; } function _PackedCol_DeHex($0) { $0 = $0|0; var $$off = 0, $$off12 = 0, $$off13 = 0, $$sink = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $1 = $0 << 24 >> 24; $$off = (($0) + -48)<<24>>24; $2 = ($$off&255)<(10); if ($2) { $$sink = -48; $6 = (($$sink) + ($1))|0; return ($6|0); } $$off12 = (($0) + -97)<<24>>24; $3 = ($$off12&255)<(6); if ($3) { $$sink = -87; $6 = (($$sink) + ($1))|0; return ($6|0); } else { $$off13 = (($0) + -65)<<24>>24; $4 = ($$off13&255)<(6); $5 = (($1) + -55)|0; $spec$select = $4 ? $5 : -1; return ($spec$select|0); } return (0)|0; } function _PackedCol_ToHex($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = $1&255; _String_AppendHex($0,$2); $3 = (8)?($1 >>> 8):($1); $4 = $3&255; _String_AppendHex($0,$4); $5 = (16)?($1 >>> 16):($1); $6 = $5&255; _String_AppendHex($0,$6); return; } function _PackedCol_TryParseHex($0,$1) { $0 = $0|0; $1 = $1|0; var $$012 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $spec$select = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $2 = sp; $3 = HEAP32[$0>>2]|0; $4 = ((($0)) + 4|0); $5 = HEAP16[$4>>1]|0; $6 = ($5&65535)<(6); if ($6) { $$012 = 0; STACKTOP = sp;return ($$012|0); } $7 = ($5<<16>>16)==(6); if (!($7)) { $8 = HEAP8[$3>>0]|0; $9 = ($8<<24>>24)!=(35); $10 = ($5&65535)>(7); $or$cond = $10 | $9; if ($or$cond) { $$012 = 0; STACKTOP = sp;return ($$012|0); } } $11 = HEAP8[$3>>0]|0; $12 = ($11<<24>>24)==(35); $13 = ((($3)) + 1|0); $spec$select = $12 ? $13 : $3; $14 = (_PackedCol_Unhex($spec$select,$2,6)|0); $15 = ($14<<24>>24)==(0); if ($15) { $$012 = 0; STACKTOP = sp;return ($$012|0); } $16 = HEAP32[$2>>2]|0; $17 = $16 << 4; $18 = ((($2)) + 4|0); $19 = HEAP32[$18>>2]|0; $20 = $17 | $19; $21 = $20&255; HEAP8[$1>>0] = $21; $22 = ((($2)) + 8|0); $23 = HEAP32[$22>>2]|0; $24 = $23 << 4; $25 = ((($2)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $24 | $26; $28 = $27&255; $29 = ((($1)) + 1|0); HEAP8[$29>>0] = $28; $30 = ((($2)) + 16|0); $31 = HEAP32[$30>>2]|0; $32 = $31 << 4; $33 = ((($2)) + 20|0); $34 = HEAP32[$33>>2]|0; $35 = $32 | $34; $36 = $35&255; $37 = ((($1)) + 2|0); HEAP8[$37>>0] = $36; $$012 = 1; STACKTOP = sp;return ($$012|0); } function _Particles_Init() { var label = 0, sp = 0; sp = STACKTOP; (_ScheduledTask_Add(0.050000000000000003,339)|0); _Random_SeedFromCurrentTime(549608); _OnContextRecreated_1158(0); _Event_Register(1252376,0,20); _Event_Register((1250816),0,17); _Event_Register((1251856),0,340); _Event_Register((1252116),0,341); return; } function _Particles_Free() { var label = 0, sp = 0; sp = STACKTOP; _Gfx_DeleteTexture(1292048); _OnContextLost_1156(0); _Event_Unregister(1252376,0,20); _Event_Unregister((1250816),0,17); _Event_Unregister((1251856),0,340); _Event_Unregister((1252116),0,341); return; } function _Particles_Reset() { var label = 0, sp = 0; sp = STACKTOP; HEAP32[323010] = 0; HEAP32[323011] = 0; return; } function _OnContextLost_1156($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _Gfx_DeleteVb(1292052); return; } function _OnBreakBlockEffect_Handler($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$byval_copy = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $$byval_copy = sp; ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0; _Particles_BreakBlockEffect($$byval_copy,$2,$3); STACKTOP = sp;return; } function _OnFileChanged_1157($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (_String_CaselessEqualsConst($2,34511)|0); $4 = ($3|0)==(0); if ($4) { return; } (_Game_UpdateTexture(1292048,$1,$2,0)|0); return; } function _OnContextRecreated_1158($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Gfx_CreateDynamicVb(1,2400)|0); HEAP32[323013] = $1; return; } function _Particles_BreakBlockEffect($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$0160168 = 0, $$0161169 = 0, $$0163 = 0, $$0167 = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$0$0$copyload = 0.0, $$sroa$0103$0$$sroa_idx = 0, $$sroa$0103$0$copyload = 0.0, $$sroa$0114$0$$sroa_idx115 = 0, $$sroa$0132$0$copyload = 0.0, $$sroa$12$0$$sroa_idx128 = 0, $$sroa$5$0$$sroa_idx97 = 0, $$sroa$5$0$copyload = 0.0, $$sroa$5106$0$$sroa_idx107 = 0, $$sroa$5106$0$copyload = 0.0, $$sroa$6$0$$sroa_idx119 = 0, $$sroa$6135$0$$sroa_idx136 = 0, $$sroa$6135$0$copyload = 0.0; var $$sroa$7$0$$sroa_idx100 = 0, $$sroa$7$0$copyload = 0.0, $$sroa$7110$0$$sroa_idx111 = 0, $$sroa$7110$0$copyload = 0.0, $$sroa$8$0$$sroa_idx123 = 0, $10 = 0, $100 = 0.0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0, $112 = 0; var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0.0; var $22 = 0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; var $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0; var $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0.0; var $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0.0, $94 = 0.0; var $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0, $99 = 0.0, $exitcond = 0, $exitcond170 = 0, $exitcond171 = 0, $or$cond = 0, $or$cond164 = 0, $or$cond165 = 0, $or$cond166 = 0, $or$cond3 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; $$byval_copy1 = sp + 80|0; $$byval_copy = sp + 68|0; $3 = sp + 64|0; $4 = sp + 52|0; $5 = sp + 40|0; $6 = sp + 28|0; $7 = sp + 16|0; $8 = sp; $9 = ($2<<16>>16)==(0); if (!($9)) { STACKTOP = sp;return; } $10 = $1&65535; $11 = (583428 + ($10)|0); $12 = HEAP8[$11>>0]|0; $13 = ($12<<24>>24)==(4); if ($13) { STACKTOP = sp;return; } _IVec3_ToVec3($4,$0); $14 = ($10*6)|0; $15 = (624900 + ($14<<1)|0); $16 = HEAP16[$15>>1]|0; _Atlas1D_TexRec($8,$16,1,$3); $$sroa$0132$0$copyload = +HEAPF32[$8>>2]; $$sroa$6135$0$$sroa_idx136 = ((($8)) + 4|0); $$sroa$6135$0$copyload = +HEAPF32[$$sroa$6135$0$$sroa_idx136>>2]; $17 = +HEAPF32[(1384656)>>2]; $18 = $17 * 0.0625; $$sroa$0103$0$$sroa_idx = (588036 + (($10*12)|0)|0); $$sroa$0103$0$copyload = +HEAPF32[$$sroa$0103$0$$sroa_idx>>2]; $$sroa$5106$0$$sroa_idx107 = (((588036 + (($10*12)|0)|0)) + 4|0); $$sroa$5106$0$copyload = +HEAPF32[$$sroa$5106$0$$sroa_idx107>>2]; $$sroa$7110$0$$sroa_idx111 = (((588036 + (($10*12)|0)|0)) + 8|0); $$sroa$7110$0$copyload = +HEAPF32[$$sroa$7110$0$$sroa_idx111>>2]; $$sroa$0$0$$sroa_idx = (597252 + (($10*12)|0)|0); $$sroa$0$0$copyload = +HEAPF32[$$sroa$0$0$$sroa_idx>>2]; $$sroa$5$0$$sroa_idx97 = (((597252 + (($10*12)|0)|0)) + 4|0); $$sroa$5$0$copyload = +HEAPF32[$$sroa$5$0$$sroa_idx97>>2]; $$sroa$7$0$$sroa_idx100 = (((597252 + (($10*12)|0)|0)) + 8|0); $$sroa$7$0$copyload = +HEAPF32[$$sroa$7$0$$sroa_idx100>>2]; $19 = $$sroa$0103$0$copyload * 16.0; $20 = (~~(($19))); $21 = $$sroa$0$0$copyload * 16.0; $22 = (~~(($21))); $23 = $$sroa$7110$0$copyload * 16.0; $24 = (~~(($23))); $25 = $$sroa$7$0$copyload * 16.0; $26 = (~~(($25))); $27 = ($20|0)<($24|0); $28 = $27 ? $20 : $24; $29 = $$sroa$5$0$copyload * 16.0; $30 = 16.0 - $29; $31 = (~~(($30))); $32 = ($22|0)<($26|0); $33 = $32 ? $22 : $26; $34 = $$sroa$5106$0$copyload * 16.0; $35 = 16.0 - $34; $36 = (~~(($35))); $37 = ($28|0)<(12); $38 = ($33|0)>(12); $or$cond = $37 & $38; $spec$select = $or$cond ? 12 : $33; $39 = ($31|0)<(12); $40 = ($36|0)>(12); $or$cond3 = $40 & $39; $$0163 = $or$cond3 ? 12 : $36; $41 = (+($33|0)); $42 = $41 * 0.0625; $43 = $$sroa$0132$0$copyload + $42; $44 = (+($36|0)); $45 = $18 * $44; $46 = $$sroa$6135$0$copyload + $45; $47 = ((($5)) + 4|0); $48 = ((($5)) + 8|0); $49 = ((($7)) + 4|0); $50 = ((($7)) + 8|0); $51 = $18 * 4.0; $52 = $18 * 0.0099999997764825821; $$0161169 = 0; while(1) { $53 = (+($$0161169|0)); $54 = $53 * 0.25; $55 = $54 + 0.125; $56 = $54 + -0.5; $57 = $56 + 0.125; $$0160168 = 0; while(1) { $58 = (+($$0160168|0)); $59 = $58 * 0.25; $60 = $59 + 0.0625; $61 = $59 + 0.125; $$0167 = 0; while(1) { $62 = (+($$0167|0)); $63 = $62 * 0.25; $64 = $63 + 0.125; _Vec3_Create3_1160($5,$55,$60,$64); $65 = +HEAPF32[$5>>2]; $66 = $65 < $$sroa$0103$0$copyload; $67 = $65 > $$sroa$0$0$copyload; $or$cond164 = $66 | $67; if (!($or$cond164)) { $68 = +HEAPF32[$47>>2]; $69 = $68 < $$sroa$5106$0$copyload; $70 = $68 > $$sroa$5$0$copyload; $or$cond165 = $69 | $70; if (!($or$cond165)) { $71 = +HEAPF32[$48>>2]; $72 = $71 < $$sroa$7110$0$copyload; $73 = $71 > $$sroa$7$0$copyload; $or$cond166 = $72 | $73; if (!($or$cond166)) { $74 = (+_Random_Float(549608)); $75 = $74 * 0.40000000596046448; $76 = $75 + -0.20000000298023224; $77 = $57 + $76; HEAPF32[$7>>2] = $77; $78 = (+_Random_Float(549608)); $79 = $78 * 0.40000000596046448; $80 = $79 + -0.20000000298023224; $81 = $61 + $80; HEAPF32[$49>>2] = $81; $82 = $63 + -0.5; $83 = $82 + 0.125; $84 = (+_Random_Float(549608)); $85 = $84 * 0.40000000596046448; $86 = $85 + -0.20000000298023224; $87 = $83 + $86; HEAPF32[$50>>2] = $87; $88 = (_Random_Range_1162($28,$spec$select)|0); $89 = (+($88|0)); $90 = $89 * 0.0625; $91 = $$sroa$0132$0$copyload + $90; $92 = (_Random_Range_1162($31,$$0163)|0); $93 = (+($92|0)); $94 = $18 * $93; $95 = $$sroa$6135$0$copyload + $94; $96 = $91 + 0.25; $97 = $51 + $95; $98 = $96 < $43; $99 = $98 ? $96 : $43; $100 = $99 + -6.2499998603016138E-4; $101 = $97 < $46; $102 = $101 ? $97 : $46; $103 = $102 - $52; $104 = HEAP32[323011]|0; $105 = ($104|0)==(600); if ($105) { _Terrain_RemoveAt(0); } $106 = HEAP32[323011]|0; $107 = (($106) + 1)|0; HEAP32[323011] = $107; $108 = (+_Random_Float(549608)); $109 = $108 * 1.2000000476837158; $110 = $109 + 0.30000001192092896; _Vec3_Add_1163($6,$4,$5); $111 = (426832 + ($106<<6)|0); ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$6+8>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$7+8>>2]|0; _Particle_Reset($111,$$byval_copy,$$byval_copy1,$110); $$sroa$0114$0$$sroa_idx115 = (((426832 + ($106<<6)|0)) + 44|0); HEAPF32[$$sroa$0114$0$$sroa_idx115>>2] = $91; $$sroa$6$0$$sroa_idx119 = (((426832 + ($106<<6)|0)) + 48|0); HEAPF32[$$sroa$6$0$$sroa_idx119>>2] = $95; $$sroa$8$0$$sroa_idx123 = (((426832 + ($106<<6)|0)) + 52|0); HEAPF32[$$sroa$8$0$$sroa_idx123>>2] = $100; $$sroa$12$0$$sroa_idx128 = (((426832 + ($106<<6)|0)) + 56|0); HEAPF32[$$sroa$12$0$$sroa_idx128>>2] = $103; $112 = (((426832 + ($106<<6)|0)) + 60|0); HEAP16[$112>>1] = $16; $113 = (((426832 + ($106<<6)|0)) + 62|0); HEAP16[$113>>1] = $1; $114 = (_Random_Next(549608,30)|0); $115 = ($114|0)>(27); $116 = ($114|0)>(24); $117 = $116 ? 10 : 8; $118 = $115 ? 12 : $117; $119 = (((426832 + ($106<<6)|0)) + 40|0); HEAP8[$119>>0] = $118; } } } $120 = (($$0167) + 1)|0; $exitcond = ($120|0)==(4); if ($exitcond) { break; } else { $$0167 = $120; } } $121 = (($$0160168) + 1)|0; $exitcond170 = ($121|0)==(4); if ($exitcond170) { break; } else { $$0160168 = $121; } } $122 = (($$0161169) + 1)|0; $exitcond171 = ($122|0)==(4); if ($exitcond171) { break; } else { $$0161169 = $122; } } STACKTOP = sp;return; } function _Vec3_Create3_1160($0,$1,$2,$3) { $0 = $0|0; $1 = +$1; $2 = +$2; $3 = +$3; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, label = 0, sp = 0; sp = STACKTOP; HEAPF32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $2; $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $3; return; } function _Random_Range_1162($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (($1) - ($0))|0; $3 = (_Random_Next(549608,$2)|0); $4 = (($3) + ($0))|0; return ($4|0); } function _Terrain_RemoveAt($0) { $0 = $0|0; var $$010 = 0, $$lcssa = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $1 = sp; $2 = (426832 + ($0<<6)|0); dest=$1; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $3 = HEAP32[323011]|0; $4 = (($3) + -1)|0; $5 = ($4|0)>($0|0); if ($5) { $6 = HEAP32[323011]|0; $7 = (($6) + -1)|0; $$010 = $0; while(1) { $8 = (426832 + ($$010<<6)|0); $9 = (($$010) + 1)|0; $10 = (426832 + ($9<<6)|0); dest=$8; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $11 = ($9|0)<($7|0); if ($11) { $$010 = $9; } else { $$lcssa = $7; break; } } } else { $$lcssa = $4; } $12 = (426832 + ($$lcssa<<6)|0); dest=$12; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); HEAP32[323011] = $$lcssa; STACKTOP = sp;return; } function _Vec3_Add_1163($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 + $4; HEAPF32[$0>>2] = $5; $6 = ((($1)) + 4|0); $7 = +HEAPF32[$6>>2]; $8 = ((($2)) + 4|0); $9 = +HEAPF32[$8>>2]; $10 = $7 + $9; $11 = ((($0)) + 4|0); HEAPF32[$11>>2] = $10; $12 = ((($1)) + 8|0); $13 = +HEAPF32[$12>>2]; $14 = ((($2)) + 8|0); $15 = +HEAPF32[$14>>2]; $16 = $13 + $15; $17 = ((($0)) + 8|0); HEAPF32[$17>>2] = $16; return; } function _Particle_Reset($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = +$3; var $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ((($0)) + 16|0); ;HEAP32[$4>>2]=HEAP32[$1>>2]|0;HEAP32[$4+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$1+8>>2]|0; $5 = ((($0)) + 28|0); ;HEAP32[$5>>2]=HEAP32[$1>>2]|0;HEAP32[$5+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$5+8>>2]=HEAP32[$1+8>>2]|0; ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0; $6 = ((($0)) + 12|0); HEAPF32[$6>>2] = $3; return; } function _Particles_Tick($0) { $0 = $0|0; var $1 = 0, $2 = 0.0, $3 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 8|0); $2 = +HEAPF64[$1>>3]; _Terrain_Tick($2); $3 = +HEAPF64[$1>>3]; _Rain_Tick($3); return; } function _Terrain_Tick($0) { $0 = +$0; var $$06 = 0, $$1 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[323011]|0; $2 = ($1|0)>(0); if (!($2)) { return; } $$06 = 0; while(1) { $3 = (426832 + ($$06<<6)|0); $4 = (_TerrainParticle_Tick($3,$0)|0); $5 = ($4<<24>>24)==(0); if ($5) { $$1 = $$06; } else { $6 = (($$06) + -1)|0; _Terrain_RemoveAt($$06); $$1 = $6; } $7 = (($$1) + 1)|0; $8 = HEAP32[323011]|0; $9 = ($7|0)<($8|0); if ($9) { $$06 = $7; } else { break; } } return; } function _Rain_Tick($0) { $0 = +$0; var $$06 = 0, $$1 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[323010]|0; $2 = ($1|0)>(0); if (!($2)) { return; } $$06 = 0; while(1) { $3 = (465232 + (($$06*44)|0)|0); $4 = (_RainParticle_Tick($3,$0)|0); $5 = ($4<<24>>24)==(0); if ($5) { $$1 = $$06; } else { $6 = (($$06) + -1)|0; _Rain_RemoveAt($$06); $$1 = $6; } $7 = (($$1) + 1)|0; $8 = HEAP32[323010]|0; $9 = ($7|0)<($8|0); if ($9) { $$06 = $7; } else { break; } } return; } function _RainParticle_Tick($0,$1) { $0 = $0|0; $1 = +$1; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; HEAP8[1408275] = 0; $2 = (_Particle_PhysicsTick($0,3.5,0,$1)|0); $3 = HEAP8[1408275]|0; $4 = $3 | $2; $5 = ($4<<24>>24)!=(0); $6 = $5&1; return ($6|0); } function _Rain_RemoveAt($0) { $0 = $0|0; var $$014 = 0, $$lcssa = 0, $$sroa$0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $$sroa$0 = sp; $1 = (465232 + (($0*44)|0)|0); dest=$$sroa$0; src=$1; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $2 = HEAP32[323010]|0; $3 = (($2) + -1)|0; $4 = ($3|0)>($0|0); if ($4) { $5 = HEAP32[323010]|0; $6 = (($5) + -1)|0; $$014 = $0; while(1) { $7 = (465232 + (($$014*44)|0)|0); $8 = (($$014) + 1)|0; $9 = (465232 + (($8*44)|0)|0); dest=$7; src=$9; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $10 = ($8|0)<($6|0); if ($10) { $$014 = $8; } else { $$lcssa = $6; break; } } } else { $$lcssa = $3; } $11 = (465232 + (($$lcssa*44)|0)|0); dest=$11; src=$$sroa$0; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); HEAP32[323010] = $$lcssa; STACKTOP = sp;return; } function _Particle_PhysicsTick($0,$1,$2,$3) { $0 = $0|0; $1 = +$1; $2 = $2|0; $3 = +$3; var $$0 = 0, $$05558 = 0, $$05558$in = 0, $$160 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0; var $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0; var $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0; var $or$cond = 0, $or$cond63 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $4 = sp; $5 = ((($0)) + 16|0); $6 = ((($0)) + 28|0); ;HEAP32[$5>>2]=HEAP32[$6>>2]|0;HEAP32[$5+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$5+8>>2]=HEAP32[$6+8>>2]|0; $7 = +HEAPF32[$6>>2]; $8 = (~~(($7))); $9 = ((($0)) + 32|0); $10 = +HEAPF32[$9>>2]; $11 = (~~(($10))); $12 = ((($0)) + 36|0); $13 = +HEAPF32[$12>>2]; $14 = (~~(($13))); $15 = (_Particle_GetBlock($8,$11,$14)|0); $16 = (_Math_Floor($10)|0); $17 = $15&65535; $18 = (((588036 + (($17*12)|0)|0)) + 4|0); $19 = +HEAPF32[$18>>2]; $20 = +HEAPF32[$9>>2]; $21 = (_Math_Floor($20)|0); $22 = (_Particle_CanPass($15,$2)|0); $23 = ($22<<24>>24)==(0); if ($23) { $24 = (((597252 + (($17*12)|0)|0)) + 4|0); $25 = +HEAPF32[$24>>2]; $26 = (+($21|0)); $27 = $25 + $26; $28 = (+($16|0)); $29 = $19 + $28; $30 = +HEAPF32[$9>>2]; $31 = $30 >= $29; $32 = $30 < $27; $or$cond = $31 & $32; if ($or$cond) { $33 = (_Particle_CollideHor($6,$15)|0); $34 = ($33<<24>>24)==(0); if (!($34)) { $$0 = 1; STACKTOP = sp;return ($$0|0); } } } $35 = $3; $36 = $35 * $1; $37 = ((($0)) + 4|0); $38 = +HEAPF32[$37>>2]; $39 = $38 - $36; HEAPF32[$37>>2] = $39; $40 = +HEAPF32[$9>>2]; $41 = (_Math_Floor($40)|0); $42 = $35 * 3.0; _Vec3_Mul1_1164($4,$0,$42); _Vec3_Add_1163($6,$6,$4); $43 = +HEAPF32[$9>>2]; $44 = (_Math_Floor($43)|0); $45 = +HEAPF32[$37>>2]; $46 = $45 > 0.0; $47 = ($41|0)<($44|0); L6: do { if ($46) { if ($47) { $$05558$in = $41; while(1) { $$05558 = (($$05558$in) + 1)|0; $48 = (_Particle_TestY($0,$$05558,0,$2)|0); $49 = ($48<<24>>24)!=(0); $50 = ($$05558|0)<($44|0); $or$cond63 = $49 & $50; if ($or$cond63) { $$05558$in = $$05558; } else { break; } } } } else { if (!($47)) { $$160 = $41; while(1) { $53 = (_Particle_TestY($0,$$160,1,$2)|0); $54 = ($53<<24>>24)==(0); if ($54) { break L6; } $51 = (($$160) + -1)|0; $52 = ($$160|0)>($44|0); if ($52) { $$160 = $51; } else { break; } } } } } while(0); $55 = ((($0)) + 12|0); $56 = +HEAPF32[$55>>2]; $57 = $56 - $35; HEAPF32[$55>>2] = $57; $58 = $57 < 0.0; $59 = $58&1; $$0 = $59; STACKTOP = sp;return ($$0|0); } function _Particle_GetBlock($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (_World_Contains_1165($0,$1,$2)|0); $4 = ($3<<24>>24)==(0); if (!($4)) { $5 = (_World_GetBlock_1166($0,$1,$2)|0); $$0 = $5; return ($$0|0); } $6 = HEAP32[(1407516)>>2]|0; $7 = ($6|0)>($1|0); if (!($7)) { $$0 = 0; return ($$0|0); } $8 = HEAP32[(1407520)>>2]|0; $9 = (($8) + ($6))|0; $10 = ($9|0)>($1|0); if ($10) { $12 = HEAP16[(1407514)>>1]|0; $$0 = $12; return ($$0|0); } else { $11 = HEAP16[703756]|0; $$0 = $11; return ($$0|0); } return (0)|0; } function _Particle_CanPass($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, $switch = 0, label = 0, sp = 0; sp = STACKTOP; $2 = $0&65535; $3 = (583428 + ($2)|0); $4 = HEAP8[$3>>0]|0; $5 = $4 & -2; $switch = ($5<<24>>24)==(4); if ($switch) { $10 = 1; return ($10|0); } $6 = ($1<<24>>24)==(0); if ($6) { $10 = 0; return ($10|0); } $7 = (569604 + ($2)|0); $8 = HEAP8[$7>>0]|0; $9 = ($8<<24>>24)!=(0); $phitmp = $9&1; $10 = $phitmp; return ($10|0); } function _Particle_CollideHor($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0, $3 = 0; var $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $2 = sp + 24|0; $3 = sp + 12|0; $4 = sp; $5 = +HEAPF32[$0>>2]; $6 = (_Math_Floor($5)|0); $7 = (+($6|0)); $8 = ((($0)) + 8|0); $9 = +HEAPF32[$8>>2]; $10 = (_Math_Floor($9)|0); $11 = (+($10|0)); _Vec3_Create3_1160($2,$7,0.0,$11); $12 = $1&65535; $13 = (588036 + (($12*12)|0)|0); _Vec3_Add_1163($3,$13,$2); $14 = (597252 + (($12*12)|0)|0); _Vec3_Add_1163($4,$14,$2); $15 = +HEAPF32[$0>>2]; $16 = +HEAPF32[$3>>2]; $17 = !($15 >= $16); if ($17) { $27 = 0; STACKTOP = sp;return ($27|0); } $18 = +HEAPF32[$8>>2]; $19 = ((($3)) + 8|0); $20 = +HEAPF32[$19>>2]; $21 = !($18 >= $20); if ($21) { $27 = 0; STACKTOP = sp;return ($27|0); } $22 = +HEAPF32[$4>>2]; $23 = $15 < $22; if (!($23)) { $27 = 0; STACKTOP = sp;return ($27|0); } $24 = ((($4)) + 8|0); $25 = +HEAPF32[$24>>2]; $26 = $18 < $25; $phitmp = $26&1; $27 = $phitmp; STACKTOP = sp;return ($27|0); } function _Vec3_Mul1_1164($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = +$2; var $10 = 0.0, $11 = 0.0, $12 = 0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = $3 * $2; HEAPF32[$0>>2] = $4; $5 = ((($1)) + 4|0); $6 = +HEAPF32[$5>>2]; $7 = $6 * $2; $8 = ((($0)) + 4|0); HEAPF32[$8>>2] = $7; $9 = ((($1)) + 8|0); $10 = +HEAPF32[$9>>2]; $11 = $10 * $2; $12 = ((($0)) + 8|0); HEAPF32[$12>>2] = $11; return; } function _Particle_TestY($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0 = 0, $$sroa$3$0$$sroa_idx7 = 0, $$sroa$3$0$copyload = 0.0, $$sroa$313$0$$sroa_idx14 = 0, $$sroa$313$0$copyload = 0.0, $$v = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0; var $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0.0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ($1|0)<(0); $5 = ((($0)) + 28|0); if ($4) { $6 = ((($0)) + 32|0); HEAPF32[$6>>2] = 0.0010000000474974513; $7 = ((($0)) + 20|0); HEAPF32[$7>>2] = 0.0010000000474974513; HEAPF32[$0>>2] = 0.0; $8 = ((($0)) + 4|0); HEAPF32[$8>>2] = 0.0; $9 = ((($0)) + 8|0); HEAPF32[$9>>2] = 0.0; HEAP8[1408275] = 1; $$0 = 0; return ($$0|0); } $10 = +HEAPF32[$5>>2]; $11 = (~~(($10))); $12 = ((($0)) + 36|0); $13 = +HEAPF32[$12>>2]; $14 = (~~(($13))); $15 = (_Particle_GetBlock($11,$1,$14)|0); $16 = (_Particle_CanPass($15,$3)|0); $17 = ($16<<24>>24)==(0); if (!($17)) { $$0 = 1; return ($$0|0); } $18 = $15&65535; $$sroa$313$0$$sroa_idx14 = (((588036 + (($18*12)|0)|0)) + 4|0); $$sroa$313$0$copyload = +HEAPF32[$$sroa$313$0$$sroa_idx14>>2]; $$sroa$3$0$$sroa_idx7 = (((597252 + (($18*12)|0)|0)) + 4|0); $$sroa$3$0$copyload = +HEAPF32[$$sroa$3$0$$sroa_idx7>>2]; $19 = (+($1|0)); $20 = ($2<<24>>24)!=(0); $21 = $20 ? $$sroa$3$0$copyload : $$sroa$313$0$copyload; $22 = $21 + $19; $23 = ((($0)) + 32|0); $24 = +HEAPF32[$23>>2]; $25 = $24 < $22; $26 = $24 > $22; $$v = $20 ? $25 : $26; if (!($$v)) { $$0 = 1; return ($$0|0); } $27 = (_Particle_CollideHor($5,$15)|0); $28 = ($27<<24>>24)==(0); if ($28) { $$0 = 1; return ($$0|0); } $29 = $20 ? 0.0010000000474974513 : -0.0010000000474974513; $30 = $29 + $22; $31 = ((($0)) + 20|0); HEAPF32[$31>>2] = $30; HEAPF32[$23>>2] = $30; HEAPF32[$0>>2] = 0.0; $32 = ((($0)) + 4|0); HEAPF32[$32>>2] = 0.0; $33 = ((($0)) + 8|0); HEAPF32[$33>>2] = 0.0; HEAP8[1408275] = 1; $$0 = 0; return ($$0|0); } function _World_Contains_1165($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $narrow = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP32[(1407464)>>2]|0; $4 = ($3>>>0)>($0>>>0); $5 = HEAP32[(1407468)>>2]|0; $6 = ($5>>>0)>($1>>>0); $or$cond = $4 & $6; $7 = HEAP32[(1407472)>>2]|0; $8 = ($7>>>0)>($2>>>0); $narrow = $or$cond & $8; $9 = $narrow&1; return ($9|0); } function _World_GetBlock_1166($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; $3 = HEAP32[(1407472)>>2]|0; $4 = Math_imul($3, $1)|0; $5 = (($4) + ($2))|0; $6 = HEAP32[(1407464)>>2]|0; $7 = Math_imul($5, $6)|0; $8 = (($7) + ($0))|0; $9 = HEAP32[351863]|0; $10 = (($9) + ($8)|0); $11 = HEAP8[$10>>0]|0; $12 = $11&255; $13 = HEAP32[(1407456)>>2]|0; $14 = (($13) + ($8)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = $16 << 8; $18 = $17 | $12; $19 = HEAP32[(1407508)>>2]|0; $20 = $18 & $19; $21 = $20&65535; return ($21|0); } function _TerrainParticle_Tick($0,$1) { $0 = $0|0; $1 = +$1; var $2 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (_Particle_PhysicsTick($0,5.4000000953674316,1,$1)|0); return ($2|0); } function _Particle_DoRender($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $$sroa$0$0$copyload = 0.0, $$sroa$13$0$$sroa_idx45 = 0, $$sroa$13$0$copyload = 0.0, $$sroa$7$0$$sroa_idx39 = 0, $$sroa$7$0$copyload = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0; var $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0, $39 = 0.0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0.0, $60 = 0, $61 = 0, $62 = 0.0; var $63 = 0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $5 = +HEAPF32[$0>>2]; $6 = $5 * 0.5; $7 = ((($0)) + 4|0); $8 = +HEAPF32[$7>>2]; $9 = $8 * 0.5; $$sroa$0$0$copyload = +HEAPF32[$1>>2]; $$sroa$7$0$$sroa_idx39 = ((($1)) + 4|0); $$sroa$7$0$copyload = +HEAPF32[$$sroa$7$0$$sroa_idx39>>2]; $$sroa$13$0$$sroa_idx45 = ((($1)) + 8|0); $$sroa$13$0$copyload = +HEAPF32[$$sroa$13$0$$sroa_idx45>>2]; $10 = $9 + $$sroa$7$0$copyload; $11 = +HEAPF32[(1260364)>>2]; $12 = $6 * $11; $13 = +HEAPF32[(1260380)>>2]; $14 = $6 * $13; $15 = +HEAPF32[(1260396)>>2]; $16 = $6 * $15; $17 = +HEAPF32[(1260368)>>2]; $18 = $9 * $17; $19 = +HEAPF32[(1260384)>>2]; $20 = $9 * $19; $21 = +HEAPF32[(1260400)>>2]; $22 = $9 * $21; $23 = $$sroa$0$0$copyload - $12; $24 = $23 - $18; HEAPF32[$4>>2] = $24; $25 = $10 - $14; $26 = $25 - $20; $27 = ((($4)) + 4|0); HEAPF32[$27>>2] = $26; $28 = $$sroa$13$0$copyload - $16; $29 = $28 - $22; $30 = ((($4)) + 8|0); HEAPF32[$30>>2] = $29; $31 = ((($4)) + 12|0); HEAP32[$31>>2] = $3; $32 = HEAP32[$2>>2]|0; $33 = ((($4)) + 16|0); HEAP32[$33>>2] = $32; $34 = ((($2)) + 12|0); $35 = HEAP32[$34>>2]|0; $36 = ((($4)) + 20|0); HEAP32[$36>>2] = $35; $37 = $23 + $18; $38 = ((($4)) + 24|0); HEAPF32[$38>>2] = $37; $39 = $25 + $20; $40 = ((($4)) + 28|0); HEAPF32[$40>>2] = $39; $41 = $28 + $22; $42 = ((($4)) + 32|0); HEAPF32[$42>>2] = $41; $43 = ((($4)) + 36|0); HEAP32[$43>>2] = $3; $44 = ((($4)) + 40|0); HEAP32[$44>>2] = $32; $45 = ((($2)) + 4|0); $46 = HEAP32[$45>>2]|0; $47 = ((($4)) + 44|0); HEAP32[$47>>2] = $46; $48 = $$sroa$0$0$copyload + $12; $49 = $48 + $18; $50 = ((($4)) + 48|0); HEAPF32[$50>>2] = $49; $51 = $10 + $14; $52 = $51 + $20; $53 = ((($4)) + 52|0); HEAPF32[$53>>2] = $52; $54 = $$sroa$13$0$copyload + $16; $55 = $54 + $22; $56 = ((($4)) + 56|0); HEAPF32[$56>>2] = $55; $57 = ((($4)) + 60|0); HEAP32[$57>>2] = $3; $58 = ((($2)) + 8|0); $59 = HEAP32[$58>>2]|0; $60 = ((($4)) + 64|0); HEAP32[$60>>2] = $59; $61 = ((($4)) + 68|0); HEAP32[$61>>2] = $46; $62 = $48 - $18; $63 = ((($4)) + 72|0); HEAPF32[$63>>2] = $62; $64 = $51 - $20; $65 = ((($4)) + 76|0); HEAPF32[$65>>2] = $64; $66 = $54 - $22; $67 = ((($4)) + 80|0); HEAPF32[$67>>2] = $66; $68 = ((($4)) + 84|0); HEAP32[$68>>2] = $3; $69 = ((($4)) + 88|0); HEAP32[$69>>2] = $59; $70 = ((($4)) + 92|0); HEAP32[$70>>2] = $35; return; } function _Particles_Render($0) { $0 = +$0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[323011]|0; $2 = HEAP32[323010]|0; $3 = $2 | $1; $4 = ($3|0)==(0); $5 = HEAP8[(1260360)>>0]|0; $6 = ($5<<24>>24)!=(0); $or$cond3 = $4 | $6; if ($or$cond3) { return; } _Gfx_SetAlphaTest(1); _Gfx_SetVertexFormat(1); _Terrain_Render($0); _Rain_Render($0); _Gfx_SetAlphaTest(0); return; } function _Terrain_Render($0) { $0 = +$0; var $$02731 = 0, $$030 = 0, $$1 = 0, $$12829 = 0, $$lcssa = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; var $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 57600|0; $1 = sp; $2 = HEAP32[323011]|0; $3 = ($2|0)==(0); if ($3) { STACKTOP = sp;return; } _Terrain_Update1DCounts(); $4 = HEAP32[323011]|0; $5 = ($4|0)>(0); if ($5) { $$02731 = 0; while(1) { $6 = (426832 + ($$02731<<6)|0); $7 = (((426832 + ($$02731<<6)|0)) + 60|0); $8 = HEAP16[$7>>1]|0; $9 = $8&65535; $10 = HEAP32[(1384652)>>2]|0; $11 = ($10)?($9 >>> $10):($9); $12 = (491632 + ($11<<1)|0); $13 = HEAP16[$12>>1]|0; $14 = $13&65535; $15 = (($1) + (($14*24)|0)|0); _TerrainParticle_Render($6,$0,$15); $16 = HEAP16[$12>>1]|0; $17 = $16&65535; $18 = (($17) + 4)|0; $19 = $18&65535; HEAP16[$12>>1] = $19; $20 = (($$02731) + 1)|0; $21 = HEAP32[323011]|0; $22 = ($20|0)<($21|0); if ($22) { $$02731 = $20; } else { $$lcssa = $21; break; } } } else { $$lcssa = $4; } $23 = HEAP32[323013]|0; $24 = $$lcssa << 2; _Gfx_SetDynamicVbData($23,$1,$24); $25 = HEAP32[346160]|0; $26 = ($25|0)>(0); if (!($26)) { STACKTOP = sp;return; } $$030 = 0;$$12829 = 0; while(1) { $27 = (492656 + ($$12829<<1)|0); $28 = HEAP16[$27>>1]|0; $29 = $28&65535; $30 = ($28<<16>>16)==(0); if ($30) { $$1 = $$030; } else { $31 = (($$030) + ($29))|0; $32 = (1384660 + ($$12829<<2)|0); $33 = HEAP32[$32>>2]|0; _Gfx_BindTexture($33); _Gfx_DrawVb_IndexedTris_Range($29,$$030); $$1 = $31; } $34 = (($$12829) + 1)|0; $35 = HEAP32[346160]|0; $36 = ($34|0)<($35|0); if ($36) { $$030 = $$1;$$12829 = $34; } else { break; } } STACKTOP = sp;return; } function _Rain_Render($0) { $0 = +$0; var $$010 = 0, $$089 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 57600|0; $1 = sp; $2 = HEAP32[323010]|0; $3 = ($2|0)==(0); if ($3) { STACKTOP = sp;return; } $4 = HEAP32[323010]|0; $5 = ($4|0)>(0); if ($5) { $$010 = 0;$$089 = $1; while(1) { $6 = (465232 + (($$010*44)|0)|0); _RainParticle_Render($6,$0,$$089); $7 = ((($$089)) + 96|0); $8 = (($$010) + 1)|0; $9 = HEAP32[323010]|0; $10 = ($8|0)<($9|0); if ($10) { $$010 = $8;$$089 = $7; } else { break; } } } $11 = HEAP32[323012]|0; _Gfx_BindTexture($11); $12 = HEAP32[323013]|0; $13 = HEAP32[323010]|0; $14 = $13 << 2; _Gfx_UpdateDynamicVb_IndexedTris($12,$1,$14); STACKTOP = sp;return; } function _RainParticle_Render($0,$1,$2) { $0 = $0|0; $1 = +$1; $2 = $2|0; var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $3 = sp + 8|0; $4 = sp; $5 = ((($0)) + 16|0); $6 = ((($0)) + 28|0); _Vec3_Lerp($3,$5,$6,$1); $7 = ((($0)) + 40|0); $8 = HEAP8[$7>>0]|0; $9 = (+($8&255)); $10 = $9 * 0.015625; HEAPF32[$4>>2] = $10; $11 = ((($4)) + 4|0); HEAPF32[$11>>2] = $10; $12 = +HEAPF32[$3>>2]; $13 = (_Math_Floor($12)|0); $14 = ((($3)) + 4|0); $15 = +HEAPF32[$14>>2]; $16 = (_Math_Floor($15)|0); $17 = ((($3)) + 8|0); $18 = +HEAPF32[$17>>2]; $19 = (_Math_Floor($18)|0); $20 = (_World_Contains_1165($13,$16,$19)|0); $21 = ($20<<24>>24)==(0); if ($21) { $23 = HEAP32[(1407572)>>2]|0; $24 = $23; _Particle_DoRender($4,$3,17136,$24,$2); STACKTOP = sp;return; } else { $22 = (_Lighting_Col($13,$16,$19)|0); $24 = $22; _Particle_DoRender($4,$3,17136,$24,$2); STACKTOP = sp;return; } } function _Terrain_Update1DCounts() { var $$117 = 0, $$216 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; var $25 = 0, $26 = 0, $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $load_initial = 0, $store_forwarded = 0, label = 0, sp = 0; sp = STACKTOP; _memset((492656|0),0,1024)|0; _memset((491632|0),0,1024)|0; $0 = HEAP32[323011]|0; $1 = ($0|0)>(0); if ($1) { $2 = HEAP32[(1384652)>>2]|0; $3 = HEAP32[323011]|0; $$117 = 0; while(1) { $4 = (((426832 + ($$117<<6)|0)) + 60|0); $5 = HEAP16[$4>>1]|0; $6 = $5&65535; $7 = ($2)?($6 >>> $2):($6); $8 = (492656 + ($7<<1)|0); $9 = HEAP16[$8>>1]|0; $10 = $9&65535; $11 = (($10) + 4)|0; $12 = $11&65535; HEAP16[$8>>1] = $12; $13 = (($$117) + 1)|0; $14 = ($13|0)<($3|0); if ($14) { $$117 = $13; } else { break; } } } $15 = HEAP32[346160]|0; $16 = ($15|0)>(1); if (!($16)) { return; } $17 = HEAP32[346160]|0; $load_initial = HEAP16[245816]|0; $$216 = 1;$store_forwarded = $load_initial; while(1) { $18 = (($$216) + -1)|0; $19 = $store_forwarded&65535; $20 = (492656 + ($18<<1)|0); $21 = HEAP16[$20>>1]|0; $22 = $21&65535; $23 = (($22) + ($19))|0; $24 = $23&65535; $25 = (491632 + ($$216<<1)|0); HEAP16[$25>>1] = $24; $26 = (($$216) + 1)|0; $27 = ($26|0)<($17|0); if ($27) { $$216 = $26;$store_forwarded = $24; } else { break; } } return; } function _TerrainParticle_Render($0,$1,$2) { $0 = $0|0; $1 = +$1; $2 = $2|0; var $$0 = 0, $$1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $3 = sp + 8|0; $4 = sp; $5 = ((($0)) + 16|0); $6 = ((($0)) + 28|0); _Vec3_Lerp($3,$5,$6,$1); $7 = ((($0)) + 40|0); $8 = HEAP8[$7>>0]|0; $9 = (+($8&255)); $10 = $9 * 0.015625; HEAPF32[$4>>2] = $10; $11 = ((($4)) + 4|0); HEAPF32[$11>>2] = $10; $12 = ((($0)) + 62|0); $13 = HEAP16[$12>>1]|0; $14 = $13&65535; $15 = (571140 + ($14)|0); $16 = HEAP8[$15>>0]|0; $17 = ($16<<24>>24)==(0); do { if ($17) { $18 = +HEAPF32[$3>>2]; $19 = (_Math_Floor($18)|0); $20 = ((($3)) + 4|0); $21 = +HEAPF32[$20>>2]; $22 = (_Math_Floor($21)|0); $23 = ((($3)) + 8|0); $24 = +HEAPF32[$23>>2]; $25 = (_Math_Floor($24)|0); $26 = (_World_Contains_1165($19,$22,$25)|0); $27 = ($26<<24>>24)==(0); if ($27) { $29 = HEAP32[(1407576)>>2]|0; $$0 = $29; break; } else { $28 = (_Lighting_Col_XSide($19,$22,$25)|0); $$0 = $28; break; } } else { $$0 = -1; } } while(0); $30 = HEAP16[$12>>1]|0; $31 = $30&65535; $32 = (585732 + ($31)|0); $33 = HEAP8[$32>>0]|0; $34 = ($33<<24>>24)==(0); if ($34) { $$1 = $$0; $38 = ((($0)) + 44|0); _Particle_DoRender($4,$3,$38,$$1,$2); STACKTOP = sp;return; } $35 = (571908 + ($31<<2)|0); $36 = HEAP32[$35>>2]|0; $37 = (_PackedCol_Tint($$0,$36)|0); $$1 = $37; $38 = ((($0)) + 44|0); _Particle_DoRender($4,$3,$38,$$1,$2); STACKTOP = sp;return; } function _Particles_RainSnowEffect($0) { $0 = $0|0; var $$byval_copy2 = 0, $$byval_copy3 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0; var $44 = 0.0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $$byval_copy3 = sp + 48|0; $$byval_copy2 = sp + 36|0; $1 = sp + 24|0; $2 = sp + 12|0; $3 = sp; ;HEAP32[$1>>2]=HEAP32[$0>>2]|0;HEAP32[$1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[$0+8>>2]|0; $4 = ((($3)) + 8|0); $5 = ((($3)) + 4|0); $6 = ((($2)) + 4|0); $7 = ((($2)) + 8|0); $8 = (+_Random_Float(549608)); $9 = $8 * 0.80000001192092896; $10 = $9 + -0.40000000596046448; HEAPF32[$3>>2] = $10; $11 = (+_Random_Float(549608)); $12 = $11 * 0.80000001192092896; $13 = $12 + -0.40000000596046448; HEAPF32[$4>>2] = $13; $14 = (+_Random_Float(549608)); $15 = $14 + 0.40000000596046448; HEAPF32[$5>>2] = $15; $16 = (+_Random_Float(549608)); HEAPF32[$2>>2] = $16; $17 = (+_Random_Float(549608)); $18 = $17 * 0.10000000149011612; $19 = $18 + 0.0099999997764825821; HEAPF32[$6>>2] = $19; $20 = (+_Random_Float(549608)); HEAPF32[$7>>2] = $20; $21 = HEAP32[323010]|0; $22 = ($21|0)==(600); if ($22) { _Rain_RemoveAt(0); } $23 = HEAP32[323010]|0; $24 = (($23) + 1)|0; HEAP32[323010] = $24; _Vec3_Add_1163($0,$1,$2); $25 = (465232 + (($23*44)|0)|0); ;HEAP32[$$byval_copy2>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$0+8>>2]|0; ;HEAP32[$$byval_copy3>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$3+8>>2]|0; _Particle_Reset($25,$$byval_copy2,$$byval_copy3,40.0); $26 = (_Random_Next(549608,30)|0); $27 = ($26|0)>(27); $28 = ($26|0)>(24); $29 = $28 ? 4 : 3; $30 = $27 ? 2 : $29; $31 = (((465232 + (($23*44)|0)|0)) + 40|0); HEAP8[$31>>0] = $30; $32 = (+_Random_Float(549608)); $33 = $32 * 0.80000001192092896; $34 = $33 + -0.40000000596046448; HEAPF32[$3>>2] = $34; $35 = (+_Random_Float(549608)); $36 = $35 * 0.80000001192092896; $37 = $36 + -0.40000000596046448; HEAPF32[$4>>2] = $37; $38 = (+_Random_Float(549608)); $39 = $38 + 0.40000000596046448; HEAPF32[$5>>2] = $39; $40 = (+_Random_Float(549608)); HEAPF32[$2>>2] = $40; $41 = (+_Random_Float(549608)); $42 = $41 * 0.10000000149011612; $43 = $42 + 0.0099999997764825821; HEAPF32[$6>>2] = $43; $44 = (+_Random_Float(549608)); HEAPF32[$7>>2] = $44; $45 = HEAP32[323010]|0; $46 = ($45|0)==(600); if ($46) { _Rain_RemoveAt(0); } $47 = HEAP32[323010]|0; $48 = (($47) + 1)|0; HEAP32[323010] = $48; _Vec3_Add_1163($0,$1,$2); $49 = (465232 + (($47*44)|0)|0); ;HEAP32[$$byval_copy2>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$0+8>>2]|0; ;HEAP32[$$byval_copy3>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$3+8>>2]|0; _Particle_Reset($49,$$byval_copy2,$$byval_copy3,40.0); $50 = (_Random_Next(549608,30)|0); $51 = ($50|0)>(27); $52 = ($50|0)>(24); $53 = $52 ? 4 : 3; $54 = $51 ? 2 : $53; $55 = (((465232 + (($47*44)|0)|0)) + 40|0); HEAP8[$55>>0] = $54; STACKTOP = sp;return; } function _AABB_Make($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0.0; var $3 = 0.0, $30 = 0.0, $31 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $4 * 0.5; $6 = $3 - $5; HEAPF32[$0>>2] = $6; $7 = ((($1)) + 4|0); $8 = HEAP32[$7>>2]|0; $9 = ((($0)) + 4|0); HEAP32[$9>>2] = $8; $10 = ((($1)) + 8|0); $11 = +HEAPF32[$10>>2]; $12 = ((($2)) + 8|0); $13 = +HEAPF32[$12>>2]; $14 = $13 * 0.5; $15 = $11 - $14; $16 = ((($0)) + 8|0); HEAPF32[$16>>2] = $15; $17 = +HEAPF32[$1>>2]; $18 = +HEAPF32[$2>>2]; $19 = $18 * 0.5; $20 = $17 + $19; $21 = ((($0)) + 12|0); HEAPF32[$21>>2] = $20; $22 = +HEAPF32[$7>>2]; $23 = ((($2)) + 4|0); $24 = +HEAPF32[$23>>2]; $25 = $22 + $24; $26 = ((($0)) + 16|0); HEAPF32[$26>>2] = $25; $27 = +HEAPF32[$10>>2]; $28 = +HEAPF32[$12>>2]; $29 = $28 * 0.5; $30 = $27 + $29; $31 = ((($0)) + 20|0); HEAPF32[$31>>2] = $30; return; } function _AABB_Offset($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; _Vec3_Add_1179($0,$1,$2); $3 = ((($0)) + 12|0); $4 = ((($1)) + 12|0); _Vec3_Add_1179($3,$4,$2); return; } function _Vec3_Add_1179($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 + $4; HEAPF32[$0>>2] = $5; $6 = ((($1)) + 4|0); $7 = +HEAPF32[$6>>2]; $8 = ((($2)) + 4|0); $9 = +HEAPF32[$8>>2]; $10 = $7 + $9; $11 = ((($0)) + 4|0); HEAPF32[$11>>2] = $10; $12 = ((($1)) + 8|0); $13 = +HEAPF32[$12>>2]; $14 = ((($2)) + 8|0); $15 = +HEAPF32[$14>>2]; $16 = $13 + $15; $17 = ((($0)) + 8|0); HEAPF32[$17>>2] = $16; return; } function _AABB_Intersects($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0; var $29 = 0, $3 = 0.0, $30 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 12|0); $3 = +HEAPF32[$2>>2]; $4 = +HEAPF32[$1>>2]; $5 = !($3 >= $4); if ($5) { $30 = 0; return ($30|0); } $6 = +HEAPF32[$0>>2]; $7 = ((($1)) + 12|0); $8 = +HEAPF32[$7>>2]; $9 = !($6 <= $8); if ($9) { $30 = 0; return ($30|0); } $10 = ((($0)) + 16|0); $11 = +HEAPF32[$10>>2]; $12 = ((($1)) + 4|0); $13 = +HEAPF32[$12>>2]; $14 = !($11 >= $13); if ($14) { $30 = 0; return ($30|0); } $15 = ((($0)) + 4|0); $16 = +HEAPF32[$15>>2]; $17 = ((($1)) + 16|0); $18 = +HEAPF32[$17>>2]; $19 = !($16 <= $18); if ($19) { $30 = 0; return ($30|0); } $20 = ((($0)) + 20|0); $21 = +HEAPF32[$20>>2]; $22 = ((($1)) + 8|0); $23 = +HEAPF32[$22>>2]; $24 = !($21 >= $23); if ($24) { $30 = 0; return ($30|0); } $25 = ((($0)) + 8|0); $26 = +HEAPF32[$25>>2]; $27 = ((($1)) + 20|0); $28 = +HEAPF32[$27>>2]; $29 = $26 <= $28; $phitmp = $29&1; $30 = $phitmp; return ($30|0); } function _AABB_ContainsPoint($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0; var $7 = 0, $8 = 0.0, $9 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; $2 = +HEAPF32[$1>>2]; $3 = +HEAPF32[$0>>2]; $4 = !($2 >= $3); if ($4) { $24 = 0; return ($24|0); } $5 = ((($1)) + 4|0); $6 = +HEAPF32[$5>>2]; $7 = ((($0)) + 4|0); $8 = +HEAPF32[$7>>2]; $9 = !($6 >= $8); if ($9) { $24 = 0; return ($24|0); } $10 = ((($1)) + 8|0); $11 = +HEAPF32[$10>>2]; $12 = ((($0)) + 8|0); $13 = +HEAPF32[$12>>2]; $14 = !($11 >= $13); if ($14) { $24 = 0; return ($24|0); } $15 = ((($0)) + 12|0); $16 = +HEAPF32[$15>>2]; $17 = !($2 <= $16); if ($17) { $24 = 0; return ($24|0); } $18 = ((($0)) + 16|0); $19 = +HEAPF32[$18>>2]; $20 = !($6 <= $19); if ($20) { $24 = 0; return ($24|0); } $21 = ((($0)) + 20|0); $22 = +HEAPF32[$21>>2]; $23 = $11 <= $22; $phitmp = $23&1; $24 = $phitmp; return ($24|0); } function _Intersection_RayIntersectsRotatedBox($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $10 = 0, $11 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 112|0; $$byval_copy5 = sp + 96|0; $$byval_copy4 = sp + 84|0; $$byval_copy3 = sp + 72|0; $$byval_copy2 = sp + 60|0; $5 = sp + 36|0; $6 = sp; $7 = sp + 48|0; $8 = sp + 24|0; $9 = ((($2)) + 4|0); _Vec3_Sub_1186($5,$0,$9); ;HEAP32[$$byval_copy5>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$5+8>>2]|0; _Intersection_InverseRotate($7,$$byval_copy5,$2); ;HEAP32[$5>>2]=HEAP32[$7>>2]|0;HEAP32[$5+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$5+8>>2]=HEAP32[$7+8>>2]|0; _Vec3_Add_1179($0,$5,$9); ;HEAP32[$$byval_copy5>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$1+8>>2]|0; _Intersection_InverseRotate($8,$$byval_copy5,$2); ;HEAP32[$1>>2]=HEAP32[$8>>2]|0;HEAP32[$1+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[$8+8>>2]|0; _Entity_GetPickingBounds($2,$6); $10 = ((($6)) + 12|0); ;HEAP32[$$byval_copy2>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$0+8>>2]|0; ;HEAP32[$$byval_copy3>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$1+8>>2]|0; ;HEAP32[$$byval_copy4>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$6+8>>2]|0; ;HEAP32[$$byval_copy5>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$10+8>>2]|0; $11 = (_Intersection_RayIntersectsBox($$byval_copy2,$$byval_copy3,$$byval_copy4,$$byval_copy5,$3,$4)|0); STACKTOP = sp;return ($11|0); } function _Vec3_Sub_1186($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; HEAPF32[$0>>2] = $5; $6 = ((($1)) + 4|0); $7 = +HEAPF32[$6>>2]; $8 = ((($2)) + 4|0); $9 = +HEAPF32[$8>>2]; $10 = $7 - $9; $11 = ((($0)) + 4|0); HEAPF32[$11>>2] = $10; $12 = ((($1)) + 8|0); $13 = +HEAPF32[$12>>2]; $14 = ((($2)) + 8|0); $15 = +HEAPF32[$14>>2]; $16 = $13 - $15; $17 = ((($0)) + 8|0); HEAPF32[$17>>2] = $16; return; } function _Intersection_InverseRotate($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$byval_copy2 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $$byval_copy2 = sp + 36|0; $3 = sp + 24|0; $4 = sp + 12|0; $5 = sp; $6 = ((($2)) + 28|0); $7 = +HEAPF32[$6>>2]; $8 = $7 * -0.01745329238474369; ;HEAP32[$$byval_copy2>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$1+8>>2]|0; _Vec3_RotateY($3,$$byval_copy2,$8); ;HEAP32[$1>>2]=HEAP32[$3>>2]|0;HEAP32[$1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[$3+8>>2]|0; $9 = ((($2)) + 32|0); $10 = +HEAPF32[$9>>2]; $11 = $10 * -0.01745329238474369; ;HEAP32[$$byval_copy2>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$3+8>>2]|0; _Vec3_RotateZ($4,$$byval_copy2,$11); ;HEAP32[$1>>2]=HEAP32[$4>>2]|0;HEAP32[$1+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[$4+8>>2]|0; $12 = ((($2)) + 24|0); $13 = +HEAPF32[$12>>2]; $14 = $13 * -0.01745329238474369; ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$4+8>>2]|0; _Vec3_RotateX($5,$$byval_copy2,$14); ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$5+8>>2]|0; STACKTOP = sp;return; } function _Intersection_RayIntersectsBox($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; var $$0 = 0, $$059 = 0.0, $$060 = 0.0, $$063 = 0.0, $$064 = 0.0, $$065 = 0.0, $$066 = 0.0, $$1 = 0.0, $$161 = 0.0, $$2 = 0.0, $$262 = 0.0, $$pn67 = 0.0, $$pn68 = 0.0, $$pn70 = 0.0, $$sink = 0, $$sink73 = 0.0, $$sink76 = 0.0, $$sink78 = 0, $$sink80 = 0.0, $$sink82 = 0; var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0, $29 = 0.0; var $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $40 = 0.0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0.0, $49 = 0; var $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0.0, $60 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, $or$cond = 0, $or$cond72 = 0, label = 0, sp = 0; sp = STACKTOP; HEAPF32[$4>>2] = 0.0; HEAPF32[$5>>2] = 0.0; $6 = +HEAPF32[$1>>2]; $7 = 1.0 / $6; $8 = !($7 >= 0.0); if ($8) { $12 = +HEAPF32[$3>>2]; $13 = +HEAPF32[$0>>2]; $14 = $12 - $13; $$pn67 = $14;$$sink = $2;$$sink73 = $13; } else { $9 = +HEAPF32[$2>>2]; $10 = +HEAPF32[$0>>2]; $11 = $9 - $10; $$pn67 = $11;$$sink = $3;$$sink73 = $10; } $15 = +HEAPF32[$$sink>>2]; $16 = $15 - $$sink73; $$059 = $7 * $$pn67; $$060 = $7 * $16; $17 = ((($1)) + 4|0); $18 = +HEAPF32[$17>>2]; $19 = 1.0 / $18; $20 = !($19 >= 0.0); if ($20) { $26 = ((($3)) + 4|0); $27 = +HEAPF32[$26>>2]; $28 = ((($0)) + 4|0); $29 = +HEAPF32[$28>>2]; $30 = $27 - $29; $$pn68 = $30;$$sink76 = $29;$$sink78 = $2; } else { $21 = ((($2)) + 4|0); $22 = +HEAPF32[$21>>2]; $23 = ((($0)) + 4|0); $24 = +HEAPF32[$23>>2]; $25 = $22 - $24; $$pn68 = $25;$$sink76 = $24;$$sink78 = $3; } $31 = ((($$sink78)) + 4|0); $32 = +HEAPF32[$31>>2]; $33 = $32 - $$sink76; $$065 = $19 * $33; $$066 = $19 * $$pn68; $34 = $$059 > $$065; $35 = $$066 > $$060; $or$cond = $35 | $34; if ($or$cond) { $$0 = 0; return ($$0|0); } $36 = $$066 > $$059; $$1 = $36 ? $$066 : $$059; $37 = $$065 < $$060; $$161 = $37 ? $$065 : $$060; $38 = ((($1)) + 8|0); $39 = +HEAPF32[$38>>2]; $40 = 1.0 / $39; $41 = !($40 >= 0.0); if ($41) { $47 = ((($3)) + 8|0); $48 = +HEAPF32[$47>>2]; $49 = ((($0)) + 8|0); $50 = +HEAPF32[$49>>2]; $51 = $48 - $50; $$pn70 = $51;$$sink80 = $50;$$sink82 = $2; } else { $42 = ((($2)) + 8|0); $43 = +HEAPF32[$42>>2]; $44 = ((($0)) + 8|0); $45 = +HEAPF32[$44>>2]; $46 = $43 - $45; $$pn70 = $46;$$sink80 = $45;$$sink82 = $3; } $52 = ((($$sink82)) + 8|0); $53 = +HEAPF32[$52>>2]; $54 = $53 - $$sink80; $$063 = $40 * $54; $$064 = $40 * $$pn70; $55 = $$1 > $$063; $56 = $$064 > $$161; $or$cond72 = $56 | $55; $57 = $$064 > $$1; $$2 = $57 ? $$064 : $$1; if ($or$cond72) { $$0 = 0; return ($$0|0); } $58 = $$2 >= 0.0; $59 = $58&1; $60 = $$063 < $$161; $$262 = $60 ? $$063 : $$161; HEAPF32[$4>>2] = $$2; HEAPF32[$5>>2] = $$262; $$0 = $59; return ($$0|0); } function _Searcher_FindReachableBlocks($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$07993 = 0, $$08085 = 0, $$081$lcssa = 0, $$08192 = 0, $$087 = 0, $$1$lcssa = 0, $$186 = 0, $$2$lcssa = 0, $$284 = 0, $$3 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0; var $109 = 0.0, $11 = 0.0, $110 = 0, $111 = 0, $112 = 0.0, $113 = 0, $114 = 0.0, $115 = 0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0; var $127 = 0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0.0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0; var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0.0, $150 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0; var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0; var $47 = 0.0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; var $83 = 0.0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0.0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, $or$cond3 = 0; var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $3 = sp + 64|0; $4 = sp + 52|0; $5 = sp + 40|0; $6 = sp + 16|0; $7 = sp + 8|0; $8 = sp + 4|0; $9 = sp; $10 = ((($0)) + 36|0); ;HEAP32[$3>>2]=HEAP32[$10>>2]|0;HEAP32[$3+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$10+8>>2]|0; _Entity_GetBounds($0,$1); $11 = +HEAPF32[$1>>2]; $12 = +HEAPF32[$3>>2]; $13 = $12 < 0.0; $14 = $13 ? $12 : 0.0; $15 = $11 + $14; HEAPF32[$2>>2] = $15; $16 = ((($1)) + 4|0); $17 = +HEAPF32[$16>>2]; $18 = ((($3)) + 4|0); $19 = +HEAPF32[$18>>2]; $20 = $19 < 0.0; $21 = $20 ? $19 : 0.0; $22 = $17 + $21; $23 = ((($2)) + 4|0); HEAPF32[$23>>2] = $22; $24 = ((($1)) + 8|0); $25 = +HEAPF32[$24>>2]; $26 = ((($3)) + 8|0); $27 = +HEAPF32[$26>>2]; $28 = $27 < 0.0; $29 = $28 ? $27 : 0.0; $30 = $25 + $29; $31 = ((($2)) + 8|0); HEAPF32[$31>>2] = $30; $32 = ((($1)) + 12|0); $33 = +HEAPF32[$32>>2]; $34 = $12 > 0.0; $35 = $34 ? $12 : 0.0; $36 = $35 + $33; $37 = ((($2)) + 12|0); HEAPF32[$37>>2] = $36; $38 = ((($1)) + 16|0); $39 = +HEAPF32[$38>>2]; $40 = $19 > 0.0; $41 = $40 ? $19 : 0.0; $42 = $41 + $39; $43 = ((($2)) + 16|0); HEAPF32[$43>>2] = $42; $44 = ((($1)) + 20|0); $45 = +HEAPF32[$44>>2]; $46 = $27 > 0.0; $47 = $46 ? $27 : 0.0; $48 = $47 + $45; $49 = ((($2)) + 20|0); HEAPF32[$49>>2] = $48; _IVec3_Floor($4,$2); _IVec3_Floor($5,$37); $50 = HEAP32[$5>>2]|0; $51 = HEAP32[$4>>2]|0; $52 = (($50) + 1)|0; $53 = (($52) - ($51))|0; $54 = ((($5)) + 4|0); $55 = HEAP32[$54>>2]|0; $56 = ((($4)) + 4|0); $57 = HEAP32[$56>>2]|0; $58 = (($55) + 1)|0; $59 = (($58) - ($57))|0; $60 = Math_imul($59, $53)|0; $61 = ((($5)) + 8|0); $62 = HEAP32[$61>>2]|0; $63 = ((($4)) + 8|0); $64 = HEAP32[$63>>2]|0; $65 = (($62) + 1)|0; $66 = (($65) - ($64))|0; $67 = Math_imul($60, $66)|0; $68 = HEAP32[4289]|0; $69 = ($67>>>0)>($68>>>0); if ($69) { _Searcher_Free(); HEAP32[4289] = $67; $70 = (_Mem_Alloc($67,16,34525)|0); HEAP32[4288] = $70; } $71 = HEAP32[4288]|0; $72 = HEAP32[$56>>2]|0; $73 = HEAP32[$54>>2]|0; $74 = ($72|0)>($73|0); if ($74) { $$081$lcssa = $71; } else { $75 = ((($6)) + 4|0); $76 = ((($6)) + 8|0); $77 = ((($6)) + 12|0); $78 = ((($6)) + 16|0); $79 = ((($6)) + 20|0); $$07993 = $72;$$08192 = $71; while(1) { $80 = HEAP32[$63>>2]|0; $81 = HEAP32[$61>>2]|0; $82 = ($80|0)>($81|0); if ($82) { $$1$lcssa = $$08192; } else { $83 = (+($$07993|0)); $84 = $$07993 << 4; $$087 = $80;$$186 = $$08192; while(1) { $85 = HEAP32[$4>>2]|0; $86 = HEAP32[$5>>2]|0; $87 = ($85|0)>($86|0); if ($87) { $$2$lcssa = $$186; } else { $88 = (+($$087|0)); $89 = $$087 << 3; $$08085 = $85;$$284 = $$186; while(1) { $90 = (_World_GetPhysicsBlock($$08085,$$07993,$$087)|0); $91 = $90&65535; $92 = (578052 + ($91)|0); $93 = HEAP8[$92>>0]|0; $94 = ($93<<24>>24)==(2); if ($94) { $95 = (+($$08085|0)); $96 = (588036 + (($91*12)|0)|0); ;HEAP32[$6>>2]=HEAP32[$96>>2]|0;HEAP32[$6+4>>2]=HEAP32[$96+4>>2]|0;HEAP32[$6+8>>2]=HEAP32[$96+8>>2]|0; $97 = +HEAPF32[$6>>2]; $98 = $97 + $95; HEAPF32[$6>>2] = $98; $99 = +HEAPF32[$75>>2]; $100 = $99 + $83; HEAPF32[$75>>2] = $100; $101 = +HEAPF32[$76>>2]; $102 = $101 + $88; HEAPF32[$76>>2] = $102; $103 = (597252 + (($91*12)|0)|0); ;HEAP32[$77>>2]=HEAP32[$103>>2]|0;HEAP32[$77+4>>2]=HEAP32[$103+4>>2]|0;HEAP32[$77+8>>2]=HEAP32[$103+8>>2]|0; $104 = +HEAPF32[$77>>2]; $105 = $104 + $95; HEAPF32[$77>>2] = $105; $106 = +HEAPF32[$78>>2]; $107 = $106 + $83; HEAPF32[$78>>2] = $107; $108 = +HEAPF32[$79>>2]; $109 = $108 + $88; HEAPF32[$79>>2] = $109; $110 = (_AABB_Intersects($2,$6)|0); $111 = ($110<<24>>24)==(0); if ($111) { $$3 = $$284; } else { _Searcher_CalcTime($3,$1,$6,$7,$8,$9); $112 = +HEAPF32[$7>>2]; $113 = $112 > 1.0; $114 = +HEAPF32[$8>>2]; $115 = $114 > 1.0; $or$cond = $113 | $115; $116 = +HEAPF32[$9>>2]; $117 = $116 > 1.0; $or$cond3 = $or$cond | $117; if ($or$cond3) { $$3 = $$284; } else { $118 = $$08085 << 3; $119 = $91 & 7; $120 = $119 | $118; HEAP32[$$284>>2] = $120; $121 = (3)?($91 >>> 3):($91); $122 = $121 & 15; $123 = $122 | $84; $124 = ((($$284)) + 4|0); HEAP32[$124>>2] = $123; $125 = (7)?($91 >>> 7):($91); $126 = $125 & 7; $127 = $126 | $89; $128 = ((($$284)) + 8|0); HEAP32[$128>>2] = $127; $129 = $112 * $112; $130 = $114 * $114; $131 = $129 + $130; $132 = $116 * $116; $133 = $131 + $132; $134 = ((($$284)) + 12|0); HEAPF32[$134>>2] = $133; $135 = ((($$284)) + 16|0); $$3 = $135; } } } else { $$3 = $$284; } $136 = (($$08085) + 1)|0; $137 = HEAP32[$5>>2]|0; $138 = ($$08085|0)<($137|0); if ($138) { $$08085 = $136;$$284 = $$3; } else { $$2$lcssa = $$3; break; } } } $139 = (($$087) + 1)|0; $140 = HEAP32[$61>>2]|0; $141 = ($$087|0)<($140|0); if ($141) { $$087 = $139;$$186 = $$2$lcssa; } else { $$1$lcssa = $$2$lcssa; break; } } } $142 = (($$07993) + 1)|0; $143 = HEAP32[$54>>2]|0; $144 = ($$07993|0)<($143|0); if ($144) { $$07993 = $142;$$08192 = $$1$lcssa; } else { $$081$lcssa = $$1$lcssa; break; } } } $145 = HEAP32[4288]|0; $146 = $$081$lcssa; $147 = (($146) - ($145))|0; $148 = (4)?($147 >> 4):($147); $149 = ($147|0)==(0); if ($149) { STACKTOP = sp;return ($148|0); } $150 = (($148) + -1)|0; _Searcher_QuickSort(0,$150); STACKTOP = sp;return ($148|0); } function _Searcher_Free() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[4288]|0; $1 = ($0|0)==(493680|0); if (!($1)) { _Mem_Free($0); } HEAP32[4288] = 493680; HEAP32[4289] = 64; return; } function _Searcher_CalcTime($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; var $$sink = 0, $$sink49 = 0, $$sink54 = 0, $$sink56 = 0, $$sink60 = 0, $$sink62 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0; var $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0; var $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0.0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0.0, $60 = 0, $61 = 0.0, $62 = 0; var $63 = 0.0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0, $68 = 0.0, $69 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $6 = +HEAPF32[$0>>2]; $7 = $6 > 0.0; $8 = ((($0)) + 4|0); $9 = +HEAPF32[$8>>2]; $10 = $9 > 0.0; $$sink56 = $10 ? $2 : $1; $$sink54 = $10 ? $1 : $2; $11 = ((($$sink56)) + 4|0); $12 = +HEAPF32[$11>>2]; $13 = ((($$sink54)) + 16|0); $14 = +HEAPF32[$13>>2]; $15 = $12 - $14; $16 = ((($0)) + 8|0); $17 = +HEAPF32[$16>>2]; $18 = $17 > 0.0; $$sink62 = $18 ? $2 : $1; $$sink60 = $18 ? $1 : $2; $19 = ((($$sink62)) + 8|0); $20 = +HEAPF32[$19>>2]; $21 = ((($$sink60)) + 20|0); $22 = +HEAPF32[$21>>2]; $23 = $20 - $22; $24 = $6 == 0.0; if ($24) { $31 = inf; } else { $$sink = $7 ? $2 : $1; $25 = +HEAPF32[$$sink>>2]; $$sink49 = $7 ? $1 : $2; $26 = ((($$sink49)) + 12|0); $27 = +HEAPF32[$26>>2]; $28 = $25 - $27; $29 = $28 / $6; $30 = (+_Math_AbsF($29)); $31 = $30; } HEAPF32[$3>>2] = $31; $32 = +HEAPF32[$8>>2]; $33 = $32 == 0.0; if ($33) { $36 = inf; } else { $34 = $15 / $32; $35 = (+_Math_AbsF($34)); $36 = $35; } HEAPF32[$4>>2] = $36; $37 = +HEAPF32[$16>>2]; $38 = $37 == 0.0; if ($38) { $41 = inf; } else { $39 = $23 / $37; $40 = (+_Math_AbsF($39)); $41 = $40; } HEAPF32[$5>>2] = $41; $42 = ((($1)) + 12|0); $43 = +HEAPF32[$42>>2]; $44 = +HEAPF32[$2>>2]; $45 = !($43 >= $44); if (!($45)) { $46 = +HEAPF32[$1>>2]; $47 = ((($2)) + 12|0); $48 = +HEAPF32[$47>>2]; $49 = !($46 <= $48); if (!($49)) { HEAPF32[$3>>2] = 0.0; } } $50 = ((($1)) + 16|0); $51 = +HEAPF32[$50>>2]; $52 = ((($2)) + 4|0); $53 = +HEAPF32[$52>>2]; $54 = !($51 >= $53); if (!($54)) { $55 = ((($1)) + 4|0); $56 = +HEAPF32[$55>>2]; $57 = ((($2)) + 16|0); $58 = +HEAPF32[$57>>2]; $59 = !($56 <= $58); if (!($59)) { HEAPF32[$4>>2] = 0.0; } } $60 = ((($1)) + 20|0); $61 = +HEAPF32[$60>>2]; $62 = ((($2)) + 8|0); $63 = +HEAPF32[$62>>2]; $64 = !($61 >= $63); if ($64) { return; } $65 = ((($1)) + 8|0); $66 = +HEAPF32[$65>>2]; $67 = ((($2)) + 20|0); $68 = +HEAPF32[$67>>2]; $69 = !($66 <= $68); if ($69) { return; } HEAPF32[$5>>2] = 0.0; return; } function _Searcher_QuickSort($0,$1) { $0 = $0|0; $1 = $1|0; var $$051$lcssa = 0, $$05161 = 0, $$053$lcssa = 0, $$05360 = 0, $$05663 = 0, $$064 = 0, $$1 = 0, $$152 = 0, $$154 = 0, $$157 = 0, $$2 = 0, $$255 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0; var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0; var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = HEAP32[4288]|0; $4 = ($0|0)<($1|0); if (!($4)) { STACKTOP = sp;return; } $$05663 = $1;$$064 = $0; while(1) { $5 = (($$064) + ($$05663))|0; $6 = (1)?($5 >> 1):($5); $7 = (((($3) + ($6<<4)|0)) + 12|0); $8 = +HEAPF32[$7>>2]; $9 = ($$064|0)>($$05663|0); if ($9) { $$051$lcssa = $$05663;$$053$lcssa = $$064; } else { $$05161 = $$05663;$$05360 = $$064; while(1) { $$154 = $$05360; while(1) { $10 = (((($3) + ($$154<<4)|0)) + 12|0); $11 = +HEAPF32[$10>>2]; $12 = $8 > $11; $13 = (($$154) + 1)|0; if ($12) { $$154 = $13; } else { break; } } $$152 = $$05161; while(1) { $14 = (((($3) + ($$152<<4)|0)) + 12|0); $15 = +HEAPF32[$14>>2]; $16 = $8 < $15; $17 = (($$152) + -1)|0; if ($16) { $$152 = $17; } else { break; } } $18 = (($3) + ($$154<<4)|0); $19 = (($3) + ($$152<<4)|0); $20 = ($$154|0)>($$152|0); if ($20) { $$2 = $$152;$$255 = $$154; } else { $21 = (($$152) + -1)|0; $22 = (($$154) + 1)|0; ;HEAP32[$2>>2]=HEAP32[$18>>2]|0;HEAP32[$2+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$18+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$18+12>>2]|0; ;HEAP32[$18>>2]=HEAP32[$19>>2]|0;HEAP32[$18+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$18+8>>2]=HEAP32[$19+8>>2]|0;HEAP32[$18+12>>2]=HEAP32[$19+12>>2]|0; ;HEAP32[$19>>2]=HEAP32[$2>>2]|0;HEAP32[$19+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$19+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$19+12>>2]=HEAP32[$2+12>>2]|0; $$2 = $21;$$255 = $22; } $23 = ($$255|0)>($$2|0); if ($23) { $$051$lcssa = $$2;$$053$lcssa = $$255; break; } else { $$05161 = $$2;$$05360 = $$255; } } } $24 = (($$051$lcssa) - ($$064))|0; $25 = (($$05663) - ($$053$lcssa))|0; $26 = ($24|0)>($25|0); if ($26) { $28 = ($$05663|0)>($$053$lcssa|0); if ($28) { _Searcher_QuickSort($$053$lcssa,$$05663); $$1 = $$064;$$157 = $$051$lcssa; } else { $$1 = $$064;$$157 = $$051$lcssa; } } else { $27 = ($$051$lcssa|0)>($$064|0); if ($27) { _Searcher_QuickSort($$064,$$051$lcssa); $$1 = $$053$lcssa;$$157 = $$05663; } else { $$1 = $$053$lcssa;$$157 = $$05663; } } $29 = ($$1|0)<($$157|0); if ($29) { $$05663 = $$157;$$064 = $$1; } else { break; } } STACKTOP = sp;return; } function _PickedPosRenderer_Init() { var label = 0, sp = 0; sp = STACKTOP; _OnContextRecreated_1195(0); _Event_Register((1251856),0,342); _Event_Register((1252116),0,343); return; } function _PickedPosRenderer_Free() { var label = 0, sp = 0; sp = STACKTOP; _OnContextLost_1194(0); _Event_Unregister((1251856),0,342); _Event_Unregister((1252116),0,343); return; } function _OnContextLost_1194($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _Gfx_DeleteVb(1292056); return; } function _OnContextRecreated_1195($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Gfx_CreateDynamicVb(0,96)|0); HEAP32[323014] = $1; return; } function _PickedPosRenderer_Render() { var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP8[(1260360)>>0]|0; $1 = ($0<<24>>24)==(0); if (!($1)) { return; } _Gfx_SetAlphaBlending(1); _Gfx_SetDepthWrite(0); _Gfx_SetVertexFormat(0); $2 = HEAP32[323014]|0; _Gfx_UpdateDynamicVb_IndexedTris($2,494704,96); _Gfx_SetDepthWrite(1); _Gfx_SetAlphaBlending(0); return; } function _PickedPosRenderer_Update($0) { $0 = $0|0; var $$0 = 0.0, $$035 = 0.0, $$03740 = 0, $$03839 = 0, $$1 = 0.0, $$136 = 0.0, $$2 = 0.0, $$3 = 0.0, $$4 = 0.0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $1 = sp + 48|0; $2 = sp; _Vec3_Sub_1200($1,$0); $3 = (+_Vec3_LengthSquared_1201($1)); $4 = $3 < 16.0; $$035 = $4 ? 0.0062500000931322575 : 0.0099999997764825821; $5 = $3 < 4.0; $$136 = $5 ? 0.004999999888241291 : $$035; $6 = $3 < 1024.0; $$0 = $6 ? 0.03125 : 0.0625; $7 = $3 < 256.0; $$1 = $7 ? 0.015625 : $$0; $8 = $3 < 64.0; $$2 = $8 ? 0.010416666977107525 : $$1; $$3 = $4 ? 0.0078125 : $$2; $$4 = $5 ? 0.0052083334885537624 : $$3; $9 = - $$136; _Vec3_Add1_1202($2,$0,$9); $10 = ((($2)) + 12|0); _Vec3_Add1_1202($10,$2,$$4); $11 = ((($2)) + 36|0); $12 = ((($0)) + 12|0); _Vec3_Add1_1202($11,$12,$$136); $13 = ((($2)) + 24|0); $14 = - $$4; _Vec3_Add1_1202($13,$11,$14); $$03740 = 494704;$$03839 = 0; while(1) { $15 = (6528 + ($$03839)|0); $16 = HEAP8[$15>>0]|0; $17 = $16&255; $18 = (($2) + (($17*12)|0)|0); $19 = HEAP32[$18>>2]|0; HEAP32[$$03740>>2] = $19; $20 = (($$03839) + 1)|0; $21 = (6528 + ($20)|0); $22 = HEAP8[$21>>0]|0; $23 = $22&255; $24 = (((($2) + (($23*12)|0)|0)) + 4|0); $25 = HEAP32[$24>>2]|0; $26 = ((($$03740)) + 4|0); HEAP32[$26>>2] = $25; $27 = (($$03839) + 2)|0; $28 = (6528 + ($27)|0); $29 = HEAP8[$28>>0]|0; $30 = $29&255; $31 = (((($2) + (($30*12)|0)|0)) + 8|0); $32 = HEAP32[$31>>2]|0; $33 = ((($$03740)) + 8|0); HEAP32[$33>>2] = $32; $34 = ((($$03740)) + 12|0); HEAP32[$34>>2] = 1711276032; $35 = (($$03839) + 3)|0; $36 = ((($$03740)) + 16|0); $37 = ($35>>>0)<(288); if ($37) { $$03740 = $36;$$03839 = $35; } else { break; } } STACKTOP = sp;return; } function _Vec3_Sub_1200($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = +HEAPF32[(1230620)>>2]; $3 = +HEAPF32[$1>>2]; $4 = $2 - $3; HEAPF32[$0>>2] = $4; $5 = +HEAPF32[(1230624)>>2]; $6 = ((($1)) + 4|0); $7 = +HEAPF32[$6>>2]; $8 = $5 - $7; $9 = ((($0)) + 4|0); HEAPF32[$9>>2] = $8; $10 = +HEAPF32[(1230628)>>2]; $11 = ((($1)) + 8|0); $12 = +HEAPF32[$11>>2]; $13 = $10 - $12; $14 = ((($0)) + 8|0); HEAPF32[$14>>2] = $13; return; } function _Vec3_LengthSquared_1201($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = +HEAPF32[$0>>2]; $2 = $1 * $1; $3 = ((($0)) + 4|0); $4 = +HEAPF32[$3>>2]; $5 = $4 * $4; $6 = $2 + $5; $7 = ((($0)) + 8|0); $8 = +HEAPF32[$7>>2]; $9 = $8 * $8; $10 = $6 + $9; return (+$10); } function _Vec3_Add1_1202($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = +$2; var $10 = 0.0, $11 = 0.0, $12 = 0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = $3 + $2; HEAPF32[$0>>2] = $4; $5 = ((($1)) + 4|0); $6 = +HEAPF32[$5>>2]; $7 = $6 + $2; $8 = ((($0)) + 4|0); HEAPF32[$8>>2] = $7; $9 = ((($1)) + 8|0); $10 = +HEAPF32[$9>>2]; $11 = $10 + $2; $12 = ((($0)) + 8|0); HEAPF32[$12>>2] = $11; return; } function _PickedPos_SetAsValid($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$sink = 0, $$sink37 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0; var $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; var $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP32[$1>>2]|0; $4 = ((($0)) + 36|0); HEAP32[$4>>2] = $3; $5 = ((($1)) + 4|0); $6 = HEAP32[$5>>2]|0; $7 = ((($0)) + 40|0); HEAP32[$7>>2] = $6; $8 = ((($1)) + 8|0); $9 = HEAP32[$8>>2]|0; $10 = ((($0)) + 44|0); HEAP32[$10>>2] = $9; $11 = ((($0)) + 48|0); ;HEAP32[$11>>2]=HEAP32[$4>>2]|0;HEAP32[$11+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$11+8>>2]=HEAP32[$4+8>>2]|0; $12 = ((($0)) + 60|0); HEAP8[$12>>0] = 1; $13 = ((($1)) + 60|0); $14 = HEAP16[$13>>1]|0; $15 = ((($0)) + 62|0); HEAP16[$15>>1] = $14; $16 = ((($0)) + 24|0); ;HEAP32[$16>>2]=HEAP32[$2>>2]|0;HEAP32[$16+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$16+8>>2]=HEAP32[$2+8>>2]|0; $17 = ((($1)) + 36|0); ;HEAP32[$0>>2]=HEAP32[$17>>2]|0;HEAP32[$0+4>>2]=HEAP32[$17+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$17+8>>2]|0; $18 = ((($0)) + 12|0); $19 = ((($1)) + 48|0); ;HEAP32[$18>>2]=HEAP32[$19>>2]|0;HEAP32[$18+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$18+8>>2]=HEAP32[$19+8>>2]|0; HEAPF32[323015] = 1.0E+9; $20 = +HEAPF32[$2>>2]; $21 = +HEAPF32[$17>>2]; $22 = $20 - $21; _PickedPos_TestAxis($0,$22,0); $23 = +HEAPF32[$19>>2]; $24 = $20 - $23; _PickedPos_TestAxis($0,$24,1); $25 = ((($2)) + 4|0); $26 = +HEAPF32[$25>>2]; $27 = ((($1)) + 40|0); $28 = +HEAPF32[$27>>2]; $29 = $26 - $28; _PickedPos_TestAxis($0,$29,4); $30 = ((($1)) + 52|0); $31 = +HEAPF32[$30>>2]; $32 = $26 - $31; _PickedPos_TestAxis($0,$32,5); $33 = ((($2)) + 8|0); $34 = +HEAPF32[$33>>2]; $35 = ((($1)) + 44|0); $36 = +HEAPF32[$35>>2]; $37 = $34 - $36; _PickedPos_TestAxis($0,$37,2); $38 = ((($1)) + 56|0); $39 = +HEAPF32[$38>>2]; $40 = $34 - $39; _PickedPos_TestAxis($0,$40,3); $41 = ((($0)) + 61|0); $42 = HEAP8[$41>>0]|0; switch ($42<<24>>24) { case 0: { $$sink = $11;$$sink37 = -1; break; } case 1: { $$sink = $11;$$sink37 = 1; break; } case 2: { $43 = ((($0)) + 56|0); $$sink = $43;$$sink37 = -1; break; } case 3: { $44 = ((($0)) + 56|0); $$sink = $44;$$sink37 = 1; break; } case 4: { $45 = ((($0)) + 52|0); $$sink = $45;$$sink37 = -1; break; } case 5: { $46 = ((($0)) + 52|0); $$sink = $46;$$sink37 = 1; break; } default: { return; } } $47 = HEAP32[$$sink>>2]|0; $48 = (($47) + ($$sink37))|0; HEAP32[$$sink>>2] = $48; return; } function _PickedPos_TestAxis($0,$1,$2) { $0 = $0|0; $1 = +$1; $2 = $2|0; var $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (+_Math_AbsF($1)); $4 = +HEAPF32[323015]; $5 = !($3 >= $4); if (!($5)) { return; } HEAPF32[323015] = $3; $6 = ((($0)) + 61|0); HEAP8[$6>>0] = $2; return; } function _PickedPos_SetAsInvalid($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 36|0); ;HEAP32[$1>>2]=HEAP32[17184>>2]|0;HEAP32[$1+4>>2]=HEAP32[17184+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[17184+8>>2]|0; $2 = ((($0)) + 48|0); ;HEAP32[$2>>2]=HEAP32[17184>>2]|0;HEAP32[$2+4>>2]=HEAP32[17184+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[17184+8>>2]|0; $3 = ((($0)) + 60|0); HEAP8[$3>>0] = 0; $4 = ((($0)) + 62|0); HEAP16[$4>>1] = 0; $5 = ((($0)) + 61|0); HEAP8[$5>>0] = 6; return; } function _RayTracer_Init($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0.0; var $48 = 0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0.0; var $66 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $3 = sp; $4 = ((($0)) + 12|0); ;HEAP32[$4>>2]=HEAP32[$1>>2]|0;HEAP32[$4+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$1+8>>2]|0; $5 = ((($0)) + 24|0); ;HEAP32[$5>>2]=HEAP32[$2>>2]|0;HEAP32[$5+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$5+8>>2]=HEAP32[$2+8>>2]|0; _IVec3_Floor($3,$1); $6 = HEAP32[$3>>2]|0; HEAP32[$0>>2] = $6; $7 = ((($3)) + 4|0); $8 = HEAP32[$7>>2]|0; $9 = ((($0)) + 4|0); HEAP32[$9>>2] = $8; $10 = ((($3)) + 8|0); $11 = HEAP32[$10>>2]|0; $12 = ((($0)) + 8|0); HEAP32[$12>>2] = $11; $13 = +HEAPF32[$2>>2]; $14 = (_Math_Sign($13)|0); $15 = ((($0)) + 64|0); HEAP32[$15>>2] = $14; $16 = ((($2)) + 4|0); $17 = +HEAPF32[$16>>2]; $18 = (_Math_Sign($17)|0); $19 = ((($0)) + 68|0); HEAP32[$19>>2] = $18; $20 = ((($2)) + 8|0); $21 = +HEAPF32[$20>>2]; $22 = (_Math_Sign($21)|0); $23 = ((($0)) + 72|0); HEAP32[$23>>2] = $22; $24 = HEAP32[$3>>2]|0; $25 = HEAP32[$15>>2]|0; $26 = ($25|0)>(0); $27 = $26&1; $28 = (($24) + ($27))|0; $29 = HEAP32[$7>>2]|0; $30 = HEAP32[$19>>2]|0; $31 = ($30|0)>(0); $32 = $31&1; $33 = (($29) + ($32))|0; $34 = HEAP32[$10>>2]|0; $35 = ($22|0)>(0); $36 = $35&1; $37 = (($34) + ($36))|0; $38 = (+($28|0)); $39 = +HEAPF32[$1>>2]; $40 = $38 - $39; $41 = (+_RayTracer_Div($40,$13)); $42 = ((($0)) + 76|0); HEAPF32[$42>>2] = $41; $43 = (+($33|0)); $44 = ((($1)) + 4|0); $45 = +HEAPF32[$44>>2]; $46 = $43 - $45; $47 = (+_RayTracer_Div($46,$17)); $48 = ((($0)) + 80|0); HEAPF32[$48>>2] = $47; $49 = (+($37|0)); $50 = ((($1)) + 8|0); $51 = +HEAPF32[$50>>2]; $52 = $49 - $51; $53 = (+_RayTracer_Div($52,$21)); $54 = ((($0)) + 84|0); HEAPF32[$54>>2] = $53; $55 = HEAP32[$15>>2]|0; $56 = (+($55|0)); $57 = (+_RayTracer_Div($56,$13)); $58 = ((($0)) + 88|0); HEAPF32[$58>>2] = $57; $59 = HEAP32[$19>>2]|0; $60 = (+($59|0)); $61 = (+_RayTracer_Div($60,$17)); $62 = ((($0)) + 92|0); HEAPF32[$62>>2] = $61; $63 = HEAP32[$23>>2]|0; $64 = (+($63|0)); $65 = (+_RayTracer_Div($64,$21)); $66 = ((($0)) + 96|0); HEAPF32[$66>>2] = $65; STACKTOP = sp;return; } function _RayTracer_Div($0,$1) { $0 = +$0; $1 = +$1; var $$0 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, label = 0, sp = 0; sp = STACKTOP; $2 = (+_Math_AbsF($1)); $3 = $2 < 9.9999999747524271E-7; $4 = $0 / $1; $$0 = $3 ? 1.0E+9 : $4; return (+$$0); } function _RayTracer_Step($0) { $0 = $0|0; var $$sink = 0, $$sink17 = 0, $$sink18 = 0.0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 76|0); $2 = +HEAPF32[$1>>2]; $3 = ((($0)) + 80|0); $4 = +HEAPF32[$3>>2]; $5 = $2 < $4; if ($5) { $6 = ((($0)) + 84|0); $7 = +HEAPF32[$6>>2]; $8 = $2 < $7; if ($8) { $9 = ((($0)) + 64|0); $10 = HEAP32[$9>>2]|0; $11 = HEAP32[$0>>2]|0; $12 = (($11) + ($10))|0; HEAP32[$0>>2] = $12; $13 = ((($0)) + 88|0); $$sink = $13;$$sink17 = $1;$$sink18 = $2; } else { label = 4; } } else { label = 4; } do { if ((label|0) == 4) { $14 = ((($0)) + 84|0); $15 = +HEAPF32[$14>>2]; $16 = $4 < $15; if ($16) { $17 = ((($0)) + 68|0); $18 = HEAP32[$17>>2]|0; $19 = ((($0)) + 4|0); $20 = HEAP32[$19>>2]|0; $21 = (($20) + ($18))|0; HEAP32[$19>>2] = $21; $22 = ((($0)) + 92|0); $$sink = $22;$$sink17 = $3;$$sink18 = $4; break; } else { $23 = ((($0)) + 72|0); $24 = HEAP32[$23>>2]|0; $25 = ((($0)) + 8|0); $26 = HEAP32[$25>>2]|0; $27 = (($26) + ($24))|0; HEAP32[$25>>2] = $27; $28 = ((($0)) + 96|0); $$sink = $28;$$sink17 = $14;$$sink18 = $15; break; } } } while(0); $29 = +HEAPF32[$$sink>>2]; $30 = $$sink18 + $29; HEAPF32[$$sink17>>2] = $30; return; } function _Picking_CalculatePickedBlock($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = +$2; $3 = $3|0; var $$byval_copy = 0, $$byval_copy1 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $$byval_copy1 = sp + 12|0; $$byval_copy = sp; ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$1+8>>2]|0; $4 = (_Picking_RayTrace($$byval_copy,$$byval_copy1,$2,$3,17)|0); $5 = ($4<<24>>24)==(0); if (!($5)) { STACKTOP = sp;return; } _PickedPos_SetAsInvalid($3); STACKTOP = sp;return; } function _Picking_ClipBlock($0) { $0 = $0|0; var $$0 = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy4 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $$byval_copy4 = sp + 68|0; $$byval_copy2 = sp + 56|0; $$byval_copy1 = sp + 44|0; $$byval_copy = sp + 32|0; $1 = sp + 20|0; $2 = sp + 8|0; $3 = sp + 4|0; $4 = sp; $5 = HEAP16[(1292124)>>1]|0; $6 = (_Game_CanPick($5)|0); $7 = ($6<<24>>24)==(0); if ($7) { $$0 = 0; STACKTOP = sp;return ($$0|0); } ;HEAP32[$$byval_copy>>2]=HEAP32[(1292076)>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[(1292076)+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[(1292076)+8>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[(1292088)>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[(1292088)+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[(1292088)+8>>2]|0; ;HEAP32[$$byval_copy2>>2]=HEAP32[(1292100)>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[(1292100)+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[(1292100)+8>>2]|0; ;HEAP32[$$byval_copy4>>2]=HEAP32[(1292112)>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[(1292112)+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[(1292112)+8>>2]|0; $8 = (_Intersection_RayIntersectsBox($$byval_copy,$$byval_copy1,$$byval_copy2,$$byval_copy4,$3,$4)|0); $9 = ($8<<24>>24)==(0); if ($9) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $10 = +HEAPF32[$3>>2]; _Vec3_Mul1_1211($1,(1292088),$10); _Vec3_Add_1208($2,(1292076),$1); $11 = (+_Vec3_LengthSquared_1214($1)); $12 = +HEAPF32[(1242612)>>2]; $13 = $12 * $12; $14 = !($11 <= $13); if ($14) { _PickedPos_SetAsInvalid($0); $$0 = 1; STACKTOP = sp;return ($$0|0); } else { ;HEAP32[$$byval_copy4>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$2+8>>2]|0; _PickedPos_SetAsValid($0,1292064,$$byval_copy4); $$0 = 1; STACKTOP = sp;return ($$0|0); } return (0)|0; } function _Picking_RayTrace($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = +$2; $3 = $3|0; $4 = $4|0; var $$0 = 0, $$05960 = 0, $$byval_copy = 0, $$byval_copy2 = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0; var $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0; var $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $$byval_copy2 = sp + 60|0; $$byval_copy = sp + 48|0; $5 = sp + 36|0; $6 = sp + 24|0; $7 = sp + 12|0; $8 = sp; ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; ;HEAP32[$$byval_copy2>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$1+8>>2]|0; _RayTracer_Init(1292064,$$byval_copy,$$byval_copy2); _IVec3_Floor($5,$0); $9 = HEAP32[$5>>2]|0; $10 = ((($5)) + 4|0); $11 = HEAP32[$10>>2]|0; $12 = ((($5)) + 8|0); $13 = HEAP32[$12>>2]|0; $14 = (_World_Contains_1207($9,$11,$13)|0); $15 = $2 * $2; $16 = ((($6)) + 4|0); $17 = ((($6)) + 8|0); $18 = ($14<<24>>24)==(0); $19 = ((($0)) + 4|0); $20 = ((($7)) + 4|0); $21 = ((($8)) + 4|0); $22 = ((($0)) + 8|0); $23 = ((($7)) + 8|0); $24 = ((($8)) + 8|0); $$05960 = 0; while(1) { $25 = HEAP32[323016]|0; $26 = HEAP32[(1292068)>>2]|0; $27 = HEAP32[(1292072)>>2]|0; $28 = (+($25|0)); HEAPF32[$6>>2] = $28; $29 = (+($26|0)); HEAPF32[$16>>2] = $29; $30 = (+($27|0)); HEAPF32[$17>>2] = $30; if ($18) { ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; $32 = (_Picking_GetOutside($25,$26,$27,$$byval_copy2)|0); $$sink = $32; } else { $31 = (_Picking_GetInside($25,$26,$27)|0); $$sink = $31; } $33 = $$sink&65535; HEAP16[(1292124)>>1] = $$sink; $34 = (606468 + (($33*12)|0)|0); _Vec3_Add_1208($7,$6,$34); $35 = HEAP16[(1292124)>>1]|0; $36 = $35&65535; $37 = (615684 + (($36*12)|0)|0); _Vec3_Add_1208($8,$6,$37); $38 = +HEAPF32[$0>>2]; $39 = +HEAPF32[$7>>2]; $40 = $38 - $39; $41 = (+_Math_AbsF($40)); $42 = +HEAPF32[$0>>2]; $43 = +HEAPF32[$8>>2]; $44 = $42 - $43; $45 = (+_Math_AbsF($44)); $46 = +HEAPF32[$19>>2]; $47 = +HEAPF32[$20>>2]; $48 = $46 - $47; $49 = (+_Math_AbsF($48)); $50 = +HEAPF32[$19>>2]; $51 = +HEAPF32[$21>>2]; $52 = $50 - $51; $53 = (+_Math_AbsF($52)); $54 = +HEAPF32[$22>>2]; $55 = +HEAPF32[$23>>2]; $56 = $54 - $55; $57 = (+_Math_AbsF($56)); $58 = +HEAPF32[$22>>2]; $59 = +HEAPF32[$24>>2]; $60 = $58 - $59; $61 = (+_Math_AbsF($60)); $62 = $41 < $45; $63 = $62 ? $41 : $45; $64 = $49 < $53; $65 = $64 ? $49 : $53; $66 = $57 < $61; $67 = $66 ? $57 : $61; $68 = $63 * $63; $69 = $65 * $65; $70 = $68 + $69; $71 = $67 * $67; $72 = $70 + $71; $73 = $72 > $15; if ($73) { $$0 = 0; label = 9; break; } ;HEAP32[(1292100)>>2]=HEAP32[$7>>2]|0;HEAP32[(1292100)+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[(1292100)+8>>2]=HEAP32[$7+8>>2]|0; ;HEAP32[(1292112)>>2]=HEAP32[$8>>2]|0;HEAP32[(1292112)+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[(1292112)+8>>2]=HEAP32[$8+8>>2]|0; $74 = (FUNCTION_TABLE_ii[$4 & 31]($3)|0); $75 = ($74<<24>>24)==(0); if (!($75)) { $$0 = 1; label = 9; break; } _RayTracer_Step(1292064); $76 = (($$05960) + 1)|0; $77 = ($76>>>0)<(25000); if ($77) { $$05960 = $76; } else { label = 8; break; } } if ((label|0) == 8) { _Logger_Abort(34549); $$0 = 0; STACKTOP = sp;return ($$0|0); } else if ((label|0) == 9) { STACKTOP = sp;return ($$0|0); } return (0)|0; } function _World_Contains_1207($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $narrow = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP32[(1407464)>>2]|0; $4 = ($3>>>0)>($0>>>0); $5 = HEAP32[(1407468)>>2]|0; $6 = ($5>>>0)>($1>>>0); $or$cond = $4 & $6; $7 = HEAP32[(1407472)>>2]|0; $8 = ($7>>>0)>($2>>>0); $narrow = $or$cond & $8; $9 = $narrow&1; return ($9|0); } function _Picking_GetInside($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp13 = 0, $spec$select = 0, $spec$store$select = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (_World_ContainsXZ_1212($0,$2)|0); $4 = ($3<<24>>24)==(0); if (!($4)) { $5 = HEAP32[(1407468)>>2]|0; $6 = ($5|0)>($1|0); if (!($6)) { $$0 = 0; return ($$0|0); } $7 = ($1|0)>(-1); if ($7) { $8 = (_World_GetBlock_1213($0,$1,$2)|0); $$0 = $8; return ($$0|0); } } $9 = HEAP16[(1407514)>>1]|0; $10 = ($9<<16>>16)==(0); $11 = HEAP32[(1407516)>>2]|0; $12 = HEAP32[(1407520)>>2]|0; $13 = (($12) + ($11))|0; $14 = ($13|0)>(1); $spec$store$select = $14 ? $13 : 1; $15 = ($spec$store$select|0)>($1|0); $phitmp13 = $15 ? 7 : 0; $spec$select = $10 ? 0 : $phitmp13; return ($spec$select|0); } function _Picking_GetOutside($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0 = 0, $$mux = 0, $$not55 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $brmerge = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond54 = 0, $or$cond9 = 0, $spec$store$select = 0, label = 0, sp = 0; sp = STACKTOP; $4 = (_World_ContainsXZ_1212($0,$2)|0); $5 = ($4<<24>>24)!=(0); $6 = HEAP32[(1407468)>>2]|0; $7 = ($6|0)>($1|0); $or$cond54 = $5 & $7; if (!($or$cond54)) { $$0 = 0; return ($$0|0); } $8 = HEAP16[(1407514)>>1]|0; $9 = ($8<<16>>16)!=(0); $10 = ($1|0)==(-1); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($3)) + 4|0); $12 = HEAP32[$11>>2]|0; $13 = ($12|0)>(0); if ($13) { $$0 = 7; return ($$0|0); } } else { $14 = ($1|0)==(0); $or$cond3 = $14 & $9; if ($or$cond3) { $15 = ((($3)) + 4|0); $16 = HEAP32[$15>>2]|0; $17 = ($16|0)<(0); if ($17) { $$0 = 7; return ($$0|0); } } } $18 = HEAP32[(1407516)>>2]|0; $19 = HEAP32[(1407520)>>2]|0; $20 = (($19) + ($18))|0; $21 = ($20|0)>(1); $spec$store$select = $21 ? $20 : 1; $22 = ($0|0)==(0); $or$cond5 = $22 & $9; $23 = ($1|0)>(-1); $24 = ($spec$store$select>>>0)>($1>>>0); $25 = $or$cond5 & $24; if ($25) { $26 = HEAP32[$3>>2]|0; $27 = ($26|0)<(0); if ($27) { $$0 = 7; return ($$0|0); } } $28 = ($2|0)==(0); $or$cond9 = $28 & $9; $29 = ($spec$store$select>>>0)>($1>>>0); $30 = $or$cond9 & $29; if ($30) { $31 = ((($3)) + 8|0); $32 = HEAP32[$31>>2]|0; $33 = ($32|0)<(0); if ($33) { $$0 = 7; return ($$0|0); } } if ($9) { $34 = HEAP32[(1407476)>>2]|0; $35 = ($34|0)==($0|0); $36 = ($spec$store$select>>>0)>($1>>>0); $37 = $36 & $35; if ($37) { $38 = HEAP32[$3>>2]|0; $39 = HEAP32[(1407464)>>2]|0; $40 = ($38|0)<($39|0); if (!($40)) { $$0 = 7; return ($$0|0); } } $41 = HEAP32[(1407484)>>2]|0; $42 = ($41|0)==($2|0); $43 = ($spec$store$select>>>0)>($1>>>0); $44 = $43 & $42; if ($44) { $45 = ((($3)) + 8|0); $46 = HEAP32[$45>>2]|0; $47 = HEAP32[(1407472)>>2]|0; $48 = ($46|0)>=($47|0); $$not55 = $23 ^ 1; $brmerge = $48 | $$not55; $$mux = $48 ? 7 : 0; if ($brmerge) { $$0 = $$mux; return ($$0|0); } } else { label = 15; } } else { label = 15; } if ((label|0) == 15) { if (!($23)) { $$0 = 0; return ($$0|0); } } $49 = (_World_GetBlock_1213($0,$1,$2)|0); $$0 = $49; return ($$0|0); } function _Vec3_Add_1208($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 + $4; HEAPF32[$0>>2] = $5; $6 = ((($1)) + 4|0); $7 = +HEAPF32[$6>>2]; $8 = ((($2)) + 4|0); $9 = +HEAPF32[$8>>2]; $10 = $7 + $9; $11 = ((($0)) + 4|0); HEAPF32[$11>>2] = $10; $12 = ((($1)) + 8|0); $13 = +HEAPF32[$12>>2]; $14 = ((($2)) + 8|0); $15 = +HEAPF32[$14>>2]; $16 = $13 + $15; $17 = ((($0)) + 8|0); HEAPF32[$17>>2] = $16; return; } function _Picking_ClipCamera($0) { $0 = $0|0; var $$0 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy8 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $$byval_copy8 = sp + 56|0; $$byval_copy6 = sp + 44|0; $$byval_copy5 = sp + 32|0; $$byval_copy4 = sp + 20|0; $1 = sp + 8|0; $2 = sp + 4|0; $3 = sp; $4 = HEAP16[(1292124)>>1]|0; $5 = $4&65535; $6 = (583428 + ($5)|0); $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(4); if ($8) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $9 = (578052 + ($5)|0); $10 = HEAP8[$9>>0]|0; $11 = ($10<<24>>24)==(2); if (!($11)) { $$0 = 0; STACKTOP = sp;return ($$0|0); } ;HEAP32[$$byval_copy4>>2]=HEAP32[(1292076)>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[(1292076)+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[(1292076)+8>>2]|0; ;HEAP32[$$byval_copy5>>2]=HEAP32[(1292088)>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[(1292088)+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[(1292088)+8>>2]|0; ;HEAP32[$$byval_copy6>>2]=HEAP32[(1292100)>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[(1292100)+4>>2]|0;HEAP32[$$byval_copy6+8>>2]=HEAP32[(1292100)+8>>2]|0; ;HEAP32[$$byval_copy8>>2]=HEAP32[(1292112)>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[(1292112)+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[(1292112)+8>>2]|0; $12 = (_Intersection_RayIntersectsBox($$byval_copy4,$$byval_copy5,$$byval_copy6,$$byval_copy8,$2,$3)|0); $13 = ($12<<24>>24)==(0); if ($13) { $$0 = 0; STACKTOP = sp;return ($$0|0); } _Vec3_Sub_1210(); _Vec3_Add_1208((1292112),(1292112),17196); ;HEAP32[$$byval_copy4>>2]=HEAP32[(1292076)>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[(1292076)+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[(1292076)+8>>2]|0; ;HEAP32[$$byval_copy5>>2]=HEAP32[(1292088)>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[(1292088)+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[(1292088)+8>>2]|0; ;HEAP32[$$byval_copy6>>2]=HEAP32[(1292100)>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[(1292100)+4>>2]|0;HEAP32[$$byval_copy6+8>>2]=HEAP32[(1292100)+8>>2]|0; ;HEAP32[$$byval_copy8>>2]=HEAP32[(1292112)>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[(1292112)+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[(1292112)+8>>2]|0; (_Intersection_RayIntersectsBox($$byval_copy4,$$byval_copy5,$$byval_copy6,$$byval_copy8,$2,$3)|0); $14 = +HEAPF32[$2>>2]; _Vec3_Mul1_1211($1,(1292088),$14); _Vec3_Add_1208($1,(1292076),$1); ;HEAP32[$$byval_copy8>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[$1+8>>2]|0; _PickedPos_SetAsValid($0,1292064,$$byval_copy8); $$0 = 1; STACKTOP = sp;return ($$0|0); } function _Vec3_Sub_1210() { var $0 = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, label = 0, sp = 0; sp = STACKTOP; $0 = +HEAPF32[(1292100)>>2]; $1 = $0 + -0.10000000149011612; HEAPF32[(1292100)>>2] = $1; $2 = +HEAPF32[(1292104)>>2]; $3 = $2 + -0.10000000149011612; HEAPF32[(1292104)>>2] = $3; $4 = +HEAPF32[(1292108)>>2]; $5 = $4 + -0.10000000149011612; HEAPF32[(1292108)>>2] = $5; return; } function _Vec3_Mul1_1211($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = +$2; var $10 = 0.0, $11 = 0.0, $12 = 0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = $3 * $2; HEAPF32[$0>>2] = $4; $5 = ((($1)) + 4|0); $6 = +HEAPF32[$5>>2]; $7 = $6 * $2; $8 = ((($0)) + 4|0); HEAPF32[$8>>2] = $7; $9 = ((($1)) + 8|0); $10 = +HEAPF32[$9>>2]; $11 = $10 * $2; $12 = ((($0)) + 8|0); HEAPF32[$12>>2] = $11; return; } function _World_ContainsXZ_1212($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $narrow = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[(1407464)>>2]|0; $3 = ($2>>>0)>($0>>>0); $4 = HEAP32[(1407472)>>2]|0; $5 = ($4>>>0)>($1>>>0); $narrow = $3 & $5; $6 = $narrow&1; return ($6|0); } function _World_GetBlock_1213($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; $3 = HEAP32[(1407472)>>2]|0; $4 = Math_imul($3, $1)|0; $5 = (($4) + ($2))|0; $6 = HEAP32[(1407464)>>2]|0; $7 = Math_imul($5, $6)|0; $8 = (($7) + ($0))|0; $9 = HEAP32[351863]|0; $10 = (($9) + ($8)|0); $11 = HEAP8[$10>>0]|0; $12 = $11&255; $13 = HEAP32[(1407456)>>2]|0; $14 = (($13) + ($8)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = $16 << 8; $18 = $17 | $12; $19 = HEAP32[(1407508)>>2]|0; $20 = $18 & $19; $21 = $20&65535; return ($21|0); } function _Vec3_LengthSquared_1214($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = +HEAPF32[$0>>2]; $2 = $1 * $1; $3 = ((($0)) + 4|0); $4 = +HEAPF32[$3>>2]; $5 = $4 * $4; $6 = $2 + $5; $7 = ((($0)) + 8|0); $8 = +HEAPF32[$7>>2]; $9 = $8 * $8; $10 = $6 + $9; return (+$10); } function _Picking_ClipCameraPos($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = +$2; $3 = $3|0; var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $$byval_copy1 = sp + 12|0; $$byval_copy = sp; $4 = HEAP8[(1230545)>>0]|0; $5 = ($4<<24>>24)==(0); $6 = HEAP8[(1242650)>>0]|0; $7 = ($6<<24>>24)!=(0); $8 = $5 | $7; if (!($8)) { ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$1+8>>2]|0; $9 = (_Picking_RayTrace($$byval_copy,$$byval_copy1,$2,$3,18)|0); $10 = ($9<<24>>24)==(0); if (!($10)) { STACKTOP = sp;return; } } _PickedPos_SetAsInvalid($3); $11 = ((($3)) + 24|0); _Vec3_Mul1_1211($11,$1,$2); _Vec3_Add_1208($11,$0,$11); STACKTOP = sp;return; } function _Mem_Set($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var label = 0, sp = 0; sp = STACKTOP; _memset(($0|0),($1|0),($2|0))|0; return; } function _Mem_Copy($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var label = 0, sp = 0; sp = STACKTOP; _memcpy(($0|0),($1|0),($2|0))|0; return; } function _Mem_TryAlloc($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = Math_imul($1, $0)|0; $3 = (_malloc($2)|0); return ($3|0); } function _Mem_Alloc($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = Math_imul($1, $0)|0; $4 = (_malloc($3)|0); $5 = ($4|0)==(0|0); if (!($5)) { return ($4|0); } _Platform_AllocFailed($2); return ($4|0); } function _Platform_AllocFailed($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; $1 = sp + 88|0; $2 = sp; HEAP32[$1>>2] = $2; $3 = ((($1)) + 4|0); HEAP16[$3>>1] = 0; $4 = ((($1)) + 6|0); HEAP16[$4>>1] = 84; _String_Format1($1,34620,$0); $5 = HEAP32[$1>>2]|0; $6 = HEAP16[$3>>1]|0; $7 = $6&65535; $8 = (($5) + ($7)|0); HEAP8[$8>>0] = 0; $9 = HEAP32[$1>>2]|0; _Logger_Abort($9); STACKTOP = sp;return; } function _Mem_AllocCleared($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (_calloc($0,$1)|0); $4 = ($3|0)==(0|0); if (!($4)) { return ($3|0); } _Platform_AllocFailed($2); return ($3|0); } function _Mem_Realloc($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = Math_imul($2, $1)|0; $5 = (_realloc($0,$4)|0); $6 = ($5|0)==(0|0); if (!($6)) { return ($5|0); } _Platform_AllocFailed($3); return ($5|0); } function _Mem_Free($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ($0|0)==(0|0); if (!($1)) { _free($0); } return; } function _Platform_Log1($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _Platform_Log4($0,$1,0,0,0); return; } function _Platform_Log4($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 528|0; $5 = sp + 512|0; $6 = sp; HEAP32[$5>>2] = $6; $7 = ((($5)) + 4|0); HEAP16[$7>>1] = 0; $8 = ((($5)) + 6|0); HEAP16[$8>>1] = 512; _String_Format4($5,$0,$1,$2,$3,$4); _Platform_Log($5); STACKTOP = sp;return; } function _Platform_Log($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; $2 = ((($0)) + 4|0); $3 = HEAP16[$2>>1]|0; $4 = $3&65535; (_write(1,$1,$4)|0); (_write(1,34656,1)|0); return; } function _Platform_Log2($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var label = 0, sp = 0; sp = STACKTOP; _Platform_Log4($0,$1,$2,0,0); return; } function _Platform_Log3($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var label = 0, sp = 0; sp = STACKTOP; _Platform_Log4($0,$1,$2,$3,0); return; } function _Platform_LogConst($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; _String_FromReadonly($1,$0); _Platform_Log($1); STACKTOP = sp;return; } function _Stopwatch_ElapsedMicroseconds($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $10 = 0, $11 = 0, $12 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ($3>>>0)<($1>>>0); $5 = ($2>>>0)<($0>>>0); $6 = ($3|0)==($1|0); $7 = $6 & $5; $8 = $4 | $7; $9 = (_i64Subtract(($2|0),($3|0),($0|0),($1|0))|0); $10 = (getTempRet0() | 0); $11 = $8 ? 0 : $9; $12 = $8 ? 0 : $10; setTempRet0(($12) | 0); return ($11|0); } function _DateTime_CurrentUTC_MS() { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; (_gettimeofday(($0|0),(0|0))|0); $1 = HEAP32[$0>>2]|0; $2 = ($1|0)<(0); $3 = $2 << 31 >> 31; $4 = (___muldi3(($1|0),($3|0),1000,0)|0); $5 = (getTempRet0() | 0); $6 = (_i64Add(($4|0),($5|0),304928768,14467)|0); $7 = (getTempRet0() | 0); $8 = ((($0)) + 4|0); $9 = HEAP32[$8>>2]|0; $10 = (($9|0) / 1000)&-1; $11 = ($10|0)<(0); $12 = $11 << 31 >> 31; $13 = (_i64Add(($6|0),($7|0),($10|0),($12|0))|0); $14 = (getTempRet0() | 0); setTempRet0(($14) | 0); STACKTOP = sp;return ($13|0); } function _Platform_FromSysTime($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($1)) + 20|0); $3 = HEAP32[$2>>2]|0; $4 = (($3) + 1900)|0; HEAP32[$0>>2] = $4; $5 = ((($1)) + 16|0); $6 = HEAP32[$5>>2]|0; $7 = (($6) + 1)|0; $8 = ((($0)) + 4|0); HEAP32[$8>>2] = $7; $9 = ((($1)) + 12|0); $10 = HEAP32[$9>>2]|0; $11 = ((($0)) + 8|0); HEAP32[$11>>2] = $10; $12 = ((($1)) + 8|0); $13 = HEAP32[$12>>2]|0; $14 = ((($0)) + 12|0); HEAP32[$14>>2] = $13; $15 = ((($1)) + 4|0); $16 = HEAP32[$15>>2]|0; $17 = ((($0)) + 16|0); HEAP32[$17>>2] = $16; $18 = HEAP32[$1>>2]|0; $19 = ((($0)) + 20|0); HEAP32[$19>>2] = $18; return; } function _DateTime_CurrentLocal($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $1 = sp + 48|0; $2 = sp; (_gettimeofday(($1|0),(0|0))|0); (_localtime_r(($1|0),($2|0))|0); _Platform_FromSysTime($0,$2); $3 = ((($1)) + 4|0); $4 = HEAP32[$3>>2]|0; $5 = (($4|0) / 1000)&-1; $6 = ((($0)) + 24|0); HEAP32[$6>>2] = $5; STACKTOP = sp;return; } function _Stopwatch_Measure() { var $0 = 0.0, $1 = 0.0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = (+_emscripten_get_now()); $1 = $0 * 1000.0; $2 = (~~$1)>>>0; $3 = +Math_abs($1) >= 1.0 ? $1 > 0.0 ? (~~+Math_min(+Math_floor($1 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($1 - +(~~$1 >>> 0)) / 4294967296.0) >>> 0 : 0; setTempRet0(($3) | 0); return ($2|0); } function _Directory_Exists($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 688|0; $1 = sp; $2 = sp + 600|0; (_Platform_ConvertString($1,$0)|0); $3 = (_stat($1,$2)|0); $4 = ($3|0)==(0); if (!($4)) { $9 = 0; STACKTOP = sp;return ($9|0); } $5 = ((($2)) + 12|0); $6 = HEAP32[$5>>2]|0; $7 = $6 & 61440; $8 = ($7|0)==(16384); $phitmp = $8&1; $9 = $phitmp; STACKTOP = sp;return ($9|0); } function _Platform_ConvertString($0,$1) { $0 = $0|0; $1 = $1|0; var $$0$lcssa = 0, $$01819 = 0, $$020 = 0, $$lcssa = 0, $$pr = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($1)) + 4|0); $3 = HEAP16[$2>>1]|0; $4 = ($3&65535)>(260); if ($4) { _Logger_Abort(34658); $$pr = HEAP16[$2>>1]|0; $5 = $$pr; } else { $5 = $3; } $6 = ($5<<16>>16)==(0); if ($6) { $$0$lcssa = 0;$$lcssa = $0; HEAP8[$$lcssa>>0] = 0; return ($$0$lcssa|0); } $$01819 = 0;$$020 = 0;$10 = $0; while(1) { $7 = HEAP32[$1>>2]|0; $8 = (($7) + ($$01819)|0); $9 = HEAP8[$8>>0]|0; $11 = (_Convert_CP437ToUtf8($9,$10)|0); $12 = (($11) + ($$020))|0; $13 = (($$01819) + 1)|0; $14 = HEAP16[$2>>1]|0; $15 = $14&65535; $16 = ($13>>>0)<($15>>>0); $17 = (($0) + ($12)|0); if ($16) { $$01819 = $13;$$020 = $12;$10 = $17; } else { $$0$lcssa = $12;$$lcssa = $17; break; } } HEAP8[$$lcssa>>0] = 0; return ($$0$lcssa|0); } function _Directory_Create($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 608|0; $1 = sp; (_Platform_ConvertString($1,$0)|0); $2 = (_mkdir($1,509)|0); $3 = ($2|0)==(-1); if (!($3)) { $6 = 0; STACKTOP = sp;return ($6|0); } $4 = (___errno_location()|0); $5 = HEAP32[$4>>2]|0; $6 = $5; STACKTOP = sp;return ($6|0); } function _File_Exists($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 688|0; $1 = sp; $2 = sp + 600|0; (_Platform_ConvertString($1,$0)|0); $3 = (_stat($1,$2)|0); $4 = ($3|0)==(0); if (!($4)) { $9 = 0; STACKTOP = sp;return ($9|0); } $5 = ((($2)) + 12|0); $6 = HEAP32[$5>>2]|0; $7 = $6 & 61440; $8 = ($7|0)==(32768); $phitmp = $8&1; $9 = $phitmp; STACKTOP = sp;return ($9|0); } function _Directory_Enum($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 880|0; $3 = sp + 872|0; $4 = sp + 608|0; $5 = sp; (_Platform_ConvertString($5,$0)|0); $6 = (_opendir($5)|0); $7 = ($6|0)==(0|0); $8 = (___errno_location()|0); if ($7) { $9 = HEAP32[$8>>2]|0; $$0 = $9; STACKTOP = sp;return ($$0|0); } HEAP32[$8>>2] = 0; HEAP32[$3>>2] = $4; $10 = ((($3)) + 4|0); HEAP16[$10>>1] = 0; $11 = ((($3)) + 6|0); HEAP16[$11>>1] = 260; $12 = (_readdir($6)|0); $13 = ($12|0)==(0|0); L5: do { if (!($13)) { $15 = $12; while(1) { HEAP16[$10>>1] = 0; _String_Format1($3,34684,$0); $14 = ((($15)) + 11|0); $16 = HEAP8[$14>>0]|0; $17 = ($16<<24>>24)==(46); if ($17) { $18 = ((($15)) + 12|0); $19 = HEAP8[$18>>0]|0; $20 = ($19<<24>>24)==(0); if (!($20)) { $23 = ((($15)) + 12|0); $24 = HEAP8[$23>>0]|0; $25 = ($24<<24>>24)==(46); if ($25) { $26 = ((($15)) + 13|0); $27 = HEAP8[$26>>0]|0; $28 = ($27<<24>>24)==(0); if (!($28)) { label = 10; } } else { label = 10; } } } else { label = 10; } if ((label|0) == 10) { label = 0; $29 = (_String_CalcLen($14,65535)|0); _String_AppendUtf8($3,$14,$29); $30 = ((($15)) + 10|0); $31 = HEAP8[$30>>0]|0; $32 = ($31<<24>>24)==(4); if ($32) { $33 = (_Directory_Enum($3,$1,$2)|0); $34 = ($33|0)==(0); if (!($34)) { break; } } else { FUNCTION_TABLE_vii[$2 & 127]($3,$1); } $35 = (___errno_location()|0); HEAP32[$35>>2] = 0; } $21 = (_readdir($6)|0); $22 = ($21|0)==(0|0); if ($22) { break L5; } else { $15 = $21; } } (_closedir($6)|0); $$0 = $33; STACKTOP = sp;return ($$0|0); } } while(0); $36 = (___errno_location()|0); $37 = HEAP32[$36>>2]|0; (_closedir($6)|0); $$0 = $37; STACKTOP = sp;return ($$0|0); } function _File_Open($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (_File_Do($0,$1,0)|0); return ($2|0); } function _File_Do($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 608|0; $vararg_buffer = sp + 600|0; $3 = sp; (_Platform_ConvertString($3,$1)|0); HEAP32[$vararg_buffer>>2] = 420; $4 = (_open($3,$2,$vararg_buffer)|0); HEAP32[$0>>2] = $4; $5 = ($4|0)==(-1); if (!($5)) { $8 = 0; STACKTOP = sp;return ($8|0); } $6 = (___errno_location()|0); $7 = HEAP32[$6>>2]|0; $8 = $7; STACKTOP = sp;return ($8|0); } function _File_Create($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (_File_Do($0,$1,578)|0); return ($2|0); } function _File_Read($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = (_read($0,$1,$2)|0); HEAP32[$3>>2] = $4; $5 = ($4|0)==(-1); if (!($5)) { $8 = 0; return ($8|0); } $6 = (___errno_location()|0); $7 = HEAP32[$6>>2]|0; $8 = $7; return ($8|0); } function _File_Write($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = (_write($0,$1,$2)|0); HEAP32[$3>>2] = $4; $5 = ($4|0)==(-1); if (!($5)) { $8 = 0; return ($8|0); } $6 = (___errno_location()|0); $7 = HEAP32[$6>>2]|0; $8 = $7; return ($8|0); } function _File_Close($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_close($0)|0); $2 = ($1|0)==(-1); if ($2) { $3 = (___errno_location()|0); $4 = HEAP32[$3>>2]|0; $6 = $4; } else { $6 = 0; } $5 = _emscripten_asm_const_i(1)|0; return ($6|0); } function _File_Seek($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (34752 + ($2)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = (_lseek($0,$1,$5)|0); $7 = ($6|0)==(-1); if (!($7)) { $10 = 0; return ($10|0); } $8 = (___errno_location()|0); $9 = HEAP32[$8>>2]|0; $10 = $9; return ($10|0); } function _File_Position($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (_lseek($0,0,1)|0); HEAP32[$1>>2] = $2; $3 = ($2|0)==(-1); if (!($3)) { $6 = 0; return ($6|0); } $4 = (___errno_location()|0); $5 = HEAP32[$4>>2]|0; $6 = $5; return ($6|0); } function _File_Length($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $2 = sp; $3 = (_fstat($0,$2)|0); $4 = ($3|0)==(-1); if ($4) { HEAP32[$1>>2] = -1; $5 = (___errno_location()|0); $6 = HEAP32[$5>>2]|0; $$0 = $6; STACKTOP = sp;return ($$0|0); } else { $7 = ((($2)) + 36|0); $8 = HEAP32[$7>>2]|0; HEAP32[$1>>2] = $8; $$0 = 0; STACKTOP = sp;return ($$0|0); } return (0)|0; } function _Thread_Sleep($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return; } function _Thread_Start($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; FUNCTION_TABLE_v[$0 & 127](); return (0|0); } function _Mutex_Create() { var label = 0, sp = 0; sp = STACKTOP; return (0|0); } function _Mutex_Free($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return; } function _Mutex_Lock($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return; } function _Mutex_Unlock($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return; } function _Waitable_Create() { var label = 0, sp = 0; sp = STACKTOP; return (0|0); } function _Waitable_Free($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return; } function _Waitable_Signal($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return; } function _Socket_Create($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_socket(2,1,6)|0); HEAP32[$0>>2] = $1; $2 = ($1|0)==(-1); if (!($2)) { return; } $3 = (___errno_location()|0); $4 = HEAP32[$3>>2]|0; _Logger_Abort2($4,34755); return; } function _Socket_Available($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (_Socket_ioctl($0,$1)|0); return ($2|0); } function _Socket_ioctl($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $vararg_buffer = sp; HEAP32[$vararg_buffer>>2] = $1; $2 = (_ioctl($0,21531,$vararg_buffer)|0); STACKTOP = sp;return ($2|0); } function _Socket_SetBlocking($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; return -857812990; } function _Socket_GetError($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; HEAP32[$2>>2] = 4; $3 = (_getsockopt($0,1,4,$1,$2)|0); STACKTOP = sp;return ($3|0); } function _Socket_Connect($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $3 = sp; HEAP16[$3>>1] = 2; $4 = ((($3)) + 2|0); $5 = $2&65535; _Stream_SetU16_BE($4,$5); $6 = ((($3)) + 4|0); (_Utils_ParseIP($1,$6)|0); $7 = (_connect($0,$3,16)|0); $8 = ($7|0)==(-1); if (!($8)) { $11 = 0; STACKTOP = sp;return ($11|0); } $9 = (___errno_location()|0); $10 = HEAP32[$9>>2]|0; $11 = $10; STACKTOP = sp;return ($11|0); } function _Socket_Read($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0 = 0, $$01619 = 0, $$01718 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $4 = sp; HEAP32[$3>>2] = 0; $5 = ($2|0)==(0); if ($5) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $$01619 = $2;$$01718 = $1; while(1) { $6 = (_Socket_Available($0,$4)|0); $7 = ($6|0)==(0); $8 = HEAP32[$4>>2]|0; $9 = ($8|0)!=(0); $or$cond = $7 & $9; if (!($or$cond)) { $$0 = 0; label = 7; break; } $10 = (_recv($0,$$01718,$$01619,0)|0); $11 = ($10|0)==(-1); if ($11) { label = 5; break; } $14 = HEAP32[$3>>2]|0; $15 = (($14) + ($10))|0; HEAP32[$3>>2] = $15; $16 = (($$01718) + ($10)|0); $17 = (($$01619) - ($10))|0; $18 = ($17|0)==(0); if ($18) { $$0 = 0; label = 7; break; } else { $$01619 = $17;$$01718 = $16; } } if ((label|0) == 5) { $12 = (___errno_location()|0); $13 = HEAP32[$12>>2]|0; $$0 = $13; STACKTOP = sp;return ($$0|0); } else if ((label|0) == 7) { STACKTOP = sp;return ($$0|0); } return (0)|0; } function _Socket_Write($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = (_send($0,$1,$2,0)|0); $5 = ($4|0)==(-1); if ($5) { HEAP32[$3>>2] = 0; $6 = (___errno_location()|0); $7 = HEAP32[$6>>2]|0; $$0 = $7; return ($$0|0); } else { HEAP32[$3>>2] = $4; $$0 = 0; return ($$0|0); } return (0)|0; } function _Socket_Close($0) { $0 = $0|0; var $$1 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_close($0)|0); $2 = ($1|0)==(-1); if (!($2)) { $$1 = 0; return ($$1|0); } $3 = (___errno_location()|0); $4 = HEAP32[$3>>2]|0; $$1 = $4; return ($$1|0); } function _Socket_Poll($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $3 = sp; HEAP32[$3>>2] = $0; $4 = ($1|0)==(0); $5 = $4 ? 1 : 4; $6 = ((($3)) + 4|0); HEAP16[$6>>1] = $5; $7 = (_poll($3,1,0)|0); $8 = ($7|0)==(-1); if ($8) { HEAP8[$2>>0] = 0; $9 = (___errno_location()|0); $10 = HEAP32[$9>>2]|0; $$0 = $10; STACKTOP = sp;return ($$0|0); } else { $11 = $4 ? 17 : 4; $12 = ((($3)) + 6|0); $13 = HEAP16[$12>>1]|0; $14 = $13 << 16 >> 16; $15 = $11 & $14; $16 = ($15|0)!=(0); $17 = $16&1; HEAP8[$2>>0] = $17; $$0 = 0; STACKTOP = sp;return ($$0|0); } return (0)|0; } function _Process_Exit($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _exit(($0|0)); // unreachable; } function _Process_StartOpen($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 608|0; $1 = sp; (_Platform_ConvertString($1,$0)|0); $2 = _emscripten_asm_const_ii(2,($1|0))|0; STACKTOP = sp;return; } function _Platform_DescribeError($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 608|0; $2 = sp; $3 = (_strerror_r($0,$2,600)|0); $4 = ($3|0)==(-1); if ($4) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $5 = (_String_CalcLen($2,600)|0); _String_AppendUtf8($1,$2,$5); $$0 = 1; STACKTOP = sp;return ($$0|0); } function _Platform_Init() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = _emscripten_asm_const_i(3)|0; return; } function _Platform_GetCommandLineArgs($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$014 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $3 = sp; $4 = (($0) + -1)|0; $5 = ((($1)) + 4|0); $6 = ($4|0)<(5); $7 = $6 ? $4 : 5; $8 = ($0|0)>(1); if (!($8)) { STACKTOP = sp;return ($7|0); } $$014 = 0; while(1) { $9 = (($2) + ($$014<<3)|0); $10 = (($5) + ($$014<<2)|0); $11 = HEAP32[$10>>2]|0; _String_FromReadonly($3,$11); $12 = $3; $13 = $12; $14 = HEAP32[$13>>2]|0; $15 = (($12) + 4)|0; $16 = $15; $17 = HEAP32[$16>>2]|0; $18 = $9; $19 = $18; HEAP32[$19>>2] = $14; $20 = (($18) + 4)|0; $21 = $20; HEAP32[$21>>2] = $17; $22 = (($$014) + 1)|0; $23 = ($22|0)<($7|0); if ($23) { $$014 = $22; } else { break; } } STACKTOP = sp;return ($7|0); } function _Platform_SetDefaultCurrentDirectory($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (_chdir(34865)|0); $3 = ($2|0)==(-1); if (!($3)) { $6 = 0; return ($6|0); } $4 = (___errno_location()|0); $5 = HEAP32[$4>>2]|0; $6 = $5; return ($6|0); } function _main($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; _Platform_Init(); _Window_Init(); $2 = (_Platform_SetDefaultCurrentDirectory($0,$1)|0); $3 = ($2|0)==(0); if (!($3)) { _Logger_Warn($2,34877); } _Platform_LogConst(34903); HEAP32[(1384588)>>2] = 496240; HEAP16[(1384592)>>1] = 0; HEAP16[(1384594)>>1] = 64; (_Utils_EnsureDirectory(34937)|0); (_Utils_EnsureDirectory(34942)|0); (_Utils_EnsureDirectory(34951)|0); (_Utils_EnsureDirectory(34964)|0); _Options_Load(); $4 = (_Program_Run($0,$1)|0); return ($4|0); } function _Program_Run($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $2 = sp; $3 = sp + 44|0; $4 = sp + 40|0; $5 = (_Platform_GetCommandLineArgs($0,$1,$2)|0); switch ($5|0) { case 0: { _String_AppendConst(11488,34972); _RunGame(); _Process_Exit(0); // unreachable; break; } case 1: { _String_Copy(11488,$2); _RunGame(); _Process_Exit(0); // unreachable; break; } default: { $6 = ($5|0)<(4); if ($6) { _ExitMissingArgs($5,$2); STACKTOP = sp;return 1; } _String_Copy(11488,$2); $7 = ((($2)) + 8|0); _String_Copy(11496,$7); $8 = ((($2)) + 16|0); _String_Copy((1384588),$8); $9 = (_Utils_ParseIP($8,$3)|0); $10 = ($9<<24>>24)==(0); if ($10) { _ExitInvalidArg(34981,$8); STACKTOP = sp;return 1; } $11 = ((($2)) + 24|0); $12 = (_Convert_ParseUInt16($11,$4)|0); $13 = ($12<<24>>24)==(0); if ($13) { _ExitInvalidArg(34992,$11); STACKTOP = sp;return 1; } else { $14 = HEAP16[$4>>1]|0; $15 = $14&65535; HEAP32[(1384596)>>2] = $15; _RunGame(); _Process_Exit(0); // unreachable; } } } return (0)|0; } function _RunGame() { var $$0 = 0, $$08 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $0 = sp + 64|0; $1 = sp; $2 = HEAP32[352047]|0; $3 = (_Options_GetInt(35055,0,$2,0)|0); $4 = HEAP32[352048]|0; $5 = (_Options_GetInt(35068,0,$4,0)|0); $6 = ($3|0)==(0); $7 = ($5|0)==(0); $or$cond = $6 | $7; if ($or$cond) { $8 = HEAP32[352047]|0; $9 = ($8|0)<(854); $spec$select = $9 ? 640 : 854; $$0 = 480;$$08 = $spec$select; } else { $$0 = $5;$$08 = $3; } HEAP32[$0>>2] = $1; $10 = ((($0)) + 4|0); HEAP16[$10>>1] = 0; $11 = ((($0)) + 6|0); HEAP16[$11>>1] = 64; _String_Format2($0,35082,35090,11488); _Game_Run($$08,$$0,$0); STACKTOP = sp;return; } function _ExitMissingArgs($0,$1) { $0 = $0|0; $1 = $1|0; var $$05 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 272|0; $2 = sp + 256|0; $3 = sp; HEAP32[$2>>2] = $3; $4 = ((($2)) + 4|0); HEAP16[$4>>1] = 0; $5 = ((($2)) + 6|0); HEAP16[$5>>1] = 256; _String_AppendConst($2,35029); $6 = ($0|0)>(0); if ($6) { $$05 = 0; while(1) { $7 = (($1) + ($$05<<3)|0); _String_AppendString($2,$7); _String_Append($2,32); $8 = (($$05) + 1)|0; $exitcond = ($8|0)==($0|0); if ($exitcond) { break; } else { $$05 = $8; } } } HEAP32[2938] = 35013; _Logger_DialogWarn($2); _Process_Exit(1); // unreachable; } function _ExitInvalidArg($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 272|0; $2 = sp + 256|0; $3 = sp; HEAP32[$2>>2] = $3; $4 = ((($2)) + 4|0); HEAP16[$4>>1] = 0; $5 = ((($2)) + 6|0); HEAP16[$5>>1] = 256; _String_Format2($2,35005,$0,$1); HEAP32[2938] = 35013; _Logger_DialogWarn($2); _Process_Exit(1); // unreachable; } function _Protocol_RemoveEntity($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = $0&255; $2 = (1241124 + ($1<<2)|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(0|0); if ($4) { return; } $5 = ($0<<24>>24)==(-1); if (!($5)) { _Entities_Remove($0); } $6 = (3)?($1 >>> 3):($1); $7 = (496592 + ($6)|0); $8 = HEAP8[$7>>0]|0; $9 = $8&255; $10 = $1 & 7; $11 = 1 << $10; $12 = $11 & $9; $13 = ($12|0)==(0); if ($13) { return; } _TabList_Remove($0); $14 = $11 ^ 255; $15 = HEAP8[$7>>0]|0; $16 = $15&255; $17 = $14 & $16; $18 = $17&255; HEAP8[$7>>0] = $18; return; } function _Classic_SendChat($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $2 = sp; HEAP8[$2>>0] = 13; $3 = HEAP8[(1384584)>>0]|0; $4 = ($3<<24>>24)==(0); $5 = $4 ? -1 : $1; $6 = ((($2)) + 1|0); HEAP8[$6>>0] = $5; $7 = ((($2)) + 2|0); _Protocol_WriteString($7,$0); $8 = HEAP32[(1384548)>>2]|0; FUNCTION_TABLE_vii[$8 & 127]($2,66); STACKTOP = sp;return; } function _Protocol_WriteString($0,$1) { $0 = $0|0; $1 = $1|0; var $$0$lcssa23 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep = 0, $spec$select17 = 0, $spec$store$select = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($1)) + 4|0); $3 = HEAP16[$2>>1]|0; $4 = ($3&65535)<(64); $spec$select17 = $4 ? $3 : 64; $5 = $spec$select17&65535; $6 = ($spec$select17<<16>>16)==(0); if ($6) { $$0$lcssa23 = 0; } else { $$019 = 0; while(1) { $7 = HEAP32[$1>>2]|0; $8 = (($7) + ($$019)|0); $9 = HEAP8[$8>>0]|0; $10 = ($9<<24>>24)==(38); $spec$store$select = $10 ? 37 : $9; $11 = (($0) + ($$019)|0); HEAP8[$11>>0] = $spec$store$select; $12 = (($$019) + 1)|0; $13 = ($12>>>0)<($5>>>0); if ($13) { $$019 = $12; } else { break; } } if ($4) { $$0$lcssa23 = $5; } else { return; } } $scevgep = (($0) + ($$0$lcssa23)|0); $14 = (64 - ($$0$lcssa23))|0; _memset(($scevgep|0),32,($14|0))|0; return; } function _Classic_WritePosition($0,$1,$2) { $0 = $0|0; $1 = +$1; $2 = +$2; var $$0 = 0, $$pn = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0; var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP32[(1384576)>>2]|0; $4 = ((($3)) + 1|0); HEAP8[$3>>0] = 8; $5 = HEAP8[1408277]|0; $6 = ($5<<24>>24)==(0); if ($6) { $14 = 255; } else { $7 = HEAP32[(1268184)>>2]|0; $8 = HEAP32[(1268180)>>2]|0; $9 = (($8) + ($7))|0; $10 = (1266480 + ($9<<1)|0); $11 = HEAP16[$10>>1]|0; $14 = $11; } $12 = HEAP8[1408278]|0; $13 = ($12<<24>>24)==(0); if ($13) { $15 = $14&255; HEAP8[$4>>0] = $15; $$pn = $3; } else { _Stream_SetU16_BE($4,$14); $$pn = $4; } $$0 = ((($$pn)) + 2|0); $16 = +HEAPF32[$0>>2]; $17 = $16 * 32.0; $18 = (~~(($17))); $19 = ((($0)) + 4|0); $20 = +HEAPF32[$19>>2]; $21 = $20 * 32.0; $22 = (~~(($21))); $23 = (($22) + 51)|0; $24 = ((($0)) + 8|0); $25 = +HEAPF32[$24>>2]; $26 = $25 * 32.0; $27 = (~~(($26))); $28 = HEAP8[1408279]|0; $29 = ($28<<24>>24)==(0); if ($29) { $32 = $18&65535; _Stream_SetU16_BE($$0,$32); $33 = ((($$pn)) + 4|0); $34 = $23&65535; _Stream_SetU16_BE($33,$34); $35 = ((($$pn)) + 6|0); $36 = $27&65535; _Stream_SetU16_BE($35,$36); $$sink = 8; } else { _Stream_SetU32_BE($$0,$18); $30 = ((($$pn)) + 6|0); _Stream_SetU32_BE($30,$23); $31 = ((($$pn)) + 10|0); _Stream_SetU32_BE($31,$27); $$sink = 14; } $37 = (($$pn) + ($$sink)|0); $38 = $1 * 256.0; $39 = $38 / 360.0; $40 = (~~(($39))&255); $41 = ((($37)) + 1|0); HEAP8[$37>>0] = $40; $42 = $2 * 256.0; $43 = $42 / 360.0; $44 = (~~(($43))&255); $45 = ((($37)) + 2|0); HEAP8[$41>>0] = $44; HEAP32[(1384576)>>2] = $45; return; } function _Classic_WriteSetBlock($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $5 = HEAP32[(1384576)>>2]|0; $6 = ((($5)) + 1|0); HEAP8[$5>>0] = 5; $7 = $0&65535; _Stream_SetU16_BE($6,$7); $8 = ((($5)) + 3|0); $9 = $1&65535; _Stream_SetU16_BE($8,$9); $10 = ((($5)) + 5|0); $11 = $2&65535; _Stream_SetU16_BE($10,$11); $12 = ((($5)) + 7|0); $13 = ((($5)) + 8|0); HEAP8[$12>>0] = $3; $14 = HEAP8[1408278]|0; $15 = ($14<<24>>24)==(0); if ($15) { $17 = $4&255; $18 = ((($5)) + 9|0); HEAP8[$13>>0] = $17; $$0 = $18; HEAP32[(1384576)>>2] = $$0; return; } else { _Stream_SetU16_BE($13,$4); $16 = ((($5)) + 10|0); $$0 = $16; HEAP32[(1384576)>>2] = $$0; return; } } function _Classic_SendLogin($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 144|0; $2 = sp; HEAP8[$2>>0] = 0; $3 = ((($2)) + 1|0); HEAP8[$3>>0] = 7; $4 = ((($2)) + 2|0); _Protocol_WriteString($4,$0); $5 = ((($2)) + 66|0); _Protocol_WriteString($5,$1); $6 = HEAP8[1408235]|0; $7 = ($6<<24>>24)==(0); $8 = $7 ? 0 : 66; $9 = ((($2)) + 130|0); HEAP8[$9>>0] = $8; $10 = HEAP32[(1384548)>>2]|0; FUNCTION_TABLE_vii[$10 & 127]($2,131); STACKTOP = sp;return; } function _CPE_SendPlayerClick($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $4 = sp; HEAP8[$4>>0] = 34; $5 = $0&255; $6 = ((($4)) + 1|0); HEAP8[$6>>0] = $5; $7 = ($1<<24>>24)==(0); $8 = $7&1; $9 = ((($4)) + 2|0); HEAP8[$9>>0] = $8; $10 = ((($4)) + 3|0); $11 = +HEAPF32[(1242172)>>2]; $12 = $11 * 65536.0; $13 = $12 / 360.0; $14 = (~~(($13))); $15 = $14&65535; _Stream_SetU16_BE($10,$15); $16 = ((($4)) + 5|0); $17 = +HEAPF32[(1242168)>>2]; $18 = $17 * 65536.0; $19 = $18 / 360.0; $20 = (~~(($19))); $21 = $20&65535; _Stream_SetU16_BE($16,$21); $22 = ((($4)) + 7|0); HEAP8[$22>>0] = $2; $23 = ((($4)) + 8|0); $24 = ((($3)) + 36|0); $25 = HEAP32[$24>>2]|0; $26 = $25&65535; _Stream_SetU16_BE($23,$26); $27 = ((($4)) + 10|0); $28 = ((($3)) + 40|0); $29 = HEAP32[$28>>2]|0; $30 = $29&65535; _Stream_SetU16_BE($27,$30); $31 = ((($4)) + 12|0); $32 = ((($3)) + 44|0); $33 = HEAP32[$32>>2]|0; $34 = $33&65535; _Stream_SetU16_BE($31,$34); $35 = ((($4)) + 14|0); HEAP8[$35>>0] = -1; $36 = ((($3)) + 61|0); $37 = HEAP8[$36>>0]|0; switch ($37<<24>>24) { case 1: { $$sink = 0; break; } case 0: { $$sink = 1; break; } case 5: { $$sink = 2; break; } case 4: { $$sink = 3; break; } case 3: { $$sink = 4; break; } case 2: { $$sink = 5; break; } default: { $38 = HEAP32[(1384548)>>2]|0; FUNCTION_TABLE_vii[$38 & 127]($4,15); STACKTOP = sp;return; } } HEAP8[$35>>0] = $$sink; $38 = HEAP32[(1384548)>>2]|0; FUNCTION_TABLE_vii[$38 & 127]($4,15); STACKTOP = sp;return; } function _Protocol_Reset() { var label = 0, sp = 0; sp = STACKTOP; _Classic_Reset(); _CPE_Reset(); _BlockDefs_Reset(); _WoM_Reset(); return; } function _Classic_Reset() { var label = 0, sp = 0; sp = STACKTOP; HEAP8[1408288] = 0; HEAP8[1408286] = 0; HEAP32[124100] = 344; HEAP16[248152] = 131; HEAP32[(496404)>>2] = 345; HEAP16[(496306)>>1] = 1; HEAP32[(496408)>>2] = 346; HEAP16[(496308)>>1] = 1; HEAP32[(496412)>>2] = 347; HEAP16[(496310)>>1] = 1028; HEAP32[(496416)>>2] = 348; HEAP16[(496312)>>1] = 7; HEAP32[(496424)>>2] = 349; HEAP16[(496316)>>1] = 8; HEAP32[(496428)>>2] = 350; HEAP16[(496318)>>1] = 74; HEAP32[(496432)>>2] = 351; HEAP16[(496320)>>1] = 10; HEAP32[(496436)>>2] = 352; HEAP16[(496322)>>1] = 7; HEAP32[(496440)>>2] = 353; HEAP16[(496324)>>1] = 5; HEAP32[(496444)>>2] = 354; HEAP16[(496326)>>1] = 4; HEAP32[(496448)>>2] = 355; HEAP16[(496328)>>1] = 2; HEAP32[(496452)>>2] = 356; HEAP16[(496330)>>1] = 66; HEAP32[(496456)>>2] = 357; HEAP16[(496332)>>1] = 65; HEAP32[(496460)>>2] = 358; HEAP16[(496334)>>1] = 2; return; } function _CPE_Reset() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; HEAP32[323042] = 0; HEAP32[323043] = 0; HEAP8[1408277] = 0; HEAP8[1408283] = 0; HEAP32[4308] = 2; HEAP32[4307] = 2; HEAP8[1408276] = 0; HEAP8[1408279] = 0; HEAP8[1408284] = 0; HEAP8[1408282] = 0; HEAP8[1408285] = 0; HEAP8[1408278] = 0; HEAP8[1408231] = 0; $0 = HEAP8[1408235]|0; $1 = ($0<<24>>24)==(0); if ($1) { return; } HEAP32[(496464)>>2] = 359; HEAP16[(496336)>>1] = 67; HEAP32[(496468)>>2] = 360; HEAP16[(496338)>>1] = 69; HEAP32[(496472)>>2] = 361; HEAP16[(496340)>>1] = 3; HEAP32[(496476)>>2] = 362; HEAP16[(496342)>>1] = 2; HEAP32[(496480)>>2] = 363; HEAP16[(496344)>>1] = 3; HEAP32[(496484)>>2] = 364; HEAP16[(496346)>>1] = 134; HEAP32[(496488)>>2] = 365; HEAP16[(496348)>>1] = 196; HEAP32[(496492)>>2] = 366; HEAP16[(496350)>>1] = 130; HEAP32[(496496)>>2] = 367; HEAP16[(496352)>>1] = 3; HEAP32[(496500)>>2] = 368; HEAP16[(496354)>>1] = 8; HEAP32[(496504)>>2] = 369; HEAP16[(496356)>>1] = 86; HEAP32[(496508)>>2] = 370; HEAP16[(496358)>>1] = 2; HEAP32[(496512)>>2] = 371; HEAP16[(496360)>>1] = 4; HEAP32[(496516)>>2] = 372; HEAP16[(496362)>>1] = 66; HEAP32[(496520)>>2] = 373; HEAP16[(496364)>>1] = 69; HEAP32[(496524)>>2] = 374; HEAP16[(496366)>>1] = 2; HEAP32[(496528)>>2] = 375; HEAP16[(496368)>>1] = 8; HEAP32[(496532)>>2] = 376; HEAP16[(496370)>>1] = 138; HEAP32[(496552)>>2] = 377; HEAP16[(496380)>>1] = 1282; HEAP32[(496556)>>2] = 378; HEAP16[(496382)>>1] = 6; HEAP32[(496560)>>2] = 379; HEAP16[(496384)>>1] = 65; HEAP32[(496564)>>2] = 380; HEAP16[(496386)>>1] = 6; HEAP32[(496568)>>2] = 381; HEAP16[(496388)>>1] = 7; HEAP32[(496572)>>2] = 382; HEAP16[(496390)>>1] = 4; HEAP32[(496576)>>2] = 383; HEAP16[(496392)>>1] = 3; HEAP32[(496580)>>2] = 384; HEAP16[(496394)>>1] = 3; HEAP32[(496584)>>2] = 385; HEAP16[(496396)>>1] = 9; HEAP32[(496588)>>2] = 386; HEAP16[(496398)>>1] = 16; return; } function _BlockDefs_Reset() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP8[1408235]|0; $1 = ($0<<24>>24)!=(0); $2 = HEAP8[1408234]|0; $3 = ($2<<24>>24)!=(0); $or$cond = $1 & $3; if (!($or$cond)) { return; } HEAP32[(496540)>>2] = 387; HEAP16[(496374)>>1] = 80; HEAP32[(496544)>>2] = 388; HEAP16[(496376)>>1] = 2; HEAP32[(496548)>>2] = 389; HEAP16[(496378)>>1] = 85; return; } function _WoM_Reset() { var label = 0, sp = 0; sp = STACKTOP; HEAP32[323041] = 0; _WoM_UpdateIdentifier(); HEAP8[1408280] = 0; HEAP8[1408281] = 0; return; } function _WoM_UpdateIdentifier() { var label = 0, sp = 0; sp = STACKTOP; HEAP16[(17224)>>1] = 0; _String_Format1(17220,35101,1292164); return; } function _BlockDefs_DefineBlock($0) { $0 = $0|0; var $$off = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; HEAP32[$1>>2] = $0; $2 = (_BlockDefs_DefineBlockCommonStart($1,0)|0); $3 = HEAP32[$1>>2]|0; $4 = ((($3)) + 1|0); HEAP32[$1>>2] = $4; $5 = HEAP8[$3>>0]|0; $$off = (($5) + -1)<<24>>24; $6 = ($$off&255)<(16); if ($6) { $7 = $2&65535; $8 = (((597252 + (($7*12)|0)|0)) + 4|0); $9 = (+($5&255)); $10 = $9 * 0.0625; HEAPF32[$8>>2] = $10; } _BlockDefs_DefineBlockCommonEnd($4,$5,$2); $11 = $2&65535; $12 = (583428 + ($11)|0); $13 = HEAP8[$12>>0]|0; $14 = ($13<<24>>24)==(5); if (!($14)) { STACKTOP = sp;return; } _Block_RecalculateBB($2); STACKTOP = sp;return; } function _BlockDefs_UndefineBlock($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408278]|0; $2 = ($1<<24>>24)==(0); if ($2) { $4 = HEAP8[$0>>0]|0; $5 = $4&255; $$0 = $5; } else { $3 = (_Stream_GetU16_BE($0)|0); $$0 = $3; } $6 = $$0&65535; $7 = (570372 + ($6)|0); $8 = HEAP8[$7>>0]|0; _Block_ResetProps($$0); _BlockDefs_OnBlockUpdated($$0,$8); _Block_UpdateCulling($$0); _Inventory_Remove($$0); $9 = ($$0&65535)<(66); if (!($9)) { _Block_SetCustomDefined($$0,0); _Event_RaiseVoid((1253416)); return; } _Inventory_AddDefault($$0); _Block_SetCustomDefined($$0,0); _Event_RaiseVoid((1253416)); return; } function _BlockDefs_DefineBlockExt($0) { $0 = $0|0; var $$sroa$0$0$$sroa_idx = 0, $$sroa$09$0$$sroa_idx = 0, $$sroa$4$0$$sroa_idx5 = 0, $$sroa$411$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx7 = 0, $$sroa$514$0$$sroa_idx15 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0; var $22 = 0.0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; HEAP32[$1>>2] = $0; $2 = HEAP32[4307]|0; $3 = ($2|0)>(1); $4 = $3&1; $5 = (_BlockDefs_DefineBlockCommonStart($1,$4)|0); $6 = HEAP32[$1>>2]|0; $7 = ((($6)) + 1|0); $8 = HEAP8[$6>>0]|0; $9 = (+($8<<24>>24)); $10 = $9 * 0.0625; $11 = ((($6)) + 2|0); $12 = HEAP8[$7>>0]|0; $13 = (+($12<<24>>24)); $14 = $13 * 0.0625; $15 = ((($6)) + 3|0); $16 = HEAP8[$11>>0]|0; $17 = (+($16<<24>>24)); $18 = $17 * 0.0625; $19 = ((($6)) + 4|0); $20 = HEAP8[$15>>0]|0; $21 = (+($20<<24>>24)); $22 = $21 * 0.0625; $23 = ((($6)) + 5|0); $24 = HEAP8[$19>>0]|0; $25 = (+($24<<24>>24)); $26 = $25 * 0.0625; $27 = ((($6)) + 6|0); $28 = HEAP8[$23>>0]|0; $29 = (+($28<<24>>24)); $30 = $29 * 0.0625; $31 = $5&65535; $$sroa$09$0$$sroa_idx = (588036 + (($31*12)|0)|0); HEAPF32[$$sroa$09$0$$sroa_idx>>2] = $10; $$sroa$411$0$$sroa_idx12 = (((588036 + (($31*12)|0)|0)) + 4|0); HEAPF32[$$sroa$411$0$$sroa_idx12>>2] = $14; $$sroa$514$0$$sroa_idx15 = (((588036 + (($31*12)|0)|0)) + 8|0); HEAPF32[$$sroa$514$0$$sroa_idx15>>2] = $18; $$sroa$0$0$$sroa_idx = (597252 + (($31*12)|0)|0); HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $22; $$sroa$4$0$$sroa_idx5 = (((597252 + (($31*12)|0)|0)) + 4|0); HEAPF32[$$sroa$4$0$$sroa_idx5>>2] = $26; $$sroa$5$0$$sroa_idx7 = (((597252 + (($31*12)|0)|0)) + 8|0); HEAPF32[$$sroa$5$0$$sroa_idx7>>2] = $30; _BlockDefs_DefineBlockCommonEnd($27,1,$5); STACKTOP = sp;return; } function _BlockDefs_DefineBlockCommonStart($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0; var $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = sp + 8|0; $4 = HEAP32[$0>>2]|0; HEAP32[$3>>2] = $4; $5 = HEAP8[1408278]|0; $6 = ($5<<24>>24)==(0); if ($6) { $10 = ((($4)) + 1|0); HEAP32[$3>>2] = $10; $11 = HEAP8[$4>>0]|0; $12 = $11&255; $$0 = $12; } else { $7 = (_Stream_GetU16_BE($4)|0); $8 = HEAP32[$3>>2]|0; $9 = ((($8)) + 2|0); HEAP32[$3>>2] = $9; $$0 = $7; } $13 = $$0&65535; $14 = (570372 + ($13)|0); $15 = HEAP8[$14>>0]|0; _Block_ResetProps($$0); $16 = HEAP32[$3>>2]|0; _Protocol_UNSAFE_GetString($2,$16); $17 = HEAP32[$3>>2]|0; $18 = ((($17)) + 64|0); HEAP32[$3>>2] = $18; _Block_SetName($$0,$2); $19 = HEAP32[$3>>2]|0; $20 = ((($19)) + 1|0); HEAP32[$3>>2] = $20; $21 = HEAP8[$19>>0]|0; _Block_SetCollide($$0,$21); $22 = HEAP32[$3>>2]|0; $23 = ((($22)) + 1|0); HEAP32[$3>>2] = $23; $24 = HEAP8[$22>>0]|0; $25 = $24&255; $26 = (($25) + -128)|0; $27 = (+($26|0)); $28 = $27 * 0.015625; $29 = $28; $30 = $29 * 0.69314718055994495; $31 = (+_Math_Exp($30)); $32 = $31; $33 = (579588 + ($13<<2)|0); HEAPF32[$33>>2] = $32; $34 = (_BlockDefs_Tex($3)|0); $35 = ($13*6)|0; $36 = (($35) + 5)|0; $37 = (624900 + ($36<<1)|0); HEAP16[$37>>1] = $34; $38 = ($1<<24>>24)==(0); $39 = (_BlockDefs_Tex($3)|0); if ($38) { _Block_SetSide($39,$$0); } else { $40 = (624900 + ($35<<1)|0); HEAP16[$40>>1] = $39; $41 = (_BlockDefs_Tex($3)|0); $42 = $35 | 1; $43 = (624900 + ($42<<1)|0); HEAP16[$43>>1] = $41; $44 = (_BlockDefs_Tex($3)|0); $45 = (($35) + 2)|0; $46 = (624900 + ($45<<1)|0); HEAP16[$46>>1] = $44; $47 = (_BlockDefs_Tex($3)|0); $48 = (($35) + 3)|0; $49 = (624900 + ($48<<1)|0); HEAP16[$49>>1] = $47; } $50 = (_BlockDefs_Tex($3)|0); $51 = (($35) + 4)|0; $52 = (624900 + ($51<<1)|0); HEAP16[$52>>1] = $50; $53 = HEAP32[$3>>2]|0; $54 = ((($53)) + 1|0); HEAP32[$3>>2] = $54; $55 = HEAP8[$53>>0]|0; $56 = ($55<<24>>24)==(0); $57 = $56&1; HEAP8[$14>>0] = $57; _BlockDefs_OnBlockUpdated($$0,$15); $58 = HEAP32[$3>>2]|0; $59 = ((($58)) + 1|0); HEAP32[$3>>2] = $59; $60 = HEAP8[$58>>0]|0; $61 = (584964 + ($13)|0); HEAP8[$61>>0] = $60; $62 = (584196 + ($13)|0); HEAP8[$62>>0] = $60; $63 = ($60<<24>>24)==(6); if (!($63)) { $64 = ((($58)) + 2|0); HEAP32[$3>>2] = $64; $65 = HEAP8[$59>>0]|0; $66 = ($65<<24>>24)!=(0); $67 = $66&1; $68 = (571140 + ($13)|0); HEAP8[$68>>0] = $67; $69 = HEAP32[$3>>2]|0; HEAP32[$0>>2] = $69; STACKTOP = sp;return ($$0|0); } HEAP8[$61>>0] = 4; $64 = ((($58)) + 2|0); HEAP32[$3>>2] = $64; $65 = HEAP8[$59>>0]|0; $66 = ($65<<24>>24)!=(0); $67 = $66&1; $68 = (571140 + ($13)|0); HEAP8[$68>>0] = $67; $69 = HEAP32[$3>>2]|0; HEAP32[$0>>2] = $69; STACKTOP = sp;return ($$0|0); } function _BlockDefs_DefineBlockCommonEnd($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0.0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP8[$0>>0]|0; $4 = ($1<<24>>24)==(0); if ($4) { $5 = $2&65535; $6 = (587268 + ($5)|0); HEAP8[$6>>0] = $3; $$0 = 5; } else { $$0 = $3; } $7 = $2&65535; $8 = (583428 + ($7)|0); HEAP8[$8>>0] = $$0; $9 = ((($0)) + 1|0); $10 = HEAP8[$9>>0]|0; $11 = ($10<<24>>24)==(0); $12 = $10&255; $13 = (($12) + 1)|0; $14 = (+($13|0)); $15 = $14 * 0.0078125; $spec$select = $11 ? 0.0 : $15; $16 = (574980 + ($7<<2)|0); HEAPF32[$16>>2] = $spec$select; $17 = ((($0)) + 2|0); $18 = HEAP8[$17>>0]|0; $19 = $18&255; $20 = ((($0)) + 3|0); $21 = HEAP8[$20>>0]|0; $22 = $21&255; $23 = $22 << 8; $24 = ((($0)) + 4|0); $25 = HEAP8[$24>>0]|0; $26 = $25&255; $27 = $26 << 16; $28 = $23 | $19; $29 = $28 | $27; $30 = $29 | -16777216; $31 = (571908 + ($7<<2)|0); HEAP32[$31>>2] = $30; _Block_DefineCustom($2); return; } function _Protocol_UNSAFE_GetString($0,$1) { $0 = $0|0; $1 = $1|0; var $$01216 = 0, $$2 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $$01216 = 63; L1: while(1) { $2 = (($1) + ($$01216)|0); $3 = HEAP8[$2>>0]|0; switch ($3<<24>>24) { case 32: case 0: { break; } default: { label = 3; break L1; } } $5 = (($$01216) + -1)|0; $6 = ($$01216|0)==(0); if ($6) { $$2 = 0; break; } else { $$01216 = $5; } } if ((label|0) == 3) { $4 = (($$01216) + 1)|0; $$2 = $4; } _String_Init_1307($0,$1,$$2); return; } function _BlockDefs_Tex($0) { $0 = $0|0; var $$0 = 0, $$08 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; $2 = HEAP8[1408282]|0; $3 = ($2<<24>>24)==(0); if ($3) { $4 = ((($1)) + 1|0); $5 = HEAP8[$1>>0]|0; $6 = $5&255; $$0 = $4;$$08 = $6; HEAP32[$0>>2] = $$0; return ($$08|0); } else { $7 = (_Stream_GetU16_BE($1)|0); $8 = $7 & 511; $9 = ((($1)) + 2|0); $$0 = $9;$$08 = $8; HEAP32[$0>>2] = $$0; return ($$08|0); } return (0)|0; } function _BlockDefs_OnBlockUpdated($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[351863]|0; $3 = ($2|0)==(0|0); if ($3) { return; } $4 = $0&65535; $5 = (570372 + ($4)|0); $6 = HEAP8[$5>>0]|0; $7 = ($6<<24>>24)==($1<<24>>24); if ($7) { return; } _Lighting_Refresh(); return; } function _String_Init_1307($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = $2&65535; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP16[$$sroa$4$0$$sroa_idx2>>1] = $3; $$sroa$5$0$$sroa_idx4 = ((($0)) + 6|0); HEAP16[$$sroa$5$0$$sroa_idx4>>1] = 64; return; } function _CPE_ExtInfo($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; _Protocol_UNSAFE_GetString($1,$0); $2 = (_String_CaselessStarts($1,17236)|0); $3 = $2&255; HEAP8[1408276] = $3; _Chat_Add1(35617,$1); $4 = ((($0)) + 64|0); $5 = (_Stream_GetU16_BE($4)|0); $6 = $5&65535; $7 = HEAP32[323042]|0; $8 = (($7) + ($6))|0; HEAP32[323042] = $8; _CPE_SendCpeExtInfoReply(); STACKTOP = sp;return; } function _CPE_ExtEntry($0) { $0 = $0|0; var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $12 = 0, $13 = 0, $14 = 0; var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0; var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp + 8|0; $2 = sp; _Protocol_UNSAFE_GetString($1,$0); $3 = ((($0)) + 67|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; HEAP32[$2>>2] = $5; _Platform_Log2(35152,$1,$2); $6 = HEAP32[323042]|0; $7 = (($6) + -1)|0; HEAP32[323042] = $7; _CPE_SendCpeExtInfoReply(); $8 = (_String_CaselessEqualsConst($1,35168)|0); $9 = ($8|0)==(0); if (!($9)) { HEAP8[1408277] = 1; STACKTOP = sp;return; } $10 = (_String_CaselessEqualsConst($1,35178)|0); $11 = ($10|0)==(0); if (!($11)) { HEAP8[1408283] = 1; STACKTOP = sp;return; } $12 = (_String_CaselessEqualsConst($1,35191)|0); $13 = ($12|0)==(0); if (!($13)) { HEAP8[(1384582)>>0] = 1; STACKTOP = sp;return; } $14 = (_String_CaselessEqualsConst($1,35205)|0); $15 = ($14|0)==(0); if (!($15)) { HEAP8[1408287] = 1; STACKTOP = sp;return; } $16 = (_String_CaselessEqualsConst($1,35222)|0); $17 = ($16|0)==(0); if (!($17)) { HEAP8[(1384583)>>0] = 1; STACKTOP = sp;return; } $18 = (_String_CaselessEqualsConst($1,35234)|0); $19 = ($18|0)==(0); if (!($19)) { $20 = HEAP32[$2>>2]|0; HEAP32[4308] = $20; $21 = ($20|0)==(1); if ($21) { STACKTOP = sp;return; } $22 = HEAP16[(496364)>>1]|0; $23 = $22&65535; $24 = (($23) + 4)|0; $25 = $24&65535; HEAP16[(496364)>>1] = $25; STACKTOP = sp;return; } $26 = (_String_CaselessEqualsConst($1,35251)|0); $27 = ($26|0)==(0); if (!($27)) { HEAP8[(1384584)>>0] = 1; STACKTOP = sp;return; } $28 = (_String_CaselessEqualsConst($1,35266)|0); $29 = ($28|0)==(0); if (!($29)) { HEAP8[(1384585)>>0] = 1; STACKTOP = sp;return; } $30 = (_String_CaselessEqualsConst($1,35276)|0); $31 = ($30|0)==(0); if (!($31)) { $32 = HEAP32[$2>>2]|0; HEAP32[4307] = $32; $33 = ($32|0)==(1); if ($33) { STACKTOP = sp;return; } $34 = HEAP16[(496378)>>1]|0; $35 = $34&65535; $36 = (($35) + 3)|0; $37 = $36&65535; HEAP16[(496378)>>1] = $37; STACKTOP = sp;return; } $38 = (_String_CaselessEqualsConst($1,35296)|0); $39 = ($38|0)==(0); if (!($39)) { $40 = HEAP16[(496320)>>1]|0; $41 = $40&65535; $42 = (($41) + 6)|0; $43 = $42&65535; HEAP16[(496320)>>1] = $43; $44 = HEAP16[(496318)>>1]|0; $45 = $44&65535; $46 = (($45) + 6)|0; $47 = $46&65535; HEAP16[(496318)>>1] = $47; $48 = HEAP16[(496370)>>1]|0; $49 = $48&65535; $50 = (($49) + 6)|0; $51 = $50&65535; HEAP16[(496370)>>1] = $51; $52 = HEAP16[(496396)>>1]|0; $53 = $52&65535; $54 = (($53) + 6)|0; $55 = $54&65535; HEAP16[(496396)>>1] = $55; HEAP8[1408279] = 1; STACKTOP = sp;return; } $56 = (_String_CaselessEqualsConst($1,35315)|0); $57 = ($56|0)==(0); if (!($57)) { HEAP8[1408284] = 1; STACKTOP = sp;return; } $58 = (_String_CaselessEqualsConst($1,35326)|0); $59 = ($58|0)==(0); if (!($59)) { $60 = HEAP16[(496308)>>1]|0; $61 = $60&65535; $62 = (($61) + 4)|0; $63 = $62&65535; HEAP16[(496308)>>1] = $63; HEAP8[1408285] = 1; STACKTOP = sp;return; } $64 = (_String_CaselessEqualsConst($1,35334)|0); $65 = ($64|0)==(0); if (!($65)) { $66 = HEAP16[(496374)>>1]|0; $67 = $66&65535; $68 = (($67) + 3)|0; $69 = $68&65535; HEAP16[(496374)>>1] = $69; $70 = HEAP16[(496378)>>1]|0; $71 = $70&65535; $72 = (($71) + 6)|0; $73 = $72&65535; HEAP16[(496378)>>1] = $73; HEAP8[1408282] = 1; STACKTOP = sp;return; } $74 = (_String_CaselessEqualsConst($1,35351)|0); $75 = ($74|0)==(0); $76 = HEAP8[1408234]|0; $77 = ($76<<24>>24)==(0); $or$cond = $75 | $77; if ($or$cond) { STACKTOP = sp;return; } HEAP8[1408278] = 1; $78 = HEAP16[(496316)>>1]|0; $79 = $78&65535; $80 = (($79) + 1)|0; $81 = $80&65535; HEAP16[(496316)>>1] = $81; $82 = HEAP16[(496344)>>1]|0; $83 = $82&65535; $84 = (($83) + 1)|0; $85 = $84&65535; HEAP16[(496344)>>1] = $85; $86 = HEAP16[(496360)>>1]|0; $87 = $86&65535; $88 = (($87) + 1)|0; $89 = $88&65535; HEAP16[(496360)>>1] = $89; $90 = HEAP16[(496374)>>1]|0; $91 = $90&65535; $92 = (($91) + 1)|0; $93 = $92&65535; HEAP16[(496374)>>1] = $93; $94 = HEAP16[(496376)>>1]|0; $95 = $94&65535; $96 = (($95) + 1)|0; $97 = $96&65535; HEAP16[(496376)>>1] = $97; $98 = HEAP16[(496378)>>1]|0; $99 = $98&65535; $100 = (($99) + 1)|0; $101 = $100&65535; HEAP16[(496378)>>1] = $101; $102 = HEAP16[(496392)>>1]|0; $103 = $102&65535; $104 = (($103) + 2)|0; $105 = $104&65535; HEAP16[(496392)>>1] = $105; $106 = HEAP16[(496380)>>1]|0; $107 = $106&65535; $108 = (($107) + 64)|0; $109 = $108&65535; HEAP16[(496380)>>1] = $109; $110 = HEAP16[(496394)>>1]|0; $111 = $110&65535; $112 = (($111) + 1)|0; $113 = $112&65535; HEAP16[(496394)>>1] = $113; STACKTOP = sp;return; } function _CPE_SetClickDistance($0) { $0 = $0|0; var $1 = 0, $2 = 0.0, $3 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Stream_GetU16_BE($0)|0); $2 = (+($1&65535)); $3 = $2 * 0.03125; HEAPF32[(1242612)>>2] = $3; return; } function _CPE_CustomBlockLevel($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; HEAP16[$1>>1] = 275; $2 = HEAP32[(1384548)>>2]|0; FUNCTION_TABLE_vii[$2 & 127]($1,2); HEAP8[1408231] = 1; _Event_RaiseVoid(1253156); STACKTOP = sp;return; } function _CPE_HoldThis($0) { $0 = $0|0; var $$0 = 0, $$05 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408278]|0; $2 = ($1<<24>>24)==(0); if ($2) { $5 = ((($0)) + 1|0); $6 = HEAP8[$0>>0]|0; $7 = $6&255; $$0 = $5;$$05 = $7; } else { $3 = (_Stream_GetU16_BE($0)|0); $4 = ((($0)) + 2|0); $$0 = $4;$$05 = $3; } $8 = HEAP8[$$0>>0]|0; $9 = ($8<<24>>24)==(0); $10 = $9&1; HEAP8[(1268188)>>0] = 1; _Inventory_SetSelectedBlock($$05); HEAP8[(1268188)>>0] = $10; return; } function _CPE_SetTextHotkey($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = sp + 8|0; $3 = ((($0)) + 64|0); _Protocol_UNSAFE_GetString($1,$3); $4 = ((($0)) + 128|0); $5 = (_Stream_GetU32_BE($4)|0); $6 = ((($0)) + 132|0); $7 = HEAP8[$6>>0]|0; HEAP8[$2>>0] = $7; $8 = ($5>>>0)>(255); if ($8) { STACKTOP = sp;return; } $9 = (3872 + ($5)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = ($10<<24>>24)==(0); if ($12) { STACKTOP = sp;return; } $13 = (3280 + ($11<<2)|0); $14 = HEAP32[$13>>2]|0; _Platform_Log3(35123,$14,$2,$1); $15 = ((($1)) + 4|0); $16 = HEAP16[$15>>1]|0; $17 = ($16<<16>>16)==(0); if ($17) { $18 = HEAP8[$2>>0]|0; (_Hotkeys_Remove($11,$18)|0); STACKTOP = sp;return; } $19 = HEAP32[$1>>2]|0; $20 = $16&65535; $21 = (($20) + -1)|0; $22 = (($19) + ($21)|0); $23 = HEAP8[$22>>0]|0; $24 = ($23<<24>>24)==(10); if ($24) { $25 = (($16) + -1)<<16>>16; HEAP16[$15>>1] = $25; $26 = HEAP8[$2>>0]|0; _Hotkeys_Add($11,$26,$1,0); STACKTOP = sp;return; } else { $27 = HEAP8[$2>>0]|0; _Hotkeys_Add($11,$27,$1,1); STACKTOP = sp;return; } } function _CPE_ExtAddPlayerName($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $1 = sp + 16|0; $2 = sp + 8|0; $3 = sp; $4 = ((($0)) + 1|0); $5 = HEAP8[$4>>0]|0; $6 = ((($0)) + 2|0); _Protocol_UNSAFE_GetString($1,$6); $7 = ((($0)) + 66|0); _Protocol_UNSAFE_GetString($2,$7); $8 = ((($0)) + 130|0); _Protocol_UNSAFE_GetString($3,$8); $9 = ((($0)) + 194|0); $10 = HEAP8[$9>>0]|0; _Protocol_RemoveEndPlus($1); _Protocol_RemoveEndPlus($2); $11 = $5&255; $12 = $11 & 7; $13 = 1 << $12; $14 = $13 ^ 255; $15 = (3)?($11 >>> 3):($11); $16 = (496592 + ($15)|0); $17 = HEAP8[$16>>0]|0; $18 = $17&255; $19 = $14 & $18; $20 = $19&255; HEAP8[$16>>0] = $20; _Protocol_AddTablistEntry($5,$1,$2,$3,$10); STACKTOP = sp;return; } function _CPE_ExtAddEntity($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 160|0; $1 = sp + 136|0; $2 = sp + 144|0; $3 = sp + 64|0; $4 = sp + 128|0; $5 = sp; HEAP32[$2>>2] = $3; $6 = ((($2)) + 4|0); HEAP16[$6>>1] = 0; $7 = ((($2)) + 6|0); HEAP16[$7>>1] = 64; HEAP32[$4>>2] = $5; $8 = ((($4)) + 4|0); HEAP16[$8>>1] = 0; $9 = ((($4)) + 6|0); HEAP16[$9>>1] = 64; $10 = ((($0)) + 1|0); HEAP32[$1>>2] = $10; $11 = HEAP8[$0>>0]|0; _Protocol_ReadString($1,$2); _Protocol_ReadString($1,$4); _Protocol_CheckName($11,$2,$4); $12 = HEAP32[$1>>2]|0; _Protocol_AddEntity($12,$11,$2,$4,0); STACKTOP = sp;return; } function _CPE_ExtRemovePlayerName($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 1|0); $2 = HEAP8[$1>>0]|0; _TabList_Remove($2); return; } function _CPE_SetEnvCol($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[$0>>0]|0; $2 = ((($0)) + 1|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)==(0); if ($4) { $5 = ((($0)) + 3|0); $6 = HEAP8[$5>>0]|0; $7 = ($6<<24>>24)==(0); if ($7) { $8 = ((($0)) + 5|0); $9 = HEAP8[$8>>0]|0; $10 = ($9<<24>>24)!=(0); $phitmp = $10&1; $25 = $phitmp; } else { $25 = 1; } } else { $25 = 1; } $11 = ((($0)) + 2|0); $12 = HEAP8[$11>>0]|0; $13 = $12&255; $14 = ((($0)) + 4|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = $16 << 8; $18 = ((($0)) + 6|0); $19 = HEAP8[$18>>0]|0; $20 = $19&255; $21 = $20 << 16; $22 = $17 | $13; $23 = $22 | $21; $24 = $23 | -16777216; switch ($1<<24>>24) { case 0: { $26 = ($25<<24>>24)==(0); $27 = $26 ? $24 : -13159; _Env_SetSkyCol($27); return; break; } case 1: { $28 = ($25<<24>>24)==(0); $29 = $28 ? $24 : -1; _Env_SetCloudsCol($29); return; break; } case 2: { $30 = ($25<<24>>24)==(0); $31 = $30 ? $24 : -1; _Env_SetFogCol($31); return; break; } case 3: { $32 = ($25<<24>>24)==(0); $33 = $32 ? $24 : -6579301; _Env_SetShadowCol($33); return; break; } case 4: { $34 = ($25<<24>>24)==(0); $35 = $34 ? $24 : -1; _Env_SetSunCol($35); return; break; } case 5: { $36 = ($25<<24>>24)==(0); $37 = $36 ? $24 : -1; _Env_SetSkyboxCol($37); return; break; } default: { return; } } } function _CPE_MakeSelection($0) { $0 = $0|0; var $$byval_copy = 0, $$byval_copy1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $$byval_copy1 = sp + 36|0; $$byval_copy = sp + 24|0; $1 = sp + 12|0; $2 = sp; $3 = ((($0)) + 65|0); $4 = (_Stream_GetU16_BE($3)|0); $5 = $4 << 16 >> 16; HEAP32[$1>>2] = $5; $6 = ((($0)) + 67|0); $7 = (_Stream_GetU16_BE($6)|0); $8 = $7 << 16 >> 16; $9 = ((($1)) + 4|0); HEAP32[$9>>2] = $8; $10 = ((($0)) + 69|0); $11 = (_Stream_GetU16_BE($10)|0); $12 = $11 << 16 >> 16; $13 = ((($1)) + 8|0); HEAP32[$13>>2] = $12; $14 = ((($0)) + 71|0); $15 = (_Stream_GetU16_BE($14)|0); $16 = $15 << 16 >> 16; HEAP32[$2>>2] = $16; $17 = ((($0)) + 73|0); $18 = (_Stream_GetU16_BE($17)|0); $19 = $18 << 16 >> 16; $20 = ((($2)) + 4|0); HEAP32[$20>>2] = $19; $21 = ((($0)) + 75|0); $22 = (_Stream_GetU16_BE($21)|0); $23 = $22 << 16 >> 16; $24 = ((($2)) + 8|0); HEAP32[$24>>2] = $23; $25 = ((($0)) + 78|0); $26 = HEAP8[$25>>0]|0; $27 = $26&255; $28 = ((($0)) + 80|0); $29 = HEAP8[$28>>0]|0; $30 = $29&255; $31 = $30 << 8; $32 = $31 | $27; $33 = ((($0)) + 82|0); $34 = HEAP8[$33>>0]|0; $35 = $34&255; $36 = $35 << 16; $37 = $32 | $36; $38 = ((($0)) + 84|0); $39 = HEAP8[$38>>0]|0; $40 = $39&255; $41 = $40 << 24; $42 = $37 | $41; $43 = HEAP8[$0>>0]|0; ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0; _Selections_Add($43,$$byval_copy,$$byval_copy1,$42); STACKTOP = sp;return; } function _CPE_RemoveSelection($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[$0>>0]|0; _Selections_Remove($1); return; } function _CPE_SetBlockPermission($0) { $0 = $0|0; var $$0 = 0, $$06 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; $1 = HEAP8[1408278]|0; $2 = ($1<<24>>24)==(0); if ($2) { $5 = ((($0)) + 1|0); $6 = HEAP8[$0>>0]|0; $7 = $6&255; $$0 = $7;$$06 = $5; } else { $3 = (_Stream_GetU16_BE($0)|0); $4 = ((($0)) + 2|0); $$0 = $3;$$06 = $4; } $8 = ((($$06)) + 1|0); $9 = HEAP8[$$06>>0]|0; $10 = ($9<<24>>24)!=(0); $11 = $10&1; $12 = $$0&65535; $13 = (634116 + ($12)|0); HEAP8[$13>>0] = $11; $14 = HEAP8[$8>>0]|0; $15 = ($14<<24>>24)!=(0); $16 = $15&1; $17 = (634884 + ($12)|0); HEAP8[$17>>0] = $16; _Event_RaiseVoid(1253156); return; } function _CPE_ChangeModel($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = HEAP8[$0>>0]|0; $3 = ((($0)) + 1|0); _Protocol_UNSAFE_GetString($1,$3); $4 = $2&255; $5 = (1241124 + ($4<<2)|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)==(0|0); if ($7) { STACKTOP = sp;return; } _Entity_SetModel($6,$1); STACKTOP = sp;return; } function _CPE_EnvSetMapAppearance($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var label = 0, sp = 0; sp = STACKTOP; _CPE_SetMapEnvUrl($0); $1 = ((($0)) + 64|0); $2 = HEAP8[$1>>0]|0; $3 = $2&255; _Env_SetSidesBlock($3); $4 = ((($0)) + 65|0); $5 = HEAP8[$4>>0]|0; $6 = $5&255; _Env_SetEdgeBlock($6); $7 = ((($0)) + 66|0); $8 = (_Stream_GetU16_BE($7)|0); $9 = $8 << 16 >> 16; _Env_SetEdgeHeight($9); $10 = HEAP32[4308]|0; $11 = ($10|0)==(1); if ($11) { return; } $12 = ((($0)) + 68|0); $13 = (_Stream_GetU16_BE($12)|0); $14 = $13 << 16 >> 16; _Env_SetCloudsHeight($14); $15 = ((($0)) + 70|0); $16 = (_Stream_GetU16_BE($15)|0); $17 = $16 << 16 >> 16; $18 = ($16<<16>>16)<(1); $19 = $18 ? 32768 : $17; HEAP32[315050] = $19; $20 = HEAP32[315052]|0; _Game_SetViewDistance($20); return; } function _CPE_EnvWeatherType($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[$0>>0]|0; $2 = $1&255; _Env_SetWeather($2); return; } function _CPE_HackControl($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0; var $28 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0.0, $storemerge = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[$0>>0]|0; $2 = ($1<<24>>24)!=(0); $3 = $2&1; HEAP8[(1242630)>>0] = $3; $4 = ((($0)) + 1|0); $5 = HEAP8[$4>>0]|0; $6 = ($5<<24>>24)!=(0); $7 = $6&1; HEAP8[(1242632)>>0] = $7; $8 = ((($0)) + 2|0); $9 = HEAP8[$8>>0]|0; $10 = ($9<<24>>24)!=(0); $11 = $10&1; HEAP8[(1242629)>>0] = $11; $12 = ((($0)) + 3|0); $13 = HEAP8[$12>>0]|0; $14 = ($13<<24>>24)!=(0); $15 = $14&1; HEAP8[(1242631)>>0] = $15; $16 = ((($0)) + 4|0); $17 = HEAP8[$16>>0]|0; $18 = ($17<<24>>24)!=(0); $19 = $18&1; HEAP8[(1242628)>>0] = $19; _HacksComp_Update((1242616)); $20 = ((($0)) + 5|0); $21 = (_Stream_GetU16_BE($20)|0); $22 = ($21<<16>>16)==(-1); if ($22) { $23 = (_HacksComp_CanJumpHigher((1242616))|0); $24 = ($23<<24>>24)==(0); $25 = +HEAPF32[(1242972)>>2]; $spec$select = $24 ? 0.41999998688697815 : $25; $storemerge = $spec$select; HEAPF32[(1242968)>>2] = $storemerge; HEAPF32[(1242976)>>2] = $storemerge; return; } else { $26 = (+($21&65535)); $27 = $26 * 0.03125; $28 = (+_PhysicsComp_CalcJumpVelocity($27)); $storemerge = $28; HEAPF32[(1242968)>>2] = $storemerge; HEAPF32[(1242976)>>2] = $storemerge; return; } } function _CPE_ExtAddEntity2($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 160|0; $1 = sp + 136|0; $2 = sp + 144|0; $3 = sp + 64|0; $4 = sp + 128|0; $5 = sp; HEAP32[$2>>2] = $3; $6 = ((($2)) + 4|0); HEAP16[$6>>1] = 0; $7 = ((($2)) + 6|0); HEAP16[$7>>1] = 64; HEAP32[$4>>2] = $5; $8 = ((($4)) + 4|0); HEAP16[$8>>1] = 0; $9 = ((($4)) + 6|0); HEAP16[$9>>1] = 64; $10 = ((($0)) + 1|0); HEAP32[$1>>2] = $10; $11 = HEAP8[$0>>0]|0; _Protocol_ReadString($1,$2); _Protocol_ReadString($1,$4); _Protocol_CheckName($11,$2,$4); $12 = HEAP32[$1>>2]|0; _Protocol_AddEntity($12,$11,$2,$4,1); STACKTOP = sp;return; } function _CPE_BulkBlockUpdate($0) { $0 = $0|0; var $$05560 = 0, $$061 = 0, $$159 = 0, $$258 = 0, $$357 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; var $8 = 0, $9 = 0, $exitcond = 0, $exitcond62 = 0, $exitcond63 = 0, $or$cond = 0, $scevgep = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 1536|0; $1 = sp + 512|0; $2 = sp; $3 = ((($0)) + 1|0); $4 = HEAP8[$0>>0]|0; $5 = $4&255; $6 = $5 << 2; $7 = (($6) + 5)|0; $$05560 = 0;$$061 = $3; while(1) { $8 = (_Stream_GetU32_BE($$061)|0); $9 = (($1) + ($$05560<<2)|0); HEAP32[$9>>2] = $8; $10 = ((($$061)) + 4|0); $11 = (($$05560) + 1)|0; $exitcond63 = ($$05560|0)==($5|0); if ($exitcond63) { break; } else { $$05560 = $11;$$061 = $10; } } $scevgep = (($0) + ($7)|0); $12 = $5 << 2; $13 = $12 ^ 1020; $14 = (($scevgep) + ($13)|0); $$159 = 0; while(1) { $15 = (($14) + ($$159)|0); $16 = HEAP8[$15>>0]|0; $17 = $16&255; $18 = (($2) + ($$159<<1)|0); HEAP16[$18>>1] = $17; $19 = (($$159) + 1)|0; $exitcond62 = ($$159|0)==($5|0); if ($exitcond62) { break; } else { $$159 = $19; } } $20 = ((($14)) + 256|0); $21 = HEAP8[1408278]|0; $22 = ($21<<24>>24)==(0); if (!($22)) { $$258 = 0; while(1) { $23 = (2)?($$258 >>> 2):($$258); $24 = (($20) + ($23)|0); $25 = HEAP8[$24>>0]|0; $26 = $25&255; $27 = $26 << 8; $28 = $27 & 768; $29 = (($2) + ($$258<<1)|0); $30 = HEAP16[$29>>1]|0; $31 = $30&65535; $32 = $28 | $31; $33 = $32&65535; HEAP16[$29>>1] = $33; $34 = $26 << 6; $35 = $34 & 768; $36 = $$258 | 1; $37 = (($2) + ($36<<1)|0); $38 = HEAP16[$37>>1]|0; $39 = $38&65535; $40 = $35 | $39; $41 = $40&65535; HEAP16[$37>>1] = $41; $42 = $26 << 4; $43 = $42 & 768; $44 = $$258 | 2; $45 = (($2) + ($44<<1)|0); $46 = HEAP16[$45>>1]|0; $47 = $46&65535; $48 = $43 | $47; $49 = $48&65535; HEAP16[$45>>1] = $49; $50 = $26 << 2; $51 = $50 & 768; $52 = $$258 | 3; $53 = (($2) + ($52<<1)|0); $54 = HEAP16[$53>>1]|0; $55 = $54&65535; $56 = $51 | $55; $57 = $56&65535; HEAP16[$53>>1] = $57; $58 = (($$258) + 4)|0; $59 = ($58>>>0)>($5>>>0); if ($59) { break; } else { $$258 = $58; } } } $$357 = 0; while(1) { $60 = (($1) + ($$357<<2)|0); $61 = HEAP32[$60>>2]|0; $62 = ($61|0)>(-1); $63 = HEAP32[(1407460)>>2]|0; $64 = ($61|0)<($63|0); $or$cond = $62 & $64; if ($or$cond) { $65 = HEAP32[(1407464)>>2]|0; $66 = (($61|0) / ($65|0))&-1; $67 = Math_imul($66, $65)|0; $68 = (($61) - ($67))|0; $69 = HEAP32[(1407472)>>2]|0; $70 = (($66|0) / ($69|0))&-1; $71 = Math_imul($70, $69)|0; $72 = (($66) - ($71))|0; $73 = (_World_Contains_1309($68,$70,$72)|0); $74 = ($73<<24>>24)==(0); if (!($74)) { $75 = (($2) + ($$357<<1)|0); $76 = HEAP16[$75>>1]|0; _Game_UpdateBlock($68,$70,$72,$76); } } $77 = (($$357) + 1)|0; $exitcond = ($$357|0)==($5|0); if ($exitcond) { break; } else { $$357 = $77; } } STACKTOP = sp;return; } function _CPE_SetTextColor($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 4|0); $2 = HEAP8[$1>>0]|0; $3 = $2&255; switch ($2<<24>>24) { case 38: case 37: case -1: case 32: case 0: { return; break; } default: { } } $4 = ((($0)) + 1|0); $5 = HEAP8[$4>>0]|0; $6 = $5&255; $7 = $6 << 8; $8 = HEAP8[$0>>0]|0; $9 = $8&255; $10 = $7 | $9; $11 = ((($0)) + 2|0); $12 = HEAP8[$11>>0]|0; $13 = $12&255; $14 = $13 << 16; $15 = $10 | $14; $16 = ((($0)) + 3|0); $17 = HEAP8[$16>>0]|0; $18 = $17&255; $19 = $18 << 24; $20 = $15 | $19; $21 = (154320 + ($3<<2)|0); HEAP32[$21>>2] = $20; _Event_RaiseInt((1255496),$3); return; } function _CPE_SetMapEnvUrl($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; _Protocol_UNSAFE_GetString($1,$0); $2 = ((($1)) + 4|0); $3 = HEAP16[$2>>1]|0; $4 = ($3<<16>>16)==(0); if (!($4)) { $5 = (_Utils_IsUrlPrefix($1)|0); $6 = ($5<<24>>24)==(0); if ($6) { _Platform_Log1(35111,$1); STACKTOP = sp;return; } } _Server_RetrieveTexturePack($1); _Platform_Log1(35111,$1); STACKTOP = sp;return; } function _CPE_SetMapEnvProperty($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0; var $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 1|0); $2 = (_Stream_GetU32_BE($1)|0); $3 = ($2|0)>(-16777215); $4 = $3 ? $2 : -16777215; $5 = ($4|0)<(16777215); $6 = $5 ? $4 : 16777215; $7 = HEAP8[$0>>0]|0; do { switch ($7<<24>>24) { case 0: { $8 = ($6|0)>(0); $9 = $8 ? $6 : 0; $10 = ($9|0)<(767); $11 = $10 ? $9 : 767; $12 = $11&65535; _Env_SetSidesBlock($12); return; break; } case 1: { $13 = ($6|0)>(0); $14 = $13 ? $6 : 0; $15 = ($14|0)<(767); $16 = $15 ? $14 : 767; $17 = $16&65535; _Env_SetEdgeBlock($17); return; break; } case 2: { _Env_SetEdgeHeight($6); return; break; } case 3: { _Env_SetCloudsHeight($6); return; break; } case 4: { $18 = ($6|0)>(-32767); $19 = $18 ? $6 : -32767; $20 = ($19|0)<(32767); $21 = $20 ? $19 : 32767; $22 = ($21|0)<(1); $23 = $22 ? 32768 : $21; HEAP32[315050] = $23; $24 = HEAP32[315052]|0; _Game_SetViewDistance($24); return; break; } case 5: { $25 = (+($6|0)); $26 = $25 * 0.00390625; _Env_SetCloudsSpeed($26); return; break; } case 6: { $27 = (+($6|0)); $28 = $27 * 0.00390625; _Env_SetWeatherSpeed($28); return; break; } case 7: { $29 = (+($6|0)); $30 = $29 * 0.0078125; _Env_SetWeatherFade($30); return; break; } case 8: { $31 = ($6|0)!=(0); $32 = $31&1; _Env_SetExpFog($32); return; break; } case 9: { _Env_SetSidesOffset($6); return; break; } case 10: { $33 = (+($6|0)); $34 = $33 * 9.765625E-4; _Env_SetSkyboxHorSpeed($34); return; break; } case 11: { $35 = (+($6|0)); $36 = $35 * 9.765625E-4; _Env_SetSkyboxVerSpeed($36); return; break; } default: { return; } } } while(0); } function _CPE_SetEntityProperty($0) { $0 = $0|0; var $$ = 0.0, $$0 = 0.0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0; var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $1 = sp; ;HEAP32[$1>>2]=0|0;HEAP32[$1+4>>2]=0|0;HEAP32[$1+8>>2]=0|0;HEAP32[$1+12>>2]=0|0;HEAP32[$1+16>>2]=0|0;HEAP32[$1+20>>2]=0|0;HEAP32[$1+24>>2]=0|0;HEAP32[$1+28>>2]=0|0; $2 = HEAP8[$0>>0]|0; $3 = ((($0)) + 1|0); $4 = HEAP8[$3>>0]|0; $5 = ((($0)) + 2|0); $6 = (_Stream_GetU32_BE($5)|0); $7 = $2&255; $8 = (1241124 + ($7<<2)|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)==(0|0); if ($10) { STACKTOP = sp;return; } switch ($4<<24>>24) { case 0: { $11 = ((($1)) + 28|0); HEAP8[$11>>0] = 8; $12 = (+($6|0)); $13 = (+_LocationUpdate_Clamp($12)); $14 = ((($1)) + 20|0); HEAPF32[$14>>2] = $13; break; } case 1: { $15 = ((($1)) + 28|0); HEAP8[$15>>0] = 4; $16 = (+($6|0)); $17 = (+_LocationUpdate_Clamp($16)); $18 = ((($1)) + 16|0); HEAPF32[$18>>2] = $17; break; } case 2: { $19 = ((($1)) + 28|0); HEAP8[$19>>0] = 16; $20 = (+($6|0)); $21 = (+_LocationUpdate_Clamp($20)); $22 = ((($1)) + 24|0); HEAPF32[$22>>2] = $21; break; } case 5: case 4: case 3: { $23 = (+($6|0)); $24 = $23 / 1000.0; $25 = ((($9)) + 54|0); $26 = HEAP8[$25>>0]|0; $27 = ($26<<24>>24)==(0); if ($27) { $$0 = $24; } else { $28 = $24 < 0.0099999997764825821; $29 = $28 ? 0.0099999997764825821 : $24; $30 = ((($9)) + 48|0); $31 = HEAP32[$30>>2]|0; $32 = ((($31)) + 84|0); $33 = +HEAPF32[$32>>2]; $34 = $29 > $33; $$ = $34 ? $33 : $29; $$0 = $$; } switch ($4<<24>>24) { case 3: { $35 = ((($9)) + 80|0); $$sink = $35; label = 12; break; } case 4: { $36 = ((($9)) + 84|0); $$sink = $36; label = 12; break; } case 5: { $37 = ((($9)) + 88|0); $$sink = $37; label = 12; break; } default: { } } if ((label|0) == 12) { HEAPF32[$$sink>>2] = $$0; } _Entity_UpdateModelBounds($9); STACKTOP = sp;return; break; } default: { STACKTOP = sp;return; } } $38 = HEAP32[$9>>2]|0; $39 = ((($38)) + 8|0); $40 = HEAP32[$39>>2]|0; FUNCTION_TABLE_viii[$40 & 31]($9,$1,1); STACKTOP = sp;return; } function _CPE_TwoWayPing($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[$0>>0]|0; $2 = ((($0)) + 1|0); $3 = (_Stream_GetU16_BE($2)|0); $4 = $3&65535; $5 = ($1<<24>>24)==(0); if ($5) { _Ping_Update($4); return; } else { _CPE_WriteTwoWayPing(1,$4); _Net_SendPacket(); return; } } function _CPE_SetInventoryOrder($0) { $0 = $0|0; var $$0 = 0, $$010 = 0, $$011 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; $1 = HEAP8[1408278]|0; $2 = ($1<<24>>24)==(0); if ($2) { $5 = ((($0)) + 1|0); $6 = HEAP8[$0>>0]|0; $7 = $6&255; $$010 = $7;$$011 = $5; } else { $3 = (_Stream_GetU16_BE($0)|0); $4 = ((($0)) + 2|0); $$010 = $3;$$011 = $4; } $8 = HEAP8[1408278]|0; $9 = ($8<<24>>24)==(0); if ($9) { $11 = HEAP8[$$011>>0]|0; $12 = $11&255; $$0 = $12; } else { $10 = (_Stream_GetU16_BE($$011)|0); $$0 = $10; } _Inventory_Remove($$010); $13 = ($$0<<16>>16)==(0); if ($13) { return; } $14 = $$0&65535; $15 = (($14) + -1)|0; $16 = (1266642 + ($15<<1)|0); HEAP16[$16>>1] = $$010; return; } function _CPE_SetHotbar($0) { $0 = $0|0; var $$0 = 0, $$06 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408278]|0; $2 = ($1<<24>>24)==(0); if ($2) { $5 = ((($0)) + 1|0); $6 = HEAP8[$0>>0]|0; $7 = $6&255; $$0 = $5;$$06 = $7; } else { $3 = (_Stream_GetU16_BE($0)|0); $4 = ((($0)) + 2|0); $$0 = $4;$$06 = $3; } $8 = HEAP8[$$0>>0]|0; $9 = ($8&255)>(8); if ($9) { return; } $10 = $8&255; $11 = HEAP32[(1268184)>>2]|0; $12 = (($11) + ($10))|0; $13 = (1266480 + ($12<<1)|0); HEAP16[$13>>1] = $$06; return; } function _CPE_SetSpawnPoint($0) { $0 = $0|0; var $$0 = 0, $$024 = 0, $$025 = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0.0; var $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408279]|0; $2 = ($1<<24>>24)==(0); if ($2) { $8 = (_Stream_GetU16_BE($0)|0); $9 = $8 << 16 >> 16; $10 = ((($0)) + 2|0); $11 = (_Stream_GetU16_BE($10)|0); $12 = $11 << 16 >> 16; $13 = ((($0)) + 4|0); $14 = (_Stream_GetU16_BE($13)|0); $15 = $14 << 16 >> 16; $$0 = $15;$$024 = $12;$$025 = $9;$$sink = 6; } else { $3 = (_Stream_GetU32_BE($0)|0); $4 = ((($0)) + 4|0); $5 = (_Stream_GetU32_BE($4)|0); $6 = ((($0)) + 8|0); $7 = (_Stream_GetU32_BE($6)|0); $$0 = $7;$$024 = $5;$$025 = $3;$$sink = 12; } $16 = (($0) + ($$sink)|0); $17 = ((($16)) + 1|0); $18 = HEAP8[$16>>0]|0; $19 = (+($18&255)); $20 = $19 * 360.0; $21 = $20 * 0.00390625; HEAPF32[(1242604)>>2] = $21; $22 = HEAP8[$17>>0]|0; $23 = (+($22&255)); $24 = $23 * 360.0; $25 = $24 * 0.00390625; HEAPF32[(1242608)>>2] = $25; $26 = (($$024) + -51)|0; $27 = (+($$025|0)); $28 = $27 * 0.03125; HEAPF32[(1242580)>>2] = $28; $29 = (+($26|0)); $30 = $29 * 0.03125; HEAPF32[(1242584)>>2] = $30; $31 = (+($$0|0)); $32 = $31 * 0.03125; HEAPF32[(1242588)>>2] = $32; return; } function _CPE_VelocityControl($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 12|0); $2 = HEAP8[$1>>0]|0; _CalcVelocity((1242188),$0,$2); $3 = ((($0)) + 4|0); $4 = ((($0)) + 13|0); $5 = HEAP8[$4>>0]|0; _CalcVelocity((1242192),$3,$5); $6 = ((($0)) + 8|0); $7 = ((($0)) + 14|0); $8 = HEAP8[$7>>0]|0; _CalcVelocity((1242196),$6,$8); return; } function _CalcVelocity($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$sink = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $3 = (_Stream_GetU32_BE($1)|0); $4 = (+($3|0)); $5 = $4 / 1.0E+4; $6 = (+_Math_AbsF($5)); $7 = (_Math_Sign($4)|0); $8 = (+($7|0)); $9 = (+_PhysicsComp_CalcJumpVelocity($6)); $10 = $9 * $8; switch ($2<<24>>24) { case 0: { $11 = +HEAPF32[$0>>2]; $12 = $10 + $11; $$sink = $12; break; } case 1: { $$sink = $10; break; } default: { return; } } HEAPF32[$0>>2] = $$sink; return; } function _CPE_WriteTwoWayPing($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[(1384576)>>2]|0; $3 = ((($2)) + 1|0); HEAP8[$2>>0] = 43; $4 = ((($2)) + 2|0); HEAP8[$3>>0] = $0; $5 = $1&65535; _Stream_SetU16_BE($4,$5); $6 = ((($2)) + 4|0); HEAP32[(1384576)>>2] = $6; return; } function _World_Contains_1309($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $narrow = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP32[(1407464)>>2]|0; $4 = ($3>>>0)>($0>>>0); $5 = HEAP32[(1407468)>>2]|0; $6 = ($5>>>0)>($1>>>0); $or$cond = $4 & $6; $7 = HEAP32[(1407472)>>2]|0; $8 = ($7>>>0)>($2>>>0); $narrow = $or$cond & $8; $9 = $narrow&1; return ($9|0); } function _Protocol_ReadString($0,$1) { $0 = $0|0; $1 = $1|0; var $$02127 = 0, $$126 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[$0>>2]|0; $$02127 = 63; L1: while(1) { $3 = (($2) + ($$02127)|0); $4 = HEAP8[$3>>0]|0; switch ($4<<24>>24) { case 32: case 0: { break; } default: { label = 4; break L1; } } $5 = (($$02127) + -1)|0; $6 = ($$02127|0)==(0); if ($6) { break; } else { $$02127 = $5; } } if ((label|0) == 4) { $7 = ($$02127|0)>(-1); if ($7) { $$126 = 0; while(1) { $8 = (($2) + ($$126)|0); $9 = HEAP8[$8>>0]|0; _String_Append($1,$9); $10 = (($$126) + 1)|0; $exitcond = ($$126|0)==($$02127|0); if ($exitcond) { break; } else { $$126 = $10; } } } } $11 = ((($2)) + 64|0); HEAP32[$0>>2] = $11; return; } function _Protocol_CheckName($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $3 = sp + 64|0; $4 = sp; _Protocol_RemoveEndPlus($1); $5 = ($0<<24>>24)==(-1); if ($5) { HEAP32[$3>>2] = $4; $6 = ((($3)) + 4|0); HEAP16[$6>>1] = 0; $7 = ((($3)) + 6|0); HEAP16[$7>>1] = 64; _String_AppendColorless($3,$1); $8 = (_String_Equals($3,11488)|0); $9 = ($8|0)==(0); if ($9) { _String_Copy($1,11488); } } $10 = ((($2)) + 4|0); $11 = HEAP16[$10>>1]|0; $12 = ($11<<16>>16)==(0); if (!($12)) { _Protocol_RemoveEndPlus($2); _String_StripCols($2); STACKTOP = sp;return; } _String_Copy($2,$1); _Protocol_RemoveEndPlus($2); _String_StripCols($2); STACKTOP = sp;return; } function _Protocol_AddEntity($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $5 = $1&255; $6 = ($1<<24>>24)!=(-1); if ($6) { $7 = (1241124 + ($5<<2)|0); $8 = HEAP32[$7>>2]|0; $9 = ($8|0)==(0|0); if (!($9)) { _Entities_Remove($1); } $10 = (156368 + (($5*872)|0)|0); _NetPlayer_Init($10); HEAP32[$7>>2] = $10; _Event_RaiseInt(1248996,$5); $$0 = $10; } else { $$0 = 1242152; } _Entity_SetSkin($$0,$3); _Entity_SetName($$0,$2); $11 = ($4<<24>>24)==(0); if ($11) { return; } _Classic_ReadAbsoluteLocation($0,$1,0); if ($6) { return; } ;HEAP32[(1242580)>>2]=HEAP32[(1242156)>>2]|0;HEAP32[(1242580)+4>>2]=HEAP32[(1242156)+4>>2]|0;HEAP32[(1242580)+8>>2]=HEAP32[(1242156)+8>>2]|0; $12 = HEAP32[(1242172)>>2]|0; HEAP32[(1242604)>>2] = $12; $13 = HEAP32[(1242168)>>2]|0; HEAP32[(1242608)>>2] = $13; return; } function _Classic_ReadAbsoluteLocation($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$028 = 0, $$029 = 0, $$030 = 0, $$byval_copy = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0; var $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; var $9 = 0, $spec$select = 0, $spec$select$v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $$byval_copy = sp + 48|0; $3 = sp + 16|0; $4 = sp; $5 = HEAP8[1408279]|0; $6 = ($5<<24>>24)==(0); if ($6) { $12 = (_Stream_GetU16_BE($0)|0); $13 = $12 << 16 >> 16; $14 = ((($0)) + 2|0); $15 = (_Stream_GetU16_BE($14)|0); $16 = $15 << 16 >> 16; $17 = ((($0)) + 4|0); $18 = (_Stream_GetU16_BE($17)|0); $19 = $18 << 16 >> 16; $$028 = $13;$$029 = $19;$$030 = $16;$$sink = 6; } else { $7 = (_Stream_GetU32_BE($0)|0); $8 = ((($0)) + 4|0); $9 = (_Stream_GetU32_BE($8)|0); $10 = ((($0)) + 8|0); $11 = (_Stream_GetU32_BE($10)|0); $$028 = $7;$$029 = $11;$$030 = $9;$$sink = 12; } $20 = (($0) + ($$sink)|0); $21 = ($1<<24>>24)==(-1); $spec$select$v = $21 ? -29 : -51; $spec$select = (($$030) + ($spec$select$v))|0; $22 = (+($$028|0)); $23 = $22 * 0.03125; HEAPF32[$4>>2] = $23; $24 = (+($spec$select|0)); $25 = $24 * 0.03125; $26 = ((($4)) + 4|0); HEAPF32[$26>>2] = $25; $27 = (+($$029|0)); $28 = $27 * 0.03125; $29 = ((($4)) + 8|0); HEAPF32[$29>>2] = $28; $30 = ((($20)) + 1|0); $31 = HEAP8[$20>>0]|0; $32 = (+($31&255)); $33 = $32 * 360.0; $34 = $33 * 0.00390625; $35 = HEAP8[$30>>0]|0; $36 = (+($35&255)); $37 = $36 * 360.0; $38 = $37 * 0.00390625; if (!($21)) { ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$4+8>>2]|0; _LocationUpdate_MakePosAndOri($3,$$byval_copy,$34,$38,0); _Protocol_UpdateLocation($1,$3,$2); STACKTOP = sp;return; } HEAP8[1408286] = 1; ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$4+8>>2]|0; _LocationUpdate_MakePosAndOri($3,$$byval_copy,$34,$38,0); _Protocol_UpdateLocation($1,$3,$2); STACKTOP = sp;return; } function _Protocol_UpdateLocation($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = $0&255; $4 = (1241124 + ($3<<2)|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0|0); if ($6) { return; } $7 = HEAP32[$5>>2]|0; $8 = ((($7)) + 8|0); $9 = HEAP32[$8>>2]|0; FUNCTION_TABLE_viii[$9 & 31]($5,$1,$2); return; } function _Protocol_RemoveEndPlus($0) { $0 = $0|0; var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 4|0); $2 = HEAP16[$1>>1]|0; $3 = ($2<<16>>16)==(0); if ($3) { return; } $4 = HEAP32[$0>>2]|0; $5 = $2&65535; $6 = (($5) + -1)|0; $7 = (($4) + ($6)|0); $8 = HEAP8[$7>>0]|0; $9 = ($8<<24>>24)==(43); if (!($9)) { return; } $10 = (($2) + -1)<<16>>16; HEAP16[$1>>1] = $10; return; } function _Protocol_AddTablistEntry($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $5 = sp + 64|0; $6 = sp; HEAP32[$5>>2] = $6; $7 = ((($5)) + 4|0); HEAP16[$7>>1] = 0; $8 = ((($5)) + 6|0); HEAP16[$8>>1] = 64; _String_AppendColorless($5,$1); _TabList_Set($0,$5,$2,$3,$4); STACKTOP = sp;return; } function _CPE_SendCpeExtInfoReply() { var $$01116 = 0, $$1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $spec$select = 0, $spec$select14 = 0; var $spec$select15 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; $1 = sp; $2 = HEAP32[323042]|0; $3 = ($2|0)==(0); if (!($3)) { STACKTOP = sp;return; } $4 = HEAP8[1408234]|0; $5 = ($4<<24>>24)==(0); $spec$select = $5 ? 30 : 33; _CPE_SendExtInfo($spec$select); $$01116 = 0; while(1) { $6 = (6816 + ($$01116<<2)|0); $7 = HEAP32[$6>>2]|0; _String_FromReadonly($1,$7); $8 = $1; $9 = $8; $10 = HEAP32[$9>>2]|0; $11 = (($8) + 4)|0; $12 = $11; $13 = HEAP32[$12>>2]|0; $14 = $0; $15 = $14; HEAP32[$15>>2] = $10; $16 = (($14) + 4)|0; $17 = $16; HEAP32[$17>>2] = $13; $18 = (_String_CaselessEqualsConst($0,35191)|0); $19 = ($18|0)==(0); $spec$select14 = $19 ? 1 : 2; $20 = (_String_CaselessEqualsConst($0,35234)|0); $21 = ($20|0)==(0); $22 = HEAP32[4308]|0; $$1 = $21 ? $spec$select14 : $22; $23 = (_String_CaselessEqualsConst($0,35276)|0); $24 = ($23|0)==(0); $25 = HEAP32[4307]|0; $spec$select15 = $24 ? $$1 : $25; $26 = HEAP8[1408234]|0; $27 = ($26<<24>>24)==(0); if ($27) { $28 = (_String_CaselessEqualsConst($0,35276)|0); $29 = ($28|0)==(0); if ($29) { $30 = (_String_CaselessEqualsConst($0,35366)|0); $31 = ($30|0)==(0); if ($31) { $32 = (_String_CaselessEqualsConst($0,35351)|0); $33 = ($32|0)==(0); if ($33) { label = 7; } } } } else { label = 7; } if ((label|0) == 7) { label = 0; _CPE_SendExtEntry($0,$spec$select15); } $34 = (($$01116) + 1)|0; $exitcond = ($34|0)==(33); if ($exitcond) { break; } else { $$01116 = $34; } } STACKTOP = sp;return; } function _CPE_SendExtInfo($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $1 = sp; HEAP8[$1>>0] = 16; $2 = ((($1)) + 1|0); _Protocol_WriteString($2,(1384568)); $3 = ((($1)) + 65|0); $4 = $0&65535; _Stream_SetU16_BE($3,$4); $5 = HEAP32[(1384548)>>2]|0; FUNCTION_TABLE_vii[$5 & 127]($1,67); STACKTOP = sp;return; } function _CPE_SendExtEntry($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $2 = sp; HEAP8[$2>>0] = 17; $3 = ((($2)) + 1|0); _Protocol_WriteString($3,$0); $4 = ((($2)) + 65|0); _Stream_SetU32_BE($4,$1); $5 = HEAP32[(1384548)>>2]|0; FUNCTION_TABLE_vii[$5 & 127]($2,69); STACKTOP = sp;return; } function _Classic_Handshake($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; HEAP16[(1384556)>>1] = 0; HEAP16[(1384564)>>1] = 0; $2 = ((($0)) + 1|0); HEAP32[$1>>2] = $2; _Protocol_ReadString($1,(1384552)); _Protocol_ReadString($1,(1384560)); $3 = HEAP32[$1>>2]|0; $4 = HEAP8[$3>>0]|0; $5 = HEAP8[1408287]|0; $6 = $5 ^ 1; _HacksComp_SetUserType((1242616),$4,$6); _String_Copy((1242660),(1384552)); _String_AppendString((1242660),(1384560)); _HacksComp_RecheckFlags((1242616)); STACKTOP = sp;return; } function _Classic_Ping($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return; } function _Classic_LevelInit($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408288]|0; $2 = ($1<<24>>24)==(0); if ($2) { _Classic_StartLoading(); } $3 = HEAP8[1408285]|0; $4 = ($3<<24>>24)==(0); if ($4) { return; } $5 = (_Stream_GetU32_BE($0)|0); HEAP32[345446] = $5; HEAP8[(1381845)>>0] = 1; HEAP32[345463] = 4; return; } function _Classic_LevelDataChunk($0) { $0 = $0|0; var $$pr = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $switch$split2D = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = HEAP8[1408288]|0; $3 = ($2<<24>>24)==(0); if ($3) { _Classic_StartLoading(); } $4 = (_Stream_GetU16_BE($0)|0); $5 = $4&65535; $6 = ((($0)) + 2|0); HEAP32[(1381820)>>2] = $6; HEAP32[(1381832)>>2] = $6; HEAP32[(1381824)>>2] = $5; HEAP32[(1381828)>>2] = $5; $7 = ((($0)) + 1026|0); $8 = HEAP8[$7>>0]|0; $9 = HEAP8[(1381845)>>0]|0; $10 = ($9<<24>>24)==(0); if ($10) { $11 = (_GZipHeader_Read(1381788,1381844)|0); $switch$split2D = ($11|0)<(0); if ($switch$split2D) { switch ($11|0) { case -857812991: { break; } default: { label = 5; } } } else { switch ($11|0) { case 0: { break; } default: { label = 5; } } } if ((label|0) == 5) { _Logger_Abort2($11,35776); } $$pr = HEAP8[(1381845)>>0]|0; $12 = ($$pr<<24>>24)==(0); if (!($12)) { label = 7; } } else { label = 7; } do { if ((label|0) == 7) { $13 = HEAP32[345463]|0; $14 = ($13|0)<(4); if ($14) { $15 = (4 - ($13))|0; $16 = HEAP32[(1336912)>>2]|0; $17 = (1408289 + ($13)|0); (FUNCTION_TABLE_iiiii[$16 & 63]((1336912),$17,$15,$1)|0); $18 = HEAP32[$1>>2]|0; $19 = HEAP32[345463]|0; $20 = (($19) + ($18))|0; HEAP32[345463] = $20; $21 = $20; } else { $21 = $13; } $22 = ($21|0)==(4); if ($22) { $23 = HEAP32[345446]|0; $24 = ($23|0)==(0); if ($24) { $25 = (_Stream_GetU32_BE(1408289)|0); HEAP32[345446] = $25; } $26 = HEAP8[1408278]|0; $27 = ($26<<24>>24)==(0); $28 = ($8<<24>>24)==(0); $or$cond = $28 | $27; if ($or$cond) { _MapState_Read(1292176); break; } else { _MapState_Read(1336980); break; } } } } while(0); $29 = HEAP32[(1336968)>>2]|0; $30 = ($29|0)==(0|0); if ($30) { $36 = 0.0; _Event_RaiseFloat((1253936),$36); STACKTOP = sp;return; } $31 = HEAP32[(1336972)>>2]|0; $32 = (+($31|0)); $33 = HEAP32[345446]|0; $34 = (+($33|0)); $35 = $32 / $34; $36 = $35; _Event_RaiseFloat((1253936),$36); STACKTOP = sp;return; } function _Classic_LevelFinalise($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; _Gui_Remove(1381856); _Camera_CheckFocus(); $2 = (_DateTime_CurrentUTC_MS()|0); $3 = (getTempRet0() | 0); $4 = 549616; $5 = $4; $6 = HEAP32[$5>>2]|0; $7 = (($4) + 4)|0; $8 = $7; $9 = HEAP32[$8>>2]|0; $10 = (_i64Subtract(($2|0),($3|0),($6|0),($9|0))|0); $11 = (getTempRet0() | 0); HEAP32[$1>>2] = $10; _Platform_Log1(35685,$1); HEAP8[1408288] = 0; _WoM_CheckSendWomID(); $12 = HEAP8[(1336976)>>0]|0; $13 = ($12<<24>>24)==(0); if (!($13)) { STACKTOP = sp;return; } $14 = HEAP8[(1381780)>>0]|0; $15 = ($14<<24>>24)==(0); if (!($15)) { $16 = HEAP32[(1336968)>>2]|0; _Mem_Free($16); HEAP32[(1336968)>>2] = 0; STACKTOP = sp;return; } $17 = (_Stream_GetU16_BE($0)|0); $18 = $17&65535; $19 = ((($0)) + 2|0); $20 = (_Stream_GetU16_BE($19)|0); $21 = $20&65535; $22 = ((($0)) + 4|0); $23 = (_Stream_GetU16_BE($22)|0); $24 = $23&65535; $25 = HEAP32[345446]|0; $26 = Math_imul($21, $18)|0; $27 = Math_imul($26, $24)|0; $28 = ($25|0)==($27|0); if (!($28)) { _Logger_Abort(35706); } $29 = HEAP32[(1336968)>>2]|0; _World_SetNewMap($29,$18,$21,$24); $30 = HEAP8[1408278]|0; $31 = ($30<<24>>24)!=(0); $32 = HEAP32[(1381772)>>2]|0; $33 = ($32|0)!=(0|0); $or$cond = $31 & $33; if ($or$cond) { _World_SetMapUpper($32); } _Event_RaiseVoid((1254196)); STACKTOP = sp;return; } function _Classic_SetBlock($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_Stream_GetU16_BE($0)|0); $2 = $1&65535; $3 = ((($0)) + 2|0); $4 = (_Stream_GetU16_BE($3)|0); $5 = $4&65535; $6 = ((($0)) + 4|0); $7 = (_Stream_GetU16_BE($6)|0); $8 = $7&65535; $9 = ((($0)) + 6|0); $10 = HEAP8[1408278]|0; $11 = ($10<<24>>24)==(0); if ($11) { $13 = HEAP8[$9>>0]|0; $14 = $13&255; $$0 = $14; } else { $12 = (_Stream_GetU16_BE($9)|0); $$0 = $12; } $15 = (_World_Contains_1309($2,$5,$8)|0); $16 = ($15<<24>>24)==(0); if ($16) { return; } _Game_UpdateBlock($2,$5,$8,$$0); return; } function _Classic_AddEntity($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; var $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 160|0; $1 = sp + 136|0; $2 = sp + 144|0; $3 = sp + 64|0; $4 = sp + 128|0; $5 = sp; HEAP32[$2>>2] = $3; $6 = ((($2)) + 4|0); HEAP16[$6>>1] = 0; $7 = ((($2)) + 6|0); HEAP16[$7>>1] = 64; HEAP32[$4>>2] = $5; $8 = ((($4)) + 4|0); HEAP16[$8>>1] = 0; $9 = ((($4)) + 6|0); HEAP16[$9>>1] = 64; $10 = ((($0)) + 1|0); HEAP32[$1>>2] = $10; $11 = HEAP8[$0>>0]|0; _Protocol_ReadString($1,$2); _Protocol_CheckName($11,$2,$4); $12 = HEAP32[$1>>2]|0; _Protocol_AddEntity($12,$11,$2,$4,1); _Protocol_AddTablistEntry($11,$2,$2,17268,0); $13 = $11&255; $14 = $13 & 7; $15 = 1 << $14; $16 = (3)?($13 >>> 3):($13); $17 = (496592 + ($16)|0); $18 = HEAP8[$17>>0]|0; $19 = $18&255; $20 = $15 | $19; $21 = $20&255; HEAP8[$17>>0] = $21; STACKTOP = sp;return; } function _Classic_EntityTeleport($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 1|0); $2 = HEAP8[$0>>0]|0; _Classic_ReadAbsoluteLocation($1,$2,1); return; } function _Classic_RelPosAndOrientationUpdate($0) { $0 = $0|0; var $$byval_copy = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0; var $27 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $$byval_copy = sp + 48|0; $1 = sp + 16|0; $2 = sp; $3 = HEAP8[$0>>0]|0; $4 = ((($0)) + 1|0); $5 = HEAP8[$4>>0]|0; $6 = (+($5<<24>>24)); $7 = $6 * 0.03125; HEAPF32[$2>>2] = $7; $8 = ((($0)) + 2|0); $9 = HEAP8[$8>>0]|0; $10 = (+($9<<24>>24)); $11 = $10 * 0.03125; $12 = ((($2)) + 4|0); HEAPF32[$12>>2] = $11; $13 = ((($0)) + 3|0); $14 = HEAP8[$13>>0]|0; $15 = (+($14<<24>>24)); $16 = $15 * 0.03125; $17 = ((($2)) + 8|0); HEAPF32[$17>>2] = $16; $18 = ((($0)) + 4|0); $19 = HEAP8[$18>>0]|0; $20 = (+($19&255)); $21 = $20 * 360.0; $22 = $21 * 0.00390625; $23 = ((($0)) + 5|0); $24 = HEAP8[$23>>0]|0; $25 = (+($24&255)); $26 = $25 * 360.0; $27 = $26 * 0.00390625; ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$2+8>>2]|0; _LocationUpdate_MakePosAndOri($1,$$byval_copy,$22,$27,1); _Protocol_UpdateLocation($3,$1,1); STACKTOP = sp;return; } function _Classic_RelPositionUpdate($0) { $0 = $0|0; var $$byval_copy = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $$byval_copy = sp + 48|0; $1 = sp + 16|0; $2 = sp; $3 = HEAP8[$0>>0]|0; $4 = ((($0)) + 1|0); $5 = HEAP8[$4>>0]|0; $6 = (+($5<<24>>24)); $7 = $6 * 0.03125; HEAPF32[$2>>2] = $7; $8 = ((($0)) + 2|0); $9 = HEAP8[$8>>0]|0; $10 = (+($9<<24>>24)); $11 = $10 * 0.03125; $12 = ((($2)) + 4|0); HEAPF32[$12>>2] = $11; $13 = ((($0)) + 3|0); $14 = HEAP8[$13>>0]|0; $15 = (+($14<<24>>24)); $16 = $15 * 0.03125; $17 = ((($2)) + 8|0); HEAPF32[$17>>2] = $16; ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$2+8>>2]|0; _LocationUpdate_MakePos($1,$$byval_copy,1); _Protocol_UpdateLocation($3,$1,1); STACKTOP = sp;return; } function _Classic_OrientationUpdate($0) { $0 = $0|0; var $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $1 = sp; $2 = HEAP8[$0>>0]|0; $3 = ((($0)) + 1|0); $4 = HEAP8[$3>>0]|0; $5 = (+($4&255)); $6 = $5 * 360.0; $7 = $6 * 0.00390625; $8 = ((($0)) + 2|0); $9 = HEAP8[$8>>0]|0; $10 = (+($9&255)); $11 = $10 * 360.0; $12 = $11 * 0.00390625; _LocationUpdate_MakeOri($1,$7,$12); _Protocol_UpdateLocation($2,$1,1); STACKTOP = sp;return; } function _Classic_RemoveEntity($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[$0>>0]|0; _Protocol_RemoveEntity($1); return; } function _Classic_Message($0) { $0 = $0|0; var $$0 = 0, $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; var $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; $1 = sp + 88|0; $2 = sp + 80|0; $3 = sp; $4 = sp + 72|0; $5 = ((($0)) + 1|0); HEAP32[$1>>2] = $5; $6 = HEAP8[$0>>0]|0; HEAP32[$2>>2] = $3; $7 = ((($2)) + 4|0); HEAP16[$7>>1] = 0; $8 = ((($2)) + 6|0); HEAP16[$8>>1] = 66; $9 = HEAP8[1408283]|0; $10 = ($9<<24>>24)==(0); if ($10) { $11 = ($6<<24>>24)==(-1); if ($11) { _String_AppendConst($2,35647); $$0 = 0; } else { $$0 = 0; } } else { $$0 = $6; } _Protocol_ReadString($1,$2); $12 = (_String_CaselessStarts($2,17252)|0); $13 = ($12|0)==(0); if ($13) { $$1 = $$0; } else { _String_UNSAFE_SubstringAt($4,$2,13); $14 = $4; $15 = $14; $16 = HEAP32[$15>>2]|0; $17 = (($14) + 4)|0; $18 = $17; $19 = HEAP32[$18>>2]|0; $20 = $2; $21 = $20; HEAP32[$21>>2] = $16; $22 = (($20) + 4)|0; $23 = $22; HEAP32[$23>>2] = $19; $$1 = 3; } $24 = (_String_CaselessStarts($2,17260)|0); $25 = ($24|0)==(0); if (!($25)) { STACKTOP = sp;return; } $26 = $$1&255; _Chat_AddOf($2,$26); STACKTOP = sp;return; } function _Classic_Kick($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; _Protocol_UNSAFE_GetString($1,$0); _Game_Disconnect(17244,$1); STACKTOP = sp;return; } function _Classic_SetPermission($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[$0>>0]|0; $2 = HEAP8[1408287]|0; $3 = $2 ^ 1; _HacksComp_SetUserType((1242616),$1,$3); _HacksComp_RecheckFlags((1242616)); return; } function _WoM_CheckSendWomID() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP8[1408280]|0; $1 = ($0<<24>>24)==(0); $2 = HEAP8[1408281]|0; $3 = ($2<<24>>24)!=(0); $or$cond = $1 | $3; if ($or$cond) { return; } _Chat_Send(17276,0); HEAP8[1408281] = 1; return; } function _Classic_StartLoading() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; _World_Reset(); _Event_RaiseVoid(1253676); _Stream_ReadonlyMemory(1381788,0,0); _LoadingScreen_Show((1384552),(1384560)); _WoM_CheckMotd(); HEAP8[1408286] = 0; _GZipHeader_Init(1381844); HEAP8[1408288] = 1; HEAP32[345463] = 0; $0 = (_DateTime_CurrentUTC_MS()|0); $1 = (getTempRet0() | 0); $2 = 549616; $3 = $2; HEAP32[$3>>2] = $0; $4 = (($2) + 4)|0; $5 = $4; HEAP32[$5>>2] = $1; HEAP32[345446] = 0; _MapState_Init(1292176); _MapState_Init(1336980); return; } function _MapState_Read($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; var $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = ((($0)) + 44800|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)==(0); if (!($4)) { STACKTOP = sp;return; } $5 = ((($0)) + 44792|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)==(0|0); if ($7) { $8 = HEAP32[345446]|0; $9 = (_Mem_TryAlloc($8,1)|0); HEAP32[$5>>2] = $9; $10 = ($9|0)==(0|0); if ($10) { _Window_ShowDialog(36269,35793); HEAP8[$2>>0] = 1; STACKTOP = sp;return; } } $11 = HEAP32[345446]|0; $12 = ((($0)) + 44796|0); $13 = HEAP32[$12>>2]|0; $14 = (($11) - ($13))|0; $15 = ((($0)) + 44736|0); $16 = HEAP32[$15>>2]|0; $17 = HEAP32[$5>>2]|0; $18 = (($17) + ($13)|0); (FUNCTION_TABLE_iiiii[$16 & 63]($15,$18,$14,$1)|0); $19 = HEAP32[$1>>2]|0; $20 = HEAP32[$12>>2]|0; $21 = (($20) + ($19))|0; HEAP32[$12>>2] = $21; STACKTOP = sp;return; } function _WoM_CheckMotd() { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond$not = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; $0 = sp + 80|0; $1 = sp; $2 = sp + 72|0; $3 = sp + 64|0; $4 = (1384560); $5 = $4; $6 = HEAP32[$5>>2]|0; $7 = (($4) + 4)|0; $8 = $7; $9 = HEAP32[$8>>2]|0; $10 = $2; $11 = $10; HEAP32[$11>>2] = $6; $12 = (($10) + 4)|0; $13 = $12; HEAP32[$13>>2] = $9; $14 = ((($2)) + 4|0); $15 = HEAP16[$14>>1]|0; $16 = ($15<<16>>16)==(0); if ($16) { STACKTOP = sp;return; } $17 = (_String_IndexOfString($2,17284)|0); $18 = HEAP8[1408229]|0; $19 = ($18<<24>>24)!=(0); $20 = HEAP8[1408233]|0; $21 = ($20<<24>>24)==(0); $or$cond$not = $19 & $21; $22 = ($17|0)==(-1); $or$cond3 = $22 | $or$cond$not; if ($or$cond3) { STACKTOP = sp;return; } $23 = (($17) + 4)|0; _String_UNSAFE_SubstringAt($3,$2,$23); HEAP32[$0>>2] = $1; $24 = ((($0)) + 4|0); HEAP16[$24>>1] = 0; $25 = ((($0)) + 6|0); HEAP16[$25>>1] = 64; _String_Format1($0,35863,$3); $26 = HEAP32[323041]|0; $27 = (($26) + 1)|0; HEAP32[323041] = $27; _WoM_UpdateIdentifier(); _Http_AsyncGetData($0,1,17220); HEAP8[1408280] = 1; STACKTOP = sp;return; } function _MapState_Init($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 44736|0); _Inflate_MakeStream($1,$0,1381788); $2 = ((($0)) + 44796|0); HEAP32[$2>>2] = 0; $3 = ((($0)) + 44792|0); HEAP32[$3>>2] = 0; $4 = ((($0)) + 44800|0); HEAP8[$4>>0] = 0; return; } function _Protocol_Tick() { var label = 0, sp = 0; sp = STACKTOP; _Classic_Tick(); _CPE_Tick(); _WoM_Tick(); return; } function _Classic_Tick() { var $$byval_copy = 0, $0 = 0, $1 = 0, $2 = 0.0, $3 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $$byval_copy = sp; $0 = HEAP8[1408286]|0; $1 = ($0<<24>>24)==(0); if ($1) { STACKTOP = sp;return; } $2 = +HEAPF32[(1242172)>>2]; $3 = +HEAPF32[(1242168)>>2]; ;HEAP32[$$byval_copy>>2]=HEAP32[(1242156)>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[(1242156)+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[(1242156)+8>>2]|0; _Classic_WritePosition($$byval_copy,$2,$3); STACKTOP = sp;return; } function _CPE_Tick() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[323043]|0; $1 = (($0) + 1)|0; HEAP32[323043] = $1; $2 = ($0|0)<(19); $3 = HEAP8[1408284]|0; $4 = ($3<<24>>24)==(0); $or$cond = $2 | $4; if ($or$cond) { return; } $5 = (_Ping_NextPingId()|0); _CPE_WriteTwoWayPing(0,$5); HEAP32[323043] = 0; return; } function _WoM_Tick() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 432|0; $0 = sp; $1 = (_Http_GetResult(17220,$0)|0); $2 = ($1<<24>>24)==(0); if (!($2)) { $3 = ((($0)) + 421|0); $4 = HEAP8[$3>>0]|0; $5 = ($4<<24>>24)==(0); if (!($5)) { _WoM_ParseConfig($0); _HttpRequest_Free($0); } } STACKTOP = sp;return; } function _WoM_ParseConfig($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 224|0; $1 = sp + 208|0; $2 = sp; $3 = sp + 152|0; $4 = sp + 144|0; $5 = sp + 136|0; $6 = sp + 128|0; HEAP32[$1>>2] = $2; $7 = ((($1)) + 4|0); HEAP16[$7>>1] = 0; $8 = ((($1)) + 6|0); HEAP16[$8>>1] = 128; $9 = ((($0)) + 284|0); $10 = HEAP32[$9>>2]|0; $11 = ((($0)) + 288|0); $12 = HEAP32[$11>>2]|0; _Stream_ReadonlyMemory($3,$10,$12); $13 = (_Stream_ReadLine($3,$1)|0); $14 = ($13|0)==(0); if (!($14)) { STACKTOP = sp;return; } while(1) { _Platform_Log($1); $15 = (_String_UNSAFE_Separate($1,61,$4,$5)|0); $16 = ($15|0)==(0); do { if (!($16)) { $19 = (_String_CaselessEqualsConst($4,35878)|0); $20 = ($19|0)==(0); if (!($20)) { $21 = (_WoM_ParseCol($5,-1)|0); _Env_SetCloudsCol($21); break; } $22 = (_String_CaselessEqualsConst($4,35896)|0); $23 = ($22|0)==(0); if (!($23)) { $24 = (_WoM_ParseCol($5,-13159)|0); _Env_SetSkyCol($24); break; } $25 = (_String_CaselessEqualsConst($4,35912)|0); $26 = ($25|0)==(0); if (!($26)) { $27 = (_WoM_ParseCol($5,-1)|0); _Env_SetFogCol($27); break; } $28 = (_String_CaselessEqualsConst($4,35928)|0); $29 = ($28|0)==(0); if ($29) { $33 = (_String_CaselessEqualsConst($4,35946)|0); $34 = ($33|0)==(0); $35 = HEAP8[1408283]|0; $36 = ($35<<24>>24)!=(0); $or$cond = $34 | $36; if ($or$cond) { break; } _Chat_AddOf($5,2); break; } else { $30 = (_Convert_ParseInt($5,$6)|0); $31 = ($30<<24>>24)==(0); if ($31) { break; } $32 = HEAP32[$6>>2]|0; _Env_SetEdgeHeight($32); break; } } } while(0); $17 = (_Stream_ReadLine($3,$1)|0); $18 = ($17|0)==(0); if (!($18)) { break; } } STACKTOP = sp;return; } function _WoM_ParseCol($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = (_Convert_ParseInt($0,$2)|0); $4 = ($3<<24>>24)==(0); if ($4) { $$0 = $1; STACKTOP = sp;return ($$0|0); } $5 = HEAP32[$2>>2]|0; $6 = (16)?($5 >>> 16):($5); $7 = $6 & 255; $8 = $5 & 65280; $9 = $5 << 16; $10 = $8 | $9; $11 = $10 | $7; $12 = $11 | -16777216; $$0 = $12; STACKTOP = sp;return ($$0|0); } function _Screen_FInput($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; return 0; } function _Screen_FKeyPress($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; return 0; } function _Screen_FText($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; return 0; } function _Screen_FMouseScroll($0,$1) { $0 = $0|0; $1 = +$1; var label = 0, sp = 0; sp = STACKTOP; return 0; } function _Screen_FPointer($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var label = 0, sp = 0; sp = STACKTOP; return 0; } function _Screen_TInput($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; return 1; } function _Screen_TKeyPress($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; return 1; } function _Screen_TText($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; return 1; } function _Screen_TMouseScroll($0,$1) { $0 = $0|0; $1 = +$1; var label = 0, sp = 0; sp = STACKTOP; return 1; } function _Screen_TPointer($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var label = 0, sp = 0; sp = STACKTOP; return 1; } function _Screen_NullFunc($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return; } function _Screen_NullUpdate($0,$1) { $0 = $0|0; $1 = +$1; var label = 0, sp = 0; sp = STACKTOP; return; } function _Screen_InputDown($0,$1) { $0 = $0|0; $1 = $1|0; var $$off = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $$off = (($1) + -1)|0; $2 = ($$off>>>0)>(34); $3 = $2&1; return ($3|0); } function _Screen_RenderWidgets($0,$1) { $0 = $0|0; $1 = +$1; var $$016 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 12|0); $3 = HEAP32[$2>>2]|0; $4 = ((($0)) + 16|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)>(0); if (!($6)) { return; } $$016 = 0; while(1) { $7 = (($3) + ($$016<<2)|0); $8 = HEAP32[$7>>2]|0; $9 = ($8|0)==(0|0); if (!($9)) { $10 = HEAP32[$8>>2]|0; $11 = HEAP32[$10>>2]|0; FUNCTION_TABLE_vid[$11 & 63]($8,$1); } $12 = (($$016) + 1)|0; $13 = HEAP32[$4>>2]|0; $14 = ($12|0)<($13|0); if ($14) { $$016 = $12; } else { break; } } return; } function _Screen_Render2Widgets($0,$1) { $0 = $0|0; $1 = +$1; var $$01920 = 0, $$021 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 12|0); $3 = HEAP32[$2>>2]|0; _Gfx_SetVertexFormat(1); $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; _Gfx_BindVb($5); $6 = ((($0)) + 16|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)>(0); if (!($8)) { return; } $$01920 = 0;$$021 = 0; while(1) { $9 = (($3) + ($$01920<<2)|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)==(0|0); if ($11) { $$1 = $$021; } else { $12 = HEAP32[$10>>2]|0; $13 = ((($12)) + 40|0); $14 = HEAP32[$13>>2]|0; $15 = (FUNCTION_TABLE_iii[$14 & 127]($10,$$021)|0); $$1 = $15; } $16 = (($$01920) + 1)|0; $17 = HEAP32[$6>>2]|0; $18 = ($16|0)<($17|0); if ($18) { $$01920 = $16;$$021 = $$1; } else { break; } } return; } function _Screen_Layout($0) { $0 = $0|0; var $$015 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 12|0); $2 = HEAP32[$1>>2]|0; $3 = ((($0)) + 16|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)>(0); if (!($5)) { return; } $$015 = 0; while(1) { $6 = (($2) + ($$015<<2)|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)==(0|0); if (!($8)) { $9 = HEAP32[$7>>2]|0; $10 = ((($9)) + 8|0); $11 = HEAP32[$10>>2]|0; FUNCTION_TABLE_vi[$11 & 511]($7); } $12 = (($$015) + 1)|0; $13 = HEAP32[$3>>2]|0; $14 = ($12|0)<($13|0); if ($14) { $$015 = $12; } else { break; } } return; } function _Screen_ContextLost($0) { $0 = $0|0; var $$016 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 12|0); $2 = HEAP32[$1>>2]|0; $3 = ((($0)) + 8|0); _Gfx_DeleteVb($3); $4 = ((($0)) + 16|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)>(0); if (!($6)) { return; } $$016 = 0; while(1) { $7 = (($2) + ($$016<<2)|0); $8 = HEAP32[$7>>2]|0; $9 = ($8|0)==(0|0); if (!($9)) { $10 = HEAP32[$8>>2]|0; $11 = ((($10)) + 4|0); $12 = HEAP32[$11>>2]|0; FUNCTION_TABLE_vi[$12 & 511]($8); } $13 = (($$016) + 1)|0; $14 = HEAP32[$4>>2]|0; $15 = ($13|0)<($14|0); if ($15) { $$016 = $13; } else { break; } } return; } function _Screen_BuildMesh($0,$1) { $0 = $0|0; $1 = $1|0; var $$018 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; HEAP32[$2>>2] = $1; $3 = ((($0)) + 12|0); $4 = HEAP32[$3>>2]|0; $5 = ((($0)) + 16|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)>(0); if (!($7)) { STACKTOP = sp;return; } $$018 = 0; while(1) { $8 = (($4) + ($$018<<2)|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)==(0|0); if (!($10)) { $11 = HEAP32[$9>>2]|0; $12 = ((($11)) + 36|0); $13 = HEAP32[$12>>2]|0; FUNCTION_TABLE_vii[$13 & 127]($9,$2); } $14 = (($$018) + 1)|0; $15 = HEAP32[$5>>2]|0; $16 = ($14|0)<($15|0); if ($16) { $$018 = $14; } else { break; } } STACKTOP = sp;return; } function _HUDScreen_Show() { var label = 0, sp = 0; sp = STACKTOP; HEAP32[137406] = 17292; _Gui_Replace(549624,15); return; } function _HUDScreen_Render($0,$1) { $0 = $0|0; $1 = +$1; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; var $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; _HUDScreen_Update($0,$1); $2 = HEAP8[1408238]|0; $3 = ($2<<24>>24)==(0); if (!($3)) { return; } $4 = HEAP8[1408260]|0; $5 = ($4<<24>>24)==(0); if (!($5)) { $6 = ((($0)) + 32|0); $7 = HEAP32[$6>>2]|0; $8 = HEAP32[$7>>2]|0; FUNCTION_TABLE_vid[$8 & 63]($6,$1); } $9 = HEAP8[1408229]|0; $10 = ($9<<24>>24)==(0); if ($10) { $14 = (_IsOnlyHudActive()|0); $15 = ($14<<24>>24)==(0); $16 = HEAP8[1408260]|0; $17 = ($16<<24>>24)==(0); $or$cond = $15 | $17; if (!($or$cond)) { $18 = (_HUDScreen_HacksChanged($0)|0); $19 = ($18<<24>>24)==(0); if (!($19)) { _HUDScreen_UpdateHackState($0); } _HUDScreen_DrawPosition($0); $20 = ((($0)) + 100|0); $21 = HEAP32[$20>>2]|0; $22 = HEAP32[$21>>2]|0; FUNCTION_TABLE_vid[$22 & 63]($20,$1); } } else { $11 = ((($0)) + 100|0); $12 = HEAP32[$11>>2]|0; $13 = HEAP32[$12>>2]|0; FUNCTION_TABLE_vid[$13 & 63]($11,$1); } return; } function _HUDScreen_BuildMesh($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return; } function _HUDScreen_ContextLost($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 20|0); _Font_Free($1); $2 = ((($0)) + 168|0); _TextAtlas_Free($2); $3 = ((($0)) + 32|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)==(0|0); if (!($5)) { $6 = ((($4)) + 4|0); $7 = HEAP32[$6>>2]|0; FUNCTION_TABLE_vi[$7 & 511]($3); } $8 = ((($0)) + 100|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)==(0|0); if ($10) { return; } $11 = ((($9)) + 4|0); $12 = HEAP32[$11>>2]|0; FUNCTION_TABLE_vi[$12 & 511]($8); return; } function _HUDScreen_ContextRecreated($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 32|0); $2 = ((($0)) + 100|0); $3 = ((($0)) + 20|0); _Drawer2D_MakeFont($3,16,0); _Font_ReducePadding($3,4); _TextWidget_Make($1,0,0,2,2); _HUDScreen_Update($0,1.0); $4 = ((($0)) + 48|0); $5 = HEAP32[$4>>2]|0; $6 = (($5) + 2)|0; $7 = ((($0)) + 168|0); _TextAtlas_Make($7,17356,$3,17364); $8 = $6&65535; $9 = ((($0)) + 174|0); HEAP16[$9>>1] = $8; $10 = ((($0)) + 178|0); $11 = HEAP16[$10>>1]|0; $12 = $11&65535; $13 = (($6) + ($12))|0; _TextWidget_Make($2,0,0,2,0); $14 = ((($0)) + 128|0); HEAP32[$14>>2] = $13; $15 = HEAP8[1408229]|0; $16 = ($15<<24>>24)==(0); if ($16) { _HUDScreen_UpdateHackState($0); return; } else { HEAP32[$14>>2] = 2; $17 = HEAP16[$9>>1]|0; $18 = $17 << 16 >> 16; $19 = ((($0)) + 60|0); HEAP32[$19>>2] = $18; _TextWidget_SetConst($2,35958,$3); $20 = HEAP32[$1>>2]|0; $21 = ((($20)) + 8|0); $22 = HEAP32[$21>>2]|0; FUNCTION_TABLE_vi[$22 & 511]($1); $23 = HEAP32[$2>>2]|0; $24 = ((($23)) + 8|0); $25 = HEAP32[$24>>2]|0; FUNCTION_TABLE_vi[$25 & 511]($2); return; } } function _HUDScreen_Update($0,$1) { $0 = $0|0; $1 = +$1; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 144|0; $2 = sp + 128|0; $3 = sp; $4 = ((($0)) + 280|0); $5 = HEAP32[$4>>2]|0; $6 = (($5) + 1)|0; HEAP32[$4>>2] = $6; $7 = ((($0)) + 272|0); $8 = +HEAPF64[$7>>3]; $9 = $8 + $1; HEAPF64[$7>>3] = $9; $10 = $9 < 1.0; if ($10) { STACKTOP = sp;return; } HEAP32[$2>>2] = $3; $11 = ((($2)) + 4|0); HEAP16[$11>>1] = 0; $12 = ((($2)) + 6|0); HEAP16[$12>>1] = 128; _HUDScreen_MakeText($0,$2); $13 = ((($0)) + 32|0); $14 = ((($0)) + 20|0); _TextWidget_Set($13,$2,$14); HEAPF64[$7>>3] = 0.0; HEAP32[$4>>2] = 0; HEAP32[(535488)>>2] = 0; STACKTOP = sp;return; } function _HUDScreen_UpdateHackState($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 144|0; $1 = sp + 128|0; $2 = sp; $3 = HEAP8[(1242654)>>0]|0; $4 = ((($0)) + 288|0); HEAP8[$4>>0] = $3; $5 = HEAP8[(1242655)>>0]|0; $6 = ((($0)) + 289|0); HEAP8[$6>>0] = $5; $7 = HEAP8[(1242651)>>0]|0; $8 = ((($0)) + 291|0); HEAP8[$8>>0] = $7; $9 = HEAP8[(1242650)>>0]|0; $10 = ((($0)) + 290|0); HEAP8[$10>>0] = $9; $11 = HEAP32[315053]|0; $12 = ((($0)) + 296|0); HEAP32[$12>>2] = $11; $13 = HEAP8[(1242629)>>0]|0; $14 = ((($0)) + 292|0); HEAP8[$14>>0] = $13; HEAP32[$1>>2] = $2; $15 = ((($1)) + 4|0); HEAP16[$15>>1] = 0; $16 = ((($1)) + 6|0); HEAP16[$16>>1] = 128; $17 = HEAP32[315071]|0; $18 = ($11|0)==($17|0); if (!($18)) { _String_Format1($1,35963,1260212); } $19 = HEAP8[(1242654)>>0]|0; $20 = HEAP8[(1242655)>>0]|0; $21 = $20 | $19; $22 = ($21<<24>>24)==(0); $23 = HEAP8[(1242629)>>0]|0; $24 = ($23<<24>>24)==(0); $25 = HEAP8[(1242651)>>0]|0; $26 = ($25<<24>>24)==(0); if (!($26)) { _String_AppendConst($1,35977); } $27 = $22 | $24; if (!($27)) { _String_AppendConst($1,35987); } $28 = HEAP8[(1242650)>>0]|0; $29 = ($28<<24>>24)==(0); if ($29) { $30 = ((($0)) + 100|0); $31 = ((($0)) + 20|0); _TextWidget_Set($30,$1,$31); STACKTOP = sp;return; } _String_AppendConst($1,35999); $30 = ((($0)) + 100|0); $31 = ((($0)) + 20|0); _TextWidget_Set($30,$1,$31); STACKTOP = sp;return; } function _HUDScreen_MakeText($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp + 4|0; $3 = sp; $4 = ((($0)) + 280|0); $5 = HEAP32[$4>>2]|0; $6 = (+($5|0)); $7 = ((($0)) + 272|0); $8 = +HEAPF64[$7>>3]; $9 = $6 / $8; $10 = (~~(($9))); $11 = ((($0)) + 284|0); HEAP32[$11>>2] = $10; _String_Format1($1,36039,$11); $12 = HEAP8[1408229]|0; $13 = ($12<<24>>24)==(0); if (!($13)) { _String_Format1($1,36048,(535488)); STACKTOP = sp;return; } $14 = HEAP32[(535488)>>2]|0; $15 = ($14|0)==(0); if (!($15)) { _String_Format1($1,36065,(535488)); } $16 = HEAP32[315073]|0; $17 = (2)?($16 >> 2):($16); $18 = ($17*6)|0; HEAP32[$2>>2] = $18; _String_Format1($1,36079,$2); $19 = (_Ping_AveragePingMS()|0); HEAP32[$3>>2] = $19; $20 = ($19|0)==(0); if ($20) { STACKTOP = sp;return; } _String_Format1($1,36091,$3); STACKTOP = sp;return; } function _IsOnlyHudActive() { var $$010 = 0, $$08 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[315198]|0; $1 = ($0|0)>(0); if (!($1)) { $$08 = 1; return ($$08|0); } $2 = HEAP32[315197]|0; $3 = HEAP32[315198]|0; $$010 = 0; while(1) { $6 = (379280 + ($$010<<2)|0); $7 = HEAP32[$6>>2]|0; $8 = ((($7)) + 4|0); $9 = HEAP8[$8>>0]|0; $10 = ($9<<24>>24)==(0); $11 = ($7|0)==($2|0); $or$cond = $10 | $11; $4 = (($$010) + 1)|0; if (!($or$cond)) { $$08 = 0; label = 5; break; } $5 = ($4|0)<($3|0); if ($5) { $$010 = $4; } else { $$08 = 1; label = 5; break; } } if ((label|0) == 5) { return ($$08|0); } return (0)|0; } function _HUDScreen_HacksChanged($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[(1242654)>>0]|0; $2 = ((($0)) + 288|0); $3 = HEAP8[$2>>0]|0; $4 = ($1<<24>>24)==($3<<24>>24); if (!($4)) { $25 = 1; return ($25|0); } $5 = HEAP8[(1242655)>>0]|0; $6 = ((($0)) + 289|0); $7 = HEAP8[$6>>0]|0; $8 = ($5<<24>>24)==($7<<24>>24); if (!($8)) { $25 = 1; return ($25|0); } $9 = HEAP8[(1242651)>>0]|0; $10 = ((($0)) + 291|0); $11 = HEAP8[$10>>0]|0; $12 = ($9<<24>>24)==($11<<24>>24); if (!($12)) { $25 = 1; return ($25|0); } $13 = HEAP8[(1242650)>>0]|0; $14 = ((($0)) + 290|0); $15 = HEAP8[$14>>0]|0; $16 = ($13<<24>>24)==($15<<24>>24); if (!($16)) { $25 = 1; return ($25|0); } $17 = HEAP32[315053]|0; $18 = ((($0)) + 296|0); $19 = HEAP32[$18>>2]|0; $20 = ($17|0)==($19|0); if (!($20)) { $25 = 1; return ($25|0); } $21 = HEAP8[(1242629)>>0]|0; $22 = ((($0)) + 292|0); $23 = HEAP8[$22>>0]|0; $24 = ($21<<24>>24)!=($23<<24>>24); $phitmp = $24&1; $25 = $phitmp; return ($25|0); } function _HUDScreen_DrawPosition($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 6192|0; $1 = sp; $2 = sp + 6184|0; $3 = sp + 6156|0; $4 = sp + 6144|0; HEAP32[$2>>2] = $1; $5 = ((($0)) + 168|0); ;HEAP32[$3>>2]=HEAP32[$5>>2]|0;HEAP32[$3+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$3+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$3+16>>2]=HEAP32[$5+16>>2]|0;HEAP32[$3+20>>2]=HEAP32[$5+20>>2]|0;HEAP32[$3+24>>2]=HEAP32[$5+24>>2]|0; $6 = ((($3)) + 4|0); HEAP16[$6>>1] = 2; $7 = ((($0)) + 196|0); $8 = HEAP32[$7>>2]|0; $9 = $8&65535; $10 = ((($3)) + 8|0); HEAP16[$10>>1] = $9; _Gfx_Make2DQuad($3,-1,$2); _IVec3_Floor($4,(1242156)); $11 = HEAP32[$7>>2]|0; $12 = (($11) + 2)|0; $13 = ((($0)) + 200|0); HEAP32[$13>>2] = $12; _TextAtlas_Add($5,13,$2); $14 = HEAP32[$4>>2]|0; _TextAtlas_AddInt($5,$14,$2); _TextAtlas_Add($5,11,$2); $15 = ((($4)) + 4|0); $16 = HEAP32[$15>>2]|0; _TextAtlas_AddInt($5,$16,$2); _TextAtlas_Add($5,11,$2); $17 = ((($4)) + 8|0); $18 = HEAP32[$17>>2]|0; _TextAtlas_AddInt($5,$18,$2); _TextAtlas_Add($5,14,$2); $19 = HEAP32[$5>>2]|0; _Gfx_BindTexture($19); $20 = HEAP32[$2>>2]|0; $21 = $1; $22 = (($20) - ($21))|0; $23 = (($22|0) / 24)&-1; $24 = HEAP32[(1280020)>>2]|0; _Gfx_UpdateDynamicVb_IndexedTris($24,$1,$23); STACKTOP = sp;return; } function _ChatScreen_Show() { var label = 0, sp = 0; sp = STACKTOP; HEAP32[(565572)>>2] = -2147483648; HEAP32[137482] = 17372; HEAP32[315197] = 549928; _Gui_Replace(549928,10); return; } function _ChatScreen_Init($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 20|0); _HotbarWidget_Create($1); _ChatScreen_ChatInit($0); _Event_Register((1254976),$0,18); _Event_Register((1255496),$0,109); _Event_Register(1249516,$0,110); _Event_Register((1249776),$0,111); _Event_Register((1250036),$0,112); $2 = HEAP8[1408267]|0; $3 = ($2<<24>>24)==(0); if ($3) { return; } $4 = ((($0)) + 17976|0); _ButtonWidget_Make($4,100,0,2,0,10,10); $5 = ((($0)) + 18056|0); _ButtonWidget_Make($5,100,0,2,0,10,60); return; } function _ChatScreen_Free($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 15628|0); HEAP8[$1>>0] = 0; _Event_Unregister((1254976),$0,18); _Event_Unregister((1255496),$0,109); _Event_Unregister(1249516,$0,110); _Event_Unregister((1249776),$0,111); _Event_Unregister((1250036),$0,112); return; } function _ChatScreen_Render($0,$1) { $0 = $0|0; $1 = +$1; var $$pr = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0; var $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP8[1408238]|0; $3 = ($2<<24>>24)==(0); if (!($3)) { $4 = ((($0)) + 4|0); $5 = HEAP8[$4>>0]|0; $6 = ($5<<24>>24)==(0); if (!($6)) { $7 = ((($0)) + 15744|0); $8 = HEAP32[$7>>2]|0; $9 = HEAP32[$8>>2]|0; FUNCTION_TABLE_vid[$9 & 63]($7,$1); } $$pr = HEAP8[1408238]|0; $10 = ($$pr<<24>>24)==(0); if (!($10)) { return; } } $11 = (_Gui_GetBlocksWorld()|0); $12 = ($11|0)!=(0|0); $13 = ((($0)) + 15628|0); $14 = HEAP8[$13>>0]|0; $15 = ($14<<24>>24)!=(0); $or$cond = $12 | $15; if (!($or$cond)) { _ChatScreen_DrawCrosshairs(); } $16 = ((($0)) + 4|0); $17 = HEAP8[$16>>0]|0; $18 = ($17<<24>>24)==(0); if (!($18)) { $19 = HEAP8[1408229]|0; $20 = ($19<<24>>24)==(0); $21 = HEAP8[1408233]|0; $22 = ($21<<24>>24)!=(0); $or$cond3 = $20 | $22; if ($or$cond3) { _ChatScreen_DrawChatBackground($0); } } if (!($12)) { $23 = ((($0)) + 20|0); $24 = HEAP32[$23>>2]|0; $25 = HEAP32[$24>>2]|0; FUNCTION_TABLE_vid[$25 & 63]($23,$1); } _ChatScreen_DrawChat($0,$1); $26 = HEAP8[$13>>0]|0; $27 = ($26<<24>>24)==(0); if (!($27)) { $28 = (_IsOnlyHudActive()|0); $29 = ($28<<24>>24)==(0); if (!($29)) { $30 = HEAP8[$16>>0]|0; $31 = ((($0)) + 136|0); $32 = ((($0)) + 156|0); HEAP8[$32>>0] = $30; $33 = HEAP32[$31>>2]|0; $34 = HEAP32[$33>>2]|0; FUNCTION_TABLE_vid[$34 & 63]($31,$1); $35 = (_KeyBind_IsPressed(11)|0); $36 = ($35<<24>>24)==(0); if ($36) { HEAP8[$13>>0] = 0; $37 = HEAP32[$31>>2]|0; $38 = ((($37)) + 4|0); $39 = HEAP32[$38>>2]|0; FUNCTION_TABLE_vi[$39 & 511]($31); } } } return; } function _ChatScreen_BuildMesh($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return; } function _ChatScreen_KeyDown($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond35 = 0, $or$cond5 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP8[(379739)>>0]|0; $3 = $2&255; $4 = ($2<<24>>24)==(95); $5 = HEAP8[1408256]|0; $6 = ($5<<24>>24)!=(0); $or$cond = $4 & $6; if ($or$cond) { $7 = ((($0)) + 4|0); $8 = HEAP8[$7>>0]|0; $9 = ($8<<24>>24)!=(0); $11 = $9; } else { $11 = 0; } $10 = ($3|0)!=($1|0); $or$cond35 = $10 | $11; if (!($or$cond35)) { $12 = ((($0)) + 15628|0); $13 = HEAP8[$12>>0]|0; $14 = HEAP8[(1384580)>>0]|0; $15 = $14 | $13; $16 = ($15<<24>>24)==(0); if (!($16)) { $$0 = 1; return ($$0|0); } _ChatScreen_RemakePlayerList($0); $$0 = 1; return ($$0|0); } $17 = ((($0)) + 15636|0); HEAP8[$17>>0] = 0; $18 = ((($0)) + 4|0); $19 = HEAP8[$18>>0]|0; $20 = ($19<<24>>24)==(0); if (!($20)) { $21 = HEAP8[(379738)>>0]|0; $22 = $21&255; $23 = ($22|0)==($1|0); $24 = ($1|0)==(116); $or$cond5 = $24 | $23; L13: do { if ($or$cond5) { _ChatScreen_EnterChatInput($0,0); } else { switch ($1|0) { case 62: { $25 = HEAP32[315202]|0; $26 = (0 - ($25))|0; _ChatScreen_ScrollChatBy($0,$26); break L13; break; } case 63: { $27 = HEAP32[315202]|0; _ChatScreen_ScrollChatBy($0,$27); break L13; break; } default: { $28 = ((($0)) + 15744|0); $29 = HEAP32[$28>>2]|0; $30 = ((($29)) + 12|0); $31 = HEAP32[$30>>2]|0; (FUNCTION_TABLE_iii[$31 & 127]($28,$1)|0); _ChatScreen_UpdateChatYOffsets($0); break L13; } } } } while(0); $$off = (($1) + -1)|0; $32 = ($$off>>>0)>(34); $33 = $32&1; $$0 = $33; return ($$0|0); } $34 = HEAP8[(379735)>>0]|0; $35 = $34&255; $36 = ($35|0)==($1|0); if ($36) { _ChatScreen_OpenInput(1384616); $$0 = 1; return ($$0|0); } $37 = ($1|0)==(122); if ($37) { _ChatScreen_OpenInput(17436); $$0 = 1; return ($$0|0); } $38 = HEAP8[(379736)>>0]|0; $39 = $38&255; $40 = ($39|0)==($1|0); if ($40) { _InventoryScreen_Show(); $$0 = 1; return ($$0|0); } else { $41 = ((($0)) + 20|0); $42 = HEAP32[$41>>2]|0; $43 = ((($42)) + 12|0); $44 = HEAP32[$43>>2]|0; $45 = (FUNCTION_TABLE_iii[$44 & 127]($41,$1)|0); $$0 = $45; return ($$0|0); } return (0)|0; } function _ChatScreen_KeyUp($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP8[(379739)>>0]|0; $3 = $2&255; $4 = ($3|0)==($1|0); if ($4) { $5 = ((($0)) + 15628|0); $6 = HEAP8[$5>>0]|0; $7 = ($6<<24>>24)==(0); if (!($7)) { HEAP8[$5>>0] = 0; $8 = ((($0)) + 136|0); $9 = HEAP32[$8>>2]|0; $10 = ((($9)) + 4|0); $11 = HEAP32[$10>>2]|0; FUNCTION_TABLE_vi[$11 & 511]($8); $$0 = 1; return ($$0|0); } } $12 = ((($0)) + 4|0); $13 = HEAP8[$12>>0]|0; $14 = ($13<<24>>24)==(0); if ($14) { $15 = ((($0)) + 20|0); $16 = HEAP32[$15>>2]|0; $17 = ((($16)) + 16|0); $18 = HEAP32[$17>>2]|0; $19 = (FUNCTION_TABLE_iii[$18 & 127]($15,$1)|0); $$0 = $19; return ($$0|0); } $20 = ($1|0)==(92); if ($20) { _ChatScreen_EnterChatInput($0,1); } $21 = HEAP8[(1384585)>>0]|0; $22 = ($21<<24>>24)==(0); if ($22) { $$0 = 1; return ($$0|0); } $23 = HEAP8[(379745)>>0]|0; $24 = $23&255; $25 = ($24|0)!=($1|0); $26 = HEAP8[1408301]|0; $27 = ($26<<24>>24)==(0); $or$cond = $25 | $27; if ($or$cond) { $$0 = 1; return ($$0|0); } $28 = ((($0)) + 16712|0); $29 = ((($0)) + 16732|0); $30 = HEAP8[$29>>0]|0; $31 = ($30<<24>>24)==(0); $32 = $31&1; _SpecialInputWidget_SetActive($28,$32); _ChatScreen_UpdateChatYOffsets($0); $$0 = 1; return ($$0|0); } function _ChatScreen_KeyPress($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 4|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)==(0); if ($4) { $$0 = 0; return ($$0|0); } $5 = ((($0)) + 15636|0); $6 = HEAP8[$5>>0]|0; $7 = ($6<<24>>24)==(0); if ($7) { $8 = ((($0)) + 15744|0); _InputWidget_Append($8,$1); _ChatScreen_UpdateChatYOffsets($0); $$0 = 1; return ($$0|0); } else { HEAP8[$5>>0] = 0; $$0 = 0; return ($$0|0); } return (0)|0; } function _ChatScreen_TextChanged($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 4|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)==(0); if ($4) { $$0 = 0; return ($$0|0); } $5 = ((($0)) + 15744|0); _InputWidget_SetText($5,$1); _ChatScreen_UpdateChatYOffsets($0); $$0 = 1; return ($$0|0); } function _ChatScreen_PointerDown($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 272|0; $4 = sp + 256|0; $5 = sp; $6 = ((($0)) + 4|0); $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $9 = ((($0)) + 15628|0); $10 = HEAP8[$9>>0]|0; $11 = ($10<<24>>24)==(0); if (!($11)) { HEAP32[$4>>2] = $5; $12 = ((($4)) + 4|0); HEAP16[$12>>1] = 0; $13 = ((($4)) + 6|0); HEAP16[$13>>1] = 256; $14 = ((($0)) + 136|0); _PlayerListWidget_GetNameAt($14,$2,$3,$4); $15 = HEAP16[$12>>1]|0; $16 = ($15<<16>>16)==(0); if (!($16)) { _String_Append($4,32); _ChatScreen_AppendInput($4); $$0 = 1; STACKTOP = sp;return ($$0|0); } } $17 = HEAP8[1408238]|0; $18 = ($17<<24>>24)==(0); if (!($18)) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $19 = ((($0)) + 17976|0); $20 = (_Widget_Contains($19,$2,$3)|0); $21 = ($20|0)==(0); if (!($21)) { _ChatScreen_EnterChatInput($0,0); $$0 = 1; STACKTOP = sp;return ($$0|0); } $22 = ((($0)) + 18056|0); $23 = (_Widget_Contains($22,$2,$3)|0); $24 = ($23|0)==(0); if (!($24)) { _ChatScreen_EnterChatInput($0,1); $$0 = 1; STACKTOP = sp;return ($$0|0); } $25 = ((($0)) + 16528|0); $26 = (_Widget_Contains($25,$2,$3)|0); $27 = ($26|0)==(0); if ($27) { $28 = ((($0)) + 16712|0); $29 = ((($0)) + 16732|0); $30 = HEAP8[$29>>0]|0; $31 = ($30<<24>>24)==(0); if (!($31)) { $32 = (_Widget_Contains($28,$2,$3)|0); $33 = ($32|0)==(0); if (!($33)) { $34 = HEAP32[$28>>2]|0; $35 = ((($34)) + 24|0); $36 = HEAP32[$35>>2]|0; (FUNCTION_TABLE_iiiii[$36 & 63]($28,$1,$2,$3)|0); _ChatScreen_UpdateChatYOffsets($0); $$0 = 1; STACKTOP = sp;return ($$0|0); } } $37 = ((($0)) + 15744|0); $38 = HEAP32[$37>>2]|0; $39 = ((($38)) + 24|0); $40 = HEAP32[$39>>2]|0; (FUNCTION_TABLE_iiiii[$40 & 63]($37,$1,$2,$3)|0); $$0 = 1; STACKTOP = sp;return ($$0|0); } $41 = (_TextGroupWidget_UsedHeight($25)|0); $42 = ((($0)) + 16536|0); $43 = HEAP32[$42>>2]|0; $44 = ((($0)) + 16544|0); $45 = HEAP32[$44>>2]|0; $46 = (($43) - ($41))|0; $47 = (($46) + ($45))|0; $48 = ((($0)) + 16532|0); $49 = HEAP32[$48>>2]|0; $50 = ((($0)) + 16540|0); $51 = HEAP32[$50>>2]|0; $52 = (_Gui_Contains($49,$47,$51,$41,$2,$3)|0); $53 = ($52|0)==(0); if ($53) { $$0 = 0; STACKTOP = sp;return ($$0|0); } HEAP32[$4>>2] = $5; $54 = ((($4)) + 4|0); HEAP16[$54>>1] = 0; $55 = ((($4)) + 6|0); HEAP16[$55>>1] = 256; _TextGroupWidget_GetSelected($25,$4,$2,$3); $56 = HEAP16[$54>>1]|0; $57 = ($56<<16>>16)==(0); if ($57) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $58 = (_Utils_IsUrlPrefix($4)|0); $59 = ($58<<24>>24)==(0); if (!($59)) { _UrlWarningOverlay_Show($4); $$0 = 1; STACKTOP = sp;return ($$0|0); } $60 = HEAP8[1408255]|0; $61 = ($60<<24>>24)==(0); if ($61) { $$0 = 1; STACKTOP = sp;return ($$0|0); } _ChatScreen_AppendInput($4); $$0 = 1; STACKTOP = sp;return ($$0|0); } function _ChatScreen_MouseScroll($0,$1) { $0 = $0|0; $1 = +$1; var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 4|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)==(0); if ($4) { $$0 = 0; return ($$0|0); } $5 = ((($0)) + 15632|0); $6 = (_Utils_AccumulateWheelDelta($5,$1)|0); $7 = (0 - ($6))|0; _ChatScreen_ScrollChatBy($0,$7); $$0 = 1; return ($$0|0); } function _ChatScreen_Layout($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 20|0); $2 = HEAP32[$1>>2]|0; $3 = ((($2)) + 8|0); $4 = HEAP32[$3>>2]|0; FUNCTION_TABLE_vi[$4 & 511]($1); $5 = (_ChatScreen_ChatUpdateFont($0)|0); $6 = ($5<<24>>24)==(0); if (!($6)) { _ChatScreen_Redraw($0); } _ChatScreen_ChatUpdateLayout($0); $7 = ((($0)) + 15628|0); $8 = HEAP8[$7>>0]|0; $9 = ($8<<24>>24)==(0); if (!($9)) { $10 = ((($0)) + 136|0); $11 = HEAP32[$10>>2]|0; $12 = ((($11)) + 8|0); $13 = HEAP32[$12>>2]|0; FUNCTION_TABLE_vi[$13 & 511]($10); } $14 = HEAP8[1408267]|0; $15 = ($14<<24>>24)==(0); if ($15) { return; } $16 = ((($0)) + 17976|0); $17 = HEAP32[$16>>2]|0; $18 = ((($17)) + 8|0); $19 = HEAP32[$18>>2]|0; FUNCTION_TABLE_vi[$19 & 511]($16); $20 = ((($0)) + 18056|0); $21 = HEAP32[$20>>2]|0; $22 = ((($21)) + 8|0); $23 = HEAP32[$22>>2]|0; FUNCTION_TABLE_vi[$23 & 511]($20); return; } function _ChatScreen_ContextLost($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 15616|0); _Font_Free($1); _ChatScreen_FreeChatFonts($0); $2 = ((($0)) + 15628|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)==(0); if (!($4)) { $5 = ((($0)) + 136|0); $6 = HEAP32[$5>>2]|0; $7 = ((($6)) + 4|0); $8 = HEAP32[$7>>2]|0; FUNCTION_TABLE_vi[$8 & 511]($5); } $9 = ((($0)) + 16528|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)==(0|0); if (!($11)) { $12 = ((($10)) + 4|0); $13 = HEAP32[$12>>2]|0; FUNCTION_TABLE_vi[$13 & 511]($9); } $14 = ((($0)) + 15744|0); $15 = HEAP32[$14>>2]|0; $16 = ($15|0)==(0|0); if (!($16)) { $17 = ((($15)) + 4|0); $18 = HEAP32[$17>>2]|0; FUNCTION_TABLE_vi[$18 & 511]($14); } $19 = ((($0)) + 16712|0); $20 = HEAP32[$19>>2]|0; $21 = ($20|0)==(0|0); if (!($21)) { $22 = ((($20)) + 4|0); $23 = HEAP32[$22>>2]|0; FUNCTION_TABLE_vi[$23 & 511]($19); } $24 = ((($0)) + 16344|0); $25 = HEAP32[$24>>2]|0; $26 = ($25|0)==(0|0); if (!($26)) { $27 = ((($25)) + 4|0); $28 = HEAP32[$27>>2]|0; FUNCTION_TABLE_vi[$28 & 511]($24); } $29 = ((($0)) + 16436|0); $30 = HEAP32[$29>>2]|0; $31 = ($30|0)==(0|0); if (!($31)) { $32 = ((($30)) + 4|0); $33 = HEAP32[$32>>2]|0; FUNCTION_TABLE_vi[$33 & 511]($29); } $34 = ((($0)) + 16620|0); $35 = HEAP32[$34>>2]|0; $36 = ($35|0)==(0|0); if (!($36)) { $37 = ((($35)) + 4|0); $38 = HEAP32[$37>>2]|0; FUNCTION_TABLE_vi[$38 & 511]($34); } $39 = ((($0)) + 15672|0); $40 = HEAP32[$39>>2]|0; $41 = ($40|0)==(0|0); if (!($41)) { $42 = ((($40)) + 4|0); $43 = HEAP32[$42>>2]|0; FUNCTION_TABLE_vi[$43 & 511]($39); } $44 = ((($0)) + 17976|0); $45 = HEAP32[$44>>2]|0; $46 = ($45|0)==(0|0); if (!($46)) { $47 = ((($45)) + 4|0); $48 = HEAP32[$47>>2]|0; FUNCTION_TABLE_vi[$48 & 511]($44); } $49 = ((($0)) + 18056|0); $50 = HEAP32[$49>>2]|0; $51 = ($50|0)==(0|0); if ($51) { return; } $52 = ((($50)) + 4|0); $53 = HEAP32[$52>>2]|0; FUNCTION_TABLE_vi[$53 & 511]($49); return; } function _ChatScreen_ContextRecreated($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = HEAP8[1408216]|0; $3 = ($2<<24>>24)==(0); $4 = $3 ? 11 : 16; $5 = ((($0)) + 15616|0); _Drawer2D_MakeFont($5,$4,0); (_ChatScreen_ChatUpdateFont($0)|0); _ChatScreen_Redraw($0); $6 = ((($0)) + 20|0); $7 = HEAP32[$6>>2]|0; $8 = ((($7)) + 8|0); $9 = HEAP32[$8>>2]|0; FUNCTION_TABLE_vi[$9 & 511]($6); _ChatScreen_ChatUpdateLayout($0); $10 = ((($0)) + 15628|0); $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if (!($12)) { _ChatScreen_RemakePlayerList($0); } $13 = HEAP8[1408267]|0; $14 = ($13<<24>>24)==(0); if ($14) { STACKTOP = sp;return; } _Drawer2D_MakeFont($1,16,1); $15 = ((($0)) + 17976|0); _ButtonWidget_SetConst($15,36104,$1); $16 = ((($0)) + 18056|0); _ButtonWidget_SetConst($16,36109,$1); _Font_Free($1); STACKTOP = sp;return; } function _ChatScreen_ChatUpdateFont($0) { $0 = $0|0; var $$0 = 0, $1 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (+_Game_GetChatScale()); $2 = $1 * 8.0; $3 = (~~(($2))); $4 = ($3|0)>(8); $5 = $4 ? $3 : 8; $6 = ($5|0)<(60); $7 = $6 ? $5 : 60; $8 = ((($0)) + 15648|0); $9 = ((($0)) + 15652|0); $10 = HEAP16[$9>>1]|0; $11 = $10&65535; $12 = ($7|0)==($11|0); if ($12) { $$0 = 0; return ($$0|0); } _ChatScreen_FreeChatFonts($0); _Drawer2D_MakeFont($8,$7,0); $13 = (+_Game_GetChatScale()); $14 = $13 * 16.0; $15 = (~~(($14))); $16 = ($15|0)>(8); $17 = $16 ? $15 : 8; $18 = ($17|0)<(60); $19 = $18 ? $17 : 60; $20 = ((($0)) + 15660|0); _Drawer2D_MakeFont($20,$19,0); $21 = ((($0)) + 15744|0); _ChatInputWidget_SetFont($21,$8); $22 = ((($0)) + 16344|0); _TextGroupWidget_SetFont($22,$8); $23 = ((($0)) + 16436|0); _TextGroupWidget_SetFont($23,$8); $24 = ((($0)) + 16528|0); _TextGroupWidget_SetFont($24,$8); $25 = ((($0)) + 16620|0); _TextGroupWidget_SetFont($25,$8); $$0 = 1; return ($$0|0); } function _ChatScreen_Redraw($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 16528|0); _TextGroupWidget_RedrawAll($1); $2 = ((($0)) + 15672|0); $3 = ((($0)) + 15660|0); _TextWidget_Set($2,10832,$3); $4 = ((($0)) + 16344|0); _TextGroupWidget_RedrawAll($4); $5 = ((($0)) + 16436|0); _TextGroupWidget_RedrawAll($5); $6 = ((($0)) + 16620|0); _TextGroupWidget_RedrawAll($6); $7 = ((($0)) + 4|0); $8 = HEAP8[$7>>0]|0; $9 = ($8<<24>>24)==(0); if ($9) { $11 = ((($0)) + 16712|0); _SpecialInputWidget_Redraw($11); return; } $10 = ((($0)) + 15744|0); _InputWidget_UpdateText($10); $11 = ((($0)) + 16712|0); _SpecialInputWidget_Redraw($11); return; } function _ChatScreen_ChatUpdateLayout($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 36|0); $2 = HEAP32[$1>>2]|0; $3 = (($2) + 15)|0; $4 = ((($0)) + 15744|0); _Widget_SetLocation($4,0,2,5,5); $5 = ((($0)) + 16712|0); _Widget_SetLocation($5,0,2,5,5); $6 = ((($0)) + 16344|0); _Widget_SetLocation($6,2,0,0,0); $7 = ((($0)) + 16436|0); _Widget_SetLocation($7,2,2,0,$3); $8 = ((($0)) + 16528|0); _Widget_SetLocation($8,0,2,10,0); $9 = ((($0)) + 16620|0); _Widget_SetLocation($9,0,2,10,0); _ChatScreen_UpdateChatYOffsets($0); return; } function _ChatScreen_RemakePlayerList($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $narrow = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408258]|0; $2 = ($1<<24>>24)!=(0); $3 = HEAP8[(1384582)>>0]|0; $4 = ($3<<24>>24)==(0); $narrow = $2 | $4; $5 = $narrow&1; $6 = ((($0)) + 136|0); $7 = ((($0)) + 15616|0); _PlayerListWidget_Create($6,$7,$5); $8 = ((($0)) + 15628|0); HEAP8[$8>>0] = 1; $9 = HEAP32[$6>>2]|0; $10 = ((($9)) + 8|0); $11 = HEAP32[$10>>2]|0; FUNCTION_TABLE_vi[$11 & 511]($6); return; } function _ChatScreen_UpdateChatYOffsets($0) { $0 = $0|0; var $$ = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; $1 = ((($0)) + 15752|0); $2 = HEAP32[$1>>2]|0; $3 = ((($0)) + 28|0); $4 = HEAP32[$3>>2]|0; $5 = ($2|0)<($4|0); $$ = $5 ? $2 : $4; $6 = ((($0)) + 15772|0); $7 = HEAP32[$6>>2]|0; $8 = HEAP32[351859]|0; $9 = (($7) - ($$))|0; $10 = (($9) + ($8))|0; $11 = ((($0)) + 16712|0); $12 = ((($0)) + 16740|0); HEAP32[$12>>2] = $10; $13 = HEAP32[$11>>2]|0; $14 = ((($13)) + 8|0); $15 = HEAP32[$14>>2]|0; FUNCTION_TABLE_vi[$15 & 511]($11); $16 = ((($0)) + 16732|0); $17 = HEAP8[$16>>0]|0; $18 = ($17<<24>>24)==(0); $19 = $18 ? 10 : 5; $20 = HEAP32[351859]|0; $21 = ((($0)) + 16720|0); $22 = HEAP32[$21>>2]|0; $23 = (($20) - ($22))|0; $24 = (($23) + ($19))|0; $25 = ((($0)) + 16620|0); $26 = ((($0)) + 16648|0); HEAP32[$26>>2] = $24; $27 = HEAP32[$25>>2]|0; $28 = ((($27)) + 8|0); $29 = HEAP32[$28>>2]|0; FUNCTION_TABLE_vi[$29 & 511]($25); $30 = HEAP32[$26>>2]|0; $31 = ((($0)) + 16636|0); $32 = HEAP32[$31>>2]|0; $33 = (($32) + ($30))|0; $34 = ((($0)) + 16528|0); $35 = ((($0)) + 16556|0); HEAP32[$35>>2] = $33; $36 = HEAP32[$34>>2]|0; $37 = ((($36)) + 8|0); $38 = HEAP32[$37>>2]|0; FUNCTION_TABLE_vi[$38 & 511]($34); return; } function _ChatScreen_FreeChatFonts($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 15648|0); _Font_Free($1); $2 = ((($0)) + 15660|0); _Font_Free($2); return; } function _ChatScreen_ScrollChatBy($0,$1) { $0 = $0|0; $1 = $1|0; var $$011 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 15640|0); $3 = HEAP32[$2>>2]|0; $4 = (($3) + ($1))|0; $5 = (_ChatScreen_ClampChatIndex($4)|0); $6 = (($5) - ($3))|0; $7 = ($6|0)==(0); if ($7) { return; } $8 = ((($0)) + 16528|0); $9 = ((($0)) + 16528|0); $$011 = $6; while(1) { $10 = ($$011|0)<(0); $11 = HEAP32[$2>>2]|0; if ($10) { $12 = (($11) + -1)|0; HEAP32[$2>>2] = $12; $13 = (($$011) + 1)|0; _TextGroupWidget_ShiftDown($8); $$1 = $13; } else { $14 = (($11) + 1)|0; HEAP32[$2>>2] = $14; $15 = (($$011) + -1)|0; _TextGroupWidget_ShiftUp($9); $$1 = $15; } $16 = ($$1|0)==(0); if ($16) { break; } else { $$011 = $$1; } } return; } function _ChatScreen_ClampChatIndex($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[(1230740)>>2]|0; $2 = HEAP32[315202]|0; $3 = (($1) - ($2))|0; $4 = ($3|0)<(0); $5 = $4 ? $3 : 0; $6 = ($5|0)>($0|0); $7 = $6 ? $5 : $0; $8 = ($7|0)>($3|0); $9 = $8 ? $3 : $7; return ($9|0); } function _ChatScreen_AppendInput($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _InputWidget_AppendText((565672),$0); _ChatScreen_UpdateChatYOffsets(549928); return; } function _ChatScreen_EnterChatInput($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 4|0); HEAP8[$2>>0] = 0; _Camera_CheckFocus(); _Window_CloseKeyboard(); $3 = ($1<<24>>24)==(0); if (!($3)) { $4 = ((($0)) + 15744|0); _InputWidget_Clear($4); } $5 = ((($0)) + 15744|0); $6 = ((($0)) + 15792|0); $7 = HEAP32[$6>>2]|0; FUNCTION_TABLE_vi[$7 & 511]($5); $8 = ((($0)) + 16712|0); _SpecialInputWidget_SetActive($8,0); _ChatScreen_UpdateChatYOffsets($0); $9 = HEAP32[(1230740)>>2]|0; $10 = HEAP32[315202]|0; $11 = (($9) - ($10))|0; $12 = ((($0)) + 15640|0); $13 = HEAP32[$12>>2]|0; $14 = ($13|0)==($11|0); if ($14) { return; } HEAP32[$12>>2] = $11; $15 = ((($0)) + 16528|0); _TextGroupWidget_RedrawAll($15); return; } function _ChatScreen_OpenInput($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; HEAP8[(565564)>>0] = 1; HEAP8[(549932)>>0] = 1; _Camera_CheckFocus(); _Window_OpenKeyboard(); _Window_SetKeyboardText($0); _String_Copy((565728),$0); _InputWidget_UpdateText((565672)); return; } function _InventoryScreen_Show() { var label = 0, sp = 0; sp = STACKTOP; HEAP8[(1382180)>>0] = 1; HEAP8[(1382182)>>0] = 1; HEAP32[345544] = 17444; _Gui_Replace(1382176,20); return; } function _InventoryScreen_Init($0) { $0 = $0|0; var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 32|0); _TableWidget_Create($1); $2 = ((($0)) + 20|0); $3 = ((($0)) + 84|0); HEAP32[$3>>2] = $2; $4 = HEAP8[1408229]|0; $5 = ($4<<24>>24)==(0); if ($5) { $9 = 10; } else { $6 = HEAP8[1408233]|0; $7 = ($6<<24>>24)==(0); $phitmp = $7 ? 9 : 10; $9 = $phitmp; } $8 = ((($0)) + 72|0); HEAP32[$8>>2] = $9; _TableWidget_RecreateBlocks($1); $10 = ((($0)) + 1737|0); HEAP8[$10>>0] = 1; _Event_Register(1253156,$0,390); _Event_Register((1253416),$0,390); return; } function _InventoryScreen_Free($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _Event_Unregister(1253156,$0,390); _Event_Unregister((1253416),$0,390); return; } function _InventoryScreen_Render($0,$1) { $0 = $0|0; $1 = +$1; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 1737|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)==(0); if (!($4)) { _InventoryScreen_MoveToSelected($0); } $5 = ((($0)) + 32|0); $6 = HEAP32[$5>>2]|0; $7 = HEAP32[$6>>2]|0; FUNCTION_TABLE_vid[$7 & 63]($5,$1); return; } function _InventoryScreen_BuildMesh($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return; } function _InventoryScreen_KeyDown($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 32|0); $3 = HEAP8[(379736)>>0]|0; $4 = $3&255; $5 = ($4|0)==($1|0); if ($5) { $6 = ((($0)) + 1736|0); $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if (!($8)) { _Gui_Remove($0); $$0 = 1; return ($$0|0); } } $9 = ($1|0)==(91); if ($9) { $10 = ((($0)) + 88|0); $11 = HEAP32[$10>>2]|0; $12 = ($11|0)==(-1); if (!($12)) { $13 = ((($0)) + 106|0); $14 = (($13) + ($11<<1)|0); $15 = HEAP16[$14>>1]|0; _Inventory_SetSelectedBlock($15); _Gui_Remove($0); $$0 = 1; return ($$0|0); } } $16 = HEAP32[$2>>2]|0; $17 = ((($16)) + 12|0); $18 = HEAP32[$17>>2]|0; $19 = (FUNCTION_TABLE_iii[$18 & 127]($2,$1)|0); $20 = ($19|0)==(0); if (!($20)) { $$0 = 1; return ($$0|0); } $21 = HEAP32[315197]|0; $22 = ((($21)) + 20|0); $23 = HEAP32[(549948)>>2]|0; $24 = ((($23)) + 12|0); $25 = HEAP32[$24>>2]|0; $26 = (FUNCTION_TABLE_iii[$25 & 127]($22,$1)|0); $$0 = $26; return ($$0|0); } function _InventoryScreen_KeyUp($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP8[(379736)>>0]|0; $3 = $2&255; $4 = ($3|0)==($1|0); if ($4) { $5 = ((($0)) + 1736|0); HEAP8[$5>>0] = 1; $$0 = 1; return ($$0|0); } else { $6 = HEAP32[315197]|0; $7 = ((($6)) + 20|0); $8 = HEAP32[(549948)>>2]|0; $9 = ((($8)) + 16|0); $10 = HEAP32[$9>>2]|0; $11 = (FUNCTION_TABLE_iii[$10 & 127]($7,$1)|0); $$0 = $11; return ($$0|0); } return (0)|0; } function _InventoryScreen_PointerDown($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; var $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ((($0)) + 32|0); $5 = ((($0)) + 1696|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)==($1|0); if ($7) { return 1; } $8 = HEAP32[315197]|0; $9 = ((($8)) + 20|0); $10 = HEAP32[(549948)>>2]|0; $11 = ((($10)) + 24|0); $12 = HEAP32[$11>>2]|0; $13 = (FUNCTION_TABLE_iiiii[$12 & 63]($9,$1,$2,$3)|0); $14 = ($13|0)==(0); if (!($14)) { return 1; } $15 = HEAP32[$4>>2]|0; $16 = ((($15)) + 24|0); $17 = HEAP32[$16>>2]|0; $18 = (FUNCTION_TABLE_iiiii[$17 & 63]($4,$1,$2,$3)|0); $19 = $18&255; $20 = ($19<<24>>24)==(0); if (!($20)) { $21 = ((($0)) + 104|0); $22 = HEAP8[$21>>0]|0; $23 = ($22<<24>>24)==(0); if ($23) { return 1; } } $24 = HEAP8[(379622)>>0]|0; $25 = HEAP8[(379623)>>0]|0; $26 = $25 | $24; $27 = ($26<<24>>24)==(0); if (!($27)) { return 1; } $28 = HEAP8[(379620)>>0]|0; $29 = HEAP8[(379621)>>0]|0; $30 = $29 | $28; $31 = ($30<<24>>24)==(0); if (!($31)) { return 1; } _Gui_Remove($0); return 1; } function _InventoryScreen_PointerUp($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ((($0)) + 32|0); $5 = HEAP32[$4>>2]|0; $6 = ((($5)) + 28|0); $7 = HEAP32[$6>>2]|0; $8 = (FUNCTION_TABLE_iiiii[$7 & 63]($4,$1,$2,$3)|0); return ($8|0); } function _InventoryScreen_PointerMove($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ((($0)) + 32|0); $5 = HEAP32[$4>>2]|0; $6 = ((($5)) + 32|0); $7 = HEAP32[$6>>2]|0; $8 = (FUNCTION_TABLE_iiiii[$7 & 63]($4,$1,$2,$3)|0); return ($8|0); } function _InventoryScreen_MouseScroll($0,$1) { $0 = $0|0; $1 = +$1; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP8[(379624)>>0]|0; $3 = HEAP8[(379625)>>0]|0; $4 = $3 | $2; $5 = HEAP8[(379622)>>0]|0; $6 = $4 | $5; $7 = HEAP8[(379623)>>0]|0; $8 = $6 | $7; $9 = ($8<<24>>24)==(0); if (!($9)) { $$0 = 0; return ($$0|0); } $10 = HEAP8[(379620)>>0]|0; $11 = HEAP8[(379621)>>0]|0; $12 = $11 | $10; $13 = ($12<<24>>24)==(0); if (!($13)) { $$0 = 0; return ($$0|0); } $14 = ((($0)) + 32|0); $15 = HEAP32[$14>>2]|0; $16 = ((($15)) + 20|0); $17 = HEAP32[$16>>2]|0; $18 = (FUNCTION_TABLE_iid[$17 & 15]($14,$1)|0); $$0 = $18; return ($$0|0); } function _InventoryScreen_Layout($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 32|0); $2 = HEAP32[$1>>2]|0; $3 = ((($2)) + 8|0); $4 = HEAP32[$3>>2]|0; FUNCTION_TABLE_vi[$4 & 511]($1); return; } function _InventoryScreen_ContextLost($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 20|0); _Font_Free($1); $2 = ((($0)) + 32|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(0|0); if ($4) { return; } $5 = ((($3)) + 4|0); $6 = HEAP32[$5>>2]|0; FUNCTION_TABLE_vi[$6 & 511]($2); return; } function _InventoryScreen_ContextRecreated($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 20|0); _Drawer2D_MakeFont($1,16,0); $2 = ((($0)) + 32|0); _TableWidget_Recreate($2); return; } function _InventoryScreen_MoveToSelected($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 32|0); $2 = HEAP32[(1268184)>>2]|0; $3 = HEAP32[(1268180)>>2]|0; $4 = (($3) + ($2))|0; $5 = (1266480 + ($4<<1)|0); $6 = HEAP16[$5>>1]|0; _TableWidget_SetBlockTo($1,$6); _TableWidget_Recreate($1); $7 = ((($0)) + 1737|0); HEAP8[$7>>0] = 0; $8 = ((($0)) + 88|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)==(-1); if (!($10)) { return; } $11 = HEAP32[(1268184)>>2]|0; $12 = HEAP32[(1268180)>>2]|0; $13 = (($12) + ($11))|0; $14 = (1266480 + ($13<<1)|0); $15 = HEAP16[$14>>1]|0; _TableWidget_MakeDescTex($1,$15); return; } function _InventoryScreen_OnBlockChanged($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 32|0); _TableWidget_OnInventoryChanged($1); return; } function _ChatScreen_DrawCrosshairs() { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; $0 = HEAP32[315201]|0; $1 = ($0|0)==(0); if ($1) { return; } $2 = HEAP32[351859]|0; $3 = (+($2|0)); $4 = $3 / 480.0; $5 = (+_Game_Scale($4)); $6 = $5 * 16.0; $7 = (~~(($6))); $8 = HEAP32[315201]|0; HEAP32[4379] = $8; $9 = HEAP32[351858]|0; $10 = (($9|0) / 2)&-1; $11 = (($10) - ($7))|0; $12 = $11&65535; HEAP16[(17520)>>1] = $12; $13 = HEAP32[351859]|0; $14 = (($13|0) / 2)&-1; $15 = (($14) - ($7))|0; $16 = $15&65535; HEAP16[(17522)>>1] = $16; $17 = $7 << 1; $18 = $17&65535; HEAP16[(17524)>>1] = $18; HEAP16[(17526)>>1] = $18; _Texture_Render(17516); return; } function _ChatScreen_DrawChatBackground($0) { $0 = $0|0; var $$ = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 16528|0); $2 = (_TextGroupWidget_UsedHeight($1)|0); $3 = ((($0)) + 16632|0); $4 = HEAP32[$3>>2]|0; $5 = ((($0)) + 16540|0); $6 = HEAP32[$5>>2]|0; $7 = ((($0)) + 16636|0); $8 = HEAP32[$7>>2]|0; $9 = (($8) + ($2))|0; $10 = ($9|0)>(0); if (!($10)) { return; } $11 = (($9) + 10)|0; $12 = ($4|0)>($6|0); $$ = $12 ? $4 : $6; $13 = (($$) + 10)|0; $14 = ((($0)) + 16536|0); $15 = HEAP32[$14>>2]|0; $16 = ((($0)) + 16544|0); $17 = HEAP32[$16>>2]|0; $18 = (-5 - ($2))|0; $19 = (($18) + ($15))|0; $20 = (($19) + ($17))|0; $21 = ((($0)) + 16532|0); $22 = HEAP32[$21>>2]|0; $23 = (($22) + -5)|0; _Gfx_Draw2DFlat($23,$20,$13,$11,2130706432); return; } function _ChatScreen_DrawChat($0,$1) { $0 = $0|0; $1 = +$1; var $$056 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond55 = 0; var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $2 = sp; _ChatScreen_UpdateTexpackStatus($0); $3 = HEAP8[1408229]|0; $4 = ($3<<24>>24)==(0); $5 = HEAP8[1408233]|0; $6 = ($5<<24>>24)!=(0); $or$cond = $4 | $6; if ($or$cond) { $7 = ((($0)) + 16344|0); $8 = HEAP32[$7>>2]|0; $9 = HEAP32[$8>>2]|0; FUNCTION_TABLE_vid[$9 & 63]($7,$1); } $10 = ((($0)) + 16436|0); $11 = HEAP32[$10>>2]|0; $12 = HEAP32[$11>>2]|0; FUNCTION_TABLE_vid[$12 & 63]($10,$1); $13 = ((($0)) + 16620|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$14>>2]|0; FUNCTION_TABLE_vid[$15 & 63]($13,$1); $16 = (_DateTime_CurrentUTC_MS()|0); $17 = (getTempRet0() | 0); $18 = ((($0)) + 4|0); $19 = HEAP8[$18>>0]|0; $20 = ($19<<24>>24)==(0); if ($20) { $24 = ((($0)) + 16564|0); $25 = HEAP32[$24>>2]|0; $26 = ($25|0)>(0); if ($26) { $27 = ((($0)) + 16608|0); $28 = ((($0)) + 15640|0); $$056 = 0; while(1) { $29 = HEAP32[$27>>2]|0; $30 = (($29) + (($$056*28)|0)|0); ;HEAP32[$2>>2]=HEAP32[$30>>2]|0;HEAP32[$2+4>>2]=HEAP32[$30+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$30+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$30+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$30+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$30+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$30+24>>2]|0; $31 = HEAP32[$28>>2]|0; $32 = (($31) + ($$056))|0; $33 = HEAP32[$2>>2]|0; $34 = ($33|0)!=(0); $35 = ($32|0)>(-1); $or$cond3$not = $35 & $34; $36 = HEAP32[(1230740)>>2]|0; $37 = ($32|0)<($36|0); $or$cond55 = $or$cond3$not & $37; if ($or$cond55) { $38 = HEAP32[2710]|0; $39 = (($38) + ($32<<3)|0); $40 = $39; $41 = $40; $42 = HEAP32[$41>>2]|0; $43 = (($40) + 4)|0; $44 = $43; $45 = HEAP32[$44>>2]|0; $46 = (_i64Add(($42|0),($45|0),10000,0)|0); $47 = (getTempRet0() | 0); $48 = ($47>>>0)<($17>>>0); $49 = ($46>>>0)<($16>>>0); $50 = ($47|0)==($17|0); $51 = $50 & $49; $52 = $48 | $51; if (!($52)) { _Texture_Render($2); } } $53 = (($$056) + 1)|0; $54 = HEAP32[$24>>2]|0; $55 = ($53|0)<($54|0); if ($55) { $$056 = $53; } else { break; } } } } else { $21 = ((($0)) + 16528|0); $22 = HEAP32[$21>>2]|0; $23 = HEAP32[$22>>2]|0; FUNCTION_TABLE_vid[$23 & 63]($21,$1); } $56 = ((($0)) + 15672|0); $57 = ((($0)) + 15708|0); $58 = HEAP32[$57>>2]|0; $59 = ($58|0)==(0); if (!($59)) { $60 = 535456; $61 = $60; $62 = HEAP32[$61>>2]|0; $63 = (($60) + 4)|0; $64 = $63; $65 = HEAP32[$64>>2]|0; $66 = (_i64Add(($62|0),($65|0),5000,0)|0); $67 = (getTempRet0() | 0); $68 = ($17>>>0)>($67>>>0); $69 = ($16>>>0)>($66>>>0); $70 = ($17|0)==($67|0); $71 = $70 & $69; $72 = $68 | $71; if ($72) { $73 = HEAP32[$56>>2]|0; $74 = ($73|0)==(0|0); if (!($74)) { $75 = ((($73)) + 4|0); $76 = HEAP32[$75>>2]|0; FUNCTION_TABLE_vi[$76 & 511]($56); } } } $77 = HEAP32[$56>>2]|0; $78 = HEAP32[$77>>2]|0; FUNCTION_TABLE_vid[$78 & 63]($56,$1); $79 = HEAP8[$18>>0]|0; $80 = ($79<<24>>24)==(0); if ($80) { STACKTOP = sp;return; } $81 = ((($0)) + 15744|0); $82 = HEAP32[$81>>2]|0; $83 = HEAP32[$82>>2]|0; FUNCTION_TABLE_vid[$83 & 63]($81,$1); $84 = ((($0)) + 16712|0); $85 = ((($0)) + 16732|0); $86 = HEAP8[$85>>0]|0; $87 = ($86<<24>>24)==(0); if (!($87)) { $88 = HEAP32[$84>>2]|0; $89 = HEAP32[$88>>2]|0; FUNCTION_TABLE_vid[$89 & 63]($84,$1); } $90 = HEAP8[1408267]|0; $91 = ($90<<24>>24)==(0); if ($91) { STACKTOP = sp;return; } $92 = ((($0)) + 17976|0); $93 = HEAP32[$92>>2]|0; $94 = HEAP32[$93>>2]|0; FUNCTION_TABLE_vid[$94 & 63]($92,$1); $95 = ((($0)) + 18056|0); $96 = HEAP32[$95>>2]|0; $97 = HEAP32[$96>>2]|0; FUNCTION_TABLE_vid[$97 & 63]($95,$1); STACKTOP = sp;return; } function _ChatScreen_UpdateTexpackStatus($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 448|0; $1 = sp + 8|0; $2 = sp + 440|0; $3 = sp; $4 = (_Http_GetCurrent($1,$2)|0); $5 = ((($1)) + 128|0); _String_FromRaw($3,$5,128); $6 = ($4<<24>>24)==(0); if (!($6)) { $7 = (_String_Equals($3,17508)|0); $8 = ($7|0)==(0); if (!($8)) { $15 = HEAP32[$2>>2]|0; $16 = ((($0)) + 15644|0); $17 = HEAP32[$16>>2]|0; $18 = ($15|0)==($17|0); if ($18) { STACKTOP = sp;return; } HEAP32[$16>>2] = $15; HEAP16[(484)>>1] = 0; switch ($15|0) { case -2: { _String_AppendConst(480,36116); break; } case -1: { _String_AppendConst(480,36144); break; } default: { $19 = ($15>>>0)<(101); if ($19) { _String_Format1(480,36171,$2); } } } $20 = ((($0)) + 16344|0); _TextGroupWidget_Redraw($20,0); STACKTOP = sp;return; } } $9 = ((($0)) + 16424|0); $10 = HEAP32[$9>>2]|0; $11 = HEAP32[$10>>2]|0; $12 = ($11|0)==(0); if (!($12)) { $13 = ((($0)) + 16344|0); HEAP16[(484)>>1] = 0; _TextGroupWidget_Redraw($13,0); } $14 = ((($0)) + 15644|0); HEAP32[$14>>2] = -2147483648; STACKTOP = sp;return; } function _ChatScreen_ChatReceived($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$off = 0, $$off26 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP8[(1260360)>>0]|0; $4 = ($3<<24>>24)==(0); if (!($4)) { return; } $5 = ($2|0)==(0); if ($5) { $6 = ((($0)) + 15640|0); $7 = HEAP32[$6>>2]|0; $8 = (($7) + 1)|0; HEAP32[$6>>2] = $8; $9 = HEAP32[315202]|0; $10 = ($9|0)==(0); if ($10) { return; } $11 = ((($0)) + 16528|0); _TextGroupWidget_ShiftUp($11); return; } $$off = (($2) + -1)|0; $12 = ($$off>>>0)<(3); if ($12) { $13 = ((($0)) + 16344|0); _TextGroupWidget_Redraw($13,$2); return; } $$off26 = (($2) + -11)|0; $14 = ($$off26>>>0)<(3); if ($14) { $15 = ((($0)) + 16436|0); $16 = (13 - ($2))|0; _TextGroupWidget_Redraw($15,$16); return; } $17 = ($2|0)==(100); if ($17) { $18 = ((($0)) + 15672|0); $19 = ((($0)) + 15660|0); _TextWidget_Set($18,$1,$19); return; } $20 = $2 & -2; $21 = ($20|0)==(256); if (!($21)) { return; } $22 = (($2) + -256)|0; $23 = ((($0)) + 16620|0); _TextGroupWidget_Redraw($23,$22); _ChatScreen_UpdateChatYOffsets($0); return; } function _ChatScreen_ColCodeChanged($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP8[(1260360)>>0]|0; $3 = ($2<<24>>24)==(0); if (!($3)) { return; } $4 = ((($0)) + 16712|0); _SpecialInputWidget_UpdateCols($4); $5 = ((($0)) + 16528|0); $6 = $1&255; _TextGroupWidget_RedrawAllWithCol($5,$6); $7 = ((($0)) + 16344|0); _TextGroupWidget_RedrawAllWithCol($7,$6); $8 = ((($0)) + 16436|0); _TextGroupWidget_RedrawAllWithCol($8,$6); $9 = ((($0)) + 16620|0); _TextGroupWidget_RedrawAllWithCol($9,$6); $10 = ((($0)) + 15744|0); $11 = ((($0)) + 15936|0); $12 = +HEAPF64[$11>>3]; _InputWidget_UpdateText($10); HEAPF64[$11>>3] = $12; return; } function _ChatScreen_TabEntryAdded($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 15628|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)==(0); if ($4) { return; } $5 = ((($0)) + 136|0); _PlayerListWidget_Add($5,$1); return; } function _ChatScreen_TabEntryChanged($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 15628|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)==(0); if ($4) { return; } $5 = ((($0)) + 136|0); _PlayerListWidget_Update($5,$1); return; } function _ChatScreen_TabEntryRemoved($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 15628|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)==(0); if ($4) { return; } $5 = ((($0)) + 136|0); _PlayerListWidget_Remove($5,$1); return; } function _ChatScreen_ChatInit($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 15744|0); _ChatInputWidget_Create($1); $2 = ((($0)) + 16712|0); $3 = ((($0)) + 15648|0); _SpecialInputWidget_Create($2,$3,$1); $4 = ((($0)) + 16344|0); $5 = ((($0)) + 18136|0); _TextGroupWidget_Create($4,4,$5,19); $6 = ((($0)) + 16436|0); $7 = ((($0)) + 18248|0); _TextGroupWidget_Create($6,3,$7,20); $8 = ((($0)) + 16528|0); $9 = HEAP32[315202]|0; $10 = ((($0)) + 18388|0); _TextGroupWidget_Create($8,$9,$10,21); $11 = ((($0)) + 16620|0); $12 = ((($0)) + 18332|0); _TextGroupWidget_Create($11,2,$12,22); $13 = ((($0)) + 15672|0); $14 = HEAP32[351859]|0; $15 = (($14|0) / -4)&-1; _TextWidget_Make($13,1,1,0,$15); $16 = ((($0)) + 16392|0); HEAP8[$16>>0] = 1; $17 = ((($0)) + 16668|0); HEAP8[$17>>0] = 1; $18 = ((($0)) + 16669|0); HEAP8[$18>>0] = 1; $19 = HEAP8[1408229]|0; $20 = ($19<<24>>24)==(0); $21 = $20&1; $22 = ((($0)) + 16606|0); HEAP8[$22>>0] = $21; $23 = HEAP32[(1230740)>>2]|0; $24 = HEAP32[315202]|0; $25 = (($23) - ($24))|0; $26 = ((($0)) + 15640|0); HEAP32[$26>>2] = $25; return; } function _ChatScreen_GetStatus($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (480 + ($2<<3)|0); $4 = $3; $5 = $4; $6 = HEAP32[$5>>2]|0; $7 = (($4) + 4)|0; $8 = $7; $9 = HEAP32[$8>>2]|0; $10 = $0; $11 = $10; HEAP32[$11>>2] = $6; $12 = (($10) + 4)|0; $13 = $12; HEAP32[$13>>2] = $9; return; } function _ChatScreen_GetBottomRight($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (2 - ($2))|0; $4 = (512 + ($3<<3)|0); $5 = $4; $6 = $5; $7 = HEAP32[$6>>2]|0; $8 = (($5) + 4)|0; $9 = $8; $10 = HEAP32[$9>>2]|0; $11 = $0; $12 = $11; HEAP32[$12>>2] = $7; $13 = (($11) + 4)|0; $14 = $13; HEAP32[$14>>2] = $10; return; } function _ChatScreen_GetChat($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP32[(565568)>>2]|0; $4 = (($3) + ($2))|0; $5 = ($4|0)>(-1); $6 = HEAP32[(1230740)>>2]|0; $7 = ($4|0)<($6|0); $or$cond = $5 & $7; if ($or$cond) { _StringsBuffer_UNSAFE_Get($0,1230732,$4); return; } else { $8 = 1384616; $9 = $8; $10 = HEAP32[$9>>2]|0; $11 = (($8) + 4)|0; $12 = $11; $13 = HEAP32[$12>>2]|0; $14 = $0; $15 = $14; HEAP32[$15>>2] = $10; $16 = (($14) + 4)|0; $17 = $16; HEAP32[$17>>2] = $13; return; } } function _ChatScreen_GetClientStatus($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (544 + ($2<<3)|0); $4 = $3; $5 = $4; $6 = HEAP32[$5>>2]|0; $7 = (($4) + 4)|0; $8 = $7; $9 = HEAP32[$8>>2]|0; $10 = $0; $11 = $10; HEAP32[$11>>2] = $6; $12 = (($10) + 4)|0; $13 = $12; HEAP32[$13>>2] = $9; return; } function _ChatScreen_SetChatlines($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[(566456)>>2]|0; $2 = ((($1)) + 4|0); $3 = HEAP32[$2>>2]|0; FUNCTION_TABLE_vi[$3 & 511]((566456)); $4 = HEAP32[(566492)>>2]|0; $5 = (($4) - ($0))|0; $6 = HEAP32[(565568)>>2]|0; $7 = (($5) + ($6))|0; HEAP32[(565568)>>2] = $7; HEAP32[(566492)>>2] = $0; _TextGroupWidget_RedrawAll((566456)); return; } function _ChatScreen_GetHotbar() { var label = 0, sp = 0; sp = STACKTOP; return ((549948)|0); } function _LoadingScreen_Show($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; HEAP32[345464] = 17544; _LoadingScreen_ShowCommon($0,$1); return; } function _LoadingScreen_ShowCommon($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; HEAP32[(1382044)>>2] = 0; HEAPF32[(1381888)>>2] = 0.0; HEAP32[(1382028)>>2] = (1382048); HEAP16[(1382032)>>1] = 0; HEAP16[(1382034)>>1] = 64; _String_AppendString((1382028),$0); HEAP32[(1382036)>>2] = (1382112); HEAP16[(1382040)>>1] = 0; HEAP16[(1382042)>>1] = 64; _String_AppendString((1382036),$1); HEAP8[(1381860)>>0] = 1; HEAP8[(1381861)>>0] = 1; $2 = HEAP8[1408229]|0; $3 = ($2<<24>>24)==(0); $4 = $3 ? 5 : 55; _Gui_Replace(1381856,$4); return; } function _LoadingScreen_Init($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 36|0); _TextWidget_Make($1,1,1,0,-31); $2 = ((($0)) + 104|0); _TextWidget_Make($2,1,1,0,17); _Gfx_SetFog(0); _Event_Register((1253936),$0,33); return; } function _LoadingScreen_Free($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _Event_Unregister((1253936),$0,33); return; } function _LoadingScreen_Render($0,$1) { $0 = $0|0; $1 = +$1; var $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; _LoadingScreen_DrawBackground(); $2 = ((($0)) + 36|0); $3 = HEAP32[$2>>2]|0; $4 = HEAP32[$3>>2]|0; FUNCTION_TABLE_vid[$4 & 63]($2,$1); $5 = ((($0)) + 104|0); $6 = HEAP32[$5>>2]|0; $7 = HEAP32[$6>>2]|0; FUNCTION_TABLE_vid[$7 & 63]($5,$1); $8 = HEAP32[351858]|0; $9 = (_Gui_CalcPos(1,0,200,$8)|0); $10 = HEAP32[351859]|0; $11 = (_Gui_CalcPos(1,34,4,$10)|0); $12 = ((($0)) + 32|0); $13 = +HEAPF32[$12>>2]; $14 = $13 * 200.0; $15 = (~~(($14))); _Gfx_Draw2DFlat($9,$11,200,4,-8355712); _Gfx_Draw2DFlat($9,$11,$15,4,-8323200); return; } function _LoadingScreen_BuildMesh($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return; } function _LoadingScreen_Layout($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 36|0); $2 = HEAP32[$1>>2]|0; $3 = ($2|0)==(0|0); if ($3) { return; } $4 = ((($2)) + 8|0); $5 = HEAP32[$4>>2]|0; FUNCTION_TABLE_vi[$5 & 511]($1); $6 = ((($0)) + 104|0); $7 = HEAP32[$6>>2]|0; $8 = ((($7)) + 8|0); $9 = HEAP32[$8>>2]|0; FUNCTION_TABLE_vi[$9 & 511]($6); return; } function _LoadingScreen_ContextLost($0) { $0 = $0|0; var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 20|0); _Font_Free($1); $2 = ((($0)) + 36|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(0|0); if ($4) { return; } $5 = ((($3)) + 4|0); $6 = HEAP32[$5>>2]|0; FUNCTION_TABLE_vi[$6 & 511]($2); $7 = ((($0)) + 104|0); $8 = HEAP32[$7>>2]|0; $9 = ((($8)) + 4|0); $10 = HEAP32[$9>>2]|0; FUNCTION_TABLE_vi[$10 & 511]($7); return; } function _LoadingScreen_ContextRecreated($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 20|0); _Drawer2D_MakeFont($1,16,0); _LoadingScreen_SetTitle($0); _LoadingScreen_SetMessage($0); return; } function _LoadingScreen_SetTitle($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 36|0); $2 = ((($0)) + 172|0); $3 = ((($0)) + 20|0); _TextWidget_Set($1,$2,$3); return; } function _LoadingScreen_SetMessage($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 104|0); $2 = ((($0)) + 180|0); $3 = ((($0)) + 20|0); _TextWidget_Set($1,$2,$3); return; } function _LoadingScreen_DrawBackground() { var $$01718 = 0, $$019 = 0, $$1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 3520|0; $0 = sp; $1 = sp + 3508|0; $2 = sp + 3456|0; $3 = sp + 3504|0; $4 = sp + 3512|0; $5 = sp + 3488|0; HEAP32[$1>>2] = $0; HEAP8[$4>>0] = 0; $6 = HEAP16[(624946)>>1]|0; $7 = ((($2)) + 6|0); $8 = $2; $9 = $8; HEAP32[$9>>2] = 0; $10 = (($8) + 4)|0; $11 = $10; HEAP32[$11>>2] = 0; $12 = HEAP32[351858]|0; $13 = $12&65535; $14 = ((($2)) + 8|0); HEAP16[$14>>1] = $13; $15 = ((($2)) + 10|0); HEAP16[$15>>1] = 64; $16 = ((($2)) + 12|0); _Atlas1D_TexRec($5,$6,1,$3); ;HEAP32[$16>>2]=HEAP32[$5>>2]|0;HEAP32[$16+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$16+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$16+12>>2]=HEAP32[$5+12>>2]|0; $17 = HEAP32[351858]|0; $18 = (+($17|0)); $19 = $18 * 0.015625; $20 = ((($2)) + 20|0); HEAPF32[$20>>2] = $19; $21 = HEAP32[351859]|0; $22 = ($21|0)>(0); if (!($22)) { STACKTOP = sp;return; } $$01718 = 0;$$019 = 0; while(1) { $23 = $$019&65535; HEAP16[$7>>1] = $23; _Gfx_Make2DQuad($2,-12566464,$1); $24 = (($$01718) + 4)|0; $25 = ($24>>>0)<(144); if ($25) { $$1 = $24; } else { $26 = HEAP32[$3>>2]|0; _LoadingScreen_UpdateBackgroundVB($0,$24,$26,$4); HEAP32[$1>>2] = $0; $$1 = 0; } $27 = (($$019) + 64)|0; $28 = HEAP32[351859]|0; $29 = ($27|0)<($28|0); if ($29) { $$01718 = $$1;$$019 = $27; } else { break; } } $30 = ($$1|0)==(0); if ($30) { STACKTOP = sp;return; } $31 = HEAP32[$3>>2]|0; _LoadingScreen_UpdateBackgroundVB($0,$$1,$31,$4); STACKTOP = sp;return; } function _LoadingScreen_UpdateBackgroundVB($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = HEAP8[$3>>0]|0; $5 = ($4<<24>>24)==(0); if ($5) { $6 = (1384660 + ($2<<2)|0); HEAP8[$3>>0] = 1; $7 = HEAP32[$6>>2]|0; _Gfx_BindTexture($7); } _Gfx_SetVertexFormat(1); $8 = HEAP32[(1280020)>>2]|0; _Gfx_UpdateDynamicVb_IndexedTris($8,$0,$1); return; } function _LoadingScreen_MapLoading($0,$1) { $0 = $0|0; $1 = +$1; var $2 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 32|0); HEAPF32[$2>>2] = $1; return; } function _GeneratingScreen_Show() { var label = 0, sp = 0; sp = STACKTOP; HEAP32[345464] = 17608; _LoadingScreen_ShowCommon(17672,17680); return; } function _GeneratingScreen_Init($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; HEAP8[1408239] = 0; _LoadingScreen_Init($0); _Event_RaiseVoid(1253676); $1 = HEAP32[(1407460)>>2]|0; $2 = (_Mem_TryAlloc($1,1)|0); HEAP32[315083] = $2; $3 = ($2|0)==(0|0); if ($3) { _Window_ShowDialog(36269,36283); HEAP8[1408239] = 1; return; } $4 = HEAP8[1408240]|0; $5 = ($4<<24>>24)==(0); if ($5) { (_Thread_Start(73,1)|0); return; } else { (_Thread_Start(72,1)|0); return; } } function _GeneratingScreen_Render($0,$1) { $0 = $0|0; $1 = +$1; var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; _LoadingScreen_Render($0,$1); $2 = HEAP8[1408239]|0; $3 = ($2<<24>>24)==(0); if (!($3)) { _GeneratingScreen_EndGeneration(); return; } $4 = HEAP32[315078]|0; $5 = +HEAPF32[315082]; $6 = ((($0)) + 32|0); HEAPF32[$6>>2] = $5; $7 = ((($0)) + 188|0); $8 = HEAP32[$7>>2]|0; $9 = ($4|0)==($8|0); if ($9) { return; } $10 = ((($0)) + 180|0); $11 = ((($0)) + 184|0); HEAP16[$11>>1] = 0; _String_AppendConst($10,$4); _LoadingScreen_SetMessage($0); return; } function _GeneratingScreen_EndGeneration() { var $$byval_copy1 = 0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $$byval_copy1 = sp + 60|0; $0 = sp + 16|0; $1 = sp + 48|0; $2 = sp; _Gui_Remove(1381856); HEAP8[1408239] = 0; $3 = HEAP32[315083]|0; $4 = ($3|0)==(0|0); if ($4) { _Chat_AddRaw(36239); STACKTOP = sp;return; } else { $5 = HEAP32[(1407464)>>2]|0; $6 = HEAP32[(1407468)>>2]|0; $7 = HEAP32[(1407472)>>2]|0; _World_SetNewMap($3,$5,$6,$7); HEAP32[315083] = 0; $8 = HEAP32[(1407464)>>2]|0; $9 = (($8|0) / 2)&-1; $10 = (+($9|0)); $11 = $10 + 0.5; $12 = HEAP32[(1407472)>>2]|0; $13 = (($12|0) / 2)&-1; $14 = (+($13|0)); $15 = $14 + 0.5; ;HEAP32[$$byval_copy1>>2]=HEAP32[(1242244)>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[(1242244)+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[(1242244)+8>>2]|0; _Respawn_FindSpawnPosition($1,$11,$15,$$byval_copy1); ;HEAP32[(1242580)>>2]=HEAP32[$1>>2]|0;HEAP32[(1242580)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(1242580)+8>>2]=HEAP32[$1+8>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$1+8>>2]|0; _LocationUpdate_MakePosAndOri($0,$$byval_copy1,0.0,0.0,0); $16 = HEAP32[310538]|0; $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; FUNCTION_TABLE_viii[$18 & 31](1242152,$0,0); $19 = HEAP32[(1230632)>>2]|0; $20 = ((($19)) + 16|0); $21 = HEAP32[$20>>2]|0; FUNCTION_TABLE_vid[$21 & 63]($2,0.0); ;HEAP32[(1230620)>>2]=HEAP32[$2>>2]|0;HEAP32[(1230620)+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[(1230620)+8>>2]=HEAP32[$2+8>>2]|0; _Event_RaiseVoid((1254196)); STACKTOP = sp;return; } } function _DisconnectScreen_Show($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $2 = sp + 64|0; $3 = sp; HEAP8[(569164)>>0] = 1; HEAP8[(569165)>>0] = 1; HEAP32[(569568)>>2] = (569440); HEAP16[(569572)>>1] = 0; HEAP16[(569574)>>1] = 64; _String_AppendString((569568),$0); HEAP32[(569576)>>2] = (569504); HEAP16[(569580)>>1] = 0; HEAP16[(569582)>>1] = 64; _String_AppendString((569576),$1); HEAP32[$2>>2] = $3; $4 = ((($2)) + 4|0); HEAP16[$4>>1] = 0; $5 = ((($2)) + 6|0); HEAP16[$5>>1] = 64; _String_AppendColorless($2,$1); $6 = (_String_CaselessStarts($2,17688)|0); $7 = ($6|0)==(0); if ($7) { $8 = (_String_CaselessStarts($2,17696)|0); $9 = ($8|0)==(0); $phitmp = $9&1; $10 = $phitmp; } else { $10 = 0; } HEAP8[(569192)>>0] = $10; HEAP32[142290] = 17704; $11 = HEAP32[315198]|0; $12 = ($11|0)==(0); if ($12) { _Gui_Replace(569160,60); STACKTOP = sp;return; } while(1) { $13 = HEAP32[94820]|0; _Gui_Remove($13); $14 = HEAP32[315198]|0; $15 = ($14|0)==(0); if ($15) { break; } } _Gui_Replace(569160,60); STACKTOP = sp;return; } function _DisconnectScreen_Init($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 144|0); _TextWidget_Make($1,1,1,0,-30); $2 = ((($0)) + 212|0); _TextWidget_Make($2,1,1,0,10); $3 = ((($0)) + 40|0); _ButtonWidget_Make($3,300,0,1,1,0,80); $4 = ((($0)) + 32|0); $5 = HEAP8[$4>>0]|0; $6 = ($5<<24>>24)==(0); $7 = $6&1; $8 = ((($0)) + 61|0); HEAP8[$8>>0] = $7; $9 = HEAP32[315054]|0; $10 = ($9|0)==(0); $11 = $10&1; _Gfx_SetFpsLimit($11,200.0); $12 = (_DateTime_CurrentUTC_MS()|0); $13 = (getTempRet0() | 0); $14 = ((($0)) + 24|0); $15 = $14; $16 = $15; HEAP32[$16>>2] = $12; $17 = (($15) + 4)|0; $18 = $17; HEAP32[$18>>2] = $13; $19 = ((($0)) + 36|0); HEAP32[$19>>2] = 5; $20 = ((($0)) + 12|0); HEAP32[$20>>2] = 17768; $21 = HEAP8[$4>>0]|0; $22 = ($21<<24>>24)==(0); $23 = $22 ? 2 : 3; $24 = ((($0)) + 16|0); HEAP32[$24>>2] = $23; return; } function _DisconnectScreen_Update($0,$1) { $0 = $0|0; $1 = +$1; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 32|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)==(0); if ($4) { return; } _DisconnectScreen_UpdateDelayLeft($0); return; } function _DisconnectScreen_Free($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[315054]|0; _Game_SetFpsLimit($1); return; } function _DisconnectScreen_Render($0,$1) { $0 = $0|0; $1 = +$1; var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[351858]|0; $3 = HEAP32[351859]|0; _Gfx_Draw2DGradient(0,0,$2,$3,-14671808,-15724464); _Screen_Render2Widgets($0,0.0); return; } function _DisconnectScreen_BuildMesh($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 480|0; $1 = sp; _Screen_BuildMesh($0,$1); $2 = ((($0)) + 8|0); $3 = HEAP32[$2>>2]|0; _Gfx_SetDynamicVbData($3,$1,20); STACKTOP = sp;return; } function _DisconnectScreen_PointerDown($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ((($0)) + 61|0); $5 = HEAP8[$4>>0]|0; $6 = ($5<<24>>24)==(0); if (!($6)) { return 1; } $7 = ((($0)) + 40|0); $8 = (_Widget_Contains($7,$2,$3)|0); $9 = ($8|0)==(0); if ($9) { return 1; } _Gui_Remove($0); _Gui_ShowDefault(); $10 = HEAP32[346132]|0; FUNCTION_TABLE_v[$10 & 127](); return 1; } function _DisconnectScreen_PointerMove($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $10 = 0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ((($0)) + 61|0); $5 = HEAP8[$4>>0]|0; $6 = ($5<<24>>24)==(0); if ($6) { $7 = ((($0)) + 40|0); $8 = (_Widget_Contains($7,$2,$3)|0); $9 = ($8|0)!=(0); $phitmp = $9&1; $11 = $phitmp; } else { $11 = 0; } $10 = ((($0)) + 60|0); HEAP8[$10>>0] = $11; return 1; } function _DisconnectScreen_ContextLost($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 120|0); _Font_Free($1); $2 = ((($0)) + 132|0); _Font_Free($2); _Screen_ContextLost($0); return; } function _DisconnectScreen_ContextRecreated($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $1 = sp + 64|0; $2 = sp; $3 = (_Gfx_CreateDynamicVb(1,20)|0); $4 = ((($0)) + 8|0); HEAP32[$4>>2] = $3; $5 = ((($0)) + 120|0); _Drawer2D_MakeFont($5,16,1); $6 = ((($0)) + 132|0); _Drawer2D_MakeFont($6,16,0); $7 = ((($0)) + 144|0); $8 = ((($0)) + 408|0); _TextWidget_Set($7,$8,$5); $9 = ((($0)) + 212|0); $10 = ((($0)) + 416|0); _TextWidget_Set($9,$10,$6); HEAP32[$1>>2] = $2; $11 = ((($1)) + 4|0); HEAP16[$11>>1] = 0; $12 = ((($1)) + 6|0); HEAP16[$12>>1] = 64; _DisconnectScreen_ReconnectMessage($0,$1); $13 = ((($0)) + 40|0); _ButtonWidget_Set($13,$1,$5); STACKTOP = sp;return; } function _DisconnectScreen_ReconnectMessage($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = ((($0)) + 32|0); $4 = HEAP8[$3>>0]|0; $5 = ($4<<24>>24)==(0); do { if (!($5)) { $6 = (_DateTime_CurrentUTC_MS()|0); $7 = (getTempRet0() | 0); $8 = ((($0)) + 24|0); $9 = $8; $10 = $9; $11 = HEAP32[$10>>2]|0; $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; $15 = (_i64Subtract(($6|0),($7|0),($11|0),($14|0))|0); $16 = (getTempRet0() | 0); $17 = (5000 - ($15))|0; $18 = (($17|0) / 1000)&-1; HEAP32[$2>>2] = $18; $19 = ($17|0)>(999); if (!($19)) { break; } _String_Format1($1,36356,$2); STACKTOP = sp;return; } } while(0); _String_AppendConst($1,36372); STACKTOP = sp;return; } function _DisconnectScreen_UpdateDelayLeft($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$store$select = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $1 = sp + 64|0; $2 = sp; $3 = (_DateTime_CurrentUTC_MS()|0); $4 = (getTempRet0() | 0); $5 = ((($0)) + 24|0); $6 = $5; $7 = $6; $8 = HEAP32[$7>>2]|0; $9 = (($6) + 4)|0; $10 = $9; $11 = HEAP32[$10>>2]|0; $12 = (_i64Subtract(($3|0),($4|0),($8|0),($11|0))|0); $13 = (getTempRet0() | 0); $14 = (5000 - ($12))|0; $15 = (($14|0) / 1000)&-1; $16 = ($14|0)>(999); $spec$store$select = $16 ? $15 : 0; $17 = ((($0)) + 36|0); $18 = HEAP32[$17>>2]|0; $19 = ($18|0)==($spec$store$select|0); if ($19) { $20 = ((($0)) + 60|0); $21 = HEAP8[$20>>0]|0; $22 = ((($0)) + 33|0); $23 = HEAP8[$22>>0]|0; $24 = ($21<<24>>24)==($23<<24>>24); if ($24) { STACKTOP = sp;return; } } HEAP32[$1>>2] = $2; $25 = ((($1)) + 4|0); HEAP16[$25>>1] = 0; $26 = ((($1)) + 6|0); HEAP16[$26>>1] = 64; _DisconnectScreen_ReconnectMessage($0,$1); $27 = ((($0)) + 40|0); $28 = ((($0)) + 120|0); _ButtonWidget_Set($27,$1,$28); $29 = $16&1; $30 = ((($0)) + 61|0); HEAP8[$30>>0] = $29; HEAP32[$17>>2] = $spec$store$select; $31 = ((($0)) + 60|0); $32 = HEAP8[$31>>0]|0; $33 = ((($0)) + 33|0); HEAP8[$33>>0] = $32; $34 = ((($0)) + 7|0); HEAP8[$34>>0] = 1; STACKTOP = sp;return; } function _TouchScreen_Show() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; HEAP32[345979] = 17780; $0 = HEAP8[1408267]|0; $1 = ($0<<24>>24)==(0); if ($1) { return; } _Gui_Replace(1383916,25); return; } function _TouchScreen_Init($0) { $0 = $0|0; var $$022 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 12|0); HEAP32[$1>>2] = 7056; $2 = ((($0)) + 16|0); HEAP32[$2>>2] = 7; $3 = ((($0)) + 40|0); $4 = ((($0)) + 20|0); $$022 = 0; while(1) { $5 = (($3) + (($$022*80)|0)|0); $6 = (((6960 + (($$022*12)|0)|0)) + 5|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; $9 = ($$022>>>0)<(4); $10 = $9 ? 0 : 2; $11 = (((6960 + (($$022*12)|0)|0)) + 6|0); $12 = HEAP16[$11>>1]|0; $13 = $12 << 16 >> 16; $14 = (((6960 + (($$022*12)|0)|0)) + 8|0); $15 = HEAP16[$14>>1]|0; $16 = $15 << 16 >> 16; _ButtonWidget_Make($5,$8,0,$10,0,$13,$16); $17 = (((6960 + (($$022*12)|0)|0)) + 4|0); $18 = HEAP8[$17>>0]|0; $19 = (($4) + ($$022)|0); HEAP8[$19>>0] = $18; $20 = (($$022) + 1)|0; $21 = HEAP32[$2>>2]|0; $22 = ($20|0)<($21|0); if ($22) { $$022 = $20; } else { break; } } $23 = ((($0)) + 472|0); HEAP32[$23>>2] = 113; $24 = ((($0)) + 552|0); HEAP32[$24>>2] = 114; return; } function _TouchScreen_Render($0,$1) { $0 = $0|0; $1 = +$1; var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (_Gui_GetInputGrab()|0); $3 = ($2|0)==(0|0); if (!($3)) { return; } _Screen_Render2Widgets($0,0.0); return; } function _TouchScreen_BuildMesh($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 2016|0; $1 = sp; _Screen_BuildMesh($0,$1); $2 = ((($0)) + 8|0); $3 = HEAP32[$2>>2]|0; _Gfx_SetDynamicVbData($3,$1,84); STACKTOP = sp;return; } function _TouchScreen_PointerDown($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$022 = 0, $$025 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = (_Gui_GetInputGrab()|0); $5 = ($4|0)==(0|0); if (!($5)) { $$022 = 0; return ($$022|0); } $6 = ((($0)) + 16|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)>(0); if (!($8)) { $$022 = 0; return ($$022|0); } $9 = ((($0)) + 40|0); $$025 = 0; while(1) { $10 = (($9) + (($$025*80)|0)|0); $11 = (_Widget_Contains($10,$2,$3)|0); $12 = ($11|0)==(0); if (!($12)) { break; } $28 = (($$025) + 1)|0; $29 = HEAP32[$6>>2]|0; $30 = ($28|0)<($29|0); if ($30) { $$025 = $28; } else { $$022 = 0; label = 10; break; } } if ((label|0) == 10) { return ($$022|0); } $13 = ((($0)) + 20|0); $14 = (($13) + ($$025)|0); $15 = HEAP8[$14>>0]|0; $16 = ($15&255)<(35); if ($16) { $17 = $15&255; $18 = (379728 + ($17)|0); $19 = HEAP8[$18>>0]|0; $20 = $19&255; _Input_SetPressed($20,1); } else { $21 = (((($9) + (($$025*80)|0)|0)) + 32|0); $22 = HEAP32[$21>>2]|0; FUNCTION_TABLE_vii[$22 & 127]($0,$10); } $23 = (((($9) + (($$025*80)|0)|0)) + 20|0); $24 = HEAP8[$23>>0]|0; $25 = $24&255; $26 = $25 | $1; $27 = $26&255; HEAP8[$23>>0] = $27; $$022 = 1; return ($$022|0); } function _TouchScreen_PointerUp($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$017 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ((($0)) + 16|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)>(0); if (!($6)) { $$017 = 0; return ($$017|0); } $7 = ((($0)) + 40|0); $$019 = 0; while(1) { $8 = (((($7) + (($$019*80)|0)|0)) + 20|0); $9 = HEAP8[$8>>0]|0; $10 = $9&255; $11 = $10 & $1; $12 = ($11|0)==(0); if (!($12)) { break; } $26 = (($$019) + 1)|0; $27 = HEAP32[$4>>2]|0; $28 = ($26|0)<($27|0); if ($28) { $$019 = $26; } else { $$017 = 0; label = 8; break; } } if ((label|0) == 8) { return ($$017|0); } $13 = ((($0)) + 20|0); $14 = (($13) + ($$019)|0); $15 = HEAP8[$14>>0]|0; $16 = ($15&255)<(35); if ($16) { $17 = $15&255; $18 = (379728 + ($17)|0); $19 = HEAP8[$18>>0]|0; $20 = $19&255; _Input_SetPressed($20,0); } $21 = $1 ^ 255; $22 = HEAP8[$8>>0]|0; $23 = $22&255; $24 = $21 & $23; $25 = $24&255; HEAP8[$8>>0] = $25; $$017 = 1; return ($$017|0); } function _TouchScreen_ContextLost($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 28|0); _Font_Free($1); _Screen_ContextLost($0); return; } function _TouchScreen_ContextRecreated($0) { $0 = $0|0; var $$016 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 28|0); _Drawer2D_MakeFont($1,16,1); $2 = (_Gfx_CreateDynamicVb(1,84)|0); $3 = ((($0)) + 8|0); HEAP32[$3>>2] = $2; $4 = ((($0)) + 16|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)>(0); if (!($6)) { _TouchScreen_UpdateModeText($0); return; } $7 = ((($0)) + 40|0); $$016 = 0; while(1) { $8 = (($7) + (($$016*80)|0)|0); $9 = (6960 + (($$016*12)|0)|0); $10 = HEAP32[$9>>2]|0; _ButtonWidget_SetConst($8,$10,$1); $11 = (($$016) + 1)|0; $12 = HEAP32[$4>>2]|0; $13 = ($11|0)<($12|0); if ($13) { $$016 = $11; } else { break; } } _TouchScreen_UpdateModeText($0); return; } function _TouchScreen_UpdateModeText($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 440|0); $2 = HEAP8[1408268]|0; $3 = ($2<<24>>24)==(0); $4 = $3 ? 36398 : 36405; $5 = ((($0)) + 28|0); _ButtonWidget_SetConst($1,$4,$5); return; } function _TouchScreen_ModeClick($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP8[1408268]|0; $3 = ($2<<24>>24)==(0); $4 = $3&1; HEAP8[1408268] = $4; _TouchScreen_UpdateModeText($0); return; } function _TouchScreen_MoreClick($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _TouchMoreOverlay_Show(); return; } function _Selections_Init() { var label = 0, sp = 0; sp = STACKTOP; _Event_Register((1251856),0,391); _Event_Register((1252116),0,392); return; } function _Selections_Free() { var label = 0, sp = 0; sp = STACKTOP; _Selections_ContextLost(0); _Event_Unregister((1251856),0,391); _Event_Unregister((1252116),0,392); return; } function _Selections_Reset() { var label = 0, sp = 0; sp = STACKTOP; HEAP32[346129] = 0; return; } function _Selections_ContextLost($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _Gfx_DeleteVb(1384520); _Gfx_DeleteVb(1384524); return; } function _Selections_ContextRecreated($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408294]|0; $2 = ($1<<24>>24)==(0); if ($2) { return; } $3 = (_Gfx_CreateDynamicVb(0,6144)|0); HEAP32[346130] = $3; $4 = (_Gfx_CreateDynamicVb(0,6144)|0); HEAP32[346131] = $4; return; } function _Selections_Add($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $10 = 0, $11 = 0, $12 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $4 = sp + 24|0; $5 = sp + 12|0; $6 = sp; _IVec3_Min($5,$1,$2); _IVec3_ToVec3($4,$5); _IVec3_Max($6,$1,$2); $7 = ((($4)) + 12|0); _IVec3_ToVec3($7,$6); $8 = ((($4)) + 24|0); HEAP32[$8>>2] = $3; _Selections_Remove($0); $9 = HEAP32[346129]|0; $10 = (496656 + (($9*36)|0)|0); dest=$10; src=$4; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $11 = (505872 + ($9)|0); HEAP8[$11>>0] = $0; $12 = (($9) + 1)|0; HEAP32[346129] = $12; STACKTOP = sp;return; } function _Selections_Remove($0) { $0 = $0|0; var $$015 = 0, $$114 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; $1 = HEAP32[346129]|0; $2 = ($1|0)>(0); if (!($2)) { return; } $3 = HEAP32[346129]|0; $$015 = 0;$8 = $1; while(1) { $4 = (505872 + ($$015)|0); $5 = HEAP8[$4>>0]|0; $6 = ($5<<24>>24)==($0<<24>>24); if ($6) { break; } $16 = (($$015) + 1)|0; $17 = ($16|0)<($3|0); if ($17) { $$015 = $16;$8 = $3; } else { label = 9; break; } } if ((label|0) == 9) { return; } $7 = (($8) + -1)|0; $9 = ($$015|0)<($7|0); if ($9) { $$114 = $$015; while(1) { $10 = (496656 + (($$114*36)|0)|0); $11 = (($$114) + 1)|0; $12 = (496656 + (($11*36)|0)|0); dest=$10; src=$12; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $13 = (505872 + ($11)|0); $14 = HEAP8[$13>>0]|0; $15 = (505872 + ($$114)|0); HEAP8[$15>>0] = $14; $exitcond = ($11|0)==($7|0); if ($exitcond) { break; } else { $$114 = $11; } } } HEAP32[346129] = $7; return; } function _Selections_Render() { var $$09 = 0, $$18 = 0, $$byval_copy = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; var $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 196640|0; $$byval_copy = sp + 196628|0; $0 = sp + 98304|0; $1 = sp + 196624|0; $2 = sp; $3 = sp + 196620|0; $4 = sp + 196608|0; $5 = HEAP32[346129]|0; $6 = ($5|0)!=(0); $7 = HEAP8[(1260360)>>0]|0; $8 = ($7<<24>>24)==(0); $or$cond = $6 & $8; if (!($or$cond)) { STACKTOP = sp;return; } ;HEAP32[$4>>2]=HEAP32[(1230620)>>2]|0;HEAP32[$4+4>>2]=HEAP32[(1230620)+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[(1230620)+8>>2]|0; $9 = ($5|0)>(0); if ($9) { $$09 = 0; while(1) { $10 = (496656 + (($$09*36)|0)|0); ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$4+8>>2]|0; _SelectionBox_Intersect($10,$$byval_copy); $11 = (($$09) + 1)|0; $exitcond = ($11|0)==($5|0); if ($exitcond) { break; } else { $$09 = $11; } } } $12 = (($5) + -1)|0; _Selections_QuickSort(0,$12); $13 = HEAP32[346130]|0; $14 = ($13|0)==(0); if ($14) { HEAP8[1408294] = 1; _Selections_ContextRecreated(0); } HEAP32[$1>>2] = $0; HEAP32[$3>>2] = $2; $15 = HEAP32[346129]|0; $16 = ($15|0)>(0); if ($16) { $17 = HEAP32[346129]|0; $$18 = 0; while(1) { $18 = (496656 + (($$18*36)|0)|0); _SelectionBox_Render($18,$1,$3); $19 = (($$18) + 1)|0; $20 = ($19|0)<($17|0); if ($20) { $$18 = $19; } else { break; } } } _Gfx_SetVertexFormat(0); $21 = HEAP32[346131]|0; $22 = HEAP32[346129]|0; $23 = ($22*24)|0; _Gfx_UpdateDynamicVb_Lines($21,$2,$23); _Gfx_SetDepthWrite(0); _Gfx_SetAlphaBlending(1); $24 = HEAP32[346130]|0; $25 = HEAP32[346129]|0; $26 = ($25*24)|0; _Gfx_UpdateDynamicVb_IndexedTris($24,$0,$26); _Gfx_SetDepthWrite(1); _Gfx_SetAlphaBlending(0); STACKTOP = sp;return; } function _SelectionBox_Intersect($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0; var $29 = 0.0, $3 = 0.0, $30 = 0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0, $45 = 0.0, $46 = 0.0; var $47 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $2 = +HEAPF32[$1>>2]; $3 = +HEAPF32[$0>>2]; $4 = $2 - $3; $5 = $4 * $4; $6 = ((($0)) + 12|0); $7 = +HEAPF32[$6>>2]; $8 = $2 - $7; $9 = $8 * $8; $10 = ((($1)) + 4|0); $11 = +HEAPF32[$10>>2]; $12 = ((($0)) + 4|0); $13 = +HEAPF32[$12>>2]; $14 = $11 - $13; $15 = $14 * $14; $16 = ((($0)) + 16|0); $17 = +HEAPF32[$16>>2]; $18 = $11 - $17; $19 = $18 * $18; $20 = ((($1)) + 8|0); $21 = +HEAPF32[$20>>2]; $22 = ((($0)) + 8|0); $23 = +HEAPF32[$22>>2]; $24 = $21 - $23; $25 = $24 * $24; $26 = ((($0)) + 20|0); $27 = +HEAPF32[$26>>2]; $28 = $21 - $27; $29 = $28 * $28; $30 = $5 < $9; $31 = $30 ? $5 : $9; $32 = $15 < $19; $33 = $32 ? $15 : $19; $34 = $31 + $33; $35 = $25 < $29; $36 = $35 ? $25 : $29; $37 = $34 + $36; $38 = ((($0)) + 28|0); HEAPF32[$38>>2] = $37; $39 = $5 > $9; $40 = $39 ? $5 : $9; $41 = $15 > $19; $42 = $41 ? $15 : $19; $43 = $40 + $42; $44 = $25 > $29; $45 = $44 ? $25 : $29; $46 = $43 + $45; $47 = ((($0)) + 32|0); HEAPF32[$47>>2] = $46; return; } function _Selections_QuickSort($0,$1) { $0 = $0|0; $1 = $1|0; var $$062$lcssa = 0, $$06272 = 0, $$064$lcssa = 0, $$06471 = 0, $$06774 = 0, $$075 = 0, $$1 = 0, $$163 = 0, $$165 = 0, $$168 = 0, $$2 = 0, $$266 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0; var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $2 = sp; $3 = ($0|0)<($1|0); if (!($3)) { STACKTOP = sp;return; } $$06774 = $1;$$075 = $0; while(1) { $4 = (($$075) + ($$06774))|0; $5 = (1)?($4 >> 1):($4); $6 = (496656 + (($5*36)|0)|0); $7 = ($$075|0)>($$06774|0); if ($7) { $$062$lcssa = $$06774;$$064$lcssa = $$075; } else { $$06272 = $$06774;$$06471 = $$075; while(1) { $$165 = $$06471; while(1) { $8 = (496656 + (($$165*36)|0)|0); $9 = (_SelectionBox_Compare($6,$8)|0); $10 = ($9|0)>(0); $11 = (($$165) + 1)|0; if ($10) { $$165 = $11; } else { break; } } $$163 = $$06272; while(1) { $12 = (496656 + (($$163*36)|0)|0); $13 = (_SelectionBox_Compare($6,$12)|0); $14 = ($13|0)<(0); $15 = (($$163) + -1)|0; if ($14) { $$163 = $15; } else { break; } } $16 = ($$165|0)>($$163|0); if ($16) { $$2 = $$163;$$266 = $$165; } else { dest=$2; src=$8; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$8; src=$12; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$12; src=$2; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $17 = (505872 + ($$165)|0); $18 = HEAP8[$17>>0]|0; $19 = (505872 + ($$163)|0); $20 = HEAP8[$19>>0]|0; HEAP8[$17>>0] = $20; HEAP8[$19>>0] = $18; $21 = (($$165) + 1)|0; $22 = (($$163) + -1)|0; $$2 = $22;$$266 = $21; } $23 = ($$266|0)>($$2|0); if ($23) { $$062$lcssa = $$2;$$064$lcssa = $$266; break; } else { $$06272 = $$2;$$06471 = $$266; } } } $24 = (($$062$lcssa) - ($$075))|0; $25 = (($$06774) - ($$064$lcssa))|0; $26 = ($24|0)>($25|0); if ($26) { $28 = ($$06774|0)>($$064$lcssa|0); if ($28) { _Selections_QuickSort($$064$lcssa,$$06774); $$1 = $$075;$$168 = $$062$lcssa; } else { $$1 = $$075;$$168 = $$062$lcssa; } } else { $27 = ($$062$lcssa|0)>($$075|0); if ($27) { _Selections_QuickSort($$075,$$062$lcssa); $$1 = $$064$lcssa;$$168 = $$06774; } else { $$1 = $$064$lcssa;$$168 = $$06774; } } $29 = ($$1|0)<($$168|0); if ($29) { $$06774 = $$168;$$075 = $$1; } else { break; } } STACKTOP = sp;return; } function _SelectionBox_Render($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$04246 = 0, $$047 = 0, $$14344 = 0, $$145 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; var $7 = 0.0, $8 = 0.0, $9 = 0, $scevgep = 0, $scevgep49 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $3 = sp; $4 = ((($0)) + 28|0); $5 = +HEAPF32[$4>>2]; $6 = $5 < 1024.0; $7 = $6 ? 0.03125 : 0.0625; $8 = - $7; _Vec3_Add1_1464($3,$0,$8); $9 = ((($3)) + 12|0); $10 = ((($0)) + 12|0); _Vec3_Add1_1464($9,$10,$7); $11 = ((($0)) + 24|0); $12 = HEAP32[$11>>2]|0; $13 = HEAP32[$1>>2]|0; $$04246 = 0;$$047 = $13; while(1) { $14 = (7088 + ($$04246)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + (($16*12)|0)|0); $18 = HEAP32[$17>>2]|0; HEAP32[$$047>>2] = $18; $19 = (($$04246) + 1)|0; $20 = (7088 + ($19)|0); $21 = HEAP8[$20>>0]|0; $22 = $21&255; $23 = (((($3) + (($22*12)|0)|0)) + 4|0); $24 = HEAP32[$23>>2]|0; $25 = ((($$047)) + 4|0); HEAP32[$25>>2] = $24; $26 = (($$04246) + 2)|0; $27 = (7088 + ($26)|0); $28 = HEAP8[$27>>0]|0; $29 = $28&255; $30 = (((($3) + (($29*12)|0)|0)) + 8|0); $31 = HEAP32[$30>>2]|0; $32 = ((($$047)) + 8|0); HEAP32[$32>>2] = $31; $33 = ((($$047)) + 12|0); HEAP32[$33>>2] = $12; $34 = (($$04246) + 3)|0; $35 = ((($$047)) + 16|0); $36 = ($34>>>0)<(72); if ($36) { $$04246 = $34;$$047 = $35; } else { break; } } $scevgep49 = ((($13)) + 384|0); HEAP32[$1>>2] = $scevgep49; $37 = $12 ^ 16777215; $38 = HEAP32[$2>>2]|0; $$14344 = 0;$$145 = $38; while(1) { $39 = (7168 + ($$14344)|0); $40 = HEAP8[$39>>0]|0; $41 = $40&255; $42 = (($3) + (($41*12)|0)|0); $43 = HEAP32[$42>>2]|0; HEAP32[$$145>>2] = $43; $44 = (($$14344) + 1)|0; $45 = (7168 + ($44)|0); $46 = HEAP8[$45>>0]|0; $47 = $46&255; $48 = (((($3) + (($47*12)|0)|0)) + 4|0); $49 = HEAP32[$48>>2]|0; $50 = ((($$145)) + 4|0); HEAP32[$50>>2] = $49; $51 = (($$14344) + 2)|0; $52 = (7168 + ($51)|0); $53 = HEAP8[$52>>0]|0; $54 = $53&255; $55 = (((($3) + (($54*12)|0)|0)) + 8|0); $56 = HEAP32[$55>>2]|0; $57 = ((($$145)) + 8|0); HEAP32[$57>>2] = $56; $58 = ((($$145)) + 12|0); HEAP32[$58>>2] = $37; $59 = (($$14344) + 3)|0; $60 = ((($$145)) + 16|0); $61 = ($59>>>0)<(72); if ($61) { $$14344 = $59;$$145 = $60; } else { break; } } $scevgep = ((($38)) + 384|0); HEAP32[$2>>2] = $scevgep; STACKTOP = sp;return; } function _Vec3_Add1_1464($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = +$2; var $10 = 0.0, $11 = 0.0, $12 = 0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = $3 + $2; HEAPF32[$0>>2] = $4; $5 = ((($1)) + 4|0); $6 = +HEAPF32[$5>>2]; $7 = $6 + $2; $8 = ((($0)) + 4|0); HEAPF32[$8>>2] = $7; $9 = ((($1)) + 8|0); $10 = +HEAPF32[$9>>2]; $11 = $10 + $2; $12 = ((($0)) + 8|0); HEAPF32[$12>>2] = $11; return; } function _SelectionBox_Compare($0,$1) { $0 = $0|0; $1 = $1|0; var $$ = 0, $$0 = 0.0, $$012 = 0.0, $$013 = 0, $10 = 0.0, $11 = 0, $12 = 0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 28|0); $3 = +HEAPF32[$2>>2]; $4 = ((($1)) + 28|0); $5 = +HEAPF32[$4>>2]; $6 = $3 == $5; if ($6) { $7 = ((($0)) + 32|0); $8 = +HEAPF32[$7>>2]; $9 = ((($1)) + 32|0); $10 = +HEAPF32[$9>>2]; $$0 = $10;$$012 = $8; } else { $$0 = $5;$$012 = $3; } $11 = $$012 < $$0; $12 = $$012 > $$0; $$ = $12 << 31 >> 31; $$013 = $11 ? 1 : $$; return ($$013|0); } function _Server_Init() { var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; HEAP32[(1384552)>>2] = 506128; HEAP16[(1384556)>>1] = 0; HEAP16[(1384558)>>1] = 64; HEAP32[(1384560)>>2] = 506192; HEAP16[(1384564)>>1] = 0; HEAP16[(1384566)>>1] = 64; HEAP32[(1384568)>>2] = 506256; HEAP16[(1384572)>>1] = 0; HEAP16[(1384574)>>1] = 64; $0 = HEAP16[(1384592)>>1]|0; $1 = ($0<<16>>16)==(0); if ($1) { _SPConnection_Init(); } else { _MPConnection_Init(); } $2 = HEAP32[(1384532)>>2]|0; (_ScheduledTask_Add(0.016666666666666666,$2)|0); _String_AppendConst((1384568),36430); return; } function _Server_Free() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP8[(1384580)>>0]|0; $1 = ($0<<24>>24)==(0); if (!($1)) { _Physics_Free(); return; } $2 = HEAP8[(1384581)>>0]|0; $3 = ($2<<24>>24)==(0); if (!($3)) { return; } $4 = HEAP32[346150]|0; (_Socket_Close($4)|0); HEAP8[(1384581)>>0] = 1; return; } function _MPConnection_Reset() { var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; $0 = HEAP8[(1384580)>>0]|0; $1 = ($0<<24>>24)==(0); if (!($1)) { return; } _memset((496400|0),0,192)|0; dest=496304; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); HEAP8[1408295] = 0; _Protocol_Reset(); _Server_Free(); return; } function _MPConnection_OnNewMap() { var $$04 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP8[(1384580)>>0]|0; $1 = ($0<<24>>24)==(0); if (!($1)) { return; } $$04 = 0; while(1) { $2 = $$04&255; _Protocol_RemoveEntity($2); $3 = (($$04) + 1)|0; $exitcond = ($3|0)==(256); if ($exitcond) { break; } else { $$04 = $3; } } return; } function _SPConnection_Init() { var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; _Server_ResetState(); _Physics_Init(); HEAP32[346132] = 74; HEAP32[(1384532)>>2] = 393; HEAP32[(1384536)>>2] = 1; HEAP32[(1384540)>>2] = 394; HEAP32[(1384544)>>2] = 3; HEAP32[(1384548)>>2] = 115; $0 = HEAP8[1408229]|0; $1 = ($0<<24>>24)==(0); $2 = $1&1; HEAP8[(1384585)>>0] = $2; HEAP8[(1384584)>>0] = 1; HEAP8[(1384580)>>0] = 1; HEAP32[(1384576)>>2] = 0; return; } function _MPConnection_Init() { var label = 0, sp = 0; sp = STACKTOP; _Server_ResetState(); HEAP8[(1384580)>>0] = 0; HEAP32[346132] = 75; HEAP32[(1384532)>>2] = 395; HEAP32[(1384536)>>2] = 2; HEAP32[(1384540)>>2] = 396; HEAP32[(1384544)>>2] = 4; HEAP32[(1384548)>>2] = 116; HEAP32[346151] = 506320; HEAP32[(1384576)>>2] = 526800; return; } function _Server_ResetState() { var label = 0, sp = 0; sp = STACKTOP; ;HEAP8[(1384581)>>0]=0|0;HEAP8[(1384581)+1>>0]=0|0;HEAP8[(1384581)+2>>0]=0|0;HEAP8[(1384581)+3>>0]=0|0;HEAP8[(1384581)+4>>0]=0|0; return; } function _MPConnection_BeginConnect() { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var $or$cond = 0, $or$cond7 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $0 = sp + 64|0; $1 = sp; HEAP32[$0>>2] = $1; $2 = ((($0)) + 4|0); HEAP16[$2>>1] = 0; $3 = ((($0)) + 6|0); HEAP16[$3>>1] = 64; _Socket_Create(1384600); HEAP8[(1384581)>>0] = 0; HEAP8[1408296] = 1; $4 = (_DateTime_CurrentUTC_MS()|0); $5 = (getTempRet0() | 0); $6 = (_i64Add(($4|0),($5|0),15000,0)|0); $7 = (getTempRet0() | 0); $8 = 569592; $9 = $8; HEAP32[$9>>2] = $6; $10 = (($8) + 4)|0; $11 = $10; HEAP32[$11>>2] = $7; $12 = HEAP32[346150]|0; $13 = HEAP32[(1384596)>>2]|0; $14 = (_Socket_Connect($12,(1384588),$13)|0); $15 = ($14|0)==(0); $16 = HEAP32[4303]|0; $17 = ($14|0)==($16|0); $or$cond = $15 | $17; $18 = HEAP32[4304]|0; $19 = ($14|0)==($18|0); $or$cond7 = $or$cond | $19; if ($or$cond7) { _String_Format2($0,36881,(1384588),(1384596)); _LoadingScreen_Show($0,1384616); STACKTOP = sp;return; } else { _MPConnection_FailConnect($14); STACKTOP = sp;return; } } function _MPConnection_Tick($0) { $0 = $0|0; var $$0 = 0, $$03641 = 0, $$pr = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, $or$cond38 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 144|0; $1 = sp + 136|0; $2 = sp; $3 = sp + 132|0; $4 = sp + 128|0; $5 = HEAP8[(1384581)>>0]|0; $6 = ($5<<24>>24)==(0); if (!($6)) { STACKTOP = sp;return; } $7 = HEAP8[1408296]|0; $8 = ($7<<24>>24)==(0); if (!($8)) { _MPConnection_TickConnect(); STACKTOP = sp;return; } $9 = (_DateTime_CurrentUTC_MS()|0); $10 = (getTempRet0() | 0); $11 = 569584; $12 = $11; $13 = HEAP32[$12>>2]|0; $14 = (($11) + 4)|0; $15 = $14; $16 = HEAP32[$15>>2]|0; $17 = (_i64Add(($13|0),($16|0),30000,0)|0); $18 = (getTempRet0() | 0); $19 = ($18>>>0)<($10>>>0); $20 = ($17>>>0)<($9>>>0); $21 = ($18|0)==($10|0); $22 = $21 & $20; $23 = $19 | $22; if ($23) { _MPConnection_CheckDisconnection(); } $24 = HEAP8[(1384581)>>0]|0; $25 = ($24<<24>>24)==(0); if (!($25)) { STACKTOP = sp;return; } HEAP32[$3>>2] = 0; $26 = HEAP32[346150]|0; $27 = (_Socket_Available($26,$3)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[346151]|0; $29 = ($27|0)==(0); $30 = HEAP32[$3>>2]|0; $31 = ($30|0)!=(0); $or$cond = $29 & $31; if ($or$cond) { $32 = HEAP32[346150]|0; $33 = (_Socket_Read($32,$28,16384,$3)|0); HEAP32[$4>>2] = $33; $34 = HEAP32[$3>>2]|0; $35 = (($28) + ($34)|0); $$0 = $35;$36 = $33; } else { $$pr = HEAP32[$4>>2]|0; $$0 = $28;$36 = $$pr; } $37 = ($36|0)==(0); if (!($37)) { HEAP32[$1>>2] = $2; $38 = ((($1)) + 4|0); HEAP16[$38>>1] = 0; $39 = ((($1)) + 6|0); HEAP16[$39>>1] = 128; _String_Format3($1,36452,(1384588),(1384596),$4); _Game_Disconnect(17892,17900); STACKTOP = sp;return; } HEAP32[346151] = 506320; $40 = ($$0>>>0)>(506320>>>0); L22: do { if ($40) { $42 = 506320; while(1) { $41 = HEAP8[$42>>0]|0; $43 = HEAP8[1408276]|0; $44 = ($43<<24>>24)!=(0); $45 = HEAP8[1408297]|0; $46 = ($45<<24>>24)==(32); $or$cond38 = $44 & $46; L26: do { if ($or$cond38) { switch ($41<<24>>24) { case -1: case 0: { break; } default: { label = 17; break L26; } } _Platform_LogConst(36482); $47 = HEAP32[346151]|0; $48 = ((($47)) + 1|0); HEAP32[346151] = $48; HEAPF32[(1242968)>>2] = 0.41999998688697815; HEAPF32[(1242976)>>2] = 0.41999998688697815; } else { label = 17; } } while(0); if ((label|0) == 17) { label = 0; $49 = $41&255; $50 = ($41&255)>(47); if ($50) { label = 18; break; } $51 = (496304 + ($49<<1)|0); $52 = HEAP16[$51>>1]|0; $53 = $52&65535; $54 = (($42) + ($53)|0); $55 = ($54>>>0)>($$0>>>0); if ($55) { break L22; } HEAP8[1408297] = $41; $56 = (_DateTime_CurrentUTC_MS()|0); $57 = (getTempRet0() | 0); $58 = 569584; $59 = $58; HEAP32[$59>>2] = $56; $60 = (($58) + 4)|0; $61 = $60; HEAP32[$61>>2] = $57; $62 = (496400 + ($49<<2)|0); $63 = HEAP32[$62>>2]|0; $64 = ($63|0)==(0|0); if ($64) { label = 21; break; } $65 = HEAP32[346151]|0; $66 = ((($65)) + 1|0); FUNCTION_TABLE_vi[$63 & 511]($66); $67 = HEAP16[$51>>1]|0; $68 = $67&65535; $69 = HEAP32[346151]|0; $70 = (($69) + ($68)|0); HEAP32[346151] = $70; } $71 = HEAP32[346151]|0; $72 = ($71>>>0)<($$0>>>0); if ($72) { $42 = $71; } else { break L22; } } if ((label|0) == 18) { _Game_Disconnect(17908,17916); STACKTOP = sp;return; } else if ((label|0) == 21) { _Game_Disconnect(17908,17916); STACKTOP = sp;return; } } } while(0); $73 = HEAP32[346151]|0; $74 = $$0; $75 = (($74) - ($73))|0; $76 = ($75|0)>(0); if ($76) { $77 = HEAP32[346151]|0; $$03641 = 0; while(1) { $78 = (($77) + ($$03641)|0); $79 = HEAP8[$78>>0]|0; $80 = (506320 + ($$03641)|0); HEAP8[$80>>0] = $79; $81 = (($$03641) + 1)|0; $exitcond = ($81|0)==($75|0); if ($exitcond) { break; } else { $$03641 = $81; } } } $82 = (506320 + ($75)|0); HEAP32[346151] = $82; $83 = HEAP32[346152]|0; $84 = (($83|0) % 3)&-1; $85 = ($84|0)==(0); if ($85) { _Server_CheckAsyncResources(); _Protocol_Tick(); $86 = HEAP32[(1384576)>>2]|0; $87 = ($86|0)==(526800|0); if (!($87)) { _Net_SendPacket(); } } $88 = HEAP32[346152]|0; $89 = (($88) + 1)|0; HEAP32[346152] = $89; STACKTOP = sp;return; } function _MPConnection_SendBlock($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $10 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $5 = ($4<<16>>16)==(0); if ($5) { $6 = HEAP32[(1268184)>>2]|0; $7 = HEAP32[(1268180)>>2]|0; $8 = (($7) + ($6))|0; $9 = (1266480 + ($8<<1)|0); $10 = HEAP16[$9>>1]|0; _Classic_WriteSetBlock($0,$1,$2,0,$10); _Net_SendPacket(); return; } else { _Classic_WriteSetBlock($0,$1,$2,1,$4); _Net_SendPacket(); return; } } function _MPConnection_SendChat($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp + 8|0; $2 = sp; $3 = ((($0)) + 4|0); $4 = HEAP16[$3>>1]|0; $5 = ($4<<16>>16)!=(0); $6 = HEAP8[1408296]|0; $7 = ($6<<24>>24)==(0); $or$cond = $5 & $7; if (!($or$cond)) { STACKTOP = sp;return; } $8 = $0; $9 = $8; $10 = HEAP32[$9>>2]|0; $11 = (($8) + 4)|0; $12 = $11; $13 = HEAP32[$12>>2]|0; $14 = $1; $15 = $14; HEAP32[$15>>2] = $10; $16 = (($14) + 4)|0; $17 = $16; HEAP32[$17>>2] = $13; $18 = ((($1)) + 4|0); $19 = HEAP16[$18>>1]|0; $20 = ($19&65535)>(64); if ($20) { while(1) { _Classic_SendChat($1,1); _String_UNSAFE_SubstringAt($2,$1,64); $21 = $2; $22 = $21; $23 = HEAP32[$22>>2]|0; $24 = (($21) + 4)|0; $25 = $24; $26 = HEAP32[$25>>2]|0; $27 = $1; $28 = $27; HEAP32[$28>>2] = $23; $29 = (($27) + 4)|0; $30 = $29; HEAP32[$30>>2] = $26; $31 = HEAP16[$18>>1]|0; $32 = ($31&65535)>(64); if (!($32)) { break; } } } _Classic_SendChat($1,0); STACKTOP = sp;return; } function _MPConnection_SendPosition($0,$1,$2) { $0 = $0|0; $1 = +$1; $2 = +$2; var $$byval_copy = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $$byval_copy = sp; ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; _Classic_WritePosition($$byval_copy,$1,$2); _Net_SendPacket(); STACKTOP = sp;return; } function _MPConnection_SendData($0,$1) { $0 = $0|0; $1 = $1|0; var $$078 = 0, $$09 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond10 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = HEAP8[(1384581)>>0]|0; $4 = ($3<<24>>24)!=(0); $5 = ($1|0)==(0); $or$cond10 = $4 | $5; if ($or$cond10) { STACKTOP = sp;return; } $$078 = $1;$$09 = $0; while(1) { $6 = HEAP32[346150]|0; $7 = (_Socket_Write($6,$$09,$$078,$2)|0); $8 = ($7|0)==(0); $9 = HEAP32[$2>>2]|0; $10 = ($9|0)!=(0); $or$cond = $8 & $10; if (!($or$cond)) { break; } $11 = (($$09) + ($9)|0); $12 = (($$078) - ($9))|0; $13 = ($12|0)==(0); if ($13) { label = 6; break; } else { $$078 = $12;$$09 = $11; } } if ((label|0) == 6) { STACKTOP = sp;return; } HEAP8[1408295] = 1; STACKTOP = sp;return; } function _Net_SendPacket() { var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[(1384576)>>2]|0; $1 = (($0) - (526800))|0; HEAP32[(1384576)>>2] = 526800; $2 = HEAP32[(1384548)>>2]|0; FUNCTION_TABLE_vii[$2 & 127](526800,$1); return; } function _MPConnection_TickConnect() { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $3 = 0, $4 = 0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; $1 = sp + 4|0; HEAP32[$0>>2] = 0; $2 = HEAP32[346150]|0; (_Socket_GetError($2,$0)|0); $3 = HEAP32[$0>>2]|0; $4 = ($3|0)==(0); if (!($4)) { _MPConnection_FailConnect($3); STACKTOP = sp;return; } $5 = (_DateTime_CurrentUTC_MS()|0); $6 = (getTempRet0() | 0); $7 = HEAP32[346150]|0; (_Socket_Poll($7,1,$1)|0); $8 = HEAP8[$1>>0]|0; $9 = ($8<<24>>24)==(0); if (!($9)) { _MPConnection_FinishConnect(); STACKTOP = sp;return; } $10 = 569592; $11 = $10; $12 = HEAP32[$11>>2]|0; $13 = (($10) + 4)|0; $14 = $13; $15 = HEAP32[$14>>2]|0; $16 = ($15>>>0)<($6>>>0); $17 = ($12>>>0)<($5>>>0); $18 = ($15|0)==($6|0); $19 = $18 & $17; $20 = $16 | $19; if ($20) { _MPConnection_FailConnect(0); STACKTOP = sp;return; } else { $21 = (_i64Subtract(($12|0),($15|0),($5|0),($6|0))|0); $22 = (getTempRet0() | 0); $23 = (+($21|0)); $24 = $23 / 15000.0; _Event_RaiseFloat((1253936),$24); STACKTOP = sp;return; } } function _MPConnection_CheckDisconnection() { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; $1 = sp + 4|0; HEAP32[$0>>2] = 0; $2 = HEAP32[346150]|0; $3 = (_Socket_Available($2,$0)|0); $4 = HEAP32[346150]|0; $5 = (_Socket_Poll($4,0,$1)|0); $6 = HEAP8[1408295]|0; $7 = ($6<<24>>24)!=(0); $8 = $5 | $3; $9 = ($8|0)!=(0); $10 = $9 | $7; if (!($10)) { $11 = HEAP32[$0>>2]|0; $12 = ($11|0)!=(0); $13 = HEAP8[$1>>0]|0; $14 = ($13<<24>>24)==(0); $or$cond = $12 | $14; if ($or$cond) { STACKTOP = sp;return; } } _Game_Disconnect(17932,17940); STACKTOP = sp;return; } function _Server_CheckAsyncResources() { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 448|0; $0 = sp; $1 = sp + 432|0; $2 = (_Http_GetResult(17924,$0)|0); $3 = ($2<<24>>24)==(0); L1: do { if (!($3)) { $4 = ((($0)) + 421|0); $5 = HEAP8[$4>>0]|0; $6 = ($5<<24>>24)==(0); if (!($6)) { _TextureCache_Update($0); _TexturePack_Extract_Req($0); _HttpRequest_Free($0); break; } $7 = ((($0)) + 280|0); $8 = HEAP32[$7>>2]|0; $9 = ($8|0)==(0); if (!($9)) { _Logger_SysWarn($8,36531,52); break; } $10 = ((($0)) + 272|0); $11 = HEAP32[$10>>2]|0; HEAP32[$1>>2] = $11; switch ($11|0) { case 200: case 304: { break L1; break; } default: { _Chat_Add1(36563,$1); break L1; } } } } while(0); STACKTOP = sp;return; } function _MPConnection_FailConnect($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 144|0; $1 = sp + 128|0; $2 = sp + 136|0; $3 = sp; HEAP32[$1>>2] = $0; HEAP8[1408296] = 0; HEAP32[$2>>2] = $3; $4 = ((($2)) + 4|0); HEAP16[$4>>1] = 0; $5 = ((($2)) + 6|0); HEAP16[$5>>1] = 128; $6 = ($0|0)==(0); if (!($6)) { _String_Format3($2,36766,(1384588),(1384596),$1); HEAP16[$4>>1] = 0; } _String_Format2($2,36797,(1384588),(1384596)); _Game_Disconnect($2,17948); _Server_Free(); STACKTOP = sp;return; } function _MPConnection_FinishConnect() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; HEAP8[1408296] = 0; _Event_RaiseVoid(1259656); _Event_RaiseFloat((1253936),0.0); HEAP32[346151] = 506320; HEAP32[(1384576)>>2] = 526800; _Protocol_Reset(); _Classic_SendLogin(11488,11496); $0 = (_DateTime_CurrentUTC_MS()|0); $1 = (getTempRet0() | 0); $2 = 569584; $3 = $2; HEAP32[$3>>2] = $0; $4 = (($2) + 4)|0; $5 = $4; HEAP32[$5>>2] = $1; return; } function _SPConnection_BeginConnect() { var $$08 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; $1 = sp; $2 = HEAP8[1408235]|0; HEAP8[1408231] = $2; $3 = ($2<<24>>24)==(0); $4 = $3 ? 50 : 66; $$08 = 1; while(1) { $5 = (634116 + ($$08)|0); HEAP8[$5>>0] = 1; $6 = (634884 + ($$08)|0); HEAP8[$6>>0] = 1; $7 = (($$08) + 1)|0; $exitcond = ($7|0)==($4|0); if ($exitcond) { break; } else { $$08 = $7; } } _Event_RaiseVoid(1253156); $8 = 11488; $9 = $8; $10 = HEAP32[$9>>2]|0; $11 = (($8) + 4)|0; $12 = $11; $13 = HEAP32[$12>>2]|0; $14 = $0; $15 = $14; HEAP32[$15>>2] = $10; $16 = (($14) + 4)|0; $17 = $16; HEAP32[$17>>2] = $13; $18 = (_String_IndexOfAt($0,0,47)|0); $19 = ($18|0)>(-1); if ($19) { label = 5; } else { $20 = (_String_IndexOfAt($0,0,92)|0); $21 = ($20|0)>(-1); if ($21) { label = 5; } } if ((label|0) == 5) { $22 = (_File_Exists($0)|0); $23 = ($22|0)==(0); if (!($23)) { _Map_LoadFrom($0); STACKTOP = sp;return; } } _Random_SeedFromCurrentTime($1); _World_SetDimensions(128,64,128); HEAP8[1408240] = 1; $24 = (_Random_Next($1,2147483647)|0); HEAP32[315079] = $24; _GeneratingScreen_Show(); STACKTOP = sp;return; } function _SPConnection_Tick($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[(1384581)>>0]|0; $2 = ($1<<24>>24)==(0); if (!($2)) { return; } $3 = HEAP32[346152]|0; $4 = (($3|0) % 3)&-1; $5 = ($4|0)==(0); if ($5) { _Physics_Tick(); _Server_CheckAsyncResources(); } $6 = HEAP32[346152]|0; $7 = (($6) + 1)|0; HEAP32[346152] = $7; return; } function _SPConnection_SendBlock($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var label = 0, sp = 0; sp = STACKTOP; _Physics_OnBlockChanged($0,$1,$2,$3,$4); return; } function _SPConnection_SendChat($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $1 = sp + 24|0; $2 = sp + 16|0; $3 = sp + 8|0; $4 = sp; $5 = ((($0)) + 4|0); $6 = HEAP16[$5>>1]|0; $7 = ($6<<16>>16)==(0); if ($7) { STACKTOP = sp;return; } HEAP8[1408298] = 0; $8 = $0; $9 = $8; $10 = HEAP32[$9>>2]|0; $11 = (($8) + 4)|0; $12 = $11; $13 = HEAP32[$12>>2]|0; $14 = $1; $15 = $14; HEAP32[$15>>2] = $10; $16 = (($14) + 4)|0; $17 = $16; HEAP32[$17>>2] = $13; $18 = ((($1)) + 4|0); $19 = HEAP16[$18>>1]|0; $20 = ($19&65535)>(64); if ($20) { while(1) { _String_UNSAFE_Substring($3,$1,0,64); $21 = $3; $22 = $21; $23 = HEAP32[$22>>2]|0; $24 = (($21) + 4)|0; $25 = $24; $26 = HEAP32[$25>>2]|0; $27 = $2; $28 = $27; HEAP32[$28>>2] = $23; $29 = (($27) + 4)|0; $30 = $29; HEAP32[$30>>2] = $26; _SPConnection_AddPart($2); _String_UNSAFE_SubstringAt($4,$1,64); $31 = $4; $32 = $31; $33 = HEAP32[$32>>2]|0; $34 = (($31) + 4)|0; $35 = $34; $36 = HEAP32[$35>>2]|0; $37 = $1; $38 = $37; HEAP32[$38>>2] = $33; $39 = (($37) + 4)|0; $40 = $39; HEAP32[$40>>2] = $36; $41 = HEAP16[$18>>1]|0; $42 = ($41&65535)>(64); if (!($42)) { break; } } } _SPConnection_AddPart($1); STACKTOP = sp;return; } function _SPConnection_SendPosition($0,$1,$2) { $0 = $0|0; $1 = +$1; $2 = +$2; var label = 0, sp = 0; sp = STACKTOP; return; } function _SPConnection_SendData($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; return; } function _SPConnection_AddPart($0) { $0 = $0|0; var $$07 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 144|0; $1 = sp + 128|0; $2 = sp; HEAP32[$1>>2] = $2; $3 = ((($1)) + 4|0); HEAP16[$3>>1] = 0; $4 = ((($1)) + 6|0); HEAP16[$4>>1] = 128; $5 = HEAP8[1408298]|0; $6 = (_Drawer2D_IsWhiteCol($5)|0); $7 = ($6<<24>>24)==(0); if ($7) { _String_Append($1,38); $8 = HEAP8[1408298]|0; _String_Append($1,$8); } _String_AppendString($1,$0); $9 = HEAP16[$3>>1]|0; $10 = ($9<<16>>16)==(0); if (!($10)) { $$07 = 0; while(1) { $11 = HEAP32[$1>>2]|0; $12 = (($11) + ($$07)|0); $13 = HEAP8[$12>>0]|0; $14 = ($13<<24>>24)==(37); if ($14) { HEAP8[$12>>0] = 38; } $15 = (($$07) + 1)|0; $16 = HEAP16[$3>>1]|0; $17 = $16&65535; $18 = ($15>>>0)<($17>>>0); if ($18) { $$07 = $15; } else { break; } } } _String_UNSAFE_TrimEnd($1); $19 = HEAP16[$3>>1]|0; $20 = $19&65535; $21 = (_Drawer2D_LastCol($1,$20)|0); $22 = ($21<<24>>24)==(0); if ($22) { _Chat_Add($1); STACKTOP = sp;return; } HEAP8[1408298] = $21; _Chat_Add($1); STACKTOP = sp;return; } function _Server_RetrieveTexturePack($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408236]|0; $2 = ($1<<24>>24)==(0); if ($2) { return; } $3 = (_TextureCache_HasDenied($0)|0); $4 = ($3<<24>>24)==(0); if (!($4)) { return; } $5 = ((($0)) + 4|0); $6 = HEAP16[$5>>1]|0; $7 = ($6<<16>>16)==(0); if (!($7)) { $8 = (_TextureCache_HasAccepted($0)|0); $9 = ($8<<24>>24)==(0); if ($9) { _TexPackOverlay_Show($0); return; } } _World_ApplyTexturePack($0); return; } function _Ping_NextPingId() { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[346153]|0; $1 = (((526944 + (($0*24)|0)|0)) + 16|0); $2 = HEAP16[$1>>1]|0; $3 = $2&65535; $4 = (($3) + 1)|0; $5 = (($0) + 1)|0; $6 = (($5>>>0) % 10)&-1; $7 = $4&65535; $8 = (((526944 + (($6*24)|0)|0)) + 16|0); HEAP16[$8>>1] = $7; $9 = (_DateTime_CurrentUTC_MS()|0); $10 = (getTempRet0() | 0); $11 = (526944 + (($6*24)|0)|0); $12 = $11; $13 = $12; HEAP32[$13>>2] = $9; $14 = (($12) + 4)|0; $15 = $14; HEAP32[$15>>2] = $10; $16 = (((526944 + (($6*24)|0)|0)) + 8|0); $17 = $16; $18 = $17; HEAP32[$18>>2] = 0; $19 = (($17) + 4)|0; $20 = $19; HEAP32[$20>>2] = 0; HEAP32[346153] = $6; return ($4|0); } function _Ping_Update($0) { $0 = $0|0; var $$07$lcssa = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP16[(526960)>>1]|0; $2 = $1&65535; $3 = ($2|0)==($0|0); if ($3) { $$07$lcssa = 0; } else { $11 = HEAP16[(526984)>>1]|0; $12 = $11&65535; $13 = ($12|0)==($0|0); if ($13) { $$07$lcssa = 1; } else { $14 = HEAP16[(527008)>>1]|0; $15 = $14&65535; $16 = ($15|0)==($0|0); if ($16) { $$07$lcssa = 2; } else { $17 = HEAP16[(527032)>>1]|0; $18 = $17&65535; $19 = ($18|0)==($0|0); if ($19) { $$07$lcssa = 3; } else { $20 = HEAP16[(527056)>>1]|0; $21 = $20&65535; $22 = ($21|0)==($0|0); if ($22) { $$07$lcssa = 4; } else { $23 = HEAP16[(527080)>>1]|0; $24 = $23&65535; $25 = ($24|0)==($0|0); if ($25) { $$07$lcssa = 5; } else { $26 = HEAP16[(527104)>>1]|0; $27 = $26&65535; $28 = ($27|0)==($0|0); if ($28) { $$07$lcssa = 6; } else { $29 = HEAP16[(527128)>>1]|0; $30 = $29&65535; $31 = ($30|0)==($0|0); if ($31) { $$07$lcssa = 7; } else { $32 = HEAP16[(527152)>>1]|0; $33 = $32&65535; $34 = ($33|0)==($0|0); if ($34) { $$07$lcssa = 8; } else { $35 = HEAP16[(527176)>>1]|0; $36 = $35&65535; $37 = ($36|0)==($0|0); if ($37) { $$07$lcssa = 9; } else { return; } } } } } } } } } } $4 = (_DateTime_CurrentUTC_MS()|0); $5 = (getTempRet0() | 0); $6 = (((526944 + (($$07$lcssa*24)|0)|0)) + 8|0); $7 = $6; $8 = $7; HEAP32[$8>>2] = $4; $9 = (($7) + 4)|0; $10 = $9; HEAP32[$10>>2] = $5; return; } function _Ping_AveragePingMS() { var $$025 = 0, $$1$1 = 0, $$1$2 = 0, $$1$3 = 0, $$1$4 = 0, $$1$5 = 0, $$1$6 = 0, $$1$7 = 0, $$1$8 = 0, $$1$9 = 0, $$129$1 = 0, $$129$2 = 0, $$129$3 = 0, $$129$4 = 0, $$129$5 = 0, $$129$6 = 0, $$129$7 = 0, $$129$8 = 0, $$129$9 = 0, $0 = 0; var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $23 = 0, $24 = 0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; var $98 = 0, $99 = 0, $not$or$cond = 0, $not$or$cond$1 = 0, $not$or$cond$2 = 0, $not$or$cond$3 = 0, $not$or$cond$4 = 0, $not$or$cond$5 = 0, $not$or$cond$6 = 0, $not$or$cond$7 = 0, $not$or$cond$8 = 0, $not$or$cond$9 = 0, $not$or$cond$9$demorgan33 = 0, $not$or$cond$demorgan = 0, $not$or$cond$demorgan$1 = 0, $not$or$cond$demorgan$2 = 0, $not$or$cond$demorgan$3 = 0, $not$or$cond$demorgan$4 = 0, $not$or$cond$demorgan$5 = 0, $not$or$cond$demorgan$6 = 0; var $not$or$cond$demorgan$7 = 0, $not$or$cond$demorgan$8 = 0, $or$cond = 0, $or$cond$1 = 0, $or$cond$2 = 0, $or$cond$3 = 0, $or$cond$4 = 0, $or$cond$5 = 0, $or$cond$6 = 0, $or$cond$7 = 0, $or$cond$8 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = 526944; $1 = $0; $2 = HEAP32[$1>>2]|0; $3 = (($0) + 4)|0; $4 = $3; $5 = HEAP32[$4>>2]|0; $6 = (526952); $7 = $6; $8 = HEAP32[$7>>2]|0; $9 = (($6) + 4)|0; $10 = $9; $11 = HEAP32[$10>>2]|0; $12 = ($2|0)==(0); $13 = ($5|0)==(0); $14 = $12 & $13; $15 = ($8|0)==(0); $16 = ($11|0)==(0); $17 = $15 & $16; $not$or$cond$demorgan = $14 | $17; $not$or$cond = $not$or$cond$demorgan ^ 1; $18 = $not$or$cond&1; $19 = (526968); $20 = $19; $21 = HEAP32[$20>>2]|0; $22 = (($19) + 4)|0; $23 = $22; $24 = HEAP32[$23>>2]|0; $25 = (526976); $26 = $25; $27 = HEAP32[$26>>2]|0; $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; $31 = ($21|0)==(0); $32 = ($24|0)==(0); $33 = $31 & $32; $34 = ($27|0)==(0); $35 = ($30|0)==(0); $36 = $34 & $35; $not$or$cond$demorgan$1 = $33 | $36; $not$or$cond$1 = $not$or$cond$demorgan$1 ^ 1; $37 = $not$or$cond$1&1; $$129$1 = (($18) + ($37))|0; $38 = (526992); $39 = $38; $40 = HEAP32[$39>>2]|0; $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; $44 = (527000); $45 = $44; $46 = HEAP32[$45>>2]|0; $47 = (($44) + 4)|0; $48 = $47; $49 = HEAP32[$48>>2]|0; $50 = ($40|0)==(0); $51 = ($43|0)==(0); $52 = $50 & $51; $53 = ($46|0)==(0); $54 = ($49|0)==(0); $55 = $53 & $54; $not$or$cond$demorgan$2 = $52 | $55; $not$or$cond$2 = $not$or$cond$demorgan$2 ^ 1; $56 = $not$or$cond$2&1; $$129$2 = (($$129$1) + ($56))|0; $57 = (527016); $58 = $57; $59 = HEAP32[$58>>2]|0; $60 = (($57) + 4)|0; $61 = $60; $62 = HEAP32[$61>>2]|0; $63 = (527024); $64 = $63; $65 = HEAP32[$64>>2]|0; $66 = (($63) + 4)|0; $67 = $66; $68 = HEAP32[$67>>2]|0; $69 = ($59|0)==(0); $70 = ($62|0)==(0); $71 = $69 & $70; $72 = ($65|0)==(0); $73 = ($68|0)==(0); $74 = $72 & $73; $not$or$cond$demorgan$3 = $71 | $74; $not$or$cond$3 = $not$or$cond$demorgan$3 ^ 1; $75 = $not$or$cond$3&1; $$129$3 = (($$129$2) + ($75))|0; $76 = (527040); $77 = $76; $78 = HEAP32[$77>>2]|0; $79 = (($76) + 4)|0; $80 = $79; $81 = HEAP32[$80>>2]|0; $82 = (527048); $83 = $82; $84 = HEAP32[$83>>2]|0; $85 = (($82) + 4)|0; $86 = $85; $87 = HEAP32[$86>>2]|0; $88 = ($78|0)==(0); $89 = ($81|0)==(0); $90 = $88 & $89; $91 = ($84|0)==(0); $92 = ($87|0)==(0); $93 = $91 & $92; $not$or$cond$demorgan$4 = $90 | $93; $not$or$cond$4 = $not$or$cond$demorgan$4 ^ 1; $94 = $not$or$cond$4&1; $$129$4 = (($$129$3) + ($94))|0; $95 = (527064); $96 = $95; $97 = HEAP32[$96>>2]|0; $98 = (($95) + 4)|0; $99 = $98; $100 = HEAP32[$99>>2]|0; $101 = (527072); $102 = $101; $103 = HEAP32[$102>>2]|0; $104 = (($101) + 4)|0; $105 = $104; $106 = HEAP32[$105>>2]|0; $107 = ($97|0)==(0); $108 = ($100|0)==(0); $109 = $107 & $108; $110 = ($103|0)==(0); $111 = ($106|0)==(0); $112 = $110 & $111; $not$or$cond$demorgan$5 = $109 | $112; $not$or$cond$5 = $not$or$cond$demorgan$5 ^ 1; $113 = $not$or$cond$5&1; $$129$5 = (($$129$4) + ($113))|0; $114 = (527088); $115 = $114; $116 = HEAP32[$115>>2]|0; $117 = (($114) + 4)|0; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (527096); $121 = $120; $122 = HEAP32[$121>>2]|0; $123 = (($120) + 4)|0; $124 = $123; $125 = HEAP32[$124>>2]|0; $126 = ($116|0)==(0); $127 = ($119|0)==(0); $128 = $126 & $127; $129 = ($122|0)==(0); $130 = ($125|0)==(0); $131 = $129 & $130; $not$or$cond$demorgan$6 = $128 | $131; $not$or$cond$6 = $not$or$cond$demorgan$6 ^ 1; $132 = $not$or$cond$6&1; $$129$6 = (($$129$5) + ($132))|0; $133 = (527112); $134 = $133; $135 = HEAP32[$134>>2]|0; $136 = (($133) + 4)|0; $137 = $136; $138 = HEAP32[$137>>2]|0; $139 = (527120); $140 = $139; $141 = HEAP32[$140>>2]|0; $142 = (($139) + 4)|0; $143 = $142; $144 = HEAP32[$143>>2]|0; $145 = ($135|0)==(0); $146 = ($138|0)==(0); $147 = $145 & $146; $148 = ($141|0)==(0); $149 = ($144|0)==(0); $150 = $148 & $149; $not$or$cond$demorgan$7 = $147 | $150; $not$or$cond$7 = $not$or$cond$demorgan$7 ^ 1; $151 = $not$or$cond$7&1; $$129$7 = (($$129$6) + ($151))|0; $152 = (527136); $153 = $152; $154 = HEAP32[$153>>2]|0; $155 = (($152) + 4)|0; $156 = $155; $157 = HEAP32[$156>>2]|0; $158 = (527144); $159 = $158; $160 = HEAP32[$159>>2]|0; $161 = (($158) + 4)|0; $162 = $161; $163 = HEAP32[$162>>2]|0; $164 = ($154|0)==(0); $165 = ($157|0)==(0); $166 = $164 & $165; $167 = ($160|0)==(0); $168 = ($163|0)==(0); $169 = $167 & $168; $not$or$cond$demorgan$8 = $166 | $169; $not$or$cond$8 = $not$or$cond$demorgan$8 ^ 1; $170 = $not$or$cond$8&1; $$129$8 = (($$129$7) + ($170))|0; $171 = (527160); $172 = $171; $173 = HEAP32[$172>>2]|0; $174 = (($171) + 4)|0; $175 = $174; $176 = HEAP32[$175>>2]|0; $177 = (527168); $178 = $177; $179 = HEAP32[$178>>2]|0; $180 = (($177) + 4)|0; $181 = $180; $182 = HEAP32[$181>>2]|0; $183 = ($173|0)==(0); $184 = ($176|0)==(0); $185 = $183 & $184; $186 = ($179|0)==(0); $187 = ($182|0)==(0); $188 = $186 & $187; $not$or$cond$9$demorgan33 = $185 | $188; $not$or$cond$9 = $not$or$cond$9$demorgan33 ^ 1; $189 = $not$or$cond$9&1; $$129$9 = (($$129$8) + ($189))|0; $190 = ($$129$9|0)==(0); if ($190) { $$025 = 0; return ($$025|0); } $191 = (_i64Subtract(($179|0),($182|0),($173|0),($176|0))|0); $192 = (getTempRet0() | 0); $193 = $not$or$cond$9$demorgan33 ? 0 : $191; $or$cond$8 = $166 | $169; $194 = (_i64Subtract(($160|0),($163|0),($154|0),($157|0))|0); $195 = (getTempRet0() | 0); $196 = $or$cond$8 ? 0 : $194; $or$cond$7 = $147 | $150; $197 = (_i64Subtract(($141|0),($144|0),($135|0),($138|0))|0); $198 = (getTempRet0() | 0); $199 = $or$cond$7 ? 0 : $197; $or$cond$6 = $128 | $131; $200 = (_i64Subtract(($122|0),($125|0),($116|0),($119|0))|0); $201 = (getTempRet0() | 0); $202 = $or$cond$6 ? 0 : $200; $or$cond$5 = $109 | $112; $203 = (_i64Subtract(($103|0),($106|0),($97|0),($100|0))|0); $204 = (getTempRet0() | 0); $205 = $or$cond$5 ? 0 : $203; $or$cond$4 = $90 | $93; $206 = (_i64Subtract(($84|0),($87|0),($78|0),($81|0))|0); $207 = (getTempRet0() | 0); $208 = $or$cond$4 ? 0 : $206; $or$cond$3 = $71 | $74; $209 = (_i64Subtract(($65|0),($68|0),($59|0),($62|0))|0); $210 = (getTempRet0() | 0); $211 = $or$cond$3 ? 0 : $209; $or$cond$2 = $52 | $55; $212 = (_i64Subtract(($46|0),($49|0),($40|0),($43|0))|0); $213 = (getTempRet0() | 0); $214 = $or$cond$2 ? 0 : $212; $or$cond$1 = $33 | $36; $215 = (_i64Subtract(($27|0),($30|0),($21|0),($24|0))|0); $216 = (getTempRet0() | 0); $217 = $or$cond$1 ? 0 : $215; $or$cond = $14 | $17; $218 = (_i64Subtract(($8|0),($11|0),($2|0),($5|0))|0); $219 = (getTempRet0() | 0); $220 = $or$cond ? 0 : $218; $$1$1 = (($217) + ($220))|0; $$1$2 = (($214) + ($$1$1))|0; $$1$3 = (($211) + ($$1$2))|0; $$1$4 = (($208) + ($$1$3))|0; $$1$5 = (($205) + ($$1$4))|0; $$1$6 = (($202) + ($$1$5))|0; $$1$7 = (($199) + ($$1$6))|0; $$1$8 = (($196) + ($$1$7))|0; $$1$9 = (($193) + ($$1$8))|0; $221 = (($$1$9|0) / 2)&-1; $222 = (($221|0) / ($$129$9|0))&-1; $$025 = $222; return ($$025|0); } function _Stream_Read($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$0 = 0, $$01011 = 0, $$0912 = 0, $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $3 = sp; $4 = ($2|0)==(0); L1: do { if ($4) { $$0 = 0; } else { $$01011 = $1;$$0912 = $2; while(1) { $5 = HEAP32[$0>>2]|0; $6 = (FUNCTION_TABLE_iiiii[$5 & 63]($0,$$01011,$$0912,$3)|0); $7 = ($6|0)==(0); if (!($7)) { $$0 = $6; break L1; } $8 = HEAP32[$3>>2]|0; $9 = ($8|0)==(0); if ($9) { $$0 = -857812991; break L1; } $10 = (($$01011) + ($8)|0); $11 = (($$0912) - ($8))|0; $12 = ($11|0)==(0); if ($12) { $$0 = 0; break; } else { $$01011 = $10;$$0912 = $11; } } } } while(0); STACKTOP = sp;return ($$0|0); } function _Stream_Write($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$0 = 0, $$01011 = 0, $$0912 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $3 = sp; $4 = ((($0)) + 8|0); $5 = ($2|0)==(0); L1: do { if ($5) { $$0 = 0; } else { $$01011 = $1;$$0912 = $2; while(1) { $6 = HEAP32[$4>>2]|0; $7 = (FUNCTION_TABLE_iiiii[$6 & 63]($0,$$01011,$$0912,$3)|0); $8 = ($7|0)==(0); if (!($8)) { $$0 = $7; break L1; } $9 = HEAP32[$3>>2]|0; $10 = ($9|0)==(0); if ($10) { $$0 = -857812991; break L1; } $11 = (($$01011) + ($9)|0); $12 = (($$0912) - ($9))|0; $13 = ($12|0)==(0); if ($13) { $$0 = 0; break; } else { $$01011 = $11;$$0912 = $12; } } } } while(0); STACKTOP = sp;return ($$0|0); } function _Stream_DefaultReadU8($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = HEAP32[$0>>2]|0; $4 = (FUNCTION_TABLE_iiiii[$3 & 63]($0,$1,1,$2)|0); $5 = ($4|0)==(0); if (!($5)) { $9 = $4; STACKTOP = sp;return ($9|0); } $6 = HEAP32[$2>>2]|0; $7 = ($6|0)==(0); $8 = $7 ? -857812991 : 0; $9 = $8; STACKTOP = sp;return ($9|0); } function _Stream_Init($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; HEAP32[$0>>2] = 31; $1 = ((($0)) + 4|0); HEAP32[$1>>2] = 53; $2 = ((($0)) + 8|0); HEAP32[$2>>2] = 32; $3 = ((($0)) + 12|0); HEAP32[$3>>2] = 54; $4 = ((($0)) + 16|0); HEAP32[$4>>2] = 55; $5 = ((($0)) + 20|0); HEAP32[$5>>2] = 56; $6 = ((($0)) + 24|0); HEAP32[$6>>2] = 56; $7 = ((($0)) + 28|0); HEAP32[$7>>2] = 19; return; } function _Stream_DefaultRead($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var label = 0, sp = 0; sp = STACKTOP; return -857812990; } function _Stream_DefaultWrite($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var label = 0, sp = 0; sp = STACKTOP; return -857812990; } function _Stream_DefaultSkip($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $$01112 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 3600|0; $2 = sp; $3 = sp + 3584|0; $4 = ($1|0)==(0); L1: do { if ($4) { $$0 = 0; } else { $$01112 = $1; while(1) { $7 = ($$01112>>>0)<(3584); $8 = $7 ? $$01112 : 3584; $9 = HEAP32[$0>>2]|0; $10 = (FUNCTION_TABLE_iiiii[$9 & 63]($0,$2,$8,$3)|0); $11 = ($10|0)==(0); if (!($11)) { $$0 = $10; break L1; } $12 = HEAP32[$3>>2]|0; $13 = ($12|0)==(0); $5 = (($$01112) - ($12))|0; if ($13) { $$0 = -857812991; break L1; } $6 = ($5|0)==(0); if ($6) { $$0 = 0; break; } else { $$01112 = $5; } } } } while(0); STACKTOP = sp;return ($$0|0); } function _Stream_DefaultSeek($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; return -857812990; } function _Stream_DefaultGet($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; return -857812990; } function _Stream_DefaultClose($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return 0; } function _Stream_OpenFile($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = (_File_Open($2,$1)|0); $4 = HEAP32[$2>>2]|0; _Stream_FromFile($0,$4); STACKTOP = sp;return ($3|0); } function _Stream_FromFile($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; _Stream_Init($0); $2 = ((($0)) + 32|0); HEAP32[$2>>2] = $1; HEAP32[$0>>2] = 33; $3 = ((($0)) + 8|0); HEAP32[$3>>2] = 34; $4 = ((($0)) + 28|0); HEAP32[$4>>2] = 20; $5 = ((($0)) + 12|0); HEAP32[$5>>2] = 57; $6 = ((($0)) + 16|0); HEAP32[$6>>2] = 58; $7 = ((($0)) + 20|0); HEAP32[$7>>2] = 59; $8 = ((($0)) + 24|0); HEAP32[$8>>2] = 60; return; } function _Stream_FileRead($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ((($0)) + 32|0); $5 = HEAP32[$4>>2]|0; $6 = (_File_Read($5,$1,$2,$3)|0); return ($6|0); } function _Stream_FileWrite($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ((($0)) + 32|0); $5 = HEAP32[$4>>2]|0; $6 = (_File_Write($5,$1,$2,$3)|0); return ($6|0); } function _Stream_FileClose($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 32|0); $2 = HEAP32[$1>>2]|0; $3 = (_File_Close($2)|0); HEAP32[$1>>2] = 0; return ($3|0); } function _Stream_FileSkip($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 32|0); $3 = HEAP32[$2>>2]|0; $4 = (_File_Seek($3,$1,1)|0); return ($4|0); } function _Stream_FileSeek($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 32|0); $3 = HEAP32[$2>>2]|0; $4 = (_File_Seek($3,$1,0)|0); return ($4|0); } function _Stream_FilePosition($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 32|0); $3 = HEAP32[$2>>2]|0; $4 = (_File_Position($3,$1)|0); return ($4|0); } function _Stream_FileLength($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 32|0); $3 = HEAP32[$2>>2]|0; $4 = (_File_Length($3,$1)|0); return ($4|0); } function _Stream_CreateFile($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = (_File_Create($2,$1)|0); $4 = HEAP32[$2>>2]|0; _Stream_FromFile($0,$4); STACKTOP = sp;return ($3|0); } function _Stream_WriteAllTo($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$0 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $3 = sp; $4 = (_Stream_CreateFile($3,$0)|0); $5 = ($4|0)==(0); if (!($5)) { $$0 = $4; STACKTOP = sp;return ($$0|0); } $6 = (_Stream_Write($3,$1,$2)|0); $7 = ((($3)) + 28|0); $8 = HEAP32[$7>>2]|0; $9 = (FUNCTION_TABLE_ii[$8 & 31]($3)|0); $10 = ($6|0)==(0); $11 = $10 ? $9 : $6; $$0 = $11; STACKTOP = sp;return ($$0|0); } function _Stream_ReadonlyPortion($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; _Stream_Init($0); HEAP32[$0>>2] = 35; $3 = ((($0)) + 4|0); HEAP32[$3>>2] = 61; $4 = ((($0)) + 12|0); HEAP32[$4>>2] = 62; $5 = ((($0)) + 20|0); HEAP32[$5>>2] = 63; $6 = ((($0)) + 24|0); HEAP32[$6>>2] = 64; $7 = ((($0)) + 32|0); HEAP32[$7>>2] = $1; $8 = ((($0)) + 36|0); HEAP32[$8>>2] = $2; $9 = ((($0)) + 40|0); HEAP32[$9>>2] = $2; return; } function _Stream_PortionRead($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ((($0)) + 32|0); $5 = ((($0)) + 36|0); $6 = HEAP32[$5>>2]|0; $7 = ($6>>>0)>($2>>>0); $$ = $7 ? $2 : $6; $8 = HEAP32[$4>>2]|0; $9 = HEAP32[$8>>2]|0; $10 = (FUNCTION_TABLE_iiiii[$9 & 63]($8,$1,$$,$3)|0); $11 = HEAP32[$3>>2]|0; $12 = HEAP32[$5>>2]|0; $13 = (($12) - ($11))|0; HEAP32[$5>>2] = $13; return ($10|0); } function _Stream_PortionReadU8($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 36|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(0); if ($4) { $$0 = -857812991; return ($$0|0); } $5 = ((($0)) + 32|0); $6 = HEAP32[$5>>2]|0; $7 = (($3) + -1)|0; HEAP32[$2>>2] = $7; $8 = ((($6)) + 4|0); $9 = HEAP32[$8>>2]|0; $10 = (FUNCTION_TABLE_iii[$9 & 127]($6,$1)|0); $$0 = $10; return ($$0|0); } function _Stream_PortionSkip($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 36|0); $3 = HEAP32[$2>>2]|0; $4 = ($3>>>0)<($1>>>0); if ($4) { $$0 = -857812989; return ($$0|0); } $5 = ((($0)) + 32|0); $6 = HEAP32[$5>>2]|0; $7 = ((($6)) + 12|0); $8 = HEAP32[$7>>2]|0; $9 = (FUNCTION_TABLE_iii[$8 & 127]($6,$1)|0); $10 = ($9|0)==(0); if (!($10)) { $$0 = $9; return ($$0|0); } $11 = HEAP32[$2>>2]|0; $12 = (($11) - ($1))|0; HEAP32[$2>>2] = $12; $$0 = 0; return ($$0|0); } function _Stream_PortionPosition($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 40|0); $3 = HEAP32[$2>>2]|0; $4 = ((($0)) + 36|0); $5 = HEAP32[$4>>2]|0; $6 = (($3) - ($5))|0; HEAP32[$1>>2] = $6; return 0; } function _Stream_PortionLength($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 40|0); $3 = HEAP32[$2>>2]|0; HEAP32[$1>>2] = $3; return 0; } function _Stream_ReadonlyMemory($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; _Stream_Init($0); HEAP32[$0>>2] = 36; $3 = ((($0)) + 4|0); HEAP32[$3>>2] = 65; $4 = ((($0)) + 12|0); HEAP32[$4>>2] = 66; $5 = ((($0)) + 16|0); HEAP32[$5>>2] = 67; $6 = ((($0)) + 20|0); HEAP32[$6>>2] = 68; $7 = ((($0)) + 24|0); HEAP32[$7>>2] = 69; $8 = ((($0)) + 32|0); HEAP32[$8>>2] = $1; $9 = ((($0)) + 36|0); HEAP32[$9>>2] = $2; $10 = ((($0)) + 40|0); HEAP32[$10>>2] = $2; $11 = ((($0)) + 44|0); HEAP32[$11>>2] = $1; return; } function _Stream_MemoryRead($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ((($0)) + 36|0); $5 = HEAP32[$4>>2]|0; $6 = ($5>>>0)>($2>>>0); $$ = $6 ? $2 : $5; $7 = ((($0)) + 32|0); $8 = HEAP32[$7>>2]|0; _Mem_Copy($1,$8,$$); $9 = HEAP32[$7>>2]|0; $10 = (($9) + ($$)|0); HEAP32[$7>>2] = $10; $11 = HEAP32[$4>>2]|0; $12 = (($11) - ($$))|0; HEAP32[$4>>2] = $12; HEAP32[$3>>2] = $$; return 0; } function _Stream_MemoryReadU8($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 36|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(0); if ($4) { $$0 = -857812991; return ($$0|0); } $5 = ((($0)) + 32|0); $6 = HEAP32[$5>>2]|0; $7 = HEAP8[$6>>0]|0; HEAP8[$1>>0] = $7; $8 = HEAP32[$5>>2]|0; $9 = ((($8)) + 1|0); HEAP32[$5>>2] = $9; $10 = HEAP32[$2>>2]|0; $11 = (($10) + -1)|0; HEAP32[$2>>2] = $11; $$0 = 0; return ($$0|0); } function _Stream_MemorySkip($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 36|0); $3 = HEAP32[$2>>2]|0; $4 = ($3>>>0)<($1>>>0); $5 = ((($0)) + 32|0); if ($4) { $$0 = -857812989; return ($$0|0); } $6 = (($3) - ($1))|0; $7 = HEAP32[$5>>2]|0; $8 = (($7) + ($1)|0); HEAP32[$5>>2] = $8; HEAP32[$2>>2] = $6; $$0 = 0; return ($$0|0); } function _Stream_MemorySeek($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 40|0); $3 = HEAP32[$2>>2]|0; $4 = ($3>>>0)>($1>>>0); if (!($4)) { $$0 = -857812989; return ($$0|0); } $5 = ((($0)) + 36|0); $6 = (($3) - ($1))|0; $7 = ((($0)) + 32|0); $8 = ((($0)) + 44|0); $9 = HEAP32[$8>>2]|0; $10 = (($9) + ($1)|0); HEAP32[$7>>2] = $10; HEAP32[$5>>2] = $6; $$0 = 0; return ($$0|0); } function _Stream_MemoryPosition($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 40|0); $3 = HEAP32[$2>>2]|0; $4 = ((($0)) + 36|0); $5 = HEAP32[$4>>2]|0; $6 = (($3) - ($5))|0; HEAP32[$1>>2] = $6; return 0; } function _Stream_MemoryLength($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 40|0); $3 = HEAP32[$2>>2]|0; HEAP32[$1>>2] = $3; return 0; } function _Stream_ReadonlyBuffered($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $10 = 0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; _Stream_Init($0); HEAP32[$0>>2] = 37; $4 = ((($0)) + 4|0); HEAP32[$4>>2] = 70; $5 = ((($0)) + 16|0); HEAP32[$5>>2] = 71; $6 = ((($0)) + 36|0); HEAP32[$6>>2] = 0; $7 = ((($0)) + 52|0); HEAP32[$7>>2] = 0; $8 = ((($0)) + 32|0); HEAP32[$8>>2] = $2; $9 = ((($0)) + 44|0); HEAP32[$9>>2] = $2; $10 = ((($0)) + 40|0); HEAP32[$10>>2] = $3; $11 = ((($0)) + 48|0); HEAP32[$11>>2] = $1; return; } function _Stream_BufferedRead($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $4 = sp; $5 = ((($0)) + 32|0); $6 = ((($0)) + 36|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)==(0); do { if ($8) { $9 = ((($0)) + 48|0); $10 = HEAP32[$9>>2]|0; $11 = ((($0)) + 44|0); $12 = HEAP32[$11>>2]|0; HEAP32[$5>>2] = $12; $13 = HEAP32[$10>>2]|0; $14 = ((($0)) + 40|0); $15 = HEAP32[$14>>2]|0; $16 = (FUNCTION_TABLE_iiiii[$13 & 63]($10,$12,$15,$4)|0); $17 = ($16|0)==(0); if ($17) { $18 = HEAP32[$4>>2]|0; HEAP32[$6>>2] = $18; $19 = ((($0)) + 52|0); $20 = HEAP32[$19>>2]|0; $21 = (($20) + ($18))|0; HEAP32[$19>>2] = $21; break; } else { $$0 = $16; STACKTOP = sp;return ($$0|0); } } } while(0); $22 = HEAP32[$6>>2]|0; $23 = ($22>>>0)>($2>>>0); $$ = $23 ? $2 : $22; $24 = HEAP32[$5>>2]|0; _Mem_Copy($1,$24,$$); $25 = HEAP32[$5>>2]|0; $26 = (($25) + ($$)|0); HEAP32[$5>>2] = $26; $27 = HEAP32[$6>>2]|0; $28 = (($27) - ($$))|0; HEAP32[$6>>2] = $28; HEAP32[$3>>2] = $$; $$0 = 0; STACKTOP = sp;return ($$0|0); } function _Stream_BufferedReadU8($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 36|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(0); if ($4) { $5 = (_Stream_DefaultReadU8($0,$1)|0); $$0 = $5; return ($$0|0); } else { $6 = ((($0)) + 32|0); $7 = HEAP32[$6>>2]|0; $8 = HEAP8[$7>>0]|0; HEAP8[$1>>0] = $8; $9 = HEAP32[$6>>2]|0; $10 = ((($9)) + 1|0); HEAP32[$6>>2] = $10; $11 = HEAP32[$2>>2]|0; $12 = (($11) + -1)|0; HEAP32[$2>>2] = $12; $$0 = 0; return ($$0|0); } return (0)|0; } function _Stream_BufferedSeek($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 32|0); $3 = ((($0)) + 36|0); $4 = HEAP32[$3>>2]|0; $5 = HEAP32[$2>>2]|0; $6 = ((($0)) + 44|0); $7 = HEAP32[$6>>2]|0; $8 = $7; $9 = (($5) - ($8))|0; $10 = (($9) + ($4))|0; $11 = ((($0)) + 52|0); $12 = HEAP32[$11>>2]|0; $13 = (($12) - ($10))|0; $14 = ($13>>>0)<=($1>>>0); $15 = ($12>>>0)>($1>>>0); $or$cond = $15 & $14; if ($or$cond) { $16 = (($1) - ($13))|0; $17 = (($7) + ($16)|0); HEAP32[$2>>2] = $17; $18 = (($10) - ($16))|0; HEAP32[$3>>2] = $18; $$0 = 0; return ($$0|0); } $19 = ((($0)) + 48|0); $20 = HEAP32[$19>>2]|0; $21 = ((($20)) + 16|0); $22 = HEAP32[$21>>2]|0; $23 = (FUNCTION_TABLE_iii[$22 & 127]($20,$1)|0); $24 = ($23|0)==(0); if (!($24)) { $$0 = $23; return ($$0|0); } $25 = HEAP32[$6>>2]|0; HEAP32[$2>>2] = $25; HEAP32[$3>>2] = 0; HEAP32[$11>>2] = $1; $$0 = 0; return ($$0|0); } function _Stream_GetU16_LE($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[$0>>0]|0; $2 = $1&255; $3 = ((($0)) + 1|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = $5 << 8; $7 = $6 | $2; $8 = $7&65535; return ($8|0); } function _Stream_GetU16_BE($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[$0>>0]|0; $2 = $1&255; $3 = $2 << 8; $4 = ((($0)) + 1|0); $5 = HEAP8[$4>>0]|0; $6 = $5&255; $7 = $3 | $6; $8 = $7&65535; return ($8|0); } function _Stream_GetU32_LE($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[$0>>0]|0; $2 = $1&255; $3 = ((($0)) + 1|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = $5 << 8; $7 = $6 | $2; $8 = ((($0)) + 2|0); $9 = HEAP8[$8>>0]|0; $10 = $9&255; $11 = $10 << 16; $12 = $7 | $11; $13 = ((($0)) + 3|0); $14 = HEAP8[$13>>0]|0; $15 = $14&255; $16 = $15 << 24; $17 = $12 | $16; return ($17|0); } function _Stream_GetU32_BE($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[$0>>0]|0; $2 = $1&255; $3 = $2 << 24; $4 = ((($0)) + 1|0); $5 = HEAP8[$4>>0]|0; $6 = $5&255; $7 = $6 << 16; $8 = $7 | $3; $9 = ((($0)) + 2|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 << 8; $13 = $8 | $12; $14 = ((($0)) + 3|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = $13 | $16; return ($17|0); } function _Stream_SetU16_BE($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (8)?(($1&65535) >>> 8):(($1&65535)); $3 = $2&255; HEAP8[$0>>0] = $3; $4 = $1&255; $5 = ((($0)) + 1|0); HEAP8[$5>>0] = $4; return; } function _Stream_SetU32_LE($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = $1&255; HEAP8[$0>>0] = $2; $3 = (8)?($1 >>> 8):($1); $4 = $3&255; $5 = ((($0)) + 1|0); HEAP8[$5>>0] = $4; $6 = (16)?($1 >>> 16):($1); $7 = $6&255; $8 = ((($0)) + 2|0); HEAP8[$8>>0] = $7; $9 = (24)?($1 >>> 24):($1); $10 = $9&255; $11 = ((($0)) + 3|0); HEAP8[$11>>0] = $10; return; } function _Stream_SetU32_BE($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (24)?($1 >>> 24):($1); $3 = $2&255; HEAP8[$0>>0] = $3; $4 = (16)?($1 >>> 16):($1); $5 = $4&255; $6 = ((($0)) + 1|0); HEAP8[$6>>0] = $5; $7 = (8)?($1 >>> 8):($1); $8 = $7&255; $9 = ((($0)) + 2|0); HEAP8[$9>>0] = $8; $10 = $1&255; $11 = ((($0)) + 3|0); HEAP8[$11>>0] = $10; return; } function _Stream_ReadU32_LE($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = (_Stream_Read($0,$2,4)|0); $4 = ($3|0)==(0); if ($4) { $5 = (_Stream_GetU32_LE($2)|0); HEAP32[$1>>2] = $5; $$0 = 0; } else { $$0 = $3; } STACKTOP = sp;return ($$0|0); } function _Stream_ReadU32_BE($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = (_Stream_Read($0,$2,4)|0); $4 = ($3|0)==(0); if ($4) { $5 = (_Stream_GetU32_BE($2)|0); HEAP32[$1>>2] = $5; $$0 = 0; } else { $$0 = $3; } STACKTOP = sp;return ($$0|0); } function _Stream_ReadLine($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $$014 = 0, $$015 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $switch$split2D = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = sp + 8|0; $4 = ((($1)) + 4|0); HEAP16[$4>>1] = 0; $5 = ((($0)) + 4|0); $$015 = 0; L1: while(1) { $$0 = 0; while(1) { $6 = HEAP32[$5>>2]|0; $7 = (($3) + ($$0)|0); $8 = (FUNCTION_TABLE_iii[$6 & 127]($0,$7)|0); $switch$split2D = ($8|0)<(0); if ($switch$split2D) { label = 10; break L1; } switch ($8|0) { case 0: { break; } default: { $$014 = $8; break L1; } } $9 = (($$0) + 1)|0; $10 = (_Convert_Utf8ToUnicode($2,$3,$9)|0); $11 = ($10|0)==(0); if ($11) { $$0 = $9; } else { break; } } $12 = HEAP16[$2>>1]|0; switch ($12<<16>>16) { case 10: { $$014 = 0; break L1; break; } case -257: case 13: { break; } default: { $13 = (_Convert_UnicodeToCP437($12)|0); _String_Append($1,$13); } } $$015 = 1; } L11: do { if ((label|0) == 10) { switch ($8|0) { case -857812991: { break; } default: { $$014 = $8; break L11; } } $14 = ($$015|0)==(0); $15 = $14 ? -857812991 : 0; $$014 = $15; } } while(0); STACKTOP = sp;return ($$014|0); } function _Stream_WriteLine($0,$1) { $0 = $0|0; $1 = $1|0; var $$0$lcssa = 0, $$02632 = 0, $$027 = 0, $$033 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 2064|0; $2 = sp; $3 = ((($1)) + 4|0); $4 = HEAP16[$3>>1]|0; $5 = ($4<<16>>16)==(0); L1: do { if ($5) { $$0$lcssa = 0; } else { $$02632 = 0;$$033 = 0; while(1) { $6 = ($$033|0)>(2047); if ($6) { $7 = (_Stream_Write($0,$2,$$033)|0); $8 = ($7|0)==(0); if ($8) { $$1 = 0; } else { $$027 = $7; break; } } else { $$1 = $$033; } $9 = (($2) + ($$1)|0); $10 = HEAP32[$1>>2]|0; $11 = (($10) + ($$02632)|0); $12 = HEAP8[$11>>0]|0; $13 = (_Convert_CP437ToUtf8($12,$9)|0); $14 = (($13) + ($$1))|0; $15 = (($$02632) + 1)|0; $16 = HEAP16[$3>>1]|0; $17 = $16&65535; $18 = ($15>>>0)<($17>>>0); if ($18) { $$02632 = $15;$$033 = $14; } else { $$0$lcssa = $14; break L1; } } STACKTOP = sp;return ($$027|0); } } while(0); $19 = (($2) + ($$0$lcssa)|0); HEAP8[$19>>0] = 10; $20 = (($$0$lcssa) + 1)|0; $21 = (_Stream_Write($0,$2,$20)|0); $$027 = $21; STACKTOP = sp;return ($$027|0); } function _String_CalcLen($0,$1) { $0 = $0|0; $1 = $1|0; var $$0$lcssa = 0, $$067 = 0, $$08 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)>(0); L1: do { if ($2) { $$067 = $0;$$08 = 0; while(1) { $3 = HEAP8[$$067>>0]|0; $4 = ($3<<24>>24)==(0); if ($4) { $$0$lcssa = $$08; break L1; } $5 = ((($$067)) + 1|0); $6 = (($$08) + 1)|0; $7 = ($6|0)<($1|0); if ($7) { $$067 = $5;$$08 = $6; } else { $$0$lcssa = $6; break; } } } else { $$0$lcssa = 0; } } while(0); return ($$0$lcssa|0); } function _String_FromRaw($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (_String_CalcLen($1,$2)|0); _String_Init_1538($0,$1,$3,$2); return; } function _String_Init_1538($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = $2&65535; $5 = $3&65535; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP16[$$sroa$4$0$$sroa_idx2>>1] = $4; $$sroa$5$0$$sroa_idx4 = ((($0)) + 6|0); HEAP16[$$sroa$5$0$$sroa_idx4>>1] = $5; return; } function _String_FromReadonly($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (_String_CalcLen($1,65535)|0); _String_Init_1538($0,$1,$2,$2); return; } function _String_StripCols($0) { $0 = $0|0; var $$010 = 0, $$010$in = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 4|0); $2 = HEAP16[$1>>1]|0; $3 = ($2<<16>>16)==(0); if ($3) { return; } $4 = $2&65535; $$010$in = $4; while(1) { $$010 = (($$010$in) + -1)|0; $5 = HEAP32[$0>>2]|0; $6 = (($5) + ($$010)|0); $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(38); if ($8) { _String_DeleteAt($0,$$010); _String_DeleteAt($0,$$010); } $9 = ($$010$in|0)>(1); if ($9) { $$010$in = $$010; } else { break; } } return; } function _String_DeleteAt($0,$1) { $0 = $0|0; $1 = $1|0; var $$015 = 0, $$lcssa = 0, $$lcssa13 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)<(0); if ($2) { label = 3; } else { $3 = ((($0)) + 4|0); $4 = HEAP16[$3>>1]|0; $5 = $4&65535; $6 = ($5|0)>($1|0); if (!($6)) { label = 3; } } if ((label|0) == 3) { _Logger_Abort(36916); } $7 = ((($0)) + 4|0); $8 = HEAP16[$7>>1]|0; $9 = $8&65535; $10 = (($9) + -1)|0; $11 = ($10|0)>($1|0); $12 = HEAP32[$0>>2]|0; if ($11) { $$015 = $1;$15 = $12; while(1) { $13 = (($$015) + 1)|0; $14 = (($15) + ($13)|0); $16 = HEAP8[$14>>0]|0; $17 = (($15) + ($$015)|0); HEAP8[$17>>0] = $16; $18 = HEAP16[$7>>1]|0; $19 = $18&65535; $20 = (($19) + -1)|0; $21 = ($13|0)<($20|0); $22 = HEAP32[$0>>2]|0; if ($21) { $$015 = $13;$15 = $22; } else { $$lcssa = $22;$$lcssa13 = $20; break; } } } else { $$lcssa = $12;$$lcssa13 = $10; } $23 = (($$lcssa) + ($$lcssa13)|0); HEAP8[$23>>0] = 0; $24 = HEAP16[$7>>1]|0; $25 = (($24) + -1)<<16>>16; HEAP16[$7>>1] = $25; return; } function _String_Copy($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 4|0); HEAP16[$2>>1] = 0; _String_AppendString($0,$1); return; } function _String_AppendString($0,$1) { $0 = $0|0; $1 = $1|0; var $$06 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($1)) + 4|0); $3 = HEAP16[$2>>1]|0; $4 = ($3<<16>>16)==(0); if ($4) { return; } $$06 = 0; while(1) { $5 = HEAP32[$1>>2]|0; $6 = (($5) + ($$06)|0); $7 = HEAP8[$6>>0]|0; _String_Append($0,$7); $8 = (($$06) + 1)|0; $9 = HEAP16[$2>>1]|0; $10 = $9&65535; $11 = ($8>>>0)<($10>>>0); if ($11) { $$06 = $8; } else { break; } } return; } function _String_Append($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 4|0); $3 = HEAP16[$2>>1]|0; $4 = ((($0)) + 6|0); $5 = HEAP16[$4>>1]|0; $6 = ($3<<16>>16)==($5<<16>>16); if ($6) { return; } $7 = (($3) + 1)<<16>>16; $8 = $3&65535; $9 = HEAP32[$0>>2]|0; HEAP16[$2>>1] = $7; $10 = (($9) + ($8)|0); HEAP8[$10>>0] = $1; return; } function _String_CopyToRaw($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$ = 0, $$017 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ((($2)) + 4|0); $4 = HEAP16[$3>>1]|0; $5 = $4&65535; $6 = ($5|0)>($1|0); $$ = $6 ? $1 : $5; $7 = ($$|0)>(0); if ($7) { $$017 = 0; while(1) { $8 = HEAP32[$2>>2]|0; $9 = (($8) + ($$017)|0); $10 = HEAP8[$9>>0]|0; $11 = (($0) + ($$017)|0); HEAP8[$11>>0] = $10; $12 = (($$017) + 1)|0; $13 = ($12|0)<($$|0); if ($13) { $$017 = $12; } else { break; } } } $14 = ($5|0)<($1|0); if (!($14)) { return; } $15 = (($0) + ($$)|0); HEAP8[$15>>0] = 0; return; } function _String_UNSAFE_Substring($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ($2|0)<(0); if ($4) { label = 3; } else { $5 = ((($1)) + 4|0); $6 = HEAP16[$5>>1]|0; $7 = $6&65535; $8 = ($7|0)<($2|0); if ($8) { label = 3; } } if ((label|0) == 3) { _Logger_Abort(36949); } $9 = ($3|0)<(0); if ($9) { label = 6; } else { $10 = ((($1)) + 4|0); $11 = HEAP16[$10>>1]|0; $12 = $11&65535; $13 = ($12|0)<($3|0); if ($13) { label = 6; } } if ((label|0) == 6) { _Logger_Abort(36983); } $14 = (($3) + ($2))|0; $15 = ((($1)) + 4|0); $16 = HEAP16[$15>>1]|0; $17 = $16&65535; $18 = ($14|0)>($17|0); if (!($18)) { $19 = HEAP32[$1>>2]|0; $20 = (($19) + ($2)|0); _String_Init_1538($0,$20,$3,$3); return; } _Logger_Abort(37017); $19 = HEAP32[$1>>2]|0; $20 = (($19) + ($2)|0); _String_Init_1538($0,$20,$3,$3); return; } function _String_UNSAFE_SubstringAt($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ($2|0)<(0); if ($3) { label = 3; } else { $4 = ((($1)) + 4|0); $5 = HEAP16[$4>>1]|0; $6 = $5&65535; $7 = ($6|0)<($2|0); if ($7) { label = 3; } } if ((label|0) == 3) { _Logger_Abort(37050); } $8 = HEAP32[$1>>2]|0; $9 = (($8) + ($2)|0); $10 = ((($1)) + 4|0); $11 = HEAP16[$10>>1]|0; $12 = $11&65535; $13 = (($12) - ($2))|0; $14 = $13&65535; HEAP32[$0>>2] = $9; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP16[$$sroa$4$0$$sroa_idx2>>1] = $14; $$sroa$5$0$$sroa_idx4 = ((($0)) + 6|0); HEAP16[$$sroa$5$0$$sroa_idx4>>1] = $14; return; } function _String_UNSAFE_Split($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0$lcssa = 0, $$03033 = 0, $$034 = 0, $$132 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var $exitcond = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $4 = sp; $5 = ((($0)) + 4|0); $6 = ($3|0)>(0); L1: do { if ($6) { $$03033 = 0;$$034 = 0; while(1) { $7 = HEAP16[$5>>1]|0; $8 = $7&65535; $9 = ($$03033|0)>($8|0); if ($9) { $$0$lcssa = $$034; break L1; } $10 = (_String_IndexOfAt($0,$$03033,$1)|0); $11 = ($10|0)==(-1); $spec$select = $11 ? $8 : $10; $12 = (($2) + ($$034<<3)|0); $13 = (($spec$select) - ($$03033))|0; _String_UNSAFE_Substring($4,$0,$$03033,$13); $14 = $4; $15 = $14; $16 = HEAP32[$15>>2]|0; $17 = (($14) + 4)|0; $18 = $17; $19 = HEAP32[$18>>2]|0; $20 = $12; $21 = $20; HEAP32[$21>>2] = $16; $22 = (($20) + 4)|0; $23 = $22; HEAP32[$23>>2] = $19; $24 = (($spec$select) + 1)|0; $25 = (($$034) + 1)|0; $26 = ($25|0)<($3|0); if ($26) { $$03033 = $24;$$034 = $25; } else { $$0$lcssa = $25; break; } } } else { $$0$lcssa = 0; } } while(0); $27 = ($$0$lcssa|0)<($3|0); if (!($27)) { STACKTOP = sp;return ($$0$lcssa|0); } $$132 = $$0$lcssa; while(1) { $28 = (($2) + ($$132<<3)|0); $29 = 1384616; $30 = $29; $31 = HEAP32[$30>>2]|0; $32 = (($29) + 4)|0; $33 = $32; $34 = HEAP32[$33>>2]|0; $35 = $28; $36 = $35; HEAP32[$36>>2] = $31; $37 = (($35) + 4)|0; $38 = $37; HEAP32[$38>>2] = $34; $39 = (($$132) + 1)|0; $exitcond = ($39|0)==($3|0); if ($exitcond) { break; } else { $$132 = $39; } } STACKTOP = sp;return ($$0$lcssa|0); } function _String_IndexOfAt($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$08 = 0, $$09 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ((($0)) + 4|0); $4 = HEAP16[$3>>1]|0; $5 = $4&65535; $6 = ($5|0)>($1|0); if (!($6)) { $$08 = -1; return ($$08|0); } $7 = HEAP32[$0>>2]|0; $$09 = $1; while(1) { $8 = (($7) + ($$09)|0); $9 = HEAP8[$8>>0]|0; $10 = ($9<<24>>24)==($2<<24>>24); if ($10) { $$08 = $$09; label = 5; break; } $11 = (($$09) + 1)|0; $12 = HEAP16[$3>>1]|0; $13 = $12&65535; $14 = ($11|0)<($13|0); if ($14) { $$09 = $11; } else { $$08 = -1; label = 5; break; } } if ((label|0) == 5) { return ($$08|0); } return (0)|0; } function _String_UNSAFE_SplitBy($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $3 = sp + 8|0; $4 = sp; $5 = (_String_IndexOfAt($0,0,$1)|0); $6 = ($5|0)==(-1); if ($6) { $7 = $0; $8 = $7; $9 = HEAP32[$8>>2]|0; $10 = (($7) + 4)|0; $11 = $10; $12 = HEAP32[$11>>2]|0; $13 = $2; $14 = $13; HEAP32[$14>>2] = $9; $15 = (($13) + 4)|0; $16 = $15; HEAP32[$16>>2] = $12; $17 = 1384616; $18 = $17; $19 = HEAP32[$18>>2]|0; $20 = (($17) + 4)|0; $21 = $20; $22 = HEAP32[$21>>2]|0; $23 = $0; $24 = $23; HEAP32[$24>>2] = $19; $25 = (($23) + 4)|0; $26 = $25; HEAP32[$26>>2] = $22; STACKTOP = sp;return; } else { _String_UNSAFE_Substring($3,$0,0,$5); $27 = $3; $28 = $27; $29 = HEAP32[$28>>2]|0; $30 = (($27) + 4)|0; $31 = $30; $32 = HEAP32[$31>>2]|0; $33 = $2; $34 = $33; HEAP32[$34>>2] = $29; $35 = (($33) + 4)|0; $36 = $35; HEAP32[$36>>2] = $32; $37 = (($5) + 1)|0; _String_UNSAFE_SubstringAt($4,$0,$37); $38 = $4; $39 = $38; $40 = HEAP32[$39>>2]|0; $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; $44 = $0; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; STACKTOP = sp;return; } } function _String_UNSAFE_Separate($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $4 = sp + 8|0; $5 = sp; $6 = (_String_IndexOfAt($0,0,$1)|0); $7 = ($6|0)==(-1); if ($7) { $8 = $0; $9 = $8; $10 = HEAP32[$9>>2]|0; $11 = (($8) + 4)|0; $12 = $11; $13 = HEAP32[$12>>2]|0; $14 = $2; $15 = $14; HEAP32[$15>>2] = $10; $16 = (($14) + 4)|0; $17 = $16; HEAP32[$17>>2] = $13; $18 = 1384616; $19 = $18; $20 = HEAP32[$19>>2]|0; $21 = (($18) + 4)|0; $22 = $21; $23 = HEAP32[$22>>2]|0; $24 = $3; $25 = $24; HEAP32[$25>>2] = $20; $26 = (($24) + 4)|0; $27 = $26; HEAP32[$27>>2] = $23; $$0 = 0; STACKTOP = sp;return ($$0|0); } _String_UNSAFE_Substring($4,$0,0,$6); $28 = $4; $29 = $28; $30 = HEAP32[$29>>2]|0; $31 = (($28) + 4)|0; $32 = $31; $33 = HEAP32[$32>>2]|0; $34 = $2; $35 = $34; HEAP32[$35>>2] = $30; $36 = (($34) + 4)|0; $37 = $36; HEAP32[$37>>2] = $33; $38 = (($6) + 1)|0; _String_UNSAFE_SubstringAt($5,$0,$38); $39 = $5; $40 = $39; $41 = HEAP32[$40>>2]|0; $42 = (($39) + 4)|0; $43 = $42; $44 = HEAP32[$43>>2]|0; $45 = $3; $46 = $45; HEAP32[$46>>2] = $41; $47 = (($45) + 4)|0; $48 = $47; HEAP32[$48>>2] = $44; _String_UNSAFE_TrimEnd($2); _String_UNSAFE_TrimStart($3); $49 = ((($2)) + 4|0); $50 = HEAP16[$49>>1]|0; $51 = ($50<<16>>16)==(0); if ($51) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $52 = ((($3)) + 4|0); $53 = HEAP16[$52>>1]|0; $54 = ($53<<16>>16)!=(0); $phitmp = $54&1; $$0 = $phitmp; STACKTOP = sp;return ($$0|0); } function _String_UNSAFE_TrimEnd($0) { $0 = $0|0; var $$07 = 0, $$07$in = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 4|0); $2 = HEAP16[$1>>1]|0; $3 = ($2<<16>>16)==(0); if ($3) { return; } $4 = $2&65535; $$07$in = $4; while(1) { $$07 = (($$07$in) + -1)|0; $5 = HEAP32[$0>>2]|0; $6 = (($5) + ($$07)|0); $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(32); if (!($8)) { label = 5; break; } $9 = HEAP16[$1>>1]|0; $10 = (($9) + -1)<<16>>16; HEAP16[$1>>1] = $10; $11 = ($$07$in|0)>(1); if ($11) { $$07$in = $$07; } else { label = 5; break; } } if ((label|0) == 5) { return; } } function _String_UNSAFE_TrimStart($0) { $0 = $0|0; var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 4|0); $2 = HEAP16[$1>>1]|0; $3 = ($2<<16>>16)==(0); if ($3) { return; } $9 = $2; while(1) { $4 = HEAP32[$0>>2]|0; $5 = HEAP8[$4>>0]|0; $6 = ($5<<24>>24)==(32); if (!($6)) { label = 5; break; } $7 = ((($4)) + 1|0); HEAP32[$0>>2] = $7; $8 = (($9) + -1)<<16>>16; HEAP16[$1>>1] = $8; $10 = ($8<<16>>16)==(0); if ($10) { label = 5; break; } else { $9 = $8; } } if ((label|0) == 5) { return; } } function _String_Equals($0,$1) { $0 = $0|0; $1 = $1|0; var $$010 = 0, $$011 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 4|0); $3 = HEAP16[$2>>1]|0; $4 = ((($1)) + 4|0); $5 = HEAP16[$4>>1]|0; $6 = ($3<<16>>16)==($5<<16>>16); if (!($6)) { $$010 = 0; return ($$010|0); } $7 = $3&65535; $8 = ($3<<16>>16)==(0); if ($8) { $$010 = 1; return ($$010|0); } $9 = HEAP32[$0>>2]|0; $10 = HEAP32[$1>>2]|0; $$011 = 0; while(1) { $13 = (($9) + ($$011)|0); $14 = HEAP8[$13>>0]|0; $15 = (($10) + ($$011)|0); $16 = HEAP8[$15>>0]|0; $17 = ($14<<24>>24)==($16<<24>>24); $11 = (($$011) + 1)|0; if (!($17)) { $$010 = 0; label = 6; break; } $12 = ($11>>>0)<($7>>>0); if ($12) { $$011 = $11; } else { $$010 = 1; label = 6; break; } } if ((label|0) == 6) { return ($$010|0); } return (0)|0; } function _String_CaselessEquals($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $$018 = 0, $$01923 = 0, $$020 = 0, $$off = 0, $$off22 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; var $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 4|0); $3 = HEAP16[$2>>1]|0; $4 = ((($1)) + 4|0); $5 = HEAP16[$4>>1]|0; $6 = ($3<<16>>16)==($5<<16>>16); if (!($6)) { $$020 = 0; return ($$020|0); } $7 = $3&65535; $8 = ($3<<16>>16)==(0); if ($8) { $$020 = 1; return ($$020|0); } $9 = HEAP32[$0>>2]|0; $10 = HEAP32[$1>>2]|0; $$01923 = 0; while(1) { $13 = (($9) + ($$01923)|0); $14 = HEAP8[$13>>0]|0; $15 = $14&255; $$off = (($14) + -65)<<24>>24; $16 = ($$off&255)<(26); $17 = (($15) + 32)|0; $18 = $17&255; $$018 = $16 ? $18 : $14; $19 = (($10) + ($$01923)|0); $20 = HEAP8[$19>>0]|0; $21 = $20&255; $$off22 = (($20) + -65)<<24>>24; $22 = ($$off22&255)<(26); $23 = (($21) + 32)|0; $24 = $23&255; $$0 = $22 ? $24 : $20; $25 = ($$018<<24>>24)==($$0<<24>>24); $11 = (($$01923) + 1)|0; if (!($25)) { $$020 = 0; label = 6; break; } $12 = ($11>>>0)<($7>>>0); if ($12) { $$01923 = $11; } else { $$020 = 1; label = 6; break; } } if ((label|0) == 6) { return ($$020|0); } return (0)|0; } function _String_CaselessEqualsConst($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $$019 = 0, $$02026 = 0, $$021 = 0, $$lcssa = 0, $$off = 0, $$off24 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond23 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 4|0); $3 = HEAP16[$2>>1]|0; $4 = ($3<<16>>16)==(0); do { if ($4) { $$lcssa = 0; } else { $5 = HEAP32[$0>>2]|0; $$02026 = 0; while(1) { $10 = (($5) + ($$02026)|0); $11 = HEAP8[$10>>0]|0; $12 = $11&255; $$off = (($11) + -65)<<24>>24; $13 = ($$off&255)<(26); $14 = (($12) + 32)|0; $15 = $14&255; $$019 = $13 ? $15 : $11; $16 = (($1) + ($$02026)|0); $17 = HEAP8[$16>>0]|0; $18 = $17&255; $$off24 = (($17) + -65)<<24>>24; $19 = ($$off24&255)<(26); $20 = (($18) + 32)|0; $21 = $20&255; $$0 = $19 ? $21 : $17; $22 = ($$019<<24>>24)!=($$0<<24>>24); $23 = ($$0<<24>>24)==(0); $or$cond23 = $22 | $23; $8 = (($$02026) + 1)|0; if ($or$cond23) { $$021 = 0; label = 7; break; } $6 = HEAP16[$2>>1]|0; $7 = $6&65535; $9 = ($8>>>0)<($7>>>0); if ($9) { $$02026 = $8; } else { label = 5; break; } } if ((label|0) == 5) { $24 = $6&65535; $$lcssa = $24; break; } else if ((label|0) == 7) { return ($$021|0); } } } while(0); $25 = (($1) + ($$lcssa)|0); $26 = HEAP8[$25>>0]|0; $27 = ($26<<24>>24)==(0); $28 = $27&1; $$021 = $28; return ($$021|0); } function _String_AppendBool($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1<<24>>24)==(0); $3 = $2 ? 37074 : 37080; _String_AppendConst($0,$3); return; } function _String_AppendConst($0,$1) { $0 = $0|0; $1 = $1|0; var $$04 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP8[$1>>0]|0; $3 = ($2<<24>>24)==(0); if ($3) { return; } $$04 = $1;$4 = $2; while(1) { _String_Append($0,$4); $5 = ((($$04)) + 1|0); $6 = HEAP8[$5>>0]|0; $7 = ($6<<24>>24)==(0); if ($7) { break; } else { $$04 = $5;$4 = $6; } } return; } function _String_MakeUInt32($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $$07 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $$0 = 0;$$07 = $0; while(1) { $2 = (($$07>>>0) / 10)&-1; $3 = ($2*10)|0; $4 = (($$07) - ($3))|0; $5 = $4 | 48; $6 = $5&255; $7 = (($1) + ($$0)|0); HEAP8[$7>>0] = $6; $8 = (($$0) + 1)|0; $9 = ($$07>>>0)>(9); if ($9) { $$0 = $8;$$07 = $2; } else { break; } } return ($8|0); } function _String_AppendInt($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)<(0); if ($2) { $3 = (0 - ($1))|0; _String_Append($0,45); $$0 = $3; } else { $$0 = $1; } _String_AppendUInt32($0,$$0); return; } function _String_AppendUInt32($0,$1) { $0 = $0|0; $1 = $1|0; var $$09 = 0, $$09$in = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $2 = sp; $3 = (_String_MakeUInt32($1,$2)|0); $4 = ($3|0)>(0); if (!($4)) { STACKTOP = sp;return; } $$09$in = $3; while(1) { $$09 = (($$09$in) + -1)|0; $5 = (($2) + ($$09)|0); $6 = HEAP8[$5>>0]|0; _String_Append($0,$6); $7 = ($$09$in|0)>(1); if ($7) { $$09$in = $$09; } else { break; } } STACKTOP = sp;return; } function _String_AppendPaddedInt($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$117 = 0, $$117$in = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $3 = sp; $4 = ($2|0)>(0); if ($4) { _memset(($3|0),48,($2|0))|0; } $5 = (_String_MakeUInt32($1,$3)|0); $6 = ($5|0)<($2|0); $spec$select = $6 ? $2 : $5; $7 = ($spec$select|0)>(0); if (!($7)) { STACKTOP = sp;return; } $$117$in = $spec$select; while(1) { $$117 = (($$117$in) + -1)|0; $8 = (($3) + ($$117)|0); $9 = HEAP8[$8>>0]|0; _String_Append($0,$9); $10 = ($$117$in|0)>(1); if ($10) { $$117$in = $$117; } else { break; } } STACKTOP = sp;return; } function _String_AppendFloat($0,$1,$2) { $0 = $0|0; $1 = +$1; $2 = $2|0; var $$023 = 0.0, $$02425 = 0, $$026 = 0.0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $3 = $1 < 0.0; if ($3) { $4 = - $1; _String_Append($0,45); $$023 = $4; } else { $$023 = $1; } $5 = (~~(($$023))); _String_AppendUInt32($0,$5); $6 = $$023; $7 = (+($5|0)); $8 = $6 - $7; $9 = $8 == 0.0; if ($9) { return; } _String_Append($0,46); $10 = ($2|0)>(0); if (!($10)) { return; } $$02425 = 0;$$026 = $8; while(1) { $11 = $$026 * 10.0; $12 = (~~(($11))); $13 = (($12|0) % 10)&-1; $14 = (($13) + 48)|0; $15 = $14&255; _String_Append($0,$15); $16 = (($$02425) + 1)|0; $exitcond = ($16|0)==($2|0); if ($exitcond) { break; } else { $$02425 = $16;$$026 = $11; } } return; } function _String_AppendHex($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (4)?(($1&255) >>> 4):(($1&255)); $3 = $2&255; $4 = ($1&255)<(160); $5 = $3 | 48; $6 = (($3) + 55)|0; $7 = $4 ? $5 : $6; $8 = $7&255; $9 = $1 & 15; $10 = $9&255; $11 = ($9&255)<(10); $12 = $10 | 48; $13 = (($10) + 55)|0; $14 = $11 ? $12 : $13; $15 = $14&255; _String_Append($0,$8); _String_Append($0,$15); return; } function _String_AppendColorless($0,$1) { $0 = $0|0; $1 = $1|0; var $$09 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($1)) + 4|0); $3 = HEAP16[$2>>1]|0; $4 = ($3<<16>>16)==(0); if ($4) { return; } $$09 = 0; while(1) { $5 = HEAP32[$1>>2]|0; $6 = (($5) + ($$09)|0); $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(38); if ($8) { $9 = (($$09) + 1)|0; $$1 = $9; } else { _String_Append($0,$7); $$1 = $$09; } $10 = (($$1) + 1)|0; $11 = HEAP16[$2>>1]|0; $12 = $11&65535; $13 = ($10|0)<($12|0); if ($13) { $$09 = $10; } else { break; } } return; } function _String_LastIndexOfAt($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$08 = 0, $$09 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ((($0)) + 4|0); $4 = HEAP16[$3>>1]|0; $5 = $4&65535; $6 = $1 ^ -1; $7 = (($6) + ($5))|0; $8 = ($7|0)>(-1); if (!($8)) { $$08 = -1; return ($$08|0); } $9 = HEAP32[$0>>2]|0; $$09 = $7; while(1) { $10 = (($9) + ($$09)|0); $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==($2<<24>>24); if ($12) { $$08 = $$09; label = 5; break; } $13 = (($$09) + -1)|0; $14 = ($$09|0)>(0); if ($14) { $$09 = $13; } else { $$08 = -1; label = 5; break; } } if ((label|0) == 5) { return ($$08|0); } return (0)|0; } function _String_InsertAt($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$017 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ($1|0)<(0); if ($3) { label = 3; } else { $4 = ((($0)) + 4|0); $5 = HEAP16[$4>>1]|0; $6 = $5&65535; $7 = ($6|0)<($1|0); if ($7) { label = 3; } } if ((label|0) == 3) { _Logger_Abort(37085); } $8 = ((($0)) + 4|0); $9 = HEAP16[$8>>1]|0; $10 = ((($0)) + 6|0); $11 = HEAP16[$10>>1]|0; $12 = ($9<<16>>16)==($11<<16>>16); if ($12) { _Logger_Abort(37118); } $13 = HEAP16[$8>>1]|0; $14 = $13&65535; $15 = ($14|0)>($1|0); $16 = HEAP32[$0>>2]|0; if (!($15)) { $$lcssa = $16; $24 = (($$lcssa) + ($1)|0); HEAP8[$24>>0] = $2; $25 = HEAP16[$8>>1]|0; $26 = (($25) + 1)<<16>>16; HEAP16[$8>>1] = $26; return; } $$017 = $14;$19 = $16; while(1) { $17 = (($$017) + -1)|0; $18 = (($19) + ($17)|0); $20 = HEAP8[$18>>0]|0; $21 = (($19) + ($$017)|0); HEAP8[$21>>0] = $20; $22 = ($17|0)>($1|0); $23 = HEAP32[$0>>2]|0; if ($22) { $$017 = $17;$19 = $23; } else { $$lcssa = $23; break; } } $24 = (($$lcssa) + ($1)|0); HEAP8[$24>>0] = $2; $25 = HEAP16[$8>>1]|0; $26 = (($25) + 1)<<16>>16; HEAP16[$8>>1] = $26; return; } function _String_IndexOfString($0,$1) { $0 = $0|0; $1 = $1|0; var $$0$lcssa = 0, $$01930 = 0, $$020 = 0, $$021 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 4|0); $3 = HEAP16[$2>>1]|0; $4 = ($3<<16>>16)==(0); if ($4) { $$020 = -1; return ($$020|0); } $5 = $3&65535; $6 = ((($1)) + 4|0); $7 = HEAP16[$6>>1]|0; $8 = $7&65535; $9 = ($7<<16>>16)==(0); $$01930 = 0;$12 = $5; while(1) { L6: do { if ($9) { $$0$lcssa = 0;$$lcssa = 0; } else { $$021 = 0;$30 = $8; while(1) { $10 = (($$021) + ($$01930))|0; $11 = ($10>>>0)<($12>>>0); if (!($11)) { $$0$lcssa = $$021;$$lcssa = $30; break L6; } $13 = HEAP32[$0>>2]|0; $14 = (($13) + ($10)|0); $15 = HEAP8[$14>>0]|0; $16 = HEAP32[$1>>2]|0; $17 = (($16) + ($$021)|0); $18 = HEAP8[$17>>0]|0; $19 = ($15<<24>>24)==($18<<24>>24); if (!($19)) { $$0$lcssa = $$021;$$lcssa = $30; break L6; } $20 = (($$021) + 1)|0; $21 = HEAP16[$6>>1]|0; $22 = $21&65535; $23 = ($20>>>0)<($22>>>0); if ($23) { $$021 = $20;$30 = $22; } else { break; } } $24 = $21&65535; $$0$lcssa = $20;$$lcssa = $24; } } while(0); $25 = ($$0$lcssa|0)==($$lcssa|0); if ($25) { $$020 = $$01930; label = 11; break; } $26 = (($$01930) + 1)|0; $27 = HEAP16[$2>>1]|0; $28 = $27&65535; $29 = ($26>>>0)<($28>>>0); if ($29) { $$01930 = $26;$12 = $28; } else { $$020 = -1; label = 11; break; } } if ((label|0) == 11) { return ($$020|0); } return (0)|0; } function _String_CaselessContains($0,$1) { $0 = $0|0; $1 = $1|0; var $$0$lcssa = 0, $$02742 = 0, $$028 = 0, $$029 = 0, $$030 = 0, $$033 = 0, $$lcssa = 0, $$off = 0, $$off32 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 4|0); $3 = HEAP16[$2>>1]|0; $4 = ($3<<16>>16)==(0); if ($4) { $$030 = 0; return ($$030|0); } $5 = $3&65535; $6 = ((($1)) + 4|0); $7 = HEAP16[$6>>1]|0; $8 = $7&65535; $9 = ($7<<16>>16)==(0); $$02742 = 0;$16 = $5; while(1) { L6: do { if ($9) { $$0$lcssa = 0;$$lcssa = 0; } else { $$033 = 0;$38 = $8; while(1) { $14 = (($$033) + ($$02742))|0; $15 = ($14>>>0)<($16>>>0); if (!($15)) { $$0$lcssa = $$033;$$lcssa = $38; break L6; } $17 = HEAP32[$0>>2]|0; $18 = (($17) + ($14)|0); $19 = HEAP8[$18>>0]|0; $20 = $19&255; $$off = (($19) + -65)<<24>>24; $21 = ($$off&255)<(26); $22 = (($20) + 32)|0; $23 = $22&255; $$029 = $21 ? $23 : $19; $24 = HEAP32[$1>>2]|0; $25 = (($24) + ($$033)|0); $26 = HEAP8[$25>>0]|0; $27 = $26&255; $$off32 = (($26) + -65)<<24>>24; $28 = ($$off32&255)<(26); $29 = (($27) + 32)|0; $30 = $29&255; $$028 = $28 ? $30 : $26; $31 = ($$029<<24>>24)==($$028<<24>>24); if (!($31)) { $$0$lcssa = $$033;$$lcssa = $38; break L6; } $32 = (($$033) + 1)|0; $33 = HEAP16[$6>>1]|0; $34 = $33&65535; $35 = ($32>>>0)<($34>>>0); if ($35) { $$033 = $32;$38 = $34; } else { break; } } $36 = $33&65535; $$0$lcssa = $32;$$lcssa = $36; } } while(0); $37 = ($$0$lcssa|0)==($$lcssa|0); $12 = (($$02742) + 1)|0; if ($37) { $$030 = 1; label = 11; break; } $10 = HEAP16[$2>>1]|0; $11 = $10&65535; $13 = ($12>>>0)<($11>>>0); if ($13) { $$02742 = $12;$16 = $11; } else { $$030 = 0; label = 11; break; } } if ((label|0) == 11) { return ($$030|0); } return (0)|0; } function _String_CaselessStarts($0,$1) { $0 = $0|0; $1 = $1|0; var $$018 = 0, $$019 = 0, $$020 = 0, $$023 = 0, $$off = 0, $$off22 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; var $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 4|0); $3 = HEAP16[$2>>1]|0; $4 = ((($1)) + 4|0); $5 = HEAP16[$4>>1]|0; $6 = ($3&65535)<($5&65535); if ($6) { $$020 = 0; return ($$020|0); } $7 = $5&65535; $8 = ($5<<16>>16)==(0); if ($8) { $$020 = 1; return ($$020|0); } $9 = HEAP32[$0>>2]|0; $10 = HEAP32[$1>>2]|0; $$023 = 0; while(1) { $13 = (($9) + ($$023)|0); $14 = HEAP8[$13>>0]|0; $15 = $14&255; $$off = (($14) + -65)<<24>>24; $16 = ($$off&255)<(26); $17 = (($15) + 32)|0; $18 = $17&255; $$019 = $16 ? $18 : $14; $19 = (($10) + ($$023)|0); $20 = HEAP8[$19>>0]|0; $21 = $20&255; $$off22 = (($20) + -65)<<24>>24; $22 = ($$off22&255)<(26); $23 = (($21) + 32)|0; $24 = $23&255; $$018 = $22 ? $24 : $20; $25 = ($$019<<24>>24)==($$018<<24>>24); $11 = (($$023) + 1)|0; if (!($25)) { $$020 = 0; label = 6; break; } $12 = ($11>>>0)<($7>>>0); if ($12) { $$023 = $11; } else { $$020 = 1; label = 6; break; } } if ((label|0) == 6) { return ($$020|0); } return (0)|0; } function _String_CaselessEnds($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $$02227 = 0, $$023 = 0, $$024 = 0, $$off = 0, $$off26 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 4|0); $3 = HEAP16[$2>>1]|0; $4 = $3&65535; $5 = ((($1)) + 4|0); $6 = HEAP16[$5>>1]|0; $7 = $6&65535; $8 = (($4) - ($7))|0; $9 = ($8|0)<(0); if ($9) { $$0 = 0; return ($$0|0); } $10 = ($6<<16>>16)==(0); if ($10) { $$0 = 1; return ($$0|0); } $11 = HEAP32[$0>>2]|0; $12 = HEAP32[$1>>2]|0; $$02227 = 0; while(1) { $15 = (($$02227) + ($8))|0; $16 = (($11) + ($15)|0); $17 = HEAP8[$16>>0]|0; $18 = $17&255; $$off = (($17) + -65)<<24>>24; $19 = ($$off&255)<(26); $20 = (($18) + 32)|0; $21 = $20&255; $$024 = $19 ? $21 : $17; $22 = (($12) + ($$02227)|0); $23 = HEAP8[$22>>0]|0; $24 = $23&255; $$off26 = (($23) + -65)<<24>>24; $25 = ($$off26&255)<(26); $26 = (($24) + 32)|0; $27 = $26&255; $$023 = $25 ? $27 : $23; $28 = ($$024<<24>>24)==($$023<<24>>24); $13 = (($$02227) + 1)|0; if (!($28)) { $$0 = 0; label = 6; break; } $14 = ($13>>>0)<($7>>>0); if ($14) { $$02227 = $13; } else { $$0 = 1; label = 6; break; } } if ((label|0) == 6) { return ($$0|0); } return (0)|0; } function _String_Compare($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $$02530 = 0, $$026 = 0, $$027 = 0, $$off = 0, $$off29 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 4|0); $3 = HEAP16[$2>>1]|0; $4 = ((($1)) + 4|0); $5 = HEAP16[$4>>1]|0; $6 = $3&65535; $7 = $5&65535; $8 = ($3&65535)<($5&65535); $9 = $8 ? $3 : $5; $10 = $9&65535; $11 = ($9<<16>>16)==(0); L1: do { if (!($11)) { $12 = HEAP32[$0>>2]|0; $13 = HEAP32[$1>>2]|0; $$02530 = 0; while(1) { $16 = (($12) + ($$02530)|0); $17 = HEAP8[$16>>0]|0; $18 = $17&255; $$off = (($17) + -65)<<24>>24; $19 = ($$off&255)<(26); $20 = (($18) + 32)|0; $21 = $20&255; $$027 = $19 ? $21 : $17; $22 = (($13) + ($$02530)|0); $23 = HEAP8[$22>>0]|0; $24 = $23&255; $$off29 = (($23) + -65)<<24>>24; $25 = ($$off29&255)<(26); $26 = (($24) + 32)|0; $27 = $26&255; $$026 = $25 ? $27 : $23; $28 = ($$027<<24>>24)==($$026<<24>>24); $14 = (($$02530) + 1)|0; if (!($28)) { break; } $15 = ($14>>>0)<($10>>>0); if ($15) { $$02530 = $14; } else { break L1; } } $29 = $$027&255; $30 = $$026&255; $31 = (($29) - ($30))|0; $$0 = $31; return ($$0|0); } } while(0); $32 = (($6) - ($7))|0; $$0 = $32; return ($$0|0); } function _String_Format1($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var label = 0, sp = 0; sp = STACKTOP; _String_Format4($0,$1,$2,0,0,0); return; } function _String_Format4($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; var $$04345 = 0, $$046 = 0, $$1 = 0, $$144 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; var $46 = 0, $47 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $6 = sp + 16|0; $7 = sp; _String_FromReadonly($6,$1); HEAP32[$7>>2] = $2; $8 = ((($7)) + 4|0); HEAP32[$8>>2] = $3; $9 = ((($7)) + 8|0); HEAP32[$9>>2] = $4; $10 = ((($7)) + 12|0); HEAP32[$10>>2] = $5; $11 = ((($6)) + 4|0); $12 = HEAP16[$11>>1]|0; $13 = ($12<<16>>16)==(0); if ($13) { STACKTOP = sp;return; } $14 = HEAP32[$6>>2]|0; $15 = HEAP16[$11>>1]|0; $16 = $15&65535; $$04345 = 0;$$046 = 0; while(1) { $17 = (($14) + ($$04345)|0); $18 = HEAP8[$17>>0]|0; $19 = ($18<<24>>24)==(37); L6: do { if ($19) { $20 = (($$046) + 1)|0; $21 = (($7) + ($$046<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = (($$04345) + 1)|0; $24 = (($14) + ($23)|0); $25 = HEAP8[$24>>0]|0; $26 = $25 << 24 >> 24; do { switch ($26|0) { case 98: { $27 = HEAP8[$22>>0]|0; $28 = $27&255; _String_AppendInt($0,$28); $$1 = $20;$$144 = $23; break L6; break; } case 105: { $29 = HEAP32[$22>>2]|0; _String_AppendInt($0,$29); $$1 = $20;$$144 = $23; break L6; break; } case 102: { $30 = (($$04345) + 2)|0; $31 = (($14) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = $32 << 24 >> 24; $34 = (($33) + -48)|0; $35 = +HEAPF32[$22>>2]; _String_AppendFloat($0,$35,$34); $$1 = $20;$$144 = $30; break L6; break; } case 112: { $36 = (($$04345) + 2)|0; $37 = (($14) + ($36)|0); $38 = HEAP8[$37>>0]|0; $39 = $38 << 24 >> 24; $40 = (($39) + -48)|0; $41 = HEAP32[$22>>2]|0; _String_AppendPaddedInt($0,$41,$40); $$1 = $20;$$144 = $36; break L6; break; } case 116: { $42 = HEAP8[$22>>0]|0; _String_AppendBool($0,$42); $$1 = $20;$$144 = $23; break L6; break; } case 99: { _String_AppendConst($0,$22); $$1 = $20;$$144 = $23; break L6; break; } case 115: { _String_AppendString($0,$22); $$1 = $20;$$144 = $23; break L6; break; } case 114: { $43 = HEAP8[$22>>0]|0; _String_Append($0,$43); $$1 = $20;$$144 = $23; break L6; break; } case 120: { $44 = HEAP32[$22>>2]|0; _String_Hex32($0,$44); $$1 = $20;$$144 = $23; break L6; break; } case 104: { $45 = HEAP32[$22>>2]|0; _String_Hex32($0,$45); $$1 = $20;$$144 = $23; break L6; break; } case 37: { _String_Append($0,37); $$1 = $20;$$144 = $23; break L6; break; } default: { _Logger_Abort(37159); $$1 = $20;$$144 = $23; break L6; } } } while(0); } else { _String_Append($0,$18); $$1 = $$046;$$144 = $$04345; } } while(0); $46 = (($$144) + 1)|0; $47 = ($46|0)<($16|0); if ($47) { $$04345 = $46;$$046 = $$1; } else { break; } } STACKTOP = sp;return; } function _String_Hex32($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (24)?($1 >>> 24):($1); $3 = $2&255; _String_AppendHex($0,$3); $4 = (16)?($1 >>> 16):($1); $5 = $4&255; _String_AppendHex($0,$5); $6 = (8)?($1 >>> 8):($1); $7 = $6&255; _String_AppendHex($0,$7); $8 = $1&255; _String_AppendHex($0,$8); return; } function _String_Format2($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var label = 0, sp = 0; sp = STACKTOP; _String_Format4($0,$1,$2,$3,0,0); return; } function _String_Format3($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var label = 0, sp = 0; sp = STACKTOP; _String_Format4($0,$1,$2,$3,$4,0); return; } function _Convert_CP437ToUnicode($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = $0&255; $2 = ($0&255)<(32); if ($2) { $3 = (7248 + ($1<<1)|0); $4 = HEAP16[$3>>1]|0; $$0 = $4; return ($$0|0); } $5 = ($0&255)<(127); if ($5) { $6 = $0&255; $$0 = $6; return ($$0|0); } else { $7 = (($1) + -127)|0; $8 = (7312 + ($7<<1)|0); $9 = HEAP16[$8>>1]|0; $$0 = $9; return ($$0|0); } return (0)|0; } function _Convert_UnicodeToCP437($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; (_Convert_TryUnicodeToCP437($0,$1)|0); $2 = HEAP8[$1>>0]|0; STACKTOP = sp;return ($2|0); } function _Convert_TryUnicodeToCP437($0,$1) { $0 = $0|0; $1 = $1|0; var $$016 = 0, $$020 = 0, $$119 = 0, $$off = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var label = 0, sp = 0; sp = STACKTOP; $$off = (($0) + -32)<<16>>16; $2 = ($$off&65535)<(95); L1: do { if ($2) { $3 = $0&255; $$016 = 1;$$sink = $3; } else { $$020 = 0; while(1) { $4 = (7248 + ($$020<<1)|0); $5 = HEAP16[$4>>1]|0; $6 = ($5<<16>>16)==($0<<16>>16); if ($6) { label = 5; break; } $8 = (($$020) + 1)|0; $9 = ($8>>>0)<(32); if ($9) { $$020 = $8; } else { break; } } if ((label|0) == 5) { $7 = $$020&255; $$016 = 1;$$sink = $7; break; } $$119 = 0; while(1) { $10 = (7312 + ($$119<<1)|0); $11 = HEAP16[$10>>1]|0; $12 = ($11<<16>>16)==($0<<16>>16); if ($12) { break; } $15 = (($$119) + 1)|0; $16 = ($15>>>0)<(129); if ($16) { $$119 = $15; } else { $$016 = 0;$$sink = 63; break L1; } } $13 = (($$119) + 127)|0; $14 = $13&255; $$016 = 1;$$sink = $14; } } while(0); HEAP8[$1>>0] = $$sink; return ($$016|0); } function _Convert_Utf8ToUnicode($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; HEAP16[$0>>1] = 0; $3 = ($2|0)==(0); if ($3) { $$0 = 0; return ($$0|0); } $4 = HEAP8[$1>>0]|0; $5 = $4&255; $6 = ($4<<24>>24)>(-1); if ($6) { $7 = $4&255; HEAP16[$0>>1] = $7; $$0 = 1; return ($$0|0); } $8 = $5 & 224; $9 = ($8|0)==(192); if ($9) { $10 = ($2>>>0)<(2); if ($10) { $$0 = 0; return ($$0|0); } $11 = $5 << 6; $12 = $11 & 1984; $13 = ((($1)) + 1|0); $14 = HEAP8[$13>>0]|0; $15 = $14 & 63; $16 = $15&255; $17 = $12 | $16; $18 = $17&65535; HEAP16[$0>>1] = $18; $$0 = 2; return ($$0|0); } $19 = $5 & 240; $20 = ($19|0)==(224); if ($20) { $21 = ($2>>>0)<(3); if ($21) { $$0 = 0; return ($$0|0); } $22 = $5 << 12; $23 = ((($1)) + 1|0); $24 = HEAP8[$23>>0]|0; $25 = $24 & 63; $26 = $25&255; $27 = $26 << 6; $28 = $27 | $22; $29 = ((($1)) + 2|0); $30 = HEAP8[$29>>0]|0; $31 = $30 & 63; $32 = $31&255; $33 = $28 | $32; $34 = $33&65535; HEAP16[$0>>1] = $34; $$0 = 3; return ($$0|0); } else { $35 = ($2>>>0)<(4); if ($35) { $$0 = 0; return ($$0|0); } $36 = ((($1)) + 1|0); $37 = HEAP8[$36>>0]|0; $38 = $37&255; $39 = $38 << 12; $40 = ((($1)) + 2|0); $41 = HEAP8[$40>>0]|0; $42 = $41 & 63; $43 = $42&255; $44 = $43 << 6; $45 = $44 | $39; $46 = ((($1)) + 3|0); $47 = HEAP8[$46>>0]|0; $48 = $47 & 63; $49 = $48&255; $50 = $45 | $49; $51 = $50&65535; HEAP16[$0>>1] = $51; $$0 = 4; return ($$0|0); } return (0)|0; } function _Convert_UnicodeToUtf8($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = $0&65535; $3 = ($0&65535)<(128); if ($3) { $4 = $0&255; HEAP8[$1>>0] = $4; $$0 = 1; return ($$0|0); } $5 = ($0&65535)<(2048); if ($5) { $6 = (6)?($2 >>> 6):($2); $7 = $6 & 31; $8 = $7 | 192; $9 = $8&255; HEAP8[$1>>0] = $9; $10 = $2 & 63; $11 = $10 | 128; $12 = $11&255; $13 = ((($1)) + 1|0); HEAP8[$13>>0] = $12; $$0 = 2; return ($$0|0); } else { $14 = (12)?($2 >>> 12):($2); $15 = $14 | 224; $16 = $15&255; HEAP8[$1>>0] = $16; $17 = (6)?($2 >>> 6):($2); $18 = $17 & 63; $19 = $18 | 128; $20 = $19&255; $21 = ((($1)) + 1|0); HEAP8[$21>>0] = $20; $22 = $2 & 63; $23 = $22 | 128; $24 = $23&255; $25 = ((($1)) + 2|0); HEAP8[$25>>0] = $24; $$0 = 3; return ($$0|0); } return (0)|0; } function _Convert_CP437ToUtf8($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($0<<24>>24)<(32); $3 = ($0<<24>>24)==(127); $or$cond = $2 | $3; if ($or$cond) { $4 = (_Convert_CP437ToUnicode($0)|0); $5 = (_Convert_UnicodeToUtf8($4,$1)|0); $$0 = $5; return ($$0|0); } else { HEAP8[$1>>0] = $0; $$0 = 1; return ($$0|0); } return (0)|0; } function _String_AppendUtf8($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$011 = 0, $$0910 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $3 = sp; $4 = sp + 2|0; $5 = ($2|0)>(0); if (!($5)) { STACKTOP = sp;return; } $$011 = $1;$$0910 = $2; while(1) { $6 = (_Convert_Utf8ToUnicode($3,$$011,$$0910)|0); $7 = ($6|0)==(0); if ($7) { label = 7; break; } $8 = HEAP16[$3>>1]|0; $9 = (_Convert_TryUnicodeToCP437($8,$4)|0); $10 = ($9<<24>>24)==(0); if (!($10)) { $11 = HEAP8[$4>>0]|0; _String_Append($0,$11); } $12 = (($$011) + ($6)|0); $13 = (($$0910) - ($6))|0; $14 = ($13|0)>(0); if ($14) { $$011 = $12;$$0910 = $13; } else { label = 7; break; } } if ((label|0) == 7) { STACKTOP = sp;return; } } function _Convert_ParseUInt8($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; HEAP8[$1>>0] = 0; $3 = (_Convert_ParseInt($0,$2)|0); $4 = ($3<<24>>24)==(0); $5 = HEAP32[$2>>2]|0; $6 = ($5>>>0)>(255); $7 = $4 | $6; if ($7) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $8 = $5&255; HEAP8[$1>>0] = $8; $$0 = 1; STACKTOP = sp;return ($$0|0); } function _Convert_ParseInt($0,$1) { $0 = $0|0; $1 = $1|0; var $$018 = 0, $$020 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp + 10|0; $3 = sp; HEAP32[$1>>2] = 0; $4 = (_Convert_TryParseDigits($0,$2,$3,10)|0); $5 = ($4<<24>>24)==(0); if ($5) { $$020 = 0; STACKTOP = sp;return ($$020|0); } $6 = HEAP8[$2>>0]|0; $7 = ($6<<24>>24)==(0); if ($7) { $10 = (_Convert_CompareDigits($3,37201)|0); $$018 = $10; } else { $8 = (_Convert_CompareDigits($3,37190)|0); $9 = ($8|0)==(0); if ($9) { HEAP32[$1>>2] = -2147483648; $$020 = 1; STACKTOP = sp;return ($$020|0); } else { $$018 = $8; } } $11 = ($$018|0)>(0); if ($11) { $$020 = 0; STACKTOP = sp;return ($$020|0); } $12 = HEAP8[$3>>0]|0; $13 = $12 << 24 >> 24; $14 = ($13*10)|0; $15 = ((($3)) + 1|0); $16 = HEAP8[$15>>0]|0; $17 = $16 << 24 >> 24; $18 = (($14) + -528)|0; $19 = (($18) + ($17))|0; $20 = ($19*10)|0; $21 = ((($3)) + 2|0); $22 = HEAP8[$21>>0]|0; $23 = $22 << 24 >> 24; $24 = (($20) + -48)|0; $25 = (($24) + ($23))|0; $26 = ($25*10)|0; $27 = ((($3)) + 3|0); $28 = HEAP8[$27>>0]|0; $29 = $28 << 24 >> 24; $30 = (($26) + -48)|0; $31 = (($30) + ($29))|0; $32 = ($31*10)|0; $33 = ((($3)) + 4|0); $34 = HEAP8[$33>>0]|0; $35 = $34 << 24 >> 24; $36 = (($32) + -48)|0; $37 = (($36) + ($35))|0; $38 = ($37*10)|0; $39 = ((($3)) + 5|0); $40 = HEAP8[$39>>0]|0; $41 = $40 << 24 >> 24; $42 = (($38) + -48)|0; $43 = (($42) + ($41))|0; $44 = ($43*10)|0; $45 = ((($3)) + 6|0); $46 = HEAP8[$45>>0]|0; $47 = $46 << 24 >> 24; $48 = (($44) + -48)|0; $49 = (($48) + ($47))|0; $50 = ($49*10)|0; $51 = ((($3)) + 7|0); $52 = HEAP8[$51>>0]|0; $53 = $52 << 24 >> 24; $54 = (($50) + -48)|0; $55 = (($54) + ($53))|0; $56 = ($55*10)|0; $57 = ((($3)) + 8|0); $58 = HEAP8[$57>>0]|0; $59 = $58 << 24 >> 24; $60 = (($56) + -48)|0; $61 = (($60) + ($59))|0; $62 = ($61*10)|0; $63 = ((($3)) + 9|0); $64 = HEAP8[$63>>0]|0; $65 = $64 << 24 >> 24; $66 = (($62) + -48)|0; $67 = (($66) + ($65))|0; $68 = (0 - ($67))|0; $spec$select = $7 ? $67 : $68; HEAP32[$1>>2] = $spec$select; $$020 = 1; STACKTOP = sp;return ($$020|0); } function _Convert_TryParseDigits($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$03043 = 0, $$03043$in = 0, $$031 = 0, $$033$lcssa = 0, $$03342 = 0, $$2 = 0, $$23540 = 0, $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond36 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; HEAP8[$1>>0] = 0; $4 = ((($0)) + 4|0); $5 = HEAP16[$4>>1]|0; $6 = ($5<<16>>16)==(0); if ($6) { $$2 = 0; return ($$2|0); } $7 = (($3) + -1)|0; $8 = (($2) + ($7)|0); $9 = HEAP32[$0>>2]|0; $10 = HEAP8[$9>>0]|0; $11 = ($10<<24>>24)==(45); if ($11) { HEAP8[$1>>0] = 1; $$031 = 1; } else { $$031 = 0; } $12 = HEAP32[$0>>2]|0; $13 = HEAP8[$12>>0]|0; $14 = ($13<<24>>24)==(43); $spec$select = $14 ? 1 : $$031; $15 = HEAP16[$4>>1]|0; $16 = $15&65535; $17 = ($spec$select>>>0)<($16>>>0); L7: do { if ($17) { $$03043$in = $16;$$03342 = $8; while(1) { $$03043 = (($$03043$in) + -1)|0; $18 = HEAP32[$0>>2]|0; $19 = (($18) + ($$03043)|0); $20 = HEAP8[$19>>0]|0; $$off = (($20) + -48)<<24>>24; $21 = ($$off&255)>(9); $22 = ($$03342>>>0)<($2>>>0); $or$cond36 = $22 | $21; if ($or$cond36) { $$2 = 0; break; } $23 = ((($$03342)) + -1|0); HEAP8[$$03342>>0] = $20; $24 = ($$03043|0)>($spec$select|0); if ($24) { $$03043$in = $$03043;$$03342 = $23; } else { $$033$lcssa = $23; break L7; } } return ($$2|0); } else { $$033$lcssa = $8; } } while(0); $25 = ($$033$lcssa>>>0)<($2>>>0); if ($25) { $$2 = 1; return ($$2|0); } $$23540 = $$033$lcssa; while(1) { $26 = ((($$23540)) + -1|0); HEAP8[$$23540>>0] = 48; $27 = ($26>>>0)<($2>>>0); if ($27) { $$2 = 1; break; } else { $$23540 = $26; } } return ($$2|0); } function _Convert_CompareDigits($0,$1) { $0 = $0|0; $1 = $1|0; var $$012 = 0, $$013 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP8[$1>>0]|0; $3 = ($2<<24>>24)==(0); L1: do { if ($3) { $$012 = 0; } else { $$013 = 0;$11 = $2; while(1) { $8 = (($0) + ($$013)|0); $9 = HEAP8[$8>>0]|0; $10 = ($9<<24>>24)>($11<<24>>24); if ($10) { $$012 = 1; break L1; } $12 = ($9<<24>>24)<($11<<24>>24); $5 = (($$013) + 1)|0; if ($12) { $$012 = -1; break L1; } $4 = (($1) + ($5)|0); $6 = HEAP8[$4>>0]|0; $7 = ($6<<24>>24)==(0); if ($7) { $$012 = 0; break; } else { $$013 = $5;$11 = $6; } } } } while(0); return ($$012|0); } function _Convert_ParseUInt16($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; HEAP16[$1>>1] = 0; $3 = (_Convert_ParseInt($0,$2)|0); $4 = ($3<<24>>24)==(0); $5 = HEAP32[$2>>2]|0; $6 = ($5>>>0)>(65535); $7 = $4 | $6; if ($7) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $8 = $5&65535; HEAP16[$1>>1] = $8; $$0 = 1; STACKTOP = sp;return ($$0|0); } function _Convert_ParseUInt64($0,$1) { $0 = $0|0; $1 = $1|0; var $$015 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; var $mulconv20 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $2 = sp + 20|0; $3 = sp; $4 = $1; $5 = $4; HEAP32[$5>>2] = 0; $6 = (($4) + 4)|0; $7 = $6; HEAP32[$7>>2] = 0; $8 = (_Convert_TryParseDigits($0,$2,$3,20)|0); $9 = ($8<<24>>24)==(0); if ($9) { $$015 = 0; STACKTOP = sp;return ($$015|0); } $10 = (_Convert_CompareDigits($3,37212)|0); $11 = HEAP8[$2>>0]|0; $12 = ($11<<24>>24)!=(0); $13 = ($10|0)>(0); $or$cond = $13 | $12; if ($or$cond) { $$015 = 0; STACKTOP = sp;return ($$015|0); } $14 = HEAP8[$3>>0]|0; $15 = $14 << 24 >> 24; $16 = ($15*10)|0; $17 = ((($3)) + 1|0); $18 = HEAP8[$17>>0]|0; $19 = $18 << 24 >> 24; $20 = (($16) + ($19))|0; $21 = ($20*10)|0; $22 = ((($3)) + 2|0); $23 = HEAP8[$22>>0]|0; $24 = $23 << 24 >> 24; $25 = (($21) + ($24))|0; $26 = ($25*10)|0; $mulconv20 = (($26) + -53280)|0; $27 = ($mulconv20|0)<(0); $28 = $27 << 31 >> 31; $29 = ((($3)) + 3|0); $30 = HEAP8[$29>>0]|0; $31 = $30 << 24 >> 24; $32 = (($31) + -48)|0; $33 = ($32|0)<(0); $34 = $33 << 31 >> 31; $35 = (_i64Add(($mulconv20|0),($28|0),($32|0),($34|0))|0); $36 = (getTempRet0() | 0); $37 = (___muldi3(($35|0),($36|0),10,0)|0); $38 = (getTempRet0() | 0); $39 = ((($3)) + 4|0); $40 = HEAP8[$39>>0]|0; $41 = $40 << 24 >> 24; $42 = (($41) + -48)|0; $43 = ($42|0)<(0); $44 = $43 << 31 >> 31; $45 = (_i64Add(($37|0),($38|0),($42|0),($44|0))|0); $46 = (getTempRet0() | 0); $47 = (___muldi3(($45|0),($46|0),10,0)|0); $48 = (getTempRet0() | 0); $49 = ((($3)) + 5|0); $50 = HEAP8[$49>>0]|0; $51 = $50 << 24 >> 24; $52 = (($51) + -48)|0; $53 = ($52|0)<(0); $54 = $53 << 31 >> 31; $55 = (_i64Add(($47|0),($48|0),($52|0),($54|0))|0); $56 = (getTempRet0() | 0); $57 = (___muldi3(($55|0),($56|0),10,0)|0); $58 = (getTempRet0() | 0); $59 = ((($3)) + 6|0); $60 = HEAP8[$59>>0]|0; $61 = $60 << 24 >> 24; $62 = (($61) + -48)|0; $63 = ($62|0)<(0); $64 = $63 << 31 >> 31; $65 = (_i64Add(($57|0),($58|0),($62|0),($64|0))|0); $66 = (getTempRet0() | 0); $67 = (___muldi3(($65|0),($66|0),10,0)|0); $68 = (getTempRet0() | 0); $69 = ((($3)) + 7|0); $70 = HEAP8[$69>>0]|0; $71 = $70 << 24 >> 24; $72 = (($71) + -48)|0; $73 = ($72|0)<(0); $74 = $73 << 31 >> 31; $75 = (_i64Add(($67|0),($68|0),($72|0),($74|0))|0); $76 = (getTempRet0() | 0); $77 = (___muldi3(($75|0),($76|0),10,0)|0); $78 = (getTempRet0() | 0); $79 = ((($3)) + 8|0); $80 = HEAP8[$79>>0]|0; $81 = $80 << 24 >> 24; $82 = (($81) + -48)|0; $83 = ($82|0)<(0); $84 = $83 << 31 >> 31; $85 = (_i64Add(($77|0),($78|0),($82|0),($84|0))|0); $86 = (getTempRet0() | 0); $87 = (___muldi3(($85|0),($86|0),10,0)|0); $88 = (getTempRet0() | 0); $89 = ((($3)) + 9|0); $90 = HEAP8[$89>>0]|0; $91 = $90 << 24 >> 24; $92 = (($91) + -48)|0; $93 = ($92|0)<(0); $94 = $93 << 31 >> 31; $95 = (_i64Add(($87|0),($88|0),($92|0),($94|0))|0); $96 = (getTempRet0() | 0); $97 = (___muldi3(($95|0),($96|0),10,0)|0); $98 = (getTempRet0() | 0); $99 = ((($3)) + 10|0); $100 = HEAP8[$99>>0]|0; $101 = $100 << 24 >> 24; $102 = (($101) + -48)|0; $103 = ($102|0)<(0); $104 = $103 << 31 >> 31; $105 = (_i64Add(($97|0),($98|0),($102|0),($104|0))|0); $106 = (getTempRet0() | 0); $107 = (___muldi3(($105|0),($106|0),10,0)|0); $108 = (getTempRet0() | 0); $109 = ((($3)) + 11|0); $110 = HEAP8[$109>>0]|0; $111 = $110 << 24 >> 24; $112 = (($111) + -48)|0; $113 = ($112|0)<(0); $114 = $113 << 31 >> 31; $115 = (_i64Add(($107|0),($108|0),($112|0),($114|0))|0); $116 = (getTempRet0() | 0); $117 = (___muldi3(($115|0),($116|0),10,0)|0); $118 = (getTempRet0() | 0); $119 = ((($3)) + 12|0); $120 = HEAP8[$119>>0]|0; $121 = $120 << 24 >> 24; $122 = (($121) + -48)|0; $123 = ($122|0)<(0); $124 = $123 << 31 >> 31; $125 = (_i64Add(($117|0),($118|0),($122|0),($124|0))|0); $126 = (getTempRet0() | 0); $127 = (___muldi3(($125|0),($126|0),10,0)|0); $128 = (getTempRet0() | 0); $129 = ((($3)) + 13|0); $130 = HEAP8[$129>>0]|0; $131 = $130 << 24 >> 24; $132 = (($131) + -48)|0; $133 = ($132|0)<(0); $134 = $133 << 31 >> 31; $135 = (_i64Add(($127|0),($128|0),($132|0),($134|0))|0); $136 = (getTempRet0() | 0); $137 = (___muldi3(($135|0),($136|0),10,0)|0); $138 = (getTempRet0() | 0); $139 = ((($3)) + 14|0); $140 = HEAP8[$139>>0]|0; $141 = $140 << 24 >> 24; $142 = (($141) + -48)|0; $143 = ($142|0)<(0); $144 = $143 << 31 >> 31; $145 = (_i64Add(($137|0),($138|0),($142|0),($144|0))|0); $146 = (getTempRet0() | 0); $147 = (___muldi3(($145|0),($146|0),10,0)|0); $148 = (getTempRet0() | 0); $149 = ((($3)) + 15|0); $150 = HEAP8[$149>>0]|0; $151 = $150 << 24 >> 24; $152 = (($151) + -48)|0; $153 = ($152|0)<(0); $154 = $153 << 31 >> 31; $155 = (_i64Add(($147|0),($148|0),($152|0),($154|0))|0); $156 = (getTempRet0() | 0); $157 = (___muldi3(($155|0),($156|0),10,0)|0); $158 = (getTempRet0() | 0); $159 = ((($3)) + 16|0); $160 = HEAP8[$159>>0]|0; $161 = $160 << 24 >> 24; $162 = (($161) + -48)|0; $163 = ($162|0)<(0); $164 = $163 << 31 >> 31; $165 = (_i64Add(($157|0),($158|0),($162|0),($164|0))|0); $166 = (getTempRet0() | 0); $167 = (___muldi3(($165|0),($166|0),10,0)|0); $168 = (getTempRet0() | 0); $169 = ((($3)) + 17|0); $170 = HEAP8[$169>>0]|0; $171 = $170 << 24 >> 24; $172 = (($171) + -48)|0; $173 = ($172|0)<(0); $174 = $173 << 31 >> 31; $175 = (_i64Add(($167|0),($168|0),($172|0),($174|0))|0); $176 = (getTempRet0() | 0); $177 = (___muldi3(($175|0),($176|0),10,0)|0); $178 = (getTempRet0() | 0); $179 = ((($3)) + 18|0); $180 = HEAP8[$179>>0]|0; $181 = $180 << 24 >> 24; $182 = (($181) + -48)|0; $183 = ($182|0)<(0); $184 = $183 << 31 >> 31; $185 = (_i64Add(($177|0),($178|0),($182|0),($184|0))|0); $186 = (getTempRet0() | 0); $187 = (___muldi3(($185|0),($186|0),10,0)|0); $188 = (getTempRet0() | 0); $189 = ((($3)) + 19|0); $190 = HEAP8[$189>>0]|0; $191 = $190 << 24 >> 24; $192 = (($191) + -48)|0; $193 = ($192|0)<(0); $194 = $193 << 31 >> 31; $195 = (_i64Add(($187|0),($188|0),($192|0),($194|0))|0); $196 = (getTempRet0() | 0); $197 = $1; $198 = $197; HEAP32[$198>>2] = $195; $199 = (($197) + 4)|0; $200 = $199; HEAP32[$200>>2] = $196; $$015 = 1; STACKTOP = sp;return ($$015|0); } function _Convert_ParseFloat($0,$1) { $0 = $0|0; $1 = $1|0; var $$05584 = 0.0, $$057$lcssa = 0.0, $$05783 = 0.0, $$05982 = 0.0, $$05986 = 0.0, $$148 = 0, $$24987 = 0, $$451 = 0, $$5 = 0, $$55285 = 0, $$off = 0, $$off73 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0; var $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0.0; var $36 = 0.0, $37 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select64 = 0, $spec$select66 = 0.0, label = 0, sp = 0; sp = STACKTOP; HEAPF32[$1>>2] = 0.0; $2 = ((($0)) + 4|0); $3 = HEAP16[$2>>1]|0; $4 = ($3<<16>>16)==(0); if ($4) { $$5 = 0; return ($$5|0); } $5 = HEAP32[$0>>2]|0; $6 = HEAP8[$5>>0]|0; $7 = ($6<<24>>24)==(45); $spec$select64 = $7&1; $8 = ($6<<24>>24)==(43); $9 = $7 ? 2 : 1; $$148 = $8 ? $9 : $spec$select64; $10 = $3&65535; $11 = ($$148>>>0)<($10>>>0); L4: do { if ($11) { $$05986 = 0.0;$$24987 = $$148; L6: while(1) { $12 = (($5) + ($$24987)|0); $13 = HEAP8[$12>>0]|0; switch ($13<<24>>24) { case 44: case 46: { label = 6; break L6; break; } default: { } } $$off73 = (($13) + -48)<<24>>24; $14 = ($$off73&255)>(9); if ($14) { $$5 = 0; label = 13; break; } $16 = $$05986 * 10.0; $17 = $13 << 24 >> 24; $18 = (($17) + -48)|0; $19 = (+($18|0)); $20 = $16 + $19; $21 = (($$24987) + 1)|0; $22 = ($21>>>0)<($10>>>0); if ($22) { $$05986 = $20;$$24987 = $21; } else { $$05982 = $20;$$451 = $21; break L4; } } if ((label|0) == 6) { $15 = (($$24987) + 1)|0; $$05982 = $$05986;$$451 = $15; break; } else if ((label|0) == 13) { return ($$5|0); } } else { $$05982 = 0.0;$$451 = $$148; } } while(0); $23 = ($$451|0)<($10|0); L14: do { if ($23) { $$05584 = 10.0;$$05783 = 0.0;$$55285 = $$451; while(1) { $24 = (($5) + ($$55285)|0); $25 = HEAP8[$24>>0]|0; $$off = (($25) + -48)<<24>>24; $26 = ($$off&255)>(9); if ($26) { $$5 = 0; break; } $27 = $25 << 24 >> 24; $28 = (($27) + -48)|0; $29 = (+($28|0)); $30 = $29 / $$05584; $31 = $$05783 + $30; $32 = $$05584 * 10.0; $33 = (($$55285) + 1)|0; $34 = ($33|0)<($10|0); if ($34) { $$05584 = $32;$$05783 = $31;$$55285 = $33; } else { $$057$lcssa = $31; break L14; } } return ($$5|0); } else { $$057$lcssa = 0.0; } } while(0); $35 = $$05982 + $$057$lcssa; $36 = - $35; $spec$select66 = $7 ? $36 : $35; $37 = $spec$select66; HEAPF32[$1>>2] = $37; $$5 = 1; return ($$5|0); } function _Convert_ParseBool($0,$1) { $0 = $0|0; $1 = $1|0; var $$ = 0, $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (_String_CaselessEqualsConst($0,37080)|0); $3 = ($2|0)==(0); if ($3) { $4 = (_String_CaselessEqualsConst($0,37074)|0); $5 = ($4|0)!=(0); HEAP8[$1>>0] = 0; $$ = $5&1; $$0 = $$; return ($$0|0); } else { HEAP8[$1>>0] = 1; $$0 = 1; return ($$0|0); } return (0)|0; } function _StringsBuffer_Clear($0) { $0 = $0|0; var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 20|0); $2 = HEAP32[$1>>2]|0; $3 = ($2|0)==(0); if ($3) { return; } $4 = HEAP32[$0>>2]|0; $5 = ((($0)) + 24|0); $6 = ($4|0)==($5|0); if (!($6)) { _Mem_Free($4); } $7 = ((($0)) + 4|0); $8 = HEAP32[$7>>2]|0; $9 = ((($0)) + 4120|0); $10 = ($8|0)==($9|0); if (!($10)) { _Mem_Free($8); } _StringsBuffer_Init($0); return; } function _StringsBuffer_Init($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 8|0); HEAP32[$1>>2] = 0; $2 = ((($0)) + 12|0); HEAP32[$2>>2] = 0; $3 = ((($0)) + 24|0); HEAP32[$0>>2] = $3; $4 = ((($0)) + 4120|0); $5 = ((($0)) + 4|0); HEAP32[$5>>2] = $4; $6 = ((($0)) + 16|0); HEAP32[$6>>2] = 4096; $7 = ((($0)) + 20|0); HEAP32[$7>>2] = 256; return; } function _StringsBuffer_UNSAFE_Get($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ($2|0)<(0); if ($3) { label = 3; } else { $4 = ((($1)) + 8|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)>($2|0); if (!($6)) { label = 3; } } if ((label|0) == 3) { _Logger_Abort(37233); } $7 = ((($1)) + 4|0); $8 = HEAP32[$7>>2]|0; $9 = (($8) + ($2<<2)|0); $10 = HEAP32[$9>>2]|0; $11 = (9)?($10 >>> 9):($10); $12 = $10 & 511; $13 = HEAP32[$1>>2]|0; $14 = (($13) + ($11)|0); _String_Init_1538($0,$14,$12,$12); return; } function _StringsBuffer_Add($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 20|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(0); if ($4) { _StringsBuffer_Init($0); } $5 = ((($0)) + 8|0); $6 = HEAP32[$5>>2]|0; $7 = HEAP32[$2>>2]|0; $8 = ($6|0)==($7|0); if ($8) { $9 = ((($0)) + 4|0); _Utils_Resize($9,$2,4,256,512); } $10 = ((($1)) + 4|0); $11 = HEAP16[$10>>1]|0; $12 = ($11&65535)>(511); if ($12) { _Logger_Abort(37276); } $13 = ((($0)) + 12|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP16[$10>>1]|0; $16 = $15&65535; $17 = (($14) + ($16))|0; $18 = ((($0)) + 16|0); $19 = HEAP32[$18>>2]|0; $20 = ($17|0)<($19|0); if (!($20)) { _Utils_Resize($0,$18,1,4096,8192); } $21 = HEAP32[$0>>2]|0; $22 = (($21) + ($14)|0); $23 = HEAP32[$1>>2]|0; $24 = HEAP16[$10>>1]|0; $25 = $24&65535; _Mem_Copy($22,$23,$25); $26 = HEAP16[$10>>1]|0; $27 = $26&65535; $28 = $14 << 9; $29 = $28 | $27; $30 = ((($0)) + 4|0); $31 = HEAP32[$30>>2]|0; $32 = HEAP32[$5>>2]|0; $33 = (($31) + ($32<<2)|0); HEAP32[$33>>2] = $29; $34 = HEAP32[$5>>2]|0; $35 = (($34) + 1)|0; HEAP32[$5>>2] = $35; $36 = HEAP32[$13>>2]|0; $37 = (($36) + ($27))|0; HEAP32[$13>>2] = $37; return; } function _StringsBuffer_Remove($0,$1) { $0 = $0|0; $1 = $1|0; var $$046 = 0, $$144 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)<(0); if ($2) { label = 3; } else { $3 = ((($0)) + 8|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)>($1|0); if (!($5)) { label = 3; } } if ((label|0) == 3) { _Logger_Abort(37320); } $6 = ((($0)) + 4|0); $7 = HEAP32[$6>>2]|0; $8 = (($7) + ($1<<2)|0); $9 = HEAP32[$8>>2]|0; $10 = (9)?($9 >>> 9):($9); $11 = $9 & 511; $12 = (($10) + ($11))|0; $13 = ((($0)) + 12|0); $14 = HEAP32[$13>>2]|0; $15 = ($12>>>0)<($14>>>0); if ($15) { $$046 = $12; while(1) { $16 = HEAP32[$0>>2]|0; $17 = (($16) + ($$046)|0); $18 = HEAP8[$17>>0]|0; $19 = (($$046) - ($11))|0; $20 = (($16) + ($19)|0); HEAP8[$20>>0] = $18; $21 = (($$046) + 1)|0; $22 = HEAP32[$13>>2]|0; $23 = ($21>>>0)<($22>>>0); if ($23) { $$046 = $21; } else { break; } } } $24 = $11 << 9; $25 = ((($0)) + 8|0); $26 = HEAP32[$25>>2]|0; $27 = (($26) + -1)|0; $28 = ($27>>>0)>($1>>>0); if (!($28)) { $$lcssa = $27; HEAP32[$25>>2] = $$lcssa; $39 = HEAP32[$13>>2]|0; $40 = (($39) - ($11))|0; HEAP32[$13>>2] = $40; return; } $29 = HEAP32[$6>>2]|0; $$144 = $1; while(1) { $30 = (($$144) + 1)|0; $31 = (($29) + ($30<<2)|0); $32 = HEAP32[$31>>2]|0; $33 = (($29) + ($$144<<2)|0); $34 = ($32>>>0)<($9>>>0); $35 = $34 ? 0 : $24; $spec$select = (($32) - ($35))|0; HEAP32[$33>>2] = $spec$select; $36 = HEAP32[$25>>2]|0; $37 = (($36) + -1)|0; $38 = ($30>>>0)<($37>>>0); if ($38) { $$144 = $30; } else { $$lcssa = $37; break; } } HEAP32[$25>>2] = $$lcssa; $39 = HEAP32[$13>>2]|0; $40 = (($39) - ($11))|0; HEAP32[$13>>2] = $40; return; } function _WordWrap_Do($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$04864 = 0, $$049$lcssa = 0, $$04957 = 0, $$05060 = 0, $$161 = 0, $$2$ph = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $4 = sp + 16|0; $5 = sp + 8|0; $6 = sp; $7 = ($2|0)>(0); if (!($7)) { STACKTOP = sp;return; } $$04864 = 0; while(1) { $8 = (($1) + ($$04864<<3)|0); $9 = 1384616; $10 = $9; $11 = HEAP32[$10>>2]|0; $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; $15 = $8; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; $18 = $17; HEAP32[$18>>2] = $14; $19 = (($$04864) + 1)|0; $exitcond = ($19|0)==($2|0); if ($exitcond) { break; } else { $$04864 = $19; } } $20 = ($2|0)>(0); if (!($20)) { STACKTOP = sp;return; } $21 = ((($0)) + 4|0); $22 = ($3|0)<(0); $$05060 = 0;$$161 = 0; while(1) { $23 = (($$05060) + ($3))|0; $24 = HEAP16[$21>>1]|0; $25 = $24&65535; $26 = ($23|0)<($25|0); if (!($26)) { break; } L13: do { if ($22) { $$049$lcssa = $23; } else { $27 = HEAP32[$0>>2]|0; $$04957 = $23; while(1) { $28 = (($27) + ($$04957)|0); $29 = HEAP8[$28>>0]|0; $30 = (_WordWrap_IsWrapper($29)|0); $31 = ($30<<24>>24)==(0); if (!($31)) { $$049$lcssa = $$04957; break L13; } $32 = (($$04957) + -1)|0; $33 = ($$04957|0)>($$05060|0); if ($33) { $$04957 = $32; } else { $$049$lcssa = $32; break; } } } } while(0); $34 = (($$049$lcssa) + 1)|0; $35 = ($$049$lcssa|0)>=($$05060|0); $36 = ($34|0)<($23|0); $or$cond = $35 & $36; $37 = (($1) + ($$161<<3)|0); if ($or$cond) { $48 = (($34) - ($$05060))|0; _String_UNSAFE_Substring($6,$0,$$05060,$48); $49 = $6; $50 = $49; $51 = HEAP32[$50>>2]|0; $52 = (($49) + 4)|0; $53 = $52; $54 = HEAP32[$53>>2]|0; $55 = $37; $56 = $55; HEAP32[$56>>2] = $51; $57 = (($55) + 4)|0; $58 = $57; HEAP32[$58>>2] = $54; $$2$ph = $34; } else { _String_UNSAFE_Substring($5,$0,$$05060,$3); $38 = $5; $39 = $38; $40 = HEAP32[$39>>2]|0; $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; $44 = $37; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; $$2$ph = $23; } $70 = (($$161) + 1)|0; $71 = ($70|0)<($2|0); if ($71) { $$05060 = $$2$ph;$$161 = $70; } else { label = 16; break; } } if ((label|0) == 16) { STACKTOP = sp;return; } $59 = (($1) + ($$161<<3)|0); _String_UNSAFE_SubstringAt($4,$0,$$05060); $60 = $4; $61 = $60; $62 = HEAP32[$61>>2]|0; $63 = (($60) + 4)|0; $64 = $63; $65 = HEAP32[$64>>2]|0; $66 = $59; $67 = $66; HEAP32[$67>>2] = $62; $68 = (($66) + 4)|0; $69 = $68; HEAP32[$69>>2] = $65; STACKTOP = sp;return; } function _WordWrap_IsWrapper($0) { $0 = $0|0; var $1 = 0, $2 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; switch ($0<<24>>24) { case 47: case 60: case 62: case 45: case 32: case 0: { $2 = 1; break; } default: { $1 = ($0<<24>>24)==(92); $phitmp = $1&1; $2 = $phitmp; } } return ($2|0); } function _WordWrap_GetCoords($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $$02731 = 0, $$02830 = 0, $$pr = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $5 = ($0|0)==(-1); $spec$select = $5 ? 2147483647 : $0; HEAP32[$3>>2] = -1; HEAP32[$4>>2] = 0; $6 = ($2|0)>(0); L1: do { if ($6) { $$02731 = 0;$$02830 = 0; while(1) { $9 = (((($1) + ($$02830<<3)|0)) + 4|0); $10 = HEAP16[$9>>1]|0; $11 = ($10<<16>>16)==(0); if ($11) { label = 7; break L1; } $12 = $10&65535; HEAP32[$4>>2] = $$02830; $13 = (($$02731) + ($12))|0; $14 = ($spec$select|0)<($13|0); $7 = (($$02830) + 1)|0; if ($14) { break; } $8 = ($7|0)<($2|0); if ($8) { $$02731 = $13;$$02830 = $7; } else { label = 7; break L1; } } $15 = (($spec$select) - ($$02731))|0; HEAP32[$3>>2] = $15; $16 = $15; } else { label = 7; } } while(0); if ((label|0) == 7) { $$pr = HEAP32[$3>>2]|0; $16 = $$pr; } $17 = ($16|0)==(-1); if (!($17)) { return; } $18 = HEAP32[$4>>2]|0; $19 = (((($1) + ($18<<3)|0)) + 4|0); $20 = HEAP16[$19>>1]|0; $21 = $20&65535; HEAP32[$3>>2] = $21; return; } function _WordWrap_GetBackLength($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $$016$lcssa = 0, $$01620 = 0, $$1$lcssa = 0, $$117 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)<(1); if ($2) { $$0 = 0; return ($$0|0); } $3 = ((($0)) + 4|0); $4 = HEAP16[$3>>1]|0; $5 = $4&65535; $6 = ($5|0)>($1|0); if (!($6)) { _Logger_Abort(37366); } $7 = HEAP32[$0>>2]|0; $$01620 = $1; while(1) { $8 = (($7) + ($$01620)|0); $9 = HEAP8[$8>>0]|0; $10 = ($9<<24>>24)==(32); if (!($10)) { $$016$lcssa = $$01620; break; } $11 = (($$01620) + -1)|0; $12 = ($$01620|0)>(1); if ($12) { $$01620 = $11; } else { $$016$lcssa = $11; break; } } $13 = ($$016$lcssa|0)>(0); L11: do { if ($13) { $14 = HEAP32[$0>>2]|0; $$117 = $$016$lcssa; while(1) { $15 = (($14) + ($$117)|0); $16 = HEAP8[$15>>0]|0; $17 = ($16<<24>>24)==(32); if ($17) { $$1$lcssa = $$117; break L11; } $18 = (($$117) + -1)|0; $19 = ($$117|0)>(1); if ($19) { $$117 = $18; } else { $$1$lcssa = $18; break; } } } else { $$1$lcssa = $$016$lcssa; } } while(0); $20 = (($1) - ($$1$lcssa))|0; $$0 = $20; return ($$0|0); } function _WordWrap_GetForwardLength($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $$019$lcssa = 0, $$01924 = 0, $$1$lcssa = 0, $$121 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 4|0); $3 = HEAP16[$2>>1]|0; $4 = $3&65535; $5 = ($1|0)==(-1); if ($5) { $$0 = 0; return ($$0|0); } $6 = ($4|0)>($1|0); if (!($6)) { _Logger_Abort(37416); } $7 = ($4|0)>($1|0); L7: do { if ($7) { $8 = HEAP32[$0>>2]|0; $$01924 = $1; while(1) { $9 = (($8) + ($$01924)|0); $10 = HEAP8[$9>>0]|0; $11 = ($10<<24>>24)==(32); if ($11) { $$019$lcssa = $$01924; break L7; } $12 = (($$01924) + 1)|0; $13 = ($12|0)<($4|0); if ($13) { $$01924 = $12; } else { $$019$lcssa = $12; break; } } } else { $$019$lcssa = $1; } } while(0); $14 = ($$019$lcssa|0)<($4|0); L13: do { if ($14) { $15 = HEAP32[$0>>2]|0; $$121 = $$019$lcssa; while(1) { $16 = (($15) + ($$121)|0); $17 = HEAP8[$16>>0]|0; $18 = ($17<<24>>24)==(32); if (!($18)) { $$1$lcssa = $$121; break L13; } $19 = (($$121) + 1)|0; $20 = ($19|0)<($4|0); if ($20) { $$121 = $19; } else { $$1$lcssa = $19; break; } } } else { $$1$lcssa = $$019$lcssa; } } while(0); $21 = (($$1$lcssa) - ($1))|0; $$0 = $21; return ($$0|0); } function _Animations_Init() { var label = 0, sp = 0; sp = STACKTOP; (_ScheduledTask_Add(0.050000000000000003,397)|0); _Event_Register((1250556),0,398); _Event_Register((1250816),0,23); return; } function _Animations_Free() { var label = 0, sp = 0; sp = STACKTOP; _Animations_Clear(); _Event_Unregister((1250556),0,398); _Event_Unregister((1250816),0,23); return; } function _Animations_Clear() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[346156]|0; _Mem_Free($0); HEAP32[346159] = 0; HEAP32[346156] = 0; HEAP8[1408299] = 0; return; } function _OnPackChanged($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _Animations_Clear(); _Animations_IsDefaultZip(); return; } function _OnFileChanged_1649($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (_String_CaselessEqualsConst($2,37469)|0); $4 = ($3|0)==(0); if (!($4)) { $5 = (_Png_Decode(1384624,$1)|0); $6 = ($5|0)==(0); if ($6) { return; } _Logger_Warn2($5,37484,$2); $7 = HEAP32[346156]|0; _Mem_Free($7); HEAP32[346156] = 0; return; } $8 = (_String_CaselessEqualsConst($2,37493)|0); $9 = ($8|0)==(0); if (!($9)) { _Animations_ReadDescription($1,$2); return; } $10 = (_String_CaselessEqualsConst($2,37508)|0); $11 = ($10|0)==(0); if ($11) { return; } else { return; } } function _Animations_ReadDescription($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond10 = 0; var $switch$split2D = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 2336|0; $2 = sp + 2296|0; $3 = sp + 2112|0; $4 = sp + 2048|0; $5 = sp + 2304|0; $6 = sp + 2321|0; $7 = sp + 2320|0; $8 = sp; $9 = sp + 2240|0; ;HEAP16[$5>>1]=0|0;HEAP16[$5+2>>1]=0|0;HEAP16[$5+4>>1]=0|0;HEAP16[$5+6>>1]=0|0;HEAP16[$5+8>>1]=0|0;HEAP16[$5+10>>1]=0|0;HEAP16[$5+12>>1]=0|0;HEAP16[$5+14>>1]=0|0; HEAP32[$2>>2] = $3; $10 = ((($2)) + 4|0); HEAP16[$10>>1] = 0; $11 = ((($2)) + 6|0); HEAP16[$11>>1] = 128; _Stream_ReadonlyBuffered($9,$0,$8,2048); $12 = ((($4)) + 8|0); $13 = ((($4)) + 16|0); $14 = ((($5)) + 2|0); $15 = ((($4)) + 24|0); $16 = ((($5)) + 4|0); $17 = ((($4)) + 32|0); $18 = ((($5)) + 6|0); $19 = ((($4)) + 40|0); $20 = ((($5)) + 10|0); $21 = ((($4)) + 48|0); $22 = ((($5)) + 14|0); L1: while(1) { $23 = (_Stream_ReadLine($9,$2)|0); $switch$split2D = ($23|0)<(0); if ($switch$split2D) { label = 27; break; } switch ($23|0) { case 0: { break; } default: { break L1; } } $24 = HEAP16[$10>>1]|0; $25 = ($24<<16>>16)==(0); do { if (!($25)) { $26 = HEAP32[$2>>2]|0; $27 = HEAP8[$26>>0]|0; $28 = ($27<<24>>24)==(35); if (!($28)) { $29 = (_String_UNSAFE_Split($2,32,$4,7)|0); $30 = ($29|0)<(7); if ($30) { _Chat_Add1(37533,$2); break; } $31 = (_Convert_ParseUInt8($4,$6)|0); $32 = ($31<<24>>24)==(0); $33 = HEAP8[$6>>0]|0; $34 = ($33&255)>(15); $or$cond = $32 | $34; if ($or$cond) { _Chat_Add1(37569,$2); break; } $35 = (_Convert_ParseUInt8($12,$7)|0); $36 = ($35<<24>>24)==(0); $37 = HEAP8[$7>>0]|0; $38 = ($37&255)>(31); $or$cond10 = $36 | $38; if ($or$cond10) { _Chat_Add1(37601,$2); break; } $39 = (_Convert_ParseUInt16($13,$14)|0); $40 = ($39<<24>>24)==(0); if ($40) { _Chat_Add1(37633,$2); break; } $41 = (_Convert_ParseUInt16($15,$16)|0); $42 = ($41<<24>>24)==(0); if ($42) { _Chat_Add1(37666,$2); break; } $43 = (_Convert_ParseUInt16($17,$18)|0); $44 = ($43<<24>>24)==(0); if ($44) { _Chat_Add1(37699,$2); break; } $45 = (_Convert_ParseUInt16($19,$20)|0); $46 = ($45<<24>>24)==(0); if ($46) { _Chat_Add1(37729,$2); break; } $47 = (_Convert_ParseUInt16($21,$22)|0); $48 = ($47<<24>>24)==(0); if ($48) { _Chat_Add1(37761,$2); break; } $49 = HEAP32[346159]|0; $50 = ($49|0)==(512); if ($50) { label = 24; break L1; } $51 = HEAP8[$6>>0]|0; $52 = $51&255; $53 = HEAP8[$7>>0]|0; $54 = $53&255; $55 = $54 << 4; $56 = (($55) + ($52))|0; $57 = $56&65535; HEAP16[$5>>1] = $57; $58 = (($49) + 1)|0; HEAP32[346159] = $58; $59 = (527184 + ($49<<4)|0); ;HEAP16[$59>>1]=HEAP16[$5>>1]|0;HEAP16[$59+2>>1]=HEAP16[$5+2>>1]|0;HEAP16[$59+4>>1]=HEAP16[$5+4>>1]|0;HEAP16[$59+6>>1]=HEAP16[$5+6>>1]|0;HEAP16[$59+8>>1]=HEAP16[$5+8>>1]|0;HEAP16[$59+10>>1]=HEAP16[$5+10>>1]|0;HEAP16[$59+12>>1]=HEAP16[$5+12>>1]|0;HEAP16[$59+14>>1]=HEAP16[$5+14>>1]|0; } } } while(0); } L34: do { if ((label|0) == 24) { _Chat_AddRaw(37792); STACKTOP = sp;return; } else if ((label|0) == 27) { switch ($23|0) { case -857812991: { break; } default: { break L34; } } STACKTOP = sp;return; } } while(0); _Logger_Warn2($23,38440,$1); STACKTOP = sp;return; } function _Animations_IsDefaultZip() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; $1 = HEAP16[(18832)>>1]|0; $2 = ($1<<16>>16)==(0); if ($2) { $3 = (_Options_UNSAFE_Get(37826,$0)|0); $4 = ($3<<24>>24)==(0); if (!($4)) { } } STACKTOP = sp;return; } function _Animations_Tick($0) { $0 = $0|0; var $$06 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[346159]|0; $2 = ($1|0)==(0); if ($2) { return; } $3 = HEAP32[346156]|0; $4 = ($3|0)==(0|0); if ($4) { _Chat_AddRaw(37853); _Chat_AddRaw(37906); HEAP32[346159] = 0; return; } $5 = HEAP8[1408299]|0; $6 = ($5<<24>>24)==(0); if ($6) { _Animations_Validate(); } $7 = HEAP32[346159]|0; $8 = ($7|0)>(0); if (!($8)) { return; } $$06 = 0; while(1) { $9 = (527184 + ($$06<<4)|0); _Animations_Apply($9); $10 = (($$06) + 1)|0; $11 = HEAP32[346159]|0; $12 = ($10|0)<($11|0); if ($12) { $$06 = $10; } else { break; } } return; } function _Animations_Validate() { var $$04248 = 0, $$047 = 0, $$1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$0$0$copyload = 0, $$sroa$1235$0$$sroa_idx36 = 0, $$sroa$1235$0$copyload = 0, $$sroa$7$0$$sroa_idx25 = 0, $$sroa$7$0$copyload = 0, $$sroa$8$0$$sroa_idx27 = 0, $$sroa$8$0$copyload = 0, $$sroa$9$0$$sroa_idx29 = 0, $$sroa$9$0$copyload = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0; var $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0; var $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond44 = 0, $or$cond46 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; $1 = sp; HEAP8[1408299] = 1; $2 = HEAP32[346159]|0; $3 = ($2|0)>(0); if (!($3)) { STACKTOP = sp;return; } $$04248 = 0; while(1) { $$sroa$0$0$$sroa_idx = (527184 + ($$04248<<4)|0); $$sroa$0$0$copyload = HEAP16[$$sroa$0$0$$sroa_idx>>1]|0; $$sroa$7$0$$sroa_idx25 = (((527184 + ($$04248<<4)|0)) + 2|0); $$sroa$7$0$copyload = HEAP16[$$sroa$7$0$$sroa_idx25>>1]|0; $$sroa$8$0$$sroa_idx27 = (((527184 + ($$04248<<4)|0)) + 4|0); $$sroa$8$0$copyload = HEAP16[$$sroa$8$0$$sroa_idx27>>1]|0; $$sroa$9$0$$sroa_idx29 = (((527184 + ($$04248<<4)|0)) + 6|0); $$sroa$9$0$copyload = HEAP16[$$sroa$9$0$$sroa_idx29>>1]|0; $$sroa$1235$0$$sroa_idx36 = (((527184 + ($$04248<<4)|0)) + 10|0); $$sroa$1235$0$copyload = HEAP16[$$sroa$1235$0$$sroa_idx36>>1]|0; $4 = $$sroa$9$0$copyload&65535; $5 = $$sroa$0$0$copyload&65535; $6 = $5 & 15; HEAP32[$0>>2] = $6; $7 = (4)?($5 >>> 4):($5); HEAP32[$1>>2] = $7; $8 = HEAP32[(1386720)>>2]|0; $9 = ($8|0)>=($4|0); $10 = HEAP32[(1386724)>>2]|0; $11 = ($7|0)<($10|0); $or$cond44 = $9 & $11; if ($or$cond44) { $12 = $$sroa$8$0$copyload&65535; $13 = (($4) + ($12))|0; $14 = $$sroa$1235$0$copyload&65535; $15 = Math_imul($14, $4)|0; $16 = $$sroa$7$0$copyload&65535; $17 = (($15) + ($16))|0; $18 = HEAP32[(1384628)>>2]|0; $19 = ($17|0)>($18|0); $20 = HEAP32[(1384632)>>2]|0; $21 = ($13|0)>($20|0); $or$cond46 = $19 | $21; if ($or$cond46) { _Chat_Add2(38036,$0,$1); label = 7; } else { $$1 = $$04248; } } else { _Chat_Add2(37949,$0,$1); label = 7; } if ((label|0) == 7) { label = 0; $22 = HEAP32[346159]|0; $23 = (($22) + -1)|0; $24 = ($$04248|0)<($23|0); if ($24) { $25 = HEAP32[346159]|0; $26 = (($25) + -1)|0; $$047 = $$04248; while(1) { $27 = (527184 + ($$047<<4)|0); $28 = (($$047) + 1)|0; $29 = (527184 + ($28<<4)|0); ;HEAP32[$27>>2]=HEAP32[$29>>2]|0;HEAP32[$27+4>>2]=HEAP32[$29+4>>2]|0;HEAP32[$27+8>>2]=HEAP32[$29+8>>2]|0;HEAP32[$27+12>>2]=HEAP32[$29+12>>2]|0; $30 = ($28|0)<($26|0); if ($30) { $$047 = $28; } else { $$lcssa = $26; break; } } } else { $$lcssa = $23; } $31 = (($$04248) + -1)|0; HEAP32[346159] = $$lcssa; $$1 = $31; } $32 = (($$1) + 1)|0; $33 = HEAP32[346159]|0; $34 = ($32|0)<($33|0); if ($34) { $$04248 = $32; } else { break; } } STACKTOP = sp;return; } function _Animations_Apply($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 12|0); $2 = HEAP16[$1>>1]|0; $3 = ($2<<16>>16)==(0); if ($3) { $5 = ((($0)) + 8|0); $6 = HEAP16[$5>>1]|0; $7 = (($6) + 1)<<16>>16; $8 = ((($0)) + 10|0); $9 = HEAP16[$8>>1]|0; $10 = (($7&65535) % ($9&65535))&-1; HEAP16[$5>>1] = $10; $11 = ((($0)) + 14|0); $12 = HEAP16[$11>>1]|0; HEAP16[$1>>1] = $12; $13 = HEAP16[$0>>1]|0; $14 = ((($0)) + 6|0); $15 = HEAP16[$14>>1]|0; $16 = $15&65535; _Animations_Draw($0,$13,$16); return; } else { $4 = (($2) + -1)<<16>>16; HEAP16[$1>>1] = $4; return; } } function _Animations_Draw($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16400|0; $3 = sp; $4 = sp + 16384|0; $5 = $1&65535; $6 = HEAP32[(1384652)>>2]|0; $7 = ($6)?($5 >>> $6):($5); $8 = HEAP32[(1384648)>>2]|0; $9 = $8 & $5; $10 = HEAP32[(1386720)>>2]|0; $11 = Math_imul($9, $10)|0; $12 = ($2|0)>(64); if ($12) { $13 = Math_imul($2, $2)|0; $14 = (_Mem_Alloc($13,4,37938)|0); $$0 = $14; } else { $$0 = $3; } $15 = ((($4)) + 4|0); HEAP32[$15>>2] = $2; $16 = ((($4)) + 8|0); HEAP32[$16>>2] = $2; HEAP32[$4>>2] = $$0; $17 = ($0|0)==(0|0); if (!($17)) { $18 = ((($0)) + 2|0); $19 = HEAP16[$18>>1]|0; $20 = $19&65535; $21 = ((($0)) + 8|0); $22 = HEAP16[$21>>1]|0; $23 = $22&65535; $24 = Math_imul($23, $2)|0; $25 = (($24) + ($20))|0; $26 = ((($0)) + 4|0); $27 = HEAP16[$26>>1]|0; $28 = $27&65535; _Bitmap_UNSAFE_CopyBlock($25,$28,0,0,1384624,$4,$2); } $29 = (1384660 + ($7<<2)|0); $30 = HEAP32[$29>>2]|0; $31 = ($30|0)==(0); if (!($31)) { $32 = HEAP8[(1260361)>>0]|0; _Gfx_UpdateTexturePart($30,0,$11,$4,$32); } if (!($12)) { STACKTOP = sp;return; } _Mem_Free($$0); STACKTOP = sp;return; } function _Atlas1D_TexRec($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$sroa$4$0$$sroa_idx3 = 0, $$sroa$6$0$$sroa_idx5 = 0, $$sroa$7$0$$sroa_idx7 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $4 = $1&65535; $5 = HEAP32[(1384648)>>2]|0; $6 = $5 & $4; $7 = HEAP32[(1384652)>>2]|0; $8 = ($7)?($4 >>> $7):($4); HEAP32[$3>>2] = $8; $9 = (+($6|0)); $10 = +HEAPF32[(1384656)>>2]; $11 = $10 * $9; $12 = (($2) + -1)|0; $13 = (+($12|0)); $14 = $13 + 0.99937498569488525; $15 = $10 * 0.99937498569488525; $16 = $11 + $15; HEAPF32[$0>>2] = 0.0; $$sroa$4$0$$sroa_idx3 = ((($0)) + 4|0); HEAPF32[$$sroa$4$0$$sroa_idx3>>2] = $11; $$sroa$6$0$$sroa_idx5 = ((($0)) + 8|0); HEAPF32[$$sroa$6$0$$sroa_idx5>>2] = $14; $$sroa$7$0$$sroa_idx7 = ((($0)) + 12|0); HEAPF32[$$sroa$7$0$$sroa_idx7>>2] = $16; return; } function _Atlas_Update($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; ;HEAP32[1386708>>2]=HEAP32[$0>>2]|0;HEAP32[1386708+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[1386708+8>>2]=HEAP32[$0+8>>2]|0; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; $3 = (($2|0) / 16)&-1; HEAP32[(1386720)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; $6 = (($5|0) / ($3|0))&-1; $7 = ($6|0)<(32); $8 = $7 ? $6 : 32; HEAP32[(1386724)>>2] = $8; _Atlas_Update1D(); _Atlas_Convert2DTo1D(); return; } function _Atlas_Update1D() { var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[(1260352)>>2]|0; $1 = ($0|0)<(4096); $2 = $1 ? $0 : 4096; $3 = HEAP32[(1386720)>>2]|0; $4 = (($2|0) / ($3|0))&-1; $5 = HEAP32[(1386724)>>2]|0; $6 = $5 << 4; $7 = ($4|0)<($6|0); $8 = $7 ? $4 : $6; HEAP32[(1384644)>>2] = $8; $9 = (_Math_CeilDiv($6,$8)|0); HEAP32[346160] = $9; $10 = HEAP32[(1384644)>>2]|0; $11 = (+($10|0)); $12 = 1.0 / $11; HEAPF32[(1384656)>>2] = $12; $13 = (($10) + -1)|0; HEAP32[(1384648)>>2] = $13; $14 = (_Math_Log2($10)|0); HEAP32[(1384652)>>2] = $14; return; } function _Atlas_Convert2DTo1D() { var $$02833 = 0, $$02932 = 0, $$031 = 0, $$1$lcssa = 0, $$130 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 16|0; $1 = sp + 12|0; $2 = sp; $3 = HEAP32[(1386720)>>2]|0; $4 = HEAP32[(1384644)>>2]|0; HEAP32[$0>>2] = $4; $5 = HEAP32[346160]|0; HEAP32[$1>>2] = $5; _Platform_Log2(38127,$1,$0); $6 = HEAP32[$0>>2]|0; $7 = Math_imul($6, $3)|0; _Bitmap_Allocate($2,$3,$7); $8 = HEAP32[$1>>2]|0; $9 = ($8|0)>(0); if (!($9)) { $27 = HEAP32[$2>>2]|0; _Mem_Free($27); STACKTOP = sp;return; } $$02833 = 0;$$02932 = 0; while(1) { $10 = HEAP32[$0>>2]|0; $11 = ($10|0)>(0); if ($11) { $$031 = 0;$$130 = $$02932; while(1) { $12 = $$130 & 15; $13 = Math_imul($12, $3)|0; $14 = (4)?($$130 >> 4):($$130); $15 = Math_imul($14, $3)|0; $16 = Math_imul($$031, $3)|0; _Bitmap_UNSAFE_CopyBlock($13,$15,0,$16,1386708,$2,$3); $17 = (($$031) + 1)|0; $18 = (($$130) + 1)|0; $19 = HEAP32[$0>>2]|0; $20 = ($17|0)<($19|0); if ($20) { $$031 = $17;$$130 = $18; } else { $$1$lcssa = $18; break; } } } else { $$1$lcssa = $$02932; } $21 = HEAP8[(1260361)>>0]|0; $22 = (_Gfx_CreateTexture($2,1,$21)|0); $23 = (1384660 + ($$02833<<2)|0); HEAP32[$23>>2] = $22; $24 = (($$02833) + 1)|0; $25 = HEAP32[$1>>2]|0; $26 = ($24|0)<($25|0); if ($26) { $$02833 = $24;$$02932 = $$1$lcssa; } else { break; } } $27 = HEAP32[$2>>2]|0; _Mem_Free($27); STACKTOP = sp;return; } function _Atlas2D_LoadTile($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16400|0; $1 = sp + 16384|0; $2 = sp; $3 = HEAP32[(1386720)>>2]|0; $4 = ($3|0)>(64); if ($4) { _Bitmap_Allocate($1,$3,$3); $5 = (_Atlas_LoadTile_Raw($0,$1)|0); $6 = HEAP32[$1>>2]|0; _Mem_Free($6); $$0 = $5; STACKTOP = sp;return ($$0|0); } else { $7 = ((($1)) + 4|0); HEAP32[$7>>2] = $3; $8 = ((($1)) + 8|0); HEAP32[$8>>2] = $3; HEAP32[$1>>2] = $2; $9 = (_Atlas_LoadTile_Raw($0,$1)|0); $$0 = $9; STACKTOP = sp;return ($$0|0); } return (0)|0; } function _Atlas_LoadTile_Raw($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[(1386720)>>2]|0; $3 = $0&65535; $4 = (4)?($3 >>> 4):($3); $5 = HEAP32[(1386724)>>2]|0; $6 = ($4|0)<($5|0); if (!($6)) { $$0 = 0; return ($$0|0); } $7 = Math_imul($2, $4)|0; $8 = $3 & 15; $9 = Math_imul($2, $8)|0; _Bitmap_UNSAFE_CopyBlock($9,$7,0,0,1386708,$1,$2); $10 = HEAP8[(1260361)>>0]|0; $11 = (_Gfx_CreateTexture($1,0,$10)|0); $$0 = $11; return ($$0|0); } function _Atlas_Free() { var $$04 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[346677]|0; _Mem_Free($0); HEAP32[346677] = 0; $1 = HEAP32[346160]|0; $2 = ($1|0)>(0); if (!($2)) { return; } $$04 = 0; while(1) { $3 = (1384660 + ($$04<<2)|0); _Gfx_DeleteTexture($3); $4 = (($$04) + 1)|0; $5 = HEAP32[346160]|0; $6 = ($4|0)<($5|0); if ($6) { $$04 = $4; } else { break; } } return; } function _TextureCache_Init() { var label = 0, sp = 0; sp = STACKTOP; _EntryList_Init(1386728,38165,32); _EntryList_Init(1391880,38195,32); _EntryList_Init(1397032,38223,32); _EntryList_Init(1402184,38246,32); return; } function _TextureCache_HasAccepted($0) { $0 = $0|0; var $$lobit = 0, $$not = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_EntryList_Find(1386728,$0)|0); $$lobit = (31)?($1 >>> 31):($1); $2 = $$lobit&255; $$not = $2 ^ 1; return ($$not|0); } function _TextureCache_HasDenied($0) { $0 = $0|0; var $$lobit = 0, $$not = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_EntryList_Find(1391880,$0)|0); $$lobit = (31)?($1 >>> 31):($1); $2 = $$lobit&255; $$not = $2 ^ 1; return ($$not|0); } function _TextureCache_Accept($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _EntryList_Set(1386728,$0,1384616); _EntryList_Save(1386728); return; } function _TextureCache_Deny($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; _EntryList_Set(1391880,$0,1384616); _EntryList_Save(1391880); return; } function _TextureCache_ClearDenied() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[(1391896)>>2]|0; _StringsBuffer_Clear((1391888)); _EntryList_Save(1391880); return ($0|0); } function _TextureCache_Has($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 272|0; $1 = sp + 264|0; $2 = sp; HEAP32[$1>>2] = $2; $3 = ((($1)) + 4|0); HEAP16[$3>>1] = 0; $4 = ((($1)) + 6|0); HEAP16[$4>>1] = 260; _TextureCache_MakePath($1,$0); $5 = (_File_Exists($1)|0); $6 = $5&255; STACKTOP = sp;return ($6|0); } function _TextureCache_MakePath($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $2 = sp + 24|0; $3 = sp; HEAP32[$2>>2] = $3; $4 = ((($2)) + 4|0); HEAP16[$4>>1] = 0; $5 = ((($2)) + 6|0); HEAP16[$5>>1] = 24; _TextureCache_HashUrl($2,$1); _String_Format1($0,38276,$2); STACKTOP = sp;return; } function _TextureCache_HashUrl($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[$1>>2]|0; $3 = ((($1)) + 4|0); $4 = HEAP16[$3>>1]|0; $5 = $4&65535; $6 = (_Utils_CRC32($2,$5)|0); _String_AppendUInt32($0,$6); return; } function _TextureCache_Get($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 272|0; $2 = sp + 264|0; $3 = sp; HEAP32[$2>>2] = $3; $4 = ((($2)) + 4|0); HEAP16[$4>>1] = 0; $5 = ((($2)) + 6|0); HEAP16[$5>>1] = 260; _TextureCache_MakePath($2,$0); $6 = (_Stream_OpenFile($1,$2)|0); $7 = HEAP32[4302]|0; $8 = ($6|0)==($7|0); if ($8) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $9 = ($6|0)==(0); if ($9) { $$0 = 1; STACKTOP = sp;return ($$0|0); } _Logger_Warn2($6,38292,$0); $$0 = 0; STACKTOP = sp;return ($$0|0); } function _TextureCache_Update($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 288|0; $1 = sp + 280|0; $2 = sp + 272|0; $3 = sp; $4 = sp + 264|0; _String_FromRaw($2,$0,128); $5 = ((($0)) + 356|0); _String_FromRaw($1,$5,64); _TextureCache_SetETag($2,$1); $6 = ((($0)) + 292|0); _String_FromRaw($4,$6,64); $7 = $4; $8 = $7; $9 = HEAP32[$8>>2]|0; $10 = (($7) + 4)|0; $11 = $10; $12 = HEAP32[$11>>2]|0; $13 = $1; $14 = $13; HEAP32[$14>>2] = $9; $15 = (($13) + 4)|0; $16 = $15; HEAP32[$16>>2] = $12; _TextureCache_SetLastModified($2,$1); HEAP32[$1>>2] = $3; $17 = ((($1)) + 4|0); HEAP16[$17>>1] = 0; $18 = ((($1)) + 6|0); HEAP16[$18>>1] = 260; _TextureCache_MakePath($1,$2); $19 = ((($0)) + 284|0); $20 = HEAP32[$19>>2]|0; $21 = ((($0)) + 288|0); $22 = HEAP32[$21>>2]|0; $23 = (_Stream_WriteAllTo($1,$20,$22)|0); $24 = ($23|0)==(0); if ($24) { STACKTOP = sp;return; } _Logger_Warn2($23,38310,$2); STACKTOP = sp;return; } function _TextureCache_SetETag($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($1)) + 4|0); $3 = HEAP16[$2>>1]|0; $4 = ($3<<16>>16)==(0); if ($4) { return; } _TextureCache_SetEntry($0,$1,1397032); return; } function _TextureCache_SetLastModified($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($1)) + 4|0); $3 = HEAP16[$2>>1]|0; $4 = ($3<<16>>16)==(0); if ($4) { return; } _TextureCache_SetEntry($0,$1,1402184); return; } function _TextureCache_SetEntry($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $3 = sp + 24|0; $4 = sp; HEAP32[$3>>2] = $4; $5 = ((($3)) + 4|0); HEAP16[$5>>1] = 0; $6 = ((($3)) + 6|0); HEAP16[$6>>1] = 24; _TextureCache_HashUrl($3,$0); _EntryList_Set($2,$3,$1); _EntryList_Save($2); STACKTOP = sp;return; } function _TexturePack_ExtractZip_File($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 336|0; $1 = sp + 320|0; $2 = sp; $3 = sp + 264|0; (_chdir(38318)|0); HEAP32[$1>>2] = $2; $4 = ((($1)) + 4|0); HEAP16[$4>>1] = 0; $5 = ((($1)) + 6|0); HEAP16[$5>>1] = 260; _String_Format1($1,38320,$0); $6 = (_Stream_OpenFile($3,$1)|0); $7 = ($6|0)==(0); if (!($7)) { _Logger_Warn2($6,38432,$1); STACKTOP = sp;return; } $8 = (_TexturePack_ExtractZip($3)|0); $9 = ($8|0)==(0); if (!($9)) { _Logger_Warn2($8,38332,$1); } $10 = ((($3)) + 28|0); $11 = HEAP32[$10>>2]|0; $12 = (FUNCTION_TABLE_ii[$11 & 31]($3)|0); $13 = ($12|0)==(0); if (!($13)) { _Logger_Warn2($12,38518,$1); } (_Platform_SetDefaultCurrentDirectory(0,0)|0); STACKTOP = sp;return; } function _TexturePack_ExtractZip($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16416|0; $1 = sp; _Event_RaiseVoid((1250556)); $2 = HEAP8[(1260360)>>0]|0; $3 = ($2<<24>>24)==(0); if (!($3)) { $$0 = 0; STACKTOP = sp;return ($$0|0); } _Zip_Init($1,$0); $4 = ((($1)) + 4|0); HEAP32[$4>>2] = 2; $5 = (_Zip_Extract($1)|0); $$0 = $5; STACKTOP = sp;return ($$0|0); } function _TexturePack_ProcessZipEntry($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $3 = sp; $4 = $0; $5 = $4; $6 = HEAP32[$5>>2]|0; $7 = (($4) + 4)|0; $8 = $7; $9 = HEAP32[$8>>2]|0; $10 = $3; $11 = $10; HEAP32[$11>>2] = $6; $12 = (($10) + 4)|0; $13 = $12; HEAP32[$13>>2] = $9; _Utils_UNSAFE_GetFilename($3); _Event_RaiseEntry((1250816),$1,$3); STACKTOP = sp;return 0; } function _TexturePack_ExtractCurrent($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $storemerge = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $1 = sp + 8|0; $2 = sp; $3 = sp + 16|0; $4 = 18828; $5 = $4; $6 = HEAP32[$5>>2]|0; $7 = (($4) + 4)|0; $8 = $7; $9 = HEAP32[$8>>2]|0; $10 = $1; $11 = $10; HEAP32[$11>>2] = $6; $12 = (($10) + 4)|0; $13 = $12; HEAP32[$13>>2] = $9; $14 = ((($1)) + 4|0); $15 = HEAP16[$14>>1]|0; $16 = ($15<<16>>16)==(0); if ($16) { label = 3; } else { $17 = (_TextureCache_Get($1,$3)|0); $18 = ($17<<24>>24)==(0); if ($18) { label = 3; } else { $22 = (_String_IndexOfString($1,17988)|0); $23 = ($22|0)>(-1); if ($23) { $24 = (_TexturePack_ExtractZip($3)|0); $26 = $24; } else { $25 = (_TexturePack_ExtractPng($3)|0); $26 = $25; } $27 = ($26|0)==(0); if (!($27)) { $28 = $23 ? 38332 : 37484; _Logger_Warn2($26,$28,$1); } $29 = ((($3)) + 28|0); $30 = HEAP32[$29>>2]|0; $31 = (FUNCTION_TABLE_ii[$30 & 31]($3)|0); $32 = ($31|0)==(0); if ($32) { $storemerge = 0; } else { _Logger_Warn2($31,38344,$1); $storemerge = 0; } } } do { if ((label|0) == 3) { $19 = HEAP8[38343]|0; $20 = ($19<<24>>24)==(0); $21 = ($0<<24>>24)!=(0); $or$cond = $21 | $20; if ($or$cond) { _Game_UNSAFE_GetDefaultTexturePack($2); _TexturePack_ExtractZip_File($2); $storemerge = 1; break; } else { STACKTOP = sp;return; } } } while(0); HEAP8[38343] = $storemerge; STACKTOP = sp;return; } function _TexturePack_ExtractPng($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = (_Png_Decode($1,$0)|0); $3 = ($2|0)==(0); if ($3) { _Event_RaiseVoid((1250556)); $4 = (_Game_ChangeTerrainAtlas($1)|0); $5 = ($4<<24>>24)==(0); if (!($5)) { $$0 = 0; STACKTOP = sp;return ($$0|0); } } $6 = HEAP32[$1>>2]|0; _Mem_Free($6); $$0 = $2; STACKTOP = sp;return ($$0|0); } function _TexturePack_Extract_Req($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $1 = sp; $2 = sp + 8|0; _String_FromRaw($1,$0,128); $3 = (_String_Equals(18828,$1)|0); $4 = ($3|0)==(0); if ($4) { STACKTOP = sp;return; } $5 = ((($0)) + 284|0); $6 = HEAP32[$5>>2]|0; $7 = ((($0)) + 288|0); $8 = HEAP32[$7>>2]|0; _Stream_ReadonlyMemory($2,$6,$8); $9 = (_Png_Detect($6,$8)|0); $10 = ($9<<24>>24)!=(0); if ($10) { $11 = (_TexturePack_ExtractPng($2)|0); $13 = $11; } else { $12 = (_TexturePack_ExtractZip($2)|0); $13 = $12; } $14 = ($13|0)==(0); if (!($14)) { $15 = $10 ? 37484 : 38332; _Logger_Warn2($13,$15,$1); } HEAP8[38343] = 0; STACKTOP = sp;return; } function _TexturePack_DownloadAsync($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $2 = sp + 24|0; $3 = sp + 16|0; $4 = sp + 8|0; $5 = sp; $6 = 1384616; $7 = $6; $8 = HEAP32[$7>>2]|0; $9 = (($6) + 4)|0; $10 = $9; $11 = HEAP32[$10>>2]|0; $12 = $2; $13 = $12; HEAP32[$13>>2] = $8; $14 = (($12) + 4)|0; $15 = $14; HEAP32[$15>>2] = $11; $16 = $3; $17 = $16; HEAP32[$17>>2] = $8; $18 = (($16) + 4)|0; $19 = $18; HEAP32[$19>>2] = $11; $20 = (_TextureCache_Has($0)|0); $21 = ($20<<24>>24)==(0); if ($21) { _Http_AsyncGetDataEx($0,1,$1,$3,$2,0); STACKTOP = sp;return; } _TextureCache_GetLastModified($4,$0); $22 = $4; $23 = $22; $24 = HEAP32[$23>>2]|0; $25 = (($22) + 4)|0; $26 = $25; $27 = HEAP32[$26>>2]|0; $28 = $3; $29 = $28; HEAP32[$29>>2] = $24; $30 = (($28) + 4)|0; $31 = $30; HEAP32[$31>>2] = $27; _TextureCache_GetETag($5,$0); $32 = $5; $33 = $32; $34 = HEAP32[$33>>2]|0; $35 = (($32) + 4)|0; $36 = $35; $37 = HEAP32[$36>>2]|0; $38 = $2; $39 = $38; HEAP32[$39>>2] = $34; $40 = (($38) + 4)|0; $41 = $40; HEAP32[$41>>2] = $37; _Http_AsyncGetDataEx($0,1,$1,$3,$2,0); STACKTOP = sp;return; } function _TextureCache_GetLastModified($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp + 8|0; $3 = sp; _TextureCache_GetFromTags($2,$1,1402184); $4 = (_Convert_ParseUInt64($2,$3)|0); $5 = ($4<<24>>24)==(0); if (!($5)) { $6 = ((($2)) + 4|0); HEAP16[$6>>1] = 0; } $7 = $2; $8 = $7; $9 = HEAP32[$8>>2]|0; $10 = (($7) + 4)|0; $11 = $10; $12 = HEAP32[$11>>2]|0; $13 = $0; $14 = $13; HEAP32[$14>>2] = $9; $15 = (($13) + 4)|0; $16 = $15; HEAP32[$16>>2] = $12; STACKTOP = sp;return; } function _TextureCache_GetETag($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _TextureCache_GetFromTags($0,$1,1397032); return; } function _TextureCache_GetFromTags($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $3 = sp + 24|0; $4 = sp; HEAP32[$3>>2] = $4; $5 = ((($3)) + 4|0); HEAP16[$5>>1] = 0; $6 = ((($3)) + 6|0); HEAP16[$6>>1] = 24; _TextureCache_HashUrl($3,$1); _EntryList_UNSAFE_Get($0,$2,$3); STACKTOP = sp;return; } function _Utils_ParseEnum($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$08 = 0, $$09 = 0, $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ($3|0)>(0); if (!($4)) { $$08 = $1; return ($$08|0); } $$09 = 0; while(1) { $5 = (($2) + ($$09<<2)|0); $6 = HEAP32[$5>>2]|0; $7 = (_String_CaselessEqualsConst($0,$6)|0); $8 = ($7|0)==(0); if (!($8)) { $$08 = $$09; label = 5; break; } $9 = (($$09) + 1)|0; $10 = ($9|0)<($3|0); if ($10) { $$09 = $9; } else { $$08 = $1; label = 5; break; } } if ((label|0) == 5) { return ($$08|0); } return (0)|0; } function _Utils_IsUrlPrefix($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_String_IndexOfString($0,17996)|0); $2 = ($1|0)==(0); if ($2) { $5 = 1; return ($5|0); } $3 = (_String_IndexOfString($0,18004)|0); $4 = ($3|0)==(0); $phitmp = $4&1; $5 = $phitmp; return ($5|0); } function _Utils_EnsureDirectory($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; _String_FromReadonly($1,$0); $2 = (_Directory_Exists($1)|0); $3 = ($2|0)==(0); if (!($3)) { $$0 = 1; STACKTOP = sp;return ($$0|0); } $4 = (_Directory_Create($1)|0); $5 = ($4|0)==(0); if (!($5)) { _Logger_Warn2($4,38384,$1); } $6 = $5&1; $$0 = $6; STACKTOP = sp;return ($$0|0); } function _Utils_UNSAFE_GetFilename($0) { $0 = $0|0; var $$013 = 0, $$013$in = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; var $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = ((($0)) + 4|0); $3 = HEAP16[$2>>1]|0; $4 = ($3<<16>>16)==(0); if ($4) { STACKTOP = sp;return; } $5 = $3&65535; $6 = HEAP32[$0>>2]|0; $$013$in = $5; L4: while(1) { $$013 = (($$013$in) + -1)|0; $7 = (($6) + ($$013)|0); $8 = HEAP8[$7>>0]|0; switch ($8<<24>>24) { case 92: case 47: { break L4; break; } default: { } } $19 = ($$013$in|0)>(1); if ($19) { $$013$in = $$013; } else { label = 6; break; } } if ((label|0) == 6) { STACKTOP = sp;return; } _String_UNSAFE_SubstringAt($1,$0,$$013$in); $9 = $1; $10 = $9; $11 = HEAP32[$10>>2]|0; $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; $15 = $0; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; $18 = $17; HEAP32[$18>>2] = $14; STACKTOP = sp;return; } function _Utils_UNSAFE_TrimFirstDirectory($0) { $0 = $0|0; var $$011 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = ((($0)) + 4|0); $3 = HEAP16[$2>>1]|0; $4 = ($3<<16>>16)==(0); if ($4) { STACKTOP = sp;return; } $5 = HEAP32[$0>>2]|0; $$011 = 0; L4: while(1) { $6 = (($5) + ($$011)|0); $7 = HEAP8[$6>>0]|0; switch ($7<<24>>24) { case 92: case 47: { break L4; break; } default: { } } $19 = (($$011) + 1)|0; $20 = HEAP16[$2>>1]|0; $21 = $20&65535; $22 = ($19>>>0)<($21>>>0); if ($22) { $$011 = $19; } else { label = 6; break; } } if ((label|0) == 6) { STACKTOP = sp;return; } $8 = (($$011) + 1)|0; _String_UNSAFE_SubstringAt($1,$0,$8); $9 = $1; $10 = $9; $11 = HEAP32[$10>>2]|0; $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; $15 = $0; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; $18 = $17; HEAP32[$18>>2] = $14; STACKTOP = sp;return; } function _Utils_AccumulateWheelDelta($0,$1) { $0 = $0|0; $1 = +$1; var $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, label = 0, sp = 0; sp = STACKTOP; $2 = +HEAPF32[$0>>2]; $3 = $2 + $1; $4 = (~~(($3))); $5 = (+($4|0)); $6 = $3 - $5; HEAPF32[$0>>2] = $6; return ($4|0); } function _Utils_CalcSkinType($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp23 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; $3 = ((($0)) + 8|0); $4 = HEAP32[$3>>2]|0; $5 = $4 << 1; $6 = ($2|0)==($5|0); if ($6) { $$0 = 0; return ($$0|0); } $7 = ($2|0)==($4|0); if (!($7)) { $$0 = -16; return ($$0|0); } $8 = (($2|0) / 64)&-1; $9 = HEAP32[$0>>2]|0; $10 = ($8*20)|0; $11 = Math_imul($10, $2)|0; $12 = (($9) + ($11<<2)|0); $13 = ($8*54)|0; $14 = (($12) + ($13<<2)|0); $15 = HEAP32[$14>>2]|0; $16 = ($15|0)>(-1); if ($16) { $$0 = 2; return ($$0|0); } $17 = $8 << 1; $18 = ($8*12)|0; $19 = (_Utils_IsAllBlack($0,$13,$10,$17,$18)|0); $20 = ($19<<24>>24)==(0); if ($20) { $$0 = 1; return ($$0|0); } $21 = $8 << 2; $22 = $8 << 4; $23 = ($8*50)|0; $24 = (_Utils_IsAllBlack($0,$23,$22,$17,$21)|0); $25 = ($24<<24>>24)==(0); $phitmp23 = $25 ? 1 : 2; $$0 = $phitmp23; return ($$0|0); } function _Utils_IsAllBlack($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $$02226 = 0, $$02325 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; $5 = (($4) + ($2))|0; $6 = ($4|0)>(0); if (!($6)) { $$2 = 1; return ($$2|0); } $7 = HEAP32[$0>>2]|0; $8 = ((($0)) + 4|0); $9 = HEAP32[$8>>2]|0; $10 = (($3) + ($1))|0; $11 = ($3|0)>(0); $$02226 = $2; L4: while(1) { $12 = Math_imul($9, $$02226)|0; $13 = (($7) + ($12<<2)|0); if ($11) { $$02325 = $1; while(1) { $16 = (($13) + ($$02325<<2)|0); $17 = HEAP32[$16>>2]|0; $18 = ($17|0)==(-16777216); $14 = (($$02325) + 1)|0; if (!($18)) { $$2 = 0; label = 8; break L4; } $15 = ($14|0)<($10|0); if ($15) { $$02325 = $14; } else { break; } } } $19 = (($$02226) + 1)|0; $20 = ($19|0)<($5|0); if ($20) { $$02226 = $19; } else { $$2 = 1; label = 8; break; } } if ((label|0) == 8) { return ($$2|0); } return (0)|0; } function _Utils_CRC32($0,$1) { $0 = $0|0; $1 = $1|0; var $$011 = 0, $$09$lcssa = 0, $$09$masked = 0, $$0910 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if ($2) { $$09$lcssa = 0; return ($$09$lcssa|0); } $$011 = 0;$$0910 = -1; while(1) { $3 = (($0) + ($$011)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $$09$masked = $$0910 & 255; $6 = $$09$masked ^ $5; $7 = (7584 + ($6<<2)|0); $8 = HEAP32[$7>>2]|0; $9 = (8)?($$0910 >>> 8):($$0910); $10 = $8 ^ $9; $11 = (($$011) + 1)|0; $exitcond = ($11|0)==($1|0); if ($exitcond) { break; } else { $$011 = $11;$$0910 = $10; } } $phitmp = $10 ^ -1; $$09$lcssa = $phitmp; return ($$09$lcssa|0); } function _Utils_Resize($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $10 = 0, $11 = 0, $12 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $storemerge = 0, label = 0, sp = 0; sp = STACKTOP; $5 = HEAP32[$1>>2]|0; $6 = (($5) + ($4))|0; HEAP32[$1>>2] = $6; $7 = ($5|0)>($3|0); if ($7) { $11 = HEAP32[$0>>2]|0; $12 = (_Mem_Realloc($11,$6,$2,38417)|0); $storemerge = $12; HEAP32[$0>>2] = $storemerge; return; } else { $8 = (_Mem_Alloc($6,$2,38403)|0); $9 = HEAP32[$0>>2]|0; $10 = Math_imul($5, $2)|0; _Mem_Copy($8,$9,$10); $storemerge = $8; HEAP32[$0>>2] = $storemerge; return; } } function _Utils_ParseIP($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $2 = sp; $3 = (_String_UNSAFE_Split($0,46,$2,4)|0); $4 = ($3|0)==(4); if ($4) { $5 = (_Convert_ParseUInt8($2,$1)|0); $6 = ($5<<24>>24)==(0); if ($6) { $$0 = 0; } else { $7 = ((($2)) + 8|0); $8 = ((($1)) + 1|0); $9 = (_Convert_ParseUInt8($7,$8)|0); $10 = ($9<<24>>24)==(0); if ($10) { $$0 = 0; } else { $11 = ((($2)) + 16|0); $12 = ((($1)) + 2|0); $13 = (_Convert_ParseUInt8($11,$12)|0); $14 = ($13<<24>>24)==(0); if ($14) { $$0 = 0; } else { $15 = ((($2)) + 24|0); $16 = ((($1)) + 3|0); $17 = (_Convert_ParseUInt8($15,$16)|0); $18 = ($17<<24>>24)!=(0); $phitmp = $18&1; $$0 = $phitmp; } } } } else { $$0 = 0; } STACKTOP = sp;return ($$0|0); } function _EntryList_Load($0,$1) { $0 = $0|0; $1 = $1|0; var $$pr = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $switch$split2D = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 3232|0; $2 = sp + 3224|0; $3 = sp + 2320|0; $4 = sp + 3216|0; $5 = sp + 2048|0; $6 = sp + 3208|0; $7 = sp + 3200|0; $8 = sp; $9 = sp + 3144|0; $10 = sp + 3088|0; HEAP32[$4>>2] = $5; $11 = ((($4)) + 4|0); HEAP16[$11>>1] = 0; $12 = ((($4)) + 6|0); HEAP16[$12>>1] = 260; $13 = HEAP32[$0>>2]|0; _String_AppendConst($4,$13); $14 = (_Stream_OpenFile($9,$4)|0); $15 = HEAP32[4302]|0; $16 = ($14|0)==($15|0); if ($16) { STACKTOP = sp;return; } $17 = ($14|0)==(0); if (!($17)) { _Logger_Warn2($14,38432,$4); STACKTOP = sp;return; } _Stream_ReadonlyBuffered($10,$9,$8,2048); HEAP32[$2>>2] = $3; $18 = ((($2)) + 4|0); HEAP16[$18>>1] = 0; $19 = ((($2)) + 6|0); HEAP16[$19>>1] = 768; $20 = ($1|0)==(0|0); $21 = ((($0)) + 4|0); L8: while(1) { $22 = (_Stream_ReadLine($10,$2)|0); $switch$split2D = ($22|0)<(0); if ($switch$split2D) { label = 18; break; } switch ($22|0) { case 0: { break; } default: { label = 6; break L8; } } _String_UNSAFE_TrimStart($2); _String_UNSAFE_TrimEnd($2); $23 = HEAP16[$18>>1]|0; $24 = ($23<<16>>16)==(0); do { if (!($24)) { if ($20) { $27 = $23; } else { $25 = (FUNCTION_TABLE_ii[$1 & 31]($2)|0); $26 = ($25<<24>>24)==(0); if ($26) { break; } $$pr = HEAP16[$18>>1]|0; $27 = $$pr; } $28 = ($27&65535)>(511); if ($28) { HEAP16[$18>>1] = 0; $29 = HEAP32[$0>>2]|0; _String_Format1($2,38453,$29); $30 = HEAP32[2939]|0; FUNCTION_TABLE_vi[$30 & 511]($2); break; } else { $31 = HEAP8[$21>>0]|0; (_String_UNSAFE_Separate($2,$31,$6,$7)|0); _EntryList_Set($0,$6,$7); break; } } } while(0); } if ((label|0) == 18) { switch ($22|0) { case -857812991: { break; } default: { label = 6; } } } if ((label|0) == 6) { _Logger_Warn2($22,38440,$4); } $32 = ((($9)) + 28|0); $33 = HEAP32[$32>>2]|0; $34 = (FUNCTION_TABLE_ii[$33 & 31]($9)|0); $35 = ($34|0)==(0); if ($35) { STACKTOP = sp;return; } _Logger_Warn2($34,38518,$4); STACKTOP = sp;return; } function _EntryList_Set($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 1040|0; $3 = sp + 1024|0; $4 = sp; HEAP32[$3>>2] = $4; $5 = ((($3)) + 4|0); HEAP16[$5>>1] = 0; $6 = ((($3)) + 6|0); HEAP16[$6>>1] = 1024; $7 = ((($2)) + 4|0); $8 = HEAP16[$7>>1]|0; $9 = ($8<<16>>16)==(0); if ($9) { _String_Copy($3,$1); } else { $10 = ((($0)) + 4|0); _String_Format3($3,38526,$1,$10,$2); } (_EntryList_Remove($0,$1)|0); $11 = ((($0)) + 8|0); _StringsBuffer_Add($11,$3); STACKTOP = sp;return; } function _EntryList_Remove($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (_EntryList_Find($0,$1)|0); $3 = ($2|0)>(-1); if (!($3)) { return ($2|0); } $4 = ((($0)) + 8|0); _StringsBuffer_Remove($4,$2); return ($2|0); } function _EntryList_Find($0,$1) { $0 = $0|0; $1 = $1|0; var $$010 = 0, $$08 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $2 = sp + 8|0; $3 = sp + 24|0; $4 = sp + 16|0; $5 = sp; $6 = ((($0)) + 8|0); $7 = ((($0)) + 16|0); $8 = HEAP32[$7>>2]|0; $9 = ($8|0)>(0); if (!($9)) { $$08 = -1; STACKTOP = sp;return ($$08|0); } $10 = ((($0)) + 4|0); $$010 = 0; while(1) { _StringsBuffer_UNSAFE_Get($5,$6,$$010); $11 = $5; $12 = $11; $13 = HEAP32[$12>>2]|0; $14 = (($11) + 4)|0; $15 = $14; $16 = HEAP32[$15>>2]|0; $17 = $2; $18 = $17; HEAP32[$18>>2] = $13; $19 = (($17) + 4)|0; $20 = $19; HEAP32[$20>>2] = $16; $21 = HEAP8[$10>>0]|0; (_String_UNSAFE_Separate($2,$21,$3,$4)|0); $22 = (_String_CaselessEquals($1,$3)|0); $23 = ($22|0)==(0); if (!($23)) { $$08 = $$010; label = 5; break; } $24 = (($$010) + 1)|0; $25 = HEAP32[$7>>2]|0; $26 = ($24|0)<($25|0); if ($26) { $$010 = $24; } else { $$08 = -1; label = 5; break; } } if ((label|0) == 5) { STACKTOP = sp;return ($$08|0); } return (0)|0; } function _EntryList_Save($0) { $0 = $0|0; var $$015 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 352|0; $1 = sp + 336|0; $2 = sp + 272|0; $3 = sp; $4 = sp + 280|0; $5 = sp + 264|0; HEAP32[$1>>2] = $3; $6 = ((($1)) + 4|0); HEAP16[$6>>1] = 0; $7 = ((($1)) + 6|0); HEAP16[$7>>1] = 260; $8 = HEAP32[$0>>2]|0; _String_AppendConst($1,$8); $9 = (_Stream_CreateFile($4,$1)|0); $10 = ($9|0)==(0); if (!($10)) { _Logger_Warn2($9,38533,$1); STACKTOP = sp;return; } $11 = ((($0)) + 16|0); $12 = HEAP32[$11>>2]|0; $13 = ($12|0)>(0); L5: do { if ($13) { $14 = ((($0)) + 8|0); $$015 = 0; while(1) { _StringsBuffer_UNSAFE_Get($5,$14,$$015); $18 = $5; $19 = $18; $20 = HEAP32[$19>>2]|0; $21 = (($18) + 4)|0; $22 = $21; $23 = HEAP32[$22>>2]|0; $24 = $2; $25 = $24; HEAP32[$25>>2] = $20; $26 = (($24) + 4)|0; $27 = $26; HEAP32[$27>>2] = $23; $28 = (_Stream_WriteLine($4,$2)|0); $29 = ($28|0)==(0); $16 = (($$015) + 1)|0; if (!($29)) { break; } $15 = HEAP32[$11>>2]|0; $17 = ($16|0)<($15|0); if ($17) { $$015 = $16; } else { break L5; } } _Logger_Warn2($28,38542,$1); } } while(0); $30 = ((($4)) + 28|0); $31 = HEAP32[$30>>2]|0; $32 = (FUNCTION_TABLE_ii[$31 & 31]($4)|0); $33 = ($32|0)==(0); if ($33) { STACKTOP = sp;return; } _Logger_Warn2($32,38518,$1); STACKTOP = sp;return; } function _EntryList_UNSAFE_Get($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$09 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; var $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $3 = sp + 16|0; $4 = sp + 24|0; $5 = sp + 8|0; $6 = sp; $7 = ((($1)) + 16|0); $8 = HEAP32[$7>>2]|0; $9 = ($8|0)>(0); L1: do { if ($9) { $10 = ((($1)) + 8|0); $11 = ((($1)) + 4|0); $$09 = 0; while(1) { _StringsBuffer_UNSAFE_Get($6,$10,$$09); $15 = $6; $16 = $15; $17 = HEAP32[$16>>2]|0; $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; $21 = $3; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; $25 = HEAP8[$11>>0]|0; (_String_UNSAFE_Separate($3,$25,$4,$5)|0); $26 = (_String_CaselessEquals($2,$4)|0); $27 = ($26|0)==(0); $13 = (($$09) + 1)|0; if (!($27)) { break; } $12 = HEAP32[$7>>2]|0; $14 = ($13|0)<($12|0); if ($14) { $$09 = $13; } else { break L1; } } $28 = $5; $29 = $28; $30 = HEAP32[$29>>2]|0; $31 = (($28) + 4)|0; $32 = $31; $33 = HEAP32[$32>>2]|0; $34 = $0; $35 = $34; HEAP32[$35>>2] = $30; $36 = (($34) + 4)|0; $37 = $36; HEAP32[$37>>2] = $33; STACKTOP = sp;return; } } while(0); $38 = 1384616; $39 = $38; $40 = HEAP32[$39>>2]|0; $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; $44 = $0; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; STACKTOP = sp;return; } function _EntryList_Init($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, label = 0, sp = 0; sp = STACKTOP; HEAP32[$0>>2] = $1; $3 = ((($0)) + 4|0); HEAP8[$3>>0] = $2; _EntryList_Load($0,0); return; } function _Vec3_Lerp($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = +$3; var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0; var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = +HEAPF32[$2>>2]; $5 = +HEAPF32[$1>>2]; $6 = $4 - $5; $7 = $6 * $3; $8 = $5 + $7; HEAPF32[$0>>2] = $8; $9 = ((($2)) + 4|0); $10 = +HEAPF32[$9>>2]; $11 = ((($1)) + 4|0); $12 = +HEAPF32[$11>>2]; $13 = $10 - $12; $14 = $13 * $3; $15 = $12 + $14; $16 = ((($0)) + 4|0); HEAPF32[$16>>2] = $15; $17 = ((($2)) + 8|0); $18 = +HEAPF32[$17>>2]; $19 = ((($1)) + 8|0); $20 = +HEAPF32[$19>>2]; $21 = $18 - $20; $22 = $21 * $3; $23 = $20 + $22; $24 = ((($0)) + 8|0); HEAPF32[$24>>2] = $23; return; } function _Vec3_Normalize($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0; var label = 0, sp = 0; sp = STACKTOP; $2 = +HEAPF32[$1>>2]; $3 = $2 * $2; $4 = ((($1)) + 4|0); $5 = +HEAPF32[$4>>2]; $6 = $5 * $5; $7 = $3 + $6; $8 = ((($1)) + 8|0); $9 = +HEAPF32[$8>>2]; $10 = $9 * $9; $11 = $7 + $10; $12 = (+_Math_SqrtF($11)); $13 = 1.0 / $12; $14 = +HEAPF32[$1>>2]; $15 = $14 * $13; HEAPF32[$0>>2] = $15; $16 = +HEAPF32[$4>>2]; $17 = $13 * $16; $18 = ((($0)) + 4|0); HEAPF32[$18>>2] = $17; $19 = +HEAPF32[$8>>2]; $20 = $13 * $19; $21 = ((($0)) + 8|0); HEAPF32[$21>>2] = $20; return; } function _Vec3_TransformY($0,$1,$2) { $0 = $0|0; $1 = +$1; $2 = $2|0; var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0; var label = 0, sp = 0; sp = STACKTOP; $3 = ((($2)) + 16|0); $4 = +HEAPF32[$3>>2]; $5 = $4 * $1; $6 = ((($2)) + 48|0); $7 = +HEAPF32[$6>>2]; $8 = $5 + $7; HEAPF32[$0>>2] = $8; $9 = ((($2)) + 20|0); $10 = +HEAPF32[$9>>2]; $11 = $10 * $1; $12 = ((($2)) + 52|0); $13 = +HEAPF32[$12>>2]; $14 = $11 + $13; $15 = ((($0)) + 4|0); HEAPF32[$15>>2] = $14; $16 = ((($2)) + 24|0); $17 = +HEAPF32[$16>>2]; $18 = $17 * $1; $19 = ((($2)) + 56|0); $20 = +HEAPF32[$19>>2]; $21 = $18 + $20; $22 = ((($0)) + 8|0); HEAPF32[$22>>2] = $21; return; } function _Vec3_RotateX($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = +$2; var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = $2; $4 = (+_Math_Cos($3)); $5 = $4; $6 = (+_Math_Sin($3)); $7 = $6; $8 = +HEAPF32[$1>>2]; $9 = ((($1)) + 4|0); $10 = +HEAPF32[$9>>2]; $11 = $10 * $5; $12 = ((($1)) + 8|0); $13 = +HEAPF32[$12>>2]; $14 = $13 * $7; $15 = $11 + $14; $16 = $10 * $7; $17 = $13 * $5; $18 = $17 - $16; _Vec3_Create3_1781($0,$8,$15,$18); return; } function _Vec3_Create3_1781($0,$1,$2,$3) { $0 = $0|0; $1 = +$1; $2 = +$2; $3 = +$3; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, label = 0, sp = 0; sp = STACKTOP; HEAPF32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $2; $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $3; return; } function _Vec3_RotateY($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = +$2; var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $3 = $2; $4 = (+_Math_Cos($3)); $5 = $4; $6 = (+_Math_Sin($3)); $7 = $6; $8 = +HEAPF32[$1>>2]; $9 = $8 * $5; $10 = ((($1)) + 8|0); $11 = +HEAPF32[$10>>2]; $12 = $11 * $7; $13 = $9 - $12; $14 = ((($1)) + 4|0); $15 = +HEAPF32[$14>>2]; $16 = $8 * $7; $17 = $11 * $5; $18 = $16 + $17; _Vec3_Create3_1781($0,$13,$15,$18); return; } function _Vec3_RotateY3($0,$1,$2,$3,$4) { $0 = $0|0; $1 = +$1; $2 = +$2; $3 = +$3; $4 = +$4; var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $5 = $4; $6 = (+_Math_Cos($5)); $7 = $6; $8 = (+_Math_Sin($5)); $9 = $8; $10 = $7 * $1; $11 = $9 * $3; $12 = $10 - $11; $13 = $9 * $1; $14 = $7 * $3; $15 = $14 + $13; _Vec3_Create3_1781($0,$12,$2,$15); return; } function _Vec3_RotateZ($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = +$2; var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $3 = $2; $4 = (+_Math_Cos($3)); $5 = $4; $6 = (+_Math_Sin($3)); $7 = $6; $8 = +HEAPF32[$1>>2]; $9 = $8 * $5; $10 = ((($1)) + 4|0); $11 = +HEAPF32[$10>>2]; $12 = $11 * $7; $13 = $9 + $12; $14 = $8 * $7; $15 = $11 * $5; $16 = $15 - $14; $17 = ((($1)) + 8|0); $18 = +HEAPF32[$17>>2]; _Vec3_Create3_1781($0,$13,$16,$18); return; } function _IVec3_Floor($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $2 = 0.0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $2 = +HEAPF32[$1>>2]; $3 = (_Math_Floor($2)|0); HEAP32[$0>>2] = $3; $4 = ((($1)) + 4|0); $5 = +HEAPF32[$4>>2]; $6 = (_Math_Floor($5)|0); $7 = ((($0)) + 4|0); HEAP32[$7>>2] = $6; $8 = ((($1)) + 8|0); $9 = +HEAPF32[$8>>2]; $10 = (_Math_Floor($9)|0); $11 = ((($0)) + 8|0); HEAP32[$11>>2] = $10; return; } function _IVec3_ToVec3($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0.0, $11 = 0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[$1>>2]|0; $3 = (+($2|0)); HEAPF32[$0>>2] = $3; $4 = ((($1)) + 4|0); $5 = HEAP32[$4>>2]|0; $6 = (+($5|0)); $7 = ((($0)) + 4|0); HEAPF32[$7>>2] = $6; $8 = ((($1)) + 8|0); $9 = HEAP32[$8>>2]|0; $10 = (+($9|0)); $11 = ((($0)) + 8|0); HEAPF32[$11>>2] = $10; return; } function _IVec3_Min($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$ = 0, $$15 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP32[$1>>2]|0; $4 = HEAP32[$2>>2]|0; $5 = ($3|0)<($4|0); $$ = $5 ? $3 : $4; HEAP32[$0>>2] = $$; $6 = ((($1)) + 4|0); $7 = HEAP32[$6>>2]|0; $8 = ((($2)) + 4|0); $9 = HEAP32[$8>>2]|0; $10 = ($7|0)<($9|0); $11 = $10 ? $7 : $9; $12 = ((($0)) + 4|0); HEAP32[$12>>2] = $11; $13 = ((($1)) + 8|0); $14 = HEAP32[$13>>2]|0; $15 = ((($2)) + 8|0); $16 = HEAP32[$15>>2]|0; $17 = ($14|0)<($16|0); $$15 = $17 ? $14 : $16; $18 = ((($0)) + 8|0); HEAP32[$18>>2] = $$15; return; } function _IVec3_Max($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$ = 0, $$15 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP32[$1>>2]|0; $4 = HEAP32[$2>>2]|0; $5 = ($3|0)>($4|0); $$ = $5 ? $3 : $4; HEAP32[$0>>2] = $$; $6 = ((($1)) + 4|0); $7 = HEAP32[$6>>2]|0; $8 = ((($2)) + 4|0); $9 = HEAP32[$8>>2]|0; $10 = ($7|0)>($9|0); $11 = $10 ? $7 : $9; $12 = ((($0)) + 4|0); HEAP32[$12>>2] = $11; $13 = ((($1)) + 8|0); $14 = HEAP32[$13>>2]|0; $15 = ((($2)) + 8|0); $16 = HEAP32[$15>>2]|0; $17 = ($14|0)>($16|0); $$15 = $17 ? $14 : $16; $18 = ((($0)) + 8|0); HEAP32[$18>>2] = $$15; return; } function _Vec3_GetDirVector($0,$1,$2) { $0 = $0|0; $1 = +$1; $2 = +$2; var $10 = 0.0, $11 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $3 = (+_Math_CosF($2)); $4 = (+_Math_SinF($1)); $5 = $3 * $4; $6 = (+_Math_SinF($2)); $7 = - $6; $8 = (+_Math_CosF($2)); $9 = (+_Math_CosF($1)); $10 = $8 * $9; $11 = - $10; _Vec3_Create3_1781($0,$5,$7,$11); return; } function _Matrix_RotateX($0,$1) { $0 = $0|0; $1 = +$1; var $10 = 0, $11 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0.0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; $2 = $1; $3 = (+_Math_Cos($2)); $4 = $3; $5 = (+_Math_Sin($2)); $6 = $5; dest=$0; src=18012; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $7 = ((($0)) + 20|0); HEAPF32[$7>>2] = $4; $8 = ((($0)) + 24|0); HEAPF32[$8>>2] = $6; $9 = - $6; $10 = ((($0)) + 36|0); HEAPF32[$10>>2] = $9; $11 = ((($0)) + 40|0); HEAPF32[$11>>2] = $4; return; } function _Matrix_RotateY($0,$1) { $0 = $0|0; $1 = +$1; var $10 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; $2 = $1; $3 = (+_Math_Cos($2)); $4 = $3; $5 = (+_Math_Sin($2)); $6 = $5; dest=$0; src=18012; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); HEAPF32[$0>>2] = $4; $7 = - $6; $8 = ((($0)) + 8|0); HEAPF32[$8>>2] = $7; $9 = ((($0)) + 32|0); HEAPF32[$9>>2] = $6; $10 = ((($0)) + 40|0); HEAPF32[$10>>2] = $4; return; } function _Matrix_RotateZ($0,$1) { $0 = $0|0; $1 = +$1; var $10 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; $2 = $1; $3 = (+_Math_Cos($2)); $4 = $3; $5 = (+_Math_Sin($2)); $6 = $5; dest=$0; src=18012; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); HEAPF32[$0>>2] = $4; $7 = ((($0)) + 4|0); HEAPF32[$7>>2] = $6; $8 = - $6; $9 = ((($0)) + 16|0); HEAPF32[$9>>2] = $8; $10 = ((($0)) + 20|0); HEAPF32[$10>>2] = $4; return; } function _Matrix_Translate($0,$1,$2,$3) { $0 = $0|0; $1 = +$1; $2 = +$2; $3 = +$3; var $4 = 0, $5 = 0, $6 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; dest=$0; src=18012; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $4 = ((($0)) + 48|0); HEAPF32[$4>>2] = $1; $5 = ((($0)) + 52|0); HEAPF32[$5>>2] = $2; $6 = ((($0)) + 56|0); HEAPF32[$6>>2] = $3; return; } function _Matrix_Scale($0,$1,$2,$3) { $0 = $0|0; $1 = +$1; $2 = +$2; $3 = +$3; var $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; dest=$0; src=18012; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); HEAPF32[$0>>2] = $1; $4 = ((($0)) + 20|0); HEAPF32[$4>>2] = $2; $5 = ((($0)) + 40|0); HEAPF32[$5>>2] = $3; return; } function _Matrix_Mul($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0; var $118 = 0.0, $119 = 0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0; var $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0, $142 = 0.0, $143 = 0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0, $152 = 0.0, $153 = 0.0; var $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0; var $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0.0, $18 = 0, $180 = 0.0, $181 = 0.0, $182 = 0.0, $183 = 0, $184 = 0.0, $185 = 0.0, $186 = 0.0, $187 = 0.0, $188 = 0.0, $189 = 0.0, $19 = 0.0; var $190 = 0.0, $191 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0, $29 = 0.0, $3 = 0.0, $30 = 0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; var $37 = 0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0.0, $49 = 0, $5 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0.0; var $55 = 0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0; var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = ((($1)) + 4|0); $5 = +HEAPF32[$4>>2]; $6 = ((($1)) + 8|0); $7 = +HEAPF32[$6>>2]; $8 = ((($1)) + 12|0); $9 = +HEAPF32[$8>>2]; $10 = ((($1)) + 16|0); $11 = +HEAPF32[$10>>2]; $12 = ((($1)) + 20|0); $13 = +HEAPF32[$12>>2]; $14 = ((($1)) + 24|0); $15 = +HEAPF32[$14>>2]; $16 = ((($1)) + 28|0); $17 = +HEAPF32[$16>>2]; $18 = ((($1)) + 32|0); $19 = +HEAPF32[$18>>2]; $20 = ((($1)) + 36|0); $21 = +HEAPF32[$20>>2]; $22 = ((($1)) + 40|0); $23 = +HEAPF32[$22>>2]; $24 = ((($1)) + 44|0); $25 = +HEAPF32[$24>>2]; $26 = ((($1)) + 48|0); $27 = +HEAPF32[$26>>2]; $28 = ((($1)) + 52|0); $29 = +HEAPF32[$28>>2]; $30 = ((($1)) + 56|0); $31 = +HEAPF32[$30>>2]; $32 = ((($1)) + 60|0); $33 = +HEAPF32[$32>>2]; $34 = +HEAPF32[$2>>2]; $35 = ((($2)) + 4|0); $36 = +HEAPF32[$35>>2]; $37 = ((($2)) + 8|0); $38 = +HEAPF32[$37>>2]; $39 = ((($2)) + 12|0); $40 = +HEAPF32[$39>>2]; $41 = ((($2)) + 16|0); $42 = +HEAPF32[$41>>2]; $43 = ((($2)) + 20|0); $44 = +HEAPF32[$43>>2]; $45 = ((($2)) + 24|0); $46 = +HEAPF32[$45>>2]; $47 = ((($2)) + 28|0); $48 = +HEAPF32[$47>>2]; $49 = ((($2)) + 32|0); $50 = +HEAPF32[$49>>2]; $51 = ((($2)) + 36|0); $52 = +HEAPF32[$51>>2]; $53 = ((($2)) + 40|0); $54 = +HEAPF32[$53>>2]; $55 = ((($2)) + 44|0); $56 = +HEAPF32[$55>>2]; $57 = ((($2)) + 48|0); $58 = +HEAPF32[$57>>2]; $59 = ((($2)) + 52|0); $60 = +HEAPF32[$59>>2]; $61 = ((($2)) + 56|0); $62 = +HEAPF32[$61>>2]; $63 = ((($2)) + 60|0); $64 = +HEAPF32[$63>>2]; $65 = $3 * $34; $66 = $5 * $42; $67 = $65 + $66; $68 = $7 * $50; $69 = $67 + $68; $70 = $9 * $58; $71 = $69 + $70; HEAPF32[$0>>2] = $71; $72 = $3 * $36; $73 = $5 * $44; $74 = $72 + $73; $75 = $7 * $52; $76 = $74 + $75; $77 = $9 * $60; $78 = $76 + $77; $79 = ((($0)) + 4|0); HEAPF32[$79>>2] = $78; $80 = $3 * $38; $81 = $5 * $46; $82 = $80 + $81; $83 = $7 * $54; $84 = $82 + $83; $85 = $9 * $62; $86 = $84 + $85; $87 = ((($0)) + 8|0); HEAPF32[$87>>2] = $86; $88 = $3 * $40; $89 = $5 * $48; $90 = $88 + $89; $91 = $7 * $56; $92 = $90 + $91; $93 = $9 * $64; $94 = $92 + $93; $95 = ((($0)) + 12|0); HEAPF32[$95>>2] = $94; $96 = $11 * $34; $97 = $13 * $42; $98 = $96 + $97; $99 = $15 * $50; $100 = $98 + $99; $101 = $17 * $58; $102 = $100 + $101; $103 = ((($0)) + 16|0); HEAPF32[$103>>2] = $102; $104 = $11 * $36; $105 = $13 * $44; $106 = $104 + $105; $107 = $15 * $52; $108 = $106 + $107; $109 = $17 * $60; $110 = $108 + $109; $111 = ((($0)) + 20|0); HEAPF32[$111>>2] = $110; $112 = $11 * $38; $113 = $13 * $46; $114 = $112 + $113; $115 = $15 * $54; $116 = $114 + $115; $117 = $17 * $62; $118 = $116 + $117; $119 = ((($0)) + 24|0); HEAPF32[$119>>2] = $118; $120 = $11 * $40; $121 = $13 * $48; $122 = $120 + $121; $123 = $15 * $56; $124 = $122 + $123; $125 = $17 * $64; $126 = $124 + $125; $127 = ((($0)) + 28|0); HEAPF32[$127>>2] = $126; $128 = $19 * $34; $129 = $21 * $42; $130 = $128 + $129; $131 = $23 * $50; $132 = $130 + $131; $133 = $25 * $58; $134 = $132 + $133; $135 = ((($0)) + 32|0); HEAPF32[$135>>2] = $134; $136 = $19 * $36; $137 = $21 * $44; $138 = $136 + $137; $139 = $23 * $52; $140 = $138 + $139; $141 = $25 * $60; $142 = $140 + $141; $143 = ((($0)) + 36|0); HEAPF32[$143>>2] = $142; $144 = $19 * $38; $145 = $21 * $46; $146 = $144 + $145; $147 = $23 * $54; $148 = $146 + $147; $149 = $25 * $62; $150 = $148 + $149; $151 = ((($0)) + 40|0); HEAPF32[$151>>2] = $150; $152 = $19 * $40; $153 = $21 * $48; $154 = $152 + $153; $155 = $23 * $56; $156 = $154 + $155; $157 = $25 * $64; $158 = $156 + $157; $159 = ((($0)) + 44|0); HEAPF32[$159>>2] = $158; $160 = $27 * $34; $161 = $29 * $42; $162 = $160 + $161; $163 = $31 * $50; $164 = $162 + $163; $165 = $33 * $58; $166 = $164 + $165; $167 = ((($0)) + 48|0); HEAPF32[$167>>2] = $166; $168 = $27 * $36; $169 = $29 * $44; $170 = $168 + $169; $171 = $31 * $52; $172 = $170 + $171; $173 = $33 * $60; $174 = $172 + $173; $175 = ((($0)) + 52|0); HEAPF32[$175>>2] = $174; $176 = $27 * $38; $177 = $29 * $46; $178 = $176 + $177; $179 = $31 * $54; $180 = $178 + $179; $181 = $33 * $62; $182 = $180 + $181; $183 = ((($0)) + 56|0); HEAPF32[$183>>2] = $182; $184 = $27 * $40; $185 = $29 * $48; $186 = $184 + $185; $187 = $31 * $56; $188 = $186 + $187; $189 = $33 * $64; $190 = $188 + $189; $191 = ((($0)) + 60|0); HEAPF32[$191>>2] = $190; return; } function _Matrix_OrthographicOffCenter($0,$1,$2,$3,$4,$5,$6) { $0 = $0|0; $1 = +$1; $2 = +$2; $3 = +$3; $4 = +$4; $5 = +$5; $6 = +$6; var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; dest=$0; src=18012; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $7 = $2 - $1; $8 = 2.0 / $7; HEAPF32[$0>>2] = $8; $9 = $4 - $3; $10 = 2.0 / $9; $11 = ((($0)) + 20|0); HEAPF32[$11>>2] = $10; $12 = $6 - $5; $13 = -2.0 / $12; $14 = ((($0)) + 40|0); HEAPF32[$14>>2] = $13; $15 = $1 + $2; $16 = - $15; $17 = $16 / $7; $18 = ((($0)) + 48|0); HEAPF32[$18>>2] = $17; $19 = $3 + $4; $20 = - $19; $21 = $20 / $9; $22 = ((($0)) + 52|0); HEAPF32[$22>>2] = $21; $23 = $5 + $6; $24 = - $23; $25 = $24 / $12; $26 = ((($0)) + 56|0); HEAPF32[$26>>2] = $25; return; } function _Matrix_PerspectiveFieldOfView($0,$1,$2,$3,$4) { $0 = $0|0; $1 = +$1; $2 = +$2; $3 = +$3; $4 = +$4; var $10 = 0.0, $11 = 0.0, $12 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $5 = $1 * 0.5; $6 = $5; $7 = (+_Tan_Simple($6)); $8 = $7; $9 = $8 * $3; $10 = - $9; $11 = $10 * $2; $12 = $9 * $2; _Matrix_PerspectiveOffCenter($0,$11,$12,$10,$9,$3,$4); return; } function _Tan_Simple($0) { $0 = +$0; var $1 = 0.0, $2 = 0.0, $3 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = (+_Math_Sin($0)); $2 = (+_Math_Cos($0)); $3 = $1 / $2; return (+$3); } function _Matrix_PerspectiveOffCenter($0,$1,$2,$3,$4,$5,$6) { $0 = $0|0; $1 = +$1; $2 = +$2; $3 = +$3; $4 = +$4; $5 = +$5; $6 = +$6; var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0; var $30 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; dest=$0; src=18012; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $7 = ((($0)) + 60|0); HEAPF32[$7>>2] = 0.0; $8 = $5 * 2.0; $9 = $2 - $1; $10 = $8 / $9; HEAPF32[$0>>2] = $10; $11 = $4 - $3; $12 = $8 / $11; $13 = ((($0)) + 20|0); HEAPF32[$13>>2] = $12; $14 = $6 * 2.0; $15 = $14 * $5; $16 = - $15; $17 = $6 - $5; $18 = $16 / $17; $19 = ((($0)) + 56|0); HEAPF32[$19>>2] = $18; $20 = $1 + $2; $21 = $20 / $9; $22 = ((($0)) + 32|0); HEAPF32[$22>>2] = $21; $23 = $3 + $4; $24 = $23 / $11; $25 = ((($0)) + 36|0); HEAPF32[$25>>2] = $24; $26 = $5 + $6; $27 = - $26; $28 = $27 / $17; $29 = ((($0)) + 40|0); HEAPF32[$29>>2] = $28; $30 = ((($0)) + 44|0); HEAPF32[$30>>2] = -1.0; return; } function _Matrix_LookRot($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 192|0; $3 = sp + 128|0; $4 = sp + 64|0; $5 = sp; $6 = ((($2)) + 4|0); $7 = +HEAPF32[$6>>2]; _Matrix_RotateX($3,$7); $8 = +HEAPF32[$2>>2]; _Matrix_RotateY($4,$8); $9 = +HEAPF32[$1>>2]; $10 = - $9; $11 = ((($1)) + 4|0); $12 = +HEAPF32[$11>>2]; $13 = - $12; $14 = ((($1)) + 8|0); $15 = +HEAPF32[$14>>2]; $16 = - $15; _Matrix_Translate($5,$10,$13,$16); _Matrix_Mul($0,$4,$3); _Matrix_Mul($0,$5,$0); STACKTOP = sp;return; } function _FrustumCulling_SphereInFrustum($0,$1,$2,$3) { $0 = +$0; $1 = +$1; $2 = +$2; $3 = +$3; var $$ = 0, $$0 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0.0; var $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0; var $47 = 0.0, $48 = 0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $4 = +HEAPF32[351834]; $5 = $4 * $0; $6 = +HEAPF32[351835]; $7 = $6 * $1; $8 = $5 + $7; $9 = +HEAPF32[351836]; $10 = $9 * $2; $11 = $8 + $10; $12 = +HEAPF32[351837]; $13 = $12 + $11; $14 = - $3; $15 = !($13 <= $14); if (!($15)) { $$0 = 0; return ($$0|0); } $16 = +HEAPF32[351838]; $17 = $16 * $0; $18 = +HEAPF32[351839]; $19 = $18 * $1; $20 = $17 + $19; $21 = +HEAPF32[351840]; $22 = $21 * $2; $23 = $20 + $22; $24 = +HEAPF32[351841]; $25 = $24 + $23; $26 = !($25 <= $14); if (!($26)) { $$0 = 0; return ($$0|0); } $27 = +HEAPF32[351842]; $28 = $27 * $0; $29 = +HEAPF32[351843]; $30 = $29 * $1; $31 = $28 + $30; $32 = +HEAPF32[351844]; $33 = $32 * $2; $34 = $31 + $33; $35 = +HEAPF32[351845]; $36 = $35 + $34; $37 = !($36 <= $14); if (!($37)) { $$0 = 0; return ($$0|0); } $38 = +HEAPF32[351846]; $39 = $38 * $0; $40 = +HEAPF32[351847]; $41 = $40 * $1; $42 = $39 + $41; $43 = +HEAPF32[351848]; $44 = $43 * $2; $45 = $42 + $44; $46 = +HEAPF32[351849]; $47 = $46 + $45; $48 = !($47 <= $14); if (!($48)) { $$0 = 0; return ($$0|0); } $49 = +HEAPF32[351850]; $50 = $49 * $0; $51 = +HEAPF32[351851]; $52 = $51 * $1; $53 = $50 + $52; $54 = +HEAPF32[351852]; $55 = $54 * $2; $56 = $53 + $55; $57 = +HEAPF32[351853]; $58 = $57 + $56; $59 = !($58 <= $14); $$ = $59&1; $$0 = $$; return ($$0|0); } function _FrustumCulling_CalcFrustumEquations($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0; var $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; var $47 = 0.0, $48 = 0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $2 = sp; _Matrix_Mul($2,$1,$0); $3 = ((($2)) + 12|0); $4 = +HEAPF32[$3>>2]; $5 = +HEAPF32[$2>>2]; $6 = $4 - $5; HEAPF32[351834] = $6; $7 = ((($2)) + 28|0); $8 = +HEAPF32[$7>>2]; $9 = ((($2)) + 16|0); $10 = +HEAPF32[$9>>2]; $11 = $8 - $10; HEAPF32[351835] = $11; $12 = ((($2)) + 44|0); $13 = +HEAPF32[$12>>2]; $14 = ((($2)) + 32|0); $15 = +HEAPF32[$14>>2]; $16 = $13 - $15; HEAPF32[351836] = $16; $17 = ((($2)) + 60|0); $18 = +HEAPF32[$17>>2]; $19 = ((($2)) + 48|0); $20 = +HEAPF32[$19>>2]; $21 = $18 - $20; HEAPF32[351837] = $21; _FrustumCulling_Normalise(1407336,1407340,1407344,1407348); $22 = $4 + $5; HEAPF32[351838] = $22; $23 = $8 + $10; HEAPF32[351839] = $23; $24 = $13 + $15; HEAPF32[351840] = $24; $25 = $18 + $20; HEAPF32[351841] = $25; _FrustumCulling_Normalise(1407352,1407356,1407360,1407364); $26 = ((($2)) + 4|0); $27 = +HEAPF32[$26>>2]; $28 = $4 + $27; HEAPF32[351842] = $28; $29 = ((($2)) + 20|0); $30 = +HEAPF32[$29>>2]; $31 = $8 + $30; HEAPF32[351843] = $31; $32 = ((($2)) + 36|0); $33 = +HEAPF32[$32>>2]; $34 = $13 + $33; HEAPF32[351844] = $34; $35 = ((($2)) + 52|0); $36 = +HEAPF32[$35>>2]; $37 = $18 + $36; HEAPF32[351845] = $37; _FrustumCulling_Normalise(1407368,1407372,1407376,1407380); $38 = $4 - $27; HEAPF32[351846] = $38; $39 = $8 - $30; HEAPF32[351847] = $39; $40 = $13 - $33; HEAPF32[351848] = $40; $41 = $18 - $36; HEAPF32[351849] = $41; _FrustumCulling_Normalise(1407384,1407388,1407392,1407396); $42 = ((($2)) + 8|0); $43 = +HEAPF32[$42>>2]; $44 = $4 - $43; HEAPF32[351850] = $44; $45 = ((($2)) + 24|0); $46 = +HEAPF32[$45>>2]; $47 = $8 - $46; HEAPF32[351851] = $47; $48 = ((($2)) + 40|0); $49 = +HEAPF32[$48>>2]; $50 = $13 - $49; HEAPF32[351852] = $50; $51 = ((($2)) + 56|0); $52 = +HEAPF32[$51>>2]; $53 = $18 - $52; HEAPF32[351853] = $53; _FrustumCulling_Normalise(1407400,1407404,1407408,1407412); STACKTOP = sp;return; } function _FrustumCulling_Normalise($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $4 = +HEAPF32[$0>>2]; $5 = +HEAPF32[$1>>2]; $6 = +HEAPF32[$2>>2]; $7 = $4 * $4; $8 = $5 * $5; $9 = $7 + $8; $10 = $6 * $6; $11 = $9 + $10; $12 = (+_Math_SqrtF($11)); $13 = +HEAPF32[$0>>2]; $14 = $13 / $12; HEAPF32[$0>>2] = $14; $15 = +HEAPF32[$1>>2]; $16 = $15 / $12; HEAPF32[$1>>2] = $16; $17 = +HEAPF32[$2>>2]; $18 = $17 / $12; HEAPF32[$2>>2] = $18; $19 = +HEAPF32[$3>>2]; $20 = $19 / $12; HEAPF32[$3>>2] = $20; return; } function _Hex_Range($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _String_AppendConst($1,38553); return; } function _Hex_ValidChar($0,$1) { $0 = $0|0; $1 = $1|0; var $$off7 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $$off7 = (($1) + -48)<<24>>24; $2 = ($$off7&255)<(10); if ($2) { return 1; } else { $3 = $1 & -33; $4 = (($3) + -65)<<24>>24; $5 = ($4&255)<(6); $spec$select = $5&1; return ($spec$select|0); } return (0)|0; } function _Hex_ValidString($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($1)) + 4|0); $3 = HEAP16[$2>>1]|0; $4 = ($3&65535)<(7); $5 = $4&1; return ($5|0); } function _Hex_ValidValue($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = (_PackedCol_TryParseHex($1,$2)|0); STACKTOP = sp;return ($3|0); } function _Hex_Default($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; _PackedCol_ToHex($1,$3); return; } function _Int_Range($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 4|0); $3 = ((($0)) + 8|0); _String_Format2($1,38575,$2,$3); return; } function _Int_ValidChar($0,$1) { $0 = $0|0; $1 = $1|0; var $$off = 0, $2 = 0, $3 = 0, $4 = 0, $narrow = 0, label = 0, sp = 0; sp = STACKTOP; $$off = (($1) + -48)<<24>>24; $2 = ($$off&255)<(10); $3 = ($1<<24>>24)==(45); $narrow = $3 | $2; $4 = $narrow&1; return ($4|0); } function _Int_ValidString($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = ((($1)) + 4|0); $4 = HEAP16[$3>>1]|0; $5 = ($4<<16>>16)==(1); if ($5) { $6 = HEAP32[$1>>2]|0; $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(45); if ($8) { $$0 = 1; STACKTOP = sp;return ($$0|0); } } $9 = (_Convert_ParseInt($1,$2)|0); $$0 = $9; STACKTOP = sp;return ($$0|0); } function _Int_ValidValue($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $narrow = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = ((($0)) + 4|0); $4 = HEAP32[$3>>2]|0; $5 = ((($0)) + 8|0); $6 = HEAP32[$5>>2]|0; $7 = (_Convert_ParseInt($1,$2)|0); $8 = ($7<<24>>24)==(0); if ($8) { $12 = 0; STACKTOP = sp;return ($12|0); } $9 = HEAP32[$2>>2]|0; $10 = ($4|0)<=($9|0); $11 = ($9|0)<=($6|0); $narrow = $11 & $10; $spec$select = $narrow&1; $12 = $spec$select; STACKTOP = sp;return ($12|0); } function _Int_Default($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 12|0); $3 = HEAP32[$2>>2]|0; _String_AppendInt($1,$3); return; } function _Seed_Range($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _String_AppendConst($1,38587); return; } function _Seed_NoDefault($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; return; } function _Float_Range($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 4|0); $3 = ((($0)) + 8|0); _String_Format2($1,38602,$2,$3); return; } function _Float_ValidChar($0,$1) { $0 = $0|0; $1 = $1|0; var $$off = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $narrow = 0, label = 0, sp = 0; sp = STACKTOP; $$off = (($1) + -48)<<24>>24; $2 = ($$off&255)<(10); $3 = (($1) + -45)<<24>>24; $4 = ($3&255)<(2); $5 = $4 | $2; $6 = ($1<<24>>24)==(44); $narrow = $6 | $5; $7 = $narrow&1; return ($7|0); } function _Float_ValidString($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = ((($1)) + 4|0); $4 = HEAP16[$3>>1]|0; $5 = ($4<<16>>16)==(1); if ($5) { $6 = HEAP32[$1>>2]|0; $7 = HEAP8[$6>>0]|0; $8 = (_Float_ValidChar($0,$7)|0); $9 = ($8<<24>>24)==(0); if (!($9)) { $$0 = 1; STACKTOP = sp;return ($$0|0); } } $10 = (_Convert_ParseFloat($1,$2)|0); $$0 = $10; STACKTOP = sp;return ($$0|0); } function _Float_ValidValue($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0.0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = ((($0)) + 4|0); $4 = +HEAPF32[$3>>2]; $5 = ((($0)) + 8|0); $6 = +HEAPF32[$5>>2]; $7 = (_Convert_ParseFloat($1,$2)|0); $8 = ($7<<24>>24)==(0); if ($8) { $12 = 0; } else { $9 = +HEAPF32[$2>>2]; $10 = !($4 <= $9); if ($10) { $12 = 0; } else { $11 = $9 <= $6; $phitmp = $11&1; $12 = $phitmp; } } STACKTOP = sp;return ($12|0); } function _Float_Default($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0.0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 12|0); $3 = +HEAPF32[$2>>2]; _String_AppendFloat($1,$3,3); return; } function _Path_Range($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _String_AppendConst($1,38616); return; } function _Path_ValidChar($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; switch ($1<<24>>24) { case 34: case 124: case 62: case 60: case 58: case 42: case 63: case 92: case 47: { $3 = 0; break; } default: { $2 = ($1<<24>>24)!=(46); $phitmp = $2&1; $3 = $phitmp; } } return ($3|0); } function _Path_ValidString($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; return 1; } function _String_Range($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _String_AppendConst($1,38631); return; } function _String_ValidChar($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1<<24>>24)!=(38); $3 = $2&1; return ($3|0); } function _String_ValidString($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($1)) + 4|0); $3 = HEAP16[$2>>1]|0; $4 = ($3&65535)<(65); $5 = $4&1; return ($5|0); } function _TextWidget_Make($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $5 = 0, label = 0, sp = 0; sp = STACKTOP; _Widget_Reset($0); HEAP32[$0>>2] = 18196; $5 = ((($0)) + 64|0); HEAP32[$5>>2] = -1; _Widget_SetLocation($0,$1,$2,$3,$4); return; } function _TextWidget_Render($0,$1) { $0 = $0|0; $1 = +$1; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 36|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(0); if ($4) { return; } $5 = ((($0)) + 64|0); $6 = HEAP32[$5>>2]|0; _Texture_RenderShaded($2,$6); return; } function _TextWidget_Free($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 36|0); _Gfx_DeleteTexture($1); return; } function _TextWidget_Reposition($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; _Widget_CalcPosition($0); $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; $3 = $2&65535; $4 = ((($0)) + 40|0); HEAP16[$4>>1] = $3; $5 = ((($0)) + 8|0); $6 = HEAP32[$5>>2]|0; $7 = $6&65535; $8 = ((($0)) + 42|0); HEAP16[$8>>1] = $7; return; } function _Widget_Key($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; return 0; } function _Widget_MouseScroll($0,$1) { $0 = $0|0; $1 = +$1; var label = 0, sp = 0; sp = STACKTOP; return 0; } function _Widget_Pointer($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var label = 0, sp = 0; sp = STACKTOP; return 0; } function _Widget_PointerMove($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var label = 0, sp = 0; sp = STACKTOP; return 0; } function _TextWidget_BuildMesh($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 36|0); $3 = ((($0)) + 64|0); $4 = HEAP32[$3>>2]|0; _Gfx_Make2DQuad($2,$4,$1); return; } function _TextWidget_Render2($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 36|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(0); if (!($4)) { _Gfx_BindTexture($3); _Gfx_DrawVb_IndexedTris_Range(4,$1); } $5 = (($1) + 4)|0; return ($5|0); } function _TextWidget_Set($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $3 = sp; $4 = ((($0)) + 36|0); _Gfx_DeleteTexture($4); $5 = (_Drawer2D_IsEmptyText($1)|0); $6 = ($5<<24>>24)==(0); if ($6) { _DrawTextArgs_Make($3,$1,$2,1); _Drawer2D_MakeTextTexture($4,$3); } else { $7 = ((($0)) + 44|0); HEAP16[$7>>1] = 0; $8 = (_Drawer2D_FontHeight($2,1)|0); $9 = $8&65535; $10 = ((($0)) + 46|0); HEAP16[$10>>1] = $9; } $11 = ((($0)) + 44|0); $12 = HEAP16[$11>>1]|0; $13 = $12&65535; $14 = ((($0)) + 12|0); HEAP32[$14>>2] = $13; $15 = ((($0)) + 46|0); $16 = HEAP16[$15>>1]|0; $17 = $16&65535; $18 = ((($0)) + 16|0); HEAP32[$18>>2] = $17; $19 = HEAP32[$0>>2]|0; $20 = ((($19)) + 8|0); $21 = HEAP32[$20>>2]|0; FUNCTION_TABLE_vi[$21 & 511]($0); STACKTOP = sp;return; } function _TextWidget_SetConst($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $3 = sp; _String_FromReadonly($3,$1); _TextWidget_Set($0,$3,$2); STACKTOP = sp;return; } function _ButtonWidget_Make($0,$1,$2,$3,$4,$5,$6) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; $6 = $6|0; var $10 = 0, $11 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; _Widget_Reset($0); HEAP32[$0>>2] = 18240; $7 = ((($0)) + 68|0); HEAP32[$7>>2] = 0; $8 = (_Display_ScaleX($1)|0); $9 = ((($0)) + 64|0); HEAP32[$9>>2] = $8; $10 = (_Display_ScaleY(40)|0); HEAP32[351856] = $10; $11 = ((($0)) + 32|0); HEAP32[$11>>2] = $2; _Widget_SetLocation($0,$3,$4,$5,$6); return; } function _ButtonWidget_Render($0,$1) { $0 = $0|0; $1 = +$1; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0.0; var $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $2 = sp; $3 = ((($0)) + 20|0); $4 = HEAP8[$3>>0]|0; $5 = ($4<<24>>24)==(0); if ($5) { ;HEAP32[$2>>2]=HEAP32[18312>>2]|0;HEAP32[$2+4>>2]=HEAP32[18312+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[18312+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[18312+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[18312+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[18312+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[18312+24>>2]|0; } else { ;HEAP32[$2>>2]=HEAP32[18284>>2]|0;HEAP32[$2+4>>2]=HEAP32[18284+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[18284+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[18284+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[18284+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[18284+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[18284+24>>2]|0; } $6 = ((($0)) + 21|0); $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if (!($8)) { ;HEAP32[$2>>2]=HEAP32[18340>>2]|0;HEAP32[$2+4>>2]=HEAP32[18340+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[18340+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[18340+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[18340+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[18340+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[18340+24>>2]|0; } $9 = HEAP8[1408257]|0; $10 = ($9<<24>>24)==(0); $11 = HEAP32[315200]|0; $12 = HEAP32[315199]|0; $13 = $10 ? $12 : $11; HEAP32[$2>>2] = $13; $14 = ((($0)) + 4|0); $15 = HEAP32[$14>>2]|0; $16 = $15&65535; $17 = ((($2)) + 4|0); HEAP16[$17>>1] = $16; $18 = ((($0)) + 12|0); $19 = HEAP32[$18>>2]|0; $20 = $19&65535; $21 = ((($2)) + 8|0); HEAP16[$21>>1] = $20; $22 = ((($0)) + 8|0); $23 = HEAP32[$22>>2]|0; $24 = $23&65535; $25 = ((($2)) + 6|0); HEAP16[$25>>1] = $24; $26 = ((($0)) + 16|0); $27 = HEAP32[$26>>2]|0; $28 = $27&65535; $29 = ((($2)) + 10|0); HEAP16[$29>>1] = $28; $30 = ($19|0)>(399); if ($30) { _Texture_Render($2); } else { $31 = (+($19|0)); $32 = $31 / 400.0; $33 = $32 * 0.5; _Gfx_BindTexture($13); $34 = HEAP32[$18>>2]|0; $35 = (($34|0) / 2)&-1; $36 = $35&65535; HEAP16[$21>>1] = $36; $37 = ((($2)) + 12|0); HEAPF32[$37>>2] = 0.0; $38 = $33 * 0.78125; $39 = ((($2)) + 20|0); HEAPF32[$39>>2] = $38; _Gfx_Draw2DTexture($2,-1); $40 = HEAP32[$18>>2]|0; $41 = (($40|0) / 2)&-1; $42 = HEAP16[$17>>1]|0; $43 = $42&65535; $44 = (($41) + ($43))|0; $45 = $44&65535; HEAP16[$17>>1] = $45; $46 = 1.0 - $33; $47 = $46 * 0.78125; HEAPF32[$37>>2] = $47; HEAPF32[$39>>2] = 0.78125; _Gfx_Draw2DTexture($2,-1); } $48 = ((($0)) + 36|0); $49 = HEAP32[$48>>2]|0; $50 = ($49|0)==(0); if ($50) { STACKTOP = sp;return; } $51 = HEAP8[$6>>0]|0; $52 = ($51<<24>>24)==(0); if ($52) { $53 = HEAP8[$3>>0]|0; $54 = ($53<<24>>24)==(0); $55 = $54 ? -2039584 : -6225921; $56 = $55; } else { $56 = -6250336; } _Texture_RenderShaded($48,$56); STACKTOP = sp;return; } function _ButtonWidget_Free($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 36|0); _Gfx_DeleteTexture($1); return; } function _ButtonWidget_Reposition($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; _Widget_CalcPosition($0); $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; $3 = ((($0)) + 12|0); $4 = HEAP32[$3>>2]|0; $5 = (($4|0) / 2)&-1; $6 = ((($0)) + 44|0); $7 = HEAP16[$6>>1]|0; $8 = (1)?(($7&65535) >>> 1):(($7&65535)); $9 = $8&65535; $10 = (($5) + ($2))|0; $11 = (($10) - ($9))|0; $12 = $11&65535; $13 = ((($0)) + 40|0); HEAP16[$13>>1] = $12; $14 = ((($0)) + 8|0); $15 = HEAP32[$14>>2]|0; $16 = ((($0)) + 16|0); $17 = HEAP32[$16>>2]|0; $18 = (($17|0) / 2)&-1; $19 = ((($0)) + 46|0); $20 = HEAP16[$19>>1]|0; $21 = (1)?(($20&65535) >>> 1):(($20&65535)); $22 = $21&65535; $23 = (($18) + ($15))|0; $24 = (($23) - ($22))|0; $25 = $24&65535; $26 = ((($0)) + 42|0); HEAP16[$26>>1] = $25; return; } function _ButtonWidget_BuildMesh($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0; var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0; var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $2 = sp; $3 = ((($0)) + 20|0); $4 = HEAP8[$3>>0]|0; $5 = ($4<<24>>24)==(0); if ($5) { ;HEAP32[$2>>2]=HEAP32[18312>>2]|0;HEAP32[$2+4>>2]=HEAP32[18312+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[18312+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[18312+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[18312+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[18312+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[18312+24>>2]|0; } else { ;HEAP32[$2>>2]=HEAP32[18284>>2]|0;HEAP32[$2+4>>2]=HEAP32[18284+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[18284+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[18284+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[18284+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[18284+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[18284+24>>2]|0; } $6 = ((($0)) + 21|0); $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if (!($8)) { ;HEAP32[$2>>2]=HEAP32[18340>>2]|0;HEAP32[$2+4>>2]=HEAP32[18340+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[18340+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[18340+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[18340+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[18340+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[18340+24>>2]|0; } $9 = ((($0)) + 4|0); $10 = HEAP32[$9>>2]|0; $11 = $10&65535; $12 = ((($2)) + 4|0); HEAP16[$12>>1] = $11; $13 = ((($0)) + 12|0); $14 = HEAP32[$13>>2]|0; $15 = $14&65535; $16 = ((($2)) + 8|0); HEAP16[$16>>1] = $15; $17 = ((($0)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = $18&65535; $20 = ((($2)) + 6|0); HEAP16[$20>>1] = $19; $21 = ((($0)) + 16|0); $22 = HEAP32[$21>>2]|0; $23 = $22&65535; $24 = ((($2)) + 10|0); HEAP16[$24>>1] = $23; $25 = ($14|0)>(399); if ($25) { _Gfx_Make2DQuad($2,-1,$1); $26 = HEAP32[$1>>2]|0; $27 = ((($26)) + 96|0); HEAP32[$1>>2] = $27; } else { $28 = (+($14|0)); $29 = $28 / 400.0; $30 = $29 * 0.5; $31 = (($14|0) / 2)&-1; $32 = $31&65535; HEAP16[$16>>1] = $32; $33 = ((($2)) + 12|0); HEAPF32[$33>>2] = 0.0; $34 = $30 * 0.78125; $35 = ((($2)) + 20|0); HEAPF32[$35>>2] = $34; _Gfx_Make2DQuad($2,-1,$1); $36 = HEAP32[$13>>2]|0; $37 = (($36|0) / 2)&-1; $38 = HEAP16[$12>>1]|0; $39 = $38&65535; $40 = (($37) + ($39))|0; $41 = $40&65535; HEAP16[$12>>1] = $41; $42 = 1.0 - $30; $43 = $42 * 0.78125; HEAPF32[$33>>2] = $43; HEAPF32[$35>>2] = 0.78125; _Gfx_Make2DQuad($2,-1,$1); } $44 = HEAP8[$6>>0]|0; $45 = ($44<<24>>24)==(0); if (!($45)) { $50 = -6250336; $49 = ((($0)) + 36|0); _Gfx_Make2DQuad($49,$50,$1); STACKTOP = sp;return; } $46 = HEAP8[$3>>0]|0; $47 = ($46<<24>>24)==(0); $48 = $47 ? -2039584 : -6225921; $50 = $48; $49 = ((($0)) + 36|0); _Gfx_Make2DQuad($49,$50,$1); STACKTOP = sp;return; } function _ButtonWidget_Render2($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP8[1408257]|0; $3 = ($2<<24>>24)==(0); $4 = HEAP32[315200]|0; $5 = HEAP32[315199]|0; $6 = $3 ? $5 : $4; _Gfx_BindTexture($6); $7 = ((($0)) + 12|0); $8 = HEAP32[$7>>2]|0; $9 = ($8|0)>(399); $10 = $9 ? 4 : 8; _Gfx_DrawVb_IndexedTris_Range($10,$1); $11 = ((($0)) + 36|0); $12 = HEAP32[$11>>2]|0; $13 = ($12|0)==(0); if ($13) { $15 = (($1) + 12)|0; return ($15|0); } $14 = (($1) + 8)|0; _Gfx_BindTexture($12); _Gfx_DrawVb_IndexedTris_Range(4,$14); $15 = (($1) + 12)|0; return ($15|0); } function _ButtonWidget_Set($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $3 = sp; $4 = ((($0)) + 36|0); _Gfx_DeleteTexture($4); $5 = (_Drawer2D_IsEmptyText($1)|0); $6 = ($5<<24>>24)==(0); if ($6) { _DrawTextArgs_Make($3,$1,$2,1); _Drawer2D_MakeTextTexture($4,$3); } else { $7 = ((($0)) + 44|0); HEAP16[$7>>1] = 0; $8 = (_Drawer2D_FontHeight($2,1)|0); $9 = $8&65535; $10 = ((($0)) + 46|0); HEAP16[$10>>1] = $9; } $11 = ((($0)) + 44|0); $12 = HEAP16[$11>>1]|0; $13 = $12&65535; $14 = ((($0)) + 64|0); $15 = HEAP32[$14>>2]|0; $16 = ($15|0)<($13|0); $$ = $16 ? $13 : $15; $17 = ((($0)) + 12|0); HEAP32[$17>>2] = $$; $18 = ((($0)) + 46|0); $19 = HEAP16[$18>>1]|0; $20 = $19&65535; $21 = HEAP32[351856]|0; $22 = ($21|0)<($20|0); $23 = $22 ? $20 : $21; $24 = ((($0)) + 16|0); HEAP32[$24>>2] = $23; $25 = HEAP32[$0>>2]|0; $26 = ((($25)) + 8|0); $27 = HEAP32[$26>>2]|0; FUNCTION_TABLE_vi[$27 & 511]($0); STACKTOP = sp;return; } function _ButtonWidget_SetConst($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $3 = sp; _String_FromReadonly($3,$1); _ButtonWidget_Set($0,$3,$2); STACKTOP = sp;return; } function _ScrollbarWidget_Create($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; _Widget_Reset($0); HEAP32[$0>>2] = 18368; $1 = ((($0)) + 12|0); HEAP32[$1>>2] = 22; $2 = ((($0)) + 36|0); ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0; return; } function _ScrollbarWidget_Render($0,$1) { $0 = $0|0; $1 = +$1; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp + 4|0; $3 = sp; $4 = ((($0)) + 4|0); $5 = HEAP32[$4>>2]|0; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; $8 = ((($0)) + 8|0); $9 = HEAP32[$8>>2]|0; $10 = ((($0)) + 16|0); $11 = HEAP32[$10>>2]|0; _Gfx_Draw2DFlat($5,$9,$7,$11,-603321846); _ScrollbarWidget_GetScrollbarCoords($0,$2,$3); $12 = (($5) + 2)|0; $13 = HEAP32[$8>>2]|0; $14 = HEAP32[$2>>2]|0; $15 = (($14) + ($13))|0; HEAP32[$2>>2] = $15; $16 = (($7) + -4)|0; $17 = HEAP32[$3>>2]|0; $18 = (_Gui_ContainsPointers($12,$15,$16,$17)|0); $19 = $18 & 255; $20 = ($19|0)==(0); $21 = $20 ? -597400476 : -595953030; _Gfx_Draw2DFlat($12,$15,$16,$17,$21); $22 = ($17|0)<(20); if ($22) { STACKTOP = sp;return; } $23 = (($5) + 5)|0; $24 = (1)?($17 >>> 1):($17); $25 = (($24) + ($15))|0; HEAP32[$2>>2] = $25; $26 = (($7) + -10)|0; $27 = (($25) + -5)|0; _Gfx_Draw2DFlat($23,$27,$26,2,-603321846); $28 = (($25) + -1)|0; _Gfx_Draw2DFlat($23,$28,$26,2,-603321846); $29 = (($25) + 3)|0; _Gfx_Draw2DFlat($23,$29,$26,2,-603321846); STACKTOP = sp;return; } function _Widget_NullFunc($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return; } function _ScrollbarWidget_MouseScroll($0,$1) { $0 = $0|0; $1 = +$1; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 44|0); $3 = (_Utils_AccumulateWheelDelta($2,$1)|0); $4 = ((($0)) + 40|0); $5 = HEAP32[$4>>2]|0; $6 = (($5) - ($3))|0; HEAP32[$4>>2] = $6; _ScrollbarWidget_ClampTopRow($0); return 1; } function _ScrollbarWidget_PointerDown($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $4 = sp + 4|0; $5 = sp; $6 = ((($0)) + 52|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)==($1|0); if ($8) { $$0 = 1; STACKTOP = sp;return ($$0|0); } $9 = ((($0)) + 4|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)>($2|0); if ($11) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $12 = ((($0)) + 12|0); $13 = HEAP32[$12>>2]|0; $14 = (($13) + ($10))|0; $15 = ($14|0)>($2|0); $16 = ($7|0)==(0); $or$cond = $16 & $15; if (!($or$cond)) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $17 = ((($0)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = (($3) - ($18))|0; _ScrollbarWidget_GetScrollbarCoords($0,$4,$5); $20 = HEAP32[$4>>2]|0; $21 = ($19|0)<($20|0); do { if ($21) { $22 = ((($0)) + 40|0); $23 = HEAP32[$22>>2]|0; $24 = (($23) + -8)|0; HEAP32[$22>>2] = $24; } else { $25 = HEAP32[$5>>2]|0; $26 = (($25) + ($20))|0; $27 = ($19|0)<($26|0); if ($27) { HEAP32[$6>>2] = $1; $31 = (($19) - ($20))|0; $32 = ((($0)) + 48|0); HEAP32[$32>>2] = $31; break; } else { $28 = ((($0)) + 40|0); $29 = HEAP32[$28>>2]|0; $30 = (($29) + 8)|0; HEAP32[$28>>2] = $30; break; } } } while(0); _ScrollbarWidget_ClampTopRow($0); $$0 = 1; STACKTOP = sp;return ($$0|0); } function _ScrollbarWidget_PointerUp($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ((($0)) + 52|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==($1|0); if (!($6)) { return 1; } HEAP32[$4>>2] = 0; $7 = ((($0)) + 48|0); HEAP32[$7>>2] = 0; return 1; } function _ScrollbarWidget_PointerMove($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ((($0)) + 52|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==($1|0); if (!($6)) { $$0 = 0; return ($$0|0); } $7 = ((($0)) + 8|0); $8 = HEAP32[$7>>2]|0; $9 = (($3) - ($8))|0; $10 = (+_ScrollbarWidget_GetScale($0)); $11 = ((($0)) + 48|0); $12 = HEAP32[$11>>2]|0; $13 = (($9) - ($12))|0; $14 = (+($13|0)); $15 = $14 / $10; $16 = (~~(($15))); $17 = ((($0)) + 40|0); HEAP32[$17>>2] = $16; _ScrollbarWidget_ClampTopRow($0); $$0 = 1; return ($$0|0); } function _ScrollbarWidget_GetScale($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 36|0); $2 = HEAP32[$1>>2]|0; $3 = (+($2|0)); $4 = ((($0)) + 16|0); $5 = HEAP32[$4>>2]|0; $6 = (($5) + -4)|0; $7 = (+($6|0)); $8 = $7 / $3; return (+$8); } function _ScrollbarWidget_ClampTopRow($0) { $0 = $0|0; var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 36|0); $2 = HEAP32[$1>>2]|0; $3 = (($2) + -8)|0; $4 = ((($0)) + 40|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)<($3|0); $7 = $6 ? $5 : $3; $8 = ($7|0)<(0); $9 = $6 ^ 1; $10 = $8 | $9; if (!($10)) { return; } $spec$select = $8 ? 0 : $7; HEAP32[$4>>2] = $spec$select; return; } function _ScrollbarWidget_GetScrollbarCoords($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$ = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (+_ScrollbarWidget_GetScale($0)); $4 = ((($0)) + 40|0); $5 = HEAP32[$4>>2]|0; $6 = (+($5|0)); $7 = $3 * $6; $8 = (_Math_Ceil($7)|0); $9 = (($8) + 2)|0; HEAP32[$1>>2] = $9; $10 = $3 * 8.0; $11 = (_Math_Ceil($10)|0); HEAP32[$2>>2] = $11; $12 = HEAP32[$1>>2]|0; $13 = (($12) + ($11))|0; $14 = ((($0)) + 16|0); $15 = HEAP32[$14>>2]|0; $16 = (($15) + -2)|0; $17 = ($13|0)<($16|0); $$ = $17 ? $13 : $16; $18 = (($$) - ($12))|0; HEAP32[$2>>2] = $18; return; } function _HotbarWidget_Create($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; _Widget_Reset($0); HEAP32[$0>>2] = 18412; $1 = ((($0)) + 22|0); HEAP8[$1>>0] = 1; $2 = ((($0)) + 23|0); HEAP8[$2>>0] = 2; return; } function _HotbarWidget_Render($0,$1) { $0 = $0|0; $1 = +$1; var label = 0, sp = 0; sp = STACKTOP; _HotbarWidget_RenderHotbarOutline($0); _HotbarWidget_RenderHotbarBlocks($0); return; } function _HotbarWidget_Reposition($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $2 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (+_Game_GetHotbarScale()); $2 = $1 * 182.0; $3 = (~~(($2))); $4 = ((($0)) + 12|0); HEAP32[$4>>2] = $3; $5 = $1 * 22.0; $6 = (_Math_Floor($5)|0); $7 = ((($0)) + 16|0); HEAP32[$7>>2] = $6; _Widget_CalcPosition($0); $8 = $1 * 24.0; $9 = (_Math_Ceil($8)|0); $10 = (+($9|0)); $11 = ((($0)) + 96|0); HEAPF32[$11>>2] = $10; $12 = $1 * 13.5; $13 = ((($0)) + 104|0); HEAPF32[$13>>2] = $12; $14 = $1 * 11.100000381469727; $15 = ((($0)) + 100|0); HEAPF32[$15>>2] = $14; $16 = $1 * 20.0; $17 = ((($0)) + 92|0); HEAPF32[$17>>2] = $16; $18 = ((($0)) + 4|0); $19 = HEAP32[$18>>2]|0; $20 = $19&65535; $21 = ((($0)) + 68|0); HEAP16[$21>>1] = $20; $22 = ((($0)) + 8|0); $23 = HEAP32[$22>>2]|0; $24 = $23&65535; $25 = ((($0)) + 70|0); HEAP16[$25>>1] = $24; $26 = HEAP32[$4>>2]|0; $27 = $26&65535; $28 = ((($0)) + 72|0); HEAP16[$28>>1] = $27; $29 = HEAP32[$7>>2]|0; $30 = $29&65535; $31 = ((($0)) + 74|0); HEAP16[$31>>1] = $30; $32 = ((($0)) + 76|0); HEAPF32[$32>>2] = 0.0; $33 = ((($0)) + 80|0); HEAPF32[$33>>2] = 0.0; $34 = ((($0)) + 84|0); HEAPF32[$34>>2] = 0.7109375; $35 = ((($0)) + 88|0); HEAPF32[$35>>2] = 0.0859375; $36 = $1 * 23.0; $37 = (~~(($36))); $38 = (($23) - ($37))|0; $39 = (($38) + ($29))|0; $40 = ((($0)) + 40|0); HEAP16[$40>>1] = 0; $41 = $39&65535; $42 = ((($0)) + 42|0); HEAP16[$42>>1] = $41; $43 = (~~(($10))); $44 = $43&65535; $45 = ((($0)) + 44|0); HEAP16[$45>>1] = $44; $46 = ((($0)) + 46|0); HEAP16[$46>>1] = $30; $47 = ((($0)) + 48|0); HEAPF32[$47>>2] = 0.0; $48 = ((($0)) + 52|0); HEAPF32[$48>>2] = 0.0859375; $49 = ((($0)) + 56|0); HEAPF32[$49>>2] = 0.09375; $50 = ((($0)) + 60|0); HEAPF32[$50>>2] = 0.171875; return; } function _HotbarWidget_KeyDown($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $$off = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $$off = (($1) + -49)|0; $2 = ($$off>>>0)>(8); if ($2) { $$0 = 0; return ($$0|0); } $3 = (_KeyBind_IsPressed(30)|0); $4 = ($3<<24>>24)==(0); if ($4) { _Inventory_SetSelectedIndex($$off); $$0 = 1; return ($$0|0); } else { _Inventory_SetHotbarIndex($$off); $5 = ((($0)) + 112|0); HEAP8[$5>>0] = 1; $$0 = 1; return ($$0|0); } return (0)|0; } function _HotbarWidget_KeyUp($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP8[(379758)>>0]|0; $3 = $2&255; $4 = ($3|0)==($1|0); if (!($4)) { $$0 = 0; return ($$0|0); } $5 = ((($0)) + 112|0); $6 = HEAP8[$5>>0]|0; $7 = ($6<<24>>24)==(0); if (!($7)) { HEAP8[$5>>0] = 0; $$0 = 1; return ($$0|0); } $8 = HEAP8[1408301]|0; $9 = ($8<<24>>24)==(0); if ($9) { $$0 = 1; return ($$0|0); } $10 = HEAP32[(1268184)>>2]|0; $11 = ($10|0)==(0); $12 = $11&1; _Inventory_SetHotbarIndex($12); $$0 = 1; return ($$0|0); } function _HotbarWidget_MouseScroll($0,$1) { $0 = $0|0; $1 = +$1; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (_KeyBind_IsPressed(30)|0); $3 = ($2<<24>>24)==(0); if ($3) { $8 = HEAP32[(1268180)>>2]|0; $9 = (_HotbarWidget_ScrolledIndex($0,$1,$8,-1)|0); _Inventory_SetSelectedIndex($9); return 1; } else { $4 = HEAP32[(1268184)>>2]|0; $5 = (($4|0) / 9)&-1; $6 = (_HotbarWidget_ScrolledIndex($0,$1,$5,1)|0); _Inventory_SetHotbarIndex($6); $7 = ((($0)) + 112|0); HEAP8[$7>>0] = 1; return 1; } return (0)|0; } function _HotbarWidget_PointerDown($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0 = 0, $$02931$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $7 = 0.0; var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = (_Widget_Contains($0,$2,$3)|0); $5 = ($4|0)==(0); if ($5) { $$0 = 0; return ($$0|0); } $6 = ((($0)) + 92|0); $7 = +HEAPF32[$6>>2]; $8 = (~~(($7))); $9 = ((($0)) + 16|0); $10 = HEAP32[$9>>2]|0; $11 = ((($0)) + 4|0); $12 = ((($0)) + 8|0); $13 = HEAP32[$11>>2]|0; $14 = HEAP32[$12>>2]|0; $15 = (_Gui_Contains($13,$14,$8,$10,$2,$3)|0); $16 = ($15|0)==(0); if ($16) { $17 = HEAP32[$11>>2]|0; $18 = (($17) + ($8))|0; $19 = HEAP32[$12>>2]|0; $20 = (_Gui_Contains($18,$19,$8,$10,$2,$3)|0); $21 = ($20|0)==(0); if ($21) { $22 = HEAP32[$11>>2]|0; $23 = $8 << 1; $24 = (($22) + ($23))|0; $25 = HEAP32[$12>>2]|0; $26 = (_Gui_Contains($24,$25,$8,$10,$2,$3)|0); $27 = ($26|0)==(0); if ($27) { $28 = HEAP32[$11>>2]|0; $29 = ($8*3)|0; $30 = (($28) + ($29))|0; $31 = HEAP32[$12>>2]|0; $32 = (_Gui_Contains($30,$31,$8,$10,$2,$3)|0); $33 = ($32|0)==(0); if ($33) { $34 = HEAP32[$11>>2]|0; $35 = $8 << 2; $36 = (($34) + ($35))|0; $37 = HEAP32[$12>>2]|0; $38 = (_Gui_Contains($36,$37,$8,$10,$2,$3)|0); $39 = ($38|0)==(0); if ($39) { $40 = HEAP32[$11>>2]|0; $41 = ($8*5)|0; $42 = (($40) + ($41))|0; $43 = HEAP32[$12>>2]|0; $44 = (_Gui_Contains($42,$43,$8,$10,$2,$3)|0); $45 = ($44|0)==(0); if ($45) { $46 = HEAP32[$11>>2]|0; $47 = ($8*6)|0; $48 = (($46) + ($47))|0; $49 = HEAP32[$12>>2]|0; $50 = (_Gui_Contains($48,$49,$8,$10,$2,$3)|0); $51 = ($50|0)==(0); if ($51) { $52 = HEAP32[$11>>2]|0; $53 = ($8*7)|0; $54 = (($52) + ($53))|0; $55 = HEAP32[$12>>2]|0; $56 = (_Gui_Contains($54,$55,$8,$10,$2,$3)|0); $57 = ($56|0)==(0); if ($57) { $58 = HEAP32[$11>>2]|0; $59 = $8 << 3; $60 = (($58) + ($59))|0; $61 = HEAP32[$12>>2]|0; $62 = (_Gui_Contains($60,$61,$8,$10,$2,$3)|0); $63 = ($62|0)==(0); if ($63) { $$0 = 0; return ($$0|0); } else { $$02931$lcssa = 8; } } else { $$02931$lcssa = 7; } } else { $$02931$lcssa = 6; } } else { $$02931$lcssa = 5; } } else { $$02931$lcssa = 4; } } else { $$02931$lcssa = 3; } } else { $$02931$lcssa = 2; } } else { $$02931$lcssa = 1; } } else { $$02931$lcssa = 0; } _Inventory_SetSelectedIndex($$02931$lcssa); $$0 = 1; return ($$0|0); } function _HotbarWidget_ScrolledIndex($0,$1,$2,$3) { $0 = $0|0; $1 = +$1; $2 = $2|0; $3 = $3|0; var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ((($0)) + 108|0); $5 = (_Utils_AccumulateWheelDelta($4,$1)|0); $6 = Math_imul($5, $3)|0; $7 = (($6|0) % 9)&-1; $8 = (($7) + ($2))|0; $9 = ($8|0)<(0); $10 = (($8) + 9)|0; $spec$select = $9 ? $10 : $8; $11 = ($spec$select|0)>(8); $12 = (($spec$select) + -9)|0; $$1 = $11 ? $12 : $spec$select; return ($$1|0); } function _HotbarWidget_RenderHotbarOutline($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0; var $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408257]|0; $2 = ($1<<24>>24)==(0); $3 = HEAP32[315200]|0; $4 = HEAP32[315199]|0; $5 = $2 ? $4 : $3; $6 = ((($0)) + 64|0); HEAP32[$6>>2] = $5; _Texture_Render($6); $7 = HEAP32[(1268180)>>2]|0; $8 = ((($0)) + 92|0); $9 = +HEAPF32[$8>>2]; $10 = ((($0)) + 4|0); $11 = HEAP32[$10>>2]|0; $12 = (+($11|0)); $13 = ((($0)) + 100|0); $14 = +HEAPF32[$13>>2]; $15 = $14 + $12; $16 = (+($7|0)); $17 = $9 * $16; $18 = $17 + $15; $19 = (~~(($18))); $20 = ((($0)) + 36|0); HEAP32[$20>>2] = $5; $21 = (+($19|0)); $22 = ((($0)) + 96|0); $23 = +HEAPF32[$22>>2]; $24 = $23 * 0.5; $25 = $21 - $24; $26 = (~~(($25))); $27 = $26&65535; $28 = ((($0)) + 40|0); HEAP16[$28>>1] = $27; _Gfx_Draw2DTexture($20,-1); return; } function _HotbarWidget_RenderHotbarBlocks($0) { $0 = $0|0; var $$022 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 3456|0; $1 = sp; $2 = HEAP32[(1280020)>>2]|0; _IsometricDrawer_BeginBatch($1,$2); $3 = ((($0)) + 92|0); $4 = +HEAPF32[$3>>2]; $5 = ((($0)) + 104|0); $6 = +HEAPF32[$5>>2]; $7 = $6 * 0.5; $8 = ((($0)) + 4|0); $9 = ((($0)) + 100|0); $10 = ((($0)) + 8|0); $11 = ((($0)) + 16|0); $$022 = 0; while(1) { $12 = HEAP32[$8>>2]|0; $13 = (+($12|0)); $14 = +HEAPF32[$9>>2]; $15 = $14 + $13; $16 = (+($$022|0)); $17 = $4 * $16; $18 = $17 + $15; $19 = (~~(($18))); $20 = HEAP32[$10>>2]|0; $21 = HEAP32[$11>>2]|0; $22 = (($21|0) / 2)&-1; $23 = (($22) + ($20))|0; $24 = HEAP32[(1268184)>>2]|0; $25 = (($24) + ($$022))|0; $26 = (1266480 + ($25<<1)|0); $27 = HEAP16[$26>>1]|0; $28 = (+($19|0)); $29 = (+($23|0)); _IsometricDrawer_DrawBatch($27,$7,$28,$29); $30 = (($$022) + 1)|0; $exitcond = ($30|0)==(9); if ($exitcond) { break; } else { $$022 = $30; } } _IsometricDrawer_EndBatch(); STACKTOP = sp;return; } function _TableWidget_MakeDescTex($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 160|0; $2 = sp + 144|0; $3 = sp; $4 = sp + 128|0; $5 = ((($0)) + 1668|0); _Gfx_DeleteTexture($5); HEAP32[$2>>2] = $3; $6 = ((($2)) + 4|0); HEAP16[$6>>1] = 0; $7 = ((($2)) + 6|0); HEAP16[$7>>1] = 128; _TableWidget_MakeBlockDesc($2,$1); $8 = HEAP16[$6>>1]|0; $9 = ($8<<16>>16)==(0); if ($9) { STACKTOP = sp;return; } $10 = ((($0)) + 52|0); $11 = HEAP32[$10>>2]|0; _DrawTextArgs_Make($4,$2,$11,1); _Drawer2D_MakeTextTexture($5,$4); _TableWidget_UpdateDescTexPos($0); STACKTOP = sp;return; } function _TableWidget_MakeBlockDesc($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = sp + 8|0; $4 = $1&65535; HEAP32[$3>>2] = $4; $5 = HEAP8[1408229]|0; $6 = ($5<<24>>24)==(0); $7 = HEAP8[1408233]|0; $8 = ($7<<24>>24)!=(0); $or$cond = $6 | $8; if (!($or$cond)) { _String_AppendConst($0,38646); STACKTOP = sp;return; } $9 = ($1<<16>>16)==(0); if ($9) { STACKTOP = sp;return; } _Block_UNSAFE_GetName($2,$1); _String_AppendString($0,$2); $10 = HEAP8[1408229]|0; $11 = ($10<<24>>24)==(0); if (!($11)) { STACKTOP = sp;return; } _String_Format1($0,38659,$3); $12 = (634116 + ($4)|0); $13 = HEAP8[$12>>0]|0; $14 = ($13<<24>>24)==(0); if ($14) { _String_AppendConst($0,38669); } $15 = (634884 + ($4)|0); $16 = HEAP8[$15>>0]|0; $17 = ($16<<24>>24)==(0); if ($17) { _String_AppendConst($0,38684); } _String_Append($0,41); STACKTOP = sp;return; } function _TableWidget_UpdateDescTexPos($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; $3 = ((($0)) + 12|0); $4 = HEAP32[$3>>2]|0; $5 = (($4|0) / 2)&-1; $6 = (($5) + ($2))|0; $7 = ((($0)) + 1676|0); $8 = HEAP16[$7>>1]|0; $9 = (1)?(($8&65535) >>> 1):(($8&65535)); $10 = $9&65535; $11 = (($6) - ($10))|0; $12 = $11&65535; $13 = ((($0)) + 1672|0); HEAP16[$13>>1] = $12; $14 = ((($0)) + 8|0); $15 = HEAP32[$14>>2]|0; $16 = ((($0)) + 1678|0); $17 = HEAP16[$16>>1]|0; $18 = $17&65535; $19 = (($15) + 65531)|0; $20 = (($19) - ($18))|0; $21 = $20&65535; $22 = ((($0)) + 1674|0); HEAP16[$22>>1] = $21; return; } function _TableWidget_RecreateBlocks($0) { $0 = $0|0; var $$0$be = 0, $$024 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; var $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[1408231]|0; $2 = ($1<<24>>24)==(0); $3 = $2 ? 50 : 768; $4 = ((($0)) + 36|0); HEAP32[$4>>2] = 0; $5 = ((($0)) + 40|0); $$024 = 0; while(1) { $6 = HEAP32[$5>>2]|0; $7 = (($$024|0) % ($6|0))&-1; $8 = ($7|0)==(0); if ($8) { $9 = (_TableWidget_RowEmpty($0,$$024)|0); $10 = ($9<<24>>24)==(0); if ($10) { label = 6; } else { $11 = (($6) + ($$024))|0; $$0$be = $11; } } else { label = 6; } if ((label|0) == 6) { label = 0; $13 = (1266642 + ($$024<<1)|0); $14 = HEAP16[$13>>1]|0; $15 = $14&65535; $16 = ($3>>>0)>($15>>>0); if ($16) { $17 = HEAP32[$4>>2]|0; $18 = (($17) + 1)|0; HEAP32[$4>>2] = $18; $19 = (((($0)) + 74|0) + ($17<<1)|0); HEAP16[$19>>1] = $14; } $20 = (($$024) + 1)|0; $$0$be = $20; } $12 = ($$0$be>>>0)<(768); if ($12) { $$024 = $$0$be; } else { break; } } $21 = HEAP32[$4>>2]|0; $22 = ((($0)) + 40|0); $23 = HEAP32[$22>>2]|0; $24 = (_Math_CeilDiv($21,$23)|0); $25 = ((($0)) + 44|0); HEAP32[$25>>2] = $24; $26 = HEAP32[$0>>2]|0; $27 = ((($26)) + 8|0); $28 = HEAP32[$27>>2]|0; FUNCTION_TABLE_vi[$28 & 511]($0); return; } function _TableWidget_RowEmpty($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $$01213 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 40|0); $3 = HEAP32[$2>>2]|0; $4 = (($3) + ($1))|0; $5 = ($4>>>0)<(768); $spec$select = $5 ? $4 : 768; $6 = ($spec$select|0)>($1|0); if (!($6)) { $$0 = 1; return ($$0|0); } $$01213 = $1; while(1) { $9 = (1266642 + ($$01213<<1)|0); $10 = HEAP16[$9>>1]|0; $11 = ($10<<16>>16)==(0); $7 = (($$01213) + 1)|0; if (!($11)) { $$0 = 0; label = 5; break; } $8 = ($7|0)<($spec$select|0); if ($8) { $$01213 = $7; } else { $$0 = 1; label = 5; break; } } if ((label|0) == 5) { return ($$0|0); } return (0)|0; } function _TableWidget_Recreate($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; $2 = ($1|0)==(0|0); if (!($2)) { $3 = ((($1)) + 4|0); $4 = HEAP32[$3>>2]|0; FUNCTION_TABLE_vi[$4 & 511]($0); } $5 = (_Gfx_CreateDynamicVb(1,1280)|0); $6 = ((($0)) + 68|0); HEAP32[$6>>2] = $5; _TableWidget_RecreateDescTex($0); return; } function _TableWidget_RecreateDescTex($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 56|0); $2 = HEAP32[$1>>2]|0; $3 = ((($0)) + 48|0); $4 = HEAP32[$3>>2]|0; $5 = ($2|0)==($4|0); if ($5) { return; } $6 = ((($0)) + 36|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)==(0); if ($8) { return; } HEAP32[$3>>2] = $2; $9 = ((($0)) + 1668|0); _Gfx_DeleteTexture($9); $10 = HEAP32[$1>>2]|0; $11 = ($10|0)==(-1); if ($11) { return; } $12 = (((($0)) + 74|0) + ($10<<1)|0); $13 = HEAP16[$12>>1]|0; _TableWidget_MakeDescTex($0,$13); return; } function _TableWidget_Create($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; _Widget_Reset($0); HEAP32[$0>>2] = 18456; $1 = ((($0)) + 48|0); HEAP32[$1>>2] = -1000; $2 = ((($0)) + 1612|0); _ScrollbarWidget_Create($2); $3 = ((($0)) + 22|0); HEAP8[$3>>0] = 1; $4 = ((($0)) + 23|0); HEAP8[$4>>0] = 1; $5 = ((($0)) + 1696|0); HEAP32[$5>>2] = -20; $6 = ((($0)) + 1700|0); HEAP32[$6>>2] = -20; return; } function _TableWidget_Render($0,$1) { $0 = $0|0; $1 = +$1; var $$067 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0; var $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0.0; var $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0; var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0; var $82 = 0, $83 = 0, $84 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 30736|0; $2 = sp; $3 = sp + 30724|0; $4 = sp + 30720|0; $5 = (_Table_X($0)|0); $6 = (_Table_Y($0)|0); $7 = (_Table_Width($0)|0); $8 = (_Table_Height($0)|0); _Gfx_Draw2DGradient($5,$6,$7,$8,-1474158046,-899139271); $9 = ((($0)) + 44|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)>(8); if ($11) { $12 = ((($0)) + 1612|0); $13 = HEAP32[$12>>2]|0; $14 = HEAP32[$13>>2]|0; FUNCTION_TABLE_vid[$14 & 63]($12,$1); } $15 = ((($0)) + 60|0); $16 = HEAP32[$15>>2]|0; $17 = ((($0)) + 56|0); $18 = HEAP32[$17>>2]|0; $19 = ($18|0)==(-1); $20 = HEAP8[1408229]|0; $21 = ($20<<24>>24)==(0); $or$cond = $19 | $21; if (!($or$cond)) { $22 = ((($0)) + 74|0); $23 = (($22) + ($18<<1)|0); $24 = HEAP16[$23>>1]|0; $25 = ($24<<16>>16)==(0); if (!($25)) { (_TableWidget_GetCoords($0,$18,$3,$4)|0); $26 = (+($16|0)); $27 = $26 * 0.10000000149011612; $28 = $27 * 2.0; $29 = $28 + $26; $30 = (~~(($29))); $31 = HEAP32[$3>>2]|0; $32 = (+($31|0)); $33 = $32 - $27; $34 = (~~(($33))); $35 = HEAP32[$4>>2]|0; $36 = (+($35|0)); $37 = $36 - $27; $38 = (~~(($37))); _Gfx_Draw2DGradient($34,$38,$30,$30,-1895825409,-1056964609); } } _Gfx_SetVertexFormat(1); $39 = ((($0)) + 68|0); $40 = HEAP32[$39>>2]|0; _IsometricDrawer_BeginBatch($2,$40); $41 = ((($0)) + 36|0); $42 = HEAP32[$41>>2]|0; $43 = ($42|0)>(0); if ($43) { $44 = ((($0)) + 74|0); $45 = (+($16|0)); $46 = $45 * 0.69999998807907104; $47 = $46 * 0.5; $48 = (($16|0) / 2)&-1; $$067 = 0; while(1) { $49 = (_TableWidget_GetCoords($0,$$067,$3,$4)|0); $50 = ($49<<24>>24)==(0); if (!($50)) { $51 = HEAP32[$17>>2]|0; $52 = ($$067|0)==($51|0); if (!($52)) { $53 = (($44) + ($$067<<1)|0); $54 = HEAP16[$53>>1]|0; $55 = HEAP32[$3>>2]|0; $56 = (($55) + ($48))|0; $57 = (+($56|0)); $58 = HEAP32[$4>>2]|0; $59 = (($58) + ($48))|0; $60 = (+($59|0)); _IsometricDrawer_DrawBatch($54,$47,$57,$60); } } $61 = (($$067) + 1)|0; $62 = HEAP32[$41>>2]|0; $63 = ($61|0)<($62|0); if ($63) { $$067 = $61; } else { break; } } } $64 = HEAP32[$17>>2]|0; $65 = ($64|0)==(-1); if (!($65)) { (_TableWidget_GetCoords($0,$64,$3,$4)|0); $66 = ((($0)) + 74|0); $67 = (($66) + ($64<<1)|0); $68 = HEAP16[$67>>1]|0; $69 = (+($16|0)); $70 = ((($0)) + 64|0); $71 = +HEAPF32[$70>>2]; $72 = $71 + $69; $73 = $72 * 0.69999998807907104; $74 = $73 * 0.5; $75 = HEAP32[$3>>2]|0; $76 = (($16|0) / 2)&-1; $77 = (($75) + ($76))|0; $78 = (+($77|0)); $79 = HEAP32[$4>>2]|0; $80 = (($79) + ($76))|0; $81 = (+($80|0)); _IsometricDrawer_DrawBatch($68,$74,$78,$81); } _IsometricDrawer_EndBatch(); $82 = ((($0)) + 1668|0); $83 = HEAP32[$82>>2]|0; $84 = ($83|0)==(0); if ($84) { STACKTOP = sp;return; } _Texture_Render($82); STACKTOP = sp;return; } function _TableWidget_Free($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 68|0); _Gfx_DeleteVb($1); $2 = ((($0)) + 1668|0); _Gfx_DeleteTexture($2); $3 = ((($0)) + 48|0); HEAP32[$3>>2] = -1000; return; } function _TableWidget_Reposition($0) { $0 = $0|0; var $1 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (+_Game_GetInventoryScale()); $2 = (+_Math_SqrtF($1)); $3 = $2 * 50.0; $4 = (~~(($3))); $5 = ((($0)) + 60|0); HEAP32[$5>>2] = $4; $6 = (+_Math_SqrtF($1)); $7 = $6 * 25.0; $8 = ((($0)) + 64|0); HEAPF32[$8>>2] = $7; $9 = ((($0)) + 44|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)<(8); $spec$select = $11 ? $10 : 8; $12 = HEAP32[$5>>2]|0; $13 = ((($0)) + 40|0); $14 = HEAP32[$13>>2]|0; $15 = Math_imul($14, $12)|0; $16 = ((($0)) + 12|0); HEAP32[$16>>2] = $15; $17 = Math_imul($spec$select, $12)|0; $18 = ((($0)) + 16|0); HEAP32[$18>>2] = $17; _Widget_CalcPosition($0); _TableWidget_UpdateDescTexPos($0); $19 = (_Table_X($0)|0); $20 = (_Table_Width($0)|0); $21 = (($20) + ($19))|0; $22 = ((($0)) + 1616|0); HEAP32[$22>>2] = $21; $23 = (_Table_Y($0)|0); $24 = ((($0)) + 1620|0); HEAP32[$24>>2] = $23; $25 = (_Table_Height($0)|0); $26 = ((($0)) + 1628|0); HEAP32[$26>>2] = $25; $27 = HEAP32[$9>>2]|0; $28 = ((($0)) + 1648|0); HEAP32[$28>>2] = $27; return; } function _TableWidget_KeyDown($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 56|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(-1); L1: do { if ($4) { $$0 = 0; } else { switch ($1|0) { case 46: case 105: { _TableWidget_ScrollRelative($0,-1); $$0 = 1; break L1; break; } case 47: case 107: { _TableWidget_ScrollRelative($0,1); $$0 = 1; break L1; break; } case 44: case 109: { $5 = ((($0)) + 40|0); $6 = HEAP32[$5>>2]|0; $7 = (0 - ($6))|0; _TableWidget_ScrollRelative($0,$7); $$0 = 1; break L1; break; } case 45: case 103: { $8 = ((($0)) + 40|0); $9 = HEAP32[$8>>2]|0; _TableWidget_ScrollRelative($0,$9); $$0 = 1; break L1; break; } default: { $$0 = 0; break L1; } } } } while(0); return ($$0|0); } function _TableWidget_MouseScroll($0,$1) { $0 = $0|0; $1 = +$1; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$store$select = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (_Table_X($0)|0); $3 = (_Table_Y($0)|0); $4 = (_Table_Width($0)|0); $5 = ((($0)) + 1612|0); $6 = ((($0)) + 1624|0); $7 = HEAP32[$6>>2]|0; $8 = (($7) + ($4))|0; $9 = (_Table_Height($0)|0); $10 = (_Gui_ContainsPointers($2,$3,$8,$9)|0); $11 = $10&255; $12 = ($11<<24>>24)==(0); if ($12) { $$0 = 0; return ($$0|0); } $13 = ((($0)) + 1652|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$5>>2]|0; $16 = ((($15)) + 20|0); $17 = HEAP32[$16>>2]|0; (FUNCTION_TABLE_iid[$17 & 15]($5,$1)|0); $18 = ((($0)) + 56|0); $19 = HEAP32[$18>>2]|0; $20 = ($19|0)==(-1); if ($20) { $$0 = 1; return ($$0|0); } $21 = HEAP32[$13>>2]|0; $22 = (($21) - ($14))|0; $23 = ((($0)) + 40|0); $24 = HEAP32[$23>>2]|0; $25 = Math_imul($22, $24)|0; $26 = (($25) + ($19))|0; $27 = ((($0)) + 36|0); $28 = HEAP32[$27>>2]|0; $29 = ($26|0)<($28|0); $spec$store$select = $29 ? $26 : -1; HEAP32[$18>>2] = $spec$store$select; _TableWidget_RecreateDescTex($0); $$0 = 1; return ($$0|0); } function _TableWidget_PointerDown($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ((($0)) + 72|0); HEAP8[$4>>0] = 0; $5 = ((($0)) + 1612|0); $6 = HEAP32[$5>>2]|0; $7 = ((($6)) + 24|0); $8 = HEAP32[$7>>2]|0; $9 = (FUNCTION_TABLE_iiiii[$8 & 63]($5,$1,$2,$3)|0); $10 = ($9|0)==(0); if (!($10)) { $$0 = 1; return ($$0|0); } $11 = ((($0)) + 56|0); $12 = HEAP32[$11>>2]|0; $13 = ($12|0)==(-1); if (!($13)) { $14 = ((($0)) + 74|0); $15 = (($14) + ($12<<1)|0); $16 = HEAP16[$15>>1]|0; $17 = ($16<<16>>16)==(0); if (!($17)) { _Inventory_SetSelectedBlock($16); HEAP8[$4>>0] = 1; $$0 = 1; return ($$0|0); } } $18 = (_Table_X($0)|0); $19 = (_Table_Y($0)|0); $20 = (_Table_Width($0)|0); $21 = (_Table_Height($0)|0); $22 = (_Gui_Contains($18,$19,$20,$21,$2,$3)|0); $23 = ($22|0)!=(0); $$ = $23&1; $$0 = $$; return ($$0|0); } function _TableWidget_PointerUp($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ((($0)) + 1612|0); $5 = HEAP32[$4>>2]|0; $6 = ((($5)) + 28|0); $7 = HEAP32[$6>>2]|0; $8 = (FUNCTION_TABLE_iiiii[$7 & 63]($4,$1,$2,$3)|0); return ($8|0); } function _TableWidget_PointerMove($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$043 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $4 = sp + 4|0; $5 = sp; $6 = ((($0)) + 1612|0); $7 = HEAP32[$6>>2]|0; $8 = ((($7)) + 32|0); $9 = HEAP32[$8>>2]|0; $10 = (FUNCTION_TABLE_iiiii[$9 & 63]($6,$1,$2,$3)|0); $11 = ($10|0)==(0); if (!($11)) { STACKTOP = sp;return 1; } $12 = ((($0)) + 1696|0); $13 = HEAP32[$12>>2]|0; $14 = ($13|0)==($2|0); if ($14) { $15 = ((($0)) + 1700|0); $16 = HEAP32[$15>>2]|0; $17 = ($16|0)==($3|0); if ($17) { STACKTOP = sp;return 1; } } HEAP32[$12>>2] = $2; $18 = ((($0)) + 1700|0); HEAP32[$18>>2] = $3; $19 = ((($0)) + 56|0); HEAP32[$19>>2] = -1; $20 = ((($0)) + 60|0); $21 = HEAP32[$20>>2]|0; $22 = $21 << 3; $23 = ((($0)) + 4|0); $24 = HEAP32[$23>>2]|0; $25 = ((($0)) + 8|0); $26 = HEAP32[$25>>2]|0; $27 = (($26) + 3)|0; $28 = ((($0)) + 12|0); $29 = HEAP32[$28>>2]|0; $30 = (($22) + -6)|0; $31 = (_Gui_Contains($24,$27,$29,$30,$2,$3)|0); $32 = ($31|0)==(0); L8: do { if (!($32)) { $33 = ((($0)) + 36|0); $34 = HEAP32[$33>>2]|0; $35 = ($34|0)>(0); if ($35) { $$043 = 0; while(1) { (_TableWidget_GetCoords($0,$$043,$4,$5)|0); $36 = HEAP32[$4>>2]|0; $37 = HEAP32[$5>>2]|0; $38 = (_Gui_Contains($36,$37,$21,$21,$2,$3)|0); $39 = ($38|0)==(0); if (!($39)) { break; } $40 = (($$043) + 1)|0; $41 = HEAP32[$33>>2]|0; $42 = ($40|0)<($41|0); if ($42) { $$043 = $40; } else { break L8; } } HEAP32[$19>>2] = $$043; } } } while(0); _TableWidget_RecreateDescTex($0); STACKTOP = sp;return 1; } function _TableWidget_GetCoords($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ((($0)) + 40|0); $5 = HEAP32[$4>>2]|0; $6 = (($1|0) / ($5|0))&-1; $7 = Math_imul($6, $5)|0; $8 = (($1) - ($7))|0; $9 = ((($0)) + 1652|0); $10 = HEAP32[$9>>2]|0; $11 = (($6) - ($10))|0; $12 = ((($0)) + 4|0); $13 = HEAP32[$12>>2]|0; $14 = ((($0)) + 60|0); $15 = HEAP32[$14>>2]|0; $16 = Math_imul($15, $8)|0; $17 = (($16) + ($13))|0; HEAP32[$2>>2] = $17; $18 = ((($0)) + 8|0); $19 = HEAP32[$18>>2]|0; $20 = HEAP32[$14>>2]|0; $21 = Math_imul($20, $11)|0; $22 = (($19) + 3)|0; $23 = (($22) + ($21))|0; HEAP32[$3>>2] = $23; $24 = ($11>>>0)<(8); $25 = $24&1; return ($25|0); } function _Table_X($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; $3 = (($2) + -15)|0; return ($3|0); } function _Table_Y($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 8|0); $2 = HEAP32[$1>>2]|0; $3 = (($2) + -35)|0; return ($3|0); } function _Table_Width($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 40|0); $2 = HEAP32[$1>>2]|0; $3 = ((($0)) + 60|0); $4 = HEAP32[$3>>2]|0; $5 = Math_imul($4, $2)|0; $6 = (($5) + 30)|0; return ($6|0); } function _Table_Height($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 44|0); $2 = HEAP32[$1>>2]|0; $3 = ($2|0)<(8); $spec$select = $3 ? $2 : 8; $4 = ((($0)) + 60|0); $5 = HEAP32[$4>>2]|0; $6 = Math_imul($spec$select, $5)|0; $7 = (($6) + 50)|0; return ($7|0); } function _TableWidget_ScrollRelative($0,$1) { $0 = $0|0; $1 = $1|0; var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0; var sp = 0; sp = STACKTOP; $2 = ((($0)) + 56|0); $3 = HEAP32[$2>>2]|0; $4 = (($3) + ($1))|0; $5 = ($4|0)<(0); $spec$select = $5 ? $3 : $4; $6 = ((($0)) + 36|0); $7 = HEAP32[$6>>2]|0; $8 = ($spec$select|0)<($7|0); $9 = $8 ? 0 : $1; $$1 = (($spec$select) - ($9))|0; HEAP32[$2>>2] = $$1; $10 = ((($0)) + 40|0); $11 = HEAP32[$10>>2]|0; $12 = (($$1|0) / ($11|0))&-1; $13 = (($3|0) / ($11|0))&-1; $14 = (($12) - ($13))|0; $15 = ((($0)) + 1612|0); $16 = ((($0)) + 1652|0); $17 = HEAP32[$16>>2]|0; $18 = (($14) + ($17))|0; HEAP32[$16>>2] = $18; _ScrollbarWidget_ClampTopRow($15); _TableWidget_RecreateDescTex($0); _TableWidget_MoveCursorToSelected($0); return; } function _TableWidget_MoveCursorToSelected($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp + 4|0; $2 = sp; $3 = ((($0)) + 56|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)==(-1); if ($5) { STACKTOP = sp;return; } (_TableWidget_GetCoords($0,$4,$1,$2)|0); $6 = ((($0)) + 60|0); $7 = HEAP32[$6>>2]|0; $8 = (($7|0) / 2)&-1; $9 = HEAP32[$1>>2]|0; $10 = (($9) + ($8))|0; HEAP32[$1>>2] = $10; $11 = HEAP32[$2>>2]|0; $12 = (($11) + ($8))|0; HEAP32[$2>>2] = $12; STACKTOP = sp;return; } function _TableWidget_SetBlockTo($0,$1) { $0 = $0|0; $1 = $1|0; var $$018 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; $2 = ((($0)) + 56|0); HEAP32[$2>>2] = -1; $3 = ((($0)) + 36|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)>(0); if ($5) { $6 = HEAP32[$3>>2]|0; $$018 = 0; while(1) { $7 = (((($0)) + 74|0) + ($$018<<1)|0); $8 = HEAP16[$7>>1]|0; $9 = ($8<<16>>16)==($1<<16>>16); if ($9) { HEAP32[$2>>2] = $$018; } $10 = (($$018) + 1)|0; $11 = ($10|0)<($6|0); if ($11) { $$018 = $10; } else { break; } } } $12 = ($1<<16>>16)==(0); if ($12) { HEAP32[$2>>2] = -1; } $13 = HEAP32[$2>>2]|0; $14 = ((($0)) + 40|0); $15 = HEAP32[$14>>2]|0; $16 = (($13|0) / ($15|0))&-1; $17 = ((($0)) + 1612|0); $18 = ((($0)) + 1652|0); $19 = (($16) + -7)|0; HEAP32[$18>>2] = $19; _ScrollbarWidget_ClampTopRow($17); _TableWidget_MoveCursorToSelected($0); _TableWidget_RecreateDescTex($0); return; } function _TableWidget_OnInventoryChanged($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; _TableWidget_RecreateBlocks($0); $1 = ((($0)) + 56|0); $2 = HEAP32[$1>>2]|0; $3 = ((($0)) + 36|0); $4 = HEAP32[$3>>2]|0; $5 = ($2|0)<($4|0); if (!($5)) { $6 = (($4) + -1)|0; HEAP32[$1>>2] = $6; } $7 = ((($0)) + 1696|0); HEAP32[$7>>2] = -1; $8 = ((($0)) + 1700|0); HEAP32[$8>>2] = -1; $9 = HEAP32[$1>>2]|0; $10 = ((($0)) + 40|0); $11 = HEAP32[$10>>2]|0; $12 = (($9|0) / ($11|0))&-1; $13 = ((($0)) + 1612|0); $14 = ((($0)) + 1652|0); HEAP32[$14>>2] = $12; _ScrollbarWidget_ClampTopRow($13); _TableWidget_RecreateDescTex($0); return; } function _InputWidget_Clear($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 60|0); HEAP16[$1>>1] = 0; $2 = 1384616; $3 = $2; $4 = HEAP32[$3>>2]|0; $5 = (($2) + 4)|0; $6 = $5; $7 = HEAP32[$6>>2]|0; $8 = ((($0)) + 64|0); $9 = $8; $10 = $9; HEAP32[$10>>2] = $4; $11 = (($9) + 4)|0; $12 = $11; HEAP32[$12>>2] = $7; $13 = ((($0)) + 72|0); $14 = $13; $15 = $14; HEAP32[$15>>2] = $4; $16 = (($14) + 4)|0; $17 = $16; HEAP32[$17>>2] = $7; $18 = ((($0)) + 80|0); $19 = $18; $20 = $19; HEAP32[$20>>2] = $4; $21 = (($19) + 4)|0; $22 = $21; HEAP32[$22>>2] = $7; $23 = ((($0)) + 152|0); HEAP32[$23>>2] = -1; $24 = ((($0)) + 104|0); _Gfx_DeleteTexture($24); return; } function _InputWidget_AppendText($0,$1) { $0 = $0|0; $1 = $1|0; var $$01112 = 0, $$013 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($1)) + 4|0); $3 = HEAP16[$2>>1]|0; $4 = ($3<<16>>16)==(0); if ($4) { return; } $$01112 = 0;$$013 = 0; while(1) { $5 = HEAP32[$1>>2]|0; $6 = (($5) + ($$01112)|0); $7 = HEAP8[$6>>0]|0; $8 = (_InputWidget_TryAppendChar($0,$7)|0); $9 = ($8<<24>>24)!=(0); $10 = $9&1; $spec$select = (($$013) + ($10))|0; $11 = (($$01112) + 1)|0; $12 = HEAP16[$2>>1]|0; $13 = $12&65535; $14 = ($11>>>0)<($13>>>0); if ($14) { $$01112 = $11;$$013 = $spec$select; } else { break; } } $phitmp = ($spec$select|0)==(0); if ($phitmp) { return; } _InputWidget_UpdateText($0); return; } function _InputWidget_TryAppendChar($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 40|0); $3 = HEAP32[$2>>2]|0; $4 = (FUNCTION_TABLE_i[$3 & 3]()|0); $5 = $4 << 6; $6 = ((($0)) + 60|0); $7 = HEAP16[$6>>1]|0; $8 = $7&65535; $9 = ($5|0)>($8|0); if (!($9)) { $$0 = 0; return ($$0|0); } $10 = ((($0)) + 52|0); $11 = HEAP32[$10>>2]|0; $12 = (FUNCTION_TABLE_iii[$11 & 127]($0,$1)|0); $13 = ($12<<24>>24)==(0); if ($13) { $$0 = 0; return ($$0|0); } _InputWidget_AppendChar($0,$1); $$0 = 1; return ($$0|0); } function _InputWidget_UpdateText($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 40|0); $2 = HEAP32[$1>>2]|0; $3 = (FUNCTION_TABLE_i[$2 & 3]()|0); $4 = ($3|0)>(1); if ($4) { $5 = ((($0)) + 56|0); $6 = ((($0)) + 64|0); _WordWrap_Do($5,$6,$3,64); } else { $7 = ((($0)) + 64|0); $8 = ((($0)) + 56|0); $9 = $8; $10 = $9; $11 = HEAP32[$10>>2]|0; $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; $15 = $7; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; $18 = $17; HEAP32[$18>>2] = $14; } $19 = ((($0)) + 104|0); _Gfx_DeleteTexture($19); _InputWidget_CalculateLineSizes($0); $20 = ((($0)) + 44|0); $21 = HEAP32[$20>>2]|0; FUNCTION_TABLE_vi[$21 & 511]($0); _InputWidget_UpdateCaret($0); $22 = ((($0)) + 56|0); _Window_SetKeyboardText($22); return; } function _InputWidget_CalculateLineSizes($0) { $0 = $0|0; var $$113 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; $1 = sp + 80|0; $2 = sp; $3 = sp + 64|0; $4 = ((($0)) + 92|0); $5 = $4; $6 = $5; HEAP32[$6>>2] = 0; $7 = (($5) + 4)|0; $8 = $7; HEAP32[$8>>2] = 0; $9 = ((($0)) + 132|0); $10 = HEAP32[$9>>2]|0; $11 = ((($0)) + 88|0); HEAP32[$11>>2] = $10; $12 = ((($0)) + 36|0); $13 = HEAP32[$12>>2]|0; _DrawTextArgs_MakeEmpty($3,$13,1); HEAP32[$1>>2] = $2; $14 = ((($1)) + 4|0); HEAP16[$14>>1] = 0; $15 = ((($1)) + 6|0); HEAP16[$15>>1] = 64; $16 = ((($0)) + 40|0); $17 = HEAP32[$16>>2]|0; $18 = (FUNCTION_TABLE_i[$17 & 3]()|0); $19 = ($18|0)>(0); if (!($19)) { STACKTOP = sp;return; } $$113 = 0; while(1) { HEAP16[$14>>1] = 0; _InputWidget_FormatLine($0,$$113,$1); $20 = $1; $21 = $20; $22 = HEAP32[$21>>2]|0; $23 = (($20) + 4)|0; $24 = $23; $25 = HEAP32[$24>>2]|0; $26 = $3; $27 = $26; HEAP32[$27>>2] = $22; $28 = (($26) + 4)|0; $29 = $28; HEAP32[$29>>2] = $25; $30 = (_Drawer2D_TextWidth($3)|0); $31 = (((($0)) + 88|0) + ($$113<<2)|0); $32 = HEAP32[$31>>2]|0; $33 = (($32) + ($30))|0; HEAP32[$31>>2] = $33; $34 = (($$113) + 1)|0; $35 = HEAP32[$16>>2]|0; $36 = (FUNCTION_TABLE_i[$35 & 3]()|0); $37 = ($34|0)<($36|0); if ($37) { $$113 = $34; } else { break; } } STACKTOP = sp;return; } function _InputWidget_UpdateCaret($0) { $0 = $0|0; var $$0 = 0, $$1 = 0, $$sink = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 112|0; $1 = sp + 96|0; $2 = sp; $3 = sp + 80|0; $4 = sp + 72|0; $5 = sp + 64|0; $6 = ((($0)) + 164|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)==(0); if ($8) { $9 = ((($0)) + 36|0); $10 = HEAP32[$9>>2]|0; _DrawTextArgs_Make($3,18500,$10,1); _Drawer2D_MakeTextTexture($6,$3); $11 = ((($0)) + 172|0); $12 = HEAP16[$11>>1]|0; $13 = $12&65535; $14 = ($13*3)|0; $15 = (2)?($14 >>> 2):($14); $16 = ((($0)) + 140|0); HEAP32[$16>>2] = $15; } $17 = ((($0)) + 40|0); $18 = HEAP32[$17>>2]|0; $19 = (FUNCTION_TABLE_i[$18 & 3]()|0); $20 = $19 << 6; $21 = ((($0)) + 152|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)<($20|0); if (!($23)) { HEAP32[$21>>2] = -1; } $24 = HEAP32[$21>>2]|0; $25 = ((($0)) + 64|0); $26 = HEAP32[$17>>2]|0; $27 = (FUNCTION_TABLE_i[$26 & 3]()|0); $28 = ((($0)) + 144|0); $29 = ((($0)) + 148|0); _WordWrap_GetCoords($24,$25,$27,$28,$29); $30 = ((($0)) + 36|0); $31 = HEAP32[$30>>2]|0; _DrawTextArgs_MakeEmpty($3,$31,0); $32 = ((($0)) + 192|0); HEAPF64[$32>>3] = 0.0; $33 = ((($0)) + 140|0); $34 = HEAP32[$33>>2]|0; $35 = $34&65535; $36 = ((($0)) + 172|0); HEAP16[$36>>1] = $35; $37 = HEAP32[$28>>2]|0; $38 = ($37|0)==(64); if ($38) { $39 = HEAP32[$29>>2]|0; $40 = (((($0)) + 88|0) + ($39<<2)|0); $41 = HEAP32[$40>>2]|0; $$1 = $41; } else { HEAP32[$1>>2] = $2; $42 = ((($1)) + 4|0); HEAP16[$42>>1] = 0; $43 = ((($1)) + 6|0); HEAP16[$43>>1] = 64; $44 = HEAP32[$29>>2]|0; _InputWidget_FormatLine($0,$44,$1); $45 = HEAP32[$28>>2]|0; _String_UNSAFE_Substring($4,$1,0,$45); $46 = $4; $47 = $46; $48 = HEAP32[$47>>2]|0; $49 = (($46) + 4)|0; $50 = $49; $51 = HEAP32[$50>>2]|0; $52 = $3; $53 = $52; HEAP32[$53>>2] = $48; $54 = (($52) + 4)|0; $55 = $54; HEAP32[$55>>2] = $51; $56 = (_Drawer2D_TextWidth($3)|0); $57 = HEAP32[$29>>2]|0; $58 = ($57|0)==(0); if ($58) { $59 = ((($0)) + 132|0); $60 = HEAP32[$59>>2]|0; $61 = (($60) + ($56))|0; $$0 = $61; } else { $$0 = $56; } $62 = HEAP32[$28>>2]|0; $63 = HEAP16[$42>>1]|0; $64 = $63&65535; $65 = ($62|0)<($64|0); if ($65) { _String_UNSAFE_Substring($5,$1,$62,1); $66 = $5; $67 = $66; $68 = HEAP32[$67>>2]|0; $69 = (($66) + 4)|0; $70 = $69; $71 = HEAP32[$70>>2]|0; $72 = $3; $73 = $72; HEAP32[$73>>2] = $68; $74 = (($72) + 4)|0; $75 = $74; HEAP32[$75>>2] = $71; $76 = ((($3)) + 12|0); HEAP8[$76>>0] = 1; $77 = (_Drawer2D_TextWidth($3)|0); $78 = $77&65535; HEAP16[$36>>1] = $78; $$1 = $$0; } else { $$1 = $$0; } } $79 = ((($0)) + 4|0); $80 = HEAP32[$79>>2]|0; $81 = ((($0)) + 137|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = (($80) + ($$1))|0; $85 = (($84) + ($83))|0; $86 = $85&65535; $87 = ((($0)) + 168|0); HEAP16[$87>>1] = $86; $88 = ((($0)) + 110|0); $89 = HEAP16[$88>>1]|0; $90 = $89&65535; $91 = ((($0)) + 156|0); $92 = HEAP32[$91>>2]|0; $93 = (($92) + ($90))|0; $94 = HEAP32[$29>>2]|0; $95 = ((($0)) + 100|0); $96 = HEAP32[$95>>2]|0; $97 = Math_imul($96, $94)|0; $98 = (($93) + ($97))|0; $99 = $98&65535; $100 = ((($0)) + 170|0); HEAP16[$100>>1] = $99; $101 = HEAP32[$28>>2]|0; $102 = (_InputWidget_GetLastCol($0,$101,$94)|0); $103 = ($102<<24>>24)==(0); if ($103) { $107 = (_PackedCol_Scale(-1,0.80000001192092896)|0); $$sink = $107; $108 = ((($0)) + 160|0); HEAP32[$108>>2] = $$sink; STACKTOP = sp;return; } else { $104 = $102&255; $105 = (154320 + ($104<<2)|0); $106 = HEAP32[$105>>2]|0; $$sink = $106; $108 = ((($0)) + 160|0); HEAP32[$108>>2] = $$sink; STACKTOP = sp;return; } } function _InputWidget_FormatLine($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$0 = 0, $$01011 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $3 = sp; $4 = (((($0)) + 64|0) + ($1<<3)|0); $5 = $4; $6 = $5; $7 = HEAP32[$6>>2]|0; $8 = (($5) + 4)|0; $9 = $8; $10 = HEAP32[$9>>2]|0; $11 = $3; $12 = $11; HEAP32[$12>>2] = $7; $13 = (($11) + 4)|0; $14 = $13; HEAP32[$14>>2] = $10; $15 = ((($0)) + 136|0); $16 = HEAP8[$15>>0]|0; $17 = ($16<<24>>24)==(0); if ($17) { _String_AppendString($2,$3); STACKTOP = sp;return; } $18 = ((($3)) + 4|0); $19 = HEAP16[$18>>1]|0; $20 = ($19<<16>>16)==(0); if ($20) { STACKTOP = sp;return; } $$01011 = 0; while(1) { $21 = HEAP32[$3>>2]|0; $22 = (($21) + ($$01011)|0); $23 = HEAP8[$22>>0]|0; $24 = ($23<<24>>24)==(37); if ($24) { $25 = (($$01011) + 1)|0; $26 = (_Drawer2D_ValidColCodeAt($3,$25)|0); $27 = ($26<<24>>24)==(0); $spec$select = $27 ? $23 : 38; $$0 = $spec$select; } else { $$0 = $23; } _String_Append($2,$$0); $28 = (($$01011) + 1)|0; $29 = HEAP16[$18>>1]|0; $30 = $29&65535; $31 = ($28>>>0)<($30>>>0); if ($31) { $$01011 = $28; } else { break; } } STACKTOP = sp;return; } function _InputWidget_GetLastCol($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$0 = 0, $$01013 = 0, $$01112 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $3 = sp + 64|0; $4 = sp; HEAP32[$3>>2] = $4; $5 = ((($3)) + 4|0); HEAP16[$5>>1] = 0; $6 = ((($3)) + 6|0); HEAP16[$6>>1] = 64; $7 = ($2|0)>(-1); if (!($7)) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $$01013 = $2;$$01112 = $1; while(1) { HEAP16[$5>>1] = 0; _InputWidget_FormatLine($0,$$01013,$3); $8 = (_Drawer2D_LastCol($3,$$01112)|0); $9 = ($8<<24>>24)==(0); if (!($9)) { $$0 = $8; label = 7; break; } $10 = ($$01013|0)>(0); if ($10) { $11 = (($$01013) + -1)|0; $12 = (((((($0)) + 64|0) + ($11<<3)|0)) + 4|0); $13 = HEAP16[$12>>1]|0; $14 = $13&65535; $$1 = $14; } else { $$1 = $$01112; } $15 = (($$01013) + -1)|0; $16 = ($$01013|0)>(0); if ($16) { $$01013 = $15;$$01112 = $$1; } else { $$0 = 0; label = 7; break; } } if ((label|0) == 7) { STACKTOP = sp;return ($$0|0); } return (0)|0; } function _InputWidget_AppendChar($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$store$select = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 152|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(-1); $5 = ((($0)) + 56|0); if ($4) { $6 = ((($0)) + 60|0); $7 = HEAP16[$6>>1]|0; $8 = $7&65535; _String_InsertAt($5,$8,$1); return; } else { _String_InsertAt($5,$3,$1); $9 = HEAP32[$2>>2]|0; $10 = (($9) + 1)|0; $11 = ((($0)) + 60|0); $12 = HEAP16[$11>>1]|0; $13 = $12&65535; $14 = ($10|0)<($13|0); $spec$store$select = $14 ? $10 : -1; HEAP32[$2>>2] = $spec$store$select; return; } } function _InputWidget_Append($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (_InputWidget_TryAppendChar($0,$1)|0); $3 = ($2<<24>>24)==(0); if ($3) { return; } _InputWidget_UpdateText($0); return; } function _InputWidget_SetText($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; _InputWidget_Clear($0); _InputWidget_AppendText($0,$1); $2 = ((($0)) + 60|0); $3 = HEAP16[$2>>1]|0; $4 = ($3<<16>>16)==(0); if (!($4)) { return; } $5 = ((($0)) + 56|0); _Window_SetKeyboardText($5); return; } function _MenuInputWidget_Create($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; _InputWidget_Reset($0); HEAP32[$0>>2] = 18508; $5 = (_Display_ScaleX($1)|0); $6 = ((($0)) + 200|0); HEAP32[$6>>2] = $5; $7 = (_Display_ScaleY($2)|0); $8 = ((($0)) + 204|0); HEAP32[$8>>2] = $7; $9 = ((($0)) + 208|0); ;HEAP32[$9>>2]=HEAP32[$4>>2]|0;HEAP32[$9+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$9+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$9+12>>2]=HEAP32[$4+12>>2]|0; $10 = ((($0)) + 136|0); HEAP8[$10>>0] = 0; $11 = ((($0)) + 137|0); HEAP8[$11>>0] = 3; $12 = ((($0)) + 40|0); HEAP32[$12>>2] = 1; $13 = ((($0)) + 44|0); HEAP32[$13>>2] = 399; $14 = ((($0)) + 48|0); HEAP32[$14>>2] = 400; $15 = ((($0)) + 52|0); HEAP32[$15>>2] = 72; $16 = ((($0)) + 224|0); $17 = ((($0)) + 56|0); HEAP32[$17>>2] = $16; $18 = ((($0)) + 60|0); HEAP16[$18>>1] = 0; $19 = ((($0)) + 62|0); HEAP16[$19>>1] = 64; _String_Copy($17,$3); return; } function _InputWidget_Reset($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; _Widget_Reset($0); $1 = ((($0)) + 152|0); HEAP32[$1>>2] = -1; $2 = (_Display_ScaleY(2)|0); $3 = ((($0)) + 156|0); HEAP32[$3>>2] = $2; return; } function _MenuInputWidget_GetMaxLines() { var label = 0, sp = 0; sp = STACKTOP; return 1; } function _MenuInputWidget_RemakeTexture($0) { $0 = $0|0; var $$ = 0, $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 112|0; $1 = sp + 80|0; $2 = sp; $3 = sp + 64|0; $4 = sp + 88|0; $5 = ((($0)) + 56|0); $6 = ((($0)) + 36|0); $7 = HEAP32[$6>>2]|0; _DrawTextArgs_Make($3,$5,$7,0); $8 = (_Drawer2D_TextWidth($3)|0); $9 = ((($0)) + 100|0); $10 = HEAP32[$9>>2]|0; $11 = ((($0)) + 192|0); HEAPF64[$11>>3] = 0.0; HEAP32[$1>>2] = $2; $12 = ((($1)) + 4|0); HEAP16[$12>>1] = 0; $13 = ((($1)) + 6|0); HEAP16[$13>>1] = 64; $14 = ((($0)) + 208|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$15>>2]|0; FUNCTION_TABLE_vii[$16 & 127]($14,$1); $17 = ((($0)) + 200|0); $18 = HEAP32[$17>>2]|0; $19 = ($8|0)>($18|0); $$ = $19 ? $8 : $18; $20 = ((($0)) + 12|0); HEAP32[$20>>2] = $$; $21 = ((($0)) + 204|0); $22 = HEAP32[$21>>2]|0; $23 = ($10|0)>($22|0); $24 = $23 ? $10 : $22; $25 = ((($0)) + 16|0); HEAP32[$25>>2] = $24; _Bitmap_AllocateClearedPow2($4,$$,$24); $26 = ($10|0)<($22|0); if ($26) { $27 = (($24|0) / 2)&-1; $28 = (($10|0) / 2)&-1; $29 = (($27) - ($28))|0; $$0 = $29; } else { $$0 = 0; } $30 = (($$0) + 2)|0; $31 = ((($0)) + 156|0); HEAP32[$31>>2] = $30; _Drawer2D_Clear($4,-937550306,0,0,$$,$24); $32 = ((($0)) + 137|0); $33 = HEAP8[$32>>0]|0; $34 = $33&255; _Drawer2D_DrawText($4,$3,$34,$$0); $35 = $1; $36 = $35; $37 = HEAP32[$36>>2]|0; $38 = (($35) + 4)|0; $39 = $38; $40 = HEAP32[$39>>2]|0; $41 = $3; $42 = $41; HEAP32[$42>>2] = $37; $43 = (($41) + 4)|0; $44 = $43; HEAP32[$44>>2] = $40; $45 = (_Drawer2D_TextWidth($3)|0); $46 = (($$) - ($45))|0; $47 = (($8) + 3)|0; $48 = ($47|0)<($46|0); if ($48) { _Drawer2D_DrawText($4,$3,$46,$$0); } $49 = ((($0)) + 104|0); _Drawer2D_MakeTexture($49,$4,$$,$24); $50 = HEAP32[$4>>2]|0; _Mem_Free($50); $51 = HEAP32[$0>>2]|0; $52 = ((($51)) + 8|0); $53 = HEAP32[$52>>2]|0; FUNCTION_TABLE_vi[$53 & 511]($0); $54 = ((($0)) + 4|0); $55 = HEAP32[$54>>2]|0; $56 = $55&65535; $57 = ((($0)) + 108|0); HEAP16[$57>>1] = $56; $58 = ((($0)) + 8|0); $59 = HEAP32[$58>>2]|0; $60 = $59&65535; $61 = ((($0)) + 110|0); HEAP16[$61>>1] = $60; STACKTOP = sp;return; } function _InputWidget_OnPressedEnter($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; _InputWidget_Clear($0); $1 = ((($0)) + 100|0); $2 = HEAP32[$1>>2]|0; $3 = ((($0)) + 16|0); HEAP32[$3>>2] = $2; $4 = HEAP32[$0>>2]|0; $5 = ((($4)) + 8|0); $6 = HEAP32[$5>>2]|0; FUNCTION_TABLE_vi[$6 & 511]($0); return; } function _MenuInputWidget_AllowedChar($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1<<24>>24)==(38); if ($2) { $$0 = 0; return ($$0|0); } $3 = ((($0)) + 208|0); $4 = HEAP32[$3>>2]|0; $5 = ((($4)) + 4|0); $6 = HEAP32[$5>>2]|0; $7 = (FUNCTION_TABLE_iii[$6 & 127]($3,$1)|0); $8 = ($7<<24>>24)==(0); if ($8) { $$0 = 0; return ($$0|0); } $9 = ((($0)) + 40|0); $10 = HEAP32[$9>>2]|0; $11 = (FUNCTION_TABLE_i[$10 & 3]()|0); $12 = $11 << 6; $13 = ((($0)) + 60|0); $14 = HEAP16[$13>>1]|0; $15 = $14&65535; $16 = ($12|0)==($15|0); if ($16) { $$0 = 0; return ($$0|0); } $17 = ((($0)) + 56|0); _InputWidget_AppendChar($0,$1); $18 = HEAP32[$3>>2]|0; $19 = ((($18)) + 8|0); $20 = HEAP32[$19>>2]|0; $21 = (FUNCTION_TABLE_iii[$20 & 127]($3,$17)|0); _InputWidget_DeleteChar($0); $$0 = $21; return ($$0|0); } function _InputWidget_DeleteChar($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 56|0); $2 = ((($0)) + 60|0); $3 = HEAP16[$2>>1]|0; $4 = ($3<<16>>16)==(0); if ($4) { return; } $5 = ((($0)) + 152|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)==(-1); if ($7) { $8 = $3&65535; $9 = (($8) + -1)|0; _String_DeleteAt($1,$9); return; } $10 = ($6|0)>(0); $11 = (($6) + -1)|0; if (!($10)) { return; } HEAP32[$5>>2] = $11; _String_DeleteAt($1,$11); return; } function _MenuInputWidget_Render($0,$1) { $0 = $0|0; $1 = +$1; var $2 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 104|0); _Texture_Render($2); _InputWidget_RenderCaret($0,$1); return; } function _InputWidget_Free($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 104|0); _Gfx_DeleteTexture($1); $2 = ((($0)) + 164|0); _Gfx_DeleteTexture($2); return; } function _InputWidget_Reposition($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; $3 = ((($0)) + 8|0); $4 = HEAP32[$3>>2]|0; _Widget_CalcPosition($0); $5 = HEAP32[$1>>2]|0; $6 = (($5) - ($2))|0; $7 = ((($0)) + 168|0); $8 = HEAP16[$7>>1]|0; $9 = $8&65535; $10 = (($6) + ($9))|0; $11 = $10&65535; HEAP16[$7>>1] = $11; $12 = HEAP32[$3>>2]|0; $13 = (($12) - ($4))|0; $14 = ((($0)) + 170|0); $15 = HEAP16[$14>>1]|0; $16 = $15&65535; $17 = (($13) + ($16))|0; $18 = $17&65535; HEAP16[$14>>1] = $18; $19 = ((($0)) + 108|0); $20 = HEAP16[$19>>1]|0; $21 = $20&65535; $22 = (($6) + ($21))|0; $23 = $22&65535; HEAP16[$19>>1] = $23; $24 = ((($0)) + 110|0); $25 = HEAP16[$24>>1]|0; $26 = $25&65535; $27 = (($13) + ($26))|0; $28 = $27&65535; HEAP16[$24>>1] = $28; return; } function _InputWidget_KeyDown($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; switch ($1|0) { case 46: { _InputWidget_LeftKey($0); break; } case 47: { _InputWidget_RightKey($0); break; } case 94: { _InputWidget_BackspaceKey($0); break; } case 59: { _InputWidget_DeleteKey($0); break; } case 60: { _InputWidget_HomeKey($0); break; } case 61: { _InputWidget_EndKey($0); break; } default: { $2 = (_InputWidget_OtherKey($0,$1)|0); $3 = ($2<<24>>24)==(0); if ($3) { $$0 = 0; return ($$0|0); } } } $$0 = 1; return ($$0|0); } function _InputWidget_KeyUp($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; return 1; } function _InputWidget_PointerDown($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$046 = 0, $$04757 = 0, $$04856 = 0, $$04954 = 0, $$1 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 112|0; $4 = sp + 96|0; $5 = sp; $6 = sp + 80|0; $7 = sp + 72|0; $8 = sp + 64|0; $9 = ((($0)) + 108|0); $10 = HEAP16[$9>>1]|0; $11 = $10 << 16 >> 16; $12 = (($2) - ($11))|0; $13 = ((($0)) + 110|0); $14 = HEAP16[$13>>1]|0; $15 = $14 << 16 >> 16; $16 = (($3) - ($15))|0; $17 = ((($0)) + 36|0); $18 = HEAP32[$17>>2]|0; _DrawTextArgs_MakeEmpty($6,$18,1); $19 = ((($0)) + 100|0); $20 = HEAP32[$19>>2]|0; HEAP32[$4>>2] = $5; $21 = ((($4)) + 4|0); HEAP16[$21>>1] = 0; $22 = ((($4)) + 6|0); HEAP16[$22>>1] = 64; $23 = ((($0)) + 40|0); $24 = HEAP32[$23>>2]|0; $25 = (FUNCTION_TABLE_i[$24 & 3]()|0); $26 = ($25|0)>(0); L1: do { if ($26) { $27 = ((($0)) + 132|0); $$04757 = 0;$$04856 = 0; L3: while(1) { HEAP16[$21>>1] = 0; _InputWidget_FormatLine($0,$$04856,$4); $28 = HEAP16[$21>>1]|0; $29 = ($28<<16>>16)==(0); if ($29) { $$1 = $$04757; } else { $30 = HEAP16[$21>>1]|0; $31 = ($30<<16>>16)==(0); if ($31) { $$lcssa = 0; } else { $32 = ($$04856|0)==(0); $33 = Math_imul($$04856, $20)|0; $$04954 = 0; while(1) { _String_UNSAFE_Substring($7,$4,0,$$04954); $34 = $7; $35 = $34; $36 = HEAP32[$35>>2]|0; $37 = (($34) + 4)|0; $38 = $37; $39 = HEAP32[$38>>2]|0; $40 = $6; $41 = $40; HEAP32[$41>>2] = $36; $42 = (($40) + 4)|0; $43 = $42; HEAP32[$43>>2] = $39; $44 = (_Drawer2D_TextWidth($6)|0); if ($32) { $45 = HEAP32[$27>>2]|0; $46 = (($45) + ($44))|0; $$046 = $46; } else { $$046 = $44; } _String_UNSAFE_Substring($8,$4,$$04954,1); $47 = $8; $48 = $47; $49 = HEAP32[$48>>2]|0; $50 = (($47) + 4)|0; $51 = $50; $52 = HEAP32[$51>>2]|0; $53 = $6; $54 = $53; HEAP32[$54>>2] = $49; $55 = (($53) + 4)|0; $56 = $55; HEAP32[$56>>2] = $52; $57 = (_Drawer2D_TextWidth($6)|0); $58 = (_Gui_Contains($$046,$33,$57,$20,$12,$16)|0); $59 = ($58|0)==(0); if (!($59)) { break L3; } $62 = (($$04954) + 1)|0; $63 = HEAP16[$21>>1]|0; $64 = $63&65535; $65 = ($62>>>0)<($64>>>0); if ($65) { $$04954 = $62; } else { break; } } $66 = $63&65535; $$lcssa = $66; } $67 = (($$lcssa) + ($$04757))|0; $$1 = $67; } $68 = (($$04856) + 1)|0; $69 = HEAP32[$23>>2]|0; $70 = (FUNCTION_TABLE_i[$69 & 3]()|0); $71 = ($68|0)<($70|0); if ($71) { $$04757 = $$1;$$04856 = $68; } else { break L1; } } $60 = (($$04954) + ($$04757))|0; $61 = ((($0)) + 152|0); HEAP32[$61>>2] = $60; _InputWidget_UpdateCaret($0); STACKTOP = sp;return 1; } } while(0); $72 = ((($0)) + 152|0); HEAP32[$72>>2] = -1; _InputWidget_UpdateCaret($0); STACKTOP = sp;return 1; } function _InputWidget_LeftKey($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[(379622)>>0]|0; $2 = HEAP8[(379623)>>0]|0; $3 = $2 | $1; $4 = ($3<<24>>24)==(0); if (!($4)) { $5 = ((($0)) + 152|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)==(-1); if ($7) { $8 = ((($0)) + 60|0); $9 = HEAP16[$8>>1]|0; $10 = $9&65535; $11 = (($10) + -1)|0; HEAP32[$5>>2] = $11; } $12 = ((($0)) + 56|0); $13 = HEAP32[$5>>2]|0; $14 = (_WordWrap_GetBackLength($12,$13)|0); $15 = HEAP32[$5>>2]|0; $16 = (($15) - ($14))|0; HEAP32[$5>>2] = $16; _InputWidget_UpdateCaret($0); return; } $17 = ((($0)) + 60|0); $18 = HEAP16[$17>>1]|0; $19 = $18&65535; $20 = ($18<<16>>16)==(0); if ($20) { return; } $21 = ((($0)) + 152|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(-1); if ($23) { HEAP32[$21>>2] = $19; } $24 = HEAP32[$21>>2]|0; $25 = (($24) + -1)|0; $26 = ($24|0)<(1); $spec$select = $26 ? 0 : $25; HEAP32[$21>>2] = $spec$select; _InputWidget_UpdateCaret($0); return; } function _InputWidget_RightKey($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; var $7 = 0, $8 = 0, $9 = 0, $spec$store$select = 0, $spec$store$select15 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[(379622)>>0]|0; $2 = HEAP8[(379623)>>0]|0; $3 = $2 | $1; $4 = ($3<<24>>24)==(0); if (!($4)) { $5 = ((($0)) + 56|0); $6 = ((($0)) + 152|0); $7 = HEAP32[$6>>2]|0; $8 = (_WordWrap_GetForwardLength($5,$7)|0); $9 = HEAP32[$6>>2]|0; $10 = (($9) + ($8))|0; $11 = ((($0)) + 60|0); $12 = HEAP16[$11>>1]|0; $13 = $12&65535; $14 = ($10|0)<($13|0); $spec$store$select = $14 ? $10 : -1; HEAP32[$6>>2] = $spec$store$select; _InputWidget_UpdateCaret($0); return; } $15 = ((($0)) + 60|0); $16 = HEAP16[$15>>1]|0; $17 = ($16<<16>>16)==(0); if ($17) { return; } $18 = ((($0)) + 152|0); $19 = HEAP32[$18>>2]|0; $20 = ($19|0)==(-1); $21 = (($19) + 1)|0; if ($20) { return; } $22 = $16&65535; $23 = ($21|0)<($22|0); $spec$store$select15 = $23 ? $21 : -1; HEAP32[$18>>2] = $spec$store$select15; _InputWidget_UpdateCaret($0); return; } function _InputWidget_BackspaceKey($0) { $0 = $0|0; var $$035 = 0, $$lcssa = 0, $$pr = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, $exitcond = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[(379622)>>0]|0; $2 = HEAP8[(379623)>>0]|0; $3 = $2 | $1; $4 = ($3<<24>>24)==(0); if ($4) { $34 = ((($0)) + 60|0); $35 = HEAP16[$34>>1]|0; $36 = ($35<<16>>16)==(0); if ($36) { return; } $37 = ((($0)) + 152|0); $38 = HEAP32[$37>>2]|0; $39 = ($38|0)==(0); if ($39) { return; } _InputWidget_DeleteChar($0); _InputWidget_UpdateText($0); return; } $5 = ((($0)) + 152|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)==(-1); if ($7) { $8 = ((($0)) + 60|0); $9 = HEAP16[$8>>1]|0; $10 = $9&65535; $11 = (($10) + -1)|0; HEAP32[$5>>2] = $11; } $12 = ((($0)) + 56|0); $13 = HEAP32[$5>>2]|0; $14 = (_WordWrap_GetBackLength($12,$13)|0); $15 = ($14|0)==(0); if ($15) { return; } $16 = HEAP32[$5>>2]|0; $17 = (($16) - ($14))|0; $18 = ($17|0)>(0); $spec$select = $18 ? $17 : 0; HEAP32[$5>>2] = $spec$select; $19 = ($14|0)<(0); if ($19) { $$lcssa = $spec$select; } else { $$035 = 0;$20 = $spec$select; while(1) { _String_DeleteAt($12,$20); $21 = (($$035) + 1)|0; $22 = HEAP32[$5>>2]|0; $exitcond = ($$035|0)==($14|0); if ($exitcond) { $$lcssa = $22; break; } else { $$035 = $21;$20 = $22; } } } $23 = ((($0)) + 60|0); $24 = HEAP16[$23>>1]|0; $25 = $24&65535; $26 = ($$lcssa|0)<($25|0); if ($26) { $$pr = HEAP32[$5>>2]|0; $27 = ($$pr|0)==(-1); if ($27) { label = 11; } else { $29 = ($$pr|0)>(-1); if ($29) { $30 = HEAP32[$12>>2]|0; $31 = (($30) + ($$pr)|0); $32 = HEAP8[$31>>0]|0; $33 = ($32<<24>>24)==(32); if (!($33)) { _String_InsertAt($12,$$pr,32); } } } } else { HEAP32[$5>>2] = -1; label = 11; } if ((label|0) == 11) { $28 = ($24<<16>>16)==(0); if (!($28)) { _String_InsertAt($12,$25,32); } } _InputWidget_UpdateText($0); return; } function _InputWidget_DeleteKey($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 56|0); $2 = ((($0)) + 60|0); $3 = HEAP16[$2>>1]|0; $4 = ($3<<16>>16)==(0); if ($4) { return; } $5 = ((($0)) + 152|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)==(-1); if ($7) { return; } _String_DeleteAt($1,$6); $8 = HEAP32[$5>>2]|0; $9 = HEAP16[$2>>1]|0; $10 = $9&65535; $11 = ($8|0)<($10|0); if (!($11)) { HEAP32[$5>>2] = -1; } _InputWidget_UpdateText($0); return; } function _InputWidget_HomeKey($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 60|0); $2 = HEAP16[$1>>1]|0; $3 = ($2<<16>>16)==(0); if ($3) { return; } $4 = ((($0)) + 152|0); HEAP32[$4>>2] = 0; _InputWidget_UpdateCaret($0); return; } function _InputWidget_EndKey($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 152|0); HEAP32[$1>>2] = -1; _InputWidget_UpdateCaret($0); return; } function _InputWidget_OtherKey($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 40|0); $3 = HEAP32[$2>>2]|0; $4 = (FUNCTION_TABLE_i[$3 & 3]()|0); $5 = $4 << 6; $6 = HEAP8[(379622)>>0]|0; $7 = HEAP8[(379623)>>0]|0; $8 = $7 | $6; $9 = ($8<<24>>24)==(0); if ($9) { $$0 = 0; return ($$0|0); } switch ($1|0) { case 86: { $10 = ((($0)) + 60|0); $11 = HEAP16[$10>>1]|0; $12 = $11&65535; $13 = ($5|0)>($12|0); if (!($13)) { $$0 = 0; return ($$0|0); } _Clipboard_RequestText(117,$0); $$0 = 1; return ($$0|0); break; } case 67: { $14 = ((($0)) + 60|0); $15 = HEAP16[$14>>1]|0; $16 = ($15<<16>>16)==(0); if ($16) { $$0 = 1; return ($$0|0); } $17 = ((($0)) + 56|0); _Clipboard_SetText($17); $$0 = 1; return ($$0|0); break; } default: { $$0 = 0; return ($$0|0); } } return (0)|0; } function _InputWidget_CopyFromClipboard($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; _InputWidget_AppendText($1,$0); return; } function _InputWidget_RenderCaret($0,$1) { $0 = $0|0; $1 = +$1; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 138|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)==(0); if ($4) { return; } $5 = ((($0)) + 192|0); $6 = +HEAPF64[$5>>3]; $7 = $6 + $1; HEAPF64[$5>>3] = $7; $8 = $7; $9 = (+_Math_Mod1($8)); $10 = $9 < 0.5; if (!($10)) { return; } $11 = ((($0)) + 164|0); $12 = ((($0)) + 160|0); $13 = HEAP32[$12>>2]|0; _Texture_RenderShaded($11,$13); return; } function _MenuInputWidget_SetFont($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 36|0); HEAP32[$2>>2] = $1; $3 = (_Drawer2D_FontHeight($1,0)|0); $4 = ((($0)) + 100|0); HEAP32[$4>>2] = $3; _InputWidget_UpdateText($0); return; } function _ChatInputWidget_Create($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var label = 0, sp = 0; sp = STACKTOP; _InputWidget_Reset($0); $1 = HEAP32[(1235884)>>2]|0; $2 = ((($0)) + 200|0); HEAP32[$2>>2] = $1; HEAP32[$0>>2] = 18552; $3 = HEAP8[1408229]|0; $4 = ($3<<24>>24)==(0); $5 = $4&1; $6 = ((($0)) + 136|0); HEAP8[$6>>0] = $5; $7 = ((($0)) + 138|0); HEAP8[$7>>0] = 1; $8 = ((($0)) + 137|0); HEAP8[$8>>0] = 5; $9 = ((($0)) + 40|0); HEAP32[$9>>2] = 2; $10 = ((($0)) + 44|0); HEAP32[$10>>2] = 401; $11 = ((($0)) + 48|0); HEAP32[$11>>2] = 402; $12 = ((($0)) + 52|0); HEAP32[$12>>2] = 73; $13 = ((($0)) + 212|0); $14 = ((($0)) + 56|0); HEAP32[$14>>2] = $13; $15 = ((($0)) + 60|0); HEAP16[$15>>1] = 0; $16 = ((($0)) + 62|0); HEAP16[$16>>1] = 192; $17 = ((($0)) + 404|0); $18 = ((($0)) + 204|0); HEAP32[$18>>2] = $17; $19 = ((($0)) + 208|0); HEAP16[$19>>1] = 0; $20 = ((($0)) + 210|0); HEAP16[$20>>1] = 192; return; } function _ChatInputWidget_GetMaxLines() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP8[1408229]|0; $1 = ($0<<24>>24)==(0); $2 = HEAP8[(1384584)>>0]|0; $3 = ($2<<24>>24)!=(0); $4 = $1 & $3; $5 = $4 ? 3 : 1; return ($5|0); } function _ChatInputWidget_RemakeTexture($0) { $0 = $0|0; var $$062$ = 0, $$062$lcssa = 0, $$06271 = 0, $$06370 = 0, $$065$lcssa = 0, $$065$lcssa76 = 0, $$065$lcssa77 = 0, $$06569 = 0, $$1 = 0, $$166 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0; var $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 112|0; $1 = sp + 88|0; $2 = sp; $3 = sp + 72|0; $4 = sp + 96|0; $5 = ((($0)) + 64|0); $6 = ((($0)) + 40|0); $7 = HEAP32[$6>>2]|0; $8 = (FUNCTION_TABLE_i[$7 & 3]()|0); $9 = ($8|0)>(0); if ($9) { $10 = ((($0)) + 100|0); $11 = ((($0)) + 88|0); $$06271 = 0;$$06370 = 0;$$06569 = 0; while(1) { $12 = (((($5) + ($$06370<<3)|0)) + 4|0); $13 = HEAP16[$12>>1]|0; $14 = ($13<<16>>16)==(0); if ($14) { $$062$lcssa = $$06271;$$065$lcssa = $$06569; break; } $15 = HEAP32[$10>>2]|0; $16 = (($15) + ($$06569))|0; $17 = (($11) + ($$06370<<2)|0); $18 = HEAP32[$17>>2]|0; $19 = ($$06271|0)>($18|0); $$062$ = $19 ? $$06271 : $18; $20 = (($$06370) + 1)|0; $21 = HEAP32[$6>>2]|0; $22 = (FUNCTION_TABLE_i[$21 & 3]()|0); $23 = ($20|0)<($22|0); if ($23) { $$06271 = $$062$;$$06370 = $20;$$06569 = $16; } else { $$062$lcssa = $$062$;$$065$lcssa = $16; break; } } $24 = ($$062$lcssa|0)==(0); if ($24) { $$065$lcssa77 = $$065$lcssa; label = 6; } else { $$065$lcssa76 = $$065$lcssa;$$1 = $$062$lcssa; } } else { $$065$lcssa77 = 0; label = 6; } if ((label|0) == 6) { $25 = ((($0)) + 132|0); $26 = HEAP32[$25>>2]|0; $$065$lcssa76 = $$065$lcssa77;$$1 = $26; } $27 = ($$065$lcssa76|0)==(0); if ($27) { $28 = ((($0)) + 100|0); $29 = HEAP32[$28>>2]|0; $$166 = $29; } else { $$166 = $$065$lcssa76; } _Bitmap_AllocateClearedPow2($4,$$1,$$166); $30 = ((($0)) + 36|0); $31 = HEAP32[$30>>2]|0; _DrawTextArgs_Make($3,18596,$31,1); _Drawer2D_DrawText($4,$3,0,0); HEAP32[$1>>2] = $2; $32 = ((($1)) + 4|0); HEAP16[$32>>1] = 0; $33 = ((($1)) + 6|0); HEAP16[$33>>1] = 66; $34 = ((($0)) + 132|0); $35 = ((($0)) + 100|0); $36 = ((($0)) + 68|0); $37 = HEAP16[$36>>1]|0; $38 = ($37<<16>>16)==(0); if (!($38)) { HEAP16[$32>>1] = 0; $39 = (_InputWidget_GetLastCol($0,0,0)|0); $40 = (_Drawer2D_IsWhiteCol($39)|0); $41 = ($40<<24>>24)==(0); if ($41) { _String_Append($1,38); _String_Append($1,$39); } _InputWidget_FormatLine($0,0,$1); $42 = $1; $43 = $42; $44 = HEAP32[$43>>2]|0; $45 = (($42) + 4)|0; $46 = $45; $47 = HEAP32[$46>>2]|0; $48 = $3; $49 = $48; HEAP32[$49>>2] = $44; $50 = (($48) + 4)|0; $51 = $50; HEAP32[$51>>2] = $47; $52 = HEAP32[$34>>2]|0; _Drawer2D_DrawText($4,$3,$52,0); $53 = HEAP32[$35>>2]|0; $54 = ((($0)) + 76|0); $55 = HEAP16[$54>>1]|0; $56 = ($55<<16>>16)==(0); if (!($56)) { HEAP16[$32>>1] = 0; $77 = (_InputWidget_GetLastCol($0,0,1)|0); $78 = (_Drawer2D_IsWhiteCol($77)|0); $79 = ($78<<24>>24)==(0); if ($79) { _String_Append($1,38); _String_Append($1,$77); } _InputWidget_FormatLine($0,1,$1); $80 = $1; $81 = $80; $82 = HEAP32[$81>>2]|0; $83 = (($80) + 4)|0; $84 = $83; $85 = HEAP32[$84>>2]|0; $86 = $3; $87 = $86; HEAP32[$87>>2] = $82; $88 = (($86) + 4)|0; $89 = $88; HEAP32[$89>>2] = $85; _Drawer2D_DrawText($4,$3,0,$53); $90 = HEAP32[$35>>2]|0; $91 = (($90) + ($53))|0; $92 = ((($0)) + 84|0); $93 = HEAP16[$92>>1]|0; $94 = ($93<<16>>16)==(0); if (!($94)) { HEAP16[$32>>1] = 0; $95 = (_InputWidget_GetLastCol($0,0,2)|0); $96 = (_Drawer2D_IsWhiteCol($95)|0); $97 = ($96<<24>>24)==(0); if ($97) { _String_Append($1,38); _String_Append($1,$95); } _InputWidget_FormatLine($0,2,$1); $98 = $1; $99 = $98; $100 = HEAP32[$99>>2]|0; $101 = (($98) + 4)|0; $102 = $101; $103 = HEAP32[$102>>2]|0; $104 = $3; $105 = $104; HEAP32[$105>>2] = $100; $106 = (($104) + 4)|0; $107 = $106; HEAP32[$107>>2] = $103; _Drawer2D_DrawText($4,$3,0,$91); } } } $57 = ((($0)) + 104|0); _Drawer2D_MakeTexture($57,$4,$$1,$$166); $58 = HEAP32[$4>>2]|0; _Mem_Free($58); $59 = ((($0)) + 192|0); HEAPF64[$59>>3] = 0.0; $60 = ((($0)) + 12|0); HEAP32[$60>>2] = $$1; $61 = ((($0)) + 16|0); HEAP32[$61>>2] = $$166; $62 = HEAP32[$0>>2]|0; $63 = ((($62)) + 8|0); $64 = HEAP32[$63>>2]|0; FUNCTION_TABLE_vi[$64 & 511]($0); $65 = ((($0)) + 4|0); $66 = HEAP32[$65>>2]|0; $67 = ((($0)) + 137|0); $68 = HEAP8[$67>>0]|0; $69 = $68&255; $70 = (($66) + ($69))|0; $71 = $70&65535; $72 = ((($0)) + 108|0); HEAP16[$72>>1] = $71; $73 = ((($0)) + 8|0); $74 = HEAP32[$73>>2]|0; $75 = $74&65535; $76 = ((($0)) + 110|0); HEAP16[$76>>1] = $75; STACKTOP = sp;return; } function _ChatInputWidget_OnPressedEnter($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = ((($0)) + 56|0); $3 = $2; $4 = $3; $5 = HEAP32[$4>>2]|0; $6 = (($3) + 4)|0; $7 = $6; $8 = HEAP32[$7>>2]|0; $9 = $1; $10 = $9; HEAP32[$10>>2] = $5; $11 = (($9) + 4)|0; $12 = $11; HEAP32[$12>>2] = $8; _String_UNSAFE_TrimEnd($1); $13 = ((($1)) + 4|0); $14 = HEAP16[$13>>1]|0; $15 = ($14<<16>>16)==(0); if (!($15)) { _Chat_Send($1,1); } $16 = ((($0)) + 208|0); HEAP16[$16>>1] = 0; $17 = HEAP32[(1235884)>>2]|0; $18 = ((($0)) + 200|0); HEAP32[$18>>2] = $17; _Chat_AddOf(1384616,257); _InputWidget_OnPressedEnter($0); STACKTOP = sp;return; } function _InputWidget_AllowedChar($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP8[(1384585)>>0]|0; $3 = ($2<<24>>24)==(0); if (!($3)) { $8 = 1; return ($8|0); } $4 = $1 << 24 >> 24; $5 = (_Convert_CP437ToUnicode($1)|0); $6 = $5&65535; $7 = ($6|0)==($4|0); $phitmp = $7&1; $8 = $phitmp; return ($8|0); } function _ChatInputWidget_Render($0,$1) { $0 = $0|0; $1 = +$1; var $$ = 0, $$0 = 0, $$04246 = 0, $$04345 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0; var sp = 0; sp = STACKTOP; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; $6 = ((($0)) + 64|0); $7 = ((($0)) + 148|0); $8 = ((($0)) + 144|0); $9 = ((($0)) + 88|0); $10 = ((($0)) + 88|0); $11 = ((($0)) + 172|0); $12 = ((($0)) + 152|0); $13 = ((($0)) + 88|0); $14 = ((($0)) + 137|0); $15 = ((($0)) + 100|0); $16 = $3 << 2; $$04246 = 0;$$04345 = $5; while(1) { $17 = ($$04246|0)==(0); if (!($17)) { $18 = (((($6) + ($$04246<<3)|0)) + 4|0); $19 = HEAP16[$18>>1]|0; $20 = ($19<<16>>16)==(0); if ($20) { label = 13; break; } } $21 = HEAP32[$7>>2]|0; $22 = ($21|0)==($$04246|0); do { if ($22) { $25 = HEAP32[$8>>2]|0; $26 = ($25|0)==(64); if ($26) { $27 = (($10) + ($$04246<<2)|0); $28 = HEAP32[$27>>2]|0; $55 = $28; } else { $29 = HEAP32[$12>>2]|0; $30 = ($29|0)==(-1); $31 = (($13) + ($$04246<<2)|0); $32 = HEAP32[$31>>2]|0; if ($30) { $55 = $32; } else { $36 = $32;$37 = 0; break; } } $33 = HEAP16[$11>>1]|0; $34 = $33&65535; $36 = $55;$37 = $34; } else { $23 = (($9) + ($$04246<<2)|0); $24 = HEAP32[$23>>2]|0; $36 = $24;$37 = 0; } } while(0); $35 = (($37) + ($36))|0; $38 = HEAP8[1408229]|0; $39 = ($38<<24>>24)==(0); $40 = HEAP8[1408233]|0; $41 = ($40<<24>>24)!=(0); $or$cond = $39 | $41; if ($or$cond) { $$0 = $35; } else { $42 = HEAP32[351858]|0; $43 = (($42) - ($16))|0; $44 = ($35|0)>($43|0); $$ = $44 ? $35 : $43; $$0 = $$; } $45 = HEAP8[$14>>0]|0; $46 = $45&255; $47 = $46 << 1; $48 = (($47) + ($$0))|0; $49 = HEAP32[$15>>2]|0; _Gfx_Draw2DFlat($3,$$04345,$48,$49,2130706432); $50 = HEAP32[$15>>2]|0; $51 = (($50) + ($$04345))|0; $52 = (($$04246) + 1)|0; $53 = ($52>>>0)<(3); if ($53) { $$04246 = $52;$$04345 = $51; } else { label = 13; break; } } if ((label|0) == 13) { $54 = ((($0)) + 104|0); _Texture_Render($54); _InputWidget_RenderCaret($0,$1); return; } } function _ChatInputWidget_KeyDown($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; switch ($1|0) { case 95: { _ChatInputWidget_TabKey($0); $$0 = 1; break; } case 44: { _ChatInputWidget_UpKey($0); $$0 = 1; break; } case 45: { _ChatInputWidget_DownKey($0); $$0 = 1; break; } default: { $2 = (_InputWidget_KeyDown($0,$1)|0); $$0 = $2; } } return ($$0|0); } function _ChatInputWidget_TabKey($0) { $0 = $0|0; var $$0$lcssa = 0, $$04553 = 0, $$04659 = 0, $$060 = 0, $$154 = 0, $$pr = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; var $111 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond65 = 0, $or$cond = 0; var $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 384|0; $1 = sp + 368|0; $2 = sp + 256|0; $3 = sp; $4 = sp + 352|0; $5 = sp + 344|0; $6 = sp + 360|0; $7 = sp + 336|0; $8 = sp + 328|0; $9 = sp + 320|0; $10 = ((($0)) + 152|0); $11 = HEAP32[$10>>2]|0; $12 = ($11|0)==(-1); if ($12) { $13 = ((($0)) + 60|0); $14 = HEAP16[$13>>1]|0; $15 = $14&65535; $16 = (($15) + -1)|0; $19 = $16; } else { $19 = $11; } $17 = ((($0)) + 56|0); $18 = HEAP32[$17>>2]|0; $20 = ($19|0)>(-1); if (!($20)) { STACKTOP = sp;return; } $$060 = $19; while(1) { $21 = (($18) + ($$060)|0); $22 = HEAP8[$21>>0]|0; $23 = (_ChatInputWidget_IsNameChar($22)|0); $24 = ($23<<24>>24)==(0); if ($24) { $$0$lcssa = $$060; break; } $25 = (($$060) + -1)|0; $26 = ($$060|0)>(0); if ($26) { $$060 = $25; } else { $$0$lcssa = $25; break; } } $27 = (($$0$lcssa) + 1)|0; $28 = ($19|0)>(-1); $29 = ($$0$lcssa|0)<($19|0); $or$cond = $28 & $29; if (!($or$cond)) { STACKTOP = sp;return; } $30 = (($19) + 1)|0; $31 = (($30) - ($27))|0; _String_UNSAFE_Substring($4,$17,$27,$31); _Chat_AddOf(1384616,257); HEAP32[$6>>2] = 0; $$04659 = 0; while(1) { $32 = (1242992 + ($$04659<<1)|0); $33 = HEAP16[$32>>1]|0; $34 = ($33<<16>>16)==(0); if (!($34)) { $35 = $33&65535; $36 = (($35) + -3)|0; _StringsBuffer_UNSAFE_Get($7,(1243760),$36); $37 = $7; $38 = $37; $39 = HEAP32[$38>>2]|0; $40 = (($37) + 4)|0; $41 = $40; $42 = HEAP32[$41>>2]|0; $43 = $5; $44 = $43; HEAP32[$44>>2] = $39; $45 = (($43) + 4)|0; $46 = $45; HEAP32[$46>>2] = $42; $47 = (_String_CaselessContains($5,$4)|0); $48 = ($47|0)==(0); if (!($48)) { $49 = $$04659&255; $50 = HEAP32[$6>>2]|0; $51 = (($50) + 1)|0; HEAP32[$6>>2] = $51; $52 = (($3) + ($50)|0); HEAP8[$52>>0] = $49; } } $53 = (($$04659) + 1)|0; $exitcond65 = ($53|0)==(256); if ($exitcond65) { break; } else { $$04659 = $53; } } $54 = HEAP32[$6>>2]|0; $55 = ($54|0)==(1); if ($55) { $56 = HEAP32[$10>>2]|0; $57 = ($56|0)==(-1); $spec$select = $57 ? $30 : $19; $58 = (($spec$select) - ($27))|0; $59 = ($58|0)>(0); if ($59) { $$04553 = 0; while(1) { _String_DeleteAt($17,$27); $60 = (($$04553) + 1)|0; $exitcond = ($60|0)==($58|0); if ($exitcond) { break; } else { $$04553 = $60; } } $$pr = HEAP32[$10>>2]|0; $61 = $$pr; } else { $61 = $56; } $62 = ($61|0)==(-1); if (!($62)) { $63 = (($61) - ($58))|0; HEAP32[$10>>2] = $63; } $64 = HEAP8[$3>>0]|0; $65 = $64&255; $66 = (1242992 + ($65<<1)|0); $67 = HEAP16[$66>>1]|0; $68 = $67&65535; $69 = (($68) + -3)|0; _StringsBuffer_UNSAFE_Get($8,(1243760),$69); $70 = $8; $71 = $70; $72 = HEAP32[$71>>2]|0; $73 = (($70) + 4)|0; $74 = $73; $75 = HEAP32[$74>>2]|0; $76 = $5; $77 = $76; HEAP32[$77>>2] = $72; $78 = (($76) + 4)|0; $79 = $78; HEAP32[$79>>2] = $75; _InputWidget_AppendText($0,$5); STACKTOP = sp;return; } else { $80 = ($54|0)>(1); if (!($80)) { STACKTOP = sp;return; } HEAP32[$1>>2] = $2; $81 = ((($1)) + 4|0); HEAP16[$81>>1] = 0; $82 = ((($1)) + 6|0); HEAP16[$82>>1] = 64; _String_Format1($1,38705,$6); $83 = HEAP32[$6>>2]|0; $84 = ($83|0)>(0); L37: do { if ($84) { $85 = ((($5)) + 4|0); $$154 = 0; while(1) { $86 = (($3) + ($$154)|0); $87 = HEAP8[$86>>0]|0; $88 = $87&255; $89 = (1242992 + ($88<<1)|0); $90 = HEAP16[$89>>1]|0; $91 = $90&65535; $92 = (($91) + -3)|0; _StringsBuffer_UNSAFE_Get($9,(1243760),$92); $93 = $9; $94 = $93; $95 = HEAP32[$94>>2]|0; $96 = (($93) + 4)|0; $97 = $96; $98 = HEAP32[$97>>2]|0; $99 = $5; $100 = $99; HEAP32[$100>>2] = $95; $101 = (($99) + 4)|0; $102 = $101; HEAP32[$102>>2] = $98; $103 = HEAP16[$81>>1]|0; $104 = $103&65535; $105 = HEAP16[$85>>1]|0; $106 = $105&65535; $107 = (($106) + ($104))|0; $108 = ($107>>>0)>(63); if ($108) { break L37; } _String_AppendString($1,$5); _String_Append($1,32); $109 = (($$154) + 1)|0; $110 = HEAP32[$6>>2]|0; $111 = ($109|0)<($110|0); if ($111) { $$154 = $109; } else { break; } } } } while(0); _Chat_AddOf($1,257); STACKTOP = sp;return; } } function _ChatInputWidget_UpKey($0) { $0 = $0|0; var $$pr = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = HEAP8[(379622)>>0]|0; $3 = HEAP8[(379623)>>0]|0; $4 = $3 | $2; $5 = ($4<<24>>24)==(0); if (!($5)) { $6 = ((($0)) + 152|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)==(-1); if ($8) { $9 = ((($0)) + 60|0); $10 = HEAP16[$9>>1]|0; $11 = $10&65535; $12 = $11; } else { $12 = $7; } $13 = ($12|0)<(64); if ($13) { STACKTOP = sp;return; } $14 = (($12) + -64)|0; HEAP32[$6>>2] = $14; _InputWidget_UpdateCaret($0); STACKTOP = sp;return; } $15 = ((($0)) + 200|0); $16 = HEAP32[$15>>2]|0; $17 = HEAP32[(1235884)>>2]|0; $18 = ($16|0)==($17|0); if ($18) { $19 = ((($0)) + 204|0); $20 = ((($0)) + 56|0); _String_Copy($19,$20); $$pr = HEAP32[(1235884)>>2]|0; $21 = $$pr; } else { $21 = $17; } $22 = ($21|0)==(0); if ($22) { STACKTOP = sp;return; } $23 = HEAP32[$15>>2]|0; $24 = (($23) + -1)|0; HEAP32[$15>>2] = $24; $25 = ((($0)) + 56|0); $26 = ((($0)) + 60|0); HEAP16[$26>>1] = 0; $27 = ($23|0)<(1); if ($27) { HEAP32[$15>>2] = 0; } $28 = HEAP32[$15>>2]|0; _StringsBuffer_UNSAFE_Get($1,1235876,$28); _String_AppendString($25,$1); $29 = ((($0)) + 152|0); HEAP32[$29>>2] = -1; _InputWidget_UpdateText($0); STACKTOP = sp;return; } function _ChatInputWidget_DownKey($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; var $7 = 0, $8 = 0, $9 = 0, $spec$store$select = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = HEAP8[(379622)>>0]|0; $3 = HEAP8[(379623)>>0]|0; $4 = $3 | $2; $5 = ($4<<24>>24)==(0); if (!($5)) { $6 = ((($0)) + 152|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)==(-1); if ($8) { STACKTOP = sp;return; } $9 = (($7) + 64)|0; $10 = ((($0)) + 60|0); $11 = HEAP16[$10>>1]|0; $12 = $11&65535; $13 = ($9|0)<($12|0); $spec$store$select = $13 ? $9 : -1; HEAP32[$6>>2] = $spec$store$select; _InputWidget_UpdateCaret($0); STACKTOP = sp;return; } $14 = HEAP32[(1235884)>>2]|0; $15 = ($14|0)==(0); if ($15) { STACKTOP = sp;return; } $16 = ((($0)) + 200|0); $17 = HEAP32[$16>>2]|0; $18 = (($17) + 1)|0; HEAP32[$16>>2] = $18; $19 = ((($0)) + 56|0); $20 = ((($0)) + 60|0); HEAP16[$20>>1] = 0; $21 = ($18|0)<($14|0); if ($21) { _StringsBuffer_UNSAFE_Get($1,1235876,$18); _String_AppendString($19,$1); } else { HEAP32[$16>>2] = $14; $22 = ((($0)) + 204|0); _String_AppendString($19,$22); } $23 = ((($0)) + 152|0); HEAP32[$23>>2] = -1; _InputWidget_UpdateText($0); STACKTOP = sp;return; } function _ChatInputWidget_IsNameChar($0) { $0 = $0|0; var $$off9 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; switch ($0<<24>>24) { case 46: case 95: { return 1; break; } default: { } } $$off9 = (($0) + -48)<<24>>24; $1 = ($$off9&255)<(10); if ($1) { return 1; } else { $2 = $0 & -33; $3 = (($2) + -65)<<24>>24; $4 = ($3&255)<(26); $spec$select = $4&1; return ($spec$select|0); } return (0)|0; } function _ChatInputWidget_SetFont($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; _DrawTextArgs_Make($2,18596,$1,1); $3 = ((($0)) + 36|0); HEAP32[$3>>2] = $1; $4 = (_Drawer2D_TextWidth($2)|0); $5 = ((($0)) + 132|0); HEAP32[$5>>2] = $4; $6 = (_Drawer2D_TextHeight($2)|0); $7 = ((($0)) + 100|0); HEAP32[$7>>2] = $6; $8 = ((($0)) + 164|0); _Gfx_DeleteTexture($8); STACKTOP = sp;return; } function _PlayerListWidget_GetNameAt($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$028 = 0, $$sroa$3$0$$sroa_idx8 = 0, $$sroa$3$0$copyload = 0, $$sroa$4$0$$sroa_idx10 = 0, $$sroa$4$0$copyload = 0, $$sroa$5$0$$sroa_idx12 = 0, $$sroa$5$0$copyload = 0, $$sroa$6$0$$sroa_idx14 = 0, $$sroa$6$0$copyload = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $4 = sp; $5 = ((($0)) + 40|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)>(0); if (!($7)) { STACKTOP = sp;return; } $$028 = 0; while(1) { $8 = (((($0)) + 1144|0) + (($$028*28)|0)|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)==(0); if (!($10)) { $11 = (((($0)) + 120|0) + ($$028<<1)|0); $12 = HEAP16[$11>>1]|0; $13 = ($12<<16>>16)==(-1); if (!($13)) { $$sroa$3$0$$sroa_idx8 = (((((($0)) + 1144|0) + (($$028*28)|0)|0)) + 4|0); $$sroa$3$0$copyload = HEAP16[$$sroa$3$0$$sroa_idx8>>1]|0; $$sroa$4$0$$sroa_idx10 = (((((($0)) + 1144|0) + (($$028*28)|0)|0)) + 6|0); $$sroa$4$0$copyload = HEAP16[$$sroa$4$0$$sroa_idx10>>1]|0; $$sroa$5$0$$sroa_idx12 = (((((($0)) + 1144|0) + (($$028*28)|0)|0)) + 8|0); $$sroa$5$0$copyload = HEAP16[$$sroa$5$0$$sroa_idx12>>1]|0; $$sroa$6$0$$sroa_idx14 = (((((($0)) + 1144|0) + (($$028*28)|0)|0)) + 10|0); $$sroa$6$0$copyload = HEAP16[$$sroa$6$0$$sroa_idx14>>1]|0; $14 = $$sroa$3$0$copyload << 16 >> 16; $15 = $$sroa$4$0$copyload << 16 >> 16; $16 = $$sroa$5$0$copyload&65535; $17 = $$sroa$6$0$copyload&65535; $18 = (_Gui_Contains($14,$15,$16,$17,$1,$2)|0); $19 = ($18|0)==(0); if (!($19)) { break; } } } $26 = (($$028) + 1)|0; $27 = HEAP32[$5>>2]|0; $28 = ($26|0)<($27|0); if ($28) { $$028 = $26; } else { label = 8; break; } } if ((label|0) == 8) { STACKTOP = sp;return; } $20 = HEAP16[$11>>1]|0; $21 = $20&65535; $22 = (1242992 + ($21<<1)|0); $23 = HEAP16[$22>>1]|0; $24 = $23&65535; $25 = (($24) + -3)|0; _StringsBuffer_UNSAFE_Get($4,(1243760),$25); _String_AppendString($3,$4); STACKTOP = sp;return; } function _PlayerListWidget_Add($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = $1&255; _PlayerListWidget_AddName($0,$2,-1); _PlayerListWidget_SortAndReposition($0); return; } function _PlayerListWidget_AddName($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $3 = sp; $4 = ($2|0)==(-1); if ($4) { $5 = ((($0)) + 40|0); $6 = HEAP32[$5>>2]|0; $7 = (($6) + 1)|0; HEAP32[$5>>2] = $7; $$0 = $6; } else { $$0 = $2; } $8 = $1&255; $9 = (1242992 + ($8<<1)|0); $10 = HEAP16[$9>>1]|0; $11 = $10&65535; $12 = (($11) + -2)|0; _StringsBuffer_UNSAFE_Get($3,(1243760),$12); $13 = $1&255; $14 = (((($0)) + 120|0) + ($$0<<1)|0); HEAP16[$14>>1] = $13; $15 = (((($0)) + 1144|0) + (($$0*28)|0)|0); _PlayerListWidget_DrawName($15,$0,$3); STACKTOP = sp;return; } function _PlayerListWidget_SortAndReposition($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; _PlayerListWidget_SortEntries($0); $1 = HEAP32[$0>>2]|0; $2 = ((($1)) + 8|0); $3 = HEAP32[$2>>2]|0; FUNCTION_TABLE_vi[$3 & 511]($0); return; } function _PlayerListWidget_SortEntries($0) { $0 = $0|0; var $$promoted = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $storemerge = 0, $storemerge$in20 = 0, $storemerge$in24 = 0, $storemerge1819 = 0, $storemerge21 = 0, $storemerge22 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = ((($0)) + 40|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(0); if ($4) { STACKTOP = sp;return; } HEAP32[351854] = $0; $5 = ((($0)) + 48|0); $6 = HEAP8[$5>>0]|0; $7 = ($6<<24>>24)==(0); if (!($7)) { HEAP32[351855] = 74; $8 = (($3) + -1)|0; _PlayerListWidget_QuickSort(0,$8); STACKTOP = sp;return; } $storemerge$in20 = HEAP32[$2>>2]|0; $storemerge21 = (($storemerge$in20) + -1)|0; HEAP32[$1>>2] = $storemerge21; $9 = ($storemerge$in20|0)>(0); if ($9) { $$promoted = HEAP32[$1>>2]|0; $storemerge$in24 = $$promoted;$storemerge22 = $storemerge21; while(1) { $10 = (((($0)) + 120|0) + ($storemerge22<<1)|0); $11 = HEAP16[$10>>1]|0; $12 = ($11<<16>>16)==(-1); if ($12) { _PlayerListWidget_DeleteAt($0,$storemerge22); } $storemerge = (($storemerge$in24) + -1)|0; $13 = ($storemerge$in24|0)>(0); if ($13) { $storemerge$in24 = $storemerge;$storemerge22 = $storemerge; } else { break; } } HEAP32[$1>>2] = $storemerge; } HEAP32[351855] = 75; $14 = HEAP32[$2>>2]|0; $15 = (($14) + -1)|0; _PlayerListWidget_QuickSort(0,$15); HEAP32[351855] = 74; HEAP32[$1>>2] = 0; $16 = HEAP32[$2>>2]|0; $17 = ($16|0)>(0); if (!($17)) { STACKTOP = sp;return; } $storemerge1819 = 0; while(1) { $18 = (((($0)) + 120|0) + ($storemerge1819<<1)|0); $19 = HEAP16[$18>>1]|0; $20 = $19&65535; _PlayerListWidget_AddGroup($0,$20,$1); $21 = HEAP32[$1>>2]|0; $22 = (_PlayerListWidget_GetGroupCount($0,$20,$21)|0); $23 = (($22) + ($21))|0; $24 = (($23) + -1)|0; _PlayerListWidget_QuickSort($21,$24); $25 = (($22) + ($21))|0; HEAP32[$1>>2] = $25; $26 = HEAP32[$2>>2]|0; $27 = ($25|0)<($26|0); if ($27) { $storemerge1819 = $25; } else { break; } } STACKTOP = sp;return; } function _PlayerListWidget_PlayerCompare($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 160|0; $2 = sp + 152|0; $3 = sp + 64|0; $4 = sp + 144|0; $5 = sp; $6 = sp + 136|0; $7 = sp + 128|0; $8 = (1243504 + ($0)|0); $9 = HEAP8[$8>>0]|0; $10 = (1243504 + ($1)|0); $11 = HEAP8[$10>>0]|0; $12 = ($9<<24>>24)==($11<<24>>24); if ($12) { HEAP32[$2>>2] = $3; $15 = ((($2)) + 4|0); HEAP16[$15>>1] = 0; $16 = ((($2)) + 6|0); HEAP16[$16>>1] = 64; $17 = (1242992 + ($0<<1)|0); $18 = HEAP16[$17>>1]|0; $19 = $18&65535; $20 = (($19) + -2)|0; _StringsBuffer_UNSAFE_Get($6,(1243760),$20); _String_AppendColorless($2,$6); HEAP32[$4>>2] = $5; $21 = ((($4)) + 4|0); HEAP16[$21>>1] = 0; $22 = ((($4)) + 6|0); HEAP16[$22>>1] = 64; $23 = (1242992 + ($1<<1)|0); $24 = HEAP16[$23>>1]|0; $25 = $24&65535; $26 = (($25) + -2)|0; _StringsBuffer_UNSAFE_Get($7,(1243760),$26); _String_AppendColorless($4,$7); $27 = (_String_Compare($2,$4)|0); $$0 = $27; STACKTOP = sp;return ($$0|0); } else { $13 = ($9&255)<($11&255); $14 = $13 ? -1 : 1; $$0 = $14; STACKTOP = sp;return ($$0|0); } return (0)|0; } function _PlayerListWidget_QuickSort($0,$1) { $0 = $0|0; $1 = $1|0; var $$064$lcssa = 0, $$06474 = 0, $$066$lcssa = 0, $$06673 = 0, $$06976 = 0, $$077 = 0, $$1 = 0, $$165 = 0, $$167 = 0, $$170 = 0, $$2 = 0, $$268 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0; var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; var $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $2 = sp; $3 = HEAP32[351854]|0; $4 = ($0|0)<($1|0); if (!($4)) { STACKTOP = sp;return; } $$06976 = $1;$$077 = $0; while(1) { $5 = (($$077) + ($$06976))|0; $6 = (($5|0) / 2)&-1; $7 = (((($3)) + 120|0) + ($6<<1)|0); $8 = HEAP16[$7>>1]|0; $9 = $8&65535; $10 = ($$077|0)>($$06976|0); if ($10) { $$064$lcssa = $$06976;$$066$lcssa = $$077; } else { $$06474 = $$06976;$$06673 = $$077; while(1) { $$167 = $$06673; while(1) { $11 = HEAP32[351855]|0; $12 = (((($3)) + 120|0) + ($$167<<1)|0); $13 = HEAP16[$12>>1]|0; $14 = $13&65535; $15 = (FUNCTION_TABLE_iii[$11 & 127]($9,$14)|0); $16 = ($15|0)>(0); $17 = (($$167) + 1)|0; if ($16) { $$167 = $17; } else { break; } } $$165 = $$06474; while(1) { $18 = HEAP32[351855]|0; $19 = (((($3)) + 120|0) + ($$165<<1)|0); $20 = HEAP16[$19>>1]|0; $21 = $20&65535; $22 = (FUNCTION_TABLE_iii[$18 & 127]($9,$21)|0); $23 = ($22|0)<(0); $24 = (($$165) + -1)|0; if ($23) { $$165 = $24; } else { break; } } $25 = ($$167|0)>($$165|0); if ($25) { $$2 = $$165;$$268 = $$167; } else { $26 = HEAP16[$12>>1]|0; $27 = HEAP16[$19>>1]|0; HEAP16[$12>>1] = $27; HEAP16[$19>>1] = $26; $28 = (((($3)) + 1144|0) + (($$167*28)|0)|0); ;HEAP32[$2>>2]=HEAP32[$28>>2]|0;HEAP32[$2+4>>2]=HEAP32[$28+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$28+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$28+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$28+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$28+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$28+24>>2]|0; $29 = (((($3)) + 1144|0) + (($$165*28)|0)|0); ;HEAP32[$28>>2]=HEAP32[$29>>2]|0;HEAP32[$28+4>>2]=HEAP32[$29+4>>2]|0;HEAP32[$28+8>>2]=HEAP32[$29+8>>2]|0;HEAP32[$28+12>>2]=HEAP32[$29+12>>2]|0;HEAP32[$28+16>>2]=HEAP32[$29+16>>2]|0;HEAP32[$28+20>>2]=HEAP32[$29+20>>2]|0;HEAP32[$28+24>>2]=HEAP32[$29+24>>2]|0; ;HEAP32[$29>>2]=HEAP32[$2>>2]|0;HEAP32[$29+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$29+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$29+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$29+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$29+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$29+24>>2]=HEAP32[$2+24>>2]|0; $30 = (($$167) + 1)|0; $31 = (($$165) + -1)|0; $$2 = $31;$$268 = $30; } $32 = ($$268|0)>($$2|0); if ($32) { $$064$lcssa = $$2;$$066$lcssa = $$268; break; } else { $$06474 = $$2;$$06673 = $$268; } } } $33 = (($$064$lcssa) - ($$077))|0; $34 = (($$06976) - ($$066$lcssa))|0; $35 = ($33|0)>($34|0); if ($35) { $37 = ($$06976|0)>($$066$lcssa|0); if ($37) { _PlayerListWidget_QuickSort($$066$lcssa,$$06976); $$1 = $$077;$$170 = $$064$lcssa; } else { $$1 = $$077;$$170 = $$064$lcssa; } } else { $36 = ($$064$lcssa|0)>($$077|0); if ($36) { _PlayerListWidget_QuickSort($$077,$$064$lcssa); $$1 = $$066$lcssa;$$170 = $$06976; } else { $$1 = $$066$lcssa;$$170 = $$06976; } } $38 = ($$1|0)<($$170|0); if ($38) { $$06976 = $$170;$$077 = $$1; } else { break; } } STACKTOP = sp;return; } function _PlayerListWidget_DeleteAt($0,$1) { $0 = $0|0; $1 = $1|0; var $$017 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (((($0)) + 1144|0) + (($1*28)|0)|0); _Gfx_DeleteTexture($2); $3 = ((($0)) + 40|0); $4 = HEAP32[$3>>2]|0; $5 = (($4) + -1)|0; $6 = ($5|0)>($1|0); if (!($6)) { $$lcssa = $5; HEAP32[$3>>2] = $$lcssa; $16 = (((($0)) + 120|0) + ($$lcssa<<1)|0); HEAP16[$16>>1] = 0; $17 = (((($0)) + 1144|0) + (($$lcssa*28)|0)|0); HEAP32[$17>>2] = 0; return; } $$017 = $1; while(1) { $7 = (($$017) + 1)|0; $8 = (((($0)) + 120|0) + ($7<<1)|0); $9 = HEAP16[$8>>1]|0; $10 = (((($0)) + 120|0) + ($$017<<1)|0); HEAP16[$10>>1] = $9; $11 = (((($0)) + 1144|0) + (($$017*28)|0)|0); $12 = (((($0)) + 1144|0) + (($7*28)|0)|0); ;HEAP32[$11>>2]=HEAP32[$12>>2]|0;HEAP32[$11+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$11+8>>2]=HEAP32[$12+8>>2]|0;HEAP32[$11+12>>2]=HEAP32[$12+12>>2]|0;HEAP32[$11+16>>2]=HEAP32[$12+16>>2]|0;HEAP32[$11+20>>2]=HEAP32[$12+20>>2]|0;HEAP32[$11+24>>2]=HEAP32[$12+24>>2]|0; $13 = HEAP32[$3>>2]|0; $14 = (($13) + -1)|0; $15 = ($7|0)<($14|0); if ($15) { $$017 = $7; } else { $$lcssa = $14; break; } } HEAP32[$3>>2] = $$lcssa; $16 = (((($0)) + 120|0) + ($$lcssa<<1)|0); HEAP16[$16>>1] = 0; $17 = (((($0)) + 1144|0) + (($$lcssa*28)|0)|0); HEAP32[$17>>2] = 0; return; } function _PlayerListWidget_GroupCompare($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp + 8|0; $3 = sp; $4 = (1242992 + ($0<<1)|0); $5 = HEAP16[$4>>1]|0; $6 = $5&65535; $7 = (($6) + -1)|0; _StringsBuffer_UNSAFE_Get($2,(1243760),$7); $8 = (1242992 + ($1<<1)|0); $9 = HEAP16[$8>>1]|0; $10 = $9&65535; $11 = (($10) + -1)|0; _StringsBuffer_UNSAFE_Get($3,(1243760),$11); $12 = (_String_Compare($2,$3)|0); STACKTOP = sp;return ($12|0); } function _PlayerListWidget_AddGroup($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$019 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $3 = sp; $4 = (1242992 + ($1<<1)|0); $5 = HEAP16[$4>>1]|0; $6 = $5&65535; $7 = (($6) + -1)|0; _StringsBuffer_UNSAFE_Get($3,(1243760),$7); $8 = HEAP32[$2>>2]|0; $9 = ($8|0)<(511); if ($9) { $$019 = 511; while(1) { $10 = (($$019) + -1)|0; $11 = (((($0)) + 120|0) + ($10<<1)|0); $12 = HEAP16[$11>>1]|0; $13 = (((($0)) + 120|0) + ($$019<<1)|0); HEAP16[$13>>1] = $12; $14 = (((($0)) + 1144|0) + (($$019*28)|0)|0); $15 = (((($0)) + 1144|0) + (($10*28)|0)|0); ;HEAP32[$14>>2]=HEAP32[$15>>2]|0;HEAP32[$14+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$14+8>>2]=HEAP32[$15+8>>2]|0;HEAP32[$14+12>>2]=HEAP32[$15+12>>2]|0;HEAP32[$14+16>>2]=HEAP32[$15+16>>2]|0;HEAP32[$14+20>>2]=HEAP32[$15+20>>2]|0;HEAP32[$14+24>>2]=HEAP32[$15+24>>2]|0; $16 = HEAP32[$2>>2]|0; $17 = ($10|0)>($16|0); if ($17) { $$019 = $10; } else { $$lcssa = $16; break; } } } else { $$lcssa = $8; } $18 = (((($0)) + 120|0) + ($$lcssa<<1)|0); HEAP16[$18>>1] = -1; $19 = (((($0)) + 1144|0) + (($$lcssa*28)|0)|0); _PlayerListWidget_DrawName($19,$0,$3); $20 = HEAP32[$2>>2]|0; $21 = (($20) + 1)|0; HEAP32[$2>>2] = $21; $22 = ((($0)) + 40|0); $23 = HEAP32[$22>>2]|0; $24 = (($23) + 1)|0; HEAP32[$22>>2] = $24; STACKTOP = sp;return; } function _PlayerListWidget_GetGroupCount($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$0$lcssa = 0, $$013 = 0, $$0812 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $3 = sp + 16|0; $4 = sp + 8|0; $5 = sp; $6 = (1242992 + ($1<<1)|0); $7 = HEAP16[$6>>1]|0; $8 = $7&65535; $9 = (($8) + -1)|0; _StringsBuffer_UNSAFE_Get($3,(1243760),$9); $10 = ((($0)) + 40|0); $11 = HEAP32[$10>>2]|0; $12 = ($11|0)>($2|0); if (!($12)) { $$0$lcssa = 0; STACKTOP = sp;return ($$0$lcssa|0); } $$013 = 0;$$0812 = $2; while(1) { $13 = (((($0)) + 120|0) + ($$0812<<1)|0); $14 = HEAP16[$13>>1]|0; $15 = $14&65535; $16 = (1242992 + ($15<<1)|0); $17 = HEAP16[$16>>1]|0; $18 = $17&65535; $19 = (($18) + -1)|0; _StringsBuffer_UNSAFE_Get($5,(1243760),$19); $20 = $5; $21 = $20; $22 = HEAP32[$21>>2]|0; $23 = (($20) + 4)|0; $24 = $23; $25 = HEAP32[$24>>2]|0; $26 = $4; $27 = $26; HEAP32[$27>>2] = $22; $28 = (($26) + 4)|0; $29 = $28; HEAP32[$29>>2] = $25; $30 = (_String_CaselessEquals($3,$4)|0); $31 = ($30|0)==(0); if ($31) { $$0$lcssa = $$013; label = 5; break; } $32 = (($$0812) + 1)|0; $33 = (($$013) + 1)|0; $34 = HEAP32[$10>>2]|0; $35 = ($32|0)<($34|0); if ($35) { $$013 = $33;$$0812 = $32; } else { $$0$lcssa = $33; label = 5; break; } } if ((label|0) == 5) { STACKTOP = sp;return ($$0$lcssa|0); } return (0)|0; } function _PlayerListWidget_DrawName($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; var $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; $3 = sp + 64|0; $4 = sp; $5 = sp + 72|0; $6 = HEAP8[1408229]|0; $7 = ($6<<24>>24)==(0); $8 = HEAP8[1408233]|0; $9 = ($8<<24>>24)!=(0); $or$cond = $7 | $9; if ($or$cond) { $12 = $2; $13 = $12; $14 = HEAP32[$13>>2]|0; $15 = (($12) + 4)|0; $16 = $15; $17 = HEAP32[$16>>2]|0; $18 = $3; $19 = $18; HEAP32[$19>>2] = $14; $20 = (($18) + 4)|0; $21 = $20; HEAP32[$21>>2] = $17; } else { HEAP32[$3>>2] = $4; $10 = ((($3)) + 4|0); HEAP16[$10>>1] = 0; $11 = ((($3)) + 6|0); HEAP16[$11>>1] = 64; _String_AppendColorless($3,$2); } $22 = ((($1)) + 36|0); $23 = HEAP32[$22>>2]|0; $24 = ((($1)) + 48|0); $25 = HEAP8[$24>>0]|0; $26 = ($25<<24>>24)==(0); $27 = $26&1; _DrawTextArgs_Make($5,$3,$23,$27); _Drawer2D_MakeTextTexture($0,$5); $28 = HEAP32[$22>>2]|0; $29 = ((($28)) + 4|0); $30 = HEAP16[$29>>1]|0; $31 = $30&65535; _Drawer2D_ReducePadding_Tex($0,$31,3); STACKTOP = sp;return; } function _PlayerListWidget_Update($0,$1) { $0 = $0|0; $1 = $1|0; var $$013 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $2 = sp; $3 = ((($0)) + 40|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)>(0); if (!($5)) { STACKTOP = sp;return; } $$013 = 0; while(1) { $6 = (((($0)) + 120|0) + ($$013<<1)|0); $7 = HEAP16[$6>>1]|0; $8 = $7&65535; $9 = ($8|0)==($1|0); if ($9) { break; } $12 = (($$013) + 1)|0; $13 = HEAP32[$3>>2]|0; $14 = ($12|0)<($13|0); if ($14) { $$013 = $12; } else { label = 6; break; } } if ((label|0) == 6) { STACKTOP = sp;return; } $10 = (((($0)) + 1144|0) + (($$013*28)|0)|0); ;HEAP32[$2>>2]=HEAP32[$10>>2]|0;HEAP32[$2+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$10+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$10+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$10+24>>2]|0; _Gfx_DeleteTexture($2); $11 = $1&255; _PlayerListWidget_AddName($0,$11,$$013); _PlayerListWidget_SortAndReposition($0); STACKTOP = sp;return; } function _PlayerListWidget_Remove($0,$1) { $0 = $0|0; $1 = $1|0; var $$010 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 40|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)>(0); if (!($4)) { return; } $$010 = 0; while(1) { $5 = (((($0)) + 120|0) + ($$010<<1)|0); $6 = HEAP16[$5>>1]|0; $7 = $6&65535; $8 = ($7|0)==($1|0); if ($8) { break; } $9 = (($$010) + 1)|0; $10 = HEAP32[$2>>2]|0; $11 = ($9|0)<($10|0); if ($11) { $$010 = $9; } else { label = 6; break; } } if ((label|0) == 6) { return; } _PlayerListWidget_DeleteAt($0,$$010); _PlayerListWidget_SortAndReposition($0); return; } function _PlayerListWidget_Create($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$020 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; _Widget_Reset($0); HEAP32[$0>>2] = 18604; $3 = ((($0)) + 22|0); HEAP8[$3>>0] = 1; $4 = ((($0)) + 23|0); HEAP8[$4>>0] = 1; $5 = ((($0)) + 40|0); HEAP32[$5>>2] = 0; $6 = ((($0)) + 36|0); HEAP32[$6>>2] = $1; $7 = ((($0)) + 48|0); HEAP8[$7>>0] = $2; $8 = ($2<<24>>24)==(0); $9 = $8 ? 10 : 0; $10 = ((($0)) + 44|0); HEAP32[$10>>2] = $9; $$020 = 0; while(1) { $11 = (1242992 + ($$020<<1)|0); $12 = HEAP16[$11>>1]|0; $13 = ($12<<16>>16)==(0); if (!($13)) { $14 = $$020&255; _PlayerListWidget_AddName($0,$14,-1); } $15 = (($$020) + 1)|0; $exitcond = ($15|0)==(256); if ($exitcond) { break; } else { $$020 = $15; } } $16 = ((($0)) + 52|0); _TextWidget_Make($16,1,0,0,0); $17 = HEAP32[$6>>2]|0; _TextWidget_SetConst($16,38727,$17); _PlayerListWidget_SortAndReposition($0); return; } function _PlayerListWidget_Render($0,$1) { $0 = $0|0; $1 = +$1; var $$046 = 0, $$neg = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0; var $9 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $2 = sp; $3 = ((($0)) + 52|0); $4 = ((($0)) + 68|0); $5 = HEAP32[$4>>2]|0; $6 = (($5) + 10)|0; $7 = ((($0)) + 16|0); $8 = HEAP32[$7>>2]|0; $9 = (($8) + ($5))|0; $10 = ($9|0)>(300); $spec$select = $10 ? $9 : 300; $11 = ((($0)) + 4|0); $12 = HEAP32[$11>>2]|0; $13 = ((($0)) + 8|0); $14 = HEAP32[$13>>2]|0; $15 = (($14) - ($6))|0; $16 = ((($0)) + 12|0); $17 = HEAP32[$16>>2]|0; _Gfx_Draw2DGradient($12,$15,$17,$spec$select,-1275068416,-852348366); $18 = HEAP32[$13>>2]|0; $$neg = (-10 - ($5))|0; $19 = (($$neg) + 5)|0; $20 = (($19) + ($18))|0; $21 = ((($0)) + 80|0); HEAP32[$21>>2] = $20; $22 = HEAP32[$3>>2]|0; $23 = ((($22)) + 8|0); $24 = HEAP32[$23>>2]|0; FUNCTION_TABLE_vi[$24 & 511]($3); $25 = HEAP32[$3>>2]|0; $26 = HEAP32[$25>>2]|0; FUNCTION_TABLE_vid[$26 & 63]($3,$1); $27 = (_Gui_GetInputGrab()|0); $28 = ((($0)) + 40|0); $29 = HEAP32[$28>>2]|0; $30 = ($29|0)>(0); if (!($30)) { STACKTOP = sp;return; } $31 = ((($0)) + 1144|0); $32 = ($27|0)==(0|0); $33 = ((($0)) + 120|0); $34 = ((($2)) + 4|0); $35 = ((($2)) + 6|0); $36 = ((($2)) + 8|0); $37 = ((($2)) + 10|0); $$046 = 0; while(1) { $38 = (($31) + (($$046*28)|0)|0); $39 = HEAP32[$38>>2]|0; $40 = ($39|0)==(0); if (!($40)) { ;HEAP32[$2>>2]=HEAP32[$38>>2]|0;HEAP32[$2+4>>2]=HEAP32[$38+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$38+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$38+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$38+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$38+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$38+24>>2]|0; if (!($32)) { $41 = (($33) + ($$046<<1)|0); $42 = HEAP16[$41>>1]|0; $43 = ($42<<16>>16)==(-1); if (!($43)) { $44 = HEAP16[$34>>1]|0; $45 = $44 << 16 >> 16; $46 = HEAP16[$35>>1]|0; $47 = $46 << 16 >> 16; $48 = HEAP16[$36>>1]|0; $49 = $48&65535; $50 = HEAP16[$37>>1]|0; $51 = $50&65535; $52 = (_Gui_ContainsPointers($45,$47,$49,$51)|0); $53 = ($52|0)==(0); if (!($53)) { $54 = HEAP16[$34>>1]|0; $55 = $54&65535; $56 = (($55) + 4)|0; $57 = $56&65535; HEAP16[$34>>1] = $57; } } } _Texture_Render($2); } $58 = (($$046) + 1)|0; $59 = HEAP32[$28>>2]|0; $60 = ($58|0)<($59|0); if ($60) { $$046 = $58; } else { break; } } STACKTOP = sp;return; } function _PlayerListWidget_Free($0) { $0 = $0|0; var $$010 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 40|0); $2 = HEAP32[$1>>2]|0; $3 = ($2|0)>(0); if ($3) { $4 = ((($0)) + 1144|0); $$010 = 0; while(1) { $5 = (($4) + (($$010*28)|0)|0); _Gfx_DeleteTexture($5); $6 = (($$010) + 1)|0; $7 = HEAP32[$1>>2]|0; $8 = ($6|0)<($7|0); if ($8) { $$010 = $6; } else { break; } } } $9 = ((($0)) + 52|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)==(0|0); if ($11) { return; } $12 = ((($10)) + 4|0); $13 = HEAP32[$12>>2]|0; FUNCTION_TABLE_vi[$13 & 511]($9); return; } function _PlayerListWidget_Reposition($0) { $0 = $0|0; var $$048$lcssa63 = 0, $$04855 = 0, $$04954 = 0, $$05152 = 0, $$056 = 0, $$153 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond62 = 0; var $phitmp = 0, $phitmp65 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 40|0); $2 = HEAP32[$1>>2]|0; $3 = (_Math_CeilDiv($2,16)|0); $4 = ($3|0)>(0); if ($4) { $$04855 = 0;$$04954 = 0;$$056 = 0; while(1) { $5 = (_PlayerListWidget_GetColumnWidth($0,$$056)|0); $6 = (($5) + ($$04954))|0; $7 = (_PlayerListWidget_GetColumnHeight($0,$$056)|0); $8 = ($$04855|0)>($7|0); $9 = $8 ? $$04855 : $7; $10 = (($$056) + 1)|0; $exitcond62 = ($10|0)==($3|0); if ($exitcond62) { break; } else { $$04855 = $9;$$04954 = $6;$$056 = $10; } } $phitmp = (($9) + 20)|0; $11 = ($6|0)>(480); $spec$select = $11 ? $6 : 480; $phitmp65 = (($spec$select) + 20)|0; $$048$lcssa63 = $phitmp;$13 = $phitmp65; } else { $$048$lcssa63 = 20;$13 = 500; } $12 = ((($0)) + 12|0); HEAP32[$12>>2] = $13; $14 = ((($0)) + 16|0); HEAP32[$14>>2] = $$048$lcssa63; $15 = HEAP32[351859]|0; $16 = (($15|0) / 4)&-1; $17 = (($$048$lcssa63|0) / 2)&-1; $18 = (($16) - ($17))|0; $19 = ($18|0)>(0); $20 = $19 ? $18 : 0; $21 = (0 - ($20))|0; $22 = ((($0)) + 28|0); HEAP32[$22>>2] = $21; _Widget_CalcPosition($0); $23 = ((($0)) + 8|0); $24 = HEAP32[$23>>2]|0; $25 = (($24) + 10)|0; $26 = ($3|0)>(0); if (!($26)) { return; } $27 = ((($0)) + 4|0); $28 = HEAP32[$27>>2]|0; $29 = (($28) + 10)|0; $$05152 = $29;$$153 = 0; while(1) { _PlayerListWidget_SetColumnPos($0,$$153,$$05152,$25); $30 = (_PlayerListWidget_GetColumnWidth($0,$$153)|0); $31 = (($30) + ($$05152))|0; $32 = (($$153) + 1)|0; $exitcond = ($32|0)==($3|0); if ($exitcond) { break; } else { $$05152 = $31;$$153 = $32; } } return; } function _PlayerListWidget_GetColumnWidth($0,$1) { $0 = $0|0; $1 = $1|0; var $$ = 0, $$0$ = 0, $$0$lcssa = 0, $$01920 = 0, $$021 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; var $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; $2 = $1 << 4; $3 = ((($0)) + 40|0); $4 = HEAP32[$3>>2]|0; $5 = (($2) + 16)|0; $6 = ($4|0)<($5|0); $$ = $6 ? $4 : $5; $7 = ($2|0)<($$|0); if ($7) { $$01920 = $2;$$021 = 0; while(1) { $8 = (((((($0)) + 1144|0) + (($$01920*28)|0)|0)) + 8|0); $9 = HEAP16[$8>>1]|0; $10 = $9&65535; $11 = ($$021|0)>($10|0); $$0$ = $11 ? $$021 : $10; $12 = (($$01920) + 1)|0; $13 = ($12|0)<($$|0); if ($13) { $$01920 = $12;$$021 = $$0$; } else { break; } } $phitmp = (($$0$) + 5)|0; $$0$lcssa = $phitmp; } else { $$0$lcssa = 5; } $14 = ((($0)) + 44|0); $15 = HEAP32[$14>>2]|0; $16 = (($$0$lcssa) + ($15))|0; return ($16|0); } function _PlayerListWidget_GetColumnHeight($0,$1) { $0 = $0|0; $1 = $1|0; var $$ = 0, $$0$lcssa = 0, $$01617 = 0, $$018 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = $1 << 4; $3 = ((($0)) + 40|0); $4 = HEAP32[$3>>2]|0; $5 = (($2) + 16)|0; $6 = ($4|0)<($5|0); $$ = $6 ? $4 : $5; $7 = ($2|0)<($$|0); if (!($7)) { $$0$lcssa = 0; return ($$0$lcssa|0); } $$01617 = $2;$$018 = 0; while(1) { $8 = (((((($0)) + 1144|0) + (($$01617*28)|0)|0)) + 10|0); $9 = HEAP16[$8>>1]|0; $10 = $9&65535; $11 = (($$018) + 1)|0; $12 = (($11) + ($10))|0; $13 = (($$01617) + 1)|0; $14 = ($13|0)<($$|0); if ($14) { $$01617 = $13;$$018 = $12; } else { $$0$lcssa = $12; break; } } return ($$0$lcssa|0); } function _PlayerListWidget_SetColumnPos($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$ = 0, $$04850 = 0, $$051 = 0, $$sroa$4$0 = 0, $$sroa$4$0$$sroa_idx14 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$826$0$$sroa_idx27 = 0, $$sroa$826$0$copyload = 0, $$sroa$9 = 0, $$sroa$9$0$$sroa_idx = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $$sroa$9 = sp; $4 = $1 << 4; $5 = ((($0)) + 40|0); $6 = HEAP32[$5>>2]|0; $7 = (($4) + 16)|0; $8 = ($6|0)<($7|0); $$ = $8 ? $6 : $7; $9 = ($4|0)<($$|0); if (!($9)) { STACKTOP = sp;return; } $10 = $2&65535; $11 = ((($0)) + 48|0); $12 = ((($0)) + 44|0); $$04850 = $4;$$051 = $3; while(1) { $$sroa$4$0$$sroa_idx14 = (((((($0)) + 1144|0) + (($$04850*28)|0)|0)) + 4|0); $$sroa$7$0$$sroa_idx18 = (((((($0)) + 1144|0) + (($$04850*28)|0)|0)) + 6|0); $$sroa$826$0$$sroa_idx27 = (((((($0)) + 1144|0) + (($$04850*28)|0)|0)) + 10|0); $$sroa$826$0$copyload = HEAP16[$$sroa$826$0$$sroa_idx27>>1]|0; $$sroa$9$0$$sroa_idx = (((((($0)) + 1144|0) + (($$04850*28)|0)|0)) + 12|0); ;HEAP32[$$sroa$9>>2]=HEAP32[$$sroa$9$0$$sroa_idx>>2]|0;HEAP32[$$sroa$9+4>>2]=HEAP32[$$sroa$9$0$$sroa_idx+4>>2]|0;HEAP32[$$sroa$9+8>>2]=HEAP32[$$sroa$9$0$$sroa_idx+8>>2]|0;HEAP32[$$sroa$9+12>>2]=HEAP32[$$sroa$9$0$$sroa_idx+12>>2]|0; $13 = (($$051) + 65526)|0; $14 = $13&65535; $15 = $$sroa$826$0$copyload&65535; $16 = (($$051) + 1)|0; $17 = (($16) + ($15))|0; $18 = HEAP8[$11>>0]|0; $19 = ($18<<24>>24)==(0); if ($19) { $20 = (((($0)) + 120|0) + ($$04850<<1)|0); $21 = HEAP16[$20>>1]|0; $22 = ($21<<16>>16)==(-1); if ($22) { $$sroa$4$0 = $10; } else { $23 = HEAP32[$12>>2]|0; $24 = (($23) + ($2))|0; $25 = $24&65535; $$sroa$4$0 = $25; } } else { $$sroa$4$0 = $10; } HEAP16[$$sroa$4$0$$sroa_idx14>>1] = $$sroa$4$0; HEAP16[$$sroa$7$0$$sroa_idx18>>1] = $14; ;HEAP32[$$sroa$9$0$$sroa_idx>>2]=HEAP32[$$sroa$9>>2]|0;HEAP32[$$sroa$9$0$$sroa_idx+4>>2]=HEAP32[$$sroa$9+4>>2]|0;HEAP32[$$sroa$9$0$$sroa_idx+8>>2]=HEAP32[$$sroa$9+8>>2]|0;HEAP32[$$sroa$9$0$$sroa_idx+12>>2]=HEAP32[$$sroa$9+12>>2]|0; $26 = (($$04850) + 1)|0; $27 = ($26|0)<($$|0); if ($27) { $$04850 = $26;$$051 = $17; } else { break; } } STACKTOP = sp;return; } function _TextGroupWidget_ShiftUp($0) { $0 = $0|0; var $$014 = 0, $$lcssa = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 80|0); $2 = HEAP32[$1>>2]|0; _Gfx_DeleteTexture($2); $3 = ((($0)) + 36|0); $4 = HEAP32[$3>>2]|0; $5 = (($4) + -1)|0; $6 = ($4|0)>(1); $7 = HEAP32[$1>>2]|0; if (!($6)) { $$lcssa = $7; $13 = (($$lcssa) + (($5*28)|0)|0); HEAP32[$13>>2] = 0; _TextGroupWidget_Redraw($0,$5); return; } $$014 = 0;$9 = $7; while(1) { $8 = (($9) + (($$014*28)|0)|0); $10 = (($$014) + 1)|0; $11 = (($9) + (($10*28)|0)|0); ;HEAP32[$8>>2]=HEAP32[$11>>2]|0;HEAP32[$8+4>>2]=HEAP32[$11+4>>2]|0;HEAP32[$8+8>>2]=HEAP32[$11+8>>2]|0;HEAP32[$8+12>>2]=HEAP32[$11+12>>2]|0;HEAP32[$8+16>>2]=HEAP32[$11+16>>2]|0;HEAP32[$8+20>>2]=HEAP32[$11+20>>2]|0;HEAP32[$8+24>>2]=HEAP32[$11+24>>2]|0; $12 = HEAP32[$1>>2]|0; $exitcond = ($10|0)==($5|0); if ($exitcond) { $$lcssa = $12; break; } else { $$014 = $10;$9 = $12; } } $13 = (($$lcssa) + (($5*28)|0)|0); HEAP32[$13>>2] = 0; _TextGroupWidget_Redraw($0,$5); return; } function _TextGroupWidget_Redraw($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $2 = sp; $3 = sp + 40|0; $4 = sp + 8|0; ;HEAP32[$4>>2]=0|0;HEAP32[$4+4>>2]=0|0;HEAP32[$4+8>>2]=0|0;HEAP32[$4+12>>2]=0|0;HEAP32[$4+16>>2]=0|0;HEAP32[$4+20>>2]=0|0;HEAP32[$4+24>>2]=0|0; $5 = ((($0)) + 80|0); $6 = HEAP32[$5>>2]|0; $7 = (($6) + (($1*28)|0)|0); _Gfx_DeleteTexture($7); _TextGroupWidget_UNSAFE_Get($2,$0,$1); $8 = (_Drawer2D_IsEmptyText($2)|0); $9 = ($8<<24>>24)==(0); if ($9) { $10 = ((($0)) + 44|0); $11 = HEAP32[$10>>2]|0; _DrawTextArgs_Make($3,$2,$11,1); $12 = ((($0)) + 78|0); $13 = HEAP8[$12>>0]|0; $14 = ($13<<24>>24)==(0); if ($14) { label = 5; } else { $15 = (_TextGroupWidget_MightHaveUrls($0)|0); $16 = ($15<<24>>24)==(0); if ($16) { label = 5; } else { _TextGroupWidget_DrawAdvanced($0,$4,$3,$1,$2); } } if ((label|0) == 5) { _Drawer2D_MakeTextTexture($4,$3); } $17 = HEAP32[$10>>2]|0; $18 = ((($17)) + 4|0); $19 = HEAP16[$18>>1]|0; $20 = $19&65535; _Drawer2D_ReducePadding_Tex($4,$20,3); } else { $21 = (((($0)) + 48|0) + ($1)|0); $22 = HEAP8[$21>>0]|0; $23 = ($22<<24>>24)==(0); if ($23) { $24 = ((($0)) + 40|0); $25 = HEAP32[$24>>2]|0; $phitmp = $25&65535; $27 = $phitmp; } else { $27 = 0; } $26 = ((($4)) + 10|0); HEAP16[$26>>1] = $27; } $28 = ((($0)) + 22|0); $29 = HEAP8[$28>>0]|0; $30 = ((($0)) + 24|0); $31 = HEAP32[$30>>2]|0; $32 = ((($4)) + 8|0); $33 = HEAP16[$32>>1]|0; $34 = $33&65535; $35 = HEAP32[351858]|0; $36 = (_Gui_CalcPos($29,$31,$34,$35)|0); $37 = $36&65535; $38 = ((($4)) + 4|0); HEAP16[$38>>1] = $37; $39 = HEAP32[$5>>2]|0; $40 = (($39) + (($1*28)|0)|0); ;HEAP32[$40>>2]=HEAP32[$4>>2]|0;HEAP32[$40+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$40+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$40+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$40+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[$40+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[$40+24>>2]=HEAP32[$4+24>>2]|0; $41 = HEAP32[$0>>2]|0; $42 = ((($41)) + 8|0); $43 = HEAP32[$42>>2]|0; FUNCTION_TABLE_vi[$43 & 511]($0); STACKTOP = sp;return; } function _TextGroupWidget_UNSAFE_Get($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ((($1)) + 84|0); $4 = HEAP32[$3>>2]|0; $5 = ((($1)) + 88|0); $6 = HEAP32[$5>>2]|0; FUNCTION_TABLE_viii[$4 & 31]($0,$6,$2); return; } function _TextGroupWidget_MightHaveUrls($0) { $0 = $0|0; var $$06 = 0, $$08 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp + 8|0; $2 = sp; $3 = ((($0)) + 36|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)>(0); if (!($5)) { $$06 = 0; STACKTOP = sp;return ($$06|0); } $$08 = 0; while(1) { _TextGroupWidget_UNSAFE_Get($2,$0,$$08); $9 = $2; $10 = $9; $11 = HEAP32[$10>>2]|0; $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; $15 = $1; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; $18 = $17; HEAP32[$18>>2] = $14; $19 = (_String_IndexOfAt($1,0,47)|0); $20 = ($19|0)>(-1); $7 = (($$08) + 1)|0; if ($20) { $$06 = 1; label = 5; break; } $6 = HEAP32[$3>>2]|0; $8 = ($7|0)<($6|0); if ($8) { $$08 = $7; } else { $$06 = 0; label = 5; break; } } if ((label|0) == 5) { STACKTOP = sp;return ($$06|0); } return (0)|0; } function _TextGroupWidget_DrawAdvanced($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $$05965 = 0, $$060$lcssa70 = 0, $$06064 = 0, $$063 = 0, $$162 = 0, $$sroa$4$0$$sroa_idx35 = 0, $$sroa$4$0$copyload36 = 0, $$sroa$5$0$$sroa_idx38 = 0, $$sroa$5$0$$sroa_idx39 = 0, $$sroa$5$0$copyload = 0, $$sroa$5$0$copyload40 = 0, $$sroa$7$0$$sroa_idx43 = 0, $$sroa$7$0$$sroa_idx44 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$0$copyload45 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond69 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 3232|0; $5 = sp + 320|0; $6 = sp + 112|0; $7 = sp; $8 = sp + 3216|0; $9 = sp + 3208|0; $10 = sp + 3200|0; $11 = (_Drawer2D_TextHeight($2)|0); $12 = (_TextGroupWidget_Reduce($0,$5,$3,$6)|0); $13 = ($12|0)>(0); if (!($13)) { _Bitmap_AllocateClearedPow2($8,0,$11); $$060$lcssa70 = 0; _Drawer2D_MakeTexture($1,$8,$$060$lcssa70,$11); $57 = HEAP32[$8>>2]|0; _Mem_Free($57); STACKTOP = sp;return; } $$05965 = 0;$$06064 = 0; while(1) { $$sroa$5$0$$sroa_idx38 = (((($6) + ($$05965<<3)|0)) + 4|0); $$sroa$5$0$copyload = HEAP16[$$sroa$5$0$$sroa_idx38>>1]|0; $$sroa$7$0$$sroa_idx43 = (((($6) + ($$05965<<3)|0)) + 6|0); $$sroa$7$0$copyload = HEAP16[$$sroa$7$0$$sroa_idx43>>1]|0; $14 = $$sroa$5$0$copyload << 16 >> 16; $15 = $$sroa$7$0$copyload << 16 >> 16; _String_UNSAFE_Substring($9,$4,$14,$15); $16 = $9; $17 = $16; $18 = HEAP32[$17>>2]|0; $19 = (($16) + 4)|0; $20 = $19; $21 = HEAP32[$20>>2]|0; $22 = $2; $23 = $22; HEAP32[$23>>2] = $18; $24 = (($22) + 4)|0; $25 = $24; HEAP32[$25>>2] = $21; $26 = (_Drawer2D_TextWidth($2)|0); $27 = (($7) + ($$05965<<2)|0); HEAP32[$27>>2] = $26; $28 = (($26) + ($$06064))|0; $29 = (($$05965) + 1)|0; $exitcond69 = ($29|0)==($12|0); if ($exitcond69) { break; } else { $$05965 = $29;$$06064 = $28; } } _Bitmap_AllocateClearedPow2($8,$28,$11); $30 = ($12|0)>(0); if (!($30)) { $$060$lcssa70 = $28; _Drawer2D_MakeTexture($1,$8,$$060$lcssa70,$11); $57 = HEAP32[$8>>2]|0; _Mem_Free($57); STACKTOP = sp;return; } $31 = ((($2)) + 8|0); $$063 = 0;$$162 = 0; while(1) { $$sroa$4$0$$sroa_idx35 = (((($6) + ($$162<<3)|0)) + 2|0); $$sroa$4$0$copyload36 = HEAP16[$$sroa$4$0$$sroa_idx35>>1]|0; $$sroa$5$0$$sroa_idx39 = (((($6) + ($$162<<3)|0)) + 4|0); $$sroa$5$0$copyload40 = HEAP16[$$sroa$5$0$$sroa_idx39>>1]|0; $$sroa$7$0$$sroa_idx44 = (((($6) + ($$162<<3)|0)) + 6|0); $$sroa$7$0$copyload45 = HEAP16[$$sroa$7$0$$sroa_idx44>>1]|0; $32 = $$sroa$5$0$copyload40 << 16 >> 16; $33 = $$sroa$7$0$copyload45 << 16 >> 16; _String_UNSAFE_Substring($10,$4,$32,$33); $34 = $10; $35 = $34; $36 = HEAP32[$35>>2]|0; $37 = (($34) + 4)|0; $38 = $37; $39 = HEAP32[$38>>2]|0; $40 = $2; $41 = $40; HEAP32[$41>>2] = $36; $42 = (($40) + 4)|0; $43 = $42; HEAP32[$43>>2] = $39; $44 = ($$sroa$4$0$copyload36<<16>>16)<(0); if ($44) { $45 = HEAP32[$31>>2]|0; $46 = ((($45)) + 6|0); $47 = HEAP16[$46>>1]|0; $48 = $47 | 128; HEAP16[$46>>1] = $48; _Drawer2D_DrawText($8,$2,$$063,0); $49 = HEAP32[$31>>2]|0; $50 = ((($49)) + 6|0); $51 = HEAP16[$50>>1]|0; $52 = $51 & -129; HEAP16[$50>>1] = $52; } else { _Drawer2D_DrawText($8,$2,$$063,0); } $53 = (($7) + ($$162<<2)|0); $54 = HEAP32[$53>>2]|0; $55 = (($54) + ($$063))|0; $56 = (($$162) + 1)|0; $exitcond = ($56|0)==($12|0); if ($exitcond) { $$060$lcssa70 = $28; break; } else { $$063 = $55;$$162 = $56; } } _Drawer2D_MakeTexture($1,$8,$$060$lcssa70,$11); $57 = HEAP32[$8>>2]|0; _Mem_Free($57); STACKTOP = sp;return; } function _TextGroupWidget_Reduce($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0 = 0, $$049$lcssa = 0, $$04952 = 0, $$05051 = 0, $$1 = 0, $$byval_copy1 = 0, $$sroa$0$0$copyload = 0, $$sroa$4$0$$sroa_idx31 = 0, $$sroa$4$0$copyload = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; var $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 288|0; $$byval_copy1 = sp + 272|0; $4 = sp + 256|0; $5 = sp + 128|0; $6 = sp; $7 = sp + 264|0; $8 = sp + 248|0; HEAP32[$4>>2] = $3; $9 = ((($0)) + 36|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)>(0); if ($11) { $$sroa$4$0$$sroa_idx31 = ((($8)) + 4|0); $$04952 = 0;$$05051 = 0; while(1) { _TextGroupWidget_UNSAFE_Get($8,$0,$$05051); $$sroa$0$0$copyload = HEAP32[$8>>2]|0; $$sroa$4$0$copyload = HEAP16[$$sroa$4$0$$sroa_idx31>>1]|0; $12 = (($5) + ($$05051<<2)|0); HEAP32[$12>>2] = -1; $13 = (($6) + ($$05051<<2)|0); HEAP32[$13>>2] = -1; $14 = ($$sroa$4$0$copyload<<16>>16)==(0); $15 = $$sroa$4$0$copyload&65535; $16 = (($$04952) + ($15))|0; if ($14) { $$1 = $$04952; } else { $17 = (($1) + ($$04952)|0); HEAP32[$12>>2] = $$04952; _Mem_Copy($17,$$sroa$0$0$copyload,$15); HEAP32[$13>>2] = $16; $$1 = $16; } $18 = (($$05051) + 1)|0; $19 = HEAP32[$9>>2]|0; $20 = ($18|0)<($19|0); if ($20) { $$04952 = $$1;$$05051 = $18; } else { $$049$lcssa = $$1; break; } } } else { $$049$lcssa = 0; } $21 = ((($7)) + 2|0); $22 = (($5) + ($2<<2)|0); $23 = (($6) + ($2<<2)|0); $$0 = 0; while(1) { $24 = (_TextGroupWidget_NextUrl($1,$$049$lcssa,$$0)|0); $25 = $$0&65535; HEAP16[$7>>1] = $25; $26 = (($24) - ($$0))|0; $27 = $26&65535; HEAP16[$21>>1] = $27; $28 = HEAP32[$22>>2]|0; $29 = HEAP32[$23>>2]|0; ;HEAP16[$$byval_copy1>>1]=HEAP16[$7>>1]|0;HEAP16[$$byval_copy1+2>>1]=HEAP16[$7+2>>1]|0;HEAP16[$$byval_copy1+4>>1]=HEAP16[$7+4>>1]|0;HEAP16[$$byval_copy1+6>>1]=HEAP16[$7+6>>1]|0; _TextGroupWidget_Output($$byval_copy1,$28,$29,$4); $30 = ($24|0)==($$049$lcssa|0); if ($30) { break; } $31 = HEAP32[$9>>2]|0; $32 = (_TextGroupWidget_UrlEnd($1,$$049$lcssa,$5,$31,$24)|0); $33 = $24&65535; HEAP16[$7>>1] = $33; $34 = (($32) - ($24))|0; $35 = $34 | 32768; $36 = $35&65535; HEAP16[$21>>1] = $36; ;HEAP16[$$byval_copy1>>1]=HEAP16[$7>>1]|0;HEAP16[$$byval_copy1+2>>1]=HEAP16[$7+2>>1]|0;HEAP16[$$byval_copy1+4>>1]=HEAP16[$7+4>>1]|0;HEAP16[$$byval_copy1+6>>1]=HEAP16[$7+6>>1]|0; _TextGroupWidget_Output($$byval_copy1,$28,$29,$4); $$0 = $32; } $37 = HEAP32[$4>>2]|0; $38 = $3; $39 = (($37) - ($38))|0; $40 = (3)?($39 >> 3):($39); STACKTOP = sp;return ($40|0); } function _TextGroupWidget_NextUrl($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$043 = 0, $$04450 = 0, $$049 = 0, $$1 = 0, $$1$v = 0, $$14548 = 0, $$2 = 0, $$3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ($2|0)<($1|0); if (!($3)) { $$043 = $1; return ($$043|0); } $$04450 = $2; L4: while(1) { $4 = (($0) + ($$04450)|0); $5 = HEAP8[$4>>0]|0; L6: do { switch ($5<<24>>24) { case 38: case 104: { $6 = (($1) - ($$04450))|0; $7 = ($6|0)<(7); if ($7) { $$043 = $1; label = 18; break L4; } $$049 = $6;$$14548 = $$04450; while(1) { $8 = (($0) + ($$14548)|0); $9 = HEAP8[$8>>0]|0; $10 = ($9<<24>>24)==(38); if (!($10)) { break; } $11 = (($$049) + -2)|0; $12 = (($$14548) + 2)|0; $13 = ($$049|0)>(3); if ($13) { $$049 = $11;$$14548 = $12; } else { $$3 = $12; break L6; } } $14 = ($$049|0)<(7); if ($14) { $$3 = $$14548; } else { $15 = (($0) + ($$14548)|0); $16 = HEAP8[$15>>0]|0; $17 = ($16<<24>>24)==(104); if ($17) { $18 = (($$14548) + 1)|0; $19 = (($0) + ($18)|0); $20 = HEAP8[$19>>0]|0; $21 = ($20<<24>>24)==(116); if ($21) { $22 = (($$14548) + 2)|0; $23 = (($0) + ($22)|0); $24 = HEAP8[$23>>0]|0; $25 = ($24<<24>>24)==(116); if ($25) { $26 = (($$14548) + 3)|0; $27 = (($0) + ($26)|0); $28 = HEAP8[$27>>0]|0; $29 = ($28<<24>>24)==(112); if ($29) { $30 = (($$14548) + 4)|0; $31 = (($0) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = ($32<<24>>24)==(115); $34 = (($$14548) + 5)|0; $$2 = $33 ? $34 : $30; $$1$v = $33 ? -5 : -4; $$1 = (($$1$v) + ($$049))|0; $35 = ($$1|0)>(2); if ($35) { $36 = (($0) + ($$2)|0); $37 = HEAP8[$36>>0]|0; $38 = ($37<<24>>24)==(58); if ($38) { $39 = (($$2) + 1)|0; $40 = (($0) + ($39)|0); $41 = HEAP8[$40>>0]|0; $42 = ($41<<24>>24)==(47); if ($42) { $43 = (($$2) + 2)|0; $44 = (($0) + ($43)|0); $45 = HEAP8[$44>>0]|0; $46 = ($45<<24>>24)==(47); if ($46) { $$043 = $$04450; label = 18; break L4; } else { $$3 = $$2; } } else { $$3 = $$2; } } else { $$3 = $$2; } } else { $$3 = $$2; } } else { $$3 = $$14548; } } else { $$3 = $$14548; } } else { $$3 = $$14548; } } else { $$3 = $$14548; } } break; } default: { $$3 = $$04450; } } } while(0); $47 = (($$3) + 1)|0; $48 = ($47|0)<($1|0); if ($48) { $$04450 = $47; } else { $$043 = $1; label = 18; break; } } if ((label|0) == 18) { return ($$043|0); } return (0)|0; } function _TextGroupWidget_Output($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$pr = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; var $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = HEAP16[$0>>1]|0; $5 = $4 << 16 >> 16; $6 = ($5|0)<($2|0); if (!($6)) { return; } $7 = ((($0)) + 2|0); $8 = HEAP16[$7>>1]|0; $9 = ($8<<16>>16)==(0); if ($9) { return; } $10 = ((($0)) + 4|0); HEAP16[$10>>1] = $4; $11 = $8 & 32767; $12 = ((($0)) + 6|0); HEAP16[$12>>1] = $11; $13 = ($5|0)<($1|0); do { if ($13) { $14 = $11&65535; $15 = (($14) + ($5))|0; $16 = ($15|0)>($1|0); if ($16) { $17 = (($1) - ($5))|0; $18 = $4&65535; $19 = (($17) + ($18))|0; $20 = $19&65535; HEAP16[$10>>1] = $20; $21 = (($14) - ($17))|0; $22 = $21&65535; HEAP16[$12>>1] = $22; break; } else { return; } } } while(0); $23 = HEAP16[$10>>1]|0; $24 = $23 << 16 >> 16; $25 = HEAP16[$12>>1]|0; $26 = $25 << 16 >> 16; $27 = (($24) - ($2))|0; $28 = (($27) + ($26))|0; $29 = ($28|0)>(0); if ($29) { $30 = (0 - ($27))|0; $31 = $30&65535; HEAP16[$12>>1] = $31; $35 = $31; } else { $$pr = HEAP16[$12>>1]|0; $35 = $$pr; } $32 = $23&65535; $33 = (($32) - ($1))|0; $34 = $33&65535; HEAP16[$10>>1] = $34; $36 = ($35<<16>>16)==(0); if ($36) { return; } $37 = HEAP32[$3>>2]|0; $38 = ((($37)) + 8|0); $39 = $0; $40 = $39; $41 = HEAPU16[$40>>1]|(HEAPU16[$40+2>>1]<<16); $42 = (($39) + 4)|0; $43 = $42; $44 = HEAPU16[$43>>1]|(HEAPU16[$43+2>>1]<<16); $45 = $37; $46 = $45; HEAP16[$46>>1]=$41&65535;HEAP16[$46+2>>1]=$41>>>16; $47 = (($45) + 4)|0; $48 = $47; HEAP16[$48>>1]=$44&65535;HEAP16[$48+2>>1]=$44>>>16; HEAP32[$3>>2] = $38; return; } function _TextGroupWidget_UrlEnd($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $$035$lcssa = 0, $$03546 = 0, $$036$lcssa = 0, $$03643 = 0, $$03645 = 0, $$03744 = 0, $$038$lcssa = 0, $$03849 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $5 = ($4|0)<($1|0); if (!($5)) { $$038$lcssa = $4; return ($$038$lcssa|0); } $6 = ($3|0)>(0); $$03849 = $4; L4: while(1) { $7 = (($0) + ($$03849)|0); $8 = HEAP8[$7>>0]|0; $9 = ($8<<24>>24)==(32); if ($9) { $$038$lcssa = $$03849; label = 17; break; } L7: do { if ($6) { $$03744 = 0; while(1) { $12 = (($2) + ($$03744<<2)|0); $13 = HEAP32[$12>>2]|0; $14 = ($$03849|0)==($13|0); $10 = (($$03744) + 1)|0; if ($14) { break; } $11 = ($10|0)<($3|0); if ($11) { $$03744 = $10; } else { $$1 = $$03849; break L7; } } $15 = ($$03849|0)==($4|0); if ($15) { $$1 = $$03849; } else { $16 = ($8<<24>>24)==(62); if (!($16)) { $$038$lcssa = $$03849; label = 17; break L4; } $17 = (($$03849) + 1)|0; $18 = (($1) - ($17))|0; $19 = ($18|0)>(1); L15: do { if ($19) { $$03546 = $18;$$03645 = $17; while(1) { $20 = (($0) + ($$03645)|0); $21 = HEAP8[$20>>0]|0; $22 = ($21<<24>>24)==(38); if (!($22)) { $$03643 = $$03645; break L15; } $23 = (($$03546) + -2)|0; $24 = (($$03645) + 2)|0; $25 = ($$03546|0)>(3); if ($25) { $$03546 = $23;$$03645 = $24; } else { $$035$lcssa = $23;$$036$lcssa = $24; label = 14; break; } } } else { $$035$lcssa = $18;$$036$lcssa = $17; label = 14; } } while(0); if ((label|0) == 14) { label = 0; $26 = ($$035$lcssa|0)==(0); if ($26) { $$038$lcssa = $$03849; label = 17; break L4; } else { $$03643 = $$036$lcssa; } } $27 = (($0) + ($$03643)|0); $28 = HEAP8[$27>>0]|0; $29 = ($28<<24>>24)==(32); if ($29) { $$1 = $$03643; } else { $$038$lcssa = $$03849; label = 17; break L4; } } } else { $$1 = $$03849; } } while(0); $30 = (($$1) + 1)|0; $31 = ($30|0)<($1|0); if ($31) { $$03849 = $30; } else { $$038$lcssa = $30; label = 17; break; } } if ((label|0) == 17) { return ($$038$lcssa|0); } return (0)|0; } function _TextGroupWidget_ShiftDown($0) { $0 = $0|0; var $$013 = 0, $$lcssa = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 36|0); $2 = HEAP32[$1>>2]|0; $3 = (($2) + -1)|0; $4 = ((($0)) + 80|0); $5 = HEAP32[$4>>2]|0; $6 = (($5) + (($3*28)|0)|0); _Gfx_DeleteTexture($6); $7 = ($2|0)>(1); $8 = HEAP32[$4>>2]|0; if (!($7)) { $$lcssa = $8; HEAP32[$$lcssa>>2] = 0; _TextGroupWidget_Redraw($0,0); return; } $$013 = $3;$10 = $8; while(1) { $9 = (($10) + (($$013*28)|0)|0); $11 = (($$013) + -1)|0; $12 = (($10) + (($11*28)|0)|0); ;HEAP32[$9>>2]=HEAP32[$12>>2]|0;HEAP32[$9+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$9+8>>2]=HEAP32[$12+8>>2]|0;HEAP32[$9+12>>2]=HEAP32[$12+12>>2]|0;HEAP32[$9+16>>2]=HEAP32[$12+16>>2]|0;HEAP32[$9+20>>2]=HEAP32[$12+20>>2]|0;HEAP32[$9+24>>2]=HEAP32[$12+24>>2]|0; $13 = ($$013|0)>(1); $14 = HEAP32[$4>>2]|0; if ($13) { $$013 = $11;$10 = $14; } else { $$lcssa = $14; break; } } HEAP32[$$lcssa>>2] = 0; _TextGroupWidget_Redraw($0,0); return; } function _TextGroupWidget_UsedHeight($0) { $0 = $0|0; var $$0$lcssa = 0, $$017$lcssa = 0, $$01720 = 0, $$019 = 0, $$118 = 0, $$lcssa = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 80|0); $2 = HEAP32[$1>>2]|0; $3 = ((($0)) + 36|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)>(0); L1: do { if ($5) { $$01720 = 0;$18 = $4; while(1) { $6 = (($2) + (($$01720*28)|0)|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)==(0); if (!($8)) { $$017$lcssa = $$01720;$$lcssa = $18; break L1; } $9 = (($$01720) + 1)|0; $10 = HEAP32[$3>>2]|0; $11 = ($9|0)<($10|0); if ($11) { $$01720 = $9;$18 = $10; } else { $$017$lcssa = $9;$$lcssa = $10; break; } } } else { $$017$lcssa = 0;$$lcssa = $4; } } while(0); $12 = ($$017$lcssa|0)<($$lcssa|0); if (!($12)) { $$0$lcssa = 0; return ($$0$lcssa|0); } $$019 = 0;$$118 = $$017$lcssa; while(1) { $13 = (((($2) + (($$118*28)|0)|0)) + 10|0); $14 = HEAP16[$13>>1]|0; $15 = $14&65535; $16 = (($$019) + ($15))|0; $17 = (($$118) + 1)|0; $exitcond = ($17|0)==($$lcssa|0); if ($exitcond) { $$0$lcssa = $16; break; } else { $$019 = $16;$$118 = $17; } } return ($$0$lcssa|0); } function _TextGroupWidget_GetSelected($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$031 = 0, $$sroa$3$0$$sroa_idx8 = 0, $$sroa$3$0$copyload = 0, $$sroa$4$0$$sroa_idx10 = 0, $$sroa$4$0$copyload = 0, $$sroa$5$0$$sroa_idx12 = 0, $$sroa$5$0$copyload = 0, $$sroa$6$0$$sroa_idx14 = 0, $$sroa$6$0$copyload = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; var $21 = 0, $22 = 0, $23 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $4 = sp; $5 = ((($0)) + 36|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)>(0); if (!($7)) { STACKTOP = sp;return; } $8 = ((($0)) + 80|0); $$031 = 0; while(1) { $9 = HEAP32[$8>>2]|0; $10 = (($9) + (($$031*28)|0)|0); $11 = HEAP32[$10>>2]|0; $12 = ($11|0)==(0); if (!($12)) { $$sroa$3$0$$sroa_idx8 = (((($9) + (($$031*28)|0)|0)) + 4|0); $$sroa$3$0$copyload = HEAP16[$$sroa$3$0$$sroa_idx8>>1]|0; $$sroa$4$0$$sroa_idx10 = (((($9) + (($$031*28)|0)|0)) + 6|0); $$sroa$4$0$copyload = HEAP16[$$sroa$4$0$$sroa_idx10>>1]|0; $$sroa$5$0$$sroa_idx12 = (((($9) + (($$031*28)|0)|0)) + 8|0); $$sroa$5$0$copyload = HEAP16[$$sroa$5$0$$sroa_idx12>>1]|0; $$sroa$6$0$$sroa_idx14 = (((($9) + (($$031*28)|0)|0)) + 10|0); $$sroa$6$0$copyload = HEAP16[$$sroa$6$0$$sroa_idx14>>1]|0; $13 = $$sroa$3$0$copyload << 16 >> 16; $14 = $$sroa$4$0$copyload << 16 >> 16; $15 = $$sroa$5$0$copyload&65535; $16 = $$sroa$6$0$copyload&65535; $17 = (_Gui_Contains($13,$14,$15,$16,$2,$3)|0); $18 = ($17|0)==(0); if (!($18)) { break; } } $21 = (($$031) + 1)|0; $22 = HEAP32[$5>>2]|0; $23 = ($21|0)<($22|0); if ($23) { $$031 = $21; } else { label = 8; break; } } if ((label|0) == 8) { STACKTOP = sp;return; } $19 = (_TextGroupWidget_GetUrl($0,$1,$$031,$2)|0); $20 = ($19<<24>>24)==(0); if (!($20)) { STACKTOP = sp;return; } _TextGroupWidget_UNSAFE_Get($4,$0,$$031); _String_AppendString($1,$4); STACKTOP = sp;return; } function _TextGroupWidget_GetUrl($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$0 = 0, $$03746 = 0, $$03845 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$0$0$copyload = 0, $$sroa$10$0$$sroa_idx24 = 0, $$sroa$10$0$copyload = 0, $$sroa$4$0$$sroa_idx17 = 0, $$sroa$4$0$copyload = 0, $$sroa$9$0$$sroa_idx22 = 0, $$sroa$9$0$copyload = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond$not = 0, $or$cond44 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 3136|0; $4 = sp + 208|0; $5 = sp; $6 = sp + 3112|0; $7 = sp + 3104|0; $8 = sp + 3096|0; $9 = sp + 3088|0; ;HEAP32[$6>>2]=0|0;HEAP32[$6+4>>2]=0|0;HEAP32[$6+8>>2]=0|0;HEAP32[$6+12>>2]=0|0; $10 = ((($0)) + 80|0); $11 = HEAP32[$10>>2]|0; $12 = (((($11) + (($2*28)|0)|0)) + 4|0); $13 = HEAP16[$12>>1]|0; $14 = $13 << 16 >> 16; $15 = (($3) - ($14))|0; $16 = ((($6)) + 12|0); HEAP8[$16>>0] = 1; _TextGroupWidget_UNSAFE_Get($7,$0,$2); $17 = HEAP8[1408229]|0; $18 = ($17<<24>>24)==(0); if (!($18)) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $19 = (_TextGroupWidget_Reduce($0,$4,$2,$5)|0); $20 = ($19|0)>(0); if (!($20)) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $21 = ((($0)) + 44|0); $22 = ((($6)) + 8|0); $$03746 = 0;$$03845 = 0; while(1) { $$sroa$0$0$$sroa_idx = (($5) + ($$03845<<3)|0); $$sroa$0$0$copyload = HEAP16[$$sroa$0$0$$sroa_idx>>1]|0; $$sroa$4$0$$sroa_idx17 = (((($5) + ($$03845<<3)|0)) + 2|0); $$sroa$4$0$copyload = HEAP16[$$sroa$4$0$$sroa_idx17>>1]|0; $$sroa$9$0$$sroa_idx22 = (((($5) + ($$03845<<3)|0)) + 4|0); $$sroa$9$0$copyload = HEAP16[$$sroa$9$0$$sroa_idx22>>1]|0; $$sroa$10$0$$sroa_idx24 = (((($5) + ($$03845<<3)|0)) + 6|0); $$sroa$10$0$copyload = HEAP16[$$sroa$10$0$$sroa_idx24>>1]|0; $25 = $$sroa$9$0$copyload << 16 >> 16; $26 = $$sroa$10$0$copyload << 16 >> 16; _String_UNSAFE_Substring($9,$7,$25,$26); $27 = $9; $28 = $27; $29 = HEAP32[$28>>2]|0; $30 = (($27) + 4)|0; $31 = $30; $32 = HEAP32[$31>>2]|0; $33 = $6; $34 = $33; HEAP32[$34>>2] = $29; $35 = (($33) + 4)|0; $36 = $35; HEAP32[$36>>2] = $32; $37 = HEAP32[$21>>2]|0; HEAP32[$22>>2] = $37; $38 = (_Drawer2D_TextWidth($6)|0); $39 = ($$sroa$4$0$copyload<<16>>16)<(0); $40 = ($15|0)>=($$03746|0); $or$cond$not = $40 & $39; $41 = (($38) + ($$03746))|0; $42 = ($15|0)<($41|0); $or$cond44 = $or$cond$not & $42; $23 = (($$03845) + 1)|0; if ($or$cond44) { break; } $24 = ($23|0)<($19|0); if ($24) { $$03746 = $41;$$03845 = $23; } else { $$0 = 0; label = 7; break; } } if ((label|0) == 7) { STACKTOP = sp;return ($$0|0); } $43 = $$sroa$4$0$copyload & 32767; $44 = $43&65535; $45 = $$sroa$0$0$copyload << 16 >> 16; $46 = (($4) + ($45)|0); _String_Init_1923($8,$46,$44,$44); _TextGroupWidget_FormatUrl($1,$8); $$0 = 1; STACKTOP = sp;return ($$0|0); } function _String_Init_1923($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = $2&65535; $5 = $3&65535; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP16[$$sroa$4$0$$sroa_idx2>>1] = $4; $$sroa$5$0$$sroa_idx4 = ((($0)) + 6|0); HEAP16[$$sroa$5$0$$sroa_idx4>>1] = $5; return; } function _TextGroupWidget_FormatUrl($0,$1) { $0 = $0|0; $1 = $1|0; var $$016 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; _String_AppendColorless($0,$1); $2 = HEAP32[$0>>2]|0; $3 = ((($0)) + 4|0); $4 = HEAP16[$3>>1]|0; $5 = ($4&65535)>(1); if (!($5)) { return; } $6 = $4&65535; $7 = (($6) + -2)|0; $$016 = $7; while(1) { $8 = (($2) + ($$016)|0); $9 = HEAP8[$8>>0]|0; $10 = ($9<<24>>24)==(62); if ($10) { $11 = (($$016) + 1)|0; $12 = (($2) + ($11)|0); $13 = HEAP8[$12>>0]|0; $14 = ($13<<24>>24)==(32); if ($14) { _String_DeleteAt($0,$11); _String_DeleteAt($0,$$016); } } $15 = (($$016) + -1)|0; $16 = ($$016|0)>(0); if ($16) { $$016 = $15; } else { break; } } return; } function _TextGroupWidget_RedrawAll($0) { $0 = $0|0; var $$05 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 36|0); $2 = HEAP32[$1>>2]|0; $3 = ($2|0)>(0); if (!($3)) { return; } $$05 = 0; while(1) { _TextGroupWidget_Redraw($0,$$05); $4 = (($$05) + 1)|0; $5 = HEAP32[$1>>2]|0; $6 = ($4|0)<($5|0); if ($6) { $$05 = $4; } else { break; } } return; } function _TextGroupWidget_RedrawAllWithCol($0,$1) { $0 = $0|0; $1 = $1|0; var $$02123 = 0, $$022 = 0, $$sroa$0$0$copyload = 0, $$sroa$5$0$$sroa_idx13 = 0, $$sroa$5$0$copyload = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = ((($0)) + 36|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)>(0); if (!($5)) { STACKTOP = sp;return; } $$sroa$5$0$$sroa_idx13 = ((($2)) + 4|0); $$02123 = 0; while(1) { _TextGroupWidget_UNSAFE_Get($2,$0,$$02123); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; $$sroa$5$0$copyload = HEAP16[$$sroa$5$0$$sroa_idx13>>1]|0; $6 = ($$sroa$5$0$copyload<<16>>16)==(0); L6: do { if (!($6)) { $7 = $$sroa$5$0$copyload&65535; $8 = (($7) + -1)|0; $9 = ($$sroa$5$0$copyload<<16>>16)==(1); if (!($9)) { $$022 = 0; while(1) { $10 = (($$sroa$0$0$copyload) + ($$022)|0); $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(38); if ($12) { $13 = (($$022) + 1)|0; $14 = (($$sroa$0$0$copyload) + ($13)|0); $15 = HEAP8[$14>>0]|0; $16 = ($15<<24>>24)==($1<<24>>24); if ($16) { break; } } $17 = (($$022) + 1)|0; $18 = ($17|0)<($8|0); if ($18) { $$022 = $17; } else { break L6; } } _TextGroupWidget_Redraw($0,$$02123); } } } while(0); $19 = (($$02123) + 1)|0; $20 = HEAP32[$3>>2]|0; $21 = ($19|0)<($20|0); if ($21) { $$02123 = $19; } else { break; } } STACKTOP = sp;return; } function _TextGroupWidget_SetFont($0,$1) { $0 = $0|0; $1 = $1|0; var $$014 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = (_Drawer2D_FontHeight($1,1)|0); HEAP32[$2>>2] = $3; $4 = ((($1)) + 4|0); $5 = HEAP16[$4>>1]|0; $6 = $5&65535; _Drawer2D_ReducePadding_Height($2,$6,3); $7 = HEAP32[$2>>2]|0; $8 = ((($0)) + 40|0); HEAP32[$8>>2] = $7; $9 = ((($0)) + 36|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)>(0); if ($11) { $12 = $7&65535; $13 = ((($0)) + 80|0); $$014 = 0; while(1) { $14 = (((($0)) + 48|0) + ($$014)|0); $15 = HEAP8[$14>>0]|0; $16 = ($15<<24>>24)==(0); $17 = $16 ? $12 : 0; $18 = HEAP32[$13>>2]|0; $19 = (((($18) + (($$014*28)|0)|0)) + 10|0); HEAP16[$19>>1] = $17; $20 = (($$014) + 1)|0; $21 = HEAP32[$9>>2]|0; $22 = ($20|0)<($21|0); if ($22) { $$014 = $20; } else { break; } } } $23 = ((($0)) + 44|0); HEAP32[$23>>2] = $1; $24 = HEAP32[$0>>2]|0; $25 = ((($24)) + 8|0); $26 = HEAP32[$25>>2]|0; FUNCTION_TABLE_vi[$26 & 511]($0); STACKTOP = sp;return; } function _TextGroupWidget_Create($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; _Widget_Reset($0); HEAP32[$0>>2] = 18648; $4 = ((($0)) + 36|0); HEAP32[$4>>2] = $1; $5 = ((($0)) + 80|0); HEAP32[$5>>2] = $2; $6 = ((($0)) + 84|0); HEAP32[$6>>2] = $3; return; } function _TextGroupWidget_Render($0,$1) { $0 = $0|0; $1 = +$1; var $$013 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 80|0); $3 = HEAP32[$2>>2]|0; $4 = ((($0)) + 36|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)>(0); if (!($6)) { return; } $$013 = 0; while(1) { $7 = (($3) + (($$013*28)|0)|0); $8 = HEAP32[$7>>2]|0; $9 = ($8|0)==(0); if (!($9)) { _Texture_Render($7); } $10 = (($$013) + 1)|0; $11 = HEAP32[$4>>2]|0; $12 = ($10|0)<($11|0); if ($12) { $$013 = $10; } else { break; } } return; } function _TextGroupWidget_Free($0) { $0 = $0|0; var $$08 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 36|0); $2 = HEAP32[$1>>2]|0; $3 = ($2|0)>(0); if (!($3)) { return; } $4 = ((($0)) + 80|0); $$08 = 0; while(1) { $5 = HEAP32[$4>>2]|0; $6 = (($5) + (($$08*28)|0)|0); _Gfx_DeleteTexture($6); $7 = (($$08) + 1)|0; $8 = HEAP32[$1>>2]|0; $9 = ($7|0)<($8|0); if ($9) { $$08 = $7; } else { break; } } return; } function _TextGroupWidget_Reposition($0) { $0 = $0|0; var $$0$lcssa = 0, $$044$ = 0, $$044$lcssa = 0, $$04450 = 0, $$04548 = 0, $$04649 = 0, $$051 = 0, $$147 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 80|0); $2 = HEAP32[$1>>2]|0; $3 = ((($0)) + 36|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)>(0); if ($5) { $6 = HEAP32[$3>>2]|0; $$04450 = 0;$$04649 = 0;$$051 = 0; while(1) { $7 = (((($2) + (($$04649*28)|0)|0)) + 8|0); $8 = HEAP16[$7>>1]|0; $9 = $8&65535; $10 = ($$04450|0)>($9|0); $$044$ = $10 ? $$04450 : $9; $11 = (((($2) + (($$04649*28)|0)|0)) + 10|0); $12 = HEAP16[$11>>1]|0; $13 = $12&65535; $14 = (($$051) + ($13))|0; $15 = (($$04649) + 1)|0; $16 = ($15|0)<($6|0); if ($16) { $$04450 = $$044$;$$04649 = $15;$$051 = $14; } else { $$0$lcssa = $14;$$044$lcssa = $$044$; break; } } } else { $$0$lcssa = 0;$$044$lcssa = 0; } $17 = ((($0)) + 12|0); HEAP32[$17>>2] = $$044$lcssa; $18 = ((($0)) + 16|0); HEAP32[$18>>2] = $$0$lcssa; _Widget_CalcPosition($0); $19 = HEAP32[$3>>2]|0; $20 = ($19|0)>(0); if (!($20)) { return; } $21 = ((($0)) + 8|0); $22 = HEAP32[$21>>2]|0; $23 = ((($0)) + 22|0); $24 = ((($0)) + 24|0); $$04548 = $22;$$147 = 0; while(1) { $25 = HEAP8[$23>>0]|0; $26 = HEAP32[$24>>2]|0; $27 = (((($2) + (($$147*28)|0)|0)) + 8|0); $28 = HEAP16[$27>>1]|0; $29 = $28&65535; $30 = HEAP32[351858]|0; $31 = (_Gui_CalcPos($25,$26,$29,$30)|0); $32 = $31&65535; $33 = (((($2) + (($$147*28)|0)|0)) + 4|0); HEAP16[$33>>1] = $32; $34 = $$04548&65535; $35 = (((($2) + (($$147*28)|0)|0)) + 6|0); HEAP16[$35>>1] = $34; $36 = (((($2) + (($$147*28)|0)|0)) + 10|0); $37 = HEAP16[$36>>1]|0; $38 = $37&65535; $39 = (($$04548) + ($38))|0; $40 = (($$147) + 1)|0; $41 = HEAP32[$3>>2]|0; $42 = ($40|0)<($41|0); if ($42) { $$04548 = $39;$$147 = $40; } else { break; } } return; } function _SpecialInputWidget_Redraw($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 44|0); $2 = HEAP32[$1>>2]|0; $3 = (((($0)) + 92|0) + (($2*28)|0)|0); _SpecialInputWidget_Make($0,$3); $4 = ((($0)) + 64|0); $5 = HEAP16[$4>>1]|0; $6 = $5&65535; $7 = ((($0)) + 12|0); HEAP32[$7>>2] = $6; $8 = ((($0)) + 48|0); HEAP8[$8>>0] = 0; $9 = HEAP32[$0>>2]|0; $10 = ((($9)) + 8|0); $11 = HEAP32[$10>>2]|0; FUNCTION_TABLE_vi[$11 & 511]($0); return; } function _SpecialInputWidget_Make($0,$1) { $0 = $0|0; $1 = $1|0; var $$sroa$0$0$copyload = 0, $$sroa$013$0$copyload = 0, $$sroa$5$0$$sroa_idx10 = 0, $$sroa$5$0$copyload = 0, $$sroa$516$0$$sroa_idx17 = 0, $$sroa$516$0$copyload = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $2 = sp + 16|0; $3 = sp + 8|0; $4 = sp; _SpecialInputWidget_MeasureTitles($3,$0); $$sroa$013$0$copyload = HEAP32[$3>>2]|0; $$sroa$516$0$$sroa_idx17 = ((($3)) + 4|0); $$sroa$516$0$copyload = HEAP32[$$sroa$516$0$$sroa_idx17>>2]|0; _SpecialInputWidget_MeasureContent($4,$0,$1); $$sroa$0$0$copyload = HEAP32[$4>>2]|0; $$sroa$5$0$$sroa_idx10 = ((($4)) + 4|0); $$sroa$5$0$copyload = HEAP32[$$sroa$5$0$$sroa_idx10>>2]|0; $5 = ($$sroa$013$0$copyload|0)>($$sroa$0$0$copyload|0); $6 = $5 ? $$sroa$013$0$copyload : $$sroa$0$0$copyload; $7 = (($$sroa$5$0$copyload) + ($$sroa$516$0$copyload))|0; $8 = ((($0)) + 56|0); _Gfx_DeleteTexture($8); _Bitmap_AllocateClearedPow2($2,$6,$7); _SpecialInputWidget_DrawTitles($0,$2); _Drawer2D_Clear($2,-937550306,0,$$sroa$516$0$copyload,$6,$$sroa$5$0$copyload); _SpecialInputWidget_DrawContent($0,$1,$2,$$sroa$516$0$copyload); _Drawer2D_MakeTexture($8,$2,$6,$7); $9 = HEAP32[$2>>2]|0; _Mem_Free($9); STACKTOP = sp;return; } function _SpecialInputWidget_MeasureTitles($0,$1) { $0 = $0|0; $1 = $1|0; var $$sroa$6$0$$sroa_idx7 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $9 = 0; var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = ((($1)) + 84|0); $4 = HEAP32[$3>>2]|0; _DrawTextArgs_MakeEmpty($2,$4,0); $5 = ((($1)) + 104|0); $6 = $5; $7 = $6; $8 = HEAP32[$7>>2]|0; $9 = (($6) + 4)|0; $10 = $9; $11 = HEAP32[$10>>2]|0; $12 = $2; $13 = $12; HEAP32[$13>>2] = $8; $14 = (($12) + 4)|0; $15 = $14; HEAP32[$15>>2] = $11; $16 = (_Drawer2D_TextWidth($2)|0); $17 = (($16) + 10)|0; $18 = ((($1)) + 100|0); HEAP32[$18>>2] = $17; $19 = ((($1)) + 132|0); $20 = $19; $21 = $20; $22 = HEAP32[$21>>2]|0; $23 = (($20) + 4)|0; $24 = $23; $25 = HEAP32[$24>>2]|0; $26 = $2; $27 = $26; HEAP32[$27>>2] = $22; $28 = (($26) + 4)|0; $29 = $28; HEAP32[$29>>2] = $25; $30 = (_Drawer2D_TextWidth($2)|0); $31 = (($30) + 10)|0; $32 = ((($1)) + 128|0); HEAP32[$32>>2] = $31; $33 = (($31) + ($17))|0; $34 = ((($1)) + 160|0); $35 = $34; $36 = $35; $37 = HEAP32[$36>>2]|0; $38 = (($35) + 4)|0; $39 = $38; $40 = HEAP32[$39>>2]|0; $41 = $2; $42 = $41; HEAP32[$42>>2] = $37; $43 = (($41) + 4)|0; $44 = $43; HEAP32[$44>>2] = $40; $45 = (_Drawer2D_TextWidth($2)|0); $46 = (($45) + 10)|0; $47 = ((($1)) + 156|0); HEAP32[$47>>2] = $46; $48 = (($46) + ($33))|0; $49 = ((($1)) + 188|0); $50 = $49; $51 = $50; $52 = HEAP32[$51>>2]|0; $53 = (($50) + 4)|0; $54 = $53; $55 = HEAP32[$54>>2]|0; $56 = $2; $57 = $56; HEAP32[$57>>2] = $52; $58 = (($56) + 4)|0; $59 = $58; HEAP32[$59>>2] = $55; $60 = (_Drawer2D_TextWidth($2)|0); $61 = (($60) + 10)|0; $62 = ((($1)) + 184|0); HEAP32[$62>>2] = $61; $63 = (($61) + ($48))|0; $64 = ((($1)) + 216|0); $65 = $64; $66 = $65; $67 = HEAP32[$66>>2]|0; $68 = (($65) + 4)|0; $69 = $68; $70 = HEAP32[$69>>2]|0; $71 = $2; $72 = $71; HEAP32[$72>>2] = $67; $73 = (($71) + 4)|0; $74 = $73; HEAP32[$74>>2] = $70; $75 = (_Drawer2D_TextWidth($2)|0); $76 = (($75) + 10)|0; $77 = ((($1)) + 212|0); HEAP32[$77>>2] = $76; $78 = (($76) + ($63))|0; $79 = (_Drawer2D_TextHeight($2)|0); $80 = ((($1)) + 88|0); HEAP32[$80>>2] = $79; HEAP32[$0>>2] = $78; $$sroa$6$0$$sroa_idx7 = ((($0)) + 4|0); HEAP32[$$sroa$6$0$$sroa_idx7>>2] = $79; STACKTOP = sp;return; } function _SpecialInputWidget_MeasureContent($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$0$lcssa = 0, $$03233 = 0, $$034 = 0, $$lcssa = 0, $$sroa$0$0$copyload = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx17 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$0$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; var $8 = 0, $9 = 0, $phitmp = 0, $phitmp$le = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $3 = sp + 8|0; $4 = sp; $5 = ((($1)) + 84|0); $6 = HEAP32[$5>>2]|0; _DrawTextArgs_MakeEmpty($3,$6,0); $7 = ((($2)) + 4|0); $8 = HEAP32[$7>>2]|0; $9 = $8&65535; $10 = ((($3)) + 4|0); HEAP16[$10>>1] = $9; $11 = ((($2)) + 24|0); $12 = HEAP16[$11>>1]|0; $13 = ($12<<16>>16)==(0); if ($13) { $$0$lcssa = 5;$$lcssa = 0;$$sroa$7$0$lcssa = 0; } else { $14 = ((($2)) + 20|0); $$03233 = 0;$$034 = 0; while(1) { $15 = HEAP32[$14>>2]|0; $16 = (($15) + ($$03233)|0); HEAP32[$3>>2] = $16; _Drawer2D_MeasureText($4,$3); $$sroa$0$0$copyload = HEAP32[$4>>2]|0; $17 = ($$034|0)>($$sroa$0$0$copyload|0); $18 = $17 ? $$034 : $$sroa$0$0$copyload; $19 = HEAP32[$7>>2]|0; $20 = (($19) + ($$03233))|0; $21 = HEAP16[$11>>1]|0; $22 = $21&65535; $23 = ($20|0)<($22|0); if ($23) { $$03233 = $20;$$034 = $18; } else { break; } } $$sroa$7$0$$sroa_idx16 = ((($4)) + 4|0); $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx16>>2]|0; $phitmp$le = (($$sroa$7$0$copyload) + 5)|0; $24 = $21&65535; $phitmp = (($18) + 5)|0; $$0$lcssa = $phitmp;$$lcssa = $24;$$sroa$7$0$lcssa = $phitmp$le; } $25 = ((($1)) + 36|0); HEAP32[$25>>2] = $$0$lcssa; $26 = ((($1)) + 40|0); HEAP32[$26>>2] = $$sroa$7$0$lcssa; $27 = HEAP32[$7>>2]|0; $28 = (($$lcssa|0) / ($27|0))&-1; $29 = HEAP32[$2>>2]|0; $30 = (_Math_CeilDiv($28,$29)|0); $31 = HEAP32[$25>>2]|0; $32 = HEAP32[$2>>2]|0; $33 = Math_imul($32, $31)|0; $34 = HEAP32[$26>>2]|0; $35 = Math_imul($34, $30)|0; HEAP32[$0>>2] = $33; $$sroa$7$0$$sroa_idx17 = ((($0)) + 4|0); HEAP32[$$sroa$7$0$$sroa_idx17>>2] = $35; STACKTOP = sp;return; } function _SpecialInputWidget_DrawTitles($0,$1) { $0 = $0|0; $1 = $1|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $2 = sp; $3 = ((($0)) + 84|0); $4 = HEAP32[$3>>2]|0; _DrawTextArgs_MakeEmpty($2,$4,0); $5 = ((($0)) + 44|0); $6 = ((($0)) + 88|0); $7 = ((($0)) + 104|0); $8 = $7; $9 = $8; $10 = HEAP32[$9>>2]|0; $11 = (($8) + 4)|0; $12 = $11; $13 = HEAP32[$12>>2]|0; $14 = $2; $15 = $14; HEAP32[$15>>2] = $10; $16 = (($14) + 4)|0; $17 = $16; HEAP32[$17>>2] = $13; $18 = HEAP32[$5>>2]|0; $19 = ($18|0)==(0); $20 = $19 ? -937550306 : 2130706432; $21 = ((($0)) + 100|0); $22 = HEAP32[$21>>2]|0; $23 = HEAP32[$6>>2]|0; _Drawer2D_Clear($1,$20,0,0,$22,$23); _Drawer2D_DrawText($1,$2,5,0); $24 = ((($0)) + 132|0); $25 = $24; $26 = $25; $27 = HEAP32[$26>>2]|0; $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; $31 = $2; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; $34 = $33; HEAP32[$34>>2] = $30; $35 = HEAP32[$5>>2]|0; $36 = ($35|0)==(1); $37 = $36 ? -937550306 : 2130706432; $38 = ((($0)) + 128|0); $39 = HEAP32[$38>>2]|0; $40 = HEAP32[$6>>2]|0; _Drawer2D_Clear($1,$37,$22,0,$39,$40); $41 = (($22) + 5)|0; _Drawer2D_DrawText($1,$2,$41,0); $42 = (($39) + ($22))|0; $43 = ((($0)) + 160|0); $44 = $43; $45 = $44; $46 = HEAP32[$45>>2]|0; $47 = (($44) + 4)|0; $48 = $47; $49 = HEAP32[$48>>2]|0; $50 = $2; $51 = $50; HEAP32[$51>>2] = $46; $52 = (($50) + 4)|0; $53 = $52; HEAP32[$53>>2] = $49; $54 = HEAP32[$5>>2]|0; $55 = ($54|0)==(2); $56 = $55 ? -937550306 : 2130706432; $57 = ((($0)) + 156|0); $58 = HEAP32[$57>>2]|0; $59 = HEAP32[$6>>2]|0; _Drawer2D_Clear($1,$56,$42,0,$58,$59); $60 = (($42) + 5)|0; _Drawer2D_DrawText($1,$2,$60,0); $61 = (($58) + ($42))|0; $62 = ((($0)) + 188|0); $63 = $62; $64 = $63; $65 = HEAP32[$64>>2]|0; $66 = (($63) + 4)|0; $67 = $66; $68 = HEAP32[$67>>2]|0; $69 = $2; $70 = $69; HEAP32[$70>>2] = $65; $71 = (($69) + 4)|0; $72 = $71; HEAP32[$72>>2] = $68; $73 = HEAP32[$5>>2]|0; $74 = ($73|0)==(3); $75 = $74 ? -937550306 : 2130706432; $76 = ((($0)) + 184|0); $77 = HEAP32[$76>>2]|0; $78 = HEAP32[$6>>2]|0; _Drawer2D_Clear($1,$75,$61,0,$77,$78); $79 = (($61) + 5)|0; _Drawer2D_DrawText($1,$2,$79,0); $80 = (($77) + ($61))|0; $81 = ((($0)) + 216|0); $82 = $81; $83 = $82; $84 = HEAP32[$83>>2]|0; $85 = (($82) + 4)|0; $86 = $85; $87 = HEAP32[$86>>2]|0; $88 = $2; $89 = $88; HEAP32[$89>>2] = $84; $90 = (($88) + 4)|0; $91 = $90; HEAP32[$91>>2] = $87; $92 = HEAP32[$5>>2]|0; $93 = ($92|0)==(4); $94 = $93 ? -937550306 : 2130706432; $95 = ((($0)) + 212|0); $96 = HEAP32[$95>>2]|0; $97 = HEAP32[$6>>2]|0; _Drawer2D_Clear($1,$94,$80,0,$96,$97); $98 = (($80) + 5)|0; _Drawer2D_DrawText($1,$2,$98,0); STACKTOP = sp;return; } function _SpecialInputWidget_DrawContent($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $$029 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $4 = sp; $5 = HEAP32[$1>>2]|0; $6 = ((($0)) + 84|0); $7 = HEAP32[$6>>2]|0; _DrawTextArgs_MakeEmpty($4,$7,0); $8 = ((($1)) + 4|0); $9 = HEAP32[$8>>2]|0; $10 = $9&65535; $11 = ((($4)) + 4|0); HEAP16[$11>>1] = $10; $12 = ((($1)) + 24|0); $13 = HEAP16[$12>>1]|0; $14 = ($13<<16>>16)==(0); if ($14) { STACKTOP = sp;return; } $15 = ((($1)) + 20|0); $16 = ((($0)) + 36|0); $17 = ((($0)) + 40|0); $$029 = 0; while(1) { $18 = HEAP32[$15>>2]|0; $19 = (($18) + ($$029)|0); HEAP32[$4>>2] = $19; $20 = HEAP32[$8>>2]|0; $21 = (($$029|0) / ($20|0))&-1; $22 = (($21|0) / ($5|0))&-1; $23 = Math_imul($22, $5)|0; $24 = (($21) - ($23))|0; $25 = HEAP32[$16>>2]|0; $26 = Math_imul($25, $24)|0; $27 = HEAP32[$17>>2]|0; $28 = Math_imul($27, $22)|0; $29 = (($28) + ($3))|0; _Drawer2D_DrawText($2,$4,$26,$29); $30 = HEAP32[$8>>2]|0; $31 = (($30) + ($$029))|0; $32 = HEAP16[$12>>1]|0; $33 = $32&65535; $34 = ($31|0)<($33|0); if ($34) { $$029 = $31; } else { break; } } STACKTOP = sp;return; } function _SpecialInputWidget_UpdateCols($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; _SpecialInputWidget_UpdateColString($0); $1 = ((($0)) + 112|0); $2 = ((($0)) + 232|0); $3 = $2; $4 = $3; $5 = HEAP32[$4>>2]|0; $6 = (($3) + 4)|0; $7 = $6; $8 = HEAP32[$7>>2]|0; $9 = $1; $10 = $9; HEAP32[$10>>2] = $5; $11 = (($9) + 4)|0; $12 = $11; HEAP32[$12>>2] = $8; $13 = ((($0)) + 44|0); $14 = HEAP32[$13>>2]|0; $15 = ($14|0)==(0); if (!($15)) { return; } $16 = ((($0)) + 20|0); $17 = HEAP8[$16>>0]|0; $18 = ($17<<24>>24)==(0); if ($18) { $19 = ((($0)) + 48|0); HEAP8[$19>>0] = 1; return; } else { _SpecialInputWidget_Redraw($0); return; } } function _SpecialInputWidget_UpdateColString($0) { $0 = $0|0; var $$0$off = 0, $$016 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 240|0); $2 = ((($0)) + 232|0); HEAP32[$2>>2] = $1; $3 = ((($0)) + 236|0); HEAP16[$3>>1] = 0; $4 = ((($0)) + 238|0); HEAP16[$4>>1] = 1024; $$016 = 0; while(1) { $$0$off = (($$016) + -65)|0; $5 = ($$0$off>>>0)<(6); if (!($5)) { $6 = (154320 + ($$016<<2)|0); $7 = HEAP32[$6>>2]|0; $8 = ($7>>>0)>(16777215); if ($8) { _String_Append($2,38); $9 = $$016&255; _String_Append($2,$9); _String_Append($2,37); _String_Append($2,$9); } } $10 = (($$016) + 1)|0; $exitcond = ($10|0)==(256); if ($exitcond) { break; } else { $$016 = $10; } } return; } function _SpecialInputWidget_SetActive($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 20|0); HEAP8[$2>>0] = $1; $3 = ($1<<24>>24)==(0); if (!($3)) { $4 = ((($0)) + 48|0); $5 = HEAP8[$4>>0]|0; $6 = ($5<<24>>24)==(0); if (!($6)) { _SpecialInputWidget_Redraw($0); } } $7 = HEAP32[$0>>2]|0; $8 = ((($7)) + 8|0); $9 = HEAP32[$8>>2]|0; FUNCTION_TABLE_vi[$9 & 511]($0); return; } function _SpecialInputWidget_Create($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; _Widget_Reset($0); HEAP32[$0>>2] = 18692; $3 = ((($0)) + 23|0); HEAP8[$3>>0] = 2; $4 = ((($0)) + 84|0); HEAP32[$4>>2] = $1; $5 = ((($0)) + 52|0); HEAP32[$5>>2] = $2; _SpecialInputWidget_InitTabs($0); return; } function _SpecialInputWidget_InitTabs($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; _SpecialInputWidget_UpdateColString($0); $1 = ((($0)) + 92|0); $2 = ((($0)) + 232|0); _SpecialInputTab_Init($1,18736,10,4,$2); $3 = ((($0)) + 120|0); _SpecialInputTab_Init($3,18744,16,1,18752); $4 = ((($0)) + 148|0); _SpecialInputTab_Init($4,18760,17,1,18768); $5 = ((($0)) + 176|0); _SpecialInputTab_Init($5,18776,17,1,18784); $6 = ((($0)) + 204|0); _SpecialInputTab_Init($6,18792,16,1,18800); return; } function _SpecialInputTab_Init($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $5 = ((($0)) + 12|0); $6 = $1; $7 = $6; $8 = HEAP32[$7>>2]|0; $9 = (($6) + 4)|0; $10 = $9; $11 = HEAP32[$10>>2]|0; $12 = $5; $13 = $12; HEAP32[$13>>2] = $8; $14 = (($12) + 4)|0; $15 = $14; HEAP32[$15>>2] = $11; $16 = ((($0)) + 8|0); HEAP32[$16>>2] = 0; $17 = ((($0)) + 20|0); $18 = $4; $19 = $18; $20 = HEAP32[$19>>2]|0; $21 = (($18) + 4)|0; $22 = $21; $23 = HEAP32[$22>>2]|0; $24 = $17; $25 = $24; HEAP32[$25>>2] = $20; $26 = (($24) + 4)|0; $27 = $26; HEAP32[$27>>2] = $23; HEAP32[$0>>2] = $2; $28 = ((($0)) + 4|0); HEAP32[$28>>2] = $3; return; } function _SpecialInputWidget_Render($0,$1) { $0 = $0|0; $1 = +$1; var $2 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 56|0); _Texture_Render($2); return; } function _SpecialInputWidget_Free($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 56|0); _Gfx_DeleteTexture($1); return; } function _SpecialInputWidget_Reposition($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 20|0); $2 = HEAP8[$1>>0]|0; $3 = ($2<<24>>24)==(0); if ($3) { $8 = 0; } else { $4 = ((($0)) + 66|0); $5 = HEAP16[$4>>1]|0; $6 = $5&65535; $8 = $6; } $7 = ((($0)) + 16|0); HEAP32[$7>>2] = $8; _Widget_CalcPosition($0); $9 = ((($0)) + 4|0); $10 = HEAP32[$9>>2]|0; $11 = $10&65535; $12 = ((($0)) + 60|0); HEAP16[$12>>1] = $11; $13 = ((($0)) + 8|0); $14 = HEAP32[$13>>2]|0; $15 = $14&65535; $16 = ((($0)) + 62|0); HEAP16[$16>>1] = $15; return; } function _SpecialInputWidget_PointerDown($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $10 = 0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = ((($0)) + 4|0); $5 = HEAP32[$4>>2]|0; $6 = (($2) - ($5))|0; $7 = ((($0)) + 8|0); $8 = HEAP32[$7>>2]|0; $9 = (($3) - ($8))|0; $10 = (_SpecialInputWidget_IntersectsTitle($0,$6,$9)|0); $11 = ($10<<24>>24)==(0); if ($11) { _SpecialInputWidget_IntersectsBody($0,$6,$9); return 1; } else { _SpecialInputWidget_Redraw($0); return 1; } return (0)|0; } function _SpecialInputWidget_IntersectsTitle($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$018 = 0, $$01921$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ((($0)) + 88|0); $4 = ((($0)) + 100|0); $5 = HEAP32[$4>>2]|0; $6 = HEAP32[$3>>2]|0; $7 = (_Gui_Contains(0,0,$5,$6,$1,$2)|0); $8 = ($7|0)==(0); if ($8) { $10 = ((($0)) + 128|0); $11 = HEAP32[$10>>2]|0; $12 = HEAP32[$3>>2]|0; $13 = (_Gui_Contains($5,0,$11,$12,$1,$2)|0); $14 = ($13|0)==(0); if ($14) { $15 = (($11) + ($5))|0; $16 = ((($0)) + 156|0); $17 = HEAP32[$16>>2]|0; $18 = HEAP32[$3>>2]|0; $19 = (_Gui_Contains($15,0,$17,$18,$1,$2)|0); $20 = ($19|0)==(0); if ($20) { $21 = (($17) + ($15))|0; $22 = ((($0)) + 184|0); $23 = HEAP32[$22>>2]|0; $24 = HEAP32[$3>>2]|0; $25 = (_Gui_Contains($21,0,$23,$24,$1,$2)|0); $26 = ($25|0)==(0); if ($26) { $27 = (($23) + ($21))|0; $28 = ((($0)) + 212|0); $29 = HEAP32[$28>>2]|0; $30 = HEAP32[$3>>2]|0; $31 = (_Gui_Contains($27,0,$29,$30,$1,$2)|0); $32 = ($31|0)==(0); if ($32) { $$018 = 0; return ($$018|0); } else { $$01921$lcssa = 4; } } else { $$01921$lcssa = 3; } } else { $$01921$lcssa = 2; } } else { $$01921$lcssa = 1; } } else { $$01921$lcssa = 0; } $9 = ((($0)) + 44|0); HEAP32[$9>>2] = $$01921$lcssa; $$018 = 1; return ($$018|0); } function _SpecialInputWidget_IntersectsBody($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$sroa$0$0$$sroa_idx = 0, $$sroa$0$0$copyload = 0, $$sroa$4$0$$sroa_idx4 = 0, $$sroa$4$0$copyload = 0, $$sroa$69$0$$sroa_idx10 = 0, $$sroa$69$0$copyload = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $3 = sp; $4 = ((($0)) + 44|0); $5 = HEAP32[$4>>2]|0; $$sroa$0$0$$sroa_idx = (((($0)) + 92|0) + (($5*28)|0)|0); $$sroa$0$0$copyload = HEAP32[$$sroa$0$0$$sroa_idx>>2]|0; $$sroa$4$0$$sroa_idx4 = (((((($0)) + 92|0) + (($5*28)|0)|0)) + 4|0); $$sroa$4$0$copyload = HEAP32[$$sroa$4$0$$sroa_idx4>>2]|0; $$sroa$69$0$$sroa_idx10 = (((((($0)) + 92|0) + (($5*28)|0)|0)) + 20|0); $$sroa$69$0$copyload = HEAP32[$$sroa$69$0$$sroa_idx10>>2]|0; $$sroa$7$0$$sroa_idx12 = (((((($0)) + 92|0) + (($5*28)|0)|0)) + 24|0); $$sroa$7$0$copyload = HEAP16[$$sroa$7$0$$sroa_idx12>>1]|0; $6 = ((($0)) + 88|0); $7 = HEAP32[$6>>2]|0; $8 = (($2) - ($7))|0; $9 = ((($0)) + 36|0); $10 = HEAP32[$9>>2]|0; $11 = (($1|0) / ($10|0))&-1; $12 = ((($0)) + 40|0); $13 = HEAP32[$12>>2]|0; $14 = (($8|0) / ($13|0))&-1; $15 = Math_imul($14, $$sroa$0$0$copyload)|0; $16 = (($15) + ($11))|0; $17 = Math_imul($16, $$sroa$4$0$copyload)|0; $18 = $$sroa$7$0$copyload&65535; $19 = ($17|0)<($18|0); if (!($19)) { STACKTOP = sp;return; } $20 = (($$sroa$69$0$copyload) + ($17)|0); _String_Init_1923($3,$20,$$sroa$4$0$copyload,0); $21 = HEAP32[$4>>2]|0; $22 = ($21|0)==(0); if ($22) { $23 = ((($3)) + 4|0); HEAP16[$23>>1] = 2; } $24 = ((($0)) + 52|0); $25 = HEAP32[$24>>2]|0; _InputWidget_AppendText($25,$3); STACKTOP = sp;return; } function _Window_GotClipboardText($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; _String_FromReadonly($1,$0); $2 = HEAP32[351860]|0; $3 = ($2|0)==(0|0); if ($3) { STACKTOP = sp;return; } $4 = HEAP32[351861]|0; FUNCTION_TABLE_vii[$2 & 127]($1,$4); HEAP32[351860] = 0; STACKTOP = sp;return; } function _Window_OnTextChanged($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 816|0; $1 = sp; $2 = sp + 800|0; HEAP32[$2>>2] = $1; $3 = ((($2)) + 4|0); HEAP16[$3>>1] = 0; $4 = ((($2)) + 6|0); HEAP16[$4>>1] = 800; $5 = (_String_CalcLen($0,800)|0); _String_AppendUtf8($2,$0,$5); _Event_RaiseString((1258356),$2); STACKTOP = sp;return; } function _Display_ScaleX($0) { $0 = $0|0; var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (+($0|0)); $2 = +HEAPF32[4702]; $3 = $2 * $1; $4 = (~~(($3))); return ($4|0); } function _Display_ScaleY($0) { $0 = $0|0; var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (+($0|0)); $2 = +HEAPF32[4703]; $3 = $2 * $1; $4 = (~~(($3))); return ($4|0); } function _Cursor_SetVisible($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP8[38945]|0; $2 = ($1<<24>>24)==($0<<24>>24); if ($2) { return; } HEAP8[38945] = $0; _Cursor_DoSetVisible($0); return; } function _Cursor_DoSetVisible($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ($0<<24>>24)==(0); if ($1) { $3 = _emscripten_asm_const_i(5)|0; return; } else { $2 = _emscripten_asm_const_i(4)|0; return; } } function _Window_ShowDialog($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP8[38945]|0; $3 = ($2<<24>>24)==(0); if ($3) { _Cursor_SetVisible(1); _Window_DoShowDialog($0,$1); _Cursor_SetVisible(0); return; } else { _Window_DoShowDialog($0,$1); return; } } function _Window_DoShowDialog($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = _emscripten_asm_const_iii(6,($0|0),($1|0))|0; return; } function _GraphicsMode_MakeDefault($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[351857]|0; $2 = ($1|0)<(15); $3 = $2&1; $4 = ((($0)) + 16|0); HEAP32[$4>>2] = $3; $5 = ((($0)) + 12|0); HEAP32[$5>>2] = 0; switch ($1|0) { case 4: { HEAP32[$0>>2] = 2; $14 = ((($0)) + 4|0); HEAP32[$14>>2] = 2; $15 = ((($0)) + 8|0); HEAP32[$15>>2] = 1; return; break; } case 24: { HEAP32[$0>>2] = 8; $6 = ((($0)) + 4|0); HEAP32[$6>>2] = 8; $7 = ((($0)) + 8|0); HEAP32[$7>>2] = 8; return; break; } case 16: { HEAP32[$0>>2] = 5; $8 = ((($0)) + 4|0); HEAP32[$8>>2] = 6; $9 = ((($0)) + 8|0); HEAP32[$9>>2] = 5; return; break; } case 15: { HEAP32[$0>>2] = 5; $10 = ((($0)) + 4|0); HEAP32[$10>>2] = 5; $11 = ((($0)) + 8|0); HEAP32[$11>>2] = 5; return; break; } case 8: { HEAP32[$0>>2] = 3; $12 = ((($0)) + 4|0); HEAP32[$12>>2] = 3; $13 = ((($0)) + 8|0); HEAP32[$13>>2] = 2; return; break; } default: { _Logger_Abort2($1,39092); return; } } } function _Window_Init() { var $0 = 0, $1 = 0, $10 = 0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = _emscripten_asm_const_i(7)|0; HEAP32[352047] = $0; $1 = _emscripten_asm_const_i(8)|0; HEAP32[352048] = $1; HEAP32[351857] = 24; $2 = (+_emscripten_get_device_pixel_ratio()); $3 = $2; HEAPF32[4702] = $3; HEAPF32[4703] = $3; $4 = _emscripten_asm_const_i(9)|0; $5 = _emscripten_asm_const_i(10)|0; $6 = _emscripten_asm_const_i(11)|0; $7 = $6&255; HEAP8[1408267] = $7; $8 = $6 & 255; $9 = ($8|0)==(0); $10 = $9&1; HEAP32[315331] = $10; return; } function _Window_Create($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; HEAP8[1408300] = 1; HEAP8[1408301] = 1; _Window_HookEvents(); _Window_RefreshBounds(); return; } function _Window_HookEvents() { var label = 0, sp = 0; sp = STACKTOP; (_emscripten_set_wheel_callback_on_thread((39815|0),(0|0),0,(3|0),((2)|0))|0); (_emscripten_set_mousedown_callback_on_thread((39823|0),(0|0),0,(4|0),((2)|0))|0); (_emscripten_set_mouseup_callback_on_thread((39823|0),(0|0),0,(4|0),((2)|0))|0); (_emscripten_set_mousemove_callback_on_thread((39823|0),(0|0),0,(5|0),((2)|0))|0); (_emscripten_set_focus_callback_on_thread((39815|0),(0|0),0,(6|0),((2)|0))|0); (_emscripten_set_blur_callback_on_thread((39815|0),(0|0),0,(6|0),((2)|0))|0); (_emscripten_set_resize_callback_on_thread((39815|0),(0|0),0,(7|0),((2)|0))|0); (_emscripten_set_beforeunload_callback_on_thread((0|0),(8|0),((1)|0))|0); (_emscripten_set_keydown_callback_on_thread((39815|0),(0|0),0,(9|0),((2)|0))|0); (_emscripten_set_keyup_callback_on_thread((39815|0),(0|0),0,(9|0),((2)|0))|0); (_emscripten_set_keypress_callback_on_thread((39815|0),(0|0),0,(10|0),((2)|0))|0); (_emscripten_set_touchstart_callback_on_thread((39815|0),(0|0),0,(11|0),((2)|0))|0); (_emscripten_set_touchmove_callback_on_thread((39815|0),(0|0),0,(12|0),((2)|0))|0); (_emscripten_set_touchend_callback_on_thread((39815|0),(0|0),0,(13|0),((2)|0))|0); (_emscripten_set_touchcancel_callback_on_thread((39815|0),(0|0),0,(13|0),((2)|0))|0); return; } function _Window_RefreshBounds() { var label = 0, sp = 0; sp = STACKTOP; (_emscripten_get_canvas_element_size((0|0),(1407432|0),(1407436|0))|0); return; } function _Window_MouseWheel($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, label = 0, sp = 0; sp = STACKTOP; $3 = ((($1)) + 80|0); $4 = +HEAPF64[$3>>3]; $5 = $4; $6 = (_Math_Sign($5)|0); $7 = (0 - ($6))|0; $8 = (+($7|0)); _Mouse_ScrollWheel($8); _Window_CorrectFocus(); return 1; } function _Window_MouseButton($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ($0|0)==(5); $4 = $3&1; _Window_CorrectFocus(); $5 = ((($1)) + 40|0); $6 = HEAP16[$5>>1]|0; switch ($6<<16>>16) { case 0: { _Input_SetPressed(130,$4); return 1; break; } case 1: { _Input_SetPressed(132,$4); return 1; break; } case 2: { _Input_SetPressed(131,$4); return 1; break; } default: { return 1; } } return (0)|0; } function _Window_MouseMove($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $3 = sp + 4|0; $4 = sp; $5 = ((($1)) + 42|0); $6 = HEAP16[$5>>1]|0; $7 = $6&255; $8 = $7 & 1; _Input_SetPressed(130,$8); $9 = HEAP16[$5>>1]|0; $10 = (1)?(($9&65535) >>> 1):(($9&65535)); $11 = $10&255; $12 = $11 & 1; _Input_SetPressed(131,$12); $13 = HEAP16[$5>>1]|0; $14 = (2)?(($13&65535) >>> 2):(($13&65535)); $15 = $14&255; $16 = $15 & 1; _Input_SetPressed(132,$16); $17 = ((($1)) + 60|0); $18 = HEAP32[$17>>2]|0; $19 = ((($1)) + 64|0); $20 = HEAP32[$19>>2]|0; _RescaleXY($18,$20,$3,$4); $21 = HEAP32[$3>>2]|0; $22 = HEAP32[$4>>2]|0; _Pointer_SetPosition(0,$21,$22); $23 = HEAP8[1408266]|0; $24 = ($23<<24>>24)==(0); if ($24) { STACKTOP = sp;return 1; } $25 = ((($1)) + 44|0); $26 = HEAP32[$25>>2]|0; $27 = ((($1)) + 48|0); $28 = HEAP32[$27>>2]|0; _Event_RaiseMove((1259396),0,$26,$28); STACKTOP = sp;return 1; } function _Window_Focus($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ($0|0)==(13); $4 = $3&1; HEAP8[1408301] = $4; if (!($3)) { _Input_Clear(); } _Event_RaiseVoid((1256536)); return 1; } function _Window_Resize($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var label = 0, sp = 0; sp = STACKTOP; _Window_RefreshBounds(); _Event_RaiseVoid((1256016)); return 1; } function _Window_BeforeUnload($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var label = 0, sp = 0; sp = STACKTOP; _Window_Close(); return (0|0); } function _Window_Key($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$0 = 0, $$0$off = 0, $$0$off45 = 0, $$0$off46 = 0, $$043 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $narrow = 0, $or$cond20 = 0, $or$cond54 = 0, $or$cond56 = 0, $spec$select = 0, $spec$select57 = 0; var label = 0, sp = 0; sp = STACKTOP; $3 = ((($1)) + 156|0); $4 = HEAP32[$3>>2]|0; $5 = (_Window_MapKey($4)|0); _Window_CorrectFocus(); $6 = ($5|0)==(0); if ($6) { $$043 = 0; return ($$043|0); } $7 = ((($1)) + 64|0); $8 = HEAP32[$7>>2]|0; $9 = ($8|0)==(2); L4: do { if ($9) { switch ($5|0) { case 40: { $$0 = 41; break L4; break; } case 38: { $$0 = 39; break L4; break; } case 36: { $$0 = 37; break L4; break; } case 42: { $$0 = 43; break L4; break; } default: { $$0 = $5; break L4; } } } else { $10 = ($8|0)==(3); $cond = ($5|0)==(91); $or$cond20 = $cond & $10; $spec$select = $or$cond20 ? 116 : $5; $$0 = $spec$select; } } while(0); $11 = ($0|0)==(2); $12 = $11&1; _Input_SetPressed($$0,$12); if (!($11)) { $$043 = 1; return ($$043|0); } $13 = HEAP8[(379624)>>0]|0; $14 = HEAP8[(379625)>>0]|0; $15 = $14 | $13; $16 = HEAP8[(379626)>>0]|0; $17 = $15 | $16; $18 = HEAP8[(379627)>>0]|0; $19 = $17 | $18; $20 = ($19<<24>>24)==(0); if (!($20)) { $$043 = 1; return ($$043|0); } $21 = HEAP8[(379622)>>0]|0; $22 = ($21<<24>>24)==(0); L19: do { if ($22) { $23 = HEAP8[(379623)>>0]|0; $24 = ($23<<24>>24)==(0); if (!($24)) { switch ($$0|0) { case 67: case 86: { break L19; break; } default: { $$043 = 1; } } return ($$043|0); } } else { switch ($$0|0) { case 67: case 86: { break L19; break; } default: { $$043 = 1; } } return ($$043|0); } } while(0); $$0$off = (($$0) + -1)|0; $25 = ($$0$off>>>0)<(35); $26 = $$0 & -4; $27 = ($26|0)==(44); $or$cond54 = $25 | $27; $$0$off45 = (($$0) + -58)|0; $28 = ($$0$off45>>>0)<(7); $or$cond56 = $28 | $or$cond54; if ($or$cond56) { $$043 = 1; return ($$043|0); } else { $$0$off46 = (($$0) + -91)|0; $29 = ($$0$off46>>>0)<(10); $30 = ($$0|0)!=(93); $narrow = $30 & $29; $spec$select57 = $narrow&1; return ($spec$select57|0); } return (0)|0; } function _Window_KeyPress($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $3 = sp; _Window_CorrectFocus(); $4 = HEAP8[1408302]|0; $5 = ($4<<24>>24)==(0); if (!($5)) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $6 = ((($1)) + 152|0); $7 = HEAP32[$6>>2]|0; $8 = $7&65535; $9 = (_Convert_TryUnicodeToCP437($8,$3)|0); $10 = ($9<<24>>24)==(0); if (!($10)) { $11 = HEAP8[$3>>0]|0; $12 = $11 << 24 >> 24; _Event_RaiseInt(1257316,$12); } $$0 = 1; STACKTOP = sp;return ($$0|0); } function _Window_TouchStart($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$011 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $3 = sp + 4|0; $4 = sp; $5 = HEAP32[$1>>2]|0; $6 = ($5|0)>(0); if (!($6)) { STACKTOP = sp;return 1; } $$011 = 0; while(1) { $7 = (((((($1)) + 20|0) + (($$011*52)|0)|0)) + 28|0); $8 = HEAP32[$7>>2]|0; $9 = ($8|0)==(0); if (!($9)) { $10 = (((((($1)) + 20|0) + (($$011*52)|0)|0)) + 44|0); $11 = HEAP32[$10>>2]|0; $12 = (((((($1)) + 20|0) + (($$011*52)|0)|0)) + 48|0); $13 = HEAP32[$12>>2]|0; _RescaleXY($11,$13,$3,$4); $14 = (((($1)) + 20|0) + (($$011*52)|0)|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$3>>2]|0; $17 = HEAP32[$4>>2]|0; _Input_AddTouch($15,$16,$17); } $18 = (($$011) + 1)|0; $19 = HEAP32[$1>>2]|0; $20 = ($18|0)<($19|0); if ($20) { $$011 = $18; } else { break; } } STACKTOP = sp;return 1; } function _Window_TouchMove($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$011 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $3 = sp + 4|0; $4 = sp; $5 = HEAP32[$1>>2]|0; $6 = ($5|0)>(0); if (!($6)) { STACKTOP = sp;return 1; } $$011 = 0; while(1) { $7 = (((((($1)) + 20|0) + (($$011*52)|0)|0)) + 28|0); $8 = HEAP32[$7>>2]|0; $9 = ($8|0)==(0); if (!($9)) { $10 = (((((($1)) + 20|0) + (($$011*52)|0)|0)) + 44|0); $11 = HEAP32[$10>>2]|0; $12 = (((((($1)) + 20|0) + (($$011*52)|0)|0)) + 48|0); $13 = HEAP32[$12>>2]|0; _RescaleXY($11,$13,$3,$4); $14 = (((($1)) + 20|0) + (($$011*52)|0)|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$3>>2]|0; $17 = HEAP32[$4>>2]|0; _Input_UpdateTouch($15,$16,$17); } $18 = (($$011) + 1)|0; $19 = HEAP32[$1>>2]|0; $20 = ($18|0)<($19|0); if ($20) { $$011 = $18; } else { break; } } STACKTOP = sp;return 1; } function _Window_TouchEnd($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$011 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $3 = sp + 4|0; $4 = sp; $5 = HEAP32[$1>>2]|0; $6 = ($5|0)>(0); if (!($6)) { STACKTOP = sp;return 1; } $$011 = 0; while(1) { $7 = (((((($1)) + 20|0) + (($$011*52)|0)|0)) + 28|0); $8 = HEAP32[$7>>2]|0; $9 = ($8|0)==(0); if (!($9)) { $10 = (((((($1)) + 20|0) + (($$011*52)|0)|0)) + 44|0); $11 = HEAP32[$10>>2]|0; $12 = (((((($1)) + 20|0) + (($$011*52)|0)|0)) + 48|0); $13 = HEAP32[$12>>2]|0; _RescaleXY($11,$13,$3,$4); $14 = (((($1)) + 20|0) + (($$011*52)|0)|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$3>>2]|0; $17 = HEAP32[$4>>2]|0; _Input_RemoveTouch($15,$16,$17); } $18 = (($$011) + 1)|0; $19 = HEAP32[$1>>2]|0; $20 = ($18|0)<($19|0); if ($20) { $$011 = $18; } else { break; } } STACKTOP = sp;return 1; } function _RescaleXY($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $4 = sp + 8|0; $5 = sp; (_emscripten_get_element_css_size((0|0),($4|0),($5|0))|0); $6 = HEAP32[351858]|0; $7 = Math_imul($6, $0)|0; $8 = (+($7|0)); $9 = +HEAPF64[$4>>3]; $10 = $8 / $9; $11 = (~~(($10))); HEAP32[$2>>2] = $11; $12 = HEAP32[351859]|0; $13 = Math_imul($12, $1)|0; $14 = (+($13|0)); $15 = +HEAPF64[$5>>3]; $16 = $14 / $15; $17 = (~~(($16))); HEAP32[$3>>2] = $17; STACKTOP = sp;return; } function _Window_CorrectFocus() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 272|0; $0 = sp; HEAP32[$0>>2] = 0; (_emscripten_get_pointerlock_status(($0|0))|0); $1 = HEAP8[1408266]|0; $2 = ($1<<24>>24)!=(0); $3 = HEAP32[$0>>2]|0; $4 = ($3|0)==(0); $or$cond = $2 & $4; if (!($or$cond)) { STACKTOP = sp;return; } _Window_EnableRawMouse(); STACKTOP = sp;return; } function _Window_EnableRawMouse() { var label = 0, sp = 0; sp = STACKTOP; _Window_RegrabMouse(); (_emscripten_request_pointerlock((0|0),1)|0); HEAP8[1408266] = 1; return; } function _Window_RegrabMouse() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP8[1408301]|0; $1 = ($0<<24>>24)!=(0); $2 = HEAP8[1408300]|0; $3 = ($2<<24>>24)!=(0); $or$cond = $1 & $3; if (!($or$cond)) { return; } _Window_CentreMousePosition(); return; } function _Window_CentreMousePosition() { var label = 0, sp = 0; sp = STACKTOP; _Cursor_GetRawPos(); return; } function _Cursor_GetRawPos() { var label = 0, sp = 0; sp = STACKTOP; return; } function _Window_MapKey($0) { $0 = $0|0; var $$0 = 0, $$off = 0, $$off17 = 0, $$off18 = 0, $$off19 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $$off = (($0) + -48)|0; $1 = ($$off>>>0)<(10); $$off17 = (($0) + -65)|0; $2 = ($$off17>>>0)<(26); $or$cond = $1 | $2; L1: do { if ($or$cond) { $$0 = $0; } else { $$off18 = (($0) + -112)|0; $3 = ($$off18>>>0)<(24); if ($3) { $4 = (($0) + -111)|0; $$0 = $4; break; } $$off19 = (($0) + -96)|0; $5 = ($$off19>>>0)<(10); if ($5) { $6 = (($0) + 5)|0; $$0 = $6; break; } do { switch ($0|0) { case 8: { $$0 = 94; break L1; break; } case 9: { $$0 = 95; break L1; break; } case 13: { $$0 = 91; break L1; break; } case 16: { $$0 = 36; break L1; break; } case 17: { $$0 = 38; break L1; break; } case 18: { $$0 = 40; break L1; break; } case 19: { $$0 = 99; break L1; break; } case 20: { $$0 = 96; break L1; break; } case 27: { $$0 = 92; break L1; break; } case 32: { $$0 = 93; break L1; break; } case 33: { $$0 = 62; break L1; break; } case 34: { $$0 = 63; break L1; break; } case 35: { $$0 = 61; break L1; break; } case 36: { $$0 = 60; break L1; break; } case 37: { $$0 = 46; break L1; break; } case 38: { $$0 = 44; break L1; break; } case 39: { $$0 = 47; break L1; break; } case 40: { $$0 = 45; break L1; break; } case 44: { $$0 = 98; break L1; break; } case 45: { $$0 = 58; break L1; break; } case 46: { $$0 = 59; break L1; break; } case 59: { $$0 = 123; break L1; break; } case 61: { $$0 = 119; break L1; break; } case 91: { $$0 = 42; break L1; break; } case 106: { $$0 = 112; break L1; break; } case 107: { $$0 = 114; break L1; break; } case 109: { $$0 = 113; break L1; break; } case 110: { $$0 = 115; break L1; break; } case 111: { $$0 = 111; break L1; break; } case 144: { $$0 = 100; break L1; break; } case 145: { $$0 = 97; break L1; break; } case 173: { $$0 = 118; break L1; break; } case 188: { $$0 = 125; break L1; break; } case 190: { $$0 = 126; break L1; break; } case 191: { $$0 = 122; break L1; break; } case 192: { $$0 = 117; break L1; break; } case 219: { $$0 = 120; break L1; break; } case 220: { $$0 = 127; break L1; break; } case 221: { $$0 = 121; break L1; break; } case 222: { $$0 = 124; break L1; break; } case 186: { $$0 = 123; break L1; break; } case 187: { $$0 = 119; break L1; break; } case 189: { $$0 = 118; break L1; break; } default: { $$0 = 0; break L1; } } } while(0); } } while(0); return ($$0|0); } function _Window_Close() { var label = 0, sp = 0; sp = STACKTOP; HEAP8[1408300] = 0; _Event_RaiseVoid((1256276)); _Window_DisableRawMouse(); _Window_SetSize(0,0); _Window_UnhookEvents(); return; } function _Window_DisableRawMouse() { var label = 0, sp = 0; sp = STACKTOP; _Window_RegrabMouse(); (_emscripten_exit_pointerlock()|0); HEAP8[1408266] = 0; return; } function _Window_SetSize($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; (_emscripten_set_canvas_element_size((0|0),($0|0),($1|0))|0); _Window_RefreshBounds(); _Event_RaiseVoid((1256016)); return; } function _Window_UnhookEvents() { var label = 0, sp = 0; sp = STACKTOP; (_emscripten_set_wheel_callback_on_thread((39823|0),(0|0),0,(0|0),((2)|0))|0); (_emscripten_set_mousedown_callback_on_thread((39823|0),(0|0),0,(0|0),((2)|0))|0); (_emscripten_set_mouseup_callback_on_thread((39823|0),(0|0),0,(0|0),((2)|0))|0); (_emscripten_set_mousemove_callback_on_thread((39823|0),(0|0),0,(0|0),((2)|0))|0); (_emscripten_set_focus_callback_on_thread((39815|0),(0|0),0,(0|0),((2)|0))|0); (_emscripten_set_blur_callback_on_thread((39815|0),(0|0),0,(0|0),((2)|0))|0); (_emscripten_set_resize_callback_on_thread((39815|0),(0|0),0,(0|0),((2)|0))|0); (_emscripten_set_beforeunload_callback_on_thread((0|0),(0|0),((1)|0))|0); (_emscripten_set_keydown_callback_on_thread((39815|0),(0|0),0,(0|0),((2)|0))|0); (_emscripten_set_keyup_callback_on_thread((39815|0),(0|0),0,(0|0),((2)|0))|0); (_emscripten_set_keypress_callback_on_thread((39815|0),(0|0),0,(0|0),((2)|0))|0); (_emscripten_set_touchstart_callback_on_thread((39815|0),(0|0),0,(0|0),((2)|0))|0); (_emscripten_set_touchmove_callback_on_thread((39815|0),(0|0),0,(0|0),((2)|0))|0); (_emscripten_set_touchend_callback_on_thread((39815|0),(0|0),0,(0|0),((2)|0))|0); (_emscripten_set_touchcancel_callback_on_thread((39815|0),(0|0),0,(0|0),((2)|0))|0); return; } function _Window_SetTitle($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 608|0; $1 = sp; (_Platform_ConvertString($1,$0)|0); $2 = _emscripten_asm_const_ii(12,($1|0))|0; STACKTOP = sp;return; } function _Clipboard_SetText($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 608|0; $1 = sp; (_Platform_ConvertString($1,$0)|0); $2 = _emscripten_asm_const_ii(13,($1|0))|0; STACKTOP = sp;return; } function _Clipboard_RequestText($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; HEAP32[351860] = $0; HEAP32[351861] = $1; return; } function _Window_Show() { var label = 0, sp = 0; sp = STACKTOP; return; } function _Window_GetWindowState() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 288|0; $0 = sp; (_emscripten_get_fullscreen_status(($0|0))|0); $1 = HEAP32[$0>>2]|0; $2 = ($1|0)==(0); $3 = $2 ? 0 : 2; STACKTOP = sp;return ($3|0); } function _Window_EnterFullscreen() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp; HEAP32[$0>>2] = 1; $1 = ((($0)) + 4|0); HEAP32[$1>>2] = 2; $2 = ((($0)) + 8|0); HEAP32[$2>>2] = 0; $3 = ((($0)) + 12|0); HEAP32[$3>>2] = 14; $4 = ((($0)) + 16|0); HEAP32[$4>>2] = 0; $5 = (_emscripten_request_fullscreen_strategy((39823|0),1,($0|0))|0); STACKTOP = sp;return ($5|0); } function _Window_CanvasResize($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var label = 0, sp = 0; sp = STACKTOP; _Window_RefreshBounds(); _Event_RaiseVoid((1256016)); return 0; } function _Window_ExitFullscreen() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = (_emscripten_exit_fullscreen()|0); return ($0|0); } function _Window_ProcessEvents() { var label = 0, sp = 0; sp = STACKTOP; return; } function _Cursor_SetPosition($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; return; } function _Window_OpenKeyboard() { var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP8[1408267]|0; $1 = ($0<<24>>24)==(0); if ($1) { return; } HEAP8[1408302] = 1; _Platform_LogConst(39913); $2 = _emscripten_asm_const_i(14)|0; return; } function _Window_SetKeyboardText($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 608|0; $1 = sp; $2 = HEAP8[1408267]|0; $3 = ($2<<24>>24)==(0); if ($3) { STACKTOP = sp;return; } (_Platform_ConvertString($1,$0)|0); $4 = _emscripten_asm_const_ii(15,($1|0))|0; STACKTOP = sp;return; } function _Window_CloseKeyboard() { var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP8[1408267]|0; $1 = ($0<<24>>24)==(0); if ($1) { return; } HEAP8[1408302] = 0; $2 = _emscripten_asm_const_i(16)|0; return; } function _Window_UpdateRawMouse() { var label = 0, sp = 0; sp = STACKTOP; return; } function _GLContext_Init($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $1 = sp; _emscripten_webgl_init_context_attributes(($1|0)); HEAP32[$1>>2] = 0; $2 = ((($1)) + 4|0); HEAP32[$2>>2] = 1; $3 = ((($1)) + 8|0); HEAP32[$3>>2] = 0; $4 = ((($1)) + 12|0); HEAP32[$4>>2] = 0; $5 = (_emscripten_webgl_create_context((0|0),($1|0))|0); HEAP32[351862] = $5; (_emscripten_webgl_make_context_current(($5|0))|0); (_emscripten_set_webglcontextlost_callback_on_thread((39823|0),(0|0),0,(15|0),((2)|0))|0); STACKTOP = sp;return; } function _GLContext_OnLost($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var label = 0, sp = 0; sp = STACKTOP; _Gfx_LoseContext(40631); return 1; } function _GLContext_Update() { var label = 0, sp = 0; sp = STACKTOP; return; } function _GLContext_TryRestore() { var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = (_emscripten_is_webgl_context_lost(0)|0); $1 = ($0|0)==(0); $2 = $1&1; return ($2|0); } function _GLContext_Free() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[351862]|0; (_emscripten_webgl_destroy_context(($0|0))|0); (_emscripten_set_webglcontextlost_callback_on_thread((39823|0),(0|0),0,(0|0),((2)|0))|0); return; } function _GLContext_SwapBuffers() { var label = 0, sp = 0; sp = STACKTOP; return 1; } function _GLContext_SetFpsLimit($0,$1) { $0 = $0|0; $1 = +$1; var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($0<<24>>24)==(0); if ($2) { $3 = (~~(($1))); (_emscripten_set_main_loop_timing(0,($3|0))|0); return; } else { (_emscripten_set_main_loop_timing(1,1)|0); return; } } function _World_Reset() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = HEAP32[351863]|0; $1 = HEAP32[(1407456)>>2]|0; $2 = ($0|0)==($1|0); if (!($2)) { _Mem_Free($1); } HEAP32[(1407456)>>2] = 0; HEAP32[(1407508)>>2] = 255; $3 = HEAP32[351863]|0; _Mem_Free($3); HEAP32[351863] = 0; _World_SetDimensions(0,0,0); _Env_Reset(); return; } function _World_SetDimensions($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; HEAP32[(1407464)>>2] = $0; HEAP32[(1407468)>>2] = $1; HEAP32[(1407472)>>2] = $2; $3 = Math_imul($2, $0)|0; $4 = Math_imul($3, $1)|0; HEAP32[(1407460)>>2] = $4; $5 = Math_imul($2, $0)|0; HEAP32[(1407488)>>2] = $5; $6 = (($0) + -1)|0; HEAP32[(1407476)>>2] = $6; $7 = (($1) + -1)|0; HEAP32[(1407480)>>2] = $7; $8 = (($2) + -1)|0; HEAP32[(1407484)>>2] = $8; return; } function _Env_Reset() { var label = 0, sp = 0; sp = STACKTOP; HEAP32[(1407516)>>2] = -1; HEAP32[(1407520)>>2] = -2; HEAP32[(1407524)>>2] = -1; HEAP16[703756] = 9; HEAP16[(1407514)>>1] = 7; HEAPF32[(1407528)>>2] = 1.0; HEAPF32[(1407532)>>2] = 1.0; HEAPF32[(1407536)>>2] = 1.0; HEAPF32[(1407548)>>2] = 0.0; HEAPF32[(1407552)>>2] = 0.0; HEAP32[(1407588)>>2] = -6579301; _PackedCol_GetShaded(-6579301,(1407592),(1407596),(1407600)); HEAP32[(1407572)>>2] = -1; _PackedCol_GetShaded(-1,(1407576),(1407580),(1407584)); HEAP32[(1407556)>>2] = -13159; HEAP32[(1407560)>>2] = -1; HEAP32[(1407564)>>2] = -1; HEAP32[(1407568)>>2] = -1; HEAP32[(1407540)>>2] = 0; HEAP32[(1407544)>>2] = 0; return; } function _World_SetNewMap($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$store$select = 0, label = 0, sp = 0; sp = STACKTOP; _World_SetDimensions($1,$2,$3); $4 = HEAP32[(1407460)>>2]|0; $5 = ($4|0)==(0); $spec$store$select = $5 ? 0 : $0; HEAP32[351863] = $spec$store$select; $6 = HEAP32[(1407456)>>2]|0; $7 = ($6|0)==(0|0); if ($7) { HEAP32[(1407456)>>2] = $spec$store$select; HEAP32[(1407508)>>2] = 255; } $8 = HEAP32[(1407516)>>2]|0; $9 = ($8|0)==(-1); if ($9) { $10 = (($2|0) / 2)&-1; HEAP32[(1407516)>>2] = $10; } $11 = HEAP32[(1407524)>>2]|0; $12 = ($11|0)==(-1); if (!($12)) { _GenerateNewUuid(); return; } $13 = (($2) + 2)|0; HEAP32[(1407524)>>2] = $13; _GenerateNewUuid(); return; } function _GenerateNewUuid() { var $$08 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; _Random_SeedFromCurrentTime($0); $1 = HEAP16[(11492)>>1]|0; $2 = ($1<<16>>16)==(0); if (!($2)) { $$08 = 0; while(1) { $3 = HEAP32[2872]|0; $4 = (($3) + ($$08)|0); $5 = HEAP8[$4>>0]|0; $6 = $5 << 24 >> 24; $7 = (($6) + 3)|0; (_Random_Next($0,$7)|0); $8 = (($$08) + 1)|0; $9 = HEAP16[(11492)>>1]|0; $10 = $9&65535; $11 = ($8>>>0)<($10>>>0); if ($11) { $$08 = $8; } else { break; } } } $12 = (_Random_Next($0,256)|0); $13 = $12&255; HEAP8[(1407492)>>0] = $13; $14 = (_Random_Next($0,256)|0); $15 = $14&255; HEAP8[(1407493)>>0] = $15; $16 = (_Random_Next($0,256)|0); $17 = $16&255; HEAP8[(1407494)>>0] = $17; $18 = (_Random_Next($0,256)|0); $19 = $18&255; HEAP8[(1407495)>>0] = $19; $20 = (_Random_Next($0,256)|0); $21 = $20&255; HEAP8[(1407496)>>0] = $21; $22 = (_Random_Next($0,256)|0); $23 = $22&255; HEAP8[(1407497)>>0] = $23; $24 = (_Random_Next($0,256)|0); $25 = $24&255; HEAP8[(1407498)>>0] = $25; $26 = (_Random_Next($0,256)|0); $27 = $26&255; HEAP8[(1407499)>>0] = $27; $28 = (_Random_Next($0,256)|0); $29 = $28&255; HEAP8[(1407500)>>0] = $29; $30 = (_Random_Next($0,256)|0); $31 = $30&255; HEAP8[(1407501)>>0] = $31; $32 = (_Random_Next($0,256)|0); $33 = $32&255; HEAP8[(1407502)>>0] = $33; $34 = (_Random_Next($0,256)|0); $35 = $34&255; HEAP8[(1407503)>>0] = $35; $36 = (_Random_Next($0,256)|0); $37 = $36&255; HEAP8[(1407504)>>0] = $37; $38 = (_Random_Next($0,256)|0); $39 = $38&255; HEAP8[(1407505)>>0] = $39; $40 = (_Random_Next($0,256)|0); $41 = $40&255; HEAP8[(1407506)>>0] = $41; $42 = (_Random_Next($0,256)|0); $43 = $42&255; HEAP8[(1407507)>>0] = $43; $44 = HEAP8[(1407498)>>0]|0; $45 = $44 & 15; $46 = $45 | 64; HEAP8[(1407498)>>0] = $46; $47 = HEAP8[(1407500)>>0]|0; $48 = $47 & 63; $49 = $48 | -128; HEAP8[(1407500)>>0] = $49; STACKTOP = sp;return; } function _World_SetMapUpper($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; HEAP32[(1407456)>>2] = $0; HEAP32[(1407508)>>2] = 1023; return; } function _World_SetBlock($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; $4 = HEAP32[(1407472)>>2]|0; $5 = Math_imul($4, $1)|0; $6 = (($5) + ($2))|0; $7 = HEAP32[(1407464)>>2]|0; $8 = Math_imul($6, $7)|0; $9 = (($8) + ($0))|0; $10 = $3&255; $11 = HEAP32[351863]|0; $12 = (($11) + ($9)|0); HEAP8[$12>>0] = $10; $13 = HEAP32[351863]|0; $14 = HEAP32[(1407456)>>2]|0; $15 = ($13|0)==($14|0); do { if ($15) { $16 = ($3&65535)<(256); if ($16) { return; } else { $17 = HEAP32[(1407460)>>2]|0; $18 = (_Mem_AllocCleared($17,1,40668)|0); _World_SetMapUpper($18); break; } } } while(0); $19 = (8)?(($3&65535) >>> 8):(($3&65535)); $20 = $19&255; $21 = HEAP32[(1407456)>>2]|0; $22 = (($21) + ($9)|0); HEAP8[$22>>0] = $20; return; } function _World_GetPhysicsBlock($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = ($1|0)<(0); if ($3) { $$0 = 7; } else { $4 = (_World_ContainsXZ_2063($0,$2)|0); $5 = ($4<<24>>24)==(0); if ($5) { $$0 = 7; } else { $6 = HEAP32[(1407468)>>2]|0; $7 = ($6|0)>($1|0); if ($7) { $8 = (_World_GetBlock_2064($0,$1,$2)|0); $$0 = $8; } else { $$0 = 0; } } } return ($$0|0); } function _World_ContainsXZ_2063($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $narrow = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[(1407464)>>2]|0; $3 = ($2>>>0)>($0>>>0); $4 = HEAP32[(1407472)>>2]|0; $5 = ($4>>>0)>($1>>>0); $narrow = $3 & $5; $6 = $narrow&1; return ($6|0); } function _World_GetBlock_2064($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; $3 = HEAP32[(1407472)>>2]|0; $4 = Math_imul($3, $1)|0; $5 = (($4) + ($2))|0; $6 = HEAP32[(1407464)>>2]|0; $7 = Math_imul($5, $6)|0; $8 = (($7) + ($0))|0; $9 = HEAP32[351863]|0; $10 = (($9) + ($8)|0); $11 = HEAP8[$10>>0]|0; $12 = $11&255; $13 = HEAP32[(1407456)>>2]|0; $14 = (($13) + ($8)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = $16 << 8; $18 = $17 | $12; $19 = HEAP32[(1407508)>>2]|0; $20 = $18 & $19; $21 = $20&65535; return ($21|0); } function _World_SafeGetBlock($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (_World_Contains_2067($0,$1,$2)|0); $4 = ($3<<24>>24)==(0); if ($4) { $6 = 0; return ($6|0); } $5 = (_World_GetBlock_2064($0,$1,$2)|0); $6 = $5; return ($6|0); } function _World_Contains_2067($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $narrow = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP32[(1407464)>>2]|0; $4 = ($3>>>0)>($0>>>0); $5 = HEAP32[(1407468)>>2]|0; $6 = ($5>>>0)>($1>>>0); $or$cond = $4 & $6; $7 = HEAP32[(1407472)>>2]|0; $8 = ($7>>>0)>($2>>>0); $narrow = $or$cond & $8; $9 = $narrow&1; return ($9|0); } function _World_ApplyTexturePack($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 4|0); $2 = HEAP16[$1>>1]|0; $3 = ($2<<16>>16)==(0); if (!($3)) { _TexturePack_DownloadAsync($0,18836); } $4 = (_String_Equals($0,18828)|0); $5 = ($4|0)==(0); if (!($5)) { return; } _String_Copy(18828,$0); _TexturePack_ExtractCurrent(0); return; } function _Env_SetEdgeBlock($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ($0<<16>>16)==(255); if ($1) { $2 = (_Block_IsCustomDefined(255)|0); $3 = ($2<<24>>24)==(0); $spec$select = $3 ? 9 : $0; $$0 = $spec$select; } else { $$0 = $0; } $4 = HEAP16[703756]|0; $5 = ($$0<<16>>16)==($4<<16>>16); if ($5) { return; } HEAP16[703756] = $$0; _Event_RaiseInt((1254456),0); return; } function _Env_SetSidesBlock($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ($0<<16>>16)==(255); if ($1) { $2 = (_Block_IsCustomDefined(255)|0); $3 = ($2<<24>>24)==(0); $spec$select = $3 ? 7 : $0; $$0 = $spec$select; } else { $$0 = $0; } $4 = HEAP16[(1407514)>>1]|0; $5 = ($$0<<16>>16)==($4<<16>>16); if ($5) { return; } HEAP16[(1407514)>>1] = $$0; _Event_RaiseInt((1254456),1); return; } function _Env_SetEdgeHeight($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[(1407516)>>2]|0; $2 = ($1|0)==($0|0); if ($2) { return; } HEAP32[(1407516)>>2] = $0; _Event_RaiseInt((1254456),2); return; } function _Env_SetSidesOffset($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[(1407520)>>2]|0; $2 = ($1|0)==($0|0); if ($2) { return; } HEAP32[(1407520)>>2] = $0; _Event_RaiseInt((1254456),3); return; } function _Env_SetCloudsHeight($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[(1407524)>>2]|0; $2 = ($1|0)==($0|0); if ($2) { return; } HEAP32[(1407524)>>2] = $0; _Event_RaiseInt((1254456),4); return; } function _Env_SetCloudsSpeed($0) { $0 = +$0; var $1 = 0.0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = +HEAPF32[(1407528)>>2]; $2 = $1 != $0; if (!($2)) { return; } HEAPF32[(1407528)>>2] = $0; _Event_RaiseInt((1254456),5); return; } function _Env_SetWeatherSpeed($0) { $0 = +$0; var $1 = 0.0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = +HEAPF32[(1407532)>>2]; $2 = $1 != $0; if (!($2)) { return; } HEAPF32[(1407532)>>2] = $0; _Event_RaiseInt((1254456),6); return; } function _Env_SetWeatherFade($0) { $0 = +$0; var $1 = 0.0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = +HEAPF32[(1407536)>>2]; $2 = $1 != $0; if (!($2)) { return; } HEAPF32[(1407536)>>2] = $0; _Event_RaiseInt((1254456),7); return; } function _Env_SetWeather($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[(1407540)>>2]|0; $2 = ($1|0)==($0|0); if ($2) { return; } HEAP32[(1407540)>>2] = $0; _Event_RaiseInt((1254456),8); return; } function _Env_SetExpFog($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = $0&255; $2 = HEAP32[(1407544)>>2]|0; $3 = ($2|0)==($1|0); if ($3) { return; } HEAP32[(1407544)>>2] = $1; _Event_RaiseInt((1254456),9); return; } function _Env_SetSkyboxHorSpeed($0) { $0 = +$0; var $1 = 0.0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = +HEAPF32[(1407548)>>2]; $2 = $1 != $0; if (!($2)) { return; } HEAPF32[(1407548)>>2] = $0; _Event_RaiseInt((1254456),10); return; } function _Env_SetSkyboxVerSpeed($0) { $0 = +$0; var $1 = 0.0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = +HEAPF32[(1407552)>>2]; $2 = $1 != $0; if (!($2)) { return; } HEAPF32[(1407552)>>2] = $0; _Event_RaiseInt((1254456),11); return; } function _Env_SetSkyCol($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[(1407556)>>2]|0; $2 = ($1|0)==($0|0); if ($2) { return; } HEAP32[(1407556)>>2] = $0; _Event_RaiseInt((1254456),12); return; } function _Env_SetFogCol($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[(1407560)>>2]|0; $2 = ($1|0)==($0|0); if ($2) { return; } HEAP32[(1407560)>>2] = $0; _Event_RaiseInt((1254456),14); return; } function _Env_SetCloudsCol($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[(1407564)>>2]|0; $2 = ($1|0)==($0|0); if ($2) { return; } HEAP32[(1407564)>>2] = $0; _Event_RaiseInt((1254456),13); return; } function _Env_SetSkyboxCol($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[(1407568)>>2]|0; $2 = ($1|0)==($0|0); if ($2) { return; } HEAP32[(1407568)>>2] = $0; _Event_RaiseInt((1254456),17); return; } function _Env_SetSunCol($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; _PackedCol_GetShaded($0,(1407576),(1407580),(1407584)); $1 = HEAP32[(1407572)>>2]|0; $2 = ($1|0)==($0|0); if ($2) { return; } HEAP32[(1407572)>>2] = $0; _Event_RaiseInt((1254456),15); return; } function _Env_SetShadowCol($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; _PackedCol_GetShaded($0,(1407592),(1407596),(1407600)); $1 = HEAP32[(1407588)>>2]|0; $2 = ($1|0)==($0|0); if ($2) { return; } HEAP32[(1407588)>>2] = $0; _Event_RaiseInt((1254456),16); return; } function _Respawn_HighestSolidY($0) { $0 = $0|0; var $$05062 = 0, $$05154 = 0, $$052$lcssa = 0.0, $$05261 = 0.0, $$056 = 0, $$1$lcssa = 0.0, $$155 = 0.0, $$2$lcssa = 0.0, $$253 = 0.0, $$3 = 0.0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0; var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; var $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $1 = sp + 16|0; $2 = sp; $3 = +HEAPF32[$0>>2]; $4 = (_Math_Floor($3)|0); $5 = ((($0)) + 12|0); $6 = +HEAPF32[$5>>2]; $7 = (_Math_Floor($6)|0); $8 = ((($0)) + 4|0); $9 = +HEAPF32[$8>>2]; $10 = (_Math_Floor($9)|0); $11 = ((($0)) + 16|0); $12 = +HEAPF32[$11>>2]; $13 = (_Math_Floor($12)|0); $14 = ((($0)) + 8|0); $15 = +HEAPF32[$14>>2]; $16 = (_Math_Floor($15)|0); $17 = ((($0)) + 20|0); $18 = +HEAPF32[$17>>2]; $19 = (_Math_Floor($18)|0); $20 = ($10|0)>($13|0); if ($20) { $$052$lcssa = -1.0E+5; STACKTOP = sp;return (+$$052$lcssa); } $21 = ((($2)) + 4|0); $22 = ($16|0)>($19|0); $23 = ((($2)) + 8|0); $24 = ($4|0)>($7|0); $25 = ((($1)) + 12|0); $26 = ((($1)) + 16|0); $$05062 = $10;$$05261 = -1.0E+5; while(1) { $27 = (+($$05062|0)); HEAPF32[$21>>2] = $27; if ($22) { $$1$lcssa = $$05261; } else { $$056 = $16;$$155 = $$05261; while(1) { $28 = (+($$056|0)); HEAPF32[$23>>2] = $28; if ($24) { $$2$lcssa = $$155; } else { $$05154 = $4;$$253 = $$155; while(1) { $29 = (+($$05154|0)); HEAPF32[$2>>2] = $29; $30 = (_World_SafeGetBlock($$05154,$$05062,$$056)|0); $31 = $30&65535; $32 = (588036 + (($31*12)|0)|0); _Vec3_Add_2109($1,$2,$32); $33 = (597252 + (($31*12)|0)|0); _Vec3_Add_2109($25,$2,$33); $34 = (578052 + ($31)|0); $35 = HEAP8[$34>>0]|0; $36 = ($35<<24>>24)==(2); if ($36) { $37 = (_AABB_Intersects($0,$1)|0); $38 = ($37<<24>>24)==(0); if ($38) { $$3 = $$253; } else { $39 = +HEAPF32[$26>>2]; $40 = $39 > $$253; if ($40) { $$3 = $39; } else { $$3 = $$253; } } } else { $$3 = $$253; } $41 = (($$05154) + 1)|0; $42 = ($$05154|0)<($7|0); if ($42) { $$05154 = $41;$$253 = $$3; } else { $$2$lcssa = $$3; break; } } } $43 = (($$056) + 1)|0; $44 = ($$056|0)<($19|0); if ($44) { $$056 = $43;$$155 = $$2$lcssa; } else { $$1$lcssa = $$2$lcssa; break; } } } $45 = (($$05062) + 1)|0; $46 = ($$05062|0)<($13|0); if ($46) { $$05062 = $45;$$05261 = $$1$lcssa; } else { $$052$lcssa = $$1$lcssa; break; } } STACKTOP = sp;return (+$$052$lcssa); } function _Vec3_Add_2109($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 + $4; HEAPF32[$0>>2] = $5; $6 = ((($1)) + 4|0); $7 = +HEAPF32[$6>>2]; $8 = ((($2)) + 4|0); $9 = +HEAPF32[$8>>2]; $10 = $7 + $9; $11 = ((($0)) + 4|0); HEAPF32[$11>>2] = $10; $12 = ((($1)) + 8|0); $13 = +HEAPF32[$12>>2]; $14 = ((($2)) + 8|0); $15 = +HEAPF32[$14>>2]; $16 = $13 + $15; $17 = ((($0)) + 8|0); HEAPF32[$17>>2] = $16; return; } function _Respawn_FindSpawnPosition($0,$1,$2,$3) { $0 = $0|0; $1 = +$1; $2 = +$2; $3 = $3|0; var $$08 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $4 = sp + 24|0; $5 = sp; _Vec3_Create3_2112($4,$1,$2); $6 = HEAP32[(1407468)>>2]|0; $7 = (+($6|0)); $8 = $7 + 0.0010000000474974513; $9 = ((($4)) + 4|0); HEAPF32[$9>>2] = $8; _AABB_Make($5,$4,$3); HEAPF32[$9>>2] = 0.0; $10 = HEAP32[(1407468)>>2]|0; $11 = ($10|0)>(-1); L1: do { if ($11) { $12 = ((($5)) + 4|0); $13 = ((($5)) + 16|0); $$08 = $10; while(1) { $14 = (+_Respawn_HighestSolidY($5)); $15 = $14 != -1.0E+5; if ($15) { break; } $16 = +HEAPF32[$12>>2]; $17 = $16 + -1.0; HEAPF32[$12>>2] = $17; $18 = +HEAPF32[$13>>2]; $19 = $18 + -1.0; HEAPF32[$13>>2] = $19; $20 = (($$08) + -1)|0; $21 = ($$08|0)>(0); if ($21) { $$08 = $20; } else { break L1; } } HEAPF32[$9>>2] = $14; } } while(0); ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$4+8>>2]|0; STACKTOP = sp;return; } function _Vec3_Create3_2112($0,$1,$2) { $0 = $0|0; $1 = +$1; $2 = +$2; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, label = 0, sp = 0; sp = STACKTOP; HEAPF32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = 0.0; $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $2; return; } function _emscripten_fetch_attr_init($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; dest=$0; stop=dest+88|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); return; } function _emscripten_fetch($0,$1) { $0 = $0|0; $1 = $1|0; var $$0104115 = 0, $$0106 = 0, $$0114 = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $exitcond = 0, $or$cond = 0, $or$cond112 = 0; var label = 0, sp = 0; sp = STACKTOP; $2 = ($0|0)==(0|0); $3 = ($1|0)==(0|0); $or$cond = $2 | $3; if ($or$cond) { $$4 = 0; return ($$4|0); } $4 = ((($0)) + 48|0); $5 = HEAP32[$4>>2]|0; $6 = $5 & 64; $7 = ($6|0)!=(0); $8 = (_emscripten_is_main_browser_thread()|0); $9 = ($8|0)!=(0); $or$cond112 = $7 & $9; if ($or$cond112) { $$4 = 0; return ($$4|0); } $10 = (_malloc(200)|0); $11 = ($10|0)==(0|0); if ($11) { $$4 = 0; return ($$4|0); } $12 = ((($10)) + 8|0); _memset(($12|0),0,184)|0; $13 = HEAP32[4711]|0; $14 = (($13) + 1)|0; HEAP32[4711] = $14; HEAP32[$10>>2] = $13; $15 = ((($0)) + 32|0); $16 = HEAP32[$15>>2]|0; $17 = ((($10)) + 4|0); HEAP32[$17>>2] = $16; $18 = ((($0)) + 52|0); $19 = HEAP32[$18>>2]|0; $20 = ((($10)) + 112|0); $21 = ((($10)) + 164|0); HEAP32[$21>>2] = $19; $22 = HEAP32[$4>>2]|0; $23 = ((($10)) + 160|0); HEAP32[$23>>2] = $22; $24 = ((($0)) + 56|0); $25 = HEAP32[$24>>2]|0; $26 = ((($10)) + 168|0); HEAP32[$26>>2] = $25; $27 = ((($0)) + 80|0); $28 = HEAP32[$27>>2]|0; $29 = ((($10)) + 192|0); HEAP32[$29>>2] = $28; $30 = ((($0)) + 84|0); $31 = HEAP32[$30>>2]|0; $32 = ((($10)) + 196|0); HEAP32[$32>>2] = $31; (_strcpy($20,$0)|0); $33 = ((($0)) + 40|0); $34 = HEAP32[$33>>2]|0; $35 = ((($10)) + 152|0); HEAP32[$35>>2] = $34; $36 = ((($0)) + 36|0); $37 = HEAP32[$36>>2]|0; $38 = ((($10)) + 148|0); HEAP32[$38>>2] = $37; $39 = ((($0)) + 44|0); $40 = HEAP32[$39>>2]|0; $41 = ((($10)) + 156|0); HEAP32[$41>>2] = $40; $42 = (___strdup($1)|0); $43 = ((($10)) + 8|0); HEAP32[$43>>2] = $42; $44 = ($42|0)==(0|0); if ($44) { __ZL10fetch_freeP18emscripten_fetch_t($10); $$4 = 0; return ($$4|0); } $45 = ((($0)) + 60|0); $46 = HEAP32[$45>>2]|0; $47 = ($46|0)==(0|0); if (!($47)) { $48 = (___strdup($46)|0); $49 = ((($10)) + 172|0); HEAP32[$49>>2] = $48; $50 = ($48|0)==(0|0); if ($50) { __ZL10fetch_freeP18emscripten_fetch_t($10); $$4 = 0; return ($$4|0); } } $51 = ((($0)) + 64|0); $52 = HEAP32[$51>>2]|0; $53 = ($52|0)==(0|0); if (!($53)) { $54 = (___strdup($52)|0); $55 = ((($10)) + 176|0); HEAP32[$55>>2] = $54; $56 = ($54|0)==(0|0); if ($56) { __ZL10fetch_freeP18emscripten_fetch_t($10); $$4 = 0; return ($$4|0); } } $57 = ((($0)) + 68|0); $58 = HEAP32[$57>>2]|0; $59 = ($58|0)==(0|0); if (!($59)) { $60 = (___strdup($58)|0); $61 = ((($10)) + 180|0); HEAP32[$61>>2] = $60; $62 = ($60|0)==(0|0); if ($62) { __ZL10fetch_freeP18emscripten_fetch_t($10); $$4 = 0; return ($$4|0); } } $63 = ((($0)) + 76|0); $64 = HEAP32[$63>>2]|0; $65 = ($64|0)==(0|0); if (!($65)) { $66 = (___strdup($64)|0); $67 = ((($10)) + 188|0); HEAP32[$67>>2] = $66; $68 = ($66|0)==(0|0); if ($68) { __ZL10fetch_freeP18emscripten_fetch_t($10); $$4 = 0; return ($$4|0); } } $69 = ((($0)) + 72|0); $70 = HEAP32[$69>>2]|0; $71 = ($70|0)==(0|0); if (!($71)) { $$0106 = 0; while(1) { $72 = (($70) + ($$0106<<2)|0); $73 = HEAP32[$72>>2]|0; $74 = ($73|0)==(0|0); $75 = (($$0106) + 1)|0; if ($74) { break; } else { $$0106 = $75; } } $76 = $$0106 << 2; $77 = (($76) + 4)|0; $78 = (_malloc($77)|0); $79 = ($78|0)==(0|0); if ($79) { __ZL10fetch_freeP18emscripten_fetch_t($10); $$4 = 0; return ($$4|0); } _memset(($78|0),0,($77|0))|0; $80 = ($$0106|0)==(0); L43: do { if (!($80)) { $$0104115 = 0; while(1) { $81 = HEAP32[$69>>2]|0; $82 = (($81) + ($$0104115<<2)|0); $83 = HEAP32[$82>>2]|0; $84 = (___strdup($83)|0); $85 = (($78) + ($$0104115<<2)|0); HEAP32[$85>>2] = $84; $86 = ($84|0)==(0|0); if ($86) { break; } $91 = (($$0104115) + 1)|0; $92 = ($91>>>0)<($$0106>>>0); if ($92) { $$0104115 = $91; } else { break L43; } } $87 = ($$0104115|0)==(0); if (!($87)) { $$0114 = 0; while(1) { $88 = (($78) + ($$0114<<2)|0); $89 = HEAP32[$88>>2]|0; _free($89); $90 = (($$0114) + 1)|0; $exitcond = ($90|0)==($$0104115|0); if ($exitcond) { break; } else { $$0114 = $90; } } } _free($78); __ZL10fetch_freeP18emscripten_fetch_t($10); $$4 = 0; return ($$4|0); } } while(0); $93 = (($78) + ($$0106<<2)|0); HEAP32[$93>>2] = 0; $94 = ((($10)) + 184|0); HEAP32[$94>>2] = $78; } _emscripten_start_fetch(($10|0)); $$4 = $10; return ($$4|0); } function __ZL10fetch_freeP18emscripten_fetch_t($0) { $0 = $0|0; var $$015 = 0, $$lcssa = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0; var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; HEAP32[$0>>2] = 0; $1 = ((($0)) + 12|0); $2 = HEAP32[$1>>2]|0; _free($2); $3 = ((($0)) + 8|0); $4 = HEAP32[$3>>2]|0; _free($4); $5 = ((($0)) + 172|0); $6 = HEAP32[$5>>2]|0; _free($6); $7 = ((($0)) + 176|0); $8 = HEAP32[$7>>2]|0; _free($8); $9 = ((($0)) + 180|0); $10 = HEAP32[$9>>2]|0; _free($10); $11 = ((($0)) + 184|0); $12 = HEAP32[$11>>2]|0; $13 = ($12|0)==(0|0); if ($13) { $23 = ((($0)) + 188|0); $24 = HEAP32[$23>>2]|0; _free($24); _free($0); return; } $14 = HEAP32[$11>>2]|0; $15 = HEAP32[$14>>2]|0; $16 = ($15|0)==(0|0); if ($16) { $$lcssa = $14; } else { $$015 = 0;$17 = $15; while(1) { _free($17); $18 = (($$015) + 1)|0; $19 = HEAP32[$11>>2]|0; $20 = (($19) + ($18<<2)|0); $21 = HEAP32[$20>>2]|0; $22 = ($21|0)==(0|0); if ($22) { $$lcssa = $19; break; } else { $$015 = $18;$17 = $21; } } } _free($$lcssa); $23 = ((($0)) + 188|0); $24 = HEAP32[$23>>2]|0; _free($24); _free($0); return; } function _emscripten_fetch_close($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; $1 = ($0|0)==(0|0); if ($1) { $$0 = 0; return ($$0|0); } $2 = HEAP32[$0>>2]|0; $3 = ($2|0)==(0); if ($3) { $$0 = -5; return ($$0|0); } $4 = ((($0)) + 40|0); $5 = HEAP16[$4>>1]|0; $6 = ($5&65535)>(4); if ($6) { $$0 = -5; return ($$0|0); } $7 = ($5<<16>>16)==(4); if (!($7)) { $8 = ((($0)) + 152|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)==(0|0); if (!($10)) { $11 = ((($0)) + 42|0); HEAP16[$11>>1] = -1; $12 = ((($0)) + 44|0); dest=$12; src=40697; stop=dest+38|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); FUNCTION_TABLE_vi[$9 & 511]($0); } } __ZL10fetch_freeP18emscripten_fetch_t($0); $$0 = 0; return ($$0|0); } function _malloc($0) { $0 = $0|0; var $$0 = 0, $$0$i = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i20$i = 0, $$0169$i = 0, $$0170$i = 0, $$0171$i = 0, $$0192 = 0, $$0194 = 0, $$02014$i$i = 0, $$0202$lcssa$i$i = 0, $$02023$i$i = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$024372$i = 0, $$0259$i$i = 0, $$02604$i$i = 0, $$0261$lcssa$i$i = 0, $$02613$i$i = 0; var $$0267$i$i = 0, $$0268$i$i = 0, $$0318$i = 0, $$032012$i = 0, $$0321$lcssa$i = 0, $$032111$i = 0, $$0323$i = 0, $$0329$i = 0, $$0335$i = 0, $$0336$i = 0, $$0338$i = 0, $$0339$i = 0, $$0344$i = 0, $$1174$i = 0, $$1174$i$be = 0, $$1174$i$ph = 0, $$1176$i = 0, $$1176$i$be = 0, $$1176$i$ph = 0, $$124471$i = 0; var $$1263$i$i = 0, $$1263$i$i$be = 0, $$1263$i$i$ph = 0, $$1265$i$i = 0, $$1265$i$i$be = 0, $$1265$i$i$ph = 0, $$1319$i = 0, $$1324$i = 0, $$1340$i = 0, $$1346$i = 0, $$1346$i$be = 0, $$1346$i$ph = 0, $$1350$i = 0, $$1350$i$be = 0, $$1350$i$ph = 0, $$2234243136$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2331$i = 0, $$3$i = 0; var $$3$i$i = 0, $$3$i198 = 0, $$3$i198211 = 0, $$3326$i = 0, $$3348$i = 0, $$4$lcssa$i = 0, $$415$i = 0, $$415$i$ph = 0, $$4236$i = 0, $$4327$lcssa$i = 0, $$432714$i = 0, $$432714$i$ph = 0, $$4333$i = 0, $$533413$i = 0, $$533413$i$ph = 0, $$723947$i = 0, $$748$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0; var $$pre$i16$i = 0, $$pre$i195 = 0, $$pre$i204 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i17$iZ2D = 0, $$pre$phi$i205Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phiZ2D = 0, $$sink = 0, $$sink320 = 0, $$sink321 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0; var $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0; var $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0; var $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0; var $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0; var $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0; var $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0; var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0; var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0; var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0; var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0; var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0; var $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0; var $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0; var $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0; var $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0; var $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0; var $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0; var $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0; var $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0; var $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0; var $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0; var $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0; var $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0; var $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0; var $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0; var $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0; var $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0; var $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0; var $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0; var $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0; var $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0; var $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0; var $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0; var $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0; var $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0; var $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0; var $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0; var $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0; var $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0; var $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0; var $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0; var $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0; var $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0; var $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0; var $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0; var $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0; var $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0; var $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0; var $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $99 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i203 = 0, $not$$i = 0, $or$cond$i = 0, $or$cond$i199 = 0, $or$cond1$i = 0, $or$cond1$i197 = 0, $or$cond11$i = 0, $or$cond2$i = 0; var $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$i = 0, $or$cond6$i = 0, $or$cond7$i = 0, $or$cond8$i = 0, $or$cond8$not$i = 0, $spec$select$i = 0, $spec$select$i201 = 0, $spec$select1$i = 0, $spec$select2$i = 0, $spec$select4$i = 0, $spec$select49$i = 0, $spec$select9$i = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $1 = sp; $2 = ($0>>>0)<(245); do { if ($2) { $3 = ($0>>>0)<(11); $4 = (($0) + 11)|0; $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = (3)?($6 >>> 3):($6); $8 = HEAP32[351901]|0; $9 = ($7)?($8 >>> $7):($8); $10 = $9 & 3; $11 = ($10|0)==(0); if (!($11)) { $12 = $9 & 1; $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; $16 = (1407644 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); $20 = HEAP32[$19>>2]|0; $21 = ($20|0)==($16|0); if ($21) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; HEAP32[351901] = $24; } else { $25 = ((($20)) + 12|0); HEAP32[$25>>2] = $16; HEAP32[$17>>2] = $20; } $26 = $14 << 3; $27 = $26 | 3; $28 = ((($18)) + 4|0); HEAP32[$28>>2] = $27; $29 = (($18) + ($26)|0); $30 = ((($29)) + 4|0); $31 = HEAP32[$30>>2]|0; $32 = $31 | 1; HEAP32[$30>>2] = $32; $$0 = $19; STACKTOP = sp;return ($$0|0); } $33 = HEAP32[(1407612)>>2]|0; $34 = ($6>>>0)>($33>>>0); if ($34) { $35 = ($9|0)==(0); if (!($35)) { $36 = $9 << $7; $37 = 2 << $7; $38 = (0 - ($37))|0; $39 = $37 | $38; $40 = $36 & $39; $41 = (0 - ($40))|0; $42 = $40 & $41; $43 = (($42) + -1)|0; $44 = (12)?($43 >>> 12):($43); $45 = $44 & 16; $46 = ($45)?($43 >>> $45):($43); $47 = (5)?($46 >>> 5):($46); $48 = $47 & 8; $49 = $48 | $45; $50 = ($48)?($46 >>> $48):($46); $51 = (2)?($50 >>> 2):($50); $52 = $51 & 4; $53 = $49 | $52; $54 = ($52)?($50 >>> $52):($50); $55 = (1)?($54 >>> 1):($54); $56 = $55 & 2; $57 = $53 | $56; $58 = ($56)?($54 >>> $56):($54); $59 = (1)?($58 >>> 1):($58); $60 = $59 & 1; $61 = $57 | $60; $62 = ($60)?($58 >>> $60):($58); $63 = (($61) + ($62))|0; $64 = $63 << 1; $65 = (1407644 + ($64<<2)|0); $66 = ((($65)) + 8|0); $67 = HEAP32[$66>>2]|0; $68 = ((($67)) + 8|0); $69 = HEAP32[$68>>2]|0; $70 = ($69|0)==($65|0); if ($70) { $71 = 1 << $63; $72 = $71 ^ -1; $73 = $8 & $72; HEAP32[351901] = $73; $90 = $73; } else { $74 = ((($69)) + 12|0); HEAP32[$74>>2] = $65; HEAP32[$66>>2] = $69; $90 = $8; } $75 = $63 << 3; $76 = (($75) - ($6))|0; $77 = $6 | 3; $78 = ((($67)) + 4|0); HEAP32[$78>>2] = $77; $79 = (($67) + ($6)|0); $80 = $76 | 1; $81 = ((($79)) + 4|0); HEAP32[$81>>2] = $80; $82 = (($67) + ($75)|0); HEAP32[$82>>2] = $76; $83 = ($33|0)==(0); if (!($83)) { $84 = HEAP32[(1407624)>>2]|0; $85 = (3)?($33 >>> 3):($33); $86 = $85 << 1; $87 = (1407644 + ($86<<2)|0); $88 = 1 << $85; $89 = $90 & $88; $91 = ($89|0)==(0); if ($91) { $92 = $90 | $88; HEAP32[351901] = $92; $$pre = ((($87)) + 8|0); $$0194 = $87;$$pre$phiZ2D = $$pre; } else { $93 = ((($87)) + 8|0); $94 = HEAP32[$93>>2]|0; $$0194 = $94;$$pre$phiZ2D = $93; } HEAP32[$$pre$phiZ2D>>2] = $84; $95 = ((($$0194)) + 12|0); HEAP32[$95>>2] = $84; $96 = ((($84)) + 8|0); HEAP32[$96>>2] = $$0194; $97 = ((($84)) + 12|0); HEAP32[$97>>2] = $87; } HEAP32[(1407612)>>2] = $76; HEAP32[(1407624)>>2] = $79; $$0 = $68; STACKTOP = sp;return ($$0|0); } $98 = HEAP32[(1407608)>>2]|0; $99 = ($98|0)==(0); if ($99) { $$0192 = $6; } else { $100 = (0 - ($98))|0; $101 = $98 & $100; $102 = (($101) + -1)|0; $103 = (12)?($102 >>> 12):($102); $104 = $103 & 16; $105 = ($104)?($102 >>> $104):($102); $106 = (5)?($105 >>> 5):($105); $107 = $106 & 8; $108 = $107 | $104; $109 = ($107)?($105 >>> $107):($105); $110 = (2)?($109 >>> 2):($109); $111 = $110 & 4; $112 = $108 | $111; $113 = ($111)?($109 >>> $111):($109); $114 = (1)?($113 >>> 1):($113); $115 = $114 & 2; $116 = $112 | $115; $117 = ($115)?($113 >>> $115):($113); $118 = (1)?($117 >>> 1):($117); $119 = $118 & 1; $120 = $116 | $119; $121 = ($119)?($117 >>> $119):($117); $122 = (($120) + ($121))|0; $123 = (1407908 + ($122<<2)|0); $124 = HEAP32[$123>>2]|0; $125 = ((($124)) + 4|0); $126 = HEAP32[$125>>2]|0; $127 = $126 & -8; $128 = (($127) - ($6))|0; $$0169$i = $124;$$0170$i = $124;$$0171$i = $128; while(1) { $129 = ((($$0169$i)) + 16|0); $130 = HEAP32[$129>>2]|0; $131 = ($130|0)==(0|0); if ($131) { $132 = ((($$0169$i)) + 20|0); $133 = HEAP32[$132>>2]|0; $134 = ($133|0)==(0|0); if ($134) { break; } else { $136 = $133; } } else { $136 = $130; } $135 = ((($136)) + 4|0); $137 = HEAP32[$135>>2]|0; $138 = $137 & -8; $139 = (($138) - ($6))|0; $140 = ($139>>>0)<($$0171$i>>>0); $spec$select$i = $140 ? $139 : $$0171$i; $spec$select1$i = $140 ? $136 : $$0170$i; $$0169$i = $136;$$0170$i = $spec$select1$i;$$0171$i = $spec$select$i; } $141 = (($$0170$i) + ($6)|0); $142 = ($141>>>0)>($$0170$i>>>0); if ($142) { $143 = ((($$0170$i)) + 24|0); $144 = HEAP32[$143>>2]|0; $145 = ((($$0170$i)) + 12|0); $146 = HEAP32[$145>>2]|0; $147 = ($146|0)==($$0170$i|0); do { if ($147) { $152 = ((($$0170$i)) + 20|0); $153 = HEAP32[$152>>2]|0; $154 = ($153|0)==(0|0); if ($154) { $155 = ((($$0170$i)) + 16|0); $156 = HEAP32[$155>>2]|0; $157 = ($156|0)==(0|0); if ($157) { $$3$i = 0; break; } else { $$1174$i$ph = $156;$$1176$i$ph = $155; } } else { $$1174$i$ph = $153;$$1176$i$ph = $152; } $$1174$i = $$1174$i$ph;$$1176$i = $$1176$i$ph; while(1) { $158 = ((($$1174$i)) + 20|0); $159 = HEAP32[$158>>2]|0; $160 = ($159|0)==(0|0); if ($160) { $161 = ((($$1174$i)) + 16|0); $162 = HEAP32[$161>>2]|0; $163 = ($162|0)==(0|0); if ($163) { break; } else { $$1174$i$be = $162;$$1176$i$be = $161; } } else { $$1174$i$be = $159;$$1176$i$be = $158; } $$1174$i = $$1174$i$be;$$1176$i = $$1176$i$be; } HEAP32[$$1176$i>>2] = 0; $$3$i = $$1174$i; } else { $148 = ((($$0170$i)) + 8|0); $149 = HEAP32[$148>>2]|0; $150 = ((($149)) + 12|0); HEAP32[$150>>2] = $146; $151 = ((($146)) + 8|0); HEAP32[$151>>2] = $149; $$3$i = $146; } } while(0); $164 = ($144|0)==(0|0); do { if (!($164)) { $165 = ((($$0170$i)) + 28|0); $166 = HEAP32[$165>>2]|0; $167 = (1407908 + ($166<<2)|0); $168 = HEAP32[$167>>2]|0; $169 = ($$0170$i|0)==($168|0); if ($169) { HEAP32[$167>>2] = $$3$i; $cond$i = ($$3$i|0)==(0|0); if ($cond$i) { $170 = 1 << $166; $171 = $170 ^ -1; $172 = $98 & $171; HEAP32[(1407608)>>2] = $172; break; } } else { $173 = ((($144)) + 16|0); $174 = HEAP32[$173>>2]|0; $175 = ($174|0)==($$0170$i|0); $176 = ((($144)) + 20|0); $$sink = $175 ? $173 : $176; HEAP32[$$sink>>2] = $$3$i; $177 = ($$3$i|0)==(0|0); if ($177) { break; } } $178 = ((($$3$i)) + 24|0); HEAP32[$178>>2] = $144; $179 = ((($$0170$i)) + 16|0); $180 = HEAP32[$179>>2]|0; $181 = ($180|0)==(0|0); if (!($181)) { $182 = ((($$3$i)) + 16|0); HEAP32[$182>>2] = $180; $183 = ((($180)) + 24|0); HEAP32[$183>>2] = $$3$i; } $184 = ((($$0170$i)) + 20|0); $185 = HEAP32[$184>>2]|0; $186 = ($185|0)==(0|0); if (!($186)) { $187 = ((($$3$i)) + 20|0); HEAP32[$187>>2] = $185; $188 = ((($185)) + 24|0); HEAP32[$188>>2] = $$3$i; } } } while(0); $189 = ($$0171$i>>>0)<(16); if ($189) { $190 = (($$0171$i) + ($6))|0; $191 = $190 | 3; $192 = ((($$0170$i)) + 4|0); HEAP32[$192>>2] = $191; $193 = (($$0170$i) + ($190)|0); $194 = ((($193)) + 4|0); $195 = HEAP32[$194>>2]|0; $196 = $195 | 1; HEAP32[$194>>2] = $196; } else { $197 = $6 | 3; $198 = ((($$0170$i)) + 4|0); HEAP32[$198>>2] = $197; $199 = $$0171$i | 1; $200 = ((($141)) + 4|0); HEAP32[$200>>2] = $199; $201 = (($141) + ($$0171$i)|0); HEAP32[$201>>2] = $$0171$i; $202 = ($33|0)==(0); if (!($202)) { $203 = HEAP32[(1407624)>>2]|0; $204 = (3)?($33 >>> 3):($33); $205 = $204 << 1; $206 = (1407644 + ($205<<2)|0); $207 = 1 << $204; $208 = $207 & $8; $209 = ($208|0)==(0); if ($209) { $210 = $207 | $8; HEAP32[351901] = $210; $$pre$i = ((($206)) + 8|0); $$0$i = $206;$$pre$phi$iZ2D = $$pre$i; } else { $211 = ((($206)) + 8|0); $212 = HEAP32[$211>>2]|0; $$0$i = $212;$$pre$phi$iZ2D = $211; } HEAP32[$$pre$phi$iZ2D>>2] = $203; $213 = ((($$0$i)) + 12|0); HEAP32[$213>>2] = $203; $214 = ((($203)) + 8|0); HEAP32[$214>>2] = $$0$i; $215 = ((($203)) + 12|0); HEAP32[$215>>2] = $206; } HEAP32[(1407612)>>2] = $$0171$i; HEAP32[(1407624)>>2] = $141; } $216 = ((($$0170$i)) + 8|0); $$0 = $216; STACKTOP = sp;return ($$0|0); } else { $$0192 = $6; } } } else { $$0192 = $6; } } else { $217 = ($0>>>0)>(4294967231); if ($217) { $$0192 = -1; } else { $218 = (($0) + 11)|0; $219 = $218 & -8; $220 = HEAP32[(1407608)>>2]|0; $221 = ($220|0)==(0); if ($221) { $$0192 = $219; } else { $222 = (0 - ($219))|0; $223 = (8)?($218 >>> 8):($218); $224 = ($223|0)==(0); if ($224) { $$0335$i = 0; } else { $225 = ($219>>>0)>(16777215); if ($225) { $$0335$i = 31; } else { $226 = (($223) + 1048320)|0; $227 = (16)?($226 >>> 16):($226); $228 = $227 & 8; $229 = $223 << $228; $230 = (($229) + 520192)|0; $231 = (16)?($230 >>> 16):($230); $232 = $231 & 4; $233 = $232 | $228; $234 = $229 << $232; $235 = (($234) + 245760)|0; $236 = (16)?($235 >>> 16):($235); $237 = $236 & 2; $238 = $233 | $237; $239 = (14 - ($238))|0; $240 = $234 << $237; $241 = (15)?($240 >>> 15):($240); $242 = (($239) + ($241))|0; $243 = $242 << 1; $244 = (($242) + 7)|0; $245 = ($244)?($219 >>> $244):($219); $246 = $245 & 1; $247 = $246 | $243; $$0335$i = $247; } } $248 = (1407908 + ($$0335$i<<2)|0); $249 = HEAP32[$248>>2]|0; $250 = ($249|0)==(0|0); L79: do { if ($250) { $$2331$i = 0;$$3$i198 = 0;$$3326$i = $222; label = 61; } else { $251 = ($$0335$i|0)==(31); $252 = (1)?($$0335$i >>> 1):($$0335$i); $253 = (25 - ($252))|0; $254 = $251 ? 0 : $253; $255 = $219 << $254; $$0318$i = 0;$$0323$i = $222;$$0329$i = $249;$$0336$i = $255;$$0339$i = 0; while(1) { $256 = ((($$0329$i)) + 4|0); $257 = HEAP32[$256>>2]|0; $258 = $257 & -8; $259 = (($258) - ($219))|0; $260 = ($259>>>0)<($$0323$i>>>0); if ($260) { $261 = ($259|0)==(0); if ($261) { $$415$i$ph = $$0329$i;$$432714$i$ph = 0;$$533413$i$ph = $$0329$i; label = 65; break L79; } else { $$1319$i = $$0329$i;$$1324$i = $259; } } else { $$1319$i = $$0318$i;$$1324$i = $$0323$i; } $262 = ((($$0329$i)) + 20|0); $263 = HEAP32[$262>>2]|0; $264 = (31)?($$0336$i >>> 31):($$0336$i); $265 = (((($$0329$i)) + 16|0) + ($264<<2)|0); $266 = HEAP32[$265>>2]|0; $267 = ($263|0)==(0|0); $268 = ($263|0)==($266|0); $or$cond1$i197 = $267 | $268; $$1340$i = $or$cond1$i197 ? $$0339$i : $263; $269 = ($266|0)==(0|0); $spec$select4$i = $$0336$i << 1; if ($269) { $$2331$i = $$1340$i;$$3$i198 = $$1319$i;$$3326$i = $$1324$i; label = 61; break; } else { $$0318$i = $$1319$i;$$0323$i = $$1324$i;$$0329$i = $266;$$0336$i = $spec$select4$i;$$0339$i = $$1340$i; } } } } while(0); if ((label|0) == 61) { $270 = ($$2331$i|0)==(0|0); $271 = ($$3$i198|0)==(0|0); $or$cond$i199 = $270 & $271; if ($or$cond$i199) { $272 = 2 << $$0335$i; $273 = (0 - ($272))|0; $274 = $272 | $273; $275 = $274 & $220; $276 = ($275|0)==(0); if ($276) { $$0192 = $219; break; } $277 = (0 - ($275))|0; $278 = $275 & $277; $279 = (($278) + -1)|0; $280 = (12)?($279 >>> 12):($279); $281 = $280 & 16; $282 = ($281)?($279 >>> $281):($279); $283 = (5)?($282 >>> 5):($282); $284 = $283 & 8; $285 = $284 | $281; $286 = ($284)?($282 >>> $284):($282); $287 = (2)?($286 >>> 2):($286); $288 = $287 & 4; $289 = $285 | $288; $290 = ($288)?($286 >>> $288):($286); $291 = (1)?($290 >>> 1):($290); $292 = $291 & 2; $293 = $289 | $292; $294 = ($292)?($290 >>> $292):($290); $295 = (1)?($294 >>> 1):($294); $296 = $295 & 1; $297 = $293 | $296; $298 = ($296)?($294 >>> $296):($294); $299 = (($297) + ($298))|0; $300 = (1407908 + ($299<<2)|0); $301 = HEAP32[$300>>2]|0; $$3$i198211 = 0;$$4333$i = $301; } else { $$3$i198211 = $$3$i198;$$4333$i = $$2331$i; } $302 = ($$4333$i|0)==(0|0); if ($302) { $$4$lcssa$i = $$3$i198211;$$4327$lcssa$i = $$3326$i; } else { $$415$i$ph = $$3$i198211;$$432714$i$ph = $$3326$i;$$533413$i$ph = $$4333$i; label = 65; } } if ((label|0) == 65) { $$415$i = $$415$i$ph;$$432714$i = $$432714$i$ph;$$533413$i = $$533413$i$ph; while(1) { $303 = ((($$533413$i)) + 4|0); $304 = HEAP32[$303>>2]|0; $305 = $304 & -8; $306 = (($305) - ($219))|0; $307 = ($306>>>0)<($$432714$i>>>0); $spec$select$i201 = $307 ? $306 : $$432714$i; $spec$select2$i = $307 ? $$533413$i : $$415$i; $308 = ((($$533413$i)) + 16|0); $309 = HEAP32[$308>>2]|0; $310 = ($309|0)==(0|0); if ($310) { $311 = ((($$533413$i)) + 20|0); $312 = HEAP32[$311>>2]|0; $313 = $312; } else { $313 = $309; } $314 = ($313|0)==(0|0); if ($314) { $$4$lcssa$i = $spec$select2$i;$$4327$lcssa$i = $spec$select$i201; break; } else { $$415$i = $spec$select2$i;$$432714$i = $spec$select$i201;$$533413$i = $313; } } } $315 = ($$4$lcssa$i|0)==(0|0); if ($315) { $$0192 = $219; } else { $316 = HEAP32[(1407612)>>2]|0; $317 = (($316) - ($219))|0; $318 = ($$4327$lcssa$i>>>0)<($317>>>0); if ($318) { $319 = (($$4$lcssa$i) + ($219)|0); $320 = ($319>>>0)>($$4$lcssa$i>>>0); if ($320) { $321 = ((($$4$lcssa$i)) + 24|0); $322 = HEAP32[$321>>2]|0; $323 = ((($$4$lcssa$i)) + 12|0); $324 = HEAP32[$323>>2]|0; $325 = ($324|0)==($$4$lcssa$i|0); do { if ($325) { $330 = ((($$4$lcssa$i)) + 20|0); $331 = HEAP32[$330>>2]|0; $332 = ($331|0)==(0|0); if ($332) { $333 = ((($$4$lcssa$i)) + 16|0); $334 = HEAP32[$333>>2]|0; $335 = ($334|0)==(0|0); if ($335) { $$3348$i = 0; break; } else { $$1346$i$ph = $334;$$1350$i$ph = $333; } } else { $$1346$i$ph = $331;$$1350$i$ph = $330; } $$1346$i = $$1346$i$ph;$$1350$i = $$1350$i$ph; while(1) { $336 = ((($$1346$i)) + 20|0); $337 = HEAP32[$336>>2]|0; $338 = ($337|0)==(0|0); if ($338) { $339 = ((($$1346$i)) + 16|0); $340 = HEAP32[$339>>2]|0; $341 = ($340|0)==(0|0); if ($341) { break; } else { $$1346$i$be = $340;$$1350$i$be = $339; } } else { $$1346$i$be = $337;$$1350$i$be = $336; } $$1346$i = $$1346$i$be;$$1350$i = $$1350$i$be; } HEAP32[$$1350$i>>2] = 0; $$3348$i = $$1346$i; } else { $326 = ((($$4$lcssa$i)) + 8|0); $327 = HEAP32[$326>>2]|0; $328 = ((($327)) + 12|0); HEAP32[$328>>2] = $324; $329 = ((($324)) + 8|0); HEAP32[$329>>2] = $327; $$3348$i = $324; } } while(0); $342 = ($322|0)==(0|0); do { if ($342) { $425 = $220; } else { $343 = ((($$4$lcssa$i)) + 28|0); $344 = HEAP32[$343>>2]|0; $345 = (1407908 + ($344<<2)|0); $346 = HEAP32[$345>>2]|0; $347 = ($$4$lcssa$i|0)==($346|0); if ($347) { HEAP32[$345>>2] = $$3348$i; $cond$i203 = ($$3348$i|0)==(0|0); if ($cond$i203) { $348 = 1 << $344; $349 = $348 ^ -1; $350 = $220 & $349; HEAP32[(1407608)>>2] = $350; $425 = $350; break; } } else { $351 = ((($322)) + 16|0); $352 = HEAP32[$351>>2]|0; $353 = ($352|0)==($$4$lcssa$i|0); $354 = ((($322)) + 20|0); $$sink320 = $353 ? $351 : $354; HEAP32[$$sink320>>2] = $$3348$i; $355 = ($$3348$i|0)==(0|0); if ($355) { $425 = $220; break; } } $356 = ((($$3348$i)) + 24|0); HEAP32[$356>>2] = $322; $357 = ((($$4$lcssa$i)) + 16|0); $358 = HEAP32[$357>>2]|0; $359 = ($358|0)==(0|0); if (!($359)) { $360 = ((($$3348$i)) + 16|0); HEAP32[$360>>2] = $358; $361 = ((($358)) + 24|0); HEAP32[$361>>2] = $$3348$i; } $362 = ((($$4$lcssa$i)) + 20|0); $363 = HEAP32[$362>>2]|0; $364 = ($363|0)==(0|0); if ($364) { $425 = $220; } else { $365 = ((($$3348$i)) + 20|0); HEAP32[$365>>2] = $363; $366 = ((($363)) + 24|0); HEAP32[$366>>2] = $$3348$i; $425 = $220; } } } while(0); $367 = ($$4327$lcssa$i>>>0)<(16); L128: do { if ($367) { $368 = (($$4327$lcssa$i) + ($219))|0; $369 = $368 | 3; $370 = ((($$4$lcssa$i)) + 4|0); HEAP32[$370>>2] = $369; $371 = (($$4$lcssa$i) + ($368)|0); $372 = ((($371)) + 4|0); $373 = HEAP32[$372>>2]|0; $374 = $373 | 1; HEAP32[$372>>2] = $374; } else { $375 = $219 | 3; $376 = ((($$4$lcssa$i)) + 4|0); HEAP32[$376>>2] = $375; $377 = $$4327$lcssa$i | 1; $378 = ((($319)) + 4|0); HEAP32[$378>>2] = $377; $379 = (($319) + ($$4327$lcssa$i)|0); HEAP32[$379>>2] = $$4327$lcssa$i; $380 = (3)?($$4327$lcssa$i >>> 3):($$4327$lcssa$i); $381 = ($$4327$lcssa$i>>>0)<(256); if ($381) { $382 = $380 << 1; $383 = (1407644 + ($382<<2)|0); $384 = HEAP32[351901]|0; $385 = 1 << $380; $386 = $384 & $385; $387 = ($386|0)==(0); if ($387) { $388 = $384 | $385; HEAP32[351901] = $388; $$pre$i204 = ((($383)) + 8|0); $$0344$i = $383;$$pre$phi$i205Z2D = $$pre$i204; } else { $389 = ((($383)) + 8|0); $390 = HEAP32[$389>>2]|0; $$0344$i = $390;$$pre$phi$i205Z2D = $389; } HEAP32[$$pre$phi$i205Z2D>>2] = $319; $391 = ((($$0344$i)) + 12|0); HEAP32[$391>>2] = $319; $392 = ((($319)) + 8|0); HEAP32[$392>>2] = $$0344$i; $393 = ((($319)) + 12|0); HEAP32[$393>>2] = $383; break; } $394 = (8)?($$4327$lcssa$i >>> 8):($$4327$lcssa$i); $395 = ($394|0)==(0); if ($395) { $$0338$i = 0; } else { $396 = ($$4327$lcssa$i>>>0)>(16777215); if ($396) { $$0338$i = 31; } else { $397 = (($394) + 1048320)|0; $398 = (16)?($397 >>> 16):($397); $399 = $398 & 8; $400 = $394 << $399; $401 = (($400) + 520192)|0; $402 = (16)?($401 >>> 16):($401); $403 = $402 & 4; $404 = $403 | $399; $405 = $400 << $403; $406 = (($405) + 245760)|0; $407 = (16)?($406 >>> 16):($406); $408 = $407 & 2; $409 = $404 | $408; $410 = (14 - ($409))|0; $411 = $405 << $408; $412 = (15)?($411 >>> 15):($411); $413 = (($410) + ($412))|0; $414 = $413 << 1; $415 = (($413) + 7)|0; $416 = ($415)?($$4327$lcssa$i >>> $415):($$4327$lcssa$i); $417 = $416 & 1; $418 = $417 | $414; $$0338$i = $418; } } $419 = (1407908 + ($$0338$i<<2)|0); $420 = ((($319)) + 28|0); HEAP32[$420>>2] = $$0338$i; $421 = ((($319)) + 16|0); $422 = ((($421)) + 4|0); HEAP32[$422>>2] = 0; HEAP32[$421>>2] = 0; $423 = 1 << $$0338$i; $424 = $425 & $423; $426 = ($424|0)==(0); if ($426) { $427 = $425 | $423; HEAP32[(1407608)>>2] = $427; HEAP32[$419>>2] = $319; $428 = ((($319)) + 24|0); HEAP32[$428>>2] = $419; $429 = ((($319)) + 12|0); HEAP32[$429>>2] = $319; $430 = ((($319)) + 8|0); HEAP32[$430>>2] = $319; break; } $431 = HEAP32[$419>>2]|0; $432 = ((($431)) + 4|0); $433 = HEAP32[$432>>2]|0; $434 = $433 & -8; $435 = ($434|0)==($$4327$lcssa$i|0); L145: do { if ($435) { $$0321$lcssa$i = $431; } else { $436 = ($$0338$i|0)==(31); $437 = (1)?($$0338$i >>> 1):($$0338$i); $438 = (25 - ($437))|0; $439 = $436 ? 0 : $438; $440 = $$4327$lcssa$i << $439; $$032012$i = $440;$$032111$i = $431; while(1) { $447 = (31)?($$032012$i >>> 31):($$032012$i); $448 = (((($$032111$i)) + 16|0) + ($447<<2)|0); $443 = HEAP32[$448>>2]|0; $449 = ($443|0)==(0|0); if ($449) { break; } $441 = $$032012$i << 1; $442 = ((($443)) + 4|0); $444 = HEAP32[$442>>2]|0; $445 = $444 & -8; $446 = ($445|0)==($$4327$lcssa$i|0); if ($446) { $$0321$lcssa$i = $443; break L145; } else { $$032012$i = $441;$$032111$i = $443; } } HEAP32[$448>>2] = $319; $450 = ((($319)) + 24|0); HEAP32[$450>>2] = $$032111$i; $451 = ((($319)) + 12|0); HEAP32[$451>>2] = $319; $452 = ((($319)) + 8|0); HEAP32[$452>>2] = $319; break L128; } } while(0); $453 = ((($$0321$lcssa$i)) + 8|0); $454 = HEAP32[$453>>2]|0; $455 = ((($454)) + 12|0); HEAP32[$455>>2] = $319; HEAP32[$453>>2] = $319; $456 = ((($319)) + 8|0); HEAP32[$456>>2] = $454; $457 = ((($319)) + 12|0); HEAP32[$457>>2] = $$0321$lcssa$i; $458 = ((($319)) + 24|0); HEAP32[$458>>2] = 0; } } while(0); $459 = ((($$4$lcssa$i)) + 8|0); $$0 = $459; STACKTOP = sp;return ($$0|0); } else { $$0192 = $219; } } else { $$0192 = $219; } } } } } } while(0); $460 = HEAP32[(1407612)>>2]|0; $461 = ($460>>>0)<($$0192>>>0); if (!($461)) { $462 = (($460) - ($$0192))|0; $463 = HEAP32[(1407624)>>2]|0; $464 = ($462>>>0)>(15); if ($464) { $465 = (($463) + ($$0192)|0); HEAP32[(1407624)>>2] = $465; HEAP32[(1407612)>>2] = $462; $466 = $462 | 1; $467 = ((($465)) + 4|0); HEAP32[$467>>2] = $466; $468 = (($463) + ($460)|0); HEAP32[$468>>2] = $462; $469 = $$0192 | 3; $470 = ((($463)) + 4|0); HEAP32[$470>>2] = $469; } else { HEAP32[(1407612)>>2] = 0; HEAP32[(1407624)>>2] = 0; $471 = $460 | 3; $472 = ((($463)) + 4|0); HEAP32[$472>>2] = $471; $473 = (($463) + ($460)|0); $474 = ((($473)) + 4|0); $475 = HEAP32[$474>>2]|0; $476 = $475 | 1; HEAP32[$474>>2] = $476; } $477 = ((($463)) + 8|0); $$0 = $477; STACKTOP = sp;return ($$0|0); } $478 = HEAP32[(1407616)>>2]|0; $479 = ($478>>>0)>($$0192>>>0); if ($479) { $480 = (($478) - ($$0192))|0; HEAP32[(1407616)>>2] = $480; $481 = HEAP32[(1407628)>>2]|0; $482 = (($481) + ($$0192)|0); HEAP32[(1407628)>>2] = $482; $483 = $480 | 1; $484 = ((($482)) + 4|0); HEAP32[$484>>2] = $483; $485 = $$0192 | 3; $486 = ((($481)) + 4|0); HEAP32[$486>>2] = $485; $487 = ((($481)) + 8|0); $$0 = $487; STACKTOP = sp;return ($$0|0); } $488 = HEAP32[352019]|0; $489 = ($488|0)==(0); if ($489) { HEAP32[(1408084)>>2] = 4096; HEAP32[(1408080)>>2] = 4096; HEAP32[(1408088)>>2] = -1; HEAP32[(1408092)>>2] = -1; HEAP32[(1408096)>>2] = 0; HEAP32[(1408048)>>2] = 0; $490 = $1; $491 = $490 & -16; $492 = $491 ^ 1431655768; HEAP32[352019] = $492; $496 = 4096; } else { $$pre$i195 = HEAP32[(1408084)>>2]|0; $496 = $$pre$i195; } $493 = (($$0192) + 48)|0; $494 = (($$0192) + 47)|0; $495 = (($496) + ($494))|0; $497 = (0 - ($496))|0; $498 = $495 & $497; $499 = ($498>>>0)>($$0192>>>0); if (!($499)) { $$0 = 0; STACKTOP = sp;return ($$0|0); } $500 = HEAP32[(1408044)>>2]|0; $501 = ($500|0)==(0); if (!($501)) { $502 = HEAP32[(1408036)>>2]|0; $503 = (($502) + ($498))|0; $504 = ($503>>>0)<=($502>>>0); $505 = ($503>>>0)>($500>>>0); $or$cond1$i = $504 | $505; if ($or$cond1$i) { $$0 = 0; STACKTOP = sp;return ($$0|0); } } $506 = HEAP32[(1408048)>>2]|0; $507 = $506 & 4; $508 = ($507|0)==(0); L178: do { if ($508) { $509 = HEAP32[(1407628)>>2]|0; $510 = ($509|0)==(0|0); L180: do { if ($510) { label = 128; } else { $$0$i20$i = (1408052); while(1) { $511 = HEAP32[$$0$i20$i>>2]|0; $512 = ($511>>>0)>($509>>>0); if (!($512)) { $513 = ((($$0$i20$i)) + 4|0); $514 = HEAP32[$513>>2]|0; $515 = (($511) + ($514)|0); $516 = ($515>>>0)>($509>>>0); if ($516) { break; } } $517 = ((($$0$i20$i)) + 8|0); $518 = HEAP32[$517>>2]|0; $519 = ($518|0)==(0|0); if ($519) { label = 128; break L180; } else { $$0$i20$i = $518; } } $542 = (($495) - ($478))|0; $543 = $542 & $497; $544 = ($543>>>0)<(2147483647); if ($544) { $545 = ((($$0$i20$i)) + 4|0); $546 = (_sbrk(($543|0))|0); $547 = HEAP32[$$0$i20$i>>2]|0; $548 = HEAP32[$545>>2]|0; $549 = (($547) + ($548)|0); $550 = ($546|0)==($549|0); if ($550) { $551 = ($546|0)==((-1)|0); if ($551) { $$2234243136$i = $543; } else { $$723947$i = $543;$$748$i = $546; label = 145; break L178; } } else { $$2247$ph$i = $546;$$2253$ph$i = $543; label = 136; } } else { $$2234243136$i = 0; } } } while(0); do { if ((label|0) == 128) { $520 = (_sbrk(0)|0); $521 = ($520|0)==((-1)|0); if ($521) { $$2234243136$i = 0; } else { $522 = $520; $523 = HEAP32[(1408080)>>2]|0; $524 = (($523) + -1)|0; $525 = $524 & $522; $526 = ($525|0)==(0); $527 = (($524) + ($522))|0; $528 = (0 - ($523))|0; $529 = $527 & $528; $530 = (($529) - ($522))|0; $531 = $526 ? 0 : $530; $spec$select49$i = (($531) + ($498))|0; $532 = HEAP32[(1408036)>>2]|0; $533 = (($spec$select49$i) + ($532))|0; $534 = ($spec$select49$i>>>0)>($$0192>>>0); $535 = ($spec$select49$i>>>0)<(2147483647); $or$cond$i = $534 & $535; if ($or$cond$i) { $536 = HEAP32[(1408044)>>2]|0; $537 = ($536|0)==(0); if (!($537)) { $538 = ($533>>>0)<=($532>>>0); $539 = ($533>>>0)>($536>>>0); $or$cond2$i = $538 | $539; if ($or$cond2$i) { $$2234243136$i = 0; break; } } $540 = (_sbrk(($spec$select49$i|0))|0); $541 = ($540|0)==($520|0); if ($541) { $$723947$i = $spec$select49$i;$$748$i = $520; label = 145; break L178; } else { $$2247$ph$i = $540;$$2253$ph$i = $spec$select49$i; label = 136; } } else { $$2234243136$i = 0; } } } } while(0); do { if ((label|0) == 136) { $552 = (0 - ($$2253$ph$i))|0; $553 = ($$2247$ph$i|0)!=((-1)|0); $554 = ($$2253$ph$i>>>0)<(2147483647); $or$cond7$i = $554 & $553; $555 = ($493>>>0)>($$2253$ph$i>>>0); $or$cond6$i = $555 & $or$cond7$i; if (!($or$cond6$i)) { $565 = ($$2247$ph$i|0)==((-1)|0); if ($565) { $$2234243136$i = 0; break; } else { $$723947$i = $$2253$ph$i;$$748$i = $$2247$ph$i; label = 145; break L178; } } $556 = HEAP32[(1408084)>>2]|0; $557 = (($494) - ($$2253$ph$i))|0; $558 = (($557) + ($556))|0; $559 = (0 - ($556))|0; $560 = $558 & $559; $561 = ($560>>>0)<(2147483647); if (!($561)) { $$723947$i = $$2253$ph$i;$$748$i = $$2247$ph$i; label = 145; break L178; } $562 = (_sbrk(($560|0))|0); $563 = ($562|0)==((-1)|0); if ($563) { (_sbrk(($552|0))|0); $$2234243136$i = 0; break; } else { $564 = (($560) + ($$2253$ph$i))|0; $$723947$i = $564;$$748$i = $$2247$ph$i; label = 145; break L178; } } } while(0); $566 = HEAP32[(1408048)>>2]|0; $567 = $566 | 4; HEAP32[(1408048)>>2] = $567; $$4236$i = $$2234243136$i; label = 143; } else { $$4236$i = 0; label = 143; } } while(0); if ((label|0) == 143) { $568 = ($498>>>0)<(2147483647); if ($568) { $569 = (_sbrk(($498|0))|0); $570 = (_sbrk(0)|0); $571 = ($569|0)!=((-1)|0); $572 = ($570|0)!=((-1)|0); $or$cond5$i = $571 & $572; $573 = ($569>>>0)<($570>>>0); $or$cond8$i = $573 & $or$cond5$i; $574 = $570; $575 = $569; $576 = (($574) - ($575))|0; $577 = (($$0192) + 40)|0; $578 = ($576>>>0)>($577>>>0); $spec$select9$i = $578 ? $576 : $$4236$i; $or$cond8$not$i = $or$cond8$i ^ 1; $579 = ($569|0)==((-1)|0); $not$$i = $578 ^ 1; $580 = $579 | $not$$i; $or$cond50$i = $580 | $or$cond8$not$i; if (!($or$cond50$i)) { $$723947$i = $spec$select9$i;$$748$i = $569; label = 145; } } } if ((label|0) == 145) { $581 = HEAP32[(1408036)>>2]|0; $582 = (($581) + ($$723947$i))|0; HEAP32[(1408036)>>2] = $582; $583 = HEAP32[(1408040)>>2]|0; $584 = ($582>>>0)>($583>>>0); if ($584) { HEAP32[(1408040)>>2] = $582; } $585 = HEAP32[(1407628)>>2]|0; $586 = ($585|0)==(0|0); L215: do { if ($586) { $587 = HEAP32[(1407620)>>2]|0; $588 = ($587|0)==(0|0); $589 = ($$748$i>>>0)<($587>>>0); $or$cond11$i = $588 | $589; if ($or$cond11$i) { HEAP32[(1407620)>>2] = $$748$i; } HEAP32[(1408052)>>2] = $$748$i; HEAP32[(1408056)>>2] = $$723947$i; HEAP32[(1408064)>>2] = 0; $590 = HEAP32[352019]|0; HEAP32[(1407640)>>2] = $590; HEAP32[(1407636)>>2] = -1; HEAP32[(1407656)>>2] = (1407644); HEAP32[(1407652)>>2] = (1407644); HEAP32[(1407664)>>2] = (1407652); HEAP32[(1407660)>>2] = (1407652); HEAP32[(1407672)>>2] = (1407660); HEAP32[(1407668)>>2] = (1407660); HEAP32[(1407680)>>2] = (1407668); HEAP32[(1407676)>>2] = (1407668); HEAP32[(1407688)>>2] = (1407676); HEAP32[(1407684)>>2] = (1407676); HEAP32[(1407696)>>2] = (1407684); HEAP32[(1407692)>>2] = (1407684); HEAP32[(1407704)>>2] = (1407692); HEAP32[(1407700)>>2] = (1407692); HEAP32[(1407712)>>2] = (1407700); HEAP32[(1407708)>>2] = (1407700); HEAP32[(1407720)>>2] = (1407708); HEAP32[(1407716)>>2] = (1407708); HEAP32[(1407728)>>2] = (1407716); HEAP32[(1407724)>>2] = (1407716); HEAP32[(1407736)>>2] = (1407724); HEAP32[(1407732)>>2] = (1407724); HEAP32[(1407744)>>2] = (1407732); HEAP32[(1407740)>>2] = (1407732); HEAP32[(1407752)>>2] = (1407740); HEAP32[(1407748)>>2] = (1407740); HEAP32[(1407760)>>2] = (1407748); HEAP32[(1407756)>>2] = (1407748); HEAP32[(1407768)>>2] = (1407756); HEAP32[(1407764)>>2] = (1407756); HEAP32[(1407776)>>2] = (1407764); HEAP32[(1407772)>>2] = (1407764); HEAP32[(1407784)>>2] = (1407772); HEAP32[(1407780)>>2] = (1407772); HEAP32[(1407792)>>2] = (1407780); HEAP32[(1407788)>>2] = (1407780); HEAP32[(1407800)>>2] = (1407788); HEAP32[(1407796)>>2] = (1407788); HEAP32[(1407808)>>2] = (1407796); HEAP32[(1407804)>>2] = (1407796); HEAP32[(1407816)>>2] = (1407804); HEAP32[(1407812)>>2] = (1407804); HEAP32[(1407824)>>2] = (1407812); HEAP32[(1407820)>>2] = (1407812); HEAP32[(1407832)>>2] = (1407820); HEAP32[(1407828)>>2] = (1407820); HEAP32[(1407840)>>2] = (1407828); HEAP32[(1407836)>>2] = (1407828); HEAP32[(1407848)>>2] = (1407836); HEAP32[(1407844)>>2] = (1407836); HEAP32[(1407856)>>2] = (1407844); HEAP32[(1407852)>>2] = (1407844); HEAP32[(1407864)>>2] = (1407852); HEAP32[(1407860)>>2] = (1407852); HEAP32[(1407872)>>2] = (1407860); HEAP32[(1407868)>>2] = (1407860); HEAP32[(1407880)>>2] = (1407868); HEAP32[(1407876)>>2] = (1407868); HEAP32[(1407888)>>2] = (1407876); HEAP32[(1407884)>>2] = (1407876); HEAP32[(1407896)>>2] = (1407884); HEAP32[(1407892)>>2] = (1407884); HEAP32[(1407904)>>2] = (1407892); HEAP32[(1407900)>>2] = (1407892); $591 = (($$723947$i) + -40)|0; $592 = ((($$748$i)) + 8|0); $593 = $592; $594 = $593 & 7; $595 = ($594|0)==(0); $596 = (0 - ($593))|0; $597 = $596 & 7; $598 = $595 ? 0 : $597; $599 = (($$748$i) + ($598)|0); $600 = (($591) - ($598))|0; HEAP32[(1407628)>>2] = $599; HEAP32[(1407616)>>2] = $600; $601 = $600 | 1; $602 = ((($599)) + 4|0); HEAP32[$602>>2] = $601; $603 = (($$748$i) + ($591)|0); $604 = ((($603)) + 4|0); HEAP32[$604>>2] = 40; $605 = HEAP32[(1408092)>>2]|0; HEAP32[(1407632)>>2] = $605; } else { $$024372$i = (1408052); while(1) { $606 = HEAP32[$$024372$i>>2]|0; $607 = ((($$024372$i)) + 4|0); $608 = HEAP32[$607>>2]|0; $609 = (($606) + ($608)|0); $610 = ($$748$i|0)==($609|0); if ($610) { label = 154; break; } $611 = ((($$024372$i)) + 8|0); $612 = HEAP32[$611>>2]|0; $613 = ($612|0)==(0|0); if ($613) { break; } else { $$024372$i = $612; } } if ((label|0) == 154) { $614 = ((($$024372$i)) + 4|0); $615 = ((($$024372$i)) + 12|0); $616 = HEAP32[$615>>2]|0; $617 = $616 & 8; $618 = ($617|0)==(0); if ($618) { $619 = ($606>>>0)<=($585>>>0); $620 = ($$748$i>>>0)>($585>>>0); $or$cond51$i = $620 & $619; if ($or$cond51$i) { $621 = (($608) + ($$723947$i))|0; HEAP32[$614>>2] = $621; $622 = HEAP32[(1407616)>>2]|0; $623 = (($622) + ($$723947$i))|0; $624 = ((($585)) + 8|0); $625 = $624; $626 = $625 & 7; $627 = ($626|0)==(0); $628 = (0 - ($625))|0; $629 = $628 & 7; $630 = $627 ? 0 : $629; $631 = (($585) + ($630)|0); $632 = (($623) - ($630))|0; HEAP32[(1407628)>>2] = $631; HEAP32[(1407616)>>2] = $632; $633 = $632 | 1; $634 = ((($631)) + 4|0); HEAP32[$634>>2] = $633; $635 = (($585) + ($623)|0); $636 = ((($635)) + 4|0); HEAP32[$636>>2] = 40; $637 = HEAP32[(1408092)>>2]|0; HEAP32[(1407632)>>2] = $637; break; } } } $638 = HEAP32[(1407620)>>2]|0; $639 = ($$748$i>>>0)<($638>>>0); if ($639) { HEAP32[(1407620)>>2] = $$748$i; } $640 = (($$748$i) + ($$723947$i)|0); $$124471$i = (1408052); while(1) { $641 = HEAP32[$$124471$i>>2]|0; $642 = ($641|0)==($640|0); if ($642) { label = 162; break; } $643 = ((($$124471$i)) + 8|0); $644 = HEAP32[$643>>2]|0; $645 = ($644|0)==(0|0); if ($645) { break; } else { $$124471$i = $644; } } if ((label|0) == 162) { $646 = ((($$124471$i)) + 12|0); $647 = HEAP32[$646>>2]|0; $648 = $647 & 8; $649 = ($648|0)==(0); if ($649) { HEAP32[$$124471$i>>2] = $$748$i; $650 = ((($$124471$i)) + 4|0); $651 = HEAP32[$650>>2]|0; $652 = (($651) + ($$723947$i))|0; HEAP32[$650>>2] = $652; $653 = ((($$748$i)) + 8|0); $654 = $653; $655 = $654 & 7; $656 = ($655|0)==(0); $657 = (0 - ($654))|0; $658 = $657 & 7; $659 = $656 ? 0 : $658; $660 = (($$748$i) + ($659)|0); $661 = ((($640)) + 8|0); $662 = $661; $663 = $662 & 7; $664 = ($663|0)==(0); $665 = (0 - ($662))|0; $666 = $665 & 7; $667 = $664 ? 0 : $666; $668 = (($640) + ($667)|0); $669 = $668; $670 = $660; $671 = (($669) - ($670))|0; $672 = (($660) + ($$0192)|0); $673 = (($671) - ($$0192))|0; $674 = $$0192 | 3; $675 = ((($660)) + 4|0); HEAP32[$675>>2] = $674; $676 = ($585|0)==($668|0); L238: do { if ($676) { $677 = HEAP32[(1407616)>>2]|0; $678 = (($677) + ($673))|0; HEAP32[(1407616)>>2] = $678; HEAP32[(1407628)>>2] = $672; $679 = $678 | 1; $680 = ((($672)) + 4|0); HEAP32[$680>>2] = $679; } else { $681 = HEAP32[(1407624)>>2]|0; $682 = ($681|0)==($668|0); if ($682) { $683 = HEAP32[(1407612)>>2]|0; $684 = (($683) + ($673))|0; HEAP32[(1407612)>>2] = $684; HEAP32[(1407624)>>2] = $672; $685 = $684 | 1; $686 = ((($672)) + 4|0); HEAP32[$686>>2] = $685; $687 = (($672) + ($684)|0); HEAP32[$687>>2] = $684; break; } $688 = ((($668)) + 4|0); $689 = HEAP32[$688>>2]|0; $690 = $689 & 3; $691 = ($690|0)==(1); if ($691) { $692 = $689 & -8; $693 = (3)?($689 >>> 3):($689); $694 = ($689>>>0)<(256); L246: do { if ($694) { $695 = ((($668)) + 8|0); $696 = HEAP32[$695>>2]|0; $697 = ((($668)) + 12|0); $698 = HEAP32[$697>>2]|0; $699 = ($698|0)==($696|0); if ($699) { $700 = 1 << $693; $701 = $700 ^ -1; $702 = HEAP32[351901]|0; $703 = $702 & $701; HEAP32[351901] = $703; break; } else { $704 = ((($696)) + 12|0); HEAP32[$704>>2] = $698; $705 = ((($698)) + 8|0); HEAP32[$705>>2] = $696; break; } } else { $706 = ((($668)) + 24|0); $707 = HEAP32[$706>>2]|0; $708 = ((($668)) + 12|0); $709 = HEAP32[$708>>2]|0; $710 = ($709|0)==($668|0); do { if ($710) { $715 = ((($668)) + 16|0); $716 = ((($715)) + 4|0); $717 = HEAP32[$716>>2]|0; $718 = ($717|0)==(0|0); if ($718) { $719 = HEAP32[$715>>2]|0; $720 = ($719|0)==(0|0); if ($720) { $$3$i$i = 0; break; } else { $$1263$i$i$ph = $719;$$1265$i$i$ph = $715; } } else { $$1263$i$i$ph = $717;$$1265$i$i$ph = $716; } $$1263$i$i = $$1263$i$i$ph;$$1265$i$i = $$1265$i$i$ph; while(1) { $721 = ((($$1263$i$i)) + 20|0); $722 = HEAP32[$721>>2]|0; $723 = ($722|0)==(0|0); if ($723) { $724 = ((($$1263$i$i)) + 16|0); $725 = HEAP32[$724>>2]|0; $726 = ($725|0)==(0|0); if ($726) { break; } else { $$1263$i$i$be = $725;$$1265$i$i$be = $724; } } else { $$1263$i$i$be = $722;$$1265$i$i$be = $721; } $$1263$i$i = $$1263$i$i$be;$$1265$i$i = $$1265$i$i$be; } HEAP32[$$1265$i$i>>2] = 0; $$3$i$i = $$1263$i$i; } else { $711 = ((($668)) + 8|0); $712 = HEAP32[$711>>2]|0; $713 = ((($712)) + 12|0); HEAP32[$713>>2] = $709; $714 = ((($709)) + 8|0); HEAP32[$714>>2] = $712; $$3$i$i = $709; } } while(0); $727 = ($707|0)==(0|0); if ($727) { break; } $728 = ((($668)) + 28|0); $729 = HEAP32[$728>>2]|0; $730 = (1407908 + ($729<<2)|0); $731 = HEAP32[$730>>2]|0; $732 = ($731|0)==($668|0); do { if ($732) { HEAP32[$730>>2] = $$3$i$i; $cond$i$i = ($$3$i$i|0)==(0|0); if (!($cond$i$i)) { break; } $733 = 1 << $729; $734 = $733 ^ -1; $735 = HEAP32[(1407608)>>2]|0; $736 = $735 & $734; HEAP32[(1407608)>>2] = $736; break L246; } else { $737 = ((($707)) + 16|0); $738 = HEAP32[$737>>2]|0; $739 = ($738|0)==($668|0); $740 = ((($707)) + 20|0); $$sink321 = $739 ? $737 : $740; HEAP32[$$sink321>>2] = $$3$i$i; $741 = ($$3$i$i|0)==(0|0); if ($741) { break L246; } } } while(0); $742 = ((($$3$i$i)) + 24|0); HEAP32[$742>>2] = $707; $743 = ((($668)) + 16|0); $744 = HEAP32[$743>>2]|0; $745 = ($744|0)==(0|0); if (!($745)) { $746 = ((($$3$i$i)) + 16|0); HEAP32[$746>>2] = $744; $747 = ((($744)) + 24|0); HEAP32[$747>>2] = $$3$i$i; } $748 = ((($743)) + 4|0); $749 = HEAP32[$748>>2]|0; $750 = ($749|0)==(0|0); if ($750) { break; } $751 = ((($$3$i$i)) + 20|0); HEAP32[$751>>2] = $749; $752 = ((($749)) + 24|0); HEAP32[$752>>2] = $$3$i$i; } } while(0); $753 = (($668) + ($692)|0); $754 = (($692) + ($673))|0; $$0$i$i = $753;$$0259$i$i = $754; } else { $$0$i$i = $668;$$0259$i$i = $673; } $755 = ((($$0$i$i)) + 4|0); $756 = HEAP32[$755>>2]|0; $757 = $756 & -2; HEAP32[$755>>2] = $757; $758 = $$0259$i$i | 1; $759 = ((($672)) + 4|0); HEAP32[$759>>2] = $758; $760 = (($672) + ($$0259$i$i)|0); HEAP32[$760>>2] = $$0259$i$i; $761 = (3)?($$0259$i$i >>> 3):($$0259$i$i); $762 = ($$0259$i$i>>>0)<(256); if ($762) { $763 = $761 << 1; $764 = (1407644 + ($763<<2)|0); $765 = HEAP32[351901]|0; $766 = 1 << $761; $767 = $765 & $766; $768 = ($767|0)==(0); if ($768) { $769 = $765 | $766; HEAP32[351901] = $769; $$pre$i16$i = ((($764)) + 8|0); $$0267$i$i = $764;$$pre$phi$i17$iZ2D = $$pre$i16$i; } else { $770 = ((($764)) + 8|0); $771 = HEAP32[$770>>2]|0; $$0267$i$i = $771;$$pre$phi$i17$iZ2D = $770; } HEAP32[$$pre$phi$i17$iZ2D>>2] = $672; $772 = ((($$0267$i$i)) + 12|0); HEAP32[$772>>2] = $672; $773 = ((($672)) + 8|0); HEAP32[$773>>2] = $$0267$i$i; $774 = ((($672)) + 12|0); HEAP32[$774>>2] = $764; break; } $775 = (8)?($$0259$i$i >>> 8):($$0259$i$i); $776 = ($775|0)==(0); do { if ($776) { $$0268$i$i = 0; } else { $777 = ($$0259$i$i>>>0)>(16777215); if ($777) { $$0268$i$i = 31; break; } $778 = (($775) + 1048320)|0; $779 = (16)?($778 >>> 16):($778); $780 = $779 & 8; $781 = $775 << $780; $782 = (($781) + 520192)|0; $783 = (16)?($782 >>> 16):($782); $784 = $783 & 4; $785 = $784 | $780; $786 = $781 << $784; $787 = (($786) + 245760)|0; $788 = (16)?($787 >>> 16):($787); $789 = $788 & 2; $790 = $785 | $789; $791 = (14 - ($790))|0; $792 = $786 << $789; $793 = (15)?($792 >>> 15):($792); $794 = (($791) + ($793))|0; $795 = $794 << 1; $796 = (($794) + 7)|0; $797 = ($796)?($$0259$i$i >>> $796):($$0259$i$i); $798 = $797 & 1; $799 = $798 | $795; $$0268$i$i = $799; } } while(0); $800 = (1407908 + ($$0268$i$i<<2)|0); $801 = ((($672)) + 28|0); HEAP32[$801>>2] = $$0268$i$i; $802 = ((($672)) + 16|0); $803 = ((($802)) + 4|0); HEAP32[$803>>2] = 0; HEAP32[$802>>2] = 0; $804 = HEAP32[(1407608)>>2]|0; $805 = 1 << $$0268$i$i; $806 = $804 & $805; $807 = ($806|0)==(0); if ($807) { $808 = $804 | $805; HEAP32[(1407608)>>2] = $808; HEAP32[$800>>2] = $672; $809 = ((($672)) + 24|0); HEAP32[$809>>2] = $800; $810 = ((($672)) + 12|0); HEAP32[$810>>2] = $672; $811 = ((($672)) + 8|0); HEAP32[$811>>2] = $672; break; } $812 = HEAP32[$800>>2]|0; $813 = ((($812)) + 4|0); $814 = HEAP32[$813>>2]|0; $815 = $814 & -8; $816 = ($815|0)==($$0259$i$i|0); L291: do { if ($816) { $$0261$lcssa$i$i = $812; } else { $817 = ($$0268$i$i|0)==(31); $818 = (1)?($$0268$i$i >>> 1):($$0268$i$i); $819 = (25 - ($818))|0; $820 = $817 ? 0 : $819; $821 = $$0259$i$i << $820; $$02604$i$i = $821;$$02613$i$i = $812; while(1) { $828 = (31)?($$02604$i$i >>> 31):($$02604$i$i); $829 = (((($$02613$i$i)) + 16|0) + ($828<<2)|0); $824 = HEAP32[$829>>2]|0; $830 = ($824|0)==(0|0); if ($830) { break; } $822 = $$02604$i$i << 1; $823 = ((($824)) + 4|0); $825 = HEAP32[$823>>2]|0; $826 = $825 & -8; $827 = ($826|0)==($$0259$i$i|0); if ($827) { $$0261$lcssa$i$i = $824; break L291; } else { $$02604$i$i = $822;$$02613$i$i = $824; } } HEAP32[$829>>2] = $672; $831 = ((($672)) + 24|0); HEAP32[$831>>2] = $$02613$i$i; $832 = ((($672)) + 12|0); HEAP32[$832>>2] = $672; $833 = ((($672)) + 8|0); HEAP32[$833>>2] = $672; break L238; } } while(0); $834 = ((($$0261$lcssa$i$i)) + 8|0); $835 = HEAP32[$834>>2]|0; $836 = ((($835)) + 12|0); HEAP32[$836>>2] = $672; HEAP32[$834>>2] = $672; $837 = ((($672)) + 8|0); HEAP32[$837>>2] = $835; $838 = ((($672)) + 12|0); HEAP32[$838>>2] = $$0261$lcssa$i$i; $839 = ((($672)) + 24|0); HEAP32[$839>>2] = 0; } } while(0); $968 = ((($660)) + 8|0); $$0 = $968; STACKTOP = sp;return ($$0|0); } } $$0$i$i$i = (1408052); while(1) { $840 = HEAP32[$$0$i$i$i>>2]|0; $841 = ($840>>>0)>($585>>>0); if (!($841)) { $842 = ((($$0$i$i$i)) + 4|0); $843 = HEAP32[$842>>2]|0; $844 = (($840) + ($843)|0); $845 = ($844>>>0)>($585>>>0); if ($845) { break; } } $846 = ((($$0$i$i$i)) + 8|0); $847 = HEAP32[$846>>2]|0; $$0$i$i$i = $847; } $848 = ((($844)) + -47|0); $849 = ((($848)) + 8|0); $850 = $849; $851 = $850 & 7; $852 = ($851|0)==(0); $853 = (0 - ($850))|0; $854 = $853 & 7; $855 = $852 ? 0 : $854; $856 = (($848) + ($855)|0); $857 = ((($585)) + 16|0); $858 = ($856>>>0)<($857>>>0); $859 = $858 ? $585 : $856; $860 = ((($859)) + 8|0); $861 = ((($859)) + 24|0); $862 = (($$723947$i) + -40)|0; $863 = ((($$748$i)) + 8|0); $864 = $863; $865 = $864 & 7; $866 = ($865|0)==(0); $867 = (0 - ($864))|0; $868 = $867 & 7; $869 = $866 ? 0 : $868; $870 = (($$748$i) + ($869)|0); $871 = (($862) - ($869))|0; HEAP32[(1407628)>>2] = $870; HEAP32[(1407616)>>2] = $871; $872 = $871 | 1; $873 = ((($870)) + 4|0); HEAP32[$873>>2] = $872; $874 = (($$748$i) + ($862)|0); $875 = ((($874)) + 4|0); HEAP32[$875>>2] = 40; $876 = HEAP32[(1408092)>>2]|0; HEAP32[(1407632)>>2] = $876; $877 = ((($859)) + 4|0); HEAP32[$877>>2] = 27; ;HEAP32[$860>>2]=HEAP32[(1408052)>>2]|0;HEAP32[$860+4>>2]=HEAP32[(1408052)+4>>2]|0;HEAP32[$860+8>>2]=HEAP32[(1408052)+8>>2]|0;HEAP32[$860+12>>2]=HEAP32[(1408052)+12>>2]|0; HEAP32[(1408052)>>2] = $$748$i; HEAP32[(1408056)>>2] = $$723947$i; HEAP32[(1408064)>>2] = 0; HEAP32[(1408060)>>2] = $860; $879 = $861; while(1) { $878 = ((($879)) + 4|0); HEAP32[$878>>2] = 7; $880 = ((($879)) + 8|0); $881 = ($880>>>0)<($844>>>0); if ($881) { $879 = $878; } else { break; } } $882 = ($859|0)==($585|0); if (!($882)) { $883 = $859; $884 = $585; $885 = (($883) - ($884))|0; $886 = HEAP32[$877>>2]|0; $887 = $886 & -2; HEAP32[$877>>2] = $887; $888 = $885 | 1; $889 = ((($585)) + 4|0); HEAP32[$889>>2] = $888; HEAP32[$859>>2] = $885; $890 = (3)?($885 >>> 3):($885); $891 = ($885>>>0)<(256); if ($891) { $892 = $890 << 1; $893 = (1407644 + ($892<<2)|0); $894 = HEAP32[351901]|0; $895 = 1 << $890; $896 = $894 & $895; $897 = ($896|0)==(0); if ($897) { $898 = $894 | $895; HEAP32[351901] = $898; $$pre$i$i = ((($893)) + 8|0); $$0206$i$i = $893;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $899 = ((($893)) + 8|0); $900 = HEAP32[$899>>2]|0; $$0206$i$i = $900;$$pre$phi$i$iZ2D = $899; } HEAP32[$$pre$phi$i$iZ2D>>2] = $585; $901 = ((($$0206$i$i)) + 12|0); HEAP32[$901>>2] = $585; $902 = ((($585)) + 8|0); HEAP32[$902>>2] = $$0206$i$i; $903 = ((($585)) + 12|0); HEAP32[$903>>2] = $893; break; } $904 = (8)?($885 >>> 8):($885); $905 = ($904|0)==(0); if ($905) { $$0207$i$i = 0; } else { $906 = ($885>>>0)>(16777215); if ($906) { $$0207$i$i = 31; } else { $907 = (($904) + 1048320)|0; $908 = (16)?($907 >>> 16):($907); $909 = $908 & 8; $910 = $904 << $909; $911 = (($910) + 520192)|0; $912 = (16)?($911 >>> 16):($911); $913 = $912 & 4; $914 = $913 | $909; $915 = $910 << $913; $916 = (($915) + 245760)|0; $917 = (16)?($916 >>> 16):($916); $918 = $917 & 2; $919 = $914 | $918; $920 = (14 - ($919))|0; $921 = $915 << $918; $922 = (15)?($921 >>> 15):($921); $923 = (($920) + ($922))|0; $924 = $923 << 1; $925 = (($923) + 7)|0; $926 = ($925)?($885 >>> $925):($885); $927 = $926 & 1; $928 = $927 | $924; $$0207$i$i = $928; } } $929 = (1407908 + ($$0207$i$i<<2)|0); $930 = ((($585)) + 28|0); HEAP32[$930>>2] = $$0207$i$i; $931 = ((($585)) + 20|0); HEAP32[$931>>2] = 0; HEAP32[$857>>2] = 0; $932 = HEAP32[(1407608)>>2]|0; $933 = 1 << $$0207$i$i; $934 = $932 & $933; $935 = ($934|0)==(0); if ($935) { $936 = $932 | $933; HEAP32[(1407608)>>2] = $936; HEAP32[$929>>2] = $585; $937 = ((($585)) + 24|0); HEAP32[$937>>2] = $929; $938 = ((($585)) + 12|0); HEAP32[$938>>2] = $585; $939 = ((($585)) + 8|0); HEAP32[$939>>2] = $585; break; } $940 = HEAP32[$929>>2]|0; $941 = ((($940)) + 4|0); $942 = HEAP32[$941>>2]|0; $943 = $942 & -8; $944 = ($943|0)==($885|0); L325: do { if ($944) { $$0202$lcssa$i$i = $940; } else { $945 = ($$0207$i$i|0)==(31); $946 = (1)?($$0207$i$i >>> 1):($$0207$i$i); $947 = (25 - ($946))|0; $948 = $945 ? 0 : $947; $949 = $885 << $948; $$02014$i$i = $949;$$02023$i$i = $940; while(1) { $956 = (31)?($$02014$i$i >>> 31):($$02014$i$i); $957 = (((($$02023$i$i)) + 16|0) + ($956<<2)|0); $952 = HEAP32[$957>>2]|0; $958 = ($952|0)==(0|0); if ($958) { break; } $950 = $$02014$i$i << 1; $951 = ((($952)) + 4|0); $953 = HEAP32[$951>>2]|0; $954 = $953 & -8; $955 = ($954|0)==($885|0); if ($955) { $$0202$lcssa$i$i = $952; break L325; } else { $$02014$i$i = $950;$$02023$i$i = $952; } } HEAP32[$957>>2] = $585; $959 = ((($585)) + 24|0); HEAP32[$959>>2] = $$02023$i$i; $960 = ((($585)) + 12|0); HEAP32[$960>>2] = $585; $961 = ((($585)) + 8|0); HEAP32[$961>>2] = $585; break L215; } } while(0); $962 = ((($$0202$lcssa$i$i)) + 8|0); $963 = HEAP32[$962>>2]|0; $964 = ((($963)) + 12|0); HEAP32[$964>>2] = $585; HEAP32[$962>>2] = $585; $965 = ((($585)) + 8|0); HEAP32[$965>>2] = $963; $966 = ((($585)) + 12|0); HEAP32[$966>>2] = $$0202$lcssa$i$i; $967 = ((($585)) + 24|0); HEAP32[$967>>2] = 0; } } } while(0); $969 = HEAP32[(1407616)>>2]|0; $970 = ($969>>>0)>($$0192>>>0); if ($970) { $971 = (($969) - ($$0192))|0; HEAP32[(1407616)>>2] = $971; $972 = HEAP32[(1407628)>>2]|0; $973 = (($972) + ($$0192)|0); HEAP32[(1407628)>>2] = $973; $974 = $971 | 1; $975 = ((($973)) + 4|0); HEAP32[$975>>2] = $974; $976 = $$0192 | 3; $977 = ((($972)) + 4|0); HEAP32[$977>>2] = $976; $978 = ((($972)) + 8|0); $$0 = $978; STACKTOP = sp;return ($$0|0); } } $979 = (___errno_location()|0); HEAP32[$979>>2] = 12; $$0 = 0; STACKTOP = sp;return ($$0|0); } function _free($0) { $0 = $0|0; var $$0194$i = 0, $$0194$in$i = 0, $$0346381 = 0, $$0347$lcssa = 0, $$0347380 = 0, $$0359 = 0, $$0366 = 0, $$1 = 0, $$1345 = 0, $$1350 = 0, $$1350$be = 0, $$1350$ph = 0, $$1353 = 0, $$1353$be = 0, $$1353$ph = 0, $$1361 = 0, $$1361$be = 0, $$1361$ph = 0, $$1365 = 0, $$1365$be = 0; var $$1365$ph = 0, $$2 = 0, $$3 = 0, $$3363 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink = 0, $$sink395 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; var $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; var $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0; var $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0; var $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0; var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0; var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0; var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0; var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond371 = 0, $cond372 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ($0|0)==(0|0); if ($1) { return; } $2 = ((($0)) + -8|0); $3 = HEAP32[(1407620)>>2]|0; $4 = ((($0)) + -4|0); $5 = HEAP32[$4>>2]|0; $6 = $5 & -8; $7 = (($2) + ($6)|0); $8 = $5 & 1; $9 = ($8|0)==(0); do { if ($9) { $10 = HEAP32[$2>>2]|0; $11 = $5 & 3; $12 = ($11|0)==(0); if ($12) { return; } $13 = (0 - ($10))|0; $14 = (($2) + ($13)|0); $15 = (($10) + ($6))|0; $16 = ($14>>>0)<($3>>>0); if ($16) { return; } $17 = HEAP32[(1407624)>>2]|0; $18 = ($17|0)==($14|0); if ($18) { $79 = ((($7)) + 4|0); $80 = HEAP32[$79>>2]|0; $81 = $80 & 3; $82 = ($81|0)==(3); if (!($82)) { $$1 = $14;$$1345 = $15;$87 = $14; break; } $83 = (($14) + ($15)|0); $84 = ((($14)) + 4|0); $85 = $15 | 1; $86 = $80 & -2; HEAP32[(1407612)>>2] = $15; HEAP32[$79>>2] = $86; HEAP32[$84>>2] = $85; HEAP32[$83>>2] = $15; return; } $19 = (3)?($10 >>> 3):($10); $20 = ($10>>>0)<(256); if ($20) { $21 = ((($14)) + 8|0); $22 = HEAP32[$21>>2]|0; $23 = ((($14)) + 12|0); $24 = HEAP32[$23>>2]|0; $25 = ($24|0)==($22|0); if ($25) { $26 = 1 << $19; $27 = $26 ^ -1; $28 = HEAP32[351901]|0; $29 = $28 & $27; HEAP32[351901] = $29; $$1 = $14;$$1345 = $15;$87 = $14; break; } else { $30 = ((($22)) + 12|0); HEAP32[$30>>2] = $24; $31 = ((($24)) + 8|0); HEAP32[$31>>2] = $22; $$1 = $14;$$1345 = $15;$87 = $14; break; } } $32 = ((($14)) + 24|0); $33 = HEAP32[$32>>2]|0; $34 = ((($14)) + 12|0); $35 = HEAP32[$34>>2]|0; $36 = ($35|0)==($14|0); do { if ($36) { $41 = ((($14)) + 16|0); $42 = ((($41)) + 4|0); $43 = HEAP32[$42>>2]|0; $44 = ($43|0)==(0|0); if ($44) { $45 = HEAP32[$41>>2]|0; $46 = ($45|0)==(0|0); if ($46) { $$3 = 0; break; } else { $$1350$ph = $45;$$1353$ph = $41; } } else { $$1350$ph = $43;$$1353$ph = $42; } $$1350 = $$1350$ph;$$1353 = $$1353$ph; while(1) { $47 = ((($$1350)) + 20|0); $48 = HEAP32[$47>>2]|0; $49 = ($48|0)==(0|0); if ($49) { $50 = ((($$1350)) + 16|0); $51 = HEAP32[$50>>2]|0; $52 = ($51|0)==(0|0); if ($52) { break; } else { $$1350$be = $51;$$1353$be = $50; } } else { $$1350$be = $48;$$1353$be = $47; } $$1350 = $$1350$be;$$1353 = $$1353$be; } HEAP32[$$1353>>2] = 0; $$3 = $$1350; } else { $37 = ((($14)) + 8|0); $38 = HEAP32[$37>>2]|0; $39 = ((($38)) + 12|0); HEAP32[$39>>2] = $35; $40 = ((($35)) + 8|0); HEAP32[$40>>2] = $38; $$3 = $35; } } while(0); $53 = ($33|0)==(0|0); if ($53) { $$1 = $14;$$1345 = $15;$87 = $14; } else { $54 = ((($14)) + 28|0); $55 = HEAP32[$54>>2]|0; $56 = (1407908 + ($55<<2)|0); $57 = HEAP32[$56>>2]|0; $58 = ($57|0)==($14|0); if ($58) { HEAP32[$56>>2] = $$3; $cond371 = ($$3|0)==(0|0); if ($cond371) { $59 = 1 << $55; $60 = $59 ^ -1; $61 = HEAP32[(1407608)>>2]|0; $62 = $61 & $60; HEAP32[(1407608)>>2] = $62; $$1 = $14;$$1345 = $15;$87 = $14; break; } } else { $63 = ((($33)) + 16|0); $64 = HEAP32[$63>>2]|0; $65 = ($64|0)==($14|0); $66 = ((($33)) + 20|0); $$sink = $65 ? $63 : $66; HEAP32[$$sink>>2] = $$3; $67 = ($$3|0)==(0|0); if ($67) { $$1 = $14;$$1345 = $15;$87 = $14; break; } } $68 = ((($$3)) + 24|0); HEAP32[$68>>2] = $33; $69 = ((($14)) + 16|0); $70 = HEAP32[$69>>2]|0; $71 = ($70|0)==(0|0); if (!($71)) { $72 = ((($$3)) + 16|0); HEAP32[$72>>2] = $70; $73 = ((($70)) + 24|0); HEAP32[$73>>2] = $$3; } $74 = ((($69)) + 4|0); $75 = HEAP32[$74>>2]|0; $76 = ($75|0)==(0|0); if ($76) { $$1 = $14;$$1345 = $15;$87 = $14; } else { $77 = ((($$3)) + 20|0); HEAP32[$77>>2] = $75; $78 = ((($75)) + 24|0); HEAP32[$78>>2] = $$3; $$1 = $14;$$1345 = $15;$87 = $14; } } } else { $$1 = $2;$$1345 = $6;$87 = $2; } } while(0); $88 = ($87>>>0)<($7>>>0); if (!($88)) { return; } $89 = ((($7)) + 4|0); $90 = HEAP32[$89>>2]|0; $91 = $90 & 1; $92 = ($91|0)==(0); if ($92) { return; } $93 = $90 & 2; $94 = ($93|0)==(0); if ($94) { $95 = HEAP32[(1407628)>>2]|0; $96 = ($95|0)==($7|0); if ($96) { $97 = HEAP32[(1407616)>>2]|0; $98 = (($97) + ($$1345))|0; HEAP32[(1407616)>>2] = $98; HEAP32[(1407628)>>2] = $$1; $99 = $98 | 1; $100 = ((($$1)) + 4|0); HEAP32[$100>>2] = $99; $101 = HEAP32[(1407624)>>2]|0; $102 = ($$1|0)==($101|0); if (!($102)) { return; } HEAP32[(1407624)>>2] = 0; HEAP32[(1407612)>>2] = 0; return; } $103 = HEAP32[(1407624)>>2]|0; $104 = ($103|0)==($7|0); if ($104) { $105 = HEAP32[(1407612)>>2]|0; $106 = (($105) + ($$1345))|0; HEAP32[(1407612)>>2] = $106; HEAP32[(1407624)>>2] = $87; $107 = $106 | 1; $108 = ((($$1)) + 4|0); HEAP32[$108>>2] = $107; $109 = (($87) + ($106)|0); HEAP32[$109>>2] = $106; return; } $110 = $90 & -8; $111 = (($110) + ($$1345))|0; $112 = (3)?($90 >>> 3):($90); $113 = ($90>>>0)<(256); do { if ($113) { $114 = ((($7)) + 8|0); $115 = HEAP32[$114>>2]|0; $116 = ((($7)) + 12|0); $117 = HEAP32[$116>>2]|0; $118 = ($117|0)==($115|0); if ($118) { $119 = 1 << $112; $120 = $119 ^ -1; $121 = HEAP32[351901]|0; $122 = $121 & $120; HEAP32[351901] = $122; break; } else { $123 = ((($115)) + 12|0); HEAP32[$123>>2] = $117; $124 = ((($117)) + 8|0); HEAP32[$124>>2] = $115; break; } } else { $125 = ((($7)) + 24|0); $126 = HEAP32[$125>>2]|0; $127 = ((($7)) + 12|0); $128 = HEAP32[$127>>2]|0; $129 = ($128|0)==($7|0); do { if ($129) { $134 = ((($7)) + 16|0); $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; $137 = ($136|0)==(0|0); if ($137) { $138 = HEAP32[$134>>2]|0; $139 = ($138|0)==(0|0); if ($139) { $$3363 = 0; break; } else { $$1361$ph = $138;$$1365$ph = $134; } } else { $$1361$ph = $136;$$1365$ph = $135; } $$1361 = $$1361$ph;$$1365 = $$1365$ph; while(1) { $140 = ((($$1361)) + 20|0); $141 = HEAP32[$140>>2]|0; $142 = ($141|0)==(0|0); if ($142) { $143 = ((($$1361)) + 16|0); $144 = HEAP32[$143>>2]|0; $145 = ($144|0)==(0|0); if ($145) { break; } else { $$1361$be = $144;$$1365$be = $143; } } else { $$1361$be = $141;$$1365$be = $140; } $$1361 = $$1361$be;$$1365 = $$1365$be; } HEAP32[$$1365>>2] = 0; $$3363 = $$1361; } else { $130 = ((($7)) + 8|0); $131 = HEAP32[$130>>2]|0; $132 = ((($131)) + 12|0); HEAP32[$132>>2] = $128; $133 = ((($128)) + 8|0); HEAP32[$133>>2] = $131; $$3363 = $128; } } while(0); $146 = ($126|0)==(0|0); if (!($146)) { $147 = ((($7)) + 28|0); $148 = HEAP32[$147>>2]|0; $149 = (1407908 + ($148<<2)|0); $150 = HEAP32[$149>>2]|0; $151 = ($150|0)==($7|0); if ($151) { HEAP32[$149>>2] = $$3363; $cond372 = ($$3363|0)==(0|0); if ($cond372) { $152 = 1 << $148; $153 = $152 ^ -1; $154 = HEAP32[(1407608)>>2]|0; $155 = $154 & $153; HEAP32[(1407608)>>2] = $155; break; } } else { $156 = ((($126)) + 16|0); $157 = HEAP32[$156>>2]|0; $158 = ($157|0)==($7|0); $159 = ((($126)) + 20|0); $$sink395 = $158 ? $156 : $159; HEAP32[$$sink395>>2] = $$3363; $160 = ($$3363|0)==(0|0); if ($160) { break; } } $161 = ((($$3363)) + 24|0); HEAP32[$161>>2] = $126; $162 = ((($7)) + 16|0); $163 = HEAP32[$162>>2]|0; $164 = ($163|0)==(0|0); if (!($164)) { $165 = ((($$3363)) + 16|0); HEAP32[$165>>2] = $163; $166 = ((($163)) + 24|0); HEAP32[$166>>2] = $$3363; } $167 = ((($162)) + 4|0); $168 = HEAP32[$167>>2]|0; $169 = ($168|0)==(0|0); if (!($169)) { $170 = ((($$3363)) + 20|0); HEAP32[$170>>2] = $168; $171 = ((($168)) + 24|0); HEAP32[$171>>2] = $$3363; } } } } while(0); $172 = $111 | 1; $173 = ((($$1)) + 4|0); HEAP32[$173>>2] = $172; $174 = (($87) + ($111)|0); HEAP32[$174>>2] = $111; $175 = HEAP32[(1407624)>>2]|0; $176 = ($$1|0)==($175|0); if ($176) { HEAP32[(1407612)>>2] = $111; return; } else { $$2 = $111; } } else { $177 = $90 & -2; HEAP32[$89>>2] = $177; $178 = $$1345 | 1; $179 = ((($$1)) + 4|0); HEAP32[$179>>2] = $178; $180 = (($87) + ($$1345)|0); HEAP32[$180>>2] = $$1345; $$2 = $$1345; } $181 = (3)?($$2 >>> 3):($$2); $182 = ($$2>>>0)<(256); if ($182) { $183 = $181 << 1; $184 = (1407644 + ($183<<2)|0); $185 = HEAP32[351901]|0; $186 = 1 << $181; $187 = $185 & $186; $188 = ($187|0)==(0); if ($188) { $189 = $185 | $186; HEAP32[351901] = $189; $$pre = ((($184)) + 8|0); $$0366 = $184;$$pre$phiZ2D = $$pre; } else { $190 = ((($184)) + 8|0); $191 = HEAP32[$190>>2]|0; $$0366 = $191;$$pre$phiZ2D = $190; } HEAP32[$$pre$phiZ2D>>2] = $$1; $192 = ((($$0366)) + 12|0); HEAP32[$192>>2] = $$1; $193 = ((($$1)) + 8|0); HEAP32[$193>>2] = $$0366; $194 = ((($$1)) + 12|0); HEAP32[$194>>2] = $184; return; } $195 = (8)?($$2 >>> 8):($$2); $196 = ($195|0)==(0); if ($196) { $$0359 = 0; } else { $197 = ($$2>>>0)>(16777215); if ($197) { $$0359 = 31; } else { $198 = (($195) + 1048320)|0; $199 = (16)?($198 >>> 16):($198); $200 = $199 & 8; $201 = $195 << $200; $202 = (($201) + 520192)|0; $203 = (16)?($202 >>> 16):($202); $204 = $203 & 4; $205 = $204 | $200; $206 = $201 << $204; $207 = (($206) + 245760)|0; $208 = (16)?($207 >>> 16):($207); $209 = $208 & 2; $210 = $205 | $209; $211 = (14 - ($210))|0; $212 = $206 << $209; $213 = (15)?($212 >>> 15):($212); $214 = (($211) + ($213))|0; $215 = $214 << 1; $216 = (($214) + 7)|0; $217 = ($216)?($$2 >>> $216):($$2); $218 = $217 & 1; $219 = $218 | $215; $$0359 = $219; } } $220 = (1407908 + ($$0359<<2)|0); $221 = ((($$1)) + 28|0); HEAP32[$221>>2] = $$0359; $222 = ((($$1)) + 16|0); $223 = ((($$1)) + 20|0); HEAP32[$223>>2] = 0; HEAP32[$222>>2] = 0; $224 = HEAP32[(1407608)>>2]|0; $225 = 1 << $$0359; $226 = $224 & $225; $227 = ($226|0)==(0); L112: do { if ($227) { $228 = $224 | $225; HEAP32[(1407608)>>2] = $228; HEAP32[$220>>2] = $$1; $229 = ((($$1)) + 24|0); HEAP32[$229>>2] = $220; $230 = ((($$1)) + 12|0); HEAP32[$230>>2] = $$1; $231 = ((($$1)) + 8|0); HEAP32[$231>>2] = $$1; } else { $232 = HEAP32[$220>>2]|0; $233 = ((($232)) + 4|0); $234 = HEAP32[$233>>2]|0; $235 = $234 & -8; $236 = ($235|0)==($$2|0); L115: do { if ($236) { $$0347$lcssa = $232; } else { $237 = ($$0359|0)==(31); $238 = (1)?($$0359 >>> 1):($$0359); $239 = (25 - ($238))|0; $240 = $237 ? 0 : $239; $241 = $$2 << $240; $$0346381 = $241;$$0347380 = $232; while(1) { $248 = (31)?($$0346381 >>> 31):($$0346381); $249 = (((($$0347380)) + 16|0) + ($248<<2)|0); $244 = HEAP32[$249>>2]|0; $250 = ($244|0)==(0|0); if ($250) { break; } $242 = $$0346381 << 1; $243 = ((($244)) + 4|0); $245 = HEAP32[$243>>2]|0; $246 = $245 & -8; $247 = ($246|0)==($$2|0); if ($247) { $$0347$lcssa = $244; break L115; } else { $$0346381 = $242;$$0347380 = $244; } } HEAP32[$249>>2] = $$1; $251 = ((($$1)) + 24|0); HEAP32[$251>>2] = $$0347380; $252 = ((($$1)) + 12|0); HEAP32[$252>>2] = $$1; $253 = ((($$1)) + 8|0); HEAP32[$253>>2] = $$1; break L112; } } while(0); $254 = ((($$0347$lcssa)) + 8|0); $255 = HEAP32[$254>>2]|0; $256 = ((($255)) + 12|0); HEAP32[$256>>2] = $$1; HEAP32[$254>>2] = $$1; $257 = ((($$1)) + 8|0); HEAP32[$257>>2] = $255; $258 = ((($$1)) + 12|0); HEAP32[$258>>2] = $$0347$lcssa; $259 = ((($$1)) + 24|0); HEAP32[$259>>2] = 0; } } while(0); $260 = HEAP32[(1407636)>>2]|0; $261 = (($260) + -1)|0; HEAP32[(1407636)>>2] = $261; $262 = ($261|0)==(0); if (!($262)) { return; } $$0194$in$i = (1408060); while(1) { $$0194$i = HEAP32[$$0194$in$i>>2]|0; $263 = ($$0194$i|0)==(0|0); $264 = ((($$0194$i)) + 8|0); if ($263) { break; } else { $$0194$in$i = $264; } } HEAP32[(1407636)>>2] = -1; return; } function _calloc($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($0|0)==(0); if ($2) { $$0 = 0; } else { $3 = Math_imul($1, $0)|0; $4 = $1 | $0; $5 = ($4>>>0)>(65535); if ($5) { $6 = (($3>>>0) / ($0>>>0))&-1; $7 = ($6|0)==($1|0); $spec$select = $7 ? $3 : -1; $$0 = $spec$select; } else { $$0 = $3; } } $8 = (_malloc($$0)|0); $9 = ($8|0)==(0|0); if ($9) { return ($8|0); } $10 = ((($8)) + -4|0); $11 = HEAP32[$10>>2]|0; $12 = $11 & 3; $13 = ($12|0)==(0); if ($13) { return ($8|0); } (_memset(($8|0),0,($$0|0))|0); return ($8|0); } function _realloc($0,$1) { $0 = $0|0; $1 = $1|0; var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { $3 = (_malloc($1)|0); $$1 = $3; return ($$1|0); } $4 = ($1>>>0)>(4294967231); if ($4) { $5 = (___errno_location()|0); HEAP32[$5>>2] = 12; $$1 = 0; return ($$1|0); } $6 = ($1>>>0)<(11); $7 = (($1) + 11)|0; $8 = $7 & -8; $9 = $6 ? 16 : $8; $10 = ((($0)) + -8|0); $11 = (_try_realloc_chunk($10,$9)|0); $12 = ($11|0)==(0|0); if (!($12)) { $13 = ((($11)) + 8|0); $$1 = $13; return ($$1|0); } $14 = (_malloc($1)|0); $15 = ($14|0)==(0|0); if ($15) { $$1 = 0; return ($$1|0); } $16 = ((($0)) + -4|0); $17 = HEAP32[$16>>2]|0; $18 = $17 & -8; $19 = $17 & 3; $20 = ($19|0)==(0); $21 = $20 ? 8 : 4; $22 = (($18) - ($21))|0; $23 = ($22>>>0)<($1>>>0); $24 = $23 ? $22 : $1; (_memcpy(($14|0),($0|0),($24|0))|0); _free($0); $$1 = $14; return ($$1|0); } function _try_realloc_chunk($0,$1) { $0 = $0|0; $1 = $1|0; var $$1245 = 0, $$1245$be = 0, $$1245$ph = 0, $$1248 = 0, $$1248$be = 0, $$1248$ph = 0, $$2 = 0, $$3 = 0, $$sink = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; var $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; var $146 = 0, $147 = 0, $148 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $storemerge = 0, $storemerge1 = 0, label = 0; var sp = 0; sp = STACKTOP; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); $6 = $3 & 3; $7 = ($6|0)==(0); if ($7) { $8 = ($1>>>0)<(256); if ($8) { $$2 = 0; return ($$2|0); } $9 = (($1) + 4)|0; $10 = ($4>>>0)<($9>>>0); if (!($10)) { $11 = (($4) - ($1))|0; $12 = HEAP32[(1408084)>>2]|0; $13 = $12 << 1; $14 = ($11>>>0)>($13>>>0); if (!($14)) { $$2 = $0; return ($$2|0); } } $$2 = 0; return ($$2|0); } $15 = ($4>>>0)<($1>>>0); if (!($15)) { $16 = (($4) - ($1))|0; $17 = ($16>>>0)>(15); if (!($17)) { $$2 = $0; return ($$2|0); } $18 = (($0) + ($1)|0); $19 = $3 & 1; $20 = $19 | $1; $21 = $20 | 2; HEAP32[$2>>2] = $21; $22 = ((($18)) + 4|0); $23 = $16 | 3; HEAP32[$22>>2] = $23; $24 = ((($5)) + 4|0); $25 = HEAP32[$24>>2]|0; $26 = $25 | 1; HEAP32[$24>>2] = $26; _dispose_chunk($18,$16); $$2 = $0; return ($$2|0); } $27 = HEAP32[(1407628)>>2]|0; $28 = ($27|0)==($5|0); if ($28) { $29 = HEAP32[(1407616)>>2]|0; $30 = (($29) + ($4))|0; $31 = ($30>>>0)>($1>>>0); $32 = (($30) - ($1))|0; $33 = (($0) + ($1)|0); if (!($31)) { $$2 = 0; return ($$2|0); } $34 = $32 | 1; $35 = ((($33)) + 4|0); $36 = $3 & 1; $37 = $36 | $1; $38 = $37 | 2; HEAP32[$2>>2] = $38; HEAP32[$35>>2] = $34; HEAP32[(1407628)>>2] = $33; HEAP32[(1407616)>>2] = $32; $$2 = $0; return ($$2|0); } $39 = HEAP32[(1407624)>>2]|0; $40 = ($39|0)==($5|0); if ($40) { $41 = HEAP32[(1407612)>>2]|0; $42 = (($41) + ($4))|0; $43 = ($42>>>0)<($1>>>0); if ($43) { $$2 = 0; return ($$2|0); } $44 = (($42) - ($1))|0; $45 = ($44>>>0)>(15); if ($45) { $46 = (($0) + ($1)|0); $47 = (($0) + ($42)|0); $48 = $3 & 1; $49 = $48 | $1; $50 = $49 | 2; HEAP32[$2>>2] = $50; $51 = ((($46)) + 4|0); $52 = $44 | 1; HEAP32[$51>>2] = $52; HEAP32[$47>>2] = $44; $53 = ((($47)) + 4|0); $54 = HEAP32[$53>>2]|0; $55 = $54 & -2; HEAP32[$53>>2] = $55; $storemerge = $46;$storemerge1 = $44; } else { $56 = $3 & 1; $57 = $56 | $42; $58 = $57 | 2; HEAP32[$2>>2] = $58; $59 = (($0) + ($42)|0); $60 = ((($59)) + 4|0); $61 = HEAP32[$60>>2]|0; $62 = $61 | 1; HEAP32[$60>>2] = $62; $storemerge = 0;$storemerge1 = 0; } HEAP32[(1407612)>>2] = $storemerge1; HEAP32[(1407624)>>2] = $storemerge; $$2 = $0; return ($$2|0); } $63 = ((($5)) + 4|0); $64 = HEAP32[$63>>2]|0; $65 = $64 & 2; $66 = ($65|0)==(0); if (!($66)) { $$2 = 0; return ($$2|0); } $67 = $64 & -8; $68 = (($67) + ($4))|0; $69 = ($68>>>0)<($1>>>0); if ($69) { $$2 = 0; return ($$2|0); } $70 = (($68) - ($1))|0; $71 = (3)?($64 >>> 3):($64); $72 = ($64>>>0)<(256); do { if ($72) { $73 = ((($5)) + 8|0); $74 = HEAP32[$73>>2]|0; $75 = ((($5)) + 12|0); $76 = HEAP32[$75>>2]|0; $77 = ($76|0)==($74|0); if ($77) { $78 = 1 << $71; $79 = $78 ^ -1; $80 = HEAP32[351901]|0; $81 = $80 & $79; HEAP32[351901] = $81; break; } else { $82 = ((($74)) + 12|0); HEAP32[$82>>2] = $76; $83 = ((($76)) + 8|0); HEAP32[$83>>2] = $74; break; } } else { $84 = ((($5)) + 24|0); $85 = HEAP32[$84>>2]|0; $86 = ((($5)) + 12|0); $87 = HEAP32[$86>>2]|0; $88 = ($87|0)==($5|0); do { if ($88) { $93 = ((($5)) + 16|0); $94 = ((($93)) + 4|0); $95 = HEAP32[$94>>2]|0; $96 = ($95|0)==(0|0); if ($96) { $97 = HEAP32[$93>>2]|0; $98 = ($97|0)==(0|0); if ($98) { $$3 = 0; break; } else { $$1245$ph = $97;$$1248$ph = $93; } } else { $$1245$ph = $95;$$1248$ph = $94; } $$1245 = $$1245$ph;$$1248 = $$1248$ph; while(1) { $99 = ((($$1245)) + 20|0); $100 = HEAP32[$99>>2]|0; $101 = ($100|0)==(0|0); if ($101) { $102 = ((($$1245)) + 16|0); $103 = HEAP32[$102>>2]|0; $104 = ($103|0)==(0|0); if ($104) { break; } else { $$1245$be = $103;$$1248$be = $102; } } else { $$1245$be = $100;$$1248$be = $99; } $$1245 = $$1245$be;$$1248 = $$1248$be; } HEAP32[$$1248>>2] = 0; $$3 = $$1245; } else { $89 = ((($5)) + 8|0); $90 = HEAP32[$89>>2]|0; $91 = ((($90)) + 12|0); HEAP32[$91>>2] = $87; $92 = ((($87)) + 8|0); HEAP32[$92>>2] = $90; $$3 = $87; } } while(0); $105 = ($85|0)==(0|0); if (!($105)) { $106 = ((($5)) + 28|0); $107 = HEAP32[$106>>2]|0; $108 = (1407908 + ($107<<2)|0); $109 = HEAP32[$108>>2]|0; $110 = ($109|0)==($5|0); if ($110) { HEAP32[$108>>2] = $$3; $cond = ($$3|0)==(0|0); if ($cond) { $111 = 1 << $107; $112 = $111 ^ -1; $113 = HEAP32[(1407608)>>2]|0; $114 = $113 & $112; HEAP32[(1407608)>>2] = $114; break; } } else { $115 = ((($85)) + 16|0); $116 = HEAP32[$115>>2]|0; $117 = ($116|0)==($5|0); $118 = ((($85)) + 20|0); $$sink = $117 ? $115 : $118; HEAP32[$$sink>>2] = $$3; $119 = ($$3|0)==(0|0); if ($119) { break; } } $120 = ((($$3)) + 24|0); HEAP32[$120>>2] = $85; $121 = ((($5)) + 16|0); $122 = HEAP32[$121>>2]|0; $123 = ($122|0)==(0|0); if (!($123)) { $124 = ((($$3)) + 16|0); HEAP32[$124>>2] = $122; $125 = ((($122)) + 24|0); HEAP32[$125>>2] = $$3; } $126 = ((($121)) + 4|0); $127 = HEAP32[$126>>2]|0; $128 = ($127|0)==(0|0); if (!($128)) { $129 = ((($$3)) + 20|0); HEAP32[$129>>2] = $127; $130 = ((($127)) + 24|0); HEAP32[$130>>2] = $$3; } } } } while(0); $131 = ($70>>>0)<(16); if ($131) { $132 = $3 & 1; $133 = $132 | $68; $134 = $133 | 2; HEAP32[$2>>2] = $134; $135 = (($0) + ($68)|0); $136 = ((($135)) + 4|0); $137 = HEAP32[$136>>2]|0; $138 = $137 | 1; HEAP32[$136>>2] = $138; $$2 = $0; return ($$2|0); } else { $139 = (($0) + ($1)|0); $140 = $3 & 1; $141 = $140 | $1; $142 = $141 | 2; HEAP32[$2>>2] = $142; $143 = ((($139)) + 4|0); $144 = $70 | 3; HEAP32[$143>>2] = $144; $145 = (($0) + ($68)|0); $146 = ((($145)) + 4|0); $147 = HEAP32[$146>>2]|0; $148 = $147 | 1; HEAP32[$146>>2] = $148; _dispose_chunk($139,$70); $$2 = $0; return ($$2|0); } return (0)|0; } function _dispose_chunk($0,$1) { $0 = $0|0; $1 = $1|0; var $$03649 = 0, $$0365$lcssa = 0, $$03658 = 0, $$0376 = 0, $$0383 = 0, $$1 = 0, $$1363 = 0, $$1371 = 0, $$1371$be = 0, $$1371$ph = 0, $$1374 = 0, $$1374$be = 0, $$1374$ph = 0, $$1378 = 0, $$1378$be = 0, $$1378$ph = 0, $$1382 = 0, $$1382$be = 0, $$1382$ph = 0, $$2 = 0; var $$3 = 0, $$3380 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink = 0, $$sink24 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0; var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0; var $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0; var $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0; var $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0; var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond4 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (($0) + ($1)|0); $3 = ((($0)) + 4|0); $4 = HEAP32[$3>>2]|0; $5 = $4 & 1; $6 = ($5|0)==(0); do { if ($6) { $7 = HEAP32[$0>>2]|0; $8 = $4 & 3; $9 = ($8|0)==(0); if ($9) { return; } $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; $13 = HEAP32[(1407624)>>2]|0; $14 = ($13|0)==($11|0); if ($14) { $75 = ((($2)) + 4|0); $76 = HEAP32[$75>>2]|0; $77 = $76 & 3; $78 = ($77|0)==(3); if (!($78)) { $$1 = $11;$$1363 = $12; break; } $79 = ((($11)) + 4|0); $80 = $12 | 1; $81 = $76 & -2; HEAP32[(1407612)>>2] = $12; HEAP32[$75>>2] = $81; HEAP32[$79>>2] = $80; HEAP32[$2>>2] = $12; return; } $15 = (3)?($7 >>> 3):($7); $16 = ($7>>>0)<(256); if ($16) { $17 = ((($11)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($11)) + 12|0); $20 = HEAP32[$19>>2]|0; $21 = ($20|0)==($18|0); if ($21) { $22 = 1 << $15; $23 = $22 ^ -1; $24 = HEAP32[351901]|0; $25 = $24 & $23; HEAP32[351901] = $25; $$1 = $11;$$1363 = $12; break; } else { $26 = ((($18)) + 12|0); HEAP32[$26>>2] = $20; $27 = ((($20)) + 8|0); HEAP32[$27>>2] = $18; $$1 = $11;$$1363 = $12; break; } } $28 = ((($11)) + 24|0); $29 = HEAP32[$28>>2]|0; $30 = ((($11)) + 12|0); $31 = HEAP32[$30>>2]|0; $32 = ($31|0)==($11|0); do { if ($32) { $37 = ((($11)) + 16|0); $38 = ((($37)) + 4|0); $39 = HEAP32[$38>>2]|0; $40 = ($39|0)==(0|0); if ($40) { $41 = HEAP32[$37>>2]|0; $42 = ($41|0)==(0|0); if ($42) { $$3 = 0; break; } else { $$1371$ph = $41;$$1374$ph = $37; } } else { $$1371$ph = $39;$$1374$ph = $38; } $$1371 = $$1371$ph;$$1374 = $$1374$ph; while(1) { $43 = ((($$1371)) + 20|0); $44 = HEAP32[$43>>2]|0; $45 = ($44|0)==(0|0); if ($45) { $46 = ((($$1371)) + 16|0); $47 = HEAP32[$46>>2]|0; $48 = ($47|0)==(0|0); if ($48) { break; } else { $$1371$be = $47;$$1374$be = $46; } } else { $$1371$be = $44;$$1374$be = $43; } $$1371 = $$1371$be;$$1374 = $$1374$be; } HEAP32[$$1374>>2] = 0; $$3 = $$1371; } else { $33 = ((($11)) + 8|0); $34 = HEAP32[$33>>2]|0; $35 = ((($34)) + 12|0); HEAP32[$35>>2] = $31; $36 = ((($31)) + 8|0); HEAP32[$36>>2] = $34; $$3 = $31; } } while(0); $49 = ($29|0)==(0|0); if ($49) { $$1 = $11;$$1363 = $12; } else { $50 = ((($11)) + 28|0); $51 = HEAP32[$50>>2]|0; $52 = (1407908 + ($51<<2)|0); $53 = HEAP32[$52>>2]|0; $54 = ($53|0)==($11|0); if ($54) { HEAP32[$52>>2] = $$3; $cond = ($$3|0)==(0|0); if ($cond) { $55 = 1 << $51; $56 = $55 ^ -1; $57 = HEAP32[(1407608)>>2]|0; $58 = $57 & $56; HEAP32[(1407608)>>2] = $58; $$1 = $11;$$1363 = $12; break; } } else { $59 = ((($29)) + 16|0); $60 = HEAP32[$59>>2]|0; $61 = ($60|0)==($11|0); $62 = ((($29)) + 20|0); $$sink = $61 ? $59 : $62; HEAP32[$$sink>>2] = $$3; $63 = ($$3|0)==(0|0); if ($63) { $$1 = $11;$$1363 = $12; break; } } $64 = ((($$3)) + 24|0); HEAP32[$64>>2] = $29; $65 = ((($11)) + 16|0); $66 = HEAP32[$65>>2]|0; $67 = ($66|0)==(0|0); if (!($67)) { $68 = ((($$3)) + 16|0); HEAP32[$68>>2] = $66; $69 = ((($66)) + 24|0); HEAP32[$69>>2] = $$3; } $70 = ((($65)) + 4|0); $71 = HEAP32[$70>>2]|0; $72 = ($71|0)==(0|0); if ($72) { $$1 = $11;$$1363 = $12; } else { $73 = ((($$3)) + 20|0); HEAP32[$73>>2] = $71; $74 = ((($71)) + 24|0); HEAP32[$74>>2] = $$3; $$1 = $11;$$1363 = $12; } } } else { $$1 = $0;$$1363 = $1; } } while(0); $82 = ((($2)) + 4|0); $83 = HEAP32[$82>>2]|0; $84 = $83 & 2; $85 = ($84|0)==(0); if ($85) { $86 = HEAP32[(1407628)>>2]|0; $87 = ($86|0)==($2|0); if ($87) { $88 = HEAP32[(1407616)>>2]|0; $89 = (($88) + ($$1363))|0; HEAP32[(1407616)>>2] = $89; HEAP32[(1407628)>>2] = $$1; $90 = $89 | 1; $91 = ((($$1)) + 4|0); HEAP32[$91>>2] = $90; $92 = HEAP32[(1407624)>>2]|0; $93 = ($$1|0)==($92|0); if (!($93)) { return; } HEAP32[(1407624)>>2] = 0; HEAP32[(1407612)>>2] = 0; return; } $94 = HEAP32[(1407624)>>2]|0; $95 = ($94|0)==($2|0); if ($95) { $96 = HEAP32[(1407612)>>2]|0; $97 = (($96) + ($$1363))|0; HEAP32[(1407612)>>2] = $97; HEAP32[(1407624)>>2] = $$1; $98 = $97 | 1; $99 = ((($$1)) + 4|0); HEAP32[$99>>2] = $98; $100 = (($$1) + ($97)|0); HEAP32[$100>>2] = $97; return; } $101 = $83 & -8; $102 = (($101) + ($$1363))|0; $103 = (3)?($83 >>> 3):($83); $104 = ($83>>>0)<(256); do { if ($104) { $105 = ((($2)) + 8|0); $106 = HEAP32[$105>>2]|0; $107 = ((($2)) + 12|0); $108 = HEAP32[$107>>2]|0; $109 = ($108|0)==($106|0); if ($109) { $110 = 1 << $103; $111 = $110 ^ -1; $112 = HEAP32[351901]|0; $113 = $112 & $111; HEAP32[351901] = $113; break; } else { $114 = ((($106)) + 12|0); HEAP32[$114>>2] = $108; $115 = ((($108)) + 8|0); HEAP32[$115>>2] = $106; break; } } else { $116 = ((($2)) + 24|0); $117 = HEAP32[$116>>2]|0; $118 = ((($2)) + 12|0); $119 = HEAP32[$118>>2]|0; $120 = ($119|0)==($2|0); do { if ($120) { $125 = ((($2)) + 16|0); $126 = ((($125)) + 4|0); $127 = HEAP32[$126>>2]|0; $128 = ($127|0)==(0|0); if ($128) { $129 = HEAP32[$125>>2]|0; $130 = ($129|0)==(0|0); if ($130) { $$3380 = 0; break; } else { $$1378$ph = $129;$$1382$ph = $125; } } else { $$1378$ph = $127;$$1382$ph = $126; } $$1378 = $$1378$ph;$$1382 = $$1382$ph; while(1) { $131 = ((($$1378)) + 20|0); $132 = HEAP32[$131>>2]|0; $133 = ($132|0)==(0|0); if ($133) { $134 = ((($$1378)) + 16|0); $135 = HEAP32[$134>>2]|0; $136 = ($135|0)==(0|0); if ($136) { break; } else { $$1378$be = $135;$$1382$be = $134; } } else { $$1378$be = $132;$$1382$be = $131; } $$1378 = $$1378$be;$$1382 = $$1382$be; } HEAP32[$$1382>>2] = 0; $$3380 = $$1378; } else { $121 = ((($2)) + 8|0); $122 = HEAP32[$121>>2]|0; $123 = ((($122)) + 12|0); HEAP32[$123>>2] = $119; $124 = ((($119)) + 8|0); HEAP32[$124>>2] = $122; $$3380 = $119; } } while(0); $137 = ($117|0)==(0|0); if (!($137)) { $138 = ((($2)) + 28|0); $139 = HEAP32[$138>>2]|0; $140 = (1407908 + ($139<<2)|0); $141 = HEAP32[$140>>2]|0; $142 = ($141|0)==($2|0); if ($142) { HEAP32[$140>>2] = $$3380; $cond4 = ($$3380|0)==(0|0); if ($cond4) { $143 = 1 << $139; $144 = $143 ^ -1; $145 = HEAP32[(1407608)>>2]|0; $146 = $145 & $144; HEAP32[(1407608)>>2] = $146; break; } } else { $147 = ((($117)) + 16|0); $148 = HEAP32[$147>>2]|0; $149 = ($148|0)==($2|0); $150 = ((($117)) + 20|0); $$sink24 = $149 ? $147 : $150; HEAP32[$$sink24>>2] = $$3380; $151 = ($$3380|0)==(0|0); if ($151) { break; } } $152 = ((($$3380)) + 24|0); HEAP32[$152>>2] = $117; $153 = ((($2)) + 16|0); $154 = HEAP32[$153>>2]|0; $155 = ($154|0)==(0|0); if (!($155)) { $156 = ((($$3380)) + 16|0); HEAP32[$156>>2] = $154; $157 = ((($154)) + 24|0); HEAP32[$157>>2] = $$3380; } $158 = ((($153)) + 4|0); $159 = HEAP32[$158>>2]|0; $160 = ($159|0)==(0|0); if (!($160)) { $161 = ((($$3380)) + 20|0); HEAP32[$161>>2] = $159; $162 = ((($159)) + 24|0); HEAP32[$162>>2] = $$3380; } } } } while(0); $163 = $102 | 1; $164 = ((($$1)) + 4|0); HEAP32[$164>>2] = $163; $165 = (($$1) + ($102)|0); HEAP32[$165>>2] = $102; $166 = HEAP32[(1407624)>>2]|0; $167 = ($$1|0)==($166|0); if ($167) { HEAP32[(1407612)>>2] = $102; return; } else { $$2 = $102; } } else { $168 = $83 & -2; HEAP32[$82>>2] = $168; $169 = $$1363 | 1; $170 = ((($$1)) + 4|0); HEAP32[$170>>2] = $169; $171 = (($$1) + ($$1363)|0); HEAP32[$171>>2] = $$1363; $$2 = $$1363; } $172 = (3)?($$2 >>> 3):($$2); $173 = ($$2>>>0)<(256); if ($173) { $174 = $172 << 1; $175 = (1407644 + ($174<<2)|0); $176 = HEAP32[351901]|0; $177 = 1 << $172; $178 = $176 & $177; $179 = ($178|0)==(0); if ($179) { $180 = $176 | $177; HEAP32[351901] = $180; $$pre = ((($175)) + 8|0); $$0383 = $175;$$pre$phiZ2D = $$pre; } else { $181 = ((($175)) + 8|0); $182 = HEAP32[$181>>2]|0; $$0383 = $182;$$pre$phiZ2D = $181; } HEAP32[$$pre$phiZ2D>>2] = $$1; $183 = ((($$0383)) + 12|0); HEAP32[$183>>2] = $$1; $184 = ((($$1)) + 8|0); HEAP32[$184>>2] = $$0383; $185 = ((($$1)) + 12|0); HEAP32[$185>>2] = $175; return; } $186 = (8)?($$2 >>> 8):($$2); $187 = ($186|0)==(0); if ($187) { $$0376 = 0; } else { $188 = ($$2>>>0)>(16777215); if ($188) { $$0376 = 31; } else { $189 = (($186) + 1048320)|0; $190 = (16)?($189 >>> 16):($189); $191 = $190 & 8; $192 = $186 << $191; $193 = (($192) + 520192)|0; $194 = (16)?($193 >>> 16):($193); $195 = $194 & 4; $196 = $195 | $191; $197 = $192 << $195; $198 = (($197) + 245760)|0; $199 = (16)?($198 >>> 16):($198); $200 = $199 & 2; $201 = $196 | $200; $202 = (14 - ($201))|0; $203 = $197 << $200; $204 = (15)?($203 >>> 15):($203); $205 = (($202) + ($204))|0; $206 = $205 << 1; $207 = (($205) + 7)|0; $208 = ($207)?($$2 >>> $207):($$2); $209 = $208 & 1; $210 = $209 | $206; $$0376 = $210; } } $211 = (1407908 + ($$0376<<2)|0); $212 = ((($$1)) + 28|0); HEAP32[$212>>2] = $$0376; $213 = ((($$1)) + 16|0); $214 = ((($$1)) + 20|0); HEAP32[$214>>2] = 0; HEAP32[$213>>2] = 0; $215 = HEAP32[(1407608)>>2]|0; $216 = 1 << $$0376; $217 = $215 & $216; $218 = ($217|0)==(0); if ($218) { $219 = $215 | $216; HEAP32[(1407608)>>2] = $219; HEAP32[$211>>2] = $$1; $220 = ((($$1)) + 24|0); HEAP32[$220>>2] = $211; $221 = ((($$1)) + 12|0); HEAP32[$221>>2] = $$1; $222 = ((($$1)) + 8|0); HEAP32[$222>>2] = $$1; return; } $223 = HEAP32[$211>>2]|0; $224 = ((($223)) + 4|0); $225 = HEAP32[$224>>2]|0; $226 = $225 & -8; $227 = ($226|0)==($$2|0); L104: do { if ($227) { $$0365$lcssa = $223; } else { $228 = ($$0376|0)==(31); $229 = (1)?($$0376 >>> 1):($$0376); $230 = (25 - ($229))|0; $231 = $228 ? 0 : $230; $232 = $$2 << $231; $$03649 = $232;$$03658 = $223; while(1) { $239 = (31)?($$03649 >>> 31):($$03649); $240 = (((($$03658)) + 16|0) + ($239<<2)|0); $235 = HEAP32[$240>>2]|0; $241 = ($235|0)==(0|0); if ($241) { break; } $233 = $$03649 << 1; $234 = ((($235)) + 4|0); $236 = HEAP32[$234>>2]|0; $237 = $236 & -8; $238 = ($237|0)==($$2|0); if ($238) { $$0365$lcssa = $235; break L104; } else { $$03649 = $233;$$03658 = $235; } } HEAP32[$240>>2] = $$1; $242 = ((($$1)) + 24|0); HEAP32[$242>>2] = $$03658; $243 = ((($$1)) + 12|0); HEAP32[$243>>2] = $$1; $244 = ((($$1)) + 8|0); HEAP32[$244>>2] = $$1; return; } } while(0); $245 = ((($$0365$lcssa)) + 8|0); $246 = HEAP32[$245>>2]|0; $247 = ((($246)) + 12|0); HEAP32[$247>>2] = $$1; HEAP32[$245>>2] = $$1; $248 = ((($$1)) + 8|0); HEAP32[$248>>2] = $246; $249 = ((($$1)) + 12|0); HEAP32[$249>>2] = $$0365$lcssa; $250 = ((($$1)) + 24|0); HEAP32[$250>>2] = 0; return; } function ___syscall_ret($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = ($0>>>0)>(4294963200); if ($1) { $2 = (0 - ($0))|0; $3 = (___errno_location()|0); HEAP32[$3>>2] = $2; $$0 = -1; } else { $$0 = $0; } return ($$0|0); } function ___errno_location() { var label = 0, sp = 0; sp = STACKTOP; return (1408164|0); } function _dummy_326($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; return ($0|0); } function _ioctl($0,$1,$varargs) { $0 = $0|0; $1 = $1|0; $varargs = $varargs|0; var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded2 = 0, $expanded4 = 0, $expanded5 = 0, $expanded6 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0; var $vararg_ptr2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $vararg_buffer = sp + 16|0; $2 = sp; HEAP32[$2>>2] = $varargs; $arglist_current = HEAP32[$2>>2]|0; $3 = $arglist_current; $4 = ((0) + 4|0); $expanded2 = $4; $expanded = (($expanded2) - 1)|0; $5 = (($3) + ($expanded))|0; $6 = ((0) + 4|0); $expanded6 = $6; $expanded5 = (($expanded6) - 1)|0; $expanded4 = $expanded5 ^ -1; $7 = $5 & $expanded4; $8 = $7; $9 = HEAP32[$8>>2]|0; $arglist_next = ((($8)) + 4|0); HEAP32[$2>>2] = $arglist_next; $10 = $9; HEAP32[$vararg_buffer>>2] = $0; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $1; $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $10; $11 = (___syscall54(54,($vararg_buffer|0))|0); $12 = (___syscall_ret($11)|0); STACKTOP = sp;return ($12|0); } function _open($0,$1,$varargs) { $0 = $0|0; $1 = $1|0; $varargs = $varargs|0; var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $arglist_current = 0, $arglist_next = 0; var $expanded = 0, $expanded2 = 0, $expanded4 = 0, $expanded5 = 0, $expanded6 = 0, $or$cond14 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $vararg_buffer3 = sp + 32|0; $vararg_buffer = sp + 16|0; $2 = sp; $3 = $1 & 4194368; $4 = ($3|0)==(0); if ($4) { $$0 = 0; } else { HEAP32[$2>>2] = $varargs; $arglist_current = HEAP32[$2>>2]|0; $5 = $arglist_current; $6 = ((0) + 4|0); $expanded2 = $6; $expanded = (($expanded2) - 1)|0; $7 = (($5) + ($expanded))|0; $8 = ((0) + 4|0); $expanded6 = $8; $expanded5 = (($expanded6) - 1)|0; $expanded4 = $expanded5 ^ -1; $9 = $7 & $expanded4; $10 = $9; $11 = HEAP32[$10>>2]|0; $arglist_next = ((($10)) + 4|0); HEAP32[$2>>2] = $arglist_next; $$0 = $11; } $12 = $0; $13 = $1 | 32768; HEAP32[$vararg_buffer>>2] = $12; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $13; $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $$0; $14 = (___syscall5(5,($vararg_buffer|0))|0); $15 = ($14|0)<(0); $16 = $1 & 524288; $17 = ($16|0)==(0); $or$cond14 = $17 | $15; if (!($or$cond14)) { HEAP32[$vararg_buffer3>>2] = $14; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = 2; $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); HEAP32[$vararg_ptr7>>2] = 1; (___syscall221(221,($vararg_buffer3|0))|0); } $18 = (___syscall_ret($14)|0); STACKTOP = sp;return ($18|0); } function _pthread_self() { var label = 0, sp = 0; sp = STACKTOP; return (18848|0); } function _strlen($0) { $0 = $0|0; var $$0 = 0, $$014 = 0, $$015$lcssa = 0, $$01518 = 0, $$1$lcssa = 0, $$pn = 0, $$pn29 = 0, $$pre = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; var $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = $0; $2 = $1 & 3; $3 = ($2|0)==(0); L1: do { if ($3) { $$015$lcssa = $0; label = 5; } else { $$01518 = $0;$22 = $1; while(1) { $4 = HEAP8[$$01518>>0]|0; $5 = ($4<<24>>24)==(0); if ($5) { $$pn = $22; break L1; } $6 = ((($$01518)) + 1|0); $7 = $6; $8 = $7 & 3; $9 = ($8|0)==(0); if ($9) { $$015$lcssa = $6; label = 5; break; } else { $$01518 = $6;$22 = $7; } } } } while(0); if ((label|0) == 5) { $$0 = $$015$lcssa; while(1) { $10 = HEAP32[$$0>>2]|0; $11 = (($10) + -16843009)|0; $12 = $10 & -2139062144; $13 = $12 ^ -2139062144; $14 = $13 & $11; $15 = ($14|0)==(0); $16 = ((($$0)) + 4|0); if ($15) { $$0 = $16; } else { break; } } $17 = $10&255; $18 = ($17<<24>>24)==(0); if ($18) { $$1$lcssa = $$0; } else { $$pn29 = $$0; while(1) { $19 = ((($$pn29)) + 1|0); $$pre = HEAP8[$19>>0]|0; $20 = ($$pre<<24>>24)==(0); if ($20) { $$1$lcssa = $19; break; } else { $$pn29 = $19; } } } $21 = $$1$lcssa; $$pn = $21; } $$014 = (($$pn) - ($1))|0; return ($$014|0); } function _poll($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $vararg_buffer = sp; $3 = $0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $1; $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $2; $4 = (___syscall168(168,($vararg_buffer|0))|0); $5 = (___syscall_ret($4)|0); STACKTOP = sp;return ($5|0); } function ___procfdname($0,$1) { $0 = $0|0; $1 = $1|0; var $$02324 = 0, $$027 = 0, $$126 = 0, $$225 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0; var label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; dest=$0; src=40735; stop=dest+15|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $2 = ($1|0)==(0); if ($2) { $3 = ((($0)) + 14|0); HEAP8[$3>>0] = 48; $4 = ((($0)) + 15|0); HEAP8[$4>>0] = 0; } else { $$027 = $1;$$126 = 14; while(1) { $5 = (($$027>>>0) / 10)&-1; $6 = (($$126) + 1)|0; $7 = ($$027>>>0)<(10); if ($7) { break; } else { $$027 = $5;$$126 = $6; } } $8 = (($0) + ($6)|0); HEAP8[$8>>0] = 0; $$02324 = $1;$$225 = $6; while(1) { $9 = (($$02324>>>0) / 10)&-1; $10 = ($9*10)|0; $11 = (($$02324) - ($10))|0; $12 = $11 | 48; $13 = $12&255; $14 = (($$225) + -1)|0; $15 = (($0) + ($14)|0); HEAP8[$15>>0] = $13; $16 = ($$02324>>>0)<(10); if ($16) { break; } else { $$02324 = $9;$$225 = $14; } } } return; } function _stat($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $vararg_buffer = sp; $2 = $0; $3 = $1; HEAP32[$vararg_buffer>>2] = $2; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $3; $4 = (___syscall195(195,($vararg_buffer|0))|0); $5 = (___syscall_ret($4)|0); STACKTOP = sp;return ($5|0); } function _mkdir($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $4 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $vararg_buffer = sp; $2 = $0; HEAP32[$vararg_buffer>>2] = $2; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $1; $3 = (___syscall39(39,($vararg_buffer|0))|0); $4 = (___syscall_ret($3)|0); STACKTOP = sp;return ($4|0); } function _connect($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $vararg_buffer = sp; $3 = sp + 8|0; HEAP32[$3>>2] = $0; $4 = ((($3)) + 4|0); $5 = $1; HEAP32[$4>>2] = $5; $6 = ((($3)) + 8|0); HEAP32[$6>>2] = $2; $7 = ((($3)) + 12|0); HEAP32[$7>>2] = 0; $8 = ((($3)) + 16|0); HEAP32[$8>>2] = 0; $9 = ((($3)) + 20|0); HEAP32[$9>>2] = 0; $10 = $3; HEAP32[$vararg_buffer>>2] = 3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $10; $11 = (___syscall102(102,($vararg_buffer|0))|0); $12 = (___syscall_ret($11)|0); STACKTOP = sp;return ($12|0); } function _socket($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$017 = 0, $$old = 0, $$old18 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer2 = 0; var $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr14 = 0, $vararg_ptr15 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; $vararg_buffer11 = sp + 32|0; $vararg_buffer6 = sp + 16|0; $vararg_buffer2 = sp + 8|0; $vararg_buffer = sp; $3 = sp + 72|0; $4 = sp + 48|0; HEAP32[$3>>2] = $0; $5 = ((($3)) + 4|0); HEAP32[$5>>2] = $1; $6 = ((($3)) + 8|0); HEAP32[$6>>2] = $2; $7 = ((($3)) + 12|0); HEAP32[$7>>2] = 0; $8 = ((($3)) + 16|0); HEAP32[$8>>2] = 0; $9 = ((($3)) + 20|0); HEAP32[$9>>2] = 0; $10 = $3; HEAP32[$vararg_buffer>>2] = 1; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $10; $11 = (___syscall102(102,($vararg_buffer|0))|0); $12 = (___syscall_ret($11)|0); $13 = ($12|0)<(0); do { if ($13) { $14 = (___errno_location()|0); $15 = HEAP32[$14>>2]|0; $16 = ($15|0)==(22); if ($16) { $$old = $1 & 526336; $$old18 = ($$old|0)==(0); if ($$old18) { $$017 = $12; break; } } else { $17 = (___errno_location()|0); $18 = HEAP32[$17>>2]|0; $19 = ($18|0)!=(93); $20 = $1 & 526336; $21 = ($20|0)==(0); $or$cond = $21 | $19; if ($or$cond) { $$017 = $12; break; } } HEAP32[$4>>2] = $0; $22 = ((($4)) + 4|0); $23 = $1 & -526337; HEAP32[$22>>2] = $23; $24 = ((($4)) + 8|0); HEAP32[$24>>2] = $2; $25 = ((($4)) + 12|0); HEAP32[$25>>2] = 0; $26 = ((($4)) + 16|0); HEAP32[$26>>2] = 0; $27 = ((($4)) + 20|0); HEAP32[$27>>2] = 0; $28 = $4; HEAP32[$vararg_buffer2>>2] = 1; $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); HEAP32[$vararg_ptr5>>2] = $28; $29 = (___syscall102(102,($vararg_buffer2|0))|0); $30 = (___syscall_ret($29)|0); $31 = ($30|0)<(0); if ($31) { $$017 = $30; } else { $32 = $1 & 524288; $33 = ($32|0)==(0); if (!($33)) { HEAP32[$vararg_buffer6>>2] = $30; $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); HEAP32[$vararg_ptr9>>2] = 2; $vararg_ptr10 = ((($vararg_buffer6)) + 8|0); HEAP32[$vararg_ptr10>>2] = 1; (___syscall221(221,($vararg_buffer6|0))|0); } $34 = $1 & 2048; $35 = ($34|0)==(0); if ($35) { $$017 = $30; } else { HEAP32[$vararg_buffer11>>2] = $30; $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); HEAP32[$vararg_ptr14>>2] = 4; $vararg_ptr15 = ((($vararg_buffer11)) + 8|0); HEAP32[$vararg_ptr15>>2] = 2048; (___syscall221(221,($vararg_buffer11|0))|0); $$017 = $30; } } } else { $$017 = $12; } } while(0); STACKTOP = sp;return ($$017|0); } function _sendto($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $vararg_buffer = sp; $6 = sp + 8|0; HEAP32[$6>>2] = $0; $7 = ((($6)) + 4|0); $8 = $1; HEAP32[$7>>2] = $8; $9 = ((($6)) + 8|0); HEAP32[$9>>2] = $2; $10 = ((($6)) + 12|0); HEAP32[$10>>2] = $3; $11 = ((($6)) + 16|0); $12 = $4; HEAP32[$11>>2] = $12; $13 = ((($6)) + 20|0); HEAP32[$13>>2] = $5; $14 = $6; HEAP32[$vararg_buffer>>2] = 11; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $14; $15 = (___syscall102(102,($vararg_buffer|0))|0); $16 = (___syscall_ret($15)|0); STACKTOP = sp;return ($16|0); } function _htonl($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (___bswap_32($0)|0); return ($1|0); } function ___bswap_32($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_llvm_bswap_i32(($0|0))|0); return ($1|0); } function ___lctrans_impl($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0|0); if ($2) { $$0 = 0; } else { $3 = HEAP32[$1>>2]|0; $4 = ((($1)) + 4|0); $5 = HEAP32[$4>>2]|0; $6 = (___mo_lookup($3,$5,$0)|0); $$0 = $6; } $7 = ($$0|0)==(0|0); $8 = $7 ? $0 : $$0; return ($8|0); } function ___mo_lookup($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$090 = 0, $$094 = 0, $$191 = 0, $$195 = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond104 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $3 = HEAP32[$0>>2]|0; $4 = (($3) + 1794895138)|0; $5 = ((($0)) + 8|0); $6 = HEAP32[$5>>2]|0; $7 = (_swapc($6,$4)|0); $8 = ((($0)) + 12|0); $9 = HEAP32[$8>>2]|0; $10 = (_swapc($9,$4)|0); $11 = ((($0)) + 16|0); $12 = HEAP32[$11>>2]|0; $13 = (_swapc($12,$4)|0); $14 = (2)?($1 >>> 2):($1); $15 = ($7>>>0)<($14>>>0); L1: do { if ($15) { $16 = $7 << 2; $17 = (($1) - ($16))|0; $18 = ($10>>>0)<($17>>>0); $19 = ($13>>>0)<($17>>>0); $or$cond = $18 & $19; if ($or$cond) { $20 = $13 | $10; $21 = $20 & 3; $22 = ($21|0)==(0); if ($22) { $23 = (2)?($10 >>> 2):($10); $24 = (2)?($13 >>> 2):($13); $$090 = 0;$$094 = $7; while(1) { $25 = (1)?($$094 >>> 1):($$094); $26 = (($$090) + ($25))|0; $27 = $26 << 1; $28 = (($27) + ($23))|0; $29 = (($0) + ($28<<2)|0); $30 = HEAP32[$29>>2]|0; $31 = (_swapc($30,$4)|0); $32 = (($28) + 1)|0; $33 = (($0) + ($32<<2)|0); $34 = HEAP32[$33>>2]|0; $35 = (_swapc($34,$4)|0); $36 = ($35>>>0)<($1>>>0); $37 = (($1) - ($35))|0; $38 = ($31>>>0)<($37>>>0); $or$cond102 = $36 & $38; if (!($or$cond102)) { $$4 = 0; break L1; } $39 = (($35) + ($31))|0; $40 = (($0) + ($39)|0); $41 = HEAP8[$40>>0]|0; $42 = ($41<<24>>24)==(0); if (!($42)) { $$4 = 0; break L1; } $43 = (($0) + ($35)|0); $44 = (_strcmp($2,$43)|0); $45 = ($44|0)==(0); if ($45) { break; } $62 = ($$094|0)==(1); $63 = ($44|0)<(0); if ($62) { $$4 = 0; break L1; } $$191 = $63 ? $$090 : $26; $64 = (($$094) - ($25))|0; $$195 = $63 ? $25 : $64; $$090 = $$191;$$094 = $$195; } $46 = (($27) + ($24))|0; $47 = (($0) + ($46<<2)|0); $48 = HEAP32[$47>>2]|0; $49 = (_swapc($48,$4)|0); $50 = (($46) + 1)|0; $51 = (($0) + ($50<<2)|0); $52 = HEAP32[$51>>2]|0; $53 = (_swapc($52,$4)|0); $54 = ($53>>>0)<($1>>>0); $55 = (($1) - ($53))|0; $56 = ($49>>>0)<($55>>>0); $or$cond104 = $54 & $56; if ($or$cond104) { $57 = (($0) + ($53)|0); $58 = (($53) + ($49))|0; $59 = (($0) + ($58)|0); $60 = HEAP8[$59>>0]|0; $61 = ($60<<24>>24)==(0); $spec$select = $61 ? $57 : 0; $$4 = $spec$select; } else { $$4 = 0; } } else { $$4 = 0; } } else { $$4 = 0; } } else { $$4 = 0; } } while(0); return ($$4|0); } function _swapc($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, $spec$select = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); $3 = (_llvm_bswap_i32(($0|0))|0); $spec$select = $2 ? $0 : $3; return ($spec$select|0); } function _strcmp($0,$1) { $0 = $0|0; $1 = $1|0; var $$011 = 0, $$0710 = 0, $$lcssa = 0, $$lcssa8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond9 = 0, label = 0; var sp = 0; sp = STACKTOP; $2 = HEAP8[$0>>0]|0; $3 = HEAP8[$1>>0]|0; $4 = ($2<<24>>24)!=($3<<24>>24); $5 = ($2<<24>>24)==(0); $or$cond9 = $5 | $4; if ($or$cond9) { $$lcssa = $3;$$lcssa8 = $2; } else { $$011 = $1;$$0710 = $0; while(1) { $6 = ((($$0710)) + 1|0); $7 = ((($$011)) + 1|0); $8 = HEAP8[$6>>0]|0; $9 = HEAP8[$7>>0]|0; $10 = ($8<<24>>24)!=($9<<24>>24); $11 = ($8<<24>>24)==(0); $or$cond = $11 | $10; if ($or$cond) { $$lcssa = $9;$$lcssa8 = $8; break; } else { $$011 = $7;$$0710 = $6; } } } $12 = $$lcssa8&255; $13 = $$lcssa&255; $14 = (($12) - ($13))|0; return ($14|0); } function _getsockopt($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $vararg_buffer = sp; $5 = sp + 8|0; HEAP32[$5>>2] = $0; $6 = ((($5)) + 4|0); HEAP32[$6>>2] = $1; $7 = ((($5)) + 8|0); HEAP32[$7>>2] = $2; $8 = ((($5)) + 12|0); $9 = $3; HEAP32[$8>>2] = $9; $10 = ((($5)) + 16|0); $11 = $4; HEAP32[$10>>2] = $11; $12 = ((($5)) + 20|0); HEAP32[$12>>2] = 0; $13 = $5; HEAP32[$vararg_buffer>>2] = 15; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $13; $14 = (___syscall102(102,($vararg_buffer|0))|0); $15 = (___syscall_ret($14)|0); STACKTOP = sp;return ($15|0); } function _recv($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $4 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = (_recvfrom($0,$1,$2,$3,0,0)|0); return ($4|0); } function _recvfrom($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; $5 = $5|0; var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $vararg_buffer = sp; $6 = sp + 8|0; HEAP32[$6>>2] = $0; $7 = ((($6)) + 4|0); $8 = $1; HEAP32[$7>>2] = $8; $9 = ((($6)) + 8|0); HEAP32[$9>>2] = $2; $10 = ((($6)) + 12|0); HEAP32[$10>>2] = $3; $11 = ((($6)) + 16|0); $12 = $4; HEAP32[$11>>2] = $12; $13 = ((($6)) + 20|0); $14 = $5; HEAP32[$13>>2] = $14; $15 = $6; HEAP32[$vararg_buffer>>2] = 12; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $15; $16 = (___syscall102(102,($vararg_buffer|0))|0); $17 = (___syscall_ret($16)|0); STACKTOP = sp;return ($17|0); } function _strcpy($0,$1) { $0 = $0|0; $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; (___stpcpy($0,$1)|0); return ($0|0); } function ___stpcpy($0,$1) { $0 = $0|0; $1 = $1|0; var $$0$lcssa = 0, $$025$lcssa = 0, $$02536 = 0, $$026$lcssa = 0, $$02642 = 0, $$027$lcssa = 0, $$02741 = 0, $$030 = 0, $$037 = 0, $$1 = 0, $$128 = 0, $$22934 = 0, $$235 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; var $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = $1; $3 = $0; $4 = $2 ^ $3; $5 = $4 & 3; $6 = ($5|0)==(0); L1: do { if ($6) { $7 = $2 & 3; $8 = ($7|0)==(0); if ($8) { $$026$lcssa = $1;$$027$lcssa = $0; } else { $$02642 = $1;$$02741 = $0; while(1) { $9 = HEAP8[$$02642>>0]|0; HEAP8[$$02741>>0] = $9; $10 = ($9<<24>>24)==(0); if ($10) { $$030 = $$02741; break L1; } $11 = ((($$02642)) + 1|0); $12 = ((($$02741)) + 1|0); $13 = $11; $14 = $13 & 3; $15 = ($14|0)==(0); if ($15) { $$026$lcssa = $11;$$027$lcssa = $12; break; } else { $$02642 = $11;$$02741 = $12; } } } $16 = HEAP32[$$026$lcssa>>2]|0; $17 = (($16) + -16843009)|0; $18 = $16 & -2139062144; $19 = $18 ^ -2139062144; $20 = $19 & $17; $21 = ($20|0)==(0); if ($21) { $$02536 = $$027$lcssa;$$037 = $$026$lcssa;$24 = $16; while(1) { $22 = ((($$037)) + 4|0); $23 = ((($$02536)) + 4|0); HEAP32[$$02536>>2] = $24; $25 = HEAP32[$22>>2]|0; $26 = (($25) + -16843009)|0; $27 = $25 & -2139062144; $28 = $27 ^ -2139062144; $29 = $28 & $26; $30 = ($29|0)==(0); if ($30) { $$02536 = $23;$$037 = $22;$24 = $25; } else { $$0$lcssa = $22;$$025$lcssa = $23; break; } } } else { $$0$lcssa = $$026$lcssa;$$025$lcssa = $$027$lcssa; } $$1 = $$0$lcssa;$$128 = $$025$lcssa; label = 10; } else { $$1 = $1;$$128 = $0; label = 10; } } while(0); if ((label|0) == 10) { $31 = HEAP8[$$1>>0]|0; HEAP8[$$128>>0] = $31; $32 = ($31<<24>>24)==(0); if ($32) { $$030 = $$128; } else { $$22934 = $$128;$$235 = $$1; while(1) { $33 = ((($$235)) + 1|0); $34 = ((($$22934)) + 1|0); $35 = HEAP8[$33>>0]|0; HEAP8[$34>>0] = $35; $36 = ($35<<24>>24)==(0); if ($36) { $$030 = $34; break; } else { $$22934 = $34;$$235 = $33; } } } } return ($$030|0); } function _htons($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (___bswap_16_87($0)|0); return ($1|0); } function _close($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $spec$store$select = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $vararg_buffer = sp; $1 = (_dummy_326($0)|0); HEAP32[$vararg_buffer>>2] = $1; $2 = (___syscall6(6,($vararg_buffer|0))|0); $3 = ($2|0)==(-4); $spec$store$select = $3 ? 0 : $2; $4 = (___syscall_ret($spec$store$select)|0); STACKTOP = sp;return ($4|0); } function ___bswap_16_87($0) { $0 = $0|0; var $rev = 0, label = 0, sp = 0; sp = STACKTOP; $rev = (_llvm_bswap_i16(($0|0))|0); return ($rev|0); } function _send($0,$1,$2,$3) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; var $4 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = (_sendto($0,$1,$2,$3,0,0)|0); return ($4|0); } function _ntohs($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (___bswap_16($0)|0); return ($1|0); } function ___bswap_16($0) { $0 = $0|0; var $rev = 0, label = 0, sp = 0; sp = STACKTOP; $rev = (_llvm_bswap_i16(($0|0))|0); return ($rev|0); } function _strerror($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (___pthread_self_875()|0); $2 = ((($1)) + 188|0); $3 = HEAP32[$2>>2]|0; $4 = (___strerror_l($0,$3)|0); return ($4|0); } function ___pthread_self_875() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; $0 = (_pthread_self()|0); return ($0|0); } function ___strerror_l($0,$1) { $0 = $0|0; $1 = $1|0; var $$012$lcssa = 0, $$01214 = 0, $$016 = 0, $$113 = 0, $$115 = 0, $$115$ph = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $$016 = 0; while(1) { $2 = (8608 + ($$016)|0); $3 = HEAP8[$2>>0]|0; $4 = $3&255; $5 = ($4|0)==($0|0); if ($5) { label = 4; break; } $6 = (($$016) + 1)|0; $7 = ($6|0)==(87); if ($7) { $$115$ph = 87; label = 5; break; } else { $$016 = $6; } } if ((label|0) == 4) { $8 = ($$016|0)==(0); if ($8) { $$012$lcssa = 8704; } else { $$115$ph = $$016; label = 5; } } if ((label|0) == 5) { $$01214 = 8704;$$115 = $$115$ph; while(1) { $$113 = $$01214; while(1) { $9 = HEAP8[$$113>>0]|0; $10 = ($9<<24>>24)==(0); $11 = ((($$113)) + 1|0); if ($10) { break; } else { $$113 = $11; } } $12 = (($$115) + -1)|0; $13 = ($12|0)==(0); if ($13) { $$012$lcssa = $11; break; } else { $$01214 = $11;$$115 = $12; } } } $14 = ((($1)) + 20|0); $15 = HEAP32[$14>>2]|0; $16 = (___lctrans($$012$lcssa,$15)|0); return ($16|0); } function ___lctrans($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = (___lctrans_impl($0,$1)|0); return ($2|0); } function _strerror_r($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (_strerror($0)|0); $4 = (_strlen($3)|0); $5 = ($4>>>0)<($2>>>0); if ($5) { $9 = (($4) + 1)|0; (_memcpy(($1|0),($3|0),($9|0))|0); $$0 = 0; } else { $6 = ($2|0)==(0); $7 = (($2) + -1)|0; if ($6) { $$0 = 34; } else { $8 = (($1) + ($7)|0); (_memcpy(($1|0),($3|0),($7|0))|0); HEAP8[$8>>0] = 0; $$0 = 34; } } return ($$0|0); } function ___strdup($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (_strlen($0)|0); $2 = (($1) + 1)|0; $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; } else { $5 = (_memcpy(($3|0),($0|0),($2|0))|0); $$0 = $5; } return ($$0|0); } function _readdir($0) { $0 = $0|0; var $$1 = 0, $$pre = 0, $$pre$phiZ2D = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; var $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $vararg_buffer = sp; $1 = ((($0)) + 8|0); $2 = HEAP32[$1>>2]|0; $3 = ((($0)) + 12|0); $4 = HEAP32[$3>>2]|0; $5 = ($2|0)<($4|0); L1: do { if ($5) { $$pre = (((($0)) + 24|0) + ($2)|0); $$pre$phiZ2D = $$pre;$17 = $2; label = 7; } else { $6 = HEAP32[$0>>2]|0; $7 = ((($0)) + 24|0); $8 = $7; HEAP32[$vararg_buffer>>2] = $6; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $8; $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = 2048; $9 = (___syscall220(220,($vararg_buffer|0))|0); $10 = ($9|0)<(1); if (!($10)) { HEAP32[$3>>2] = $9; HEAP32[$1>>2] = 0; $$pre$phiZ2D = $7;$17 = 0; label = 7; break; } switch ($9|0) { case 0: case -2: { $$1 = 0; break L1; break; } default: { } } $11 = (0 - ($9))|0; $12 = (___errno_location()|0); HEAP32[$12>>2] = $11; $$1 = 0; } } while(0); if ((label|0) == 7) { $13 = ((($$pre$phiZ2D)) + 8|0); $14 = HEAP16[$13>>1]|0; $15 = $14&65535; $16 = (($17) + ($15))|0; HEAP32[$1>>2] = $16; $18 = ((($$pre$phiZ2D)) + 4|0); $19 = HEAP32[$18>>2]|0; $20 = ((($0)) + 4|0); HEAP32[$20>>2] = $19; $$1 = $$pre$phiZ2D; } STACKTOP = sp;return ($$1|0); } function _lseek($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $vararg_buffer = sp; $3 = sp + 20|0; $4 = $3; HEAP32[$vararg_buffer>>2] = $0; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = 0; $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $1; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $4; $vararg_ptr4 = ((($vararg_buffer)) + 16|0); HEAP32[$vararg_ptr4>>2] = $2; $5 = (___syscall140(140,($vararg_buffer|0))|0); $6 = (___syscall_ret($5)|0); $7 = ($6|0)==(0); $8 = HEAP32[$3>>2]|0; $9 = $7 ? $8 : -1; STACKTOP = sp;return ($9|0); } function _closedir($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; $2 = (_close($1)|0); _free($0); return ($2|0); } function _fstat($0,$1) { $0 = $0|0; $1 = $1|0; var $$0 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $vararg_buffer6 = sp + 40|0; $vararg_buffer2 = sp; $vararg_buffer = sp + 32|0; $2 = $1; HEAP32[$vararg_buffer>>2] = $0; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $2; $3 = (___syscall197(197,($vararg_buffer|0))|0); $4 = ($3|0)==(-9); if ($4) { HEAP32[$vararg_buffer2>>2] = $0; $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); HEAP32[$vararg_ptr5>>2] = 1; $5 = (___syscall221(221,($vararg_buffer2|0))|0); $6 = ($5|0)<(0); if ($6) { label = 3; } else { ___procfdname($vararg_buffer2,$0); $8 = $vararg_buffer2; HEAP32[$vararg_buffer6>>2] = $8; $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); HEAP32[$vararg_ptr9>>2] = $2; $9 = (___syscall195(195,($vararg_buffer6|0))|0); $10 = (___syscall_ret($9)|0); $$0 = $10; } } else { label = 3; } if ((label|0) == 3) { $7 = (___syscall_ret($3)|0); $$0 = $7; } STACKTOP = sp;return ($$0|0); } function _opendir($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $1 = (_open($0,589824,$vararg_buffer)|0); $2 = ($1|0)<(0); do { if ($2) { $$0 = 0; } else { $3 = (_calloc(1,2072)|0); $4 = ($3|0)==(0|0); if ($4) { HEAP32[$vararg_buffer1>>2] = $1; (___syscall6(6,($vararg_buffer1|0))|0); $$0 = 0; break; } else { HEAP32[$3>>2] = $1; $$0 = $3; break; } } } while(0); STACKTOP = sp;return ($$0|0); } function _write($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $vararg_buffer = sp; $3 = $1; HEAP32[$vararg_buffer>>2] = $0; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $3; $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $2; $4 = (___syscall4(4,($vararg_buffer|0))|0); $5 = (___syscall_ret($4)|0); STACKTOP = sp;return ($5|0); } function _read($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; var $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $vararg_buffer = sp; $3 = $1; HEAP32[$vararg_buffer>>2] = $0; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $3; $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $2; $4 = (___syscall3(3,($vararg_buffer|0))|0); $5 = (___syscall_ret($4)|0); STACKTOP = sp;return ($5|0); } function _chdir($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $vararg_buffer = sp; $1 = $0; HEAP32[$vararg_buffer>>2] = $1; $2 = (___syscall12(12,($vararg_buffer|0))|0); $3 = (___syscall_ret($2)|0); STACKTOP = sp;return ($3|0); } function _unlink($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $vararg_buffer = sp; $1 = $0; HEAP32[$vararg_buffer>>2] = $1; $2 = (___syscall10(10,($vararg_buffer|0))|0); $3 = (___syscall_ret($2)|0); STACKTOP = sp;return ($3|0); } function ___emscripten_environ_constructor() { var label = 0, sp = 0; sp = STACKTOP; ___buildEnvironment((1408184|0)); return; } function __get_tzname() { var label = 0, sp = 0; sp = STACKTOP; return (1408168|0); } function __get_daylight() { var label = 0, sp = 0; sp = STACKTOP; return (1408176|0); } function __get_timezone() { var label = 0, sp = 0; sp = STACKTOP; return (1408180|0); } function ___muldsi3($a, $b) { $a = $a | 0; $b = $b | 0; var $1 = 0, $2 = 0, $3 = 0, $6 = 0, $8 = 0, $11 = 0, $12 = 0; $1 = $a & 65535; $2 = $b & 65535; $3 = Math_imul($2, $1) | 0; $6 = $a >>> 16; $8 = ($3 >>> 16) + (Math_imul($2, $6) | 0) | 0; $11 = $b >>> 16; $12 = Math_imul($11, $1) | 0; return (setTempRet0(((($8 >>> 16) + (Math_imul($11, $6) | 0) | 0) + ((($8 & 65535) + $12 | 0) >>> 16) | 0) | 0), 0 | ($8 + $12 << 16 | $3 & 65535)) | 0; } function ___muldi3($a$0, $a$1, $b$0, $b$1) { $a$0 = $a$0 | 0; $a$1 = $a$1 | 0; $b$0 = $b$0 | 0; $b$1 = $b$1 | 0; var $x_sroa_0_0_extract_trunc = 0, $y_sroa_0_0_extract_trunc = 0, $1$0 = 0, $1$1 = 0, $2 = 0; $x_sroa_0_0_extract_trunc = $a$0; $y_sroa_0_0_extract_trunc = $b$0; $1$0 = ___muldsi3($x_sroa_0_0_extract_trunc, $y_sroa_0_0_extract_trunc) | 0; $1$1 = (getTempRet0() | 0); $2 = Math_imul($a$1, $y_sroa_0_0_extract_trunc) | 0; return (setTempRet0((((Math_imul($b$1, $x_sroa_0_0_extract_trunc) | 0) + $2 | 0) + $1$1 | $1$1 & 0) | 0), 0 | $1$0 & -1) | 0; } function _bitshift64Lshr(low, high, bits) { low = low|0; high = high|0; bits = bits|0; var ander = 0; if ((bits|0) < 32) { ander = ((1 << bits) - 1)|0; setTempRet0((high >>> bits) | 0); return (low >>> bits) | ((high&ander) << (32 - bits)); } setTempRet0((0) | 0); return (high >>> (bits - 32))|0; } function _i64Add(a, b, c, d) { /* x = a + b*2^32 y = c + d*2^32 result = l + h*2^32 */ a = a|0; b = b|0; c = c|0; d = d|0; var l = 0, h = 0; l = (a + c)>>>0; h = (b + d + (((l>>>0) < (a>>>0))|0))>>>0; // Add carry from low word to high word on overflow. return ((setTempRet0((h) | 0),l|0)|0); } function _i64Subtract(a, b, c, d) { a = a|0; b = b|0; c = c|0; d = d|0; var l = 0, h = 0; l = (a - c)>>>0; h = (b - d)>>>0; h = (b - d - (((c>>>0) > (a>>>0))|0))>>>0; // Borrow one from high word to low word on underflow. return ((setTempRet0((h) | 0),l|0)|0); } function _llvm_bswap_i16(x) { x = x|0; return (((x&0xff)<<8) | ((x>>8)&0xff))|0; } function _llvm_bswap_i32(x) { x = x|0; return (((x&0xff)<<24) | (((x>>8)&0xff)<<16) | (((x>>16)&0xff)<<8) | (x>>>24))|0; } function _memcpy(dest, src, num) { dest = dest|0; src = src|0; num = num|0; var ret = 0; var aligned_dest_end = 0; var block_aligned_dest_end = 0; var dest_end = 0; // Test against a benchmarked cutoff limit for when HEAPU8.set() becomes faster to use. if ((num|0) >= 8192) { _emscripten_memcpy_big(dest|0, src|0, num|0)|0; return dest|0; } ret = dest|0; dest_end = (dest + num)|0; if ((dest&3) == (src&3)) { // The initial unaligned < 4-byte front. while (dest & 3) { if ((num|0) == 0) return ret|0; HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); dest = (dest+1)|0; src = (src+1)|0; num = (num-1)|0; } aligned_dest_end = (dest_end & -4)|0; block_aligned_dest_end = (aligned_dest_end - 64)|0; while ((dest|0) <= (block_aligned_dest_end|0) ) { HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); HEAP32[(((dest)+(4))>>2)]=((HEAP32[(((src)+(4))>>2)])|0); HEAP32[(((dest)+(8))>>2)]=((HEAP32[(((src)+(8))>>2)])|0); HEAP32[(((dest)+(12))>>2)]=((HEAP32[(((src)+(12))>>2)])|0); HEAP32[(((dest)+(16))>>2)]=((HEAP32[(((src)+(16))>>2)])|0); HEAP32[(((dest)+(20))>>2)]=((HEAP32[(((src)+(20))>>2)])|0); HEAP32[(((dest)+(24))>>2)]=((HEAP32[(((src)+(24))>>2)])|0); HEAP32[(((dest)+(28))>>2)]=((HEAP32[(((src)+(28))>>2)])|0); HEAP32[(((dest)+(32))>>2)]=((HEAP32[(((src)+(32))>>2)])|0); HEAP32[(((dest)+(36))>>2)]=((HEAP32[(((src)+(36))>>2)])|0); HEAP32[(((dest)+(40))>>2)]=((HEAP32[(((src)+(40))>>2)])|0); HEAP32[(((dest)+(44))>>2)]=((HEAP32[(((src)+(44))>>2)])|0); HEAP32[(((dest)+(48))>>2)]=((HEAP32[(((src)+(48))>>2)])|0); HEAP32[(((dest)+(52))>>2)]=((HEAP32[(((src)+(52))>>2)])|0); HEAP32[(((dest)+(56))>>2)]=((HEAP32[(((src)+(56))>>2)])|0); HEAP32[(((dest)+(60))>>2)]=((HEAP32[(((src)+(60))>>2)])|0); dest = (dest+64)|0; src = (src+64)|0; } while ((dest|0) < (aligned_dest_end|0) ) { HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); dest = (dest+4)|0; src = (src+4)|0; } } else { // In the unaligned copy case, unroll a bit as well. aligned_dest_end = (dest_end - 4)|0; while ((dest|0) < (aligned_dest_end|0) ) { HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); HEAP8[(((dest)+(1))>>0)]=((HEAP8[(((src)+(1))>>0)])|0); HEAP8[(((dest)+(2))>>0)]=((HEAP8[(((src)+(2))>>0)])|0); HEAP8[(((dest)+(3))>>0)]=((HEAP8[(((src)+(3))>>0)])|0); dest = (dest+4)|0; src = (src+4)|0; } } // The remaining unaligned < 4 byte tail. while ((dest|0) < (dest_end|0)) { HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); dest = (dest+1)|0; src = (src+1)|0; } return ret|0; } function _memset(ptr, value, num) { ptr = ptr|0; value = value|0; num = num|0; var end = 0, aligned_end = 0, block_aligned_end = 0, value4 = 0; end = (ptr + num)|0; value = value & 0xff; if ((num|0) >= 67 /* 64 bytes for an unrolled loop + 3 bytes for unaligned head*/) { while ((ptr&3) != 0) { HEAP8[((ptr)>>0)]=value; ptr = (ptr+1)|0; } aligned_end = (end & -4)|0; value4 = value | (value << 8) | (value << 16) | (value << 24); block_aligned_end = (aligned_end - 64)|0; while((ptr|0) <= (block_aligned_end|0)) { HEAP32[((ptr)>>2)]=value4; HEAP32[(((ptr)+(4))>>2)]=value4; HEAP32[(((ptr)+(8))>>2)]=value4; HEAP32[(((ptr)+(12))>>2)]=value4; HEAP32[(((ptr)+(16))>>2)]=value4; HEAP32[(((ptr)+(20))>>2)]=value4; HEAP32[(((ptr)+(24))>>2)]=value4; HEAP32[(((ptr)+(28))>>2)]=value4; HEAP32[(((ptr)+(32))>>2)]=value4; HEAP32[(((ptr)+(36))>>2)]=value4; HEAP32[(((ptr)+(40))>>2)]=value4; HEAP32[(((ptr)+(44))>>2)]=value4; HEAP32[(((ptr)+(48))>>2)]=value4; HEAP32[(((ptr)+(52))>>2)]=value4; HEAP32[(((ptr)+(56))>>2)]=value4; HEAP32[(((ptr)+(60))>>2)]=value4; ptr = (ptr + 64)|0; } while ((ptr|0) < (aligned_end|0) ) { HEAP32[((ptr)>>2)]=value4; ptr = (ptr+4)|0; } } // The remaining bytes. while ((ptr|0) < (end|0)) { HEAP8[((ptr)>>0)]=value; ptr = (ptr+1)|0; } return (end-num)|0; } function _sbrk(increment) { increment = increment|0; var oldDynamicTop = 0; var oldDynamicTopOnChange = 0; var newDynamicTop = 0; var totalMemory = 0; oldDynamicTop = HEAP32[DYNAMICTOP_PTR>>2]|0; newDynamicTop = oldDynamicTop + increment | 0; if (((increment|0) > 0 & (newDynamicTop|0) < (oldDynamicTop|0)) // Detect and fail if we would wrap around signed 32-bit int. | (newDynamicTop|0) < 0) { // Also underflow, sbrk() should be able to be used to subtract. abortOnCannotGrowMemory(newDynamicTop|0)|0; ___setErrNo(12); return -1; } totalMemory = _emscripten_get_heap_size()|0; if ((newDynamicTop|0) > (totalMemory|0)) { if ((_emscripten_resize_heap(newDynamicTop|0)|0) == 0) { ___setErrNo(12); return -1; } } HEAP32[DYNAMICTOP_PTR>>2] = newDynamicTop|0; return oldDynamicTop|0; } function dynCall_di(index,a1) { index = index|0; a1=a1|0; return +FUNCTION_TABLE_di[index&31](a1|0); } function dynCall_i(index) { index = index|0; return FUNCTION_TABLE_i[index&3]()|0; } function dynCall_id(index,a1) { index = index|0; a1=+a1; return FUNCTION_TABLE_id[index&3](+a1)|0; } function dynCall_ii(index,a1) { index = index|0; a1=a1|0; return FUNCTION_TABLE_ii[index&31](a1|0)|0; } function dynCall_iid(index,a1,a2) { index = index|0; a1=a1|0; a2=+a2; return FUNCTION_TABLE_iid[index&15](a1|0,+a2)|0; } function dynCall_iii(index,a1,a2) { index = index|0; a1=a1|0; a2=a2|0; return FUNCTION_TABLE_iii[index&127](a1|0,a2|0)|0; } function dynCall_iiii(index,a1,a2,a3) { index = index|0; a1=a1|0; a2=a2|0; a3=a3|0; return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; } function dynCall_iiiii(index,a1,a2,a3,a4) { index = index|0; a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; return FUNCTION_TABLE_iiiii[index&63](a1|0,a2|0,a3|0,a4|0)|0; } function dynCall_iiiiiii(index,a1,a2,a3,a4,a5,a6) { index = index|0; a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; return FUNCTION_TABLE_iiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0)|0; } function dynCall_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { index = index|0; a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; return FUNCTION_TABLE_iiiiiiii[index&7](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0)|0; } function dynCall_v(index) { index = index|0; FUNCTION_TABLE_v[index&127](); } function dynCall_vd(index,a1) { index = index|0; a1=+a1; FUNCTION_TABLE_vd[index&1](+a1); } function dynCall_vi(index,a1) { index = index|0; a1=a1|0; FUNCTION_TABLE_vi[index&511](a1|0); } function dynCall_vid(index,a1,a2) { index = index|0; a1=a1|0; a2=+a2; FUNCTION_TABLE_vid[index&63](a1|0,+a2); } function dynCall_vidd(index,a1,a2,a3) { index = index|0; a1=a1|0; a2=+a2; a3=+a3; FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); } function dynCall_vii(index,a1,a2) { index = index|0; a1=a1|0; a2=a2|0; FUNCTION_TABLE_vii[index&127](a1|0,a2|0); } function dynCall_viii(index,a1,a2,a3) { index = index|0; a1=a1|0; a2=a2|0; a3=a3|0; FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); } function dynCall_viiii(index,a1,a2,a3,a4) { index = index|0; a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; FUNCTION_TABLE_viiii[index&31](a1|0,a2|0,a3|0,a4|0); } function dynCall_viiiii(index,a1,a2,a3,a4,a5) { index = index|0; a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; FUNCTION_TABLE_viiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0); } function b0(p0) { p0 = p0|0; abort(0);return +0; } function b1() { ; abort(1);return 0; } function b2(p0) { p0 = +p0; abort(2);return 0; } function b3(p0) { p0 = p0|0; abort(3);return 0; } function b4(p0,p1) { p0 = p0|0;p1 = +p1; abort(4);return 0; } function b5(p0,p1) { p0 = p0|0;p1 = p1|0; abort(5);return 0; } function b6(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; abort(6);return 0; } function b7(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; abort(7);return 0; } function b8(p0,p1,p2,p3,p4,p5) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; abort(8);return 0; } function b9(p0,p1,p2,p3,p4,p5,p6) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; abort(9);return 0; } function b10() { ; abort(10); } function b11(p0) { p0 = +p0; abort(11); } function b12(p0) { p0 = p0|0; abort(12); } function b13(p0,p1) { p0 = p0|0;p1 = +p1; abort(13); } function b14(p0,p1,p2) { p0 = p0|0;p1 = +p1;p2 = +p2; abort(14); } function b15(p0,p1) { p0 = p0|0;p1 = p1|0; abort(15); } function b16(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; abort(16); } function b17(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; abort(17); } function b18(p0,p1,p2,p3,p4) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; abort(18); } // EMSCRIPTEN_END_FUNCS var FUNCTION_TABLE_di = [b0,_HumanModel_GetNameY,_HumanModel_GetEyeY,_ChickenModel_GetNameY,_ChickenModel_GetEyeY,_CreeperModel_GetNameY,_CreeperModel_GetEyeY,_PigModel_GetNameY,_PigModel_GetEyeY,_SheepModel_GetNameY,_SheepModel_GetEyeY,_SpiderModel_GetNameY,_SpiderModel_GetEyeY,_BlockModel_GetNameY,_BlockModel_GetEyeY,_ChibiModel_GetNameY,_ChibiModel_GetEyeY,_HeadModel_GetEyeY,_SittingModel_GetEyeY,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0 ,b0,b0,b0]; var FUNCTION_TABLE_i = [b1,_MenuInputWidget_GetMaxLines,_ChatInputWidget_GetMaxLines,b1]; var FUNCTION_TABLE_id = [b2,_FirstPersonCamera_Zoom,_ThirdPersonCamera_Zoom,b2]; var FUNCTION_TABLE_ii = [b3,_Entity_GetCol,_HeldBlockRenderer_GetCol,_Deflate_StreamClose,_GZip_StreamClose,_Zip_DefaultSelector,_IsRopeCollide,_IsLavaCollide,_IsWaterCollide,_LocalPlayer_IsSolidCollide,_PhysicsComp_TouchesLiquid,_PhysicsComp_TouchesSlipperyIce,_Sounds_CheckNonSolid,_Sounds_CheckSolid,_Cw_Load,_TouchesSolid,_Options_LoadFilter,_Picking_ClipBlock,_Picking_ClipCamera,_Stream_DefaultClose,_Stream_FileClose,b3,b3,b3,b3,b3,b3,b3,b3 ,b3,b3,b3]; var FUNCTION_TABLE_iid = [b4,_ListScreen_MouseScroll,_Screen_TMouseScroll,_Screen_FMouseScroll,_ChatScreen_MouseScroll,_InventoryScreen_MouseScroll,_Widget_MouseScroll,_ScrollbarWidget_MouseScroll,_HotbarWidget_MouseScroll,_TableWidget_MouseScroll,b4,b4,b4,b4,b4,b4]; var FUNCTION_TABLE_iii = [b5,_ListScreen_KeyDown,_Screen_TInput,_Screen_TKeyPress,_Screen_TText,_Screen_InputDown,_EditHotkeyScreen_KeyDown,_EditHotkeyScreen_KeyPress,_EditHotkeyScreen_TextChanged,_SaveLevelScreen_KeyDown,_SaveLevelScreen_KeyPress,_SaveLevelScreen_TextChanged,_GenLevelScreen_KeyDown,_GenLevelScreen_KeyPress,_GenLevelScreen_TextChanged,_MenuOptionsScreen_KeyDown,_MenuOptionsScreen_KeyPress,_MenuOptionsScreen_TextChanged,_KeyBindingsScreen_KeyDown,_TexIdsOverlay_KeyDown,_Screen_FInput,_Screen_FKeyPress,_Screen_FText,_ChatScreen_KeyDown,_ChatScreen_KeyUp,_ChatScreen_KeyPress,_ChatScreen_TextChanged,_InventoryScreen_KeyDown,_InventoryScreen_KeyUp ,_Hex_ValidChar,_Hex_ValidString,_Hex_ValidValue,_Int_ValidChar,_Int_ValidString,_Int_ValidValue,_Float_ValidChar,_Float_ValidString,_Float_ValidValue,_Path_ValidChar,_Path_ValidString,_String_ValidChar,_String_ValidString,_Widget_Key,_TextWidget_Render2,_ButtonWidget_Render2,_HotbarWidget_KeyDown,_HotbarWidget_KeyUp,_TableWidget_KeyDown,_InputWidget_KeyDown,_InputWidget_KeyUp,_ChatInputWidget_KeyDown,_Platform_DescribeError,_Http_DescribeError,_Stream_DefaultReadU8,_Stream_DefaultSkip,_Stream_DefaultSeek,_Stream_DefaultGet,_Stream_FileSkip,_Stream_FileSeek ,_Stream_FilePosition,_Stream_FileLength,_Stream_PortionReadU8,_Stream_PortionSkip,_Stream_PortionPosition,_Stream_PortionLength,_Stream_MemoryReadU8,_Stream_MemorySkip,_Stream_MemorySeek,_Stream_MemoryPosition,_Stream_MemoryLength,_Stream_BufferedReadU8,_Stream_BufferedSeek,_MenuInputWidget_AllowedChar,_InputWidget_AllowedChar,_PlayerListWidget_PlayerCompare,_PlayerListWidget_GroupCompare,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5 ,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5 ,b5,b5,b5,b5,b5,b5,b5,b5,b5]; var FUNCTION_TABLE_iiii = [b6,_Zip_DefaultProcessor,_TexturePack_ProcessZipEntry,_Window_MouseWheel,_Window_MouseButton,_Window_MouseMove,_Window_Focus,_Window_Resize,_Window_BeforeUnload,_Window_Key,_Window_KeyPress,_Window_TouchStart,_Window_TouchMove,_Window_TouchEnd,_Window_CanvasResize,_GLContext_OnLost]; var FUNCTION_TABLE_iiiii = [b7,_Menu_PointerDown,_Screen_TPointer,_Menu_PointerMove,_GenLevelScreen_PointerDown,_OptionsGroupScreen_PointerMove,_MenuOptionsScreen_PointerMove,_Screen_FPointer,_ChatScreen_PointerDown,_InventoryScreen_PointerDown,_InventoryScreen_PointerUp,_InventoryScreen_PointerMove,_DisconnectScreen_PointerDown,_DisconnectScreen_PointerMove,_TouchScreen_PointerDown,_TouchScreen_PointerUp,_Widget_Pointer,_Widget_PointerMove,_ScrollbarWidget_PointerDown,_ScrollbarWidget_PointerUp,_ScrollbarWidget_PointerMove,_HotbarWidget_PointerDown,_TableWidget_PointerDown,_TableWidget_PointerUp,_TableWidget_PointerMove,_InputWidget_PointerDown,_SpecialInputWidget_PointerDown,_Inflate_StreamRead,_Deflate_StreamWrite ,_GZip_StreamWriteFirst,_GZip_StreamWrite,_Stream_DefaultRead,_Stream_DefaultWrite,_Stream_FileRead,_Stream_FileWrite,_Stream_PortionRead,_Stream_MemoryRead,_Stream_BufferedRead,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7 ,b7,b7,b7,b7,b7]; var FUNCTION_TABLE_iiiiiii = [b8,_Adv_StretchXLiquid,_NormalBuilder_StretchXLiquid,b8]; var FUNCTION_TABLE_iiiiiiii = [b9,_Adv_StretchX,_Adv_StretchZ,_NormalBuilder_StretchX,_NormalBuilder_StretchZ,b9,b9,b9]; var FUNCTION_TABLE_v = [b10,_Audio_Init,_Audio_Free,_AxisLinesRenderer_Init,_AxisLinesRenderer_Free,_Blocks_Init,_Blocks_Free,_Blocks_Reset,_Builder_Init,_Builder_OnNewMapLoaded,_Camera_AcquireFocus,_Camera_LoseFocus,_Chat_Init,_Chat_Free,_Chat_Reset,_Drawer2D_Init,_Drawer2D_Free,_Drawer2D_Reset,_TabList_Free,_TabList_Reset,_Entities_Init,_Entities_Free,_LocalPlayer_Reset,_LocalPlayer_OnNewMap,_EnvRenderer_Init,_EnvRenderer_Free,_EnvRenderer_Reset,_EnvRenderer_OnNewMapLoaded,_Gui_Init ,_Gui_Free,_Gui_Reset,_HeldBlockRenderer_Init,_HeldBlockRenderer_Free,_Http_Init,_Http_Free,_Http_ClearPending,_Inventory_Init,_Inventory_Reset,_Lighting_Reset,_Lighting_OnNewMapLoaded,_MapRenderer_Init,_MapRenderer_Free,_MapRenderer_OnNewMap,_MapRenderer_OnNewMapLoaded,_Models_Init,_Models_Free,_HumanModel_MakeParts,_ChickenModel_MakeParts,_CreeperModel_MakeParts,_PigModel_MakeParts,_SheepModel_MakeParts,_SkeletonModel_MakeParts,_SpiderModel_MakeParts,_Model_NoParts,_ChibiModel_MakeParts,_Particles_Init,_Particles_Free,_Particles_Reset,_PickedPosRenderer_Init ,_PickedPosRenderer_Free,_Selections_Init,_Selections_Free,_Selections_Reset,_Server_Init,_Server_Free,_MPConnection_Reset,_MPConnection_OnNewMap,_Animations_Init,_Animations_Free,_Game_DoFrame,_GL_SetupVbPos3fTex2fCol4b,_GL_SetupVbPos3fCol4b,_NotchyGen_Generate,_FlatgrassGen_Generate,_SPConnection_BeginConnect,_MPConnection_BeginConnect,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10 ,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10 ,b10,b10,b10,b10,b10,b10,b10,b10,b10]; var FUNCTION_TABLE_vd = [b11,_PerspectiveCamera_UpdateMouse]; var FUNCTION_TABLE_vi = [b12,_PerspectiveCamera_GetProjection,_PerspectiveCamera_GetView,_FirstPersonCamera_GetOrientation,_PerspectiveCamera_GetPickedBlock,_ThirdPersonCamera_GetOrientation,_Player_Despawn,_NetPlayer_RenderName,_LocalPlayer_RenderName,_Logger_DialogWarn,_ListScreen_Init,_ListScreen_Free,_ListScreen_BuildMesh,_Screen_Layout,_ListScreen_ContextLost,_ListScreen_ContextRecreated,_PauseScreen_Init,_PauseScreen_Free,_PauseScreen_BuildMesh,_Screen_ContextLost,_PauseScreen_ContextRecreated,_EditHotkeyScreen_Init,_Menu_CloseKeyboard,_EditHotkeyScreen_BuildMesh,_EditHotkeyScreen_ContextLost,_EditHotkeyScreen_ContextRecreated,_SaveLevelScreen_Init,_SaveLevelScreen_BuildMesh,_SaveLevelScreen_ContextLost ,_SaveLevelScreen_ContextRecreated,_GenLevelScreen_Init,_GenLevelScreen_BuildMesh,_GenLevelScreen_ContextLost,_GenLevelScreen_ContextRecreated,_OptionsGroupScreen_Init,_OptionsGroupScreen_Free,_OptionsGroupScreen_BuildMesh,_OptionsGroupScreen_ContextLost,_OptionsGroupScreen_ContextRecreated,_MenuOptionsScreen_Init,_MenuOptionsScreen_Free,_MenuOptionsScreen_BuildMesh,_MenuOptionsScreen_Layout,_MenuOptionsScreen_ContextLost,_MenuOptionsScreen_ContextRecreated,_NostalgiaScreen_GetHand,_NostalgiaScreen_SetHand,_NostalgiaScreen_GetAnim,_NostalgiaScreen_SetAnim,_NostalgiaScreen_GetGui,_NostalgiaScreen_SetGui,_NostalgiaScreen_GetList,_NostalgiaScreen_SetList,_NostalgiaScreen_GetOpts,_NostalgiaScreen_SetOpts,_NostalgiaScreen_GetCustom,_NostalgiaScreen_SetCustom,_NostalgiaScreen_GetCPE,_NostalgiaScreen_SetCPE ,_NostalgiaScreen_GetTexs,_NostalgiaScreen_SetTexs,_EnvSettingsScreen_GetCloudsCol,_EnvSettingsScreen_SetCloudsCol,_EnvSettingsScreen_GetSkyCol,_EnvSettingsScreen_SetSkyCol,_EnvSettingsScreen_GetFogCol,_EnvSettingsScreen_SetFogCol,_EnvSettingsScreen_GetCloudsSpeed,_EnvSettingsScreen_SetCloudsSpeed,_EnvSettingsScreen_GetCloudsHeight,_EnvSettingsScreen_SetCloudsHeight,_EnvSettingsScreen_GetSunCol,_EnvSettingsScreen_SetSunCol,_EnvSettingsScreen_GetShadowCol,_EnvSettingsScreen_SetShadowCol,_EnvSettingsScreen_GetWeather,_EnvSettingsScreen_SetWeather,_EnvSettingsScreen_GetWeatherSpeed,_EnvSettingsScreen_SetWeatherSpeed,_EnvSettingsScreen_GetEdgeHeight,_EnvSettingsScreen_SetEdgeHeight,_HacksSettingsScreen_GetHacks,_HacksSettingsScreen_SetHacks,_HacksSettingsScreen_GetSpeed,_HacksSettingsScreen_SetSpeed,_HacksSettingsScreen_GetClipping,_HacksSettingsScreen_SetClipping,_HacksSettingsScreen_GetJump,_HacksSettingsScreen_SetJump ,_HacksSettingsScreen_GetWOMHacks,_HacksSettingsScreen_SetWOMHacks,_HacksSettingsScreen_GetFullStep,_HacksSettingsScreen_SetFullStep,_HacksSettingsScreen_GetLiquids,_HacksSettingsScreen_SetLiquids,_HacksSettingsScreen_GetPushback,_HacksSettingsScreen_SetPushback,_HacksSettingsScreen_GetSlide,_HacksSettingsScreen_SetSlide,_HacksSettingsScreen_GetFOV,_HacksSettingsScreen_SetFOV,_KeyBindingsScreen_Init,_Screen_NullFunc,_KeyBindingsScreen_BuildMesh,_KeyBindingsScreen_ContextLost,_KeyBindingsScreen_ContextRecreated,_ClassicOptionsScreen_GetMusic,_ClassicOptionsScreen_SetMusic,_ClassicOptionsScreen_GetInvert,_ClassicOptionsScreen_SetInvert,_ClassicOptionsScreen_GetViewDist,_ClassicOptionsScreen_SetViewDist,_ClassicOptionsScreen_GetPhysics,_ClassicOptionsScreen_SetPhysics,_ClassicOptionsScreen_GetSounds,_ClassicOptionsScreen_SetSounds,_ClassicOptionsScreen_GetShowFPS,_ClassicOptionsScreen_SetShowFPS,_ClassicOptionsScreen_GetViewBob ,_ClassicOptionsScreen_SetViewBob,_MenuOptionsScreen_GetFPS,_MenuOptionsScreen_SetFPS,_ClassicOptionsScreen_GetHacks,_ClassicOptionsScreen_SetHacks,_GraphicsOptionsScreen_GetViewDist,_GraphicsOptionsScreen_SetViewDist,_GraphicsOptionsScreen_GetSmooth,_GraphicsOptionsScreen_SetSmooth,_GraphicsOptionsScreen_GetNames,_GraphicsOptionsScreen_SetNames,_GraphicsOptionsScreen_GetShadows,_GraphicsOptionsScreen_SetShadows,_GraphicsOptionsScreen_GetMipmaps,_GraphicsOptionsScreen_SetMipmaps,_GuiOptionsScreen_GetShadows,_GuiOptionsScreen_SetShadows,_GuiOptionsScreen_GetShowFPS,_GuiOptionsScreen_SetShowFPS,_GuiOptionsScreen_GetHotbar,_GuiOptionsScreen_SetHotbar,_GuiOptionsScreen_GetInventory,_GuiOptionsScreen_SetInventory,_GuiOptionsScreen_GetTabAuto,_GuiOptionsScreen_SetTabAuto,_GuiOptionsScreen_GetClickable,_GuiOptionsScreen_SetClickable,_GuiOptionsScreen_GetChatScale,_GuiOptionsScreen_SetChatScale,_GuiOptionsScreen_GetChatlines ,_GuiOptionsScreen_SetChatlines,_GuiOptionsScreen_GetUseFont,_GuiOptionsScreen_SetUseFont,_MiscOptionsScreen_GetReach,_MiscOptionsScreen_SetReach,_MiscOptionsScreen_GetMusic,_MiscOptionsScreen_SetMusic,_MiscOptionsScreen_GetSounds,_MiscOptionsScreen_SetSounds,_MiscOptionsScreen_GetViewBob,_MiscOptionsScreen_SetViewBob,_MiscOptionsScreen_GetPhysics,_MiscOptionsScreen_SetPhysics,_MiscOptionsScreen_GetAutoClose,_MiscOptionsScreen_SetAutoClose,_MiscOptionsScreen_GetInvert,_MiscOptionsScreen_SetInvert,_MiscOptionsScreen_GetSensitivity,_MiscOptionsScreen_SetSensitivity,_ClassicGenScreen_Init,_ClassicGenScreen_BuildMesh,_ClassicGenScreen_ContextRecreated,_TexIdsOverlay_Init,_TexIdsOverlay_BuildMesh,_TexIdsOverlay_ContextLost,_TexIdsOverlay_ContextRecreated,_UrlWarningOverlay_Init,_UrlWarningOverlay_BuildMesh,_UrlWarningOverlay_ContextRecreated,_TexPackOverlay_Init ,_TexPackOverlay_BuildMesh,_TexPackOverlay_ContextLost,_TexPackOverlay_ContextRecreated,_TouchMoreOverlay_Init,_TouchMoreOverlay_BuildMesh,_TouchMoreOverlay_ContextRecreated,_HumanModel_Draw,_HumanModel_GetSize,_HumanModel_GetBounds,_ChickenModel_Draw,_ChickenModel_GetSize,_ChickenModel_GetBounds,_CreeperModel_Draw,_CreeperModel_GetSize,_CreeperModel_GetBounds,_PigModel_Draw,_PigModel_GetSize,_PigModel_GetBounds,_SheepModel_Draw,_SheepModel_GetSize,_SheepModel_GetBounds,_FurlessModel_Draw,_SkeletonModel_Draw,_SkeletonModel_GetSize,_SkeletonModel_GetBounds,_SpiderModel_Draw,_SpiderModel_GetSize,_SpiderModel_GetBounds,_ZombieModel_Draw,_ZombieModel_GetBounds ,_BlockModel_Draw,_BlockModel_GetSize,_BlockModel_GetBounds,_ChibiModel_Draw,_ChibiModel_GetSize,_ChibiModel_GetBounds,_HeadModel_Draw,_HeadModel_GetSize,_HeadModel_GetBounds,_SittingModel_Draw,_SittingModel_GetSize,_SittingModel_GetBounds,_HUDScreen_BuildMesh,_HUDScreen_ContextLost,_HUDScreen_ContextRecreated,_ChatScreen_Init,_ChatScreen_Free,_ChatScreen_BuildMesh,_ChatScreen_Layout,_ChatScreen_ContextLost,_ChatScreen_ContextRecreated,_InventoryScreen_Init,_InventoryScreen_Free,_InventoryScreen_BuildMesh,_InventoryScreen_Layout,_InventoryScreen_ContextLost,_InventoryScreen_ContextRecreated,_LoadingScreen_Init,_LoadingScreen_Free,_LoadingScreen_BuildMesh ,_LoadingScreen_Layout,_LoadingScreen_ContextLost,_LoadingScreen_ContextRecreated,_GeneratingScreen_Init,_DisconnectScreen_Init,_DisconnectScreen_Free,_DisconnectScreen_BuildMesh,_DisconnectScreen_ContextLost,_DisconnectScreen_ContextRecreated,_TouchScreen_Init,_TouchScreen_BuildMesh,_TouchScreen_ContextLost,_TouchScreen_ContextRecreated,_TextWidget_Free,_TextWidget_Reposition,_ButtonWidget_Free,_ButtonWidget_Reposition,_Widget_NullFunc,_Widget_CalcPosition,_HotbarWidget_Reposition,_TableWidget_Free,_TableWidget_Reposition,_InputWidget_Free,_InputWidget_Reposition,_PlayerListWidget_Free,_PlayerListWidget_Reposition,_TextGroupWidget_Free,_TextGroupWidget_Reposition,_SpecialInputWidget_Free,_SpecialInputWidget_Reposition ,_OnContextLost,_Blocks_AtlasChanged,_Physics_OnNewMapLoaded,_Adv_RenderBlock,_NormalBuilder_RenderBlock,_Camera_CheckThirdPerson,_Entities_ContextLost,_Entities_ContextRecreated,_Entities_ChatFontChanged,_LocalPlayer_CheckJumpVelocity,_OnTexturePackChanged,_OnTerrainAtlasChanged,_OnViewDistanceChanged,_OnContextLost_224,_OnContextRecreated,_HandleOnNewMap,_HandleOnNewMapLoaded,_HandleLowVRAMDetected,_Game_OnResize,_Game_Free,_Game_WarnFunc,_Entities_Tick,_GL_SetupVbPos3fTex2fCol4b_Range,_GL_SetupVbPos3fCol4b_Range,_OnFontChanged,_OnContextLost_611,_OnContextRecreated_612,_HeldBlockRenderer_ProjectionChanged,_HeldBlockRenderer_DoSwitchBlockAnim,_Http_CleanCacheTask ,_Http_FinishedAsync,_Http_UpdateProgress,_HandleFocusChanged,_InputHandler_CheckZoomFov,_MapRenderer_TerrainAtlasChanged,_MapRenderer_BlockDefinitionChanged,_MapRenderer_RecalcVisibility,_MapRenderer_DeleteChunks_,_MapRenderer_Refresh_,_PauseScreen_CheckHacksAllowed,_HotkeyListScreen_LoadEntries,_TexturePackScreen_LoadEntries,_LoadLevelScreen_LoadEntries,_OptionsGroupScreen_CheckHacksAllowed,_NostalgiaScreen_InitWidgets,_NostalgiaScreen_RecreateExtra,_MenuOptionsScreen_OnHacksChanged,_EnvSettingsScreen_InitWidgets,_HacksSettingsScreen_InitWidgets,_HacksSettingsScreen_CheckHacksAllowed,_NormalKeyBindingsScreen_Init,_ClassicOptionsScreen_InitWidgets,_ClassicOptionsScreen_RecreateExtra,_ClassicKeyBindingsScreen_Init,_ClassicHacksKeyBindingsScreen_Init,_HacksKeyBindingsScreen_Init,_OtherKeyBindingsScreen_Init,_MouseKeyBindingsScreen_Init,_GraphicsOptionsScreen_InitWidgets,_GuiOptionsScreen_InitWidgets ,_FontListScreen_LoadEntries,_MiscSettingsScreen_InitWidgets,_Models_ContextLost,_Models_ContextRecreated,_HumanModel_DrawArm,_SkeletonModel_DrawArm,_ZombieModel_DrawArm,_ChibiModel_DrawArm,_CorpseModel_Draw,_Model_NullFunc,_Particles_Tick,_OnContextLost_1156,_OnContextRecreated_1158,_OnContextLost_1194,_OnContextRecreated_1195,_Classic_Handshake,_Classic_Ping,_Classic_LevelInit,_Classic_LevelDataChunk,_Classic_LevelFinalise,_Classic_SetBlock,_Classic_AddEntity,_Classic_EntityTeleport,_Classic_RelPosAndOrientationUpdate,_Classic_RelPositionUpdate,_Classic_OrientationUpdate,_Classic_RemoveEntity,_Classic_Message,_Classic_Kick,_Classic_SetPermission ,_CPE_ExtInfo,_CPE_ExtEntry,_CPE_SetClickDistance,_CPE_CustomBlockLevel,_CPE_HoldThis,_CPE_SetTextHotkey,_CPE_ExtAddPlayerName,_CPE_ExtAddEntity,_CPE_ExtRemovePlayerName,_CPE_SetEnvCol,_CPE_MakeSelection,_CPE_RemoveSelection,_CPE_SetBlockPermission,_CPE_ChangeModel,_CPE_EnvSetMapAppearance,_CPE_EnvWeatherType,_CPE_HackControl,_CPE_ExtAddEntity2,_CPE_BulkBlockUpdate,_CPE_SetTextColor,_CPE_SetMapEnvUrl,_CPE_SetMapEnvProperty,_CPE_SetEntityProperty,_CPE_TwoWayPing,_CPE_SetInventoryOrder,_CPE_SetHotbar,_CPE_SetSpawnPoint,_CPE_VelocityControl,_BlockDefs_DefineBlock,_BlockDefs_UndefineBlock ,_BlockDefs_DefineBlockExt,_InventoryScreen_OnBlockChanged,_Selections_ContextLost,_Selections_ContextRecreated,_SPConnection_Tick,_SPConnection_SendChat,_MPConnection_Tick,_MPConnection_SendChat,_Animations_Tick,_OnPackChanged,_MenuInputWidget_RemakeTexture,_InputWidget_OnPressedEnter,_ChatInputWidget_RemakeTexture,_ChatInputWidget_OnPressedEnter,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12 ,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12 ,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12 ,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12,b12 ,b12,b12,b12]; var FUNCTION_TABLE_vid = [b13,_FirstPersonCamera_GetPosition,_ThirdPersonCamera_GetPosition,_NetPlayer_Tick,_LocalPlayer_Tick,_Screen_NullUpdate,_ListScreen_Render,_MenuScreen_Render,_EditHotkeyScreen_Render,_SaveLevelScreen_Render,_MenuScreen_Render2,_MenuOptionsScreen_Render,_TexIdsOverlay_Render,_TexPackOverlay_Update,_HUDScreen_Render,_ChatScreen_Render,_InventoryScreen_Render,_LoadingScreen_Render,_GeneratingScreen_Render,_DisconnectScreen_Update,_DisconnectScreen_Render,_TouchScreen_Render,_TextWidget_Render,_ButtonWidget_Render,_ScrollbarWidget_Render,_HotbarWidget_Render,_TableWidget_Render,_MenuInputWidget_Render,_ChatInputWidget_Render ,_PlayerListWidget_Render,_TextGroupWidget_Render,_SpecialInputWidget_Render,_HandleMouseWheel,_LoadingScreen_MapLoading,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13,b13 ,b13,b13,b13,b13,b13]; var FUNCTION_TABLE_vidd = [b14,_NetPlayer_RenderModel,_LocalPlayer_RenderModel,_SPConnection_SendPosition,_MPConnection_SendPosition,b14,b14,b14]; var FUNCTION_TABLE_vii = [b15,_Camera_OnRawMouseMoved,_GpuInfoCommand_Execute,_HelpCommand_Execute,_RenderTypeCommand_Execute,_ResolutionCommand_Execute,_ModelCommand_Execute,_CuboidCommand_Execute,_TeleportCommand_Execute,_ClearDeniedCommand_Execute,_Menu_SwitchClassicOptions,_Menu_SwitchClassicGenLevel,_Menu_SwitchLoadLevel,_Menu_SwitchSaveLevel,_Menu_SwitchNostalgia,_Menu_SwitchOptions,_Menu_SwitchGenLevel,_Menu_SwitchTexPacks,_Menu_SwitchHotkeys,_Menu_SwitchMisc,_Menu_SwitchGui,_Menu_SwitchGfx,_Menu_SwitchKeysNormal,_Menu_SwitchHacks,_Menu_SwitchEnv,_MenuOptionsScreen_Bool,_MenuOptionsScreen_Input,_MenuOptionsScreen_Enum,_Menu_SwitchFont ,_TouchMore_Chat,_TouchMore_Speed,_TouchMore_Fly,_TouchMore_Menu,_TouchMore_Inv,_TouchMore_Screen,_TouchMore_Noclip,_TouchMore_Fog,_Hex_Range,_Hex_Default,_Int_Range,_Int_Default,_Seed_Range,_Seed_NoDefault,_Float_Range,_Float_Default,_Path_Range,_String_Range,_TextWidget_BuildMesh,_ButtonWidget_BuildMesh,_Physics_DoFalling,_Physics_HandleSapling,_Physics_HandleDirt,_Physics_HandleGrass,_Physics_HandleFlower,_Physics_HandleMushroom,_Physics_PlaceLava,_Physics_PlaceWater,_Physics_PlaceSponge,_Physics_DeleteSponge ,_Physics_ActivateWater,_Physics_ActivateLava,_Physics_HandleSlab,_Physics_HandleCobblestoneSlab,_Physics_HandleTnt,_OnEnvVariableChanged,_OnKeyPress,_OnTextChanged,_HandlePointerDown,_HandlePointerUp,_HandleInputUp,_MapRenderer_EnvVariableChanged,_ListScreen_MoveBackwards,_ListScreen_MoveForwards,_PauseScreen_Quit,_PauseScreen_Game,_HotkeyListScreen_EntryClick,_Menu_SwitchPause,_EditHotkeyScreen_BaseKey,_EditHotkeyScreen_Modifiers,_EditHotkeyScreen_LeaveOpen,_EditHotkeyScreen_SaveChanges,_EditHotkeyScreen_RemoveHotkey,_TexturePackScreen_EntryClick,_TexturePackScreen_FilterFiles,_SaveLevelScreen_Main,_SaveLevelScreen_Alt,_LoadLevelScreen_EntryClick,_LoadLevelScreen_FilterFiles,_GenLevelScreen_Flatgrass ,_GenLevelScreen_Notchy,_NostalgiaScreen_SwitchBack,_MenuOptionsScreen_OK,_MenuOptionsScreen_Default,_Menu_SwitchKeysHacks,_KeyBindingsScreen_OnBindingClick,_Menu_SwitchKeysClassic,_Menu_SwitchKeysClassicHacks,_Menu_SwitchKeysOther,_Menu_SwitchKeysMouse,_FontListScreen_EntryClick,_ClassicGenScreen_Small,_ClassicGenScreen_Medium,_ClassicGenScreen_Huge,_UrlWarningOverlay_OpenUrl,_UrlWarningOverlay_AppendUrl,_TexPackOverlay_ConfirmNoClick,_TexPackOverlay_YesClick,_TexPackOverlay_GoBackClick,_TexPackOverlay_NoClick,_ChatScreen_ColCodeChanged,_ChatScreen_TabEntryAdded,_ChatScreen_TabEntryChanged,_ChatScreen_TabEntryRemoved,_TouchScreen_ModeClick,_TouchScreen_MoreClick,_SPConnection_SendData,_MPConnection_SendData,_InputWidget_CopyFromClipboard,b15 ,b15,b15,b15,b15,b15,b15,b15,b15,b15]; var FUNCTION_TABLE_viii = [b16,_NetPlayer_SetLocation,_LocalPlayer_SetLocation,_Adv_PreStretchTiles,_Builder_DefaultPreStretchTiles,_OnFileChanged,_OnFileChanged_223,_HandleTextureChanged,_OnFileChanged_610,_HandleInputDown,_ListScreen_UpdateEntry,_MenuOptionsScreen_GetDesc,_FontListScreen_UpdateEntry,_Models_TextureChanged,_HeadModel_GetTransform,_SittingModel_GetTransform,_Model_GetTransform,_OnFileChanged_1157,_ChatScreen_ChatReceived,_ChatScreen_GetStatus,_ChatScreen_GetBottomRight,_ChatScreen_GetChat,_ChatScreen_GetClientStatus,_OnFileChanged_1649,b16,b16,b16,b16,b16 ,b16,b16,b16]; var FUNCTION_TABLE_viiii = [b17,_Png_Expand_RGB_16,_Png_Expand_RGB_8,_Png_Expand_GRAYSCALE_A_16,_Png_Expand_GRAYSCALE_A_8,_Png_Expand_RGB_A_16,_Png_Expand_RGB_A_8,_Png_Expand_GRAYSCALE_1,_Png_Expand_GRAYSCALE_2,_Png_Expand_GRAYSCALE_4,_Png_Expand_GRAYSCALE_8,_Png_Expand_GRAYSCALE_16,_Png_Expand_INDEXED_1,_Png_Expand_INDEXED_2,_Png_Expand_INDEXED_4,_Png_Expand_INDEXED_8,_HandleRawMouseMoved,_CuboidCommand_BlockChanged,_HeldBlockRenderer_BlockChanged,_HandlePointerMove,_OnBreakBlockEffect_Handler,b17,b17,b17,b17,b17,b17,b17,b17 ,b17,b17,b17]; var FUNCTION_TABLE_viiiii = [b18,_SPConnection_SendBlock,_MPConnection_SendBlock,b18]; return { _Window_GotClipboardText: _Window_GotClipboardText, _Window_OnTextChanged: _Window_OnTextChanged, ___emscripten_environ_constructor: ___emscripten_environ_constructor, ___errno_location: ___errno_location, ___muldi3: ___muldi3, __get_daylight: __get_daylight, __get_timezone: __get_timezone, __get_tzname: __get_tzname, _bitshift64Lshr: _bitshift64Lshr, _emscripten_replace_memory: _emscripten_replace_memory, _free: _free, _htonl: _htonl, _htons: _htons, _i64Add: _i64Add, _i64Subtract: _i64Subtract, _llvm_bswap_i16: _llvm_bswap_i16, _llvm_bswap_i32: _llvm_bswap_i32, _main: _main, _malloc: _malloc, _memcpy: _memcpy, _memset: _memset, _ntohs: _ntohs, _realloc: _realloc, _sbrk: _sbrk, dynCall_di: dynCall_di, dynCall_i: dynCall_i, dynCall_id: dynCall_id, dynCall_ii: dynCall_ii, dynCall_iid: dynCall_iid, dynCall_iii: dynCall_iii, dynCall_iiii: dynCall_iiii, dynCall_iiiii: dynCall_iiiii, dynCall_iiiiiii: dynCall_iiiiiii, dynCall_iiiiiiii: dynCall_iiiiiiii, dynCall_v: dynCall_v, dynCall_vd: dynCall_vd, dynCall_vi: dynCall_vi, dynCall_vid: dynCall_vid, dynCall_vidd: dynCall_vidd, dynCall_vii: dynCall_vii, dynCall_viii: dynCall_viii, dynCall_viiii: dynCall_viiii, dynCall_viiiii: dynCall_viiiii, establishStackSpace: establishStackSpace, stackAlloc: stackAlloc, stackRestore: stackRestore, stackSave: stackSave }; }) // EMSCRIPTEN_END_ASM (asmGlobalArg, asmLibraryArg, buffer); var _Window_GotClipboardText = Module["_Window_GotClipboardText"] = asm["_Window_GotClipboardText"]; var _Window_OnTextChanged = Module["_Window_OnTextChanged"] = asm["_Window_OnTextChanged"]; var ___emscripten_environ_constructor = Module["___emscripten_environ_constructor"] = asm["___emscripten_environ_constructor"]; var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; var __get_daylight = Module["__get_daylight"] = asm["__get_daylight"]; var __get_timezone = Module["__get_timezone"] = asm["__get_timezone"]; var __get_tzname = Module["__get_tzname"] = asm["__get_tzname"]; var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; var _emscripten_replace_memory = Module["_emscripten_replace_memory"] = asm["_emscripten_replace_memory"]; var _free = Module["_free"] = asm["_free"]; var _htonl = Module["_htonl"] = asm["_htonl"]; var _htons = Module["_htons"] = asm["_htons"]; var _i64Add = Module["_i64Add"] = asm["_i64Add"]; var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; var _llvm_bswap_i16 = Module["_llvm_bswap_i16"] = asm["_llvm_bswap_i16"]; var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; var _main = Module["_main"] = asm["_main"]; var _malloc = Module["_malloc"] = asm["_malloc"]; var _memcpy = Module["_memcpy"] = asm["_memcpy"]; var _memset = Module["_memset"] = asm["_memset"]; var _ntohs = Module["_ntohs"] = asm["_ntohs"]; var _realloc = Module["_realloc"] = asm["_realloc"]; var _sbrk = Module["_sbrk"] = asm["_sbrk"]; var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; var stackRestore = Module["stackRestore"] = asm["stackRestore"]; var stackSave = Module["stackSave"] = asm["stackSave"]; var dynCall_di = Module["dynCall_di"] = asm["dynCall_di"]; var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; var dynCall_id = Module["dynCall_id"] = asm["dynCall_id"]; var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; var dynCall_iid = Module["dynCall_iid"] = asm["dynCall_iid"]; var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; var dynCall_iiiii = Module["dynCall_iiiii"] = asm["dynCall_iiiii"]; var dynCall_iiiiiii = Module["dynCall_iiiiiii"] = asm["dynCall_iiiiiii"]; var dynCall_iiiiiiii = Module["dynCall_iiiiiiii"] = asm["dynCall_iiiiiiii"]; var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; ; // === Auto-generated postamble setup entry stuff === Module['asm'] = asm; Module["getMemory"] = getMemory; Module["addRunDependency"] = addRunDependency; Module["removeRunDependency"] = removeRunDependency; Module["FS_createFolder"] = FS.createFolder; Module["FS_createPath"] = FS.createPath; Module["FS_createDataFile"] = FS.createDataFile; Module["FS_createPreloadedFile"] = FS.createPreloadedFile; Module["FS_createLazyFile"] = FS.createLazyFile; Module["FS_createLink"] = FS.createLink; Module["FS_createDevice"] = FS.createDevice; Module["FS_unlink"] = FS.unlink; if (memoryInitializer) { if (!isDataURI(memoryInitializer)) { memoryInitializer = locateFile(memoryInitializer); } if (ENVIRONMENT_IS_NODE || ENVIRONMENT_IS_SHELL) { var data = Module['readBinary'](memoryInitializer); HEAPU8.set(data, GLOBAL_BASE); } else { addRunDependency('memory initializer'); var applyMemoryInitializer = function(data) { if (data.byteLength) data = new Uint8Array(data); HEAPU8.set(data, GLOBAL_BASE); // Delete the typed array that contains the large blob of the memory initializer request response so that // we won't keep unnecessary memory lying around. However, keep the XHR object itself alive so that e.g. // its .status field can still be accessed later. if (Module['memoryInitializerRequest']) delete Module['memoryInitializerRequest'].response; removeRunDependency('memory initializer'); } var doBrowserLoad = function() { Module['readAsync'](memoryInitializer, applyMemoryInitializer, function() { throw 'could not load memory initializer ' + memoryInitializer; }); } var memoryInitializerBytes = tryParseAsDataURI(memoryInitializer); if (memoryInitializerBytes) { applyMemoryInitializer(memoryInitializerBytes.buffer); } else if (Module['memoryInitializerRequest']) { // a network request has already been created, just use that var useRequest = function() { var request = Module['memoryInitializerRequest']; var response = request.response; if (request.status !== 200 && request.status !== 0) { var data = tryParseAsDataURI(Module['memoryInitializerRequestURL']); if (data) { response = data.buffer; } else { // If you see this warning, the issue may be that you are using locateFile and defining it in JS. That // means that the HTML file doesn't know about it, and when it tries to create the mem init request early, does it to the wrong place. // Look in your browser's devtools network console to see what's going on. console.warn('a problem seems to have happened with Module.memoryInitializerRequest, status: ' + request.status + ', retrying ' + memoryInitializer); doBrowserLoad(); return; } } applyMemoryInitializer(response); } if (Module['memoryInitializerRequest'].response) { setTimeout(useRequest, 0); // it's already here; but, apply it asynchronously } else { Module['memoryInitializerRequest'].addEventListener('load', useRequest); // wait for it } } else { // fetch it from the network ourselves doBrowserLoad(); } } } /** * @constructor * @extends {Error} * @this {ExitStatus} */ function ExitStatus(status) { this.name = "ExitStatus"; this.message = "Program terminated with exit(" + status + ")"; this.status = status; }; ExitStatus.prototype = new Error(); ExitStatus.prototype.constructor = ExitStatus; var calledMain = false; dependenciesFulfilled = function runCaller() { // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) if (!Module['calledRun']) run(); if (!Module['calledRun']) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled } Module['callMain'] = function callMain(args) { args = args || []; ensureInitRuntime(); var argc = args.length+1; var argv = stackAlloc((argc + 1) * 4); HEAP32[argv >> 2] = allocateUTF8OnStack(Module['thisProgram']); for (var i = 1; i < argc; i++) { HEAP32[(argv >> 2) + i] = allocateUTF8OnStack(args[i - 1]); } HEAP32[(argv >> 2) + argc] = 0; try { var ret = Module['_main'](argc, argv, 0); // if we're not running an evented main loop, it's time to exit exit(ret, /* implicit = */ true); } catch(e) { if (e instanceof ExitStatus) { // exit() throws this once it's done to make sure execution // has been stopped completely return; } else if (e == 'SimulateInfiniteLoop') { // running an evented main loop, don't immediately exit Module['noExitRuntime'] = true; return; } else { var toLog = e; if (e && typeof e === 'object' && e.stack) { toLog = [e, e.stack]; } err('exception thrown: ' + toLog); Module['quit'](1, e); } } finally { calledMain = true; } } /** @type {function(Array=)} */ function run(args) { args = args || Module['arguments']; if (runDependencies > 0) { return; } preRun(); if (runDependencies > 0) return; // a preRun added a dependency, run will be called later if (Module['calledRun']) return; // run may have just been called through dependencies being fulfilled just in this very frame function doRun() { if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening Module['calledRun'] = true; if (ABORT) return; ensureInitRuntime(); preMain(); if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); if (Module['_main'] && shouldRunNow) Module['callMain'](args); postRun(); } if (Module['setStatus']) { Module['setStatus']('Running...'); setTimeout(function() { setTimeout(function() { Module['setStatus'](''); }, 1); doRun(); }, 1); } else { doRun(); } } Module['run'] = run; function exit(status, implicit) { // if this is just main exit-ing implicitly, and the status is 0, then we // don't need to do anything here and can just leave. if the status is // non-zero, though, then we need to report it. // (we may have warned about this earlier, if a situation justifies doing so) if (implicit && Module['noExitRuntime'] && status === 0) { return; } if (Module['noExitRuntime']) { } else { ABORT = true; EXITSTATUS = status; exitRuntime(); if (Module['onExit']) Module['onExit'](status); } Module['quit'](status, new ExitStatus(status)); } var abortDecorators = []; function abort(what) { if (Module['onAbort']) { Module['onAbort'](what); } if (what !== undefined) { out(what); err(what); what = JSON.stringify(what) } else { what = ''; } ABORT = true; EXITSTATUS = 1; throw 'abort(' + what + '). Build with -s ASSERTIONS=1 for more info.'; } Module['abort'] = abort; if (Module['preInit']) { if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; while (Module['preInit'].length > 0) { Module['preInit'].pop()(); } } // shouldRunNow refers to calling main(), not run(). var shouldRunNow = true; if (Module['noInitialRun']) { shouldRunNow = false; } Module["noExitRuntime"] = true; run(); // {{MODULE_ADDITIONS}}