diff --git a/dist/classes/GameObjectFull.d.ts b/dist/classes/GameObjectFull.d.ts index 3436053..adf0563 100644 --- a/dist/classes/GameObjectFull.d.ts +++ b/dist/classes/GameObjectFull.d.ts @@ -7,7 +7,9 @@ import { Tree } from '../enums/Tree'; import { NameValue } from './NameValue'; import { IGameObject } from './interfaces/IGameObject'; import { SoundFlags } from '..'; +import { ITreeBoundingBox } from './interfaces/ITreeBoundingBox'; export declare class GameObjectFull implements IGameObject { + rtreeEntry?: ITreeBoundingBox; ID: number; State: number; FullID: UUID; diff --git a/dist/classes/GameObjectFull.js b/dist/classes/GameObjectFull.js index a4ded59..a24f363 100644 --- a/dist/classes/GameObjectFull.js +++ b/dist/classes/GameObjectFull.js @@ -13,6 +13,7 @@ class GameObjectFull { this.SoundFlags = 0; this.SoundRadius = 1.0; this.SoundGain = 1.0; + this.ParentID = 0; } hasNameValueEntry(key) { if (this.NameValue['AttachItemID']) { diff --git a/dist/classes/GameObjectFull.js.map b/dist/classes/GameObjectFull.js.map index f72173c..c94044a 100644 --- a/dist/classes/GameObjectFull.js.map +++ b/dist/classes/GameObjectFull.js.map @@ -1 +1 @@ -{"version":3,"file":"GameObjectFull.js","sourceRoot":"","sources":["../../lib/classes/GameObjectFull.ts"],"names":[],"mappings":";;AAAA,uCAAkC;AAGlC,6CAAwC;AAMxC,MAAa,cAAc;IAqDvB;QAEI,IAAI,CAAC,QAAQ,GAAG,iBAAO,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,uBAAU,CAAC,WAAW,EAAE,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,eAAe,GAAG,iBAAO,CAAC,OAAO,EAAE,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;IACzB,CAAC;IAED,iBAAiB,CAAC,GAAW;QAEzB,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAClC;YACI,OAAO,IAAI,CAAC;SACf;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,iBAAiB,CAAC,GAAW;QAEzB,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAClC;YACI,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC;SAC/C;QACD,OAAO,EAAE,CAAC;IACd,CAAC;CACJ;AAnFD,wCAmFC"} \ No newline at end of file +{"version":3,"file":"GameObjectFull.js","sourceRoot":"","sources":["../../lib/classes/GameObjectFull.ts"],"names":[],"mappings":";;AAAA,uCAAkC;AAGlC,6CAAwC;AAOxC,MAAa,cAAc;IAsDvB;QAEI,IAAI,CAAC,QAAQ,GAAG,iBAAO,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,uBAAU,CAAC,WAAW,EAAE,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,eAAe,GAAG,iBAAO,CAAC,OAAO,EAAE,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,iBAAiB,CAAC,GAAW;QAEzB,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAClC;YACI,OAAO,IAAI,CAAC;SACf;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,iBAAiB,CAAC,GAAW;QAEzB,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAClC;YACI,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC;SAC/C;QACD,OAAO,EAAE,CAAC;IACd,CAAC;CACJ;AArFD,wCAqFC"} \ No newline at end of file diff --git a/dist/classes/GameObjectLite.d.ts b/dist/classes/GameObjectLite.d.ts index 87a10f0..2fca17d 100644 --- a/dist/classes/GameObjectLite.d.ts +++ b/dist/classes/GameObjectLite.d.ts @@ -2,7 +2,9 @@ import { UUID } from './UUID'; import { IGameObject } from './interfaces/IGameObject'; import { NameValue } from './NameValue'; import { PCode } from '../enums/PCode'; +import { ITreeBoundingBox } from './interfaces/ITreeBoundingBox'; export declare class GameObjectLite implements IGameObject { + rtreeEntry?: ITreeBoundingBox; ID: number; FullID: UUID; ParentID: number; diff --git a/dist/classes/GameObjectLite.js.map b/dist/classes/GameObjectLite.js.map index 5ffd07e..6f05058 100644 --- a/dist/classes/GameObjectLite.js.map +++ b/dist/classes/GameObjectLite.js.map @@ -1 +1 @@ -{"version":3,"file":"GameObjectLite.js","sourceRoot":"","sources":["../../lib/classes/GameObjectLite.ts"],"names":[],"mappings":";;AAKA,MAAa,cAAc;IASvB;QAEI,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,iBAAiB,CAAC,GAAW;QAEzB,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,SAAS,CAAC;IACxD,CAAC;IAED,iBAAiB,CAAC,GAAW;QAEzB,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAClC;YACI,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC;SAC/C;QACD,OAAO,EAAE,CAAC;IACd,CAAC;CACJ;AA3BD,wCA2BC"} \ No newline at end of file +{"version":3,"file":"GameObjectLite.js","sourceRoot":"","sources":["../../lib/classes/GameObjectLite.ts"],"names":[],"mappings":";;AAMA,MAAa,cAAc;IAUvB;QAEI,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,iBAAiB,CAAC,GAAW;QAEzB,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,SAAS,CAAC;IACxD,CAAC;IAED,iBAAiB,CAAC,GAAW;QAEzB,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAClC;YACI,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC;SAC/C;QACD,OAAO,EAAE,CAAC;IACd,CAAC;CACJ;AA5BD,wCA4BC"} \ No newline at end of file diff --git a/dist/classes/ObjectStoreFull.d.ts b/dist/classes/ObjectStoreFull.d.ts index 38429cc..777b194 100644 --- a/dist/classes/ObjectStoreFull.d.ts +++ b/dist/classes/ObjectStoreFull.d.ts @@ -7,6 +7,7 @@ import { IObjectStore } from './interfaces/IObjectStore'; import { GameObjectFull } from './GameObjectFull'; import { IGameObject } from './interfaces/IGameObject'; import { BotOptionFlags } from '..'; +import { RBush3D } from 'rbush-3d/dist'; export declare class ObjectStoreFull implements IObjectStore { private circuit; private agent; @@ -15,7 +16,9 @@ export declare class ObjectStoreFull implements IObjectStore { private objectsByParent; private clientEvents; private options; + rtree: RBush3D; constructor(circuit: Circuit, agent: Agent, clientEvents: ClientEvents, options: BotOptionFlags); + insertIntoRtree(obj: GameObjectFull): void; deleteObject(objectID: number): void; readExtraParams(buf: Buffer, pos: number, o: GameObjectFull): number; getObjectsByParent(parentID: number): IGameObject[]; @@ -23,4 +26,6 @@ export declare class ObjectStoreFull implements IObjectStore { [key: string]: NameValue; }; shutdown(): void; + private findParent; + getObjectsInArea(minX: number, maxX: number, minY: number, maxY: number, minZ: number, maxZ: number): GameObjectFull[]; } diff --git a/dist/classes/ObjectStoreFull.js b/dist/classes/ObjectStoreFull.js index eff2373..3abe401 100644 --- a/dist/classes/ObjectStoreFull.js +++ b/dist/classes/ObjectStoreFull.js @@ -10,12 +10,14 @@ const PCode_1 = require("../enums/PCode"); const NameValue_1 = require("./NameValue"); const GameObjectFull_1 = require("./GameObjectFull"); const __1 = require(".."); +const dist_1 = require("rbush-3d/dist"); class ObjectStoreFull { constructor(circuit, agent, clientEvents, options) { this.objects = {}; this.objectsByUUID = {}; this.objectsByParent = {}; agent.localID = 0; + this.rtree = new dist_1.RBush3D(); this.options = options; this.clientEvents = clientEvents; this.circuit = circuit; @@ -31,7 +33,7 @@ class ObjectStoreFull { switch (packet.message.id) { case Message_1.Message.ObjectUpdate: const objectUpdate = packet.message; - objectUpdate.ObjectData.forEach((objData) => { + for (const objData of objectUpdate.ObjectData) { const localID = objData.ID; const parentID = objData.ParentID; let addToParentList = true; @@ -131,13 +133,13 @@ class ObjectStoreFull { if (addToParentList) { this.objectsByParent[parentID].push(localID); } - if (objData.PCode !== PCode_1.PCode.Avatar && this.options & __1.BotOptionFlags.StoreMyAttachmentsOnly) { - if (this.agent.localID !== 0 && obj.ParentID !== this.agent.localID) { - this.deleteObject(localID); - return; - } + if (objData.PCode !== PCode_1.PCode.Avatar && this.options & __1.BotOptionFlags.StoreMyAttachmentsOnly && (this.agent.localID !== 0 && obj.ParentID !== this.agent.localID)) { + this.deleteObject(localID); } - }); + else { + this.insertIntoRtree(obj); + } + } break; case Message_1.Message.ObjectUpdateCached: const objectUpdateCached = packet.message; @@ -158,7 +160,7 @@ class ObjectStoreFull { case Message_1.Message.ObjectUpdateCompressed: { const objectUpdateCompressed = packet.message; - objectUpdateCompressed.ObjectData.forEach((obj) => { + for (const obj of objectUpdateCompressed.ObjectData) { const flags = obj.UpdateFlags; const buf = obj.Data; let pos = 0; @@ -220,84 +222,85 @@ class ObjectStoreFull { } o.ParentID = newParentID; } - if (pcode !== PCode_1.PCode.Avatar && newObj && this.options & __1.BotOptionFlags.StoreMyAttachmentsOnly) { - if (this.agent.localID !== 0 && o.ParentID !== this.agent.localID) { - this.deleteObject(localID); - return; - } - } - if (compressedflags & __1.CompressedFlags.Tree) { - o.TreeSpecies = buf.readUInt8(pos++); - } - else if (compressedflags & __1.CompressedFlags.ScratchPad) { - o.TreeSpecies = 0; - const scratchPadSize = buf.readUInt8(pos++); - pos = pos + scratchPadSize; - } - if (compressedflags & __1.CompressedFlags.HasText) { - const result = Utils_1.Utils.BufferToString(buf, pos); - pos += result.readLength; - o.Text = result.result; - o.TextColor = buf.slice(pos, pos + 4); - pos = pos + 4; + if (pcode !== PCode_1.PCode.Avatar && newObj && this.options & __1.BotOptionFlags.StoreMyAttachmentsOnly && (this.agent.localID !== 0 && o.ParentID !== this.agent.localID)) { + this.deleteObject(localID); + return; } else { - o.Text = ''; - } - if (compressedflags & __1.CompressedFlags.MediaURL) { - const result = Utils_1.Utils.BufferToString(buf, pos); - pos += result.readLength; - o.MediaURL = result.result; - } - if (compressedflags & __1.CompressedFlags.HasParticles) { - pos += 86; - } - pos = this.readExtraParams(buf, pos, o); - if (compressedflags & __1.CompressedFlags.HasSound) { - o.Sound = new UUID_1.UUID(buf, pos); - pos = pos + 16; - o.SoundGain = buf.readFloatLE(pos); - pos += 4; - o.SoundFlags = buf.readUInt8(pos++); - o.SoundRadius = buf.readFloatLE(pos); + if (compressedflags & __1.CompressedFlags.Tree) { + o.TreeSpecies = buf.readUInt8(pos++); + } + else if (compressedflags & __1.CompressedFlags.ScratchPad) { + o.TreeSpecies = 0; + const scratchPadSize = buf.readUInt8(pos++); + pos = pos + scratchPadSize; + } + if (compressedflags & __1.CompressedFlags.HasText) { + const result = Utils_1.Utils.BufferToString(buf, pos); + pos += result.readLength; + o.Text = result.result; + o.TextColor = buf.slice(pos, pos + 4); + pos = pos + 4; + } + else { + o.Text = ''; + } + if (compressedflags & __1.CompressedFlags.MediaURL) { + const result = Utils_1.Utils.BufferToString(buf, pos); + pos += result.readLength; + o.MediaURL = result.result; + } + if (compressedflags & __1.CompressedFlags.HasParticles) { + pos += 86; + } + pos = this.readExtraParams(buf, pos, o); + if (compressedflags & __1.CompressedFlags.HasSound) { + o.Sound = new UUID_1.UUID(buf, pos); + pos = pos + 16; + o.SoundGain = buf.readFloatLE(pos); + pos += 4; + o.SoundFlags = buf.readUInt8(pos++); + o.SoundRadius = buf.readFloatLE(pos); + pos = pos + 4; + } + if (compressedflags & __1.CompressedFlags.HasNameValues) { + const result = Utils_1.Utils.BufferToString(buf, pos); + o.NameValue = this.parseNameValues(result.result); + pos += result.readLength; + } + o.PathCurve = buf.readUInt8(pos++); + o.PathBegin = buf.readUInt16LE(pos); + pos = pos + 2; + o.PathEnd = buf.readUInt16LE(pos); + pos = pos + 2; + o.PathScaleX = buf.readUInt8(pos++); + o.PathScaleY = buf.readUInt8(pos++); + o.PathShearX = buf.readUInt8(pos++); + o.PathShearY = buf.readUInt8(pos++); + o.PathTwist = buf.readUInt8(pos++); + o.PathTwistBegin = buf.readUInt8(pos++); + o.PathRadiusOffset = buf.readUInt8(pos++); + o.PathTaperX = buf.readUInt8(pos++); + o.PathTaperY = buf.readUInt8(pos++); + o.PathRevolutions = buf.readUInt8(pos++); + o.PathSkew = buf.readUInt8(pos++); + o.ProfileCurve = buf.readUInt8(pos++); + o.ProfileBegin = buf.readUInt16LE(pos); + pos = pos + 2; + o.ProfileEnd = buf.readUInt16LE(pos); + pos = pos + 2; + o.ProfileHollow = buf.readUInt16LE(pos); + pos = pos + 2; + const textureEntryLength = buf.readUInt32LE(pos); pos = pos + 4; + pos = pos + textureEntryLength; + if (compressedflags & __1.CompressedFlags.TextureAnimation) { + pos = pos + 4; + } + o.IsAttachment = (compressedflags & __1.CompressedFlags.HasNameValues) !== 0 && o.ParentID !== 0; + this.insertIntoRtree(o); } - if (compressedflags & __1.CompressedFlags.HasNameValues) { - const result = Utils_1.Utils.BufferToString(buf, pos); - o.NameValue = this.parseNameValues(result.result); - pos += result.readLength; - } - o.PathCurve = buf.readUInt8(pos++); - o.PathBegin = buf.readUInt16LE(pos); - pos = pos + 2; - o.PathEnd = buf.readUInt16LE(pos); - pos = pos + 2; - o.PathScaleX = buf.readUInt8(pos++); - o.PathScaleY = buf.readUInt8(pos++); - o.PathShearX = buf.readUInt8(pos++); - o.PathShearY = buf.readUInt8(pos++); - o.PathTwist = buf.readUInt8(pos++); - o.PathTwistBegin = buf.readUInt8(pos++); - o.PathRadiusOffset = buf.readUInt8(pos++); - o.PathTaperX = buf.readUInt8(pos++); - o.PathTaperY = buf.readUInt8(pos++); - o.PathRevolutions = buf.readUInt8(pos++); - o.PathSkew = buf.readUInt8(pos++); - o.ProfileCurve = buf.readUInt8(pos++); - o.ProfileBegin = buf.readUInt16LE(pos); - pos = pos + 2; - o.ProfileEnd = buf.readUInt16LE(pos); - pos = pos + 2; - o.ProfileHollow = buf.readUInt16LE(pos); - pos = pos + 2; - const textureEntryLength = buf.readUInt32LE(pos); - pos = pos + 4; - pos = pos + textureEntryLength; - if (compressedflags & __1.CompressedFlags.TextureAnimation) { - pos = pos + 4; - } - o.IsAttachment = (compressedflags & __1.CompressedFlags.HasNameValues) !== 0 && o.ParentID !== 0; - }); + } break; } case Message_1.Message.ImprovedTerseObjectUpdate: @@ -309,14 +312,31 @@ class ObjectStoreFull { break; case Message_1.Message.KillObject: const killObj = packet.message; - killObj.ObjectData.forEach((obj) => { + for (const obj of killObj.ObjectData) { const objectID = obj.ID; this.deleteObject(objectID); - }); + } break; } }); } + insertIntoRtree(obj) { + if (obj.rtreeEntry !== undefined) { + this.rtree.remove(obj.rtreeEntry); + } + const normalizedScale = obj.Scale.multiplyByQuat(obj.Rotation); + const bounds = { + minX: obj.Position.x - (normalizedScale.x / 2), + maxX: obj.Position.x + (normalizedScale.x / 2), + minY: obj.Position.y - (normalizedScale.y / 2), + maxY: obj.Position.y + (normalizedScale.y / 2), + minZ: obj.Position.z - (normalizedScale.z / 2), + maxZ: obj.Position.z + (normalizedScale.z / 2), + gameObject: obj + }; + obj.rtreeEntry = bounds; + this.rtree.insert(bounds); + } deleteObject(objectID) { if (this.objects[objectID]) { if (this.objectsByParent[objectID]) { @@ -337,6 +357,9 @@ class ObjectStoreFull { this.objectsByParent[parentID].splice(ind, 1); } } + if (this.objects[objectID].rtreeEntry !== undefined) { + this.rtree.remove(this.objects[objectID].rtreeEntry); + } delete this.objects[objectID]; } } @@ -395,9 +418,50 @@ class ObjectStoreFull { } shutdown() { this.objects = {}; + this.rtree.clear(); this.objectsByUUID = {}; this.objectsByParent = {}; } + findParent(go) { + if (go.ParentID === 0) { + return go; + } + else { + return this.findParent(this.objects[go.ParentID]); + } + } + getObjectsInArea(minX, maxX, minY, maxY, minZ, maxZ) { + const result = this.rtree.search({ + minX: minX, + maxX: maxX, + minY: minY, + maxY: maxY, + minZ: minZ, + maxZ: maxZ + }); + const found = {}; + const objs = []; + for (const obj of result) { + const o = obj; + const go = o.gameObject; + try { + const parent = this.findParent(go); + const uuid = parent.FullID.toString(); + if (parent !== go) { + console.log('Resolved object ' + go.FullID.toString() + ' to parent ' + parent.FullID.toString() + ' which ' + ((found[uuid] === undefined) ? 'does not exist' : 'already exists')); + } + if (found[uuid] === undefined) { + found[uuid] = parent; + objs.push(parent); + } + } + catch (error) { + console.log('Failed to find parent for ' + go.FullID.toString()); + console.error(error); + } + } + return objs; + } } exports.ObjectStoreFull = ObjectStoreFull; //# sourceMappingURL=ObjectStoreFull.js.map \ No newline at end of file diff --git a/dist/classes/ObjectStoreFull.js.map b/dist/classes/ObjectStoreFull.js.map index 7edfa77..fa62daf 100644 --- a/dist/classes/ObjectStoreFull.js.map +++ b/dist/classes/ObjectStoreFull.js.map @@ -1 +1 @@ -{"version":3,"file":"ObjectStoreFull.js","sourceRoot":"","sources":["../../lib/classes/ObjectStoreFull.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ObjectStoreFull.js","sourceRoot":"","sources":["../../lib/classes/ObjectStoreFull.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/classes/ObjectStoreLite.d.ts b/dist/classes/ObjectStoreLite.d.ts index e559ff0..35b9231 100644 --- a/dist/classes/ObjectStoreLite.d.ts +++ b/dist/classes/ObjectStoreLite.d.ts @@ -6,6 +6,7 @@ import { IObjectStore } from './interfaces/IObjectStore'; import { GameObjectLite } from './GameObjectLite'; import { NameValue } from './NameValue'; import { BotOptionFlags } from '..'; +import { GameObjectFull } from './GameObjectFull'; export declare class ObjectStoreLite implements IObjectStore { private circuit; private agent; @@ -22,4 +23,5 @@ export declare class ObjectStoreLite implements IObjectStore { [key: string]: NameValue; }; shutdown(): void; + getObjectsInArea(minX: number, maxX: number, minY: number, maxY: number, minZ: number, maxZ: number): GameObjectFull[]; } diff --git a/dist/classes/ObjectStoreLite.js b/dist/classes/ObjectStoreLite.js index 8f0d99d..290ec15 100644 --- a/dist/classes/ObjectStoreLite.js +++ b/dist/classes/ObjectStoreLite.js @@ -116,7 +116,7 @@ class ObjectStoreLite { case Message_1.Message.ObjectUpdateCompressed: { const objectUpdateCompressed = packet.message; - objectUpdateCompressed.ObjectData.forEach((obj) => { + for (const obj of objectUpdateCompressed.ObjectData) { const flags = obj.UpdateFlags; const buf = obj.Data; let pos = 0; @@ -223,7 +223,8 @@ class ObjectStoreLite { pos = pos + 4; } o.IsAttachment = (compressedflags & __1.CompressedFlags.HasNameValues) !== 0 && o.ParentID !== 0; - }); + } + ; break; } case Message_1.Message.ImprovedTerseObjectUpdate: @@ -324,6 +325,9 @@ class ObjectStoreLite { this.objectsByUUID = {}; this.objectsByParent = {}; } + getObjectsInArea(minX, maxX, minY, maxY, minZ, maxZ) { + throw new Error('GetObjectsInArea not available with the Lite object store.'); + } } exports.ObjectStoreLite = ObjectStoreLite; //# sourceMappingURL=ObjectStoreLite.js.map \ No newline at end of file diff --git a/dist/classes/ObjectStoreLite.js.map b/dist/classes/ObjectStoreLite.js.map index 8e97518..69bc682 100644 --- a/dist/classes/ObjectStoreLite.js.map +++ b/dist/classes/ObjectStoreLite.js.map @@ -1 +1 @@ -{"version":3,"file":"ObjectStoreLite.js","sourceRoot":"","sources":["../../lib/classes/ObjectStoreLite.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ObjectStoreLite.js","sourceRoot":"","sources":["../../lib/classes/ObjectStoreLite.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/classes/commands/CommunicationsCommands.d.ts b/dist/classes/commands/CommunicationsCommands.d.ts index a1844da..928dfc4 100644 --- a/dist/classes/commands/CommunicationsCommands.d.ts +++ b/dist/classes/commands/CommunicationsCommands.d.ts @@ -1,6 +1,7 @@ import { CommandsBase } from './CommandsBase'; import { UUID } from '../UUID'; import { ChatType } from '../../enums/ChatType'; +import { ScriptDialogEvent } from '../..'; export declare class CommunicationsCommands extends CommandsBase { sendInstantMessage(to: UUID | string, message: string): Promise; nearbyChat(message: string, type: ChatType, channel?: number): Promise; @@ -15,4 +16,5 @@ export declare class CommunicationsCommands extends CommandsBase { typeLocalMessage(message: string, thinkingTime?: number, charactersPerSecond?: number): Promise; startGroupChatSession(sessionID: UUID | string, message: string): Promise; sendGroupMessage(groupID: UUID | string, message: string): Promise; + respondToScriptDialog(event: ScriptDialogEvent, buttonIndex: number): Promise; } diff --git a/dist/classes/commands/CommunicationsCommands.js b/dist/classes/commands/CommunicationsCommands.js index 8b97826..8e25880 100644 --- a/dist/classes/commands/CommunicationsCommands.js +++ b/dist/classes/commands/CommunicationsCommands.js @@ -17,6 +17,7 @@ const ChatFromViewer_1 = require("../messages/ChatFromViewer"); const ChatType_1 = require("../../enums/ChatType"); const InstantMessageDialog_1 = require("../../enums/InstantMessageDialog"); const __1 = require("../.."); +const ScriptDialogReply_1 = require("../messages/ScriptDialogReply"); class CommunicationsCommands extends CommandsBase_1.CommandsBase { sendInstantMessage(to, message) { return __awaiter(this, void 0, void 0, function* () { @@ -350,6 +351,21 @@ class CommunicationsCommands extends CommandsBase_1.CommandsBase { }); }); } + respondToScriptDialog(event, buttonIndex) { + const dialog = new ScriptDialogReply_1.ScriptDialogReplyMessage(); + dialog.AgentData = { + AgentID: this.agent.agentID, + SessionID: this.circuit.sessionID + }; + dialog.Data = { + ObjectID: event.ObjectID, + ChatChannel: event.ChatChannel, + ButtonIndex: buttonIndex, + ButtonLabel: Utils_1.Utils.StringToBuffer(event.Buttons[buttonIndex]) + }; + const sequenceNo = this.circuit.sendMessage(dialog, __1.PacketFlags.Reliable); + return this.circuit.waitForAck(sequenceNo, 10000); + } } exports.CommunicationsCommands = CommunicationsCommands; //# sourceMappingURL=CommunicationsCommands.js.map \ No newline at end of file diff --git a/dist/classes/commands/CommunicationsCommands.js.map b/dist/classes/commands/CommunicationsCommands.js.map index cbff215..cebf710 100644 --- a/dist/classes/commands/CommunicationsCommands.js.map +++ b/dist/classes/commands/CommunicationsCommands.js.map @@ -1 +1 @@ -{"version":3,"file":"CommunicationsCommands.js","sourceRoot":"","sources":["../../../lib/classes/commands/CommunicationsCommands.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"CommunicationsCommands.js","sourceRoot":"","sources":["../../../lib/classes/commands/CommunicationsCommands.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/classes/commands/RegionCommands.d.ts b/dist/classes/commands/RegionCommands.d.ts index 6a2218d..9590b76 100644 --- a/dist/classes/commands/RegionCommands.d.ts +++ b/dist/classes/commands/RegionCommands.d.ts @@ -1,6 +1,8 @@ import { CommandsBase } from './CommandsBase'; import { UUID } from '../UUID'; import * as Long from 'long'; +import { IGameObject } from '../interfaces/IGameObject'; export declare class RegionCommands extends CommandsBase { getRegionHandle(regionID: UUID): Promise; + getObjectsInArea(minX: number, maxX: number, minY: number, maxY: number, minZ: number, maxZ: number): IGameObject[]; } diff --git a/dist/classes/commands/RegionCommands.js b/dist/classes/commands/RegionCommands.js index bee9afd..f5eaf41 100644 --- a/dist/classes/commands/RegionCommands.js +++ b/dist/classes/commands/RegionCommands.js @@ -26,6 +26,9 @@ class RegionCommands extends CommandsBase_1.CommandsBase { }); }); } + getObjectsInArea(minX, maxX, minY, maxY, minZ, maxZ) { + return this.currentRegion.objects.getObjectsInArea(minX, maxX, minY, maxY, minZ, maxZ); + } } exports.RegionCommands = RegionCommands; //# sourceMappingURL=RegionCommands.js.map \ No newline at end of file diff --git a/dist/classes/commands/RegionCommands.js.map b/dist/classes/commands/RegionCommands.js.map index b6de9dc..3846971 100644 --- a/dist/classes/commands/RegionCommands.js.map +++ b/dist/classes/commands/RegionCommands.js.map @@ -1 +1 @@ -{"version":3,"file":"RegionCommands.js","sourceRoot":"","sources":["../../../lib/classes/commands/RegionCommands.ts"],"names":[],"mappings":";;AAAA,iDAA4C;AAG5C,yEAA2E;AAC3E,iDAA4C;AAC5C,+DAA0D;AAE1D,6BAAkC;AAElC,MAAa,cAAe,SAAQ,2BAAY;IAE5C,eAAe,CAAC,QAAc;QAE1B,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAEzC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YAC3C,MAAM,GAAG,GAA+B,IAAI,gDAA0B,EAAE,CAAC;YACzE,GAAG,CAAC,YAAY,GAAG;gBACf,QAAQ,EAAE,QAAQ;aACrB,CAAC;YACF,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,eAAW,CAAC,QAAQ,CAAC,CAAC;YAC/C,OAAO,CAAC,cAAc,CAAgC,iBAAO,CAAC,sBAAsB,EAAE,KAAK,EAAE,CAAC,SAAwC,EAAkB,EAAE;gBAEtJ,IAAI,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,QAAQ,CAAC,QAAQ,EAAE,EACpE;oBACI,OAAO,+BAAc,CAAC,MAAM,CAAC;iBAChC;qBAED;oBACI,OAAO,+BAAc,CAAC,OAAO,CAAC;iBACjC;YACL,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAA0C,EAAE,EAAE;gBAEnD,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AA5BD,wCA4BC"} \ No newline at end of file +{"version":3,"file":"RegionCommands.js","sourceRoot":"","sources":["../../../lib/classes/commands/RegionCommands.ts"],"names":[],"mappings":";;AAAA,iDAA4C;AAG5C,yEAA2E;AAC3E,iDAA4C;AAC5C,+DAA0D;AAE1D,6BAAkC;AAGlC,MAAa,cAAe,SAAQ,2BAAY;IAE5C,eAAe,CAAC,QAAc;QAE1B,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAEzC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YAC3C,MAAM,GAAG,GAA+B,IAAI,gDAA0B,EAAE,CAAC;YACzE,GAAG,CAAC,YAAY,GAAG;gBACf,QAAQ,EAAE,QAAQ;aACrB,CAAC;YACF,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,eAAW,CAAC,QAAQ,CAAC,CAAC;YAC/C,OAAO,CAAC,cAAc,CAAgC,iBAAO,CAAC,sBAAsB,EAAE,KAAK,EAAE,CAAC,SAAwC,EAAkB,EAAE;gBAEtJ,IAAI,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,QAAQ,CAAC,QAAQ,EAAE,EACpE;oBACI,OAAO,+BAAc,CAAC,MAAM,CAAC;iBAChC;qBAED;oBACI,OAAO,+BAAc,CAAC,OAAO,CAAC;iBACjC;YACL,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAA0C,EAAE,EAAE;gBAEnD,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IACD,gBAAgB,CAAC,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY;QAE/F,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3F,CAAC;CACJ;AAhCD,wCAgCC"} \ No newline at end of file diff --git a/dist/classes/interfaces/IGameObject.d.ts b/dist/classes/interfaces/IGameObject.d.ts index a92006d..68fe1e3 100644 --- a/dist/classes/interfaces/IGameObject.d.ts +++ b/dist/classes/interfaces/IGameObject.d.ts @@ -1,4 +1,6 @@ +import { ITreeBoundingBox } from './ITreeBoundingBox'; export interface IGameObject { + rtreeEntry?: ITreeBoundingBox; hasNameValueEntry(key: string): boolean; getNameValueEntry(key: string): string; } diff --git a/dist/classes/interfaces/IObjectStore.d.ts b/dist/classes/interfaces/IObjectStore.d.ts index 78266fe..3a16d8d 100644 --- a/dist/classes/interfaces/IObjectStore.d.ts +++ b/dist/classes/interfaces/IObjectStore.d.ts @@ -1,5 +1,9 @@ import { IGameObject } from './IGameObject'; +import { RBush3D } from 'rbush-3d/dist'; +import { GameObjectFull } from '../GameObjectFull'; export interface IObjectStore { + rtree?: RBush3D; getObjectsByParent(parentID: number): IGameObject[]; shutdown(): void; + getObjectsInArea(minX: number, maxX: number, minY: number, maxY: number, minZ: number, maxZ: number): GameObjectFull[]; } diff --git a/dist/classes/interfaces/ITreeBoundingBox.d.ts b/dist/classes/interfaces/ITreeBoundingBox.d.ts new file mode 100644 index 0000000..4695581 --- /dev/null +++ b/dist/classes/interfaces/ITreeBoundingBox.d.ts @@ -0,0 +1,5 @@ +import { BBox } from 'rbush-3d/dist'; +import { IGameObject } from './IGameObject'; +export interface ITreeBoundingBox extends BBox { + gameObject: IGameObject; +} diff --git a/dist/classes/interfaces/ITreeBoundingBox.js b/dist/classes/interfaces/ITreeBoundingBox.js new file mode 100644 index 0000000..8c00b52 --- /dev/null +++ b/dist/classes/interfaces/ITreeBoundingBox.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=ITreeBoundingBox.js.map \ No newline at end of file diff --git a/dist/classes/interfaces/ITreeBoundingBox.js.map b/dist/classes/interfaces/ITreeBoundingBox.js.map new file mode 100644 index 0000000..fc579af --- /dev/null +++ b/dist/classes/interfaces/ITreeBoundingBox.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ITreeBoundingBox.js","sourceRoot":"","sources":["../../../lib/classes/interfaces/ITreeBoundingBox.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/example/testBot.js b/example/testBot.js index 5ce3e49..d1dbecb 100644 --- a/example/testBot.js +++ b/example/testBot.js @@ -17,9 +17,15 @@ loginParameters.start = parameters.start; //const options = nmv.BotOptionFlags.None; // If you don't intend to use the object store (i.e you have no interest in inworld objects, textures, etc, -// using None or LiteObjectStore will drastically reduce the footprint +// using nmv.BotOptionFlags.LiteObjectStore will drastically reduce the footprint and CPU usage. // -const options = nmv.BotOptionFlags.LiteObjectStore | nmv.BotOptionFlags.StoreMyAttachmentsOnly; +// The full object store has a full searchable rtree index, the lite does not. +// +// For the minimum footprint, use : +// +// const options = nmv.BotOptionFlags.LiteObjectStore | nmv.BotOptionFlags.StoreMyAttachmentsOnly; + +const options = nmv.BotOptionFlags.None; const bot = new nmv.Bot(loginParameters, options); @@ -281,6 +287,18 @@ async function connect() console.log('Map location request failed. You probably do not have map rights on Casper.'); } + setInterval(() => { + console.log('Finding objects'); + var tmr = new Date().getTime(); + const objs = bot.clientCommands.region.getObjectsInArea(191, 192, 56, 57, 144, 145); + var tmr2 = new Date().getTime(); + console.log('Found ' + objs.length + ' objects in ' + (tmr2 - tmr) + 'ms'); + for (const o of objs) + { + console.log(o.FullID.toString()); + } + }, 10000) + //await bot.clientCommands.friends.grantFriendRights('d1cd5b71-6209-4595-9bf0-771bf689ce00', nmv.RightsFlags.CanModifyObjects | nmv.RightsFlags.CanSeeOnline | nmv.RightsFlags.CanSeeOnMap ); } catch (error) diff --git a/lib/classes/GameObjectFull.ts b/lib/classes/GameObjectFull.ts index 52d7763..0023119 100644 --- a/lib/classes/GameObjectFull.ts +++ b/lib/classes/GameObjectFull.ts @@ -6,9 +6,11 @@ import {Tree} from '../enums/Tree'; import {NameValue} from './NameValue'; import {IGameObject} from './interfaces/IGameObject'; import {SoundFlags} from '..'; +import {ITreeBoundingBox} from './interfaces/ITreeBoundingBox'; export class GameObjectFull implements IGameObject { + rtreeEntry?: ITreeBoundingBox; ID: number; State: number; FullID: UUID; @@ -71,6 +73,7 @@ export class GameObjectFull implements IGameObject this.SoundFlags = 0; this.SoundRadius = 1.0; this.SoundGain = 1.0; + this.ParentID = 0; } hasNameValueEntry(key: string): boolean diff --git a/lib/classes/GameObjectLite.ts b/lib/classes/GameObjectLite.ts index eba491e..c8bcbfe 100644 --- a/lib/classes/GameObjectLite.ts +++ b/lib/classes/GameObjectLite.ts @@ -2,9 +2,11 @@ import {UUID} from './UUID'; import {IGameObject} from './interfaces/IGameObject'; import {NameValue} from './NameValue'; import {PCode} from '../enums/PCode'; +import {ITreeBoundingBox} from './interfaces/ITreeBoundingBox'; export class GameObjectLite implements IGameObject { + rtreeEntry?: ITreeBoundingBox; ID: number; FullID: UUID; ParentID: number; diff --git a/lib/classes/ObjectStoreFull.ts b/lib/classes/ObjectStoreFull.ts index e3f5d46..a110854 100644 --- a/lib/classes/ObjectStoreFull.ts +++ b/lib/classes/ObjectStoreFull.ts @@ -21,6 +21,9 @@ import {IObjectStore} from './interfaces/IObjectStore'; import {GameObjectFull} from './GameObjectFull'; import {IGameObject} from './interfaces/IGameObject'; import {BotOptionFlags, CompressedFlags} from '..'; +import {BBox, RBush3D} from 'rbush-3d/dist'; +import {ITreeBoundingBox} from './interfaces/ITreeBoundingBox'; +import {GameObjectLite} from './GameObjectLite'; export class ObjectStoreFull implements IObjectStore { @@ -31,10 +34,12 @@ export class ObjectStoreFull implements IObjectStore private objectsByParent: { [key: number]: number[] } = {}; private clientEvents: ClientEvents; private options: BotOptionFlags; + rtree: RBush3D; constructor(circuit: Circuit, agent: Agent, clientEvents: ClientEvents, options: BotOptionFlags) { agent.localID = 0; + this.rtree = new RBush3D(); this.options = options; this.clientEvents = clientEvents; this.circuit = circuit; @@ -52,7 +57,7 @@ export class ObjectStoreFull implements IObjectStore { case Message.ObjectUpdate: const objectUpdate = packet.message as ObjectUpdateMessage; - objectUpdate.ObjectData.forEach((objData) => + for (const objData of objectUpdate.ObjectData) { const localID = objData.ID; const parentID = objData.ParentID; @@ -177,16 +182,16 @@ export class ObjectStoreFull implements IObjectStore this.objectsByParent[parentID].push(localID); } - if (objData.PCode !== PCode.Avatar && this.options & BotOptionFlags.StoreMyAttachmentsOnly) + if (objData.PCode !== PCode.Avatar && this.options & BotOptionFlags.StoreMyAttachmentsOnly && (this.agent.localID !== 0 && obj.ParentID !== this.agent.localID)) { - if (this.agent.localID !== 0 && obj.ParentID !== this.agent.localID) - { - // Drop object - this.deleteObject(localID); - return; - } + // Drop object + this.deleteObject(localID); } - }); + else + { + this.insertIntoRtree(obj); + } + } break; case Message.ObjectUpdateCached: const objectUpdateCached = packet.message as ObjectUpdateCachedMessage; @@ -208,7 +213,7 @@ export class ObjectStoreFull implements IObjectStore case Message.ObjectUpdateCompressed: { const objectUpdateCompressed = packet.message as ObjectUpdateCompressedMessage; - objectUpdateCompressed.ObjectData.forEach((obj) => + for (const obj of objectUpdateCompressed.ObjectData) { const flags = obj.UpdateFlags; const buf = obj.Data; @@ -282,115 +287,115 @@ export class ObjectStoreFull implements IObjectStore } o.ParentID = newParentID; } - if (pcode !== PCode.Avatar && newObj && this.options & BotOptionFlags.StoreMyAttachmentsOnly) + if (pcode !== PCode.Avatar && newObj && this.options & BotOptionFlags.StoreMyAttachmentsOnly && (this.agent.localID !== 0 && o.ParentID !== this.agent.localID)) { - if (this.agent.localID !== 0 && o.ParentID !== this.agent.localID) - { - // Drop object - this.deleteObject(localID); - return; - } - } - if (compressedflags & CompressedFlags.Tree) - { - o.TreeSpecies = buf.readUInt8(pos++); - } - else if (compressedflags & CompressedFlags.ScratchPad) - { - o.TreeSpecies = 0; - const scratchPadSize = buf.readUInt8(pos++); - // Ignore this data - pos = pos + scratchPadSize; - } - if (compressedflags & CompressedFlags.HasText) - { - // Read null terminated string - const result = Utils.BufferToString(buf, pos); - - pos += result.readLength; - o.Text = result.result; - o.TextColor = buf.slice(pos, pos + 4); - pos = pos + 4; + // Drop object + this.deleteObject(localID); + return; } else { - o.Text = ''; - } - if (compressedflags & CompressedFlags.MediaURL) - { - const result = Utils.BufferToString(buf, pos); + if (compressedflags & CompressedFlags.Tree) + { + o.TreeSpecies = buf.readUInt8(pos++); + } + else if (compressedflags & CompressedFlags.ScratchPad) + { + o.TreeSpecies = 0; + const scratchPadSize = buf.readUInt8(pos++); + // Ignore this data + pos = pos + scratchPadSize; + } + if (compressedflags & CompressedFlags.HasText) + { + // Read null terminated string + const result = Utils.BufferToString(buf, pos); - pos += result.readLength; - o.MediaURL = result.result; - } - if (compressedflags & CompressedFlags.HasParticles) - { - // TODO: Particle system block - pos += 86; - } + pos += result.readLength; + o.Text = result.result; + o.TextColor = buf.slice(pos, pos + 4); + pos = pos + 4; + } + else + { + o.Text = ''; + } + if (compressedflags & CompressedFlags.MediaURL) + { + const result = Utils.BufferToString(buf, pos); - // Extra params - pos = this.readExtraParams(buf, pos, o); + pos += result.readLength; + o.MediaURL = result.result; + } + if (compressedflags & CompressedFlags.HasParticles) + { + // TODO: Particle system block + pos += 86; + } - if (compressedflags & CompressedFlags.HasSound) - { - o.Sound = new UUID(buf, pos); - pos = pos + 16; - o.SoundGain = buf.readFloatLE(pos); - pos += 4; - o.SoundFlags = buf.readUInt8(pos++); - o.SoundRadius = buf.readFloatLE(pos); + // Extra params + pos = this.readExtraParams(buf, pos, o); + + if (compressedflags & CompressedFlags.HasSound) + { + o.Sound = new UUID(buf, pos); + pos = pos + 16; + o.SoundGain = buf.readFloatLE(pos); + pos += 4; + o.SoundFlags = buf.readUInt8(pos++); + o.SoundRadius = buf.readFloatLE(pos); + pos = pos + 4; + } + if (compressedflags & CompressedFlags.HasNameValues) + { + const result = Utils.BufferToString(buf, pos); + o.NameValue = this.parseNameValues(result.result); + pos += result.readLength; + } + o.PathCurve = buf.readUInt8(pos++); + o.PathBegin = buf.readUInt16LE(pos); + pos = pos + 2; + o.PathEnd = buf.readUInt16LE(pos); + pos = pos + 2; + o.PathScaleX = buf.readUInt8(pos++); + o.PathScaleY = buf.readUInt8(pos++); + o.PathShearX = buf.readUInt8(pos++); + o.PathShearY = buf.readUInt8(pos++); + o.PathTwist = buf.readUInt8(pos++); + o.PathTwistBegin = buf.readUInt8(pos++); + o.PathRadiusOffset = buf.readUInt8(pos++); + o.PathTaperX = buf.readUInt8(pos++); + o.PathTaperY = buf.readUInt8(pos++); + o.PathRevolutions = buf.readUInt8(pos++); + o.PathSkew = buf.readUInt8(pos++); + o.ProfileCurve = buf.readUInt8(pos++); + o.ProfileBegin = buf.readUInt16LE(pos); + pos = pos + 2; + o.ProfileEnd = buf.readUInt16LE(pos); + pos = pos + 2; + o.ProfileHollow = buf.readUInt16LE(pos); + pos = pos + 2; + const textureEntryLength = buf.readUInt32LE(pos); pos = pos + 4; + // TODO: Properly parse textureentry; + pos = pos + textureEntryLength; + + if (compressedflags & CompressedFlags.TextureAnimation) + { + // TODO: Properly parse textureAnim + pos = pos + 4; + } + + o.IsAttachment = (compressedflags & CompressedFlags.HasNameValues) !== 0 && o.ParentID !== 0; + + this.insertIntoRtree(o); } - if (compressedflags & CompressedFlags.HasNameValues) - { - const result = Utils.BufferToString(buf, pos); - o.NameValue = this.parseNameValues(result.result); - pos += result.readLength; - } - o.PathCurve = buf.readUInt8(pos++); - o.PathBegin = buf.readUInt16LE(pos); - pos = pos + 2; - o.PathEnd = buf.readUInt16LE(pos); - pos = pos + 2; - o.PathScaleX = buf.readUInt8(pos++); - o.PathScaleY = buf.readUInt8(pos++); - o.PathShearX = buf.readUInt8(pos++); - o.PathShearY = buf.readUInt8(pos++); - o.PathTwist = buf.readUInt8(pos++); - o.PathTwistBegin = buf.readUInt8(pos++); - o.PathRadiusOffset = buf.readUInt8(pos++); - o.PathTaperX = buf.readUInt8(pos++); - o.PathTaperY = buf.readUInt8(pos++); - o.PathRevolutions = buf.readUInt8(pos++); - o.PathSkew = buf.readUInt8(pos++); - o.ProfileCurve = buf.readUInt8(pos++); - o.ProfileBegin = buf.readUInt16LE(pos); - pos = pos + 2; - o.ProfileEnd = buf.readUInt16LE(pos); - pos = pos + 2; - o.ProfileHollow = buf.readUInt16LE(pos); - pos = pos + 2; - const textureEntryLength = buf.readUInt32LE(pos); - pos = pos + 4; - // TODO: Properly parse textureentry; - pos = pos + textureEntryLength; - - if (compressedflags & CompressedFlags.TextureAnimation) - { - // TODO: Properly parse textureAnim - pos = pos + 4; - } - - o.IsAttachment = (compressedflags & CompressedFlags.HasNameValues) !== 0 && o.ParentID !== 0; - - }); - + } break; } case Message.ImprovedTerseObjectUpdate: const objectUpdateTerse = packet.message as ImprovedTerseObjectUpdateMessage; - // TODO: ImprovedTerseObjectUPdate + // TODO: ImprovedTerseObjectUpdate break; case Message.MultipleObjectUpdate: const multipleObjectUpdate = packet.message as MultipleObjectUpdateMessage; @@ -399,16 +404,37 @@ export class ObjectStoreFull implements IObjectStore break; case Message.KillObject: const killObj = packet.message as KillObjectMessage; - killObj.ObjectData.forEach((obj) => + for (const obj of killObj.ObjectData) { const objectID = obj.ID; this.deleteObject(objectID); - }); + } break; } }); } + insertIntoRtree(obj: GameObjectFull) + { + if (obj.rtreeEntry !== undefined) + { + this.rtree.remove(obj.rtreeEntry); + } + const normalizedScale = obj.Scale.multiplyByQuat(obj.Rotation); + const bounds: ITreeBoundingBox = { + minX: obj.Position.x - (normalizedScale.x / 2), + maxX: obj.Position.x + (normalizedScale.x / 2), + minY: obj.Position.y - (normalizedScale.y / 2), + maxY: obj.Position.y + (normalizedScale.y / 2), + minZ: obj.Position.z - (normalizedScale.z / 2), + maxZ: obj.Position.z + (normalizedScale.z / 2), + gameObject: obj + }; + + obj.rtreeEntry = bounds; + this.rtree.insert(bounds); + } + deleteObject(objectID: number) { if (this.objects[objectID]) @@ -440,6 +466,10 @@ export class ObjectStoreFull implements IObjectStore this.objectsByParent[parentID].splice(ind, 1); } } + if (this.objects[objectID].rtreeEntry !== undefined) + { + this.rtree.remove(this.objects[objectID].rtreeEntry); + } delete this.objects[objectID]; } } @@ -518,7 +548,63 @@ export class ObjectStoreFull implements IObjectStore shutdown() { this.objects = {}; + this.rtree.clear(); this.objectsByUUID = {}; this.objectsByParent = {}; } + + private findParent(go: GameObjectFull): GameObjectFull + { + if (go.ParentID === 0) + { + return go; + } + else + { + return this.findParent(this.objects[go.ParentID]); + } + } + + getObjectsInArea(minX: number, maxX: number, minY: number, maxY: number, minZ: number, maxZ: number): GameObjectFull[] + { + const result = this.rtree.search({ + minX: minX, + maxX: maxX, + minY: minY, + maxY: maxY, + minZ: minZ, + maxZ: maxZ + }); + const found: {[key: string]: GameObjectFull} = {}; + const objs: GameObjectFull[] = []; + for (const obj of result) + { + const o = obj as ITreeBoundingBox; + const go = o.gameObject as GameObjectFull; + try + { + const parent = this.findParent(go); + const uuid = parent.FullID.toString(); + + if (parent !== go) + { + console.log('Resolved object ' + go.FullID.toString() + ' to parent ' + parent.FullID.toString() + ' which ' + ((found[uuid] === undefined) ? 'does not exist' : 'already exists')); + } + + + if (found[uuid] === undefined) + { + found[uuid] = parent; + objs.push(parent); + } + } + catch (error) + { + console.log('Failed to find parent for ' + go.FullID.toString()); + console.error(error); + // Unable to find parent, full object probably not fully loaded yet + } + } + return objs; + } } diff --git a/lib/classes/ObjectStoreLite.ts b/lib/classes/ObjectStoreLite.ts index 8b45296..39789cf 100644 --- a/lib/classes/ObjectStoreLite.ts +++ b/lib/classes/ObjectStoreLite.ts @@ -18,6 +18,8 @@ import {IObjectStore} from './interfaces/IObjectStore'; import {GameObjectLite} from './GameObjectLite'; import {NameValue} from './NameValue'; import {BotOptionFlags, CompressedFlags} from '..'; +import {IGameObject} from './interfaces/IGameObject'; +import {GameObjectFull} from './GameObjectFull'; export class ObjectStoreLite implements IObjectStore { @@ -165,7 +167,7 @@ export class ObjectStoreLite implements IObjectStore case Message.ObjectUpdateCompressed: { const objectUpdateCompressed = packet.message as ObjectUpdateCompressedMessage; - objectUpdateCompressed.ObjectData.forEach((obj) => + for (const obj of objectUpdateCompressed.ObjectData) { const flags = obj.UpdateFlags; const buf = obj.Data; @@ -313,8 +315,7 @@ export class ObjectStoreLite implements IObjectStore } o.IsAttachment = (compressedflags & CompressedFlags.HasNameValues) !== 0 && o.ParentID !== 0; - - }); + }; break; } @@ -451,4 +452,9 @@ export class ObjectStoreLite implements IObjectStore this.objectsByUUID = {}; this.objectsByParent = {}; } + + getObjectsInArea(minX: number, maxX: number, minY: number, maxY: number, minZ: number, maxZ: number): GameObjectFull[] + { + throw new Error('GetObjectsInArea not available with the Lite object store.'); + } } diff --git a/lib/classes/commands/CommunicationsCommands.ts b/lib/classes/commands/CommunicationsCommands.ts index 38ec218..de92e72 100644 --- a/lib/classes/commands/CommunicationsCommands.ts +++ b/lib/classes/commands/CommunicationsCommands.ts @@ -7,7 +7,8 @@ import {ChatFromViewerMessage} from '../messages/ChatFromViewer'; import {ChatType} from '../../enums/ChatType'; import {InstantMessageDialog} from '../../enums/InstantMessageDialog'; import Timer = NodeJS.Timer; -import {GroupChatSessionJoinEvent, PacketFlags} from '../..'; +import {GroupChatSessionJoinEvent, PacketFlags, ScriptDialogEvent} from '../..'; +import {ScriptDialogReplyMessage} from '../messages/ScriptDialogReply'; export class CommunicationsCommands extends CommandsBase { @@ -402,4 +403,21 @@ export class CommunicationsCommands extends CommandsBase }); }); } + + respondToScriptDialog(event: ScriptDialogEvent, buttonIndex: number): Promise + { + const dialog: ScriptDialogReplyMessage = new ScriptDialogReplyMessage(); + dialog.AgentData = { + AgentID: this.agent.agentID, + SessionID: this.circuit.sessionID + }; + dialog.Data = { + ObjectID: event.ObjectID, + ChatChannel: event.ChatChannel, + ButtonIndex: buttonIndex, + ButtonLabel: Utils.StringToBuffer(event.Buttons[buttonIndex]) + }; + const sequenceNo = this.circuit.sendMessage(dialog, PacketFlags.Reliable); + return this.circuit.waitForAck(sequenceNo, 10000); + } } diff --git a/lib/classes/commands/RegionCommands.ts b/lib/classes/commands/RegionCommands.ts index 65cfff1..e4a49b2 100644 --- a/lib/classes/commands/RegionCommands.ts +++ b/lib/classes/commands/RegionCommands.ts @@ -6,6 +6,7 @@ import {Message} from '../../enums/Message'; import {FilterResponse} from '../../enums/FilterResponse'; import {RegionIDAndHandleReplyMessage} from '../messages/RegionIDAndHandleReply'; import {PacketFlags} from '../..'; +import {IGameObject} from '../interfaces/IGameObject'; export class RegionCommands extends CommandsBase { @@ -35,4 +36,8 @@ export class RegionCommands extends CommandsBase }); }); } + getObjectsInArea(minX: number, maxX: number, minY: number, maxY: number, minZ: number, maxZ: number): IGameObject[] + { + return this.currentRegion.objects.getObjectsInArea(minX, maxX, minY, maxY, minZ, maxZ); + } } diff --git a/lib/classes/interfaces/IGameObject.ts b/lib/classes/interfaces/IGameObject.ts index c9e0a9f..8017608 100644 --- a/lib/classes/interfaces/IGameObject.ts +++ b/lib/classes/interfaces/IGameObject.ts @@ -1,5 +1,8 @@ +import {ITreeBoundingBox} from './ITreeBoundingBox'; + export interface IGameObject { + rtreeEntry?: ITreeBoundingBox; hasNameValueEntry(key: string): boolean; getNameValueEntry(key: string): string; } diff --git a/lib/classes/interfaces/IObjectStore.ts b/lib/classes/interfaces/IObjectStore.ts index 30e54c8..545d3de 100644 --- a/lib/classes/interfaces/IObjectStore.ts +++ b/lib/classes/interfaces/IObjectStore.ts @@ -1,7 +1,11 @@ import {IGameObject} from './IGameObject'; +import {RBush3D} from 'rbush-3d/dist'; +import {GameObjectFull} from '../GameObjectFull'; export interface IObjectStore { + rtree?: RBush3D; getObjectsByParent(parentID: number): IGameObject[]; shutdown(): void; + getObjectsInArea(minX: number, maxX: number, minY: number, maxY: number, minZ: number, maxZ: number): GameObjectFull[]; } diff --git a/lib/classes/interfaces/ITreeBoundingBox.ts b/lib/classes/interfaces/ITreeBoundingBox.ts new file mode 100644 index 0000000..1022e18 --- /dev/null +++ b/lib/classes/interfaces/ITreeBoundingBox.ts @@ -0,0 +1,7 @@ +import {BBox} from 'rbush-3d/dist'; +import {IGameObject} from './IGameObject'; + +export interface ITreeBoundingBox extends BBox +{ + gameObject: IGameObject; +} diff --git a/package-lock.json b/package-lock.json index 6417229..c19017a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@caspertech/node-metaverse", - "version": "0.4.6", + "version": "0.5.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -49,8 +49,7 @@ "@types/node": { "version": "10.11.6", "resolved": "https://registry.npmjs.org/@types/node/-/node-10.11.6.tgz", - "integrity": "sha512-fnA7yvqg3oKQDb3skBif9w5RRKVKAaeKeNuLzZL37XcSiWL4IoSXQnnbchR3UnBu2EMLHBip7ZVEkqoIVBP8QQ==", - "dev": true + "integrity": "sha512-fnA7yvqg3oKQDb3skBif9w5RRKVKAaeKeNuLzZL37XcSiWL4IoSXQnnbchR3UnBu2EMLHBip7ZVEkqoIVBP8QQ==" }, "@types/request": { "version": "2.47.1", @@ -64,6 +63,14 @@ "@types/tough-cookie": "*" } }, + "@types/tape": { + "version": "4.2.32", + "resolved": "http://registry.npmjs.org/@types/tape/-/tape-4.2.32.tgz", + "integrity": "sha512-xil0KO5wkPoixdBWGIGolPv9dekf6dVkjjJLAFYchfKcd4DICou67rgGCIO7wAh3i5Ff/6j9IDgZz+GU9cMaqQ==", + "requires": { + "@types/node": "*" + } + }, "@types/tough-cookie": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.3.tgz", @@ -724,6 +731,21 @@ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" }, + "quickselect": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-1.1.1.tgz", + "integrity": "sha512-qN0Gqdw4c4KGPsBOQafj6yj/PA6c/L63f6CaZ/DCF/xF4Esu3jVmKLUDYxghFx8Kb/O7y9tI7x2RjTSXwdK1iQ==" + }, + "rbush-3d": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/rbush-3d/-/rbush-3d-0.0.4.tgz", + "integrity": "sha512-s02wJ4Oawn3xdfIUN1hO+dhIcI3zL4vFs+yTlFn/U1jpHh3zaIcaOhLVL6SxyhB4vR/wad77HVJ9dG/ZyLZ6tQ==", + "requires": { + "@types/node": "^10.5.1", + "@types/tape": "^4.2.32", + "quickselect": "^1.0.0" + } + }, "request": { "version": "2.88.0", "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", diff --git a/package.json b/package.json index 57a7347..48a520c 100644 --- a/package.json +++ b/package.json @@ -42,6 +42,7 @@ "@caspertech/llsd": "^1.0.0", "ipaddr.js": "^1.8.1", "long": "^4.0.0", + "rbush-3d": "0.0.4", "request": "^2.88.0", "rxjs": "^6.3.3", "uuid": "^3.3.2",