diff --git a/dist/Bot.d.ts b/dist/Bot.d.ts index 247409a..cd4086f 100644 --- a/dist/Bot.d.ts +++ b/dist/Bot.d.ts @@ -2,6 +2,7 @@ import { LoginParameters } from './classes/LoginParameters'; import { Region } from './classes/Region'; import { ClientEvents } from './classes/ClientEvents'; import { ClientCommands } from './classes/ClientCommands'; +import { BotOptionFlags } from './enums/BotOptionFlags'; export declare class Bot { private loginParams; private currentRegion; @@ -10,9 +11,10 @@ export declare class Bot { private pingNumber; private lastSuccessfulPing; private circuitSubscription; + private options; clientEvents: ClientEvents; clientCommands: ClientCommands; - constructor(login: LoginParameters); + constructor(login: LoginParameters, options: BotOptionFlags); login(): Promise<{}>; changeRegion(region: Region): Promise<{}>; close(): Promise<{}>; diff --git a/dist/Bot.js b/dist/Bot.js index b3e0de9..64c3f0e 100644 --- a/dist/Bot.js +++ b/dist/Bot.js @@ -17,17 +17,18 @@ const ClientCommands_1 = require("./classes/ClientCommands"); const DisconnectEvent_1 = require("./events/DisconnectEvent"); const StartPingCheck_1 = require("./classes/messages/StartPingCheck"); class Bot { - constructor(login) { + constructor(login, options) { this.ping = null; this.pingNumber = 0; this.lastSuccessfulPing = 0; this.circuitSubscription = null; this.clientEvents = new ClientEvents_1.ClientEvents(); this.loginParams = login; + this.options = options; } login() { return new Promise((resolve, reject) => { - const loginHandler = new LoginHandler_1.LoginHandler(this.clientEvents); + const loginHandler = new LoginHandler_1.LoginHandler(this.clientEvents, this.options); loginHandler.Login(this.loginParams).then((response) => { this.currentRegion = response.region; this.agent = response.agent; diff --git a/dist/Bot.js.map b/dist/Bot.js.map index 24b69fa..515e0dc 100644 --- a/dist/Bot.js.map +++ b/dist/Bot.js.map @@ -1 +1 @@ -{"version":3,"file":"Bot.js","sourceRoot":"","sources":["../lib/Bot.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Bot.js","sourceRoot":"","sources":["../lib/Bot.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/LoginHandler.d.ts b/dist/LoginHandler.d.ts index 74c3925..d7eb45b 100644 --- a/dist/LoginHandler.d.ts +++ b/dist/LoginHandler.d.ts @@ -1,9 +1,11 @@ import { LoginParameters } from './classes/LoginParameters'; import { LoginResponse } from './classes/LoginResponse'; import { ClientEvents } from './classes/ClientEvents'; +import { BotOptionFlags } from './enums/BotOptionFlags'; export declare class LoginHandler { private clientEvents; + private options; static GenerateMAC(): string; - constructor(ce: ClientEvents); + constructor(ce: ClientEvents, options: BotOptionFlags); Login(params: LoginParameters): Promise; } diff --git a/dist/LoginHandler.js b/dist/LoginHandler.js index 8708af7..fde5bc1 100644 --- a/dist/LoginHandler.js +++ b/dist/LoginHandler.js @@ -17,8 +17,9 @@ class LoginHandler { } return macAddress; } - constructor(ce) { + constructor(ce, options) { this.clientEvents = ce; + this.options = options; } Login(params) { return new Promise((resolve, reject) => { @@ -69,7 +70,7 @@ class LoginHandler { reject(new Error(value['message'])); } else { - const response = new LoginResponse_1.LoginResponse(value, this.clientEvents); + const response = new LoginResponse_1.LoginResponse(value, this.clientEvents, this.options); resolve(response); } } diff --git a/dist/LoginHandler.js.map b/dist/LoginHandler.js.map index c1a9159..f5da423 100644 --- a/dist/LoginHandler.js.map +++ b/dist/LoginHandler.js.map @@ -1 +1 @@ -{"version":3,"file":"LoginHandler.js","sourceRoot":"","sources":["../lib/LoginHandler.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"LoginHandler.js","sourceRoot":"","sources":["../lib/LoginHandler.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/classes/Agent.js b/dist/classes/Agent.js index a0b27b6..b67a393 100644 --- a/dist/classes/Agent.js +++ b/dist/classes/Agent.js @@ -136,8 +136,8 @@ class Agent { if (item.type === 6) { let found = false; wornObjects.forEach((obj) => { - if (obj.NameValue['AttachItemID']) { - if (item['item_id'].toString() === obj.NameValue['AttachItemID'].value) { + if (obj.hasNameValueEntry('AttachItemID')) { + if (item['item_id'].toString() === obj.getNameValueEntry('AttachItemID')) { found = true; } } diff --git a/dist/classes/Agent.js.map b/dist/classes/Agent.js.map index 0f87637..5273133 100644 --- a/dist/classes/Agent.js.map +++ b/dist/classes/Agent.js.map @@ -1 +1 @@ -{"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../lib/classes/Agent.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../lib/classes/Agent.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/classes/GameObject.d.ts b/dist/classes/GameObject.d.ts new file mode 100644 index 0000000..5b0a2e8 --- /dev/null +++ b/dist/classes/GameObject.d.ts @@ -0,0 +1,64 @@ +/// +import { Vector3 } from './Vector3'; +import { UUID } from './UUID'; +import { PCode } from '../enums/PCode'; +import { Quaternion } from './Quaternion'; +import { Tree } from '../enums/Tree'; +import { SoundFlags } from '../enums/SoundFlags'; +import { NameValue } from './NameValue'; +export declare class GameObject { + ID: number; + State: number; + FullID: UUID; + CRC: number; + PCode: PCode; + Material: number; + ClickAction: number; + Scale: Vector3; + ObjectData: Buffer; + ParentID: number; + UpdateFlags: number; + Flags: number; + PathCurve: number; + ProfileCurve: number; + PathBegin: number; + PathEnd: number; + PathScaleX: number; + PathScaleY: number; + PathShearX: number; + PathShearY: number; + PathTwist: number; + PathTwistBegin: number; + PathRadiusOffset: number; + PathTaperX: number; + PathTaperY: number; + PathRevolutions: number; + PathSkew: number; + ProfileBegin: number; + ProfileEnd: number; + ProfileHollow: number; + TextureEntry: Buffer; + TextureAnim: Buffer; + Data: Buffer; + Text: string; + TextColor: Buffer; + MediaURL: string; + PSBlock: Buffer; + OwnerID: UUID; + JointType: number; + JointPivot: Vector3; + JointAxisOrAnchor: Vector3; + Position: Vector3; + Rotation: Quaternion; + AngularVelocity: Vector3; + TreeSpecies: Tree; + Sound: UUID; + SoundGain: number; + SoundFlags: SoundFlags; + SoundRadius: number; + IsAttachment: boolean; + NameValue: { + [key: string]: NameValue; + }; + constructor(); +} diff --git a/dist/classes/GameObject.js b/dist/classes/GameObject.js new file mode 100644 index 0000000..1dcfa71 --- /dev/null +++ b/dist/classes/GameObject.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const Vector3_1 = require("./Vector3"); +const Quaternion_1 = require("./Quaternion"); +class GameObject { + constructor() { + this.Position = Vector3_1.Vector3.getZero(); + this.Rotation = Quaternion_1.Quaternion.getIdentity(); + this.IsAttachment = false; + this.NameValue = {}; + this.AngularVelocity = Vector3_1.Vector3.getZero(); + this.TreeSpecies = 0; + this.SoundFlags = 0; + this.SoundRadius = 1.0; + this.SoundGain = 1.0; + } +} +exports.GameObject = GameObject; +//# sourceMappingURL=GameObject.js.map \ No newline at end of file diff --git a/dist/classes/GameObject.js.map b/dist/classes/GameObject.js.map new file mode 100644 index 0000000..1c85045 --- /dev/null +++ b/dist/classes/GameObject.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GameObject.js","sourceRoot":"","sources":["../../lib/classes/GameObject.ts"],"names":[],"mappings":";;AAAA,uCAAkC;AAGlC,6CAAwC;AAKxC;IAqDI;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;CACJ;AAjED,gCAiEC"} \ No newline at end of file diff --git a/dist/classes/GameObjectFull.d.ts b/dist/classes/GameObjectFull.d.ts new file mode 100644 index 0000000..d87a87e --- /dev/null +++ b/dist/classes/GameObjectFull.d.ts @@ -0,0 +1,67 @@ +/// +import { Vector3 } from './Vector3'; +import { UUID } from './UUID'; +import { PCode } from '../enums/PCode'; +import { Quaternion } from './Quaternion'; +import { Tree } from '../enums/Tree'; +import { SoundFlags } from '../enums/SoundFlags'; +import { NameValue } from './NameValue'; +import { IGameObject } from './interfaces/IGameObject'; +export declare class GameObjectFull implements IGameObject { + ID: number; + State: number; + FullID: UUID; + CRC: number; + PCode: PCode; + Material: number; + ClickAction: number; + Scale: Vector3; + ObjectData: Buffer; + ParentID: number; + UpdateFlags: number; + Flags: number; + PathCurve: number; + ProfileCurve: number; + PathBegin: number; + PathEnd: number; + PathScaleX: number; + PathScaleY: number; + PathShearX: number; + PathShearY: number; + PathTwist: number; + PathTwistBegin: number; + PathRadiusOffset: number; + PathTaperX: number; + PathTaperY: number; + PathRevolutions: number; + PathSkew: number; + ProfileBegin: number; + ProfileEnd: number; + ProfileHollow: number; + TextureEntry: Buffer; + TextureAnim: Buffer; + Data: Buffer; + Text: string; + TextColor: Buffer; + MediaURL: string; + PSBlock: Buffer; + OwnerID: UUID; + JointType: number; + JointPivot: Vector3; + JointAxisOrAnchor: Vector3; + Position: Vector3; + Rotation: Quaternion; + AngularVelocity: Vector3; + TreeSpecies: Tree; + Sound: UUID; + SoundGain: number; + SoundFlags: SoundFlags; + SoundRadius: number; + IsAttachment: boolean; + NameValue: { + [key: string]: NameValue; + }; + constructor(); + hasNameValueEntry(key: string): boolean; + getNameValueEntry(key: string): string; +} diff --git a/dist/classes/GameObjectFull.js b/dist/classes/GameObjectFull.js new file mode 100644 index 0000000..a4ded59 --- /dev/null +++ b/dist/classes/GameObjectFull.js @@ -0,0 +1,31 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const Vector3_1 = require("./Vector3"); +const Quaternion_1 = require("./Quaternion"); +class GameObjectFull { + constructor() { + this.Position = Vector3_1.Vector3.getZero(); + this.Rotation = Quaternion_1.Quaternion.getIdentity(); + this.IsAttachment = false; + this.NameValue = {}; + this.AngularVelocity = Vector3_1.Vector3.getZero(); + this.TreeSpecies = 0; + this.SoundFlags = 0; + this.SoundRadius = 1.0; + this.SoundGain = 1.0; + } + hasNameValueEntry(key) { + if (this.NameValue['AttachItemID']) { + return true; + } + return false; + } + getNameValueEntry(key) { + if (this.NameValue['AttachItemID']) { + return this.NameValue['AttachItemID'].value; + } + return ''; + } +} +exports.GameObjectFull = GameObjectFull; +//# sourceMappingURL=GameObjectFull.js.map \ No newline at end of file diff --git a/dist/classes/GameObjectFull.js.map b/dist/classes/GameObjectFull.js.map new file mode 100644 index 0000000..021d787 --- /dev/null +++ b/dist/classes/GameObjectFull.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GameObjectFull.js","sourceRoot":"","sources":["../../lib/classes/GameObjectFull.ts"],"names":[],"mappings":";;AAAA,uCAAkC;AAGlC,6CAAwC;AAMxC;IAqDI;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,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CACnC,CAAC;YACG,MAAM,CAAC,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,CAAC,KAAK,CAAC;IACjB,CAAC;IAED,iBAAiB,CAAC,GAAW;QAEzB,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CACnC,CAAC;YACG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC;QAChD,CAAC;QACD,MAAM,CAAC,EAAE,CAAC;IACd,CAAC;CACJ;AAnFD,wCAmFC"} \ No newline at end of file diff --git a/dist/classes/GameObjectLite.d.ts b/dist/classes/GameObjectLite.d.ts new file mode 100644 index 0000000..9da6215 --- /dev/null +++ b/dist/classes/GameObjectLite.d.ts @@ -0,0 +1,16 @@ +import { UUID } from './UUID'; +import { IGameObject } from './interfaces/IGameObject'; +import { NameValue } from './NameValue'; +export declare class GameObjectLite implements IGameObject { + ID: number; + FullID: UUID; + ParentID: number; + OwnerID: UUID; + IsAttachment: boolean; + NameValue: { + [key: string]: NameValue; + }; + constructor(); + hasNameValueEntry(key: string): boolean; + getNameValueEntry(key: string): string; +} diff --git a/dist/classes/GameObjectLite.js b/dist/classes/GameObjectLite.js new file mode 100644 index 0000000..a4b069b --- /dev/null +++ b/dist/classes/GameObjectLite.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class GameObjectLite { + constructor() { + this.IsAttachment = false; + } + hasNameValueEntry(key) { + if (this.NameValue['AttachItemID']) { + return true; + } + return false; + } + getNameValueEntry(key) { + if (this.NameValue['AttachItemID']) { + return this.NameValue['AttachItemID'].value; + } + return ''; + } +} +exports.GameObjectLite = GameObjectLite; +//# sourceMappingURL=GameObjectLite.js.map \ No newline at end of file diff --git a/dist/classes/GameObjectLite.js.map b/dist/classes/GameObjectLite.js.map new file mode 100644 index 0000000..a8677d8 --- /dev/null +++ b/dist/classes/GameObjectLite.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GameObjectLite.js","sourceRoot":"","sources":["../../lib/classes/GameObjectLite.ts"],"names":[],"mappings":";;AAIA;IAQI;QAEI,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,iBAAiB,CAAC,GAAW;QAEzB,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CACnC,CAAC;YACG,MAAM,CAAC,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,CAAC,KAAK,CAAC;IACjB,CAAC;IAED,iBAAiB,CAAC,GAAW;QAEzB,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CACnC,CAAC;YACG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC;QAChD,CAAC;QACD,MAAM,CAAC,EAAE,CAAC;IACd,CAAC;CACJ;AA9BD,wCA8BC"} \ No newline at end of file diff --git a/dist/classes/LoginResponse.d.ts b/dist/classes/LoginResponse.d.ts index 999eacd..6ba5591 100644 --- a/dist/classes/LoginResponse.d.ts +++ b/dist/classes/LoginResponse.d.ts @@ -3,6 +3,7 @@ import { Agent } from './Agent'; import { Region } from './Region'; import { LoginFlags } from '../enums/LoginFlags'; import { ClientEvents } from './ClientEvents'; +import { BotOptionFlags } from '../enums/BotOptionFlags'; export declare class LoginResponse { loginFlags: LoginFlags; loginMessage: string; @@ -30,5 +31,5 @@ export declare class LoginResponse { private static toRegionHandle(x_global, y_global); private static parseVector3(str); private static parseHome(str); - constructor(json: any, ce: ClientEvents); + constructor(json: any, clientEvents: ClientEvents, options: BotOptionFlags); } diff --git a/dist/classes/LoginResponse.js b/dist/classes/LoginResponse.js index c2c506e..77b0fbd 100644 --- a/dist/classes/LoginResponse.js +++ b/dist/classes/LoginResponse.js @@ -7,7 +7,7 @@ const LoginFlags_1 = require("../enums/LoginFlags"); const Vector3_1 = require("./Vector3"); const Long = require("long"); class LoginResponse { - constructor(json, ce) { + constructor(json, clientEvents, options) { this.events = { categories: [] }; @@ -15,9 +15,9 @@ class LoginResponse { categories: [] }; this.textures = {}; - this.clientEvents = ce; + this.clientEvents = clientEvents; this.agent = new Agent_1.Agent(this.clientEvents); - this.region = new Region_1.Region(this.agent, this.clientEvents); + this.region = new Region_1.Region(this.agent, this.clientEvents, options); Object.keys(json).forEach((key) => { const val = json[key]; switch (key) { diff --git a/dist/classes/LoginResponse.js.map b/dist/classes/LoginResponse.js.map index 9bf1922..8f1a904 100644 --- a/dist/classes/LoginResponse.js.map +++ b/dist/classes/LoginResponse.js.map @@ -1 +1 @@ -{"version":3,"file":"LoginResponse.js","sourceRoot":"","sources":["../../lib/classes/LoginResponse.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"LoginResponse.js","sourceRoot":"","sources":["../../lib/classes/LoginResponse.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/classes/ObjectStoreFull.d.ts b/dist/classes/ObjectStoreFull.d.ts new file mode 100644 index 0000000..06edd94 --- /dev/null +++ b/dist/classes/ObjectStoreFull.d.ts @@ -0,0 +1,24 @@ +/// +import { Circuit } from './Circuit'; +import { Agent } from './Agent'; +import { NameValue } from './NameValue'; +import { ClientEvents } from './ClientEvents'; +import { IObjectStore } from './interfaces/IObjectStore'; +import { GameObjectFull } from './GameObjectFull'; +import { IGameObject } from './interfaces/IGameObject'; +export declare class ObjectStoreFull implements IObjectStore { + private circuit; + private agent; + private objects; + private objectsByUUID; + private objectsByParent; + private clientEvents; + constructor(circuit: Circuit, agent: Agent, clientEvents: ClientEvents); + deleteObject(objectID: number): void; + readExtraParams(buf: Buffer, pos: number, o: GameObjectFull): number; + getObjectsByParent(parentID: number): IGameObject[]; + parseNameValues(str: string): { + [key: string]: NameValue; + }; + shutdown(): void; +} diff --git a/dist/classes/ObjectStoreFull.js b/dist/classes/ObjectStoreFull.js new file mode 100644 index 0000000..3aa7b1f --- /dev/null +++ b/dist/classes/ObjectStoreFull.js @@ -0,0 +1,364 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const Message_1 = require("../enums/Message"); +const RequestMultipleObjects_1 = require("./messages/RequestMultipleObjects"); +const UUID_1 = require("./UUID"); +const Quaternion_1 = require("./Quaternion"); +const Vector3_1 = require("./Vector3"); +const CompressedFlags_1 = require("../enums/CompressedFlags"); +const Utils_1 = require("./Utils"); +const PCode_1 = require("../enums/PCode"); +const NameValue_1 = require("./NameValue"); +const GameObjectFull_1 = require("./GameObjectFull"); +class ObjectStoreFull { + constructor(circuit, agent, clientEvents) { + this.objects = {}; + this.objectsByUUID = {}; + this.objectsByParent = {}; + this.clientEvents = clientEvents; + this.circuit = circuit; + this.agent = agent; + this.circuit.subscribeToMessages([ + Message_1.Message.ObjectUpdate, + Message_1.Message.ObjectUpdateCached, + Message_1.Message.ObjectUpdateCompressed, + Message_1.Message.ImprovedTerseObjectUpdate, + Message_1.Message.MultipleObjectUpdate, + Message_1.Message.KillObject + ], (packet) => { + switch (packet.message.id) { + case Message_1.Message.ObjectUpdate: + const objectUpdate = packet.message; + objectUpdate.ObjectData.forEach((objData) => { + const localID = objData.ID; + const parentID = objData.ParentID; + let addToParentList = true; + if (this.objects[localID]) { + if (this.objects[localID].ParentID !== parentID && this.objectsByParent[parentID]) { + const ind = this.objectsByParent[parentID].indexOf(localID); + if (ind !== -1) { + this.objectsByParent[parentID].splice(ind, 1); + } + } + else { + addToParentList = false; + } + } + else { + this.objects[localID] = new GameObjectFull_1.GameObjectFull(); + } + const obj = this.objects[localID]; + obj.ID = objData.ID; + obj.State = objData.State; + obj.FullID = objData.FullID; + obj.CRC = objData.CRC; + obj.PCode = objData.PCode; + obj.Material = objData.Material; + obj.ClickAction = objData.ClickAction; + obj.Scale = objData.Scale; + obj.ObjectData = objData.ObjectData; + obj.ParentID = objData.ParentID; + obj.Flags = objData.UpdateFlags; + obj.PathCurve = objData.PathCurve; + obj.ProfileCurve = objData.ProfileCurve; + obj.PathBegin = objData.PathBegin; + obj.PathEnd = objData.PathEnd; + obj.PathScaleX = objData.PathScaleX; + obj.PathScaleY = objData.PathScaleY; + obj.PathShearX = objData.PathShearX; + obj.PathShearY = objData.PathShearY; + obj.PathTwist = objData.PathTwist; + obj.PathTwistBegin = objData.PathTwistBegin; + obj.PathRadiusOffset = objData.PathRadiusOffset; + obj.PathTaperX = objData.PathTaperX; + obj.PathTaperY = objData.PathTaperY; + obj.PathRevolutions = objData.PathRevolutions; + obj.PathSkew = objData.PathSkew; + obj.ProfileBegin = objData.ProfileBegin; + obj.ProfileEnd = objData.ProfileEnd; + obj.ProfileHollow = objData.ProfileHollow; + obj.TextureEntry = objData.TextureEntry; + obj.TextureAnim = objData.TextureAnim; + obj.Data = objData.Data; + obj.Text = Utils_1.Utils.BufferToStringSimple(objData.Text); + obj.TextColor = objData.TextColor; + obj.MediaURL = Utils_1.Utils.BufferToStringSimple(objData.MediaURL); + obj.PSBlock = objData.PSBlock; + obj.Sound = objData.Sound; + obj.OwnerID = objData.OwnerID; + obj.SoundGain = objData.Gain; + obj.SoundFlags = objData.Flags; + obj.SoundRadius = objData.Radius; + obj.JointType = objData.JointType; + obj.JointPivot = objData.JointPivot; + obj.JointAxisOrAnchor = objData.JointAxisOrAnchor; + if (this.objects[localID].PCode === PCode_1.PCode.Avatar && this.objects[localID].FullID.toString() === this.agent.agentID.toString()) { + this.agent.localID = localID; + } + this.readExtraParams(objData.ExtraParams, 0, this.objects[localID]); + this.objects[localID].NameValue = this.parseNameValues(Utils_1.Utils.BufferToStringSimple(objData.NameValue)); + this.objectsByUUID[objData.FullID.toString()] = localID; + if (!this.objectsByParent[parentID]) { + this.objectsByParent[parentID] = []; + } + if (addToParentList) { + this.objectsByParent[parentID].push(localID); + } + }); + break; + case Message_1.Message.ObjectUpdateCached: + const objectUpdateCached = packet.message; + const rmo = new RequestMultipleObjects_1.RequestMultipleObjectsMessage(); + rmo.AgentData = { + AgentID: this.agent.agentID, + SessionID: this.circuit.sessionID + }; + rmo.ObjectData = []; + objectUpdateCached.ObjectData.forEach((obj) => { + rmo.ObjectData.push({ + CacheMissType: 0, + ID: obj.ID + }); + }); + circuit.sendMessage(rmo, 0); + break; + case Message_1.Message.ObjectUpdateCompressed: + { + const objectUpdateCompressed = packet.message; + objectUpdateCompressed.ObjectData.forEach((obj) => { + const flags = obj.UpdateFlags; + const buf = obj.Data; + let pos = 0; + const fullID = new UUID_1.UUID(buf, pos); + pos += 16; + const localID = buf.readUInt32LE(pos); + pos += 4; + const pcode = buf.readUInt8(pos++); + let newObj = false; + if (!this.objects[localID]) { + newObj = true; + this.objects[localID] = new GameObjectFull_1.GameObjectFull(); + } + const o = this.objects[localID]; + o.ID = localID; + this.objectsByUUID[fullID.toString()] = localID; + o.FullID = fullID; + o.Flags = flags; + o.PCode = pcode; + o.State = buf.readUInt8(pos++); + o.CRC = buf.readUInt32LE(pos); + pos = pos + 4; + o.Material = buf.readUInt8(pos++); + o.ClickAction = buf.readUInt8(pos++); + o.Scale = new Vector3_1.Vector3(buf, pos, false); + pos = pos + 12; + o.Position = new Vector3_1.Vector3(buf, pos, false); + pos = pos + 12; + o.Rotation = new Quaternion_1.Quaternion(buf, pos); + pos = pos + 12; + const compressedflags = buf.readUInt32LE(pos); + pos = pos + 4; + o.OwnerID = new UUID_1.UUID(buf, pos); + pos += 16; + if (compressedflags & CompressedFlags_1.CompressedFlags.HasAngularVelocity) { + o.AngularVelocity = new Vector3_1.Vector3(buf, pos, false); + pos = pos + 12; + } + if (compressedflags & CompressedFlags_1.CompressedFlags.HasParent) { + const newParentID = buf.readUInt32LE(pos); + pos += 4; + let add = true; + if (!newObj) { + if (newParentID !== o.ParentID) { + const index = this.objectsByParent[o.ParentID].indexOf(localID); + if (index !== -1) { + this.objectsByParent[o.ParentID].splice(index, 1); + } + } + else { + add = false; + } + } + if (add) { + if (!this.objectsByParent[newParentID]) { + this.objectsByParent[newParentID] = []; + } + this.objectsByParent[newParentID].push(localID); + } + o.ParentID = newParentID; + } + if (compressedflags & CompressedFlags_1.CompressedFlags.Tree) { + o.TreeSpecies = buf.readUInt8(pos++); + } + else if (compressedflags & CompressedFlags_1.CompressedFlags.ScratchPad) { + o.TreeSpecies = 0; + const scratchPadSize = buf.readUInt8(pos++); + pos = pos + scratchPadSize; + } + if (compressedflags & 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 & CompressedFlags_1.CompressedFlags.MediaURL) { + const result = Utils_1.Utils.BufferToString(buf, pos); + pos += result.readLength; + o.MediaURL = result.result; + } + if (compressedflags & CompressedFlags_1.CompressedFlags.HasParticles) { + pos += 86; + } + pos = this.readExtraParams(buf, pos, o); + if (compressedflags & 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 & 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 & CompressedFlags_1.CompressedFlags.TextureAnimation) { + pos = pos + 4; + } + o.IsAttachment = (compressedflags & CompressedFlags_1.CompressedFlags.HasNameValues) !== 0 && o.ParentID !== 0; + }); + break; + } + case Message_1.Message.ImprovedTerseObjectUpdate: + const objectUpdateTerse = packet.message; + break; + case Message_1.Message.MultipleObjectUpdate: + const multipleObjectUpdate = packet.message; + console.error('TODO: MultipleObjectUpdate'); + break; + case Message_1.Message.KillObject: + const killObj = packet.message; + killObj.ObjectData.forEach((obj) => { + const objectID = obj.ID; + this.deleteObject(objectID); + }); + break; + } + }); + } + deleteObject(objectID) { + if (this.objects[objectID]) { + if (this.objectsByParent[objectID]) { + this.objectsByParent[objectID].forEach((childObjID) => { + this.deleteObject(childObjID); + }); + } + delete this.objectsByParent[objectID]; + const objct = this.objects[objectID]; + const uuid = objct.FullID.toString(); + if (this.objectsByUUID[uuid]) { + delete this.objectsByUUID[uuid]; + } + const parentID = objct.ParentID; + if (this.objectsByParent[parentID]) { + const ind = this.objectsByParent[parentID].indexOf(objectID); + if (ind !== -1) { + this.objectsByParent[parentID].splice(ind, 1); + } + } + delete this.objects[objectID]; + } + } + readExtraParams(buf, pos, o) { + if (pos >= buf.length) { + return 0; + } + const extraParamCount = buf.readUInt8(pos++); + for (let k = 0; k < extraParamCount; k++) { + const type = buf.readUInt16LE(pos); + pos = pos + 2; + const paramLength = buf.readUInt32LE(pos); + pos = pos + 4; + pos += paramLength; + } + return pos; + } + getObjectsByParent(parentID) { + const list = this.objectsByParent[parentID]; + if (list === undefined) { + return []; + } + const result = []; + list.forEach((localID) => { + result.push(this.objects[localID]); + }); + return result; + } + parseNameValues(str) { + const nv = {}; + const lines = str.split('\n'); + lines.forEach((line) => { + if (line.length > 0) { + let kv = line.split(/[\t ]/); + if (kv.length > 5) { + for (let x = 5; x < kv.length; x++) { + kv[4] += ' ' + kv[x]; + } + kv = kv.slice(0, 5); + } + if (kv.length === 5) { + const namevalue = new NameValue_1.NameValue(); + namevalue.type = kv[1]; + namevalue.class = kv[2]; + namevalue.sendTo = kv[3]; + namevalue.value = kv[4]; + nv[kv[0]] = namevalue; + } + else { + console.log('namevalue unexpected length: ' + kv.length); + console.log(kv); + } + } + }); + return nv; + } + shutdown() { + this.objects = {}; + this.objectsByUUID = {}; + this.objectsByParent = {}; + } +} +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 new file mode 100644 index 0000000..bb2f2db --- /dev/null +++ b/dist/classes/ObjectStoreFull.js.map @@ -0,0 +1 @@ +{"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 new file mode 100644 index 0000000..469458d --- /dev/null +++ b/dist/classes/ObjectStoreLite.d.ts @@ -0,0 +1,23 @@ +/// +import { Circuit } from './Circuit'; +import { Agent } from './Agent'; +import { ClientEvents } from './ClientEvents'; +import { IObjectStore } from './interfaces/IObjectStore'; +import { GameObjectLite } from './GameObjectLite'; +import { NameValue } from './NameValue'; +export declare class ObjectStoreLite implements IObjectStore { + private circuit; + private agent; + private objects; + private objectsByUUID; + private objectsByParent; + private clientEvents; + constructor(circuit: Circuit, agent: Agent, clientEvents: ClientEvents); + deleteObject(objectID: number): void; + readExtraParams(buf: Buffer, pos: number, o: GameObjectLite): number; + getObjectsByParent(parentID: number): GameObjectLite[]; + parseNameValues(str: string): { + [key: string]: NameValue; + }; + shutdown(): void; +} diff --git a/dist/classes/ObjectStoreLite.js b/dist/classes/ObjectStoreLite.js new file mode 100644 index 0000000..14c4ed6 --- /dev/null +++ b/dist/classes/ObjectStoreLite.js @@ -0,0 +1,288 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const Message_1 = require("../enums/Message"); +const RequestMultipleObjects_1 = require("./messages/RequestMultipleObjects"); +const UUID_1 = require("./UUID"); +const CompressedFlags_1 = require("../enums/CompressedFlags"); +const Utils_1 = require("./Utils"); +const PCode_1 = require("../enums/PCode"); +const GameObjectLite_1 = require("./GameObjectLite"); +const NameValue_1 = require("./NameValue"); +class ObjectStoreLite { + constructor(circuit, agent, clientEvents) { + this.objects = {}; + this.objectsByUUID = {}; + this.objectsByParent = {}; + this.clientEvents = clientEvents; + this.circuit = circuit; + this.agent = agent; + this.circuit.subscribeToMessages([ + Message_1.Message.ObjectUpdate, + Message_1.Message.ObjectUpdateCached, + Message_1.Message.ObjectUpdateCompressed, + Message_1.Message.ImprovedTerseObjectUpdate, + Message_1.Message.MultipleObjectUpdate, + Message_1.Message.KillObject + ], (packet) => { + switch (packet.message.id) { + case Message_1.Message.ObjectUpdate: + const objectUpdate = packet.message; + objectUpdate.ObjectData.forEach((objData) => { + const localID = objData.ID; + const parentID = objData.ParentID; + let addToParentList = true; + if (this.objects[localID]) { + if (this.objects[localID].ParentID !== parentID && this.objectsByParent[parentID]) { + const ind = this.objectsByParent[parentID].indexOf(localID); + if (ind !== -1) { + this.objectsByParent[parentID].splice(ind, 1); + } + } + else { + addToParentList = false; + } + } + else { + this.objects[localID] = new GameObjectLite_1.GameObjectLite(); + } + const obj = this.objects[localID]; + obj.ID = objData.ID; + obj.FullID = objData.FullID; + obj.ParentID = objData.ParentID; + obj.OwnerID = objData.OwnerID; + this.objects[localID].NameValue = this.parseNameValues(Utils_1.Utils.BufferToStringSimple(objData.NameValue)); + if (objData.PCode === PCode_1.PCode.Avatar && this.objects[localID].FullID.toString() === this.agent.agentID.toString()) { + this.agent.localID = localID; + } + this.objectsByUUID[objData.FullID.toString()] = localID; + if (!this.objectsByParent[parentID]) { + this.objectsByParent[parentID] = []; + } + if (addToParentList) { + this.objectsByParent[parentID].push(localID); + } + }); + break; + case Message_1.Message.ObjectUpdateCached: + const objectUpdateCached = packet.message; + const rmo = new RequestMultipleObjects_1.RequestMultipleObjectsMessage(); + rmo.AgentData = { + AgentID: this.agent.agentID, + SessionID: this.circuit.sessionID + }; + rmo.ObjectData = []; + objectUpdateCached.ObjectData.forEach((obj) => { + rmo.ObjectData.push({ + CacheMissType: 0, + ID: obj.ID + }); + }); + circuit.sendMessage(rmo, 0); + break; + case Message_1.Message.ObjectUpdateCompressed: + { + const objectUpdateCompressed = packet.message; + objectUpdateCompressed.ObjectData.forEach((obj) => { + const flags = obj.UpdateFlags; + const buf = obj.Data; + let pos = 0; + const fullID = new UUID_1.UUID(buf, pos); + pos += 16; + const localID = buf.readUInt32LE(pos); + pos += 4; + const pcode = buf.readUInt8(pos++); + let newObj = false; + if (!this.objects[localID]) { + newObj = true; + this.objects[localID] = new GameObjectLite_1.GameObjectLite(); + } + const o = this.objects[localID]; + o.ID = localID; + this.objectsByUUID[fullID.toString()] = localID; + o.FullID = fullID; + pos++; + pos = pos + 4; + pos++; + pos++; + pos = pos + 12; + pos = pos + 12; + pos = pos + 12; + const compressedflags = buf.readUInt32LE(pos); + pos = pos + 4; + o.OwnerID = new UUID_1.UUID(buf, pos); + pos += 16; + if (compressedflags & CompressedFlags_1.CompressedFlags.HasAngularVelocity) { + pos = pos + 12; + } + if (compressedflags & CompressedFlags_1.CompressedFlags.HasParent) { + const newParentID = buf.readUInt32LE(pos); + pos += 4; + let add = true; + if (!newObj) { + if (newParentID !== o.ParentID) { + const index = this.objectsByParent[o.ParentID].indexOf(localID); + if (index !== -1) { + this.objectsByParent[o.ParentID].splice(index, 1); + } + } + else { + add = false; + } + } + if (add) { + if (!this.objectsByParent[newParentID]) { + this.objectsByParent[newParentID] = []; + } + this.objectsByParent[newParentID].push(localID); + } + o.ParentID = newParentID; + } + if (compressedflags & CompressedFlags_1.CompressedFlags.Tree) { + pos++; + } + else if (compressedflags & CompressedFlags_1.CompressedFlags.ScratchPad) { + const scratchPadSize = buf.readUInt8(pos++); + pos = pos + scratchPadSize; + } + if (compressedflags & CompressedFlags_1.CompressedFlags.HasText) { + const result = Utils_1.Utils.BufferToString(buf, pos); + pos += result.readLength; + pos = pos + 4; + } + if (compressedflags & CompressedFlags_1.CompressedFlags.MediaURL) { + const result = Utils_1.Utils.BufferToString(buf, pos); + pos += result.readLength; + } + if (compressedflags & CompressedFlags_1.CompressedFlags.HasParticles) { + pos += 86; + } + pos = this.readExtraParams(buf, pos, o); + if (compressedflags & CompressedFlags_1.CompressedFlags.HasSound) { + pos = pos + 16; + pos += 4; + pos++; + pos = pos + 4; + } + if (compressedflags & CompressedFlags_1.CompressedFlags.HasNameValues) { + const result = Utils_1.Utils.BufferToString(buf, pos); + o.NameValue = this.parseNameValues(result.result); + pos += result.readLength; + } + pos++; + pos = pos + 2; + pos = pos + 2; + pos = pos + 12; + pos = pos + 2; + pos = pos + 2; + pos = pos + 2; + const textureEntryLength = buf.readUInt32LE(pos); + pos = pos + 4; + pos = pos + textureEntryLength; + if (compressedflags & CompressedFlags_1.CompressedFlags.TextureAnimation) { + pos = pos + 4; + } + o.IsAttachment = (compressedflags & CompressedFlags_1.CompressedFlags.HasNameValues) !== 0 && o.ParentID !== 0; + }); + break; + } + case Message_1.Message.ImprovedTerseObjectUpdate: + const objectUpdateTerse = packet.message; + break; + case Message_1.Message.MultipleObjectUpdate: + const multipleObjectUpdate = packet.message; + console.error('TODO: MultipleObjectUpdate'); + break; + case Message_1.Message.KillObject: + const killObj = packet.message; + killObj.ObjectData.forEach((obj) => { + const objectID = obj.ID; + this.deleteObject(objectID); + }); + break; + } + }); + } + deleteObject(objectID) { + if (this.objects[objectID]) { + if (this.objectsByParent[objectID]) { + this.objectsByParent[objectID].forEach((childObjID) => { + this.deleteObject(childObjID); + }); + } + delete this.objectsByParent[objectID]; + const objct = this.objects[objectID]; + const uuid = objct.FullID.toString(); + if (this.objectsByUUID[uuid]) { + delete this.objectsByUUID[uuid]; + } + const parentID = objct.ParentID; + if (this.objectsByParent[parentID]) { + const ind = this.objectsByParent[parentID].indexOf(objectID); + if (ind !== -1) { + this.objectsByParent[parentID].splice(ind, 1); + } + } + delete this.objects[objectID]; + } + } + readExtraParams(buf, pos, o) { + if (pos >= buf.length) { + return 0; + } + const extraParamCount = buf.readUInt8(pos++); + for (let k = 0; k < extraParamCount; k++) { + const type = buf.readUInt16LE(pos); + pos = pos + 2; + const paramLength = buf.readUInt32LE(pos); + pos = pos + 4; + pos += paramLength; + } + return pos; + } + getObjectsByParent(parentID) { + const list = this.objectsByParent[parentID]; + if (list === undefined) { + return []; + } + const result = []; + list.forEach((localID) => { + result.push(this.objects[localID]); + }); + return result; + } + parseNameValues(str) { + const nv = {}; + const lines = str.split('\n'); + lines.forEach((line) => { + if (line.length > 0) { + let kv = line.split(/[\t ]/); + if (kv.length > 5) { + for (let x = 5; x < kv.length; x++) { + kv[4] += ' ' + kv[x]; + } + kv = kv.slice(0, 5); + } + if (kv.length === 5) { + const namevalue = new NameValue_1.NameValue(); + namevalue.type = kv[1]; + namevalue.class = kv[2]; + namevalue.sendTo = kv[3]; + namevalue.value = kv[4]; + nv[kv[0]] = namevalue; + } + else { + console.log('namevalue unexpected length: ' + kv.length); + console.log(kv); + } + } + }); + return nv; + } + shutdown() { + this.objects = {}; + this.objectsByUUID = {}; + this.objectsByParent = {}; + } +} +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 new file mode 100644 index 0000000..d5d9282 --- /dev/null +++ b/dist/classes/ObjectStoreLite.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ObjectStoreLite.js","sourceRoot":"","sources":["../../lib/classes/ObjectStoreLite.ts"],"names":[],"mappings":";;AAEA,8CAAyC;AAMzC,8EAAgF;AAEhF,iCAA4B;AAC5B,8DAAyD;AAEzD,mCAA8B;AAC9B,0CAAqC;AAIrC,qDAAgD;AAChD,2CAAsC;AAEtC;IASI,YAAY,OAAgB,EAAE,KAAY,EAAE,YAA0B;QAL9D,YAAO,GAAsC,EAAE,CAAC;QAChD,kBAAa,GAA8B,EAAE,CAAC;QAC9C,oBAAe,GAAgC,EAAE,CAAC;QAKtD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;YAC7B,iBAAO,CAAC,YAAY;YACpB,iBAAO,CAAC,kBAAkB;YAC1B,iBAAO,CAAC,sBAAsB;YAC9B,iBAAO,CAAC,yBAAyB;YACjC,iBAAO,CAAC,oBAAoB;YAC5B,iBAAO,CAAC,UAAU;SACrB,EAAE,CAAC,MAAc,EAAE,EAAE;YAElB,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAC1B,CAAC;gBACG,KAAK,iBAAO,CAAC,YAAY;oBACrB,MAAM,YAAY,GAAG,MAAM,CAAC,OAA8B,CAAC;oBAC3D,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;wBAExC,MAAM,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC;wBAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;wBAClC,IAAI,eAAe,GAAG,IAAI,CAAC;wBAE3B,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAC1B,CAAC;4BACG,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAClF,CAAC;gCACG,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gCAC5D,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CACf,CAAC;oCACG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gCAClD,CAAC;4BACL,CAAC;4BACD,IAAI,CACJ,CAAC;gCACG,eAAe,GAAG,KAAK,CAAC;4BAC5B,CAAC;wBACL,CAAC;wBACD,IAAI,CACJ,CAAC;4BACG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,+BAAc,EAAE,CAAC;wBACjD,CAAC;wBAED,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBAClC,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;wBACpB,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;wBAC5B,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;wBAChC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;wBAE9B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,aAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;wBAEtG,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,aAAK,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAChH,CAAC;4BACG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;wBACjC,CAAC;wBAED,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC;wBACxD,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CACpC,CAAC;4BACG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;wBACxC,CAAC;wBACD,EAAE,CAAC,CAAC,eAAe,CAAC,CACpB,CAAC;4BACG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBACjD,CAAC;oBACL,CAAC,CAAC,CAAC;oBACH,KAAK,CAAC;gBACV,KAAK,iBAAO,CAAC,kBAAkB;oBAC3B,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAoC,CAAC;oBACvE,MAAM,GAAG,GAAG,IAAI,sDAA6B,EAAE,CAAC;oBAChD,GAAG,CAAC,SAAS,GAAG;wBACZ,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;wBAC3B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;qBACpC,CAAC;oBACF,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC;oBACpB,kBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;wBAE1C,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;4BAChB,aAAa,EAAE,CAAC;4BAChB,EAAE,EAAE,GAAG,CAAC,EAAE;yBACb,CAAC,CAAC;oBACP,CAAC,CAAC,CAAC;oBACH,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oBAC5B,KAAK,CAAC;gBACV,KAAK,iBAAO,CAAC,sBAAsB;oBACnC,CAAC;wBACG,MAAM,sBAAsB,GAAG,MAAM,CAAC,OAAwC,CAAC;wBAC/E,sBAAsB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;4BAE9C,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC;4BAC9B,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC;4BACrB,IAAI,GAAG,GAAG,CAAC,CAAC;4BAEZ,MAAM,MAAM,GAAG,IAAI,WAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;4BAClC,GAAG,IAAI,EAAE,CAAC;4BACV,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;4BACtC,GAAG,IAAI,CAAC,CAAC;4BACT,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;4BACnC,IAAI,MAAM,GAAG,KAAK,CAAC;4BACnB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAC3B,CAAC;gCACG,MAAM,GAAG,IAAI,CAAC;gCACd,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,+BAAc,EAAE,CAAC;4BACjD,CAAC;4BACD,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;4BAChC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC;4BACf,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC;4BAChD,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;4BAGlB,GAAG,EAAE,CAAC;4BAEN,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;4BACd,GAAG,EAAE,CAAC;4BACN,GAAG,EAAE,CAAC;4BAEN,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;4BAEf,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;4BAEf,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;4BACf,MAAM,eAAe,GAAoB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;4BAC/D,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;4BACd,CAAC,CAAC,OAAO,GAAG,IAAI,WAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;4BAC/B,GAAG,IAAI,EAAE,CAAC;4BAEV,EAAE,CAAC,CAAC,eAAe,GAAG,iCAAe,CAAC,kBAAkB,CAAC,CACzD,CAAC;gCACG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;4BACnB,CAAC;4BACD,EAAE,CAAC,CAAC,eAAe,GAAG,iCAAe,CAAC,SAAS,CAAC,CAChD,CAAC;gCACG,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;gCAC1C,GAAG,IAAI,CAAC,CAAC;gCACT,IAAI,GAAG,GAAG,IAAI,CAAC;gCACf,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CACZ,CAAC;oCACG,EAAE,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,QAAQ,CAAC,CAC/B,CAAC;wCACG,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wCAChE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CACjB,CAAC;4CACG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;wCACtD,CAAC;oCACL,CAAC;oCACD,IAAI,CACJ,CAAC;wCACG,GAAG,GAAG,KAAK,CAAC;oCAChB,CAAC;gCACL,CAAC;gCACD,EAAE,CAAC,CAAC,GAAG,CAAC,CACR,CAAC;oCACG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CACvC,CAAC;wCACG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;oCAC3C,CAAC;oCACD,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gCACpD,CAAC;gCACD,CAAC,CAAC,QAAQ,GAAG,WAAW,CAAC;4BAC7B,CAAC;4BACD,EAAE,CAAC,CAAC,eAAe,GAAG,iCAAe,CAAC,IAAI,CAAC,CAC3C,CAAC;gCACG,GAAG,EAAE,CAAC;4BACV,CAAC;4BACD,IAAI,CAAC,EAAE,CAAC,CAAC,eAAe,GAAG,iCAAe,CAAC,UAAU,CAAC,CACtD,CAAC;gCACG,MAAM,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;gCAE5C,GAAG,GAAG,GAAG,GAAG,cAAc,CAAC;4BAC/B,CAAC;4BACD,EAAE,CAAC,CAAC,eAAe,GAAG,iCAAe,CAAC,OAAO,CAAC,CAC9C,CAAC;gCAEG,MAAM,MAAM,GAAG,aAAK,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gCAE9C,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC;gCACzB,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;4BAClB,CAAC;4BACD,EAAE,CAAC,CAAC,eAAe,GAAG,iCAAe,CAAC,QAAQ,CAAC,CAC/C,CAAC;gCACG,MAAM,MAAM,GAAG,aAAK,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gCAE9C,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC;4BAC7B,CAAC;4BACD,EAAE,CAAC,CAAC,eAAe,GAAG,iCAAe,CAAC,YAAY,CAAC,CACnD,CAAC;gCAEG,GAAG,IAAI,EAAE,CAAC;4BACd,CAAC;4BAGD,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;4BAExC,EAAE,CAAC,CAAC,eAAe,GAAG,iCAAe,CAAC,QAAQ,CAAC,CAC/C,CAAC;gCACG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;gCACf,GAAG,IAAI,CAAC,CAAC;gCACT,GAAG,EAAE,CAAC;gCACN,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;4BAClB,CAAC;4BACD,EAAE,CAAC,CAAC,eAAe,GAAG,iCAAe,CAAC,aAAa,CAAC,CACpD,CAAC;gCACG,MAAM,MAAM,GAAG,aAAK,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gCAC9C,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gCAClD,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC;4BAC7B,CAAC;4BACD,GAAG,EAAE,CAAC;4BACN,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;4BACd,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;4BACd,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;4BACf,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;4BACd,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;4BACd,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;4BACd,MAAM,kBAAkB,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;4BACjD,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;4BAEd,GAAG,GAAG,GAAG,GAAG,kBAAkB,CAAC;4BAE/B,EAAE,CAAC,CAAC,eAAe,GAAG,iCAAe,CAAC,gBAAgB,CAAC,CACvD,CAAC;gCAEG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;4BAClB,CAAC;4BAED,CAAC,CAAC,YAAY,GAAG,CAAC,eAAe,GAAG,iCAAe,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC;wBAEjG,CAAC,CAAC,CAAC;wBAEH,KAAK,CAAC;oBACV,CAAC;gBACD,KAAK,iBAAO,CAAC,yBAAyB;oBAClC,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAA2C,CAAC;oBAE7E,KAAK,CAAC;gBACV,KAAK,iBAAO,CAAC,oBAAoB;oBAC7B,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAsC,CAAC;oBAE3E,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;oBAC5C,KAAK,CAAC;gBACV,KAAK,iBAAO,CAAC,UAAU;oBACnB,MAAM,OAAO,GAAG,MAAM,CAAC,OAA4B,CAAC;oBACpD,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;wBAE/B,MAAM,QAAQ,GAAG,GAAG,CAAC,EAAE,CAAC;wBACxB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;oBAChC,CAAC,CAAC,CAAC;oBACH,KAAK,CAAC;YACd,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,YAAY,CAAC,QAAgB;QAEzB,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAC3B,CAAC;YAEG,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CACnC,CAAC;gBACG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;oBAElD,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;gBAClC,CAAC,CAAC,CAAC;YACP,CAAC;YACD,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAGtC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACrC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAErC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAC7B,CAAC;gBACG,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC;YACD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAChC,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CACnC,CAAC;gBACG,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC7D,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CACf,CAAC;oBACG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAClD,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,GAAW,EAAE,GAAW,EAAE,CAAiB;QAEvD,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CACtB,CAAC;YACG,MAAM,CAAC,CAAC,CAAC;QACb,CAAC;QACD,MAAM,eAAe,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7C,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,EAAE,EACxC,CAAC;YACG,MAAM,IAAI,GAAmB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YACnD,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;YACd,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAC1C,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;YAGd,GAAG,IAAI,WAAW,CAAC;QACvB,CAAC;QACD,MAAM,CAAC,GAAG,CAAC;IACf,CAAC;IAED,kBAAkB,CAAC,QAAgB;QAE/B,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC5C,EAAE,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CACvB,CAAC;YACG,MAAM,CAAC,EAAE,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAqB,EAAE,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAErB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC;IAClB,CAAC;IAED,eAAe,CAAC,GAAW;QAEvB,MAAM,EAAE,GAAiC,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAEnB,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CACpB,CAAC;gBACG,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC7B,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAClB,CAAC;oBACG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAClC,CAAC;wBACG,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;oBACzB,CAAC;oBACD,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxB,CAAC;gBACD,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CACpB,CAAC;oBACG,MAAM,SAAS,GAAG,IAAI,qBAAS,EAAE,CAAC;oBAClC,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;oBACvB,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;oBACxB,SAAS,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;oBACzB,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;oBACxB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;gBAC1B,CAAC;gBACD,IAAI,CACJ,CAAC;oBACG,OAAO,CAAC,GAAG,CAAC,+BAA+B,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;oBACzD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACpB,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC;IACd,CAAC;IAED,QAAQ;QAEJ,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;IAC9B,CAAC;CACJ;AArXD,0CAqXC"} \ No newline at end of file diff --git a/dist/classes/Region.d.ts b/dist/classes/Region.d.ts index e862df2..0f31489 100644 --- a/dist/classes/Region.d.ts +++ b/dist/classes/Region.d.ts @@ -1,18 +1,20 @@ import { Circuit } from './Circuit'; -import { ObjectStore } from './ObjectStore'; import { Agent } from './Agent'; import { Caps } from './Caps'; import { Comms } from './Comms'; import { ClientEvents } from './ClientEvents'; +import { IObjectStore } from './interfaces/IObjectStore'; +import { BotOptionFlags } from '../enums/BotOptionFlags'; export declare class Region { xCoordinate: number; yCoordinate: number; circuit: Circuit; - objects: ObjectStore; + objects: IObjectStore; caps: Caps; comms: Comms; clientEvents: ClientEvents; - constructor(agent: Agent, clientEvents: ClientEvents); + options: BotOptionFlags; + constructor(agent: Agent, clientEvents: ClientEvents, options: BotOptionFlags); activateCaps(seedURL: string): void; shutdown(): void; } diff --git a/dist/classes/Region.js b/dist/classes/Region.js index 1d2ac33..7fe76bb 100644 --- a/dist/classes/Region.js +++ b/dist/classes/Region.js @@ -1,14 +1,22 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const Circuit_1 = require("./Circuit"); -const ObjectStore_1 = require("./ObjectStore"); const Caps_1 = require("./Caps"); const Comms_1 = require("./Comms"); +const ObjectStoreFull_1 = require("./ObjectStoreFull"); +const BotOptionFlags_1 = require("../enums/BotOptionFlags"); +const ObjectStoreLite_1 = require("./ObjectStoreLite"); class Region { - constructor(agent, clientEvents) { + constructor(agent, clientEvents, options) { + this.options = options; this.clientEvents = clientEvents; this.circuit = new Circuit_1.Circuit(clientEvents); - this.objects = new ObjectStore_1.ObjectStore(this.circuit, agent, clientEvents); + if (options & BotOptionFlags_1.BotOptionFlags.LiteObjectStore) { + this.objects = new ObjectStoreLite_1.ObjectStoreLite(this.circuit, agent, clientEvents); + } + else { + this.objects = new ObjectStoreFull_1.ObjectStoreFull(this.circuit, agent, clientEvents); + } this.comms = new Comms_1.Comms(this.circuit, agent, clientEvents); } activateCaps(seedURL) { diff --git a/dist/classes/Region.js.map b/dist/classes/Region.js.map index 277e5a8..6bb471f 100644 --- a/dist/classes/Region.js.map +++ b/dist/classes/Region.js.map @@ -1 +1 @@ -{"version":3,"file":"Region.js","sourceRoot":"","sources":["../../lib/classes/Region.ts"],"names":[],"mappings":";;AAAA,uCAAkC;AAClC,+CAA0C;AAE1C,iCAA4B;AAC5B,mCAA8B;AAG9B;IAUI,YAAY,KAAY,EAAE,YAA0B;QAEhD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,YAAY,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QAClE,IAAI,CAAC,KAAK,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC9D,CAAC;IACD,YAAY,CAAC,OAAe;QAExB,IAAI,CAAC,IAAI,GAAG,IAAI,WAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3D,CAAC;IACD,QAAQ;QAEJ,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IAE5B,CAAC;CACJ;AA7BD,wBA6BC"} \ No newline at end of file +{"version":3,"file":"Region.js","sourceRoot":"","sources":["../../lib/classes/Region.ts"],"names":[],"mappings":";;AAAA,uCAAkC;AAElC,iCAA4B;AAC5B,mCAA8B;AAG9B,uDAAkD;AAClD,4DAAuD;AACvD,uDAAkD;AAElD;IAWI,YAAY,KAAY,EAAE,YAA0B,EAAE,OAAuB;QAEzE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,YAAY,CAAC,CAAC;QACzC,EAAE,CAAC,CAAC,OAAO,GAAG,+BAAc,CAAC,eAAe,CAAC,CAC7C,CAAC;YACG,IAAI,CAAC,OAAO,GAAG,IAAI,iCAAe,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,CACJ,CAAC;YACG,IAAI,CAAC,OAAO,GAAG,IAAI,iCAAe,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC9D,CAAC;IACD,YAAY,CAAC,OAAe;QAExB,IAAI,CAAC,IAAI,GAAG,IAAI,WAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3D,CAAC;IACD,QAAQ;QAEJ,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IAE5B,CAAC;CACJ;AAtCD,wBAsCC"} \ No newline at end of file diff --git a/dist/classes/commands/TeleportCommands.js b/dist/classes/commands/TeleportCommands.js index a69da3e..a73b3bc 100644 --- a/dist/classes/commands/TeleportCommands.js +++ b/dist/classes/commands/TeleportCommands.js @@ -40,7 +40,7 @@ class TeleportCommands extends CommandsBase_1.CommandsBase { return; } this.currentRegion.shutdown(); - const region = new Region_1.Region(this.agent, this.bot.clientEvents); + const region = new Region_1.Region(this.agent, this.bot.clientEvents, this.currentRegion.options); region.circuit.circuitCode = this.currentRegion.circuit.circuitCode; region.circuit.secureSessionID = this.currentRegion.circuit.secureSessionID; region.circuit.sessionID = this.currentRegion.circuit.sessionID; diff --git a/dist/classes/commands/TeleportCommands.js.map b/dist/classes/commands/TeleportCommands.js.map index 521431f..b5b0679 100644 --- a/dist/classes/commands/TeleportCommands.js.map +++ b/dist/classes/commands/TeleportCommands.js.map @@ -1 +1 @@ -{"version":3,"file":"TeleportCommands.js","sourceRoot":"","sources":["../../../lib/classes/commands/TeleportCommands.ts"],"names":[],"mappings":";;AAAA,iDAA4C;AAC5C,sCAAiC;AAEjC,qEAAgE;AAEhE,yDAAoD;AACpD,yEAA2E;AAC3E,6DAAwD;AAExD,sBAA8B,SAAQ,2BAAY;IAE9C,cAAc,CAAC,IAAe;QAE1B,MAAM,CAAC,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAElD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YAC3C,MAAM,GAAG,GAAG,IAAI,gDAA0B,EAAE,CAAC;YAC7C,GAAG,CAAC,IAAI,GAAG;gBACP,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;gBAC3B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,aAAa,EAAE,6BAAa,CAAC,OAAO;aACvC,CAAC;YACF,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,yBAAW,CAAC,QAAQ,CAAC,CAAC;YAC/C,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAC7C,CAAC;gBACG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,KAAK,IAAI,CAAC,CACnC,CAAC;oBACG,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;oBAC1C,MAAM,CAAC;gBACX,CAAC;gBACD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAgB,EAAE,EAAE;oBAEtF,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,qCAAiB,CAAC,cAAc,IAAI,CAAC,CAAC,SAAS,KAAK,qCAAiB,CAAC,iBAAiB,CAAC,CAC5G,CAAC;wBACG,YAAY,CAAC,WAAW,EAAE,CAAC;oBAC/B,CAAC;oBACD,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,qCAAiB,CAAC,cAAc,CAAC,CACrD,CAAC;wBACG,MAAM,CAAC,CAAC,CAAC,CAAC;oBACd,CAAC;oBACD,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,qCAAiB,CAAC,iBAAiB,CAAC,CAC7D,CAAC;wBACG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CACxB,CAAC;4BAEG,OAAO,CAAC,CAAC,CAAC,CAAC;4BACX,MAAM,CAAC;wBACX,CAAC;wBAED,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,KAAK,IAAI,CAAC,CACnC,CAAC;4BACG,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;4BAC1C,MAAM,CAAC;wBACX,CAAC;wBAGD,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;wBAC9B,MAAM,MAAM,GAAW,IAAI,eAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;wBACrE,MAAM,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC;wBACpE,MAAM,CAAC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC;wBAC5E,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC;wBAChE,MAAM,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC;wBACtE,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC;wBACnC,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC;wBAChC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;wBACpC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;wBAC5B,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;wBAElD,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;4BAEhD,OAAO,CAAC,CAAC,CAAC,CAAC;wBACf,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;4BAEf,MAAM,CAAC,KAAK,CAAC,CAAC;wBAClB,CAAC,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAxED,4CAwEC"} \ No newline at end of file +{"version":3,"file":"TeleportCommands.js","sourceRoot":"","sources":["../../../lib/classes/commands/TeleportCommands.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/classes/interfaces/IGameObject.d.ts b/dist/classes/interfaces/IGameObject.d.ts new file mode 100644 index 0000000..a92006d --- /dev/null +++ b/dist/classes/interfaces/IGameObject.d.ts @@ -0,0 +1,4 @@ +export interface IGameObject { + hasNameValueEntry(key: string): boolean; + getNameValueEntry(key: string): string; +} diff --git a/dist/classes/interfaces/IGameObject.js b/dist/classes/interfaces/IGameObject.js new file mode 100644 index 0000000..92e54b7 --- /dev/null +++ b/dist/classes/interfaces/IGameObject.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=IGameObject.js.map \ No newline at end of file diff --git a/dist/classes/interfaces/IGameObject.js.map b/dist/classes/interfaces/IGameObject.js.map new file mode 100644 index 0000000..b9214c0 --- /dev/null +++ b/dist/classes/interfaces/IGameObject.js.map @@ -0,0 +1 @@ +{"version":3,"file":"IGameObject.js","sourceRoot":"","sources":["../../../lib/classes/interfaces/IGameObject.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/dist/classes/interfaces/IObjectStore.d.ts b/dist/classes/interfaces/IObjectStore.d.ts new file mode 100644 index 0000000..78266fe --- /dev/null +++ b/dist/classes/interfaces/IObjectStore.d.ts @@ -0,0 +1,5 @@ +import { IGameObject } from './IGameObject'; +export interface IObjectStore { + getObjectsByParent(parentID: number): IGameObject[]; + shutdown(): void; +} diff --git a/dist/classes/interfaces/IObjectStore.js b/dist/classes/interfaces/IObjectStore.js new file mode 100644 index 0000000..2ac76a2 --- /dev/null +++ b/dist/classes/interfaces/IObjectStore.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=IObjectStore.js.map \ No newline at end of file diff --git a/dist/classes/interfaces/IObjectStore.js.map b/dist/classes/interfaces/IObjectStore.js.map new file mode 100644 index 0000000..4389119 --- /dev/null +++ b/dist/classes/interfaces/IObjectStore.js.map @@ -0,0 +1 @@ +{"version":3,"file":"IObjectStore.js","sourceRoot":"","sources":["../../../lib/classes/interfaces/IObjectStore.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/dist/enums/BotOptionFlags.d.ts b/dist/enums/BotOptionFlags.d.ts new file mode 100644 index 0000000..886600a --- /dev/null +++ b/dist/enums/BotOptionFlags.d.ts @@ -0,0 +1,4 @@ +export declare enum BotOptionFlags { + None = 0, + LiteObjectStore = 1, +} diff --git a/dist/enums/BotOptionFlags.js b/dist/enums/BotOptionFlags.js new file mode 100644 index 0000000..6742219 --- /dev/null +++ b/dist/enums/BotOptionFlags.js @@ -0,0 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var BotOptionFlags; +(function (BotOptionFlags) { + BotOptionFlags[BotOptionFlags["None"] = 0] = "None"; + BotOptionFlags[BotOptionFlags["LiteObjectStore"] = 1] = "LiteObjectStore"; +})(BotOptionFlags = exports.BotOptionFlags || (exports.BotOptionFlags = {})); +//# sourceMappingURL=BotOptionFlags.js.map \ No newline at end of file diff --git a/dist/enums/BotOptionFlags.js.map b/dist/enums/BotOptionFlags.js.map new file mode 100644 index 0000000..04d34e4 --- /dev/null +++ b/dist/enums/BotOptionFlags.js.map @@ -0,0 +1 @@ +{"version":3,"file":"BotOptionFlags.js","sourceRoot":"","sources":["../../lib/enums/BotOptionFlags.ts"],"names":[],"mappings":";;AAAA,IAAY,cAIX;AAJD,WAAY,cAAc;IAEtB,mDAAQ,CAAA;IACR,yEAAmB,CAAA;AACvB,CAAC,EAJW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAIzB"} \ No newline at end of file diff --git a/dist/index.d.ts b/dist/index.d.ts index 6abbbc5..403a03a 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -7,4 +7,5 @@ import { HTTPAssets } from './enums/HTTPAssets'; import { InstantMessageEventFlags } from './enums/InstantMessageEventFlags'; import { InstantMessageEvent } from './events/InstantMessageEvent'; import { ChatSourceType } from './enums/ChatSourceType'; -export { Bot, LoginParameters, AssetType, HTTPAssets, ClientEvents, BVH, InstantMessageEvent, InstantMessageEventFlags, ChatSourceType }; +import { BotOptionFlags } from './enums/BotOptionFlags'; +export { Bot, LoginParameters, AssetType, HTTPAssets, ClientEvents, BVH, InstantMessageEvent, InstantMessageEventFlags, ChatSourceType, BotOptionFlags }; diff --git a/dist/index.js b/dist/index.js index 86f5d41..78adaa3 100644 --- a/dist/index.js +++ b/dist/index.js @@ -18,4 +18,6 @@ const InstantMessageEvent_1 = require("./events/InstantMessageEvent"); exports.InstantMessageEvent = InstantMessageEvent_1.InstantMessageEvent; const ChatSourceType_1 = require("./enums/ChatSourceType"); exports.ChatSourceType = ChatSourceType_1.ChatSourceType; +const BotOptionFlags_1 = require("./enums/BotOptionFlags"); +exports.BotOptionFlags = BotOptionFlags_1.BotOptionFlags; //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/index.js.map b/dist/index.js.map index 8242095..f0507b5 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;AAAA,+BAA0B;AAetB,cAfI,SAAG,CAeJ;AAdP,+DAA0D;AAetD,0BAfI,iCAAe,CAeJ;AAdnB,yDAAoD;AAiBhD,uBAjBI,2BAAY,CAiBJ;AAhBhB,uCAAkC;AAiB9B,cAjBI,SAAG,CAiBJ;AAZP,iDAA4C;AASxC,oBATI,qBAAS,CASJ;AARb,mDAA8C;AAS1C,qBATI,uBAAU,CASJ;AARd,+EAA0E;AAYtE,mCAZI,mDAAwB,CAYJ;AAX5B,sEAAiE;AAU7D,8BAVI,yCAAmB,CAUJ;AATvB,2DAAsD;AAWlD,yBAXI,+BAAc,CAWJ"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;AAAA,+BAA0B;AAgBtB,cAhBI,SAAG,CAgBJ;AAfP,+DAA0D;AAgBtD,0BAhBI,iCAAe,CAgBJ;AAfnB,yDAAoD;AAkBhD,uBAlBI,2BAAY,CAkBJ;AAjBhB,uCAAkC;AAkB9B,cAlBI,SAAG,CAkBJ;AAbP,iDAA4C;AAUxC,oBAVI,qBAAS,CAUJ;AATb,mDAA8C;AAU1C,qBAVI,uBAAU,CAUJ;AATd,+EAA0E;AAatE,mCAbI,mDAAwB,CAaJ;AAZ5B,sEAAiE;AAW7D,8BAXI,yCAAmB,CAWJ;AAVvB,2DAAsD;AAYlD,yBAZI,+BAAc,CAYJ;AAXlB,2DAAsD;AAYlD,yBAZI,+BAAc,CAYJ"} \ No newline at end of file diff --git a/example/testBot.js b/example/testBot.js index 4ec81e0..432eb0c 100644 --- a/example/testBot.js +++ b/example/testBot.js @@ -2,14 +2,20 @@ const nmv = require('../dist/index'); const loginParameters = new nmv.LoginParameters(); const parameters = require('./loginParameters.json'); -const fs = require('fs'); loginParameters.firstName = parameters.firstName; loginParameters.lastName = parameters.lastName; loginParameters.password = parameters.password; loginParameters.start = "last"; -const bot = new nmv.Bot(loginParameters); +//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 ObjectStoreLite will drastically reduce the footprint +// + const options = nmv.BotOptionFlags.LiteObjectStore; + +const bot = new nmv.Bot(loginParameters, options); let isConnected = false; diff --git a/lib/Bot.ts b/lib/Bot.ts index 1397b3c..d59d813 100644 --- a/lib/Bot.ts +++ b/lib/Bot.ts @@ -25,6 +25,7 @@ import {StartPingCheckMessage} from './classes/messages/StartPingCheck'; import {CompletePingCheckMessage} from './classes/messages/CompletePingCheck'; import Timer = NodeJS.Timer; import {Subscription} from 'rxjs/Subscription'; +import {BotOptionFlags} from './enums/BotOptionFlags'; export class Bot { @@ -35,20 +36,23 @@ export class Bot private pingNumber = 0; private lastSuccessfulPing = 0; private circuitSubscription: Subscription | null = null + private options: BotOptionFlags; public clientEvents: ClientEvents; public clientCommands: ClientCommands; - constructor(login: LoginParameters) + + constructor(login: LoginParameters, options: BotOptionFlags) { this.clientEvents = new ClientEvents(); this.loginParams = login; + this.options = options; } login() { return new Promise((resolve, reject) => { - const loginHandler = new LoginHandler(this.clientEvents); + const loginHandler = new LoginHandler(this.clientEvents, this.options); loginHandler.Login(this.loginParams).then((response: LoginResponse) => { this.currentRegion = response.region; diff --git a/lib/LoginHandler.ts b/lib/LoginHandler.ts index 451b34a..497e2d9 100644 --- a/lib/LoginHandler.ts +++ b/lib/LoginHandler.ts @@ -3,11 +3,13 @@ import * as crypto from 'crypto'; import {LoginParameters} from './classes/LoginParameters'; import {LoginResponse} from './classes/LoginResponse'; import {ClientEvents} from './classes/ClientEvents'; +import {BotOptionFlags} from './enums/BotOptionFlags'; const uuid = require('uuid'); export class LoginHandler { private clientEvents: ClientEvents; + private options: BotOptionFlags; static GenerateMAC(): string { @@ -26,9 +28,10 @@ export class LoginHandler return macAddress; } - constructor(ce: ClientEvents) + constructor(ce: ClientEvents, options: BotOptionFlags) { this.clientEvents = ce; + this.options = options; } Login(params: LoginParameters): Promise @@ -88,7 +91,7 @@ export class LoginHandler } else { - const response = new LoginResponse(value, this.clientEvents); + const response = new LoginResponse(value, this.clientEvents, this.options); resolve(response); } } diff --git a/lib/classes/Agent.ts b/lib/classes/Agent.ts index 996e9fd..1cfa608 100644 --- a/lib/classes/Agent.ts +++ b/lib/classes/Agent.ts @@ -15,7 +15,6 @@ import {AgentFlags} from '../enums/AgentFlags'; import {BuiltInAnimations} from '../enums/BuiltInAnimations'; import * as LLSD from 'llsd'; import {AssetType} from '../enums/AssetType'; -import {GameObject} from './Object'; import {AgentWearablesRequestMessage} from './messages/AgentWearablesRequest'; import {PacketFlags} from '../enums/PacketFlags'; import {AgentWearablesUpdateMessage} from './messages/AgentWearablesUpdate'; @@ -25,6 +24,7 @@ import {AttachmentPoint} from '../enums/AttachmentPoint'; import {Utils} from './Utils'; import {AgentAnimationMessage} from './messages/AgentAnimation'; import {ClientEvents} from './ClientEvents'; +import {IGameObject} from './interfaces/IGameObject'; export class Agent { @@ -208,11 +208,11 @@ export class Agent if (item.type === 6) { let found = false; - wornObjects.forEach((obj: GameObject) => + wornObjects.forEach((obj: IGameObject) => { - if (obj.NameValue['AttachItemID']) + if (obj.hasNameValueEntry('AttachItemID')) { - if (item['item_id'].toString() === obj.NameValue['AttachItemID'].value) + if (item['item_id'].toString() === obj.getNameValueEntry('AttachItemID')) { found = true; } diff --git a/lib/classes/Object.ts b/lib/classes/GameObjectFull.ts similarity index 76% rename from lib/classes/Object.ts rename to lib/classes/GameObjectFull.ts index d919d28..e9b061e 100644 --- a/lib/classes/Object.ts +++ b/lib/classes/GameObjectFull.ts @@ -5,8 +5,9 @@ import {Quaternion} from './Quaternion'; import {Tree} from '../enums/Tree'; import {SoundFlags} from '../enums/SoundFlags'; import {NameValue} from './NameValue'; +import {IGameObject} from './interfaces/IGameObject'; -export class GameObject +export class GameObjectFull implements IGameObject { ID: number; State: number; @@ -71,4 +72,22 @@ export class GameObject this.SoundRadius = 1.0; this.SoundGain = 1.0; } + + hasNameValueEntry(key: string): boolean + { + if (this.NameValue['AttachItemID']) + { + return true; + } + return false; + } + + getNameValueEntry(key: string): string + { + if (this.NameValue['AttachItemID']) + { + return this.NameValue['AttachItemID'].value; + } + return ''; + } } diff --git a/lib/classes/GameObjectLite.ts b/lib/classes/GameObjectLite.ts new file mode 100644 index 0000000..c6fd26e --- /dev/null +++ b/lib/classes/GameObjectLite.ts @@ -0,0 +1,35 @@ +import {UUID} from './UUID'; +import {IGameObject} from './interfaces/IGameObject'; +import {NameValue} from './NameValue'; + +export class GameObjectLite implements IGameObject +{ + ID: number; + FullID: UUID; + ParentID: number; + OwnerID: UUID; + IsAttachment: boolean; + NameValue: {[key: string]: NameValue}; + constructor() + { + this.IsAttachment = false; + } + + hasNameValueEntry(key: string): boolean + { + if (this.NameValue['AttachItemID']) + { + return true; + } + return false; + } + + getNameValueEntry(key: string): string + { + if (this.NameValue['AttachItemID']) + { + return this.NameValue['AttachItemID'].value; + } + return ''; + } +} diff --git a/lib/classes/LoginResponse.ts b/lib/classes/LoginResponse.ts index 7272b0d..bfd2c03 100644 --- a/lib/classes/LoginResponse.ts +++ b/lib/classes/LoginResponse.ts @@ -5,6 +5,7 @@ import {LoginFlags} from '../enums/LoginFlags'; import {Vector3} from './Vector3'; import Long = require('long'); import {ClientEvents} from './ClientEvents'; +import {BotOptionFlags} from '../enums/BotOptionFlags'; export class LoginResponse { @@ -88,11 +89,11 @@ export class LoginResponse return result; } - constructor(json: any, ce: ClientEvents) + constructor(json: any, clientEvents: ClientEvents, options: BotOptionFlags) { - this.clientEvents = ce; + this.clientEvents = clientEvents; this.agent = new Agent(this.clientEvents); - this.region = new Region(this.agent, this.clientEvents); + this.region = new Region(this.agent, this.clientEvents, options); Object.keys(json).forEach((key: string) => { const val: any = json[key]; diff --git a/lib/classes/ObjectStore.ts b/lib/classes/ObjectStoreFull.ts similarity index 94% rename from lib/classes/ObjectStore.ts rename to lib/classes/ObjectStoreFull.ts index 569a1f3..820a638 100644 --- a/lib/classes/ObjectStore.ts +++ b/lib/classes/ObjectStoreFull.ts @@ -9,7 +9,6 @@ import {MultipleObjectUpdateMessage} from './messages/MultipleObjectUpdate'; import {RequestMultipleObjectsMessage} from './messages/RequestMultipleObjects'; import {Agent} from './Agent'; import {UUID} from './UUID'; -import {GameObject} from './Object'; import {Quaternion} from './Quaternion'; import {Vector3} from './Vector3'; import {CompressedFlags} from '../enums/CompressedFlags'; @@ -19,12 +18,15 @@ import {PCode} from '../enums/PCode'; import {NameValue} from './NameValue'; import {ClientEvents} from './ClientEvents'; import {KillObjectMessage} from './messages/KillObject'; +import {IObjectStore} from './interfaces/IObjectStore'; +import {GameObjectFull} from './GameObjectFull'; +import {IGameObject} from './interfaces/IGameObject'; -export class ObjectStore +export class ObjectStoreFull implements IObjectStore { private circuit: Circuit; private agent: Agent; - private objects: { [key: number]: GameObject } = {}; + private objects: { [key: number]: GameObjectFull } = {}; private objectsByUUID: { [key: string]: number } = {}; private objectsByParent: { [key: number]: number[] } = {}; private clientEvents: ClientEvents; @@ -70,7 +72,7 @@ export class ObjectStore } else { - this.objects[localID] = new GameObject(); + this.objects[localID] = new GameObjectFull(); } const obj = this.objects[localID]; @@ -173,7 +175,7 @@ export class ObjectStore if (!this.objects[localID]) { newObj = true; - this.objects[localID] = new GameObject(); + this.objects[localID] = new GameObjectFull(); } const o = this.objects[localID]; o.ID = localID; @@ -267,13 +269,8 @@ export class ObjectStore if (compressedflags & CompressedFlags.HasParticles) { // TODO: Particle system block - //console.log("HasParticles"); pos += 86; } - else - { - //console.log("HasNoParticles"); - } // Extra params pos = this.readExtraParams(buf, pos, o); @@ -317,7 +314,7 @@ export class ObjectStore pos = pos + 2; o.ProfileHollow = buf.readUInt16LE(pos); pos = pos + 2; - let textureEntryLength = buf.readUInt32LE(pos); + const textureEntryLength = buf.readUInt32LE(pos); pos = pos + 4; // TODO: Properly parse textureentry; pos = pos + textureEntryLength; @@ -390,7 +387,7 @@ export class ObjectStore } } - readExtraParams(buf: Buffer, pos: number, o: GameObject): number + readExtraParams(buf: Buffer, pos: number, o: GameObjectFull): number { if (pos >= buf.length) { @@ -410,14 +407,14 @@ export class ObjectStore return pos; } - getObjectsByParent(parentID: number): GameObject[] + getObjectsByParent(parentID: number): IGameObject[] { const list = this.objectsByParent[parentID]; if (list === undefined) { return []; } - const result: GameObject[] = []; + const result: IGameObject[] = []; list.forEach((localID) => { result.push(this.objects[localID]); @@ -453,7 +450,7 @@ export class ObjectStore } else { - console.log("namevalue unexpected length: " + kv.length); + console.log('namevalue unexpected length: ' + kv.length); console.log(kv); } } diff --git a/lib/classes/ObjectStoreLite.ts b/lib/classes/ObjectStoreLite.ts new file mode 100644 index 0000000..7baba67 --- /dev/null +++ b/lib/classes/ObjectStoreLite.ts @@ -0,0 +1,395 @@ +import {Circuit} from './Circuit'; +import {Packet} from './Packet'; +import {Message} from '../enums/Message'; +import {ObjectUpdateMessage} from './messages/ObjectUpdate'; +import {ObjectUpdateCachedMessage} from './messages/ObjectUpdateCached'; +import {ObjectUpdateCompressedMessage} from './messages/ObjectUpdateCompressed'; +import {ImprovedTerseObjectUpdateMessage} from './messages/ImprovedTerseObjectUpdate'; +import {MultipleObjectUpdateMessage} from './messages/MultipleObjectUpdate'; +import {RequestMultipleObjectsMessage} from './messages/RequestMultipleObjects'; +import {Agent} from './Agent'; +import {UUID} from './UUID'; +import {CompressedFlags} from '../enums/CompressedFlags'; +import {ExtraParamType} from '../enums/ExtraParamType'; +import {Utils} from './Utils'; +import {PCode} from '../enums/PCode'; +import {ClientEvents} from './ClientEvents'; +import {KillObjectMessage} from './messages/KillObject'; +import {IObjectStore} from './interfaces/IObjectStore'; +import {GameObjectLite} from './GameObjectLite'; +import {NameValue} from './NameValue'; + +export class ObjectStoreLite implements IObjectStore +{ + private circuit: Circuit; + private agent: Agent; + private objects: { [key: number]: GameObjectLite } = {}; + private objectsByUUID: { [key: string]: number } = {}; + private objectsByParent: { [key: number]: number[] } = {}; + private clientEvents: ClientEvents; + + constructor(circuit: Circuit, agent: Agent, clientEvents: ClientEvents) + { + this.clientEvents = clientEvents; + this.circuit = circuit; + this.agent = agent; + this.circuit.subscribeToMessages([ + Message.ObjectUpdate, + Message.ObjectUpdateCached, + Message.ObjectUpdateCompressed, + Message.ImprovedTerseObjectUpdate, + Message.MultipleObjectUpdate, + Message.KillObject + ], (packet: Packet) => + { + switch (packet.message.id) + { + case Message.ObjectUpdate: + const objectUpdate = packet.message as ObjectUpdateMessage; + objectUpdate.ObjectData.forEach((objData) => + { + const localID = objData.ID; + const parentID = objData.ParentID; + let addToParentList = true; + + if (this.objects[localID]) + { + if (this.objects[localID].ParentID !== parentID && this.objectsByParent[parentID]) + { + const ind = this.objectsByParent[parentID].indexOf(localID); + if (ind !== -1) + { + this.objectsByParent[parentID].splice(ind, 1); + } + } + else + { + addToParentList = false; + } + } + else + { + this.objects[localID] = new GameObjectLite(); + } + + const obj = this.objects[localID]; + obj.ID = objData.ID; + obj.FullID = objData.FullID; + obj.ParentID = objData.ParentID; + obj.OwnerID = objData.OwnerID; + + this.objects[localID].NameValue = this.parseNameValues(Utils.BufferToStringSimple(objData.NameValue)); + + if (objData.PCode === PCode.Avatar && this.objects[localID].FullID.toString() === this.agent.agentID.toString()) + { + this.agent.localID = localID; + } + + this.objectsByUUID[objData.FullID.toString()] = localID; + if (!this.objectsByParent[parentID]) + { + this.objectsByParent[parentID] = []; + } + if (addToParentList) + { + this.objectsByParent[parentID].push(localID); + } + }); + break; + case Message.ObjectUpdateCached: + const objectUpdateCached = packet.message as ObjectUpdateCachedMessage; + const rmo = new RequestMultipleObjectsMessage(); + rmo.AgentData = { + AgentID: this.agent.agentID, + SessionID: this.circuit.sessionID + }; + rmo.ObjectData = []; + objectUpdateCached.ObjectData.forEach((obj) => + { + rmo.ObjectData.push({ + CacheMissType: 0, + ID: obj.ID + }); + }); + circuit.sendMessage(rmo, 0); + break; + case Message.ObjectUpdateCompressed: + { + const objectUpdateCompressed = packet.message as ObjectUpdateCompressedMessage; + objectUpdateCompressed.ObjectData.forEach((obj) => + { + const flags = obj.UpdateFlags; + const buf = obj.Data; + let pos = 0; + + const fullID = new UUID(buf, pos); + pos += 16; + const localID = buf.readUInt32LE(pos); + pos += 4; + const pcode = buf.readUInt8(pos++); + let newObj = false; + if (!this.objects[localID]) + { + newObj = true; + this.objects[localID] = new GameObjectLite(); + } + const o = this.objects[localID]; + o.ID = localID; + this.objectsByUUID[fullID.toString()] = localID; + o.FullID = fullID; + + + pos++; + + pos = pos + 4; + pos++; + pos++; + + pos = pos + 12; + + pos = pos + 12; + + pos = pos + 12; + const compressedflags: CompressedFlags = buf.readUInt32LE(pos); + pos = pos + 4; + o.OwnerID = new UUID(buf, pos); + pos += 16; + + if (compressedflags & CompressedFlags.HasAngularVelocity) + { + pos = pos + 12; + } + if (compressedflags & CompressedFlags.HasParent) + { + const newParentID = buf.readUInt32LE(pos); + pos += 4; + let add = true; + if (!newObj) + { + if (newParentID !== o.ParentID) + { + const index = this.objectsByParent[o.ParentID].indexOf(localID); + if (index !== -1) + { + this.objectsByParent[o.ParentID].splice(index, 1); + } + } + else + { + add = false; + } + } + if (add) + { + if (!this.objectsByParent[newParentID]) + { + this.objectsByParent[newParentID] = []; + } + this.objectsByParent[newParentID].push(localID); + } + o.ParentID = newParentID; + } + if (compressedflags & CompressedFlags.Tree) + { + pos++; + } + else if (compressedflags & CompressedFlags.ScratchPad) + { + 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; + pos = pos + 4; + } + if (compressedflags & CompressedFlags.MediaURL) + { + const result = Utils.BufferToString(buf, pos); + + pos += result.readLength; + } + if (compressedflags & CompressedFlags.HasParticles) + { + // TODO: Particle system block + pos += 86; + } + + // Extra params + pos = this.readExtraParams(buf, pos, o); + + if (compressedflags & CompressedFlags.HasSound) + { + pos = pos + 16; + pos += 4; + pos++; + pos = pos + 4; + } + if (compressedflags & CompressedFlags.HasNameValues) + { + const result = Utils.BufferToString(buf, pos); + o.NameValue = this.parseNameValues(result.result); + pos += result.readLength; + } + pos++; + pos = pos + 2; + pos = pos + 2; + pos = pos + 12; + pos = pos + 2; + pos = pos + 2; + 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 + break; + case Message.MultipleObjectUpdate: + const multipleObjectUpdate = packet.message as MultipleObjectUpdateMessage; + // TODO: multipleObjectUpdate + console.error('TODO: MultipleObjectUpdate'); + break; + case Message.KillObject: + const killObj = packet.message as KillObjectMessage; + killObj.ObjectData.forEach((obj) => + { + const objectID = obj.ID; + this.deleteObject(objectID); + }); + break; + } + }); + } + + deleteObject(objectID: number) + { + if (this.objects[objectID]) + { + // First, kill all children + if (this.objectsByParent[objectID]) + { + this.objectsByParent[objectID].forEach((childObjID) => + { + this.deleteObject(childObjID); + }); + } + delete this.objectsByParent[objectID]; + + // Now delete this object + const objct = this.objects[objectID]; + const uuid = objct.FullID.toString(); + + if (this.objectsByUUID[uuid]) + { + delete this.objectsByUUID[uuid]; + } + const parentID = objct.ParentID; + if (this.objectsByParent[parentID]) + { + const ind = this.objectsByParent[parentID].indexOf(objectID); + if (ind !== -1) + { + this.objectsByParent[parentID].splice(ind, 1); + } + } + delete this.objects[objectID]; + } + } + + readExtraParams(buf: Buffer, pos: number, o: GameObjectLite): number + { + if (pos >= buf.length) + { + return 0; + } + const extraParamCount = buf.readUInt8(pos++); + for (let k = 0; k < extraParamCount; k++) + { + const type: ExtraParamType = buf.readUInt16LE(pos); + pos = pos + 2; + const paramLength = buf.readUInt32LE(pos); + pos = pos + 4; + + // TODO: Read extra param data + pos += paramLength; + } + return pos; + } + + getObjectsByParent(parentID: number): GameObjectLite[] + { + const list = this.objectsByParent[parentID]; + if (list === undefined) + { + return []; + } + const result: GameObjectLite[] = []; + list.forEach((localID) => + { + result.push(this.objects[localID]); + }); + return result; + } + + parseNameValues(str: string): { [key: string]: NameValue } + { + const nv: { [key: string]: NameValue } = {}; + const lines = str.split('\n'); + lines.forEach((line) => + { + if (line.length > 0) + { + let kv = line.split(/[\t ]/); + if (kv.length > 5) + { + for (let x = 5; x < kv.length; x++) + { + kv[4] += ' ' + kv[x]; + } + kv = kv.slice(0, 5); + } + if (kv.length === 5) + { + const namevalue = new NameValue(); + namevalue.type = kv[1]; + namevalue.class = kv[2]; + namevalue.sendTo = kv[3]; + namevalue.value = kv[4]; + nv[kv[0]] = namevalue; + } + else + { + console.log('namevalue unexpected length: ' + kv.length); + console.log(kv); + } + } + }); + return nv; + } + + shutdown() + { + this.objects = {}; + this.objectsByUUID = {}; + this.objectsByParent = {}; + } +} diff --git a/lib/classes/Region.ts b/lib/classes/Region.ts index cad472b..b413d7c 100644 --- a/lib/classes/Region.ts +++ b/lib/classes/Region.ts @@ -1,25 +1,37 @@ import {Circuit} from './Circuit'; -import {ObjectStore} from './ObjectStore'; import {Agent} from './Agent'; import {Caps} from './Caps'; import {Comms} from './Comms'; import {ClientEvents} from './ClientEvents'; +import {IObjectStore} from './interfaces/IObjectStore'; +import {ObjectStoreFull} from './ObjectStoreFull'; +import {BotOptionFlags} from '../enums/BotOptionFlags'; +import {ObjectStoreLite} from './ObjectStoreLite'; export class Region { xCoordinate: number; yCoordinate: number; circuit: Circuit; - objects: ObjectStore; + objects: IObjectStore; caps: Caps; comms: Comms; clientEvents: ClientEvents; + options: BotOptionFlags; - constructor(agent: Agent, clientEvents: ClientEvents) + constructor(agent: Agent, clientEvents: ClientEvents, options: BotOptionFlags) { + this.options = options; this.clientEvents = clientEvents; this.circuit = new Circuit(clientEvents); - this.objects = new ObjectStore(this.circuit, agent, clientEvents); + if (options & BotOptionFlags.LiteObjectStore) + { + this.objects = new ObjectStoreLite(this.circuit, agent, clientEvents); + } + else + { + this.objects = new ObjectStoreFull(this.circuit, agent, clientEvents); + } this.comms = new Comms(this.circuit, agent, clientEvents); } activateCaps(seedURL: string) diff --git a/lib/classes/commands/TeleportCommands.ts b/lib/classes/commands/TeleportCommands.ts index cf1dfbc..b62972c 100644 --- a/lib/classes/commands/TeleportCommands.ts +++ b/lib/classes/commands/TeleportCommands.ts @@ -56,7 +56,7 @@ export class TeleportCommands extends CommandsBase // Successful teleport! First, rip apart circuit this.currentRegion.shutdown(); - const region: Region = new Region(this.agent, this.bot.clientEvents); + const region: Region = new Region(this.agent, this.bot.clientEvents, this.currentRegion.options); region.circuit.circuitCode = this.currentRegion.circuit.circuitCode; region.circuit.secureSessionID = this.currentRegion.circuit.secureSessionID; region.circuit.sessionID = this.currentRegion.circuit.sessionID; diff --git a/lib/classes/interfaces/IGameObject.ts b/lib/classes/interfaces/IGameObject.ts new file mode 100644 index 0000000..c9e0a9f --- /dev/null +++ b/lib/classes/interfaces/IGameObject.ts @@ -0,0 +1,5 @@ +export interface IGameObject +{ + hasNameValueEntry(key: string): boolean; + getNameValueEntry(key: string): string; +} diff --git a/lib/classes/interfaces/IObjectStore.ts b/lib/classes/interfaces/IObjectStore.ts new file mode 100644 index 0000000..30e54c8 --- /dev/null +++ b/lib/classes/interfaces/IObjectStore.ts @@ -0,0 +1,7 @@ +import {IGameObject} from './IGameObject'; + +export interface IObjectStore +{ + getObjectsByParent(parentID: number): IGameObject[]; + shutdown(): void; +} diff --git a/lib/enums/BotOptionFlags.ts b/lib/enums/BotOptionFlags.ts new file mode 100644 index 0000000..3550908 --- /dev/null +++ b/lib/enums/BotOptionFlags.ts @@ -0,0 +1,5 @@ +export enum BotOptionFlags +{ + None = 0, + LiteObjectStore = 1 +} \ No newline at end of file diff --git a/lib/index.ts b/lib/index.ts index 04b71c7..a8720e8 100644 --- a/lib/index.ts +++ b/lib/index.ts @@ -11,6 +11,7 @@ import {HTTPAssets} from './enums/HTTPAssets'; import {InstantMessageEventFlags} from './enums/InstantMessageEventFlags'; import {InstantMessageEvent} from './events/InstantMessageEvent'; import {ChatSourceType} from './enums/ChatSourceType'; +import {BotOptionFlags} from './enums/BotOptionFlags'; export { Bot, @@ -21,5 +22,6 @@ export { BVH, InstantMessageEvent, InstantMessageEventFlags, - ChatSourceType + ChatSourceType, + BotOptionFlags };