@2004scape/rsbuf
Version:
A RuneScape update info computer
347 lines (307 loc) • 10.4 kB
JavaScript
let imports = {};
imports['__wbindgen_placeholder__'] = module.exports;
let wasm;
const { TextDecoder, TextEncoder } = require(`util`);
let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
cachedTextDecoder.decode();
let cachedUint8ArrayMemory0 = null;
function getUint8ArrayMemory0() {
if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {
cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);
}
return cachedUint8ArrayMemory0;
}
function getStringFromWasm0(ptr, len) {
ptr = ptr >>> 0;
return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
}
let WASM_VECTOR_LEN = 0;
function passArray8ToWasm0(arg, malloc) {
const ptr = malloc(arg.length * 1, 1) >>> 0;
getUint8ArrayMemory0().set(arg, ptr / 1);
WASM_VECTOR_LEN = arg.length;
return ptr;
}
let cachedTextEncoder = new TextEncoder('utf-8');
const encodeString = (typeof cachedTextEncoder.encodeInto === 'function'
? function (arg, view) {
return cachedTextEncoder.encodeInto(arg, view);
}
: function (arg, view) {
const buf = cachedTextEncoder.encode(arg);
view.set(buf);
return {
read: arg.length,
written: buf.length
};
});
function passStringToWasm0(arg, malloc, realloc) {
if (realloc === undefined) {
const buf = cachedTextEncoder.encode(arg);
const ptr = malloc(buf.length, 1) >>> 0;
getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);
WASM_VECTOR_LEN = buf.length;
return ptr;
}
let len = arg.length;
let ptr = malloc(len, 1) >>> 0;
const mem = getUint8ArrayMemory0();
let offset = 0;
for (; offset < len; offset++) {
const code = arg.charCodeAt(offset);
if (code > 0x7F) break;
mem[ptr + offset] = code;
}
if (offset !== len) {
if (offset !== 0) {
arg = arg.slice(offset);
}
ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;
const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);
const ret = encodeString(arg, view);
offset += ret.written;
ptr = realloc(ptr, len, offset, 1) >>> 0;
}
WASM_VECTOR_LEN = offset;
return ptr;
}
function isLikeNone(x) {
return x === undefined || x === null;
}
/**
* @param {number} x
* @param {number} y
* @param {number} z
* @param {number} originX
* @param {number} originZ
* @param {number} pid
* @param {boolean} tele
* @param {boolean} jump
* @param {number} runDir
* @param {number} walkDir
* @param {Visibility} visibility
* @param {boolean} active
* @param {number} masks
* @param {Uint8Array} appearance
* @param {number} lastAppearance
* @param {number} faceEntity
* @param {number} faceX
* @param {number} faceZ
* @param {number} orientationX
* @param {number} orientationZ
* @param {number} damageTaken
* @param {number} damageType
* @param {number} damageTaken2
* @param {number} damageType2
* @param {number} currentHitpoints
* @param {number} baseHitpoints
* @param {number} animId
* @param {number} animDelay
* @param {string | null | undefined} say
* @param {Uint8Array | null | undefined} message
* @param {number} color
* @param {number} effect
* @param {number} ignored
* @param {number} graphicId
* @param {number} graphicHeight
* @param {number} graphicDelay
* @param {number} exactStartX
* @param {number} exactStartZ
* @param {number} exactEndX
* @param {number} exactEndZ
* @param {number} exactMoveStart
* @param {number} exactMoveEnd
* @param {number} exactMoveDirection
*/
module.exports.computePlayer = function(x, y, z, originX, originZ, pid, tele, jump, runDir, walkDir, visibility, active, masks, appearance, lastAppearance, faceEntity, faceX, faceZ, orientationX, orientationZ, damageTaken, damageType, damageTaken2, damageType2, currentHitpoints, baseHitpoints, animId, animDelay, say, message, color, effect, ignored, graphicId, graphicHeight, graphicDelay, exactStartX, exactStartZ, exactEndX, exactEndZ, exactMoveStart, exactMoveEnd, exactMoveDirection) {
const ptr0 = passArray8ToWasm0(appearance, wasm.__wbindgen_malloc);
const len0 = WASM_VECTOR_LEN;
var ptr1 = isLikeNone(say) ? 0 : passStringToWasm0(say, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
var len1 = WASM_VECTOR_LEN;
var ptr2 = isLikeNone(message) ? 0 : passArray8ToWasm0(message, wasm.__wbindgen_malloc);
var len2 = WASM_VECTOR_LEN;
wasm.computePlayer(x, y, z, originX, originZ, pid, tele, jump, runDir, walkDir, visibility, active, masks, ptr0, len0, lastAppearance, faceEntity, faceX, faceZ, orientationX, orientationZ, damageTaken, damageType, damageTaken2, damageType2, currentHitpoints, baseHitpoints, animId, animDelay, ptr1, len1, ptr2, len2, color, effect, ignored, graphicId, graphicHeight, graphicDelay, exactStartX, exactStartZ, exactEndX, exactEndZ, exactMoveStart, exactMoveEnd, exactMoveDirection);
};
function getArrayU8FromWasm0(ptr, len) {
ptr = ptr >>> 0;
return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
}
/**
* @param {number} pos
* @param {number} pid
* @param {number} dx
* @param {number} dz
* @param {boolean} rebuild
* @returns {Uint8Array}
*/
module.exports.playerInfo = function(pos, pid, dx, dz, rebuild) {
const ret = wasm.playerInfo(pos, pid, dx, dz, rebuild);
var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
return v1;
};
/**
* @param {number} pid
*/
module.exports.addPlayer = function(pid) {
wasm.addPlayer(pid);
};
/**
* @param {number} pid
*/
module.exports.removePlayer = function(pid) {
wasm.removePlayer(pid);
};
/**
* @param {number} pid
* @param {number} other
* @returns {boolean}
*/
module.exports.hasPlayer = function(pid, other) {
const ret = wasm.hasPlayer(pid, other);
return ret !== 0;
};
/**
* @param {number} x
* @param {number} y
* @param {number} z
* @param {number} nid
* @param {number} ntype
* @param {boolean} tele
* @param {number} runDir
* @param {number} walkDir
* @param {boolean} active
* @param {number} masks
* @param {number} faceEntity
* @param {number} faceX
* @param {number} faceZ
* @param {number} orientationX
* @param {number} orientationZ
* @param {number} damageTaken
* @param {number} damageType
* @param {number} damageTaken2
* @param {number} damageType2
* @param {number} currentHitpoints
* @param {number} baseHitpoints
* @param {number} animId
* @param {number} animDelay
* @param {string | null | undefined} say
* @param {number} graphicId
* @param {number} graphicHeight
* @param {number} graphicDelay
*/
module.exports.computeNpc = function(x, y, z, nid, ntype, tele, runDir, walkDir, active, masks, faceEntity, faceX, faceZ, orientationX, orientationZ, damageTaken, damageType, damageTaken2, damageType2, currentHitpoints, baseHitpoints, animId, animDelay, say, graphicId, graphicHeight, graphicDelay) {
var ptr0 = isLikeNone(say) ? 0 : passStringToWasm0(say, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
var len0 = WASM_VECTOR_LEN;
wasm.computeNpc(x, y, z, nid, ntype, tele, runDir, walkDir, active, masks, faceEntity, faceX, faceZ, orientationX, orientationZ, damageTaken, damageType, damageTaken2, damageType2, currentHitpoints, baseHitpoints, animId, animDelay, ptr0, len0, graphicId, graphicHeight, graphicDelay);
};
/**
* @param {number} pos
* @param {number} pid
* @param {number} dx
* @param {number} dz
* @param {boolean} rebuild
* @returns {Uint8Array}
*/
module.exports.npcInfo = function(pos, pid, dx, dz, rebuild) {
const ret = wasm.npcInfo(pos, pid, dx, dz, rebuild);
var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
return v1;
};
/**
* @param {number} nid
* @param {number} ntype
*/
module.exports.addNpc = function(nid, ntype) {
wasm.addNpc(nid, ntype);
};
/**
* @param {number} nid
*/
module.exports.removeNpc = function(nid) {
wasm.removeNpc(nid);
};
/**
* @param {number} pid
* @param {number} nid
* @returns {boolean}
*/
module.exports.hasNpc = function(pid, nid) {
const ret = wasm.hasNpc(pid, nid);
return ret !== 0;
};
/**
* @param {number} nid
* @returns {number}
*/
module.exports.getNpcObservers = function(nid) {
const ret = wasm.getNpcObservers(nid);
return ret;
};
module.exports.cleanup = function() {
wasm.cleanup();
};
/**
* @param {number} pid
*/
module.exports.cleanupPlayerBuildArea = function(pid) {
wasm.cleanupPlayerBuildArea(pid);
};
/**
* @enum {1 | 2 | 4 | 8 | 16 | 32 | 64 | 128}
*/
module.exports.NpcInfoProt = Object.freeze({
DAMAGE2: 1, "1": "DAMAGE2",
ANIM: 2, "2": "ANIM",
FACE_ENTITY: 4, "4": "FACE_ENTITY",
SAY: 8, "8": "SAY",
DAMAGE: 16, "16": "DAMAGE",
CHANGE_TYPE: 32, "32": "CHANGE_TYPE",
SPOT_ANIM: 64, "64": "SPOT_ANIM",
FACE_COORD: 128, "128": "FACE_COORD",
});
/**
* @enum {1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024}
*/
module.exports.PlayerInfoProt = Object.freeze({
APPEARANCE: 1, "1": "APPEARANCE",
ANIM: 2, "2": "ANIM",
FACE_ENTITY: 4, "4": "FACE_ENTITY",
SAY: 8, "8": "SAY",
DAMAGE: 16, "16": "DAMAGE",
FACE_COORD: 32, "32": "FACE_COORD",
CHAT: 64, "64": "CHAT",
BIG: 128, "128": "BIG",
SPOT_ANIM: 256, "256": "SPOT_ANIM",
EXACT_MOVE: 512, "512": "EXACT_MOVE",
DAMAGE2: 1024, "1024": "DAMAGE2",
});
/**
* @enum {0 | 1 | 2}
*/
module.exports.Visibility = Object.freeze({
DEFAULT: 0, "0": "DEFAULT",
SOFT: 1, "1": "SOFT",
HARD: 2, "2": "HARD",
});
module.exports.__wbindgen_init_externref_table = function() {
const table = wasm.__wbindgen_export_0;
const offset = table.grow(4);
table.set(0, undefined);
table.set(offset + 0, undefined);
table.set(offset + 1, null);
table.set(offset + 2, true);
table.set(offset + 3, false);
;
};
module.exports.__wbindgen_throw = function(arg0, arg1) {
throw new Error(getStringFromWasm0(arg0, arg1));
};
const path = require('path').join(__dirname, 'rsbuf_bg.wasm');
const bytes = require('fs').readFileSync(path);
const wasmModule = new WebAssembly.Module(bytes);
const wasmInstance = new WebAssembly.Instance(wasmModule, imports);
wasm = wasmInstance.exports;
module.exports.__wasm = wasm;
wasm.__wbindgen_start();